配信要求API

該当ファイルIDに対して配信要求を行います。

簡易転送の場合は、配信ファイルおよび集信側ホストを指定して簡易転送配信要求を行います。

APIを実行するときは、COBOLのランタイムルーチンが必要です。

= 備考 =

同期転送モードの配信要求はサポートしていません。

(1) 呼び出し形式(COBOL)

CALL 'XRSNDAP'  USING  パラメータエリア

パラメータエリア説明

パラメータエリアの項目を以下の表に示します。なお、簡易転送で配信要求APIを使用する場合は項目が異なります。簡易転送の場合のパラメータエリアで指定する項目については表7.2 を参照してください。

表7.1 配信要求APIのパラメータエリア

項目

属性

長さ

入出力

説明

動作バージョン

キャラクタ

6

入力

パラメータエリアのバージョンを指定します。

以下のいずれかを指定してください。

  • V08L02

  • V08L04

どれを指定しても動作は変わりません。

配信ファイルID

キャラクタ

50

入力

配信依頼をするファイルIDを指定します。

完了コード

バイナリ

2

出力

実行後、完了コードが設定されます。

詳細コード

バイナリ

2

出力

実行後、詳細コードが設定されます。

表7.2 簡易転送時の配信要求APIのパラメータエリア

項目

属性

長さ

入出力

説明

動作バージョン

キャラクタ

6

入力

パラメータエリアのバージョンを指定します。

以下を指定してください。

  • V08L04

配信ファイルID

キャラクタ

50

入力

何も指定しないでください。

完了コード

バイナリ

2

出力

実行後、完了コードが設定されます。

詳細コード

バイナリ

2

出力

実行後、詳細コードが設定されます。

配信ファイル名

キャラクタ

44

入力

配信ファイルを指定します。

ホスト名

キャラクタ

50

入力

集信側ホストのホスト名を指定します。

ポート番号

バイナリ

4

入力

集信側ホストのポート番号を指定します(省略可)。

保存先

キャラクタ

200

入力

集信ファイルの保存先を指定します(省略可)。

集信ファイル名

キャラクタ

200

入力

集信ファイルのファイル名を指定します(省略可)。

転送タイプ

キャラクタ

1

入力

転送タイプを指定します(省略可)。

転送優先度

バイナリ

2

入力

転送優先度を指定します(省略可)。

(2) 完了コード

完了コードを以下の表に示します。なお、簡易転送で配信要求APIを使用する場合は出力される完了コードが異なります。簡易転送の場合の完了コードについては表7.4 を参照してください。

表7.3 配信要求APIの完了コード

完了コード

内容

0

正常に実行しました。

1

該当ファイルIDは存在しません。

2

配信管理情報取得で入出力エラーが発生しました。

3

配信管理情報に転送グループ情報が設定されていません。

4

フォーマット転送でフォーマット情報が設定されていません。

5

配信制御ファイルのオープンに失敗しました。

6

配信ワークファイル作成処理に失敗しました。詳細は詳細コードに設定されています。

7

配信制御ファイルへの登録に失敗しました。

8

フォーマット情報取得で入出力エラーが発生しました。

9

該当の転送グループ情報は存在しません。

10

転送グループ情報取得で入出力エラーが発生しました。

11

配信ワークファイル作成処理に失敗しました。詳細は詳細コードに設定されています。

12

配信ファイルのクリア処理で排他制御の異常が発生しました。

13

配信ファイルのクリアに失敗しました。

14

配信要求指示に失敗しました。

16

マルチフォーマット転送でマルチフォーマット情報が設定されていません。

17

マルチフォーマット情報取得で入出力エラーが発生しました。

18

マルチフォーマット情報の展開処理で異常が発生しました。

19

配信前ジョブ実行に失敗しました。

20

ダイレクト転送時、配信ファイルのクリア指定は複数ホスト転送をサポートしていません。

21

配信管理情報に指定されているUNIT情報の取得に失敗しました。

22

配信ファイルの削除に失敗しました。

23

配信ファイルの属性情報が取得できません。詳細は詳細コードに設定されています。

25

配信ファイルのレコード形式が、HULFTがサポートしていないレコード形式になっています。

26

配信ファイルのレコード長またはブロック長が0バイトになっています。

27

区分編成ファイル、VSAMファイルを削除することはできません。

28

区分編成ファイル、VSAMファイルをクリアすることはできません。

29

指定した配信ファイルは区分編成ファイルです。メンバ名まで指定してください。

30

フォーマット情報が登録されていません。

31

マルチフォーマット情報が登録されていません。

34

動作バージョンがサポートされていません。

39

