Comments
Description
Transcript
ジョブ間でのデータ連携方法
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.