ジョブ間でのデータ連携方法

Operation Knowhow
ジョブ間でのデータ連携方法
携 法
初 版 2012/04/02
1
Copyright 2012 CYFLEX L.L.C.
Operation Knowhow
ジョブ間でのデータ連携方法
ジョブ間でのデータの受け渡しには、以下の方法
あります。
ƒ
ƒ
ƒ
ƒ
ローカルデータエリアの利用
ロ
カルデ タエリアの利用
メッセージキューの利用
データキューの利用
ICFの利用
2
Copyright 2012 CYFLEX L.L.C.
Operation Knowhow
ローカルデータエリアの利用
ジョブ1
ローカルデータエリア
カ デ タ リ
ジョブ2
コピー
ローカルデータエリア
カ デ タ リ
SBMJOB
SBMJOBで呼び出したジョブにローカル
デ タ
データエリアを渡します。
を渡します
3
Copyright 2012 CYFLEX L.L.C.
Operation Knowhow
データエリアの種類
データエリアには、以下の種類があります。
今回、ご説明するのはローカルデータエリアになります。
今回、
説明す
リ
り す。
外部
データエリア
ローカル
データエリア
グループ
データエリア
名前
任意
*LDA
*GDA
作成
ユーザー
ジョブ開始時に
自動作成
グループジョブ
開始時に自動作成
削除
ユーザー
ジョブ終了時に
自動削除
グループジョブ
終了時に自動削除
ライブラリー
任意
なし
なし
サイズ
*CHAR 2000字
*DEC 24桁
*LGL 1(0,1)
1(0 1)
文字 1024桁
文字 512桁
他のジョブから
使用
可
不可
不可
4
Copyright 2012 CYFLEX L.L.C.
Operation Knowhow
RPGでの
RPG
でのローカルデータエリアの使用法
ローカルデータエリアの使用法
演算命令を使用しない方法
算
ローカルデータ
カルデ タ
エリアの定義
①プログラム開始時に、自動的にローカル・データ・エリアの内容が検索されます。
②プログラム終了時に、自動的にローカル・データ・エリアの内容が書き出されます。
5
Copyright 2012 CYFLEX L.L.C.
Operation Knowhow
RPGでの
RPG
でのローカルデータエリアの使用法
ローカルデータエリアの使用法
IN OUT命令使用する方法(ILE RPG)
IN,OUT命令使用する方法(ILE
ローカルデータ
エリアの定義
ローカルデータ
エリアの読み込
み・書き出し
①IN命令でローカル・データ・エリアの内容を検索します。
②OUT命令でローカル・データ・エリアの内容が書き出します。
6
Copyright 2012 CYFLEX L.L.C.
Operation Knowhow
CLでの
CL
でのローカルデータエリアの使用法
ローカルデータエリアの使用法
ローカルデータエリアへのデータ値設定
CHGDTAARA DTAARA(*LDA (1 6)) VALUE(‘120401 ')
ローカルデータエリアからのデータ値取得
RTVDTAARA DTAARA(*LDA
DTAARA( LDA (1 6)) RTNVAR(&KAISHI)
7
Copyright 2012 CYFLEX L.L.C.
Operation Knowhow
データキューの利用
データキュー
8
プログラム
Copyright 2012 CYFLEX L.L.C.
Operation Knowhow
データキューへのデータ送信
CALL Q
QSNDDTAQ
Q PARM(&QNAME
( Q
&QLIB
Q
&FLDLEN &FIELD))
QNAME
QLIB
FLDLEN
FIELD
:データキュー名
デ タキ
名
:ライブラリー名
:エントリーの長さ(5桁の小数部なしのパック10進数)
:データキューに送るデータを入れるフィールド
9
Copyright 2012 CYFLEX L.L.C.
Operation Knowhow
データキューからのデー受信
CALL QRCVDTAQ PARM(&QNAME &QLIB &FLDLEN &FIELD
&WAIT)
QNAME
QLIB
FLDLEN
FIELD
WAIT
:データキュー名
:ライブラリー名
:エントリーの長さ(5桁の小数部なしのパック10進数)
長さ( 桁
数部な
パ ク 進数)
:データキューから受け取るデータの入るフィールド
:待ち時間(5桁の小数部なしのパック10進数)
データキューにエントリーがない場合の待ち時間
マイナス:永久に待つ
0
:待ち時間なしで処理を行う。
待ち時間なしで処理を行う。
プラス :待ち時間(秒)
10
Copyright 2012 CYFLEX L.L.C.
Operation Knowhow
メッセージキューの利用
ジョブ1
メッセージ
キュー
SNDPGMMSG
ジョブ2
RCVMSG
11
Copyright 2012 CYFLEX L.L.C.
Operation Knowhow
メッセージキューの利用
SNDPGMMSG MSG(&KAISHI) TOMSGQ(USRMSGQ)
LOOP:
RCVMSG MSGQ(USRMSGQ) MSG(&KAISHI) WAIT(*MAX)
RMV(*YES)
12
Copyright 2012 CYFLEX L.L.C.
Operation Knowhow
比較表
ローカル
ロ
カル
データエリア
デ タキ
データキュー
メッセージ
メッセ
ジ
キュー
コーディングの
難易度
○
△
△
複数レコード
の処理
×
○
○
複数ジョブでの
処理
不可
複数のジョブが同一
複数のジ
ブが同
データキューに対し
て送受信可
不可
イベントドリブ
ン処理
不可
可能
可能
13
Copyright 2012 CYFLEX L.L.C.