詳細ホスト情報の「転送コードセット(KCODETYPE)」に設定されているコードセットの組み合わせがサポートされていることを確認してください。詳細は、「コード変換 マニュアル」の「変換可能なコードセットの組み合わせ」を参照してください。

40

ダイレクト転送で、かつRDW付配信時、レコード形式が可変長、かつレコード長が32752バイト以下のファイル以外は配信できません。

41

簡易転送の配信要求の発行はできません。

50

UTF-8へのコード変換時、ユーザテーブルは指定できません。

51

UTF-8 へのコード変換後、レコード長が32750バイトを超えました。

54

通信対象のバージョンとの間で利用できない機能が指定されています。

  • ファイルIDなどに9バイト以上設定している

68

世代管理ファイルの相対世代番号へのプラス記号の指定はサポートしていません。

表7.4 簡易転送時の配信要求APIの完了コード

完了コード

内容

0

正常に実行しました。

5

配信制御ファイルのオープンに失敗しました。

7

配信制御ファイルの出力に失敗しました。

14

配信要求のMODIFYコマンドの発行に失敗しました。

23

配信ファイルの属性情報が取得できません。

24

配信ファイルのデータセット編成が、HULFTがサポートしていないデータセット編成です。

25

配信ファイルのデータセット形式が、HULFTがサポートしていないデータセット形式です。

26

配信ファイルのレコード長またはブロック長が0 バイトになっています。

29

指定した配信ファイルは区分編成ファイルにメンバ名を指定していません。

34

動作バージョンがサポートされていません。

61

メモリ不足により、内部プログラムのローディングに失敗しました。

問題が解決しない場合、技術サポート契約を締結していらっしゃるお客様は、技術サポートサービス窓口までお問い合わせください。

62

配信制御ファイルが存在しません。

63

配信制御ファイルの解放に失敗しました。

64

インターフェース上に設定されている内容に誤りがあります。

65

配信制御ファイルの読み込みに失敗しました。

66

本プログラムが動作するためのメモリが足りません。

68

世代管理ファイルの相対世代番号へのプラス記号の指定はサポートしていません。

101

システム動作環境設定に指定した「簡易転送コマンド発行用配信制御ファイル(INSTTRANSCMDQUE)」のアロケーションに失敗しました。

102

集信ファイルの保存先のUTF-8への変換でエラーが発生しました。

「オペレーション マニュアル」の簡易転送配信要求APIの章を確認し、集信ファイルの保存先に指定した内容を確認してください。また、問題が解決しない場合、技術サポート契約を締結していらっしゃるお客様は、技術サポートサービス窓口までお問い合わせください。

103

集信ファイル名のUTF-8への変換でエラーが発生しました。

「オペレーション マニュアル」の簡易転送配信要求APIの章を確認し、集信ファイル名に指定した内容を確認してください。また、問題が解決しない場合、技術サポート契約を締結していらっしゃるお客様は、技術サポートサービス窓口までお問い合わせください。

(3) 詳細コード(完了コードが「6」および「11」の場合のみ、16進数表記)

詳細コード

内容

0001

OBTAINXマクロに失敗しました。

0002

該当ボリュームにファイルが存在しません。

0003

ファイルがカタログ簿に存在しません。

0008

該当ボリュームに配信ファイルは存在しません。

0009

配信ファイルの該当メンバは存在しません。

C3F7

コード変換で異常が発生しました。

C5D9

配信ワークファイルアクセスエラーが発生しました。

C7D4

領域不足が発生しました。リージョンサイズを大きく設定してください。

D3D5

配信ファイルの長さがフォーマット情報とあっていません。

D4C6

マルチフォーマット変換処理で異常が発生しました。

D6D7

配信ファイルのオープンに失敗しました。

E4E3

1バイトコードのユーザー変換テーブルは定義されていません。

その他

DYNALLOCマクロで異常が発生しました。コードとして、当マクロの詳細コードが設定されています。

 

(4) 使用例

COBOLで使用する場合

配信要求API(XRSNDAP)を利用して、配信要求を発行するサンプルプログラムです。

サンプルプログラムは、HULFT JCLライブラリ内のメンバー名「SMPSNDAP」と「SMPHSAP」の2種類です。

簡易転送の場合、「SMPHSAP」を使用してください。

使用するデータ(SMPSNDAP)

配信管理情報の「ファイルID」

