- 機 能
\AZFGETのプラグインモジュールである本プログラムはINFILEのパラメータにて指定された
データファイルをACOSアプリケーション用の「ACOS内部データ形式ファイル」に変換する
ことを目的としています。
変換元ファイルと変換先ファイルのレイアウト情報はPLUGPRM又はPLUGPRM2で指定する
SYSINパラメータ又はCOPY原文にてレイアウト情報を与えます。
また、区切り文字形式等の変換情報はPLUGOPTから与えます。
尚、SYSINパラメータではARRANGE機能を利用することができます。
先頭に戻る
- JOB制御言語
\AZFGET
PLUGIN=AZTXCVPA
PLUGOPT=(オプション文字列)
PLUGPRM=出力データファイル記述領域名
PLUGPRM2=出力データファイル記述領域名
OUTFILE=(出力ファイル記述)
OUTFILE2=(出力ファイル記述)
:
以後 \AZFGETのパラメータ記述と同様。
|
- オプション文字列
特殊な変換方法を行いたい場合に指定します。省略した場合にはPLUGOPTパラメータ説明で
記述されている既定値が採用されます。
オプション文字列の記述方法は各オプションとオプションをカンマ文字「,」で区切る必要が
あります。
カンマ文字を挿入しないで変換を行った場合の動作は保証できません。
(ex.) PLUGOPT=(KANJI=KIKO,SEP=CSV,HEAD)
先頭に戻る
- JCLパラメータ説明
パラメータ |
意味・値 |
説 明 |
PLUGOPT |
オプション文字列 |
区切り文字形式等の変換情報を指定します。必須
※詳細は4.PLUGOPTパラメータ説明を参照。 |
PLUGPRM |
入力データファイル
記述領域名
入力ファイル記述 |
変換元ファイルと変換先ファイルのレイアウト情報をPLUGOPTパラメータでFORMAT=SYSINと指定した場合にSYSINパラメータにてレイアウト情報を与える場合に指定します。
※詳細は5.SYSINパラメータ説明を参照。 |
PLUGPRM2 |
入力ファイル記述
入力ライブラリ記述 |
変換元ファイルと変換先ファイルのレイアウト情報をPLUGOPTパラメータでFORMAT=COPYと指定した場合にCOPY原文にてレイアウト情報を与える場合に指定ます。
※詳細は8.COPY原文の定義方法を参照。 |
OUTFILE |
出力ファイル記述
出力ライブラリ記述 |
処理の対象となる出力先SEQUENTIALデータファイルを指定します。 |
OUTFILE2 |
出力ファイル記述
出力ライブラリ記述 |
上記PLUGOPTパラメータのMODE=CHECK及びCHECK2オプションが指定された場合の処理結果出力先エラーデータファイルを指定する。 |
先頭に戻る
- PLUGOPTパラメータ説明
パラメータ |
意味・値 |
説 明 |
KANJI |
NO
KIKO
STD |
漢字データに対する編集指定を指示する
漢字データに対する編集を行わない。
漢字データの前後にKI("3F75"H),KO("3F76"H)コードを付加する。 (既定値)
KIKO機能+ANK1バイト文字を日本語2バイト文字に変換する。 |
SEP |
NO
TAB
SPACE
COMMA
CSV
K3
STD |
入力項目と項目の間に置くセパレート文字を指示する。
セパレート文字を設定しない。
セパレート文字にタブ("05"H)を設定する。
セパレート文字にスペース("40"H)を設定する。
セパレート文字にカンマ("6B"H)を設定する。(既定値)
セパレート文字にカンマ("6B"H)を設定する。CSV形式。
また項目属性が "N"タイプの場合には項目前後にダブルコーテイション("7F"H)を付加する。
セパレート文字にカンマ("6B"H)を設定する。K3形式。
また項目属性が"X","N"タイプの場合には項目前後にダブルコーテイション("7F"H)を付加する。
セパレート文字にスペース("40"H)を設定する。固定長形式
ACOS内部形式のデータをPC表現形式に単純展開する。 |
SPMD |
E,EXCEL
(0,1)
A,ACCESS
(1,1)
L,LOTUS
(0,0)
AP
(1,0)
|
変換後に利用するアプリケーションを指示する。注1)SPMDパラメータ参照
Excelで利用できるテキスト形式に変換する場合に指示する。 (既定値)
Accessで利用できるテキスト形式に変換する場合に指示する。
Lotus 1-2-3で利用できるテキスト形式に変換する場合に指示する。
その他業務アプリケーションで利用する場合に指示する。
この場合、文字,漢字の前後にダブルコーテーション("7F")を付加するのみでありEXCEL,ACCESSの特別規則は適用しない。 |
FORMAT |
SYSIN
COPY |
入力フォーマットデータ形式を指示する。
SYSINを入力フフォーマットデータ形式として変換を場合に指示する。(既定値)
COPY原文を入力フォーマットデータ形式として変換を行う場合に指示する。 |
HEAD |
n
(1≦n≦9999) |
入力テキストデータの先頭レコードにヘッダーレコードが付加されている場合除去指示する。
省略するとヘッダーレコードの除去処理は行わない。
注)nはヘッダーレコード削除件数であり、HEADと指示した場合にはHEAD=1と判断して処理する。 |
MODE |
NORMAL
FORCE
CHECK
CHECK2 |
変換モードを指示する。不正10進で異常終了した場合に有効。
通常変換モード。(既定値)
出力フォーマットデータ形式で指示した数字項目に、数字以外のキャラクター文字列が変換対象として入力されてきた場合、強制的にゼロ(”F0”H)で置き換えを行う場合に指示する。
※但し属性がC1,C2以外の時にのみ有効。また変換される内容は保障できません。
出力フォーマットデータ形式で指示した数字項目に数字以外のキャラクター文字列が変換対象として入力されてきた場合、エラーデータとして対象のレコードをOUTFIL2に出力します。
出力フォーマットデータ形式で指示した属性に対して異なる属性のデータが存在していた場合、及び数字項目の桁あふれの起こるデータの場合、エラーデータとしてエラーメッセージと対象のレコードをOUTFIL2に出力する。注3)MODE=CHECK2パラメータ参照
尚、定義した属性に A又はAUを指定し、同時に本パラメータを指定した場合には、属性=文字(キャラクター)領域にKI又はKOコードが存在していても属性エラーとなる。 |
SIGN |
PC
COBOL
NO |
入力データの演算符号形式を指定します。
SIGNとだけ指定した場合にはSIGN=PCと同じです。
+999の場合に指定します。(SEP=NO以外の既定値)
H”F9F9C9”の場合に指定します。
999の場合に指定します。(SEP=NOの既定値) |
FEND |
SEP
CR
LF
NO |
1レコード最終桁の編集指示を行う。
1レコードの最終桁にセパレート文字を挿入します。
1レコードの最終桁にControl Return(H"0D")文字を挿入します。
1レコードの最終桁にLine Feed(H"15")文字を挿入します。
最終桁の編集は行いません(既定値)。
例) FEND=(SEP,CR,LF) : FEND=SEP : FEND=(CR,LF) |
LIST |
A
B
ALL
NO |
実行レポートの出力形式を指定します。
パラメータ解析レポート2,実行状況レポートを出力します。(既定値)
実行状況レポートを出力します。
パラメータ解析レポート1,2,実行状況レポートを出力します。
実行レポートは出力しません。 |
TYPE |
TXT
CSV
DAT |
前記OPTION文字列を統括して一般的な形式で編集する場合に指定します。注2)TYPEパラメータ参照
一般にテキスト形式と言われる形式に変換します(既定値)。
一般にCSV形式と言われる形式に変換します。
一般にデータ形式と言われる形式に変換します。 |
CSTART |
n
(整数 8) |
処理開始レコード番号を指定します。(0≦n≦99999999)
指定された数の論理レコードから入力を開始します。
省略すると1番目の論理レコードから入力を開始します。 |
CEND |
n
(整数 8) |
処理終了レコード番号を指定します。(0≦n≦99999999)
指定された数の論理レコードで入力を終了します。
省略すると論理レコードの最後までを対象に入力します。 |
CCNT |
n
(整数 8) |
処理対象レコード件数を指定します。(0≦n≦99999999)
入力を開始する位置から指定された個数の入力論理レコードを処理の対象とします。 |
CPL |
FLD
COM |
FORMAT=COPY時の項目名引用方法を指示します。
COPY原文の項目名をタイトルとして利用します(既定値)。
COBOL/Sの場合に利用するコメント領域の情報をタイトルとして利用します。コメント領域がない場合には項目名がタイトルとなります。 |
先頭に戻る
注1)SPMDパラメータ
E/EXCEL:EXCELのテキスト形式として編集・作成します。(既定値)
- 通常の文字列データ(ANK,漢字)にはダブルコーテーション("7F")は付加しませんが、制御文字がその
文字列中に存在していた場合に文字列全体をダブルコーテーションで囲みます。また、その存在した
制御文字がダブルコーテーションの場合、その制御文字の直後にダブルコーテーションを1つ追加します。
(制御文字対応)
例)〜,"TEST""TEST",AB,C〜 → TEST"TESTABC
A/ACCESS: ACCESSのテキスト形式として編集・作成します。
- 基本的にEXCELのテキスト形式(制御文字対応)と同じですが、文字列データ(ANK,漢字)には全て
ダブルコーテーション("7F")が付加されます。
例)〜","TEST""TEST","AB","C〜 → TEST"TESTABC
L/LOTUS:LOTUS 1-2-3のテキスト形式として編集・作成します。
- ACCESSのテキスト形式と対照に、一切の文字列データ(ANK,漢字)に対する制御文字対応や
ダブルコーテーション("7F")付加を行いません。
例)〜,TEST"TEST,AB,C〜 → TEST"TESTABC
AP/その他 上記E,A,L 以外のテキスト形式として編集・作成します。(業務アプリケーション等)
- EXCELのテキスト形式と対照に、文字列データ(ANK,漢字)には全てダブルコーテーション("7F")が
付加されますが、制御文字対応は行いません。
例)〜","TEST"TEST","AB","C〜 → TEST"TESTABC
先頭に戻る
注2)TYPEパラメータ
TYPEパラメータはOPTION文字列で行う複雑な指定を統括し、一般的な形式で編集する場合に
指定します。この指定を行うことにより単純な形式変換であればこのTYPEパラメータのみで
変換が行えるようになります。作成するファイル名は通常このTYPEパラメータで指定した値を
拡張子にして作成して下さい。以下にTYPEパラメータが指定された場合の設定値を一覧で表します。
TYPE |
KANJI |
SEP |
SPMD |
HEAD |
MODE |
FEND |
LIST |
TXT |
KIKO |
TAB |
L |
1 |
NORMAL |
NO |
A |
CSV |
KIKO |
COMMA |
E |
1 |
NORMAL |
NO |
A |
DAT |
KIKO |
NO |
L |
× |
NORMAL |
NO |
A |
先頭に戻る
注3)MODE=CHECK2パラメータ
- 属性エラー,桁数エラー時のエラーファイル(OUTFILE2)出力形式
nnn列目の属性が誤っています(NO.mmm)xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
nnn列目の桁数が大き過ぎます(NO.mmm)xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
nnn:列番号
nnn:レコード番号
xxx:入力データ
先頭に戻る
- SYSINパラメータ説明
パラメータ |
意味・値 |
説 明 |
属性 |
X
9
S9
C1
C2
C3
U3
N
NX
D
A
AU |
入力ファイルの位置,桁で変換する場所の属性を示す。
属性が文字(キャラクター)である。
属性がアンパック形式外部10進数である(符号無し)。
属性がアンパック形式外部10進数である(符号付き)。
属性がパック形式単精度固定2進数である(COMP-1)。
属性がパック形式倍精度固定2進数である(COMP-2)。
属性が符号有りパック形式内部10進数である(COMP-3)。
属性が符号無しパック形式内部10進数である(COMP-3)。
属性が日本語文字である。
属性が項目としてX,Nが混在している場合に有効。
入力データがANKの場合、HEX"40"で初期化後に項目が設定される。
入力データが漢字の場合、HEX"4F4F"で初期化後に項目が設定される。
不要な入力項目をSKIP(除去)する場合にダミー項目として定義する。
属性が文字(キャラクター)の場合、入力データ中の漢字データのチェックを行う。当属性はMODE=CHECK2の場合にのみ有効であり、それ以外を指定した場合には属性=Xを指定したのと同じとなる。
上記 A の属性を指定した場合の動きと同時に以下の変換を行う。尚、以下の変換を行う場合にはMODEパラメータ有無に関わらず変換を行う。
属性が文字(キャラクター)の場合、入力データ中に小文字が存在していた場合に大文字に変換する。 Ex) a → A |
位置 |
(1≦位置≦8192) |
指示する項目が入力ファイルの先頭から数えて何文字(バイト単位)目に当たるかを指定する(1から数える)。
※尚このパラメータを省略した場合、直前に定義したパラメータの位置,桁数から自動的に計算され開始位置が決定される。 |
桁数 |
(1≦位置≦8192)
(0≦n≦8192)
(0≦m≦8192)
n+m≠0 |
指定する項目が何文字(文字単位)であるかを指定する。
数字項目を表わす場合で小数点以下表現をする場合にはn.mと記述する。この場合n(整数)又はm(小数点以下)の値がゼロでも構わないがn+m=0になる表現の場合にはPARAMERRとなる。
ex1) 9(2)V99 → (9,,2.2) / ex2) V99 → (9,,0.2)
※尚、桁数の定義は全て論理桁数で定義する。 |
見出し |
(1≦見出桁≦60)
N’〜’
X’〜’
V’〜’ |
指定する項目の見出しを設定する場合に指定する。
※尚、英数字は最大60桁,漢字は30桁以内とする。
V’〜’を指定した場合にはVALUE指定がされたとみなし、対象の項目に対して見出しの内容を項目に設定する。9.項目初期値(VALUE)の定義方法を参照 |
先頭に戻る
- 補足説明
1)SYSINパラメータの定義方法
- SYSINパラメータに定義する項目内容は出力論理イメージを定義するものとし、入力ファイル
には物理的に論理イメージと同様の内容で出力される。但し、属性及びオプション指定により
出力編集内容を変更することができる。
例1) |
オプション文字列 KANJI 指定 |
|
|
入力) KI漢字KO → 出力) 漢字 |
定義) KANJI=KIKO |
|
例2) |
オプション文字列 SEP 指定 |
|
|
入力) 01,01 → 出力) 0101 |
定義) SEP=COMMA |
|
例3) |
数字属性項目全般の符号付加 |
|
|
入力) +136 → 出力) HEX"F1F36C" |
定義) S9(2) → (S9,,2) |
- 1つの入力項目定義はカッコ()で定義し入力項目定義数の最大は3,000個迄である。
また、1つの項目内定義の区切り文字はカンマ(,)とし以下に記述する例外を除き省略する
ことはできない。
基本形) |
(S9,15,9.3) → |
(S9,,9.3) |
○ |
※9,C3,U3同様 |
|
(S9,9.3) |
○ |
|
|
(S9,,) |
× |
|
例外) |
(C1,20,5) → |
(C1,,5) |
○ |
※C2同様 |
|
(C1,,) |
○ |
|
|
(C1) |
○ |
|
|
(C1,5) |
× |
|
- 出力項目数は出力項目指定数に1:1で対応し出力項目と出力項目の間には
オプション文字列の区切り文字により区切られることが前提となる。
但し、SEP=NOの場合には出力論理桁数と同様の桁数が入力桁数になり、
セパレート文字の区切り編集はないことを意味する。
- 出力項目数は出力項目指定数に1:1で対応している。このため入力項目の属性は出力項目
の指定値と一致していなければならず異なる指定をした場合の動作は保証できない。
- 入力項目のデータが不要な場合に削除することができる。但し、この場合にも入力項目数と
出力項目指定数1:1で対応していなければならず、出力項目としてダミー指定する必要がある。
例) |
+123.10,ABCDEFG,あああ, → |
(S9,1,5.2,X’’)(D,,,)(N,5,10,,X’’) |
|
0012310あああ |
- 10進数パック,アンパック形式の出力物理桁数は 論理桁数+符号(1バイト)の桁数となる。
この定義時に10進数アンパック形式の入力論理桁数は18桁以内,10進数パック形式の入力
論理桁数は符号を省いた17桁以内とする。
- 10進数パック,アンパック形式に於いて出力項目定義を行う場合に小数点表現ができる。
このとき小数点以上の桁数と小数点以下の桁数の合計値は入力論理桁数と等しくなければならない。
等しくない場合には一般規則に従い桁詰め,桁落ちが発生することに注意する。
例) |
+000001.100 → |
(C3,,6.3) |
S9(6)V9(3) COMP-3 |
- 10進数アンパック形式の属性定義では符号の有無により入力物理桁数が異なるため、属性定義
も異なるパラメータ値を設定しなければならない。
例) |
+000001.100 → |
(C3,,6.3) |
S9(6)V9(3) COMP-3 |
|
+000001.100 → |
(U3,,6.3) |
S9(6)V9(3) COMP-3 |
- 2進数パック形式の桁数は固定であり省略することができる。また、定義する際には以下の
条件を守らなければならない。 注)2進数パック形式には小数点表現はできない。
COMP-1の場合:-2の15乗≦n≦2の15乗-1 (-32768≦n≦32768) 固定 5桁
COMP-2の場合:-2の31乗≦n≦2の31乗-1 (-2147483648≦n≦2147483648) 固定10桁
- 項目見出しを設定する場合には以下の設定形式を守り設定すること。
英数字タイプ → X'xxxx…x' MAX 60桁
漢字タイプ → N'nnnn…n' MAX 30桁
初期値タイプ → V'xxxx…x' 9.項目初期値(VALUE)の定義方法を参照
※漢字,英数字を混在させた指定も可能です。
入力パラメータとして見出しを与える場合日本語文字の前後にKIKOコードが付加されているため、
KIKOコードを含めてMAX60桁であることに注意する。
- 属性 NX について
- 入力データがANKの場合、HEX"40"で初期化後に項目が設定されます。
- 入力データが漢字の場合、HEX"4F4F"で初期化後に項目が設定されます。
尚、NXの有効範囲は一つの項目内全体に対して行われます。初期化に当たり入力テキストデータ
の項目に相当する位置で最初に現れた文字により初期化されるタイプが決定されます。
これは一項目内にANKと漢字が混在した場合でも同じです。
- 実行レポートの形式
パラメータ解析レポート1:
- COPY原文を入力パラメータとして利用している場合にその解析内容を出力します。
パラメータ解析レポート2:
実行状況レポート:
- 変換結果として処理の入出力件数やステータス等を出力します。
- 属性 9,S9,C1,C2,C3,U3 の特別変換規則について
一般にこれら数字項目の場合に次のような特別変換規則があります。
ダフルコーテイション(H"7F"),スペース(H"40"),プラス(+),マイナス(-),記号(\,$),カンマ(,),ピリオド(.)が数字項目
中に存在した場合には文字列としては無視されます。
但し、スペース(H"40")の場合と、数字以外で上記特別変換規則に該当しない場合で、
MODE=FORCE又はMODE=FORCE2を指定した場合には強制的にZERO又は9を
代替文字として付加されます。
- SYSINパラメータ内にコメント挿入を可能にする。
形 式
規 則
コメントは "/*" で始まり "*/" で終わる。
コメントはSYSINパラメータの記述できる範囲であればどこに記述しても良い。
パラメータ等,文字列,整数の間にコメントを挿入した場合,コメントを入れた時点までの
文字列,整数として処理され,残りは別の文字列,整数とみなされる
先頭に戻る
2)パラメータ使用例
- OPTION=(SEP=COMMA,HEAD)
PLUGPRM
(N,,5,N'商品名')(9,,5.2,N'単価')(9,,3,N'数量')(9,,5,N'金額')
商品名,単価,数量,金額 |
→ |
[ 除去されます ] |
ワイシャツ,1532,2,2000 |
→ |
ワイシャツ015320000202000 |
くつした,300.01,5,1500 |
→ |
くつした△003000100501500 |
ボタン,-20,1,20 |
→ |
ボタン△△000200000100020 |
上記変換ではサイン変換は行わず外部10進のみを変換しています。
このため入力にマイナスデータが存在していた場合にも変換後はプラスデータとして出力されました。
マイナスデータを存続させるためには出力項目タイプをサイン付きのタイプで指示する必要があります。
先頭に戻る
- JCL記述例
\AZFGET
OUTFILE=(HACYUF.WO2 PUBLIC)
FLID=HACYUF
PLUGIN=AZTXCVPA PLUGPRM=INPFORM
PLUGOPT=(KANJI=KIKO,SEP=CSV,HEAD)
\INPUT INPFORM;
(9,1,10,N'数量')(N,11,8,N'氏名')(S9,27,7.3,X'SURYO2')(X,37,16,X'カタカナシメイ')
(N,53,4,N'住所(ジュウショ)')(C3,61,7.2,X'ゴウケイキンガク')
(C1,66,5,)(C2,68,10,N'単価')
\ENDINPUT; |
これは受信した「HACYUF」という区切り文字付きテキストファイルをプラグインモジュール
「AZTXCVPA」を使い、ACOS内部データ形式に変換して格納するJCL例です。
先頭に戻る
- COPY原文の定義方法
- 入力パラメータとしてCOPY原文を利用する場合には前提としてDDA/FILE、又は
DDS/COMMONなどで作成されたCOPY原文であることを原則とし、COBOLコンパイラを通した
場合でもエラーがあってはなりません。
但し、独自で作成したCOPY原文についてもエラーがなければ当ツールを利用することができます。
- COPY原文中にREDEFINESが存在していた場合、その基本項目に対してのみ変換が行われ
再定義項目は無視されます。
- 当ツールの現バージョンではOCCURS句の次元階層は10次元までの対応が施されています。
10次元以上必要な場合には弊社担当SE迄後相談下さい。
(COBOLで扱える次元階層は3次元迄です。)
- COPY原文を入力した場合の項目セパレートはCOPY原文中で定義した項目数に比例します。
この場合集団項目は無視されます。
- COPY原文を入力として見出しを付加する場合(HEADパラメータを指定した場合)には
COPY原文中の項目名(FIELD)が自動的に設定されます。尚、OCCURS句の定義されている場合の
項目名は同じ項目名が繰り返し設定されます。
先頭に戻る
- 項目初期値(VALUE)の定義方法
本機能では項目への初期値(固定値)を与える事ができます。但し、次に挙げる制限がありますので
ご確認の上ご利用ください。
- 本機能はSYSINパラメータの見出し領域からのみ初期値を与えることができます。
COPY原文からの初期値は適用されません。
- 項目初期値は属性に依存しSYSINパラメータの見出し領域からV’〜’の形式で設定します。
属性に対して不正な初期値を設定した場合の出力結果は保証できません。
- 通常の見出し項目指定時とは異なり、漢字・英数字を混在して指定することはできません。
混在させた場合には文字化けなどが起るなど、動作は保証できません。
- 属性が英字・漢字タイプの場合には左詰め規則が適用され、属性が数字タイプの場合には右詰め
規則が適用されます。尚、初期値で指定した値が項目指定した桁数を越えていた場合には
当該規則に従い桁詰めを行い、桁溢れした分については削除されることに注意して下さい。
- 出力されるデータは(見出し行を含めて)全て同じ値が設定されます。
- 属性がダミー項目の場合には項目初期値を与えることはできません。
今迄に無い項目を新たに新設し初期値を与える場合には、適当な桁数を指定することで新設
できます(どの部分でも構いません)。
Ex) (C3,25,7.3,V’-123.23’)
|