: FILEID

      *
      * HULFT SEND FILE API SAMPLE
      *
       IDENTIFICATION     DIVISION.
       PROGRAM-ID.        SMPSNDAP.
       ENVIRONMENT        DIVISION.
       DATA               DIVISION.
       WORKING-STORAGE    SECTION.
      *
      * XRSNDAP PARAMETER AREA
      *
       01  XRSNDAP-PARM.
           02 XRSNDAP-VER      PIC X(6).
           02 XRSNDAP-FILEID   PIC X(50).
           02 XRSNDAP-RTNCD    PIC 9(4)  COMP.
           02 XRSNDAP-ERRCD    PIC 9(4)  COMP.
      *------------------------------------------------*
       PROCEDURE          DIVISION.
      *
      * XRSNDAP PARAMETER AREA INITIALIZATION
      *
           INITIALIZE XRSNDAP-PARM.
      *
      * ISSUE REQUEST FOR SEND FILE
      *
           MOVE 'V08L04'       TO XRSNDAP-VER.
           MOVE 'FILEID'       TO XRSNDAP-FILEID.
           CALL 'XRSNDAP' USING XRSNDAP-PARM.
      *
           STOP RUN.

使用するデータ(SMPHSAP)

配信ファイルの「ファイル名」

: SNDFILE

集信側ホストの「ホスト名」

: XSP

集信側ホストの「ポート番号」

: 30000

集信ファイルの「保存先」

: HUL001

集信ファイルの「ファイル名」

: RCVFILE

「転送タイプ」

: T

「転送優先度」

: 50

      *
      * HULFT INSTANT TRANSFER API SAMPLE
      *
       IDENTIFICATION     DIVISION.
       PROGRAM-ID.        SMPHSAP.
       ENVIRONMENT        DIVISION.
       DATA               DIVISION.
       WORKING-STORAGE    SECTION.
      *
      * XRSNDAP PARAMETER AREA
      *
       01  XRSNDAP-PARM.
           02 XRSNDAP-VER      PIC X(6).
           02 XRSNDAP-FILEID   PIC X(50).
           02 XRSNDAP-RTNCD    PIC 9(4)  COMP.
           02 XRSNDAP-ERRCD    PIC 9(4)  COMP.
           02 XRSNDAP-FILE     PIC X(44).
           02 XRSNDAP-HOST     PIC X(50).
           02 XRSNDAP-PORT     PIC 9(5)  COMP.
           02 XRSNDAP-RCVL     PIC X(200).
           02 XRSNDAP-RCVF     PIC X(200).
           02 XRSNDAP-MODE     PIC X(1).
           02 XRSNDAP-P        PIC 9(3)  COMP.
      *------------------------------------------------*
       PROCEDURE          DIVISION.
      *
      * XRSNDAP PARAMETER AREA INITIALIZATION
      *
           INITIALIZE XRSNDAP-PARM.
      *
      * ISSUE REQUEST FOR INSTANT TRANSFER
      *
           MOVE 'V08L04'                        TO XRSNDAP-VER.
           MOVE 'SNDFILE'                       TO XRSNDAP-FILE.
           MOVE 'XSP'                           TO XRSNDAP-HOST.
           MOVE 30000                           TO XRSNDAP-PORT.
           MOVE 'HUL001'                        TO XRSNDAP-RCVL.
           MOVE 'RCVFILE'                       TO XRSNDAP-RCVF.
           MOVE 'T'                             TO XRSNDAP-MODE.
           MOVE 50                              TO XRSNDAP-P.
           CALL 'XRSNDAP' USING XRSNDAP-PARM.
           DISPLAY XRSNDAP-RTNCD.
      *
           STOP RUN.

注意

実行するJCLに以下のFD文の記述をしてください。

  • JCL例

  • \         FD   XRFILE=DA,FILE=HULFT.FILE,AMP=AMORG                              
    \         FD   XRHOST=DA,FILE=HULFT.HOST,AMP=AMORG                              
    \         FD   XRQUE=DA,FILE=HULFT.QUEUE,AMP=AMORG                              
    \         FD   XRSYSIN=DA,FILE=HULFT.PARMLIB,MEMBER=HULPRM                      
    [\         FD   XREXTLIB=DA,FILE=HULFT.LOAD]                                    
    

    FD名

    項目名

    説明

    XRFILE

    HULFT.FILE

    集配信管理ファイル

    XRHOST

    HULFT.HOST

    詳細ホスト情報ファイル

    XRQUE

    HULFT.QUEUE

    配信制御ファイル

    XRSYSIN

    HULFT.PARMLIB(HULPRM)

    システム動作環境設定ファイル

    XREXTLIB

    HULFT.LOAD

    HULFTロードモジュールライブラリ(*1)

    *1

    :

    配信側で外字コードを外字テーブルで変換させるときに、外字テーブルが格納されているライブラリを付加します。外字テーブルの詳細は、「アドミニストレーション マニュアル」を参照してください。