UOCの処理概要を図8-25に,pdrorg,UOC間の呼び出しシーケンスを図8-26に示します。
図8-25 UOCの処理概要
- [説明]
pdrorgからUOCに制御が渡り,処理を開始します。処理が終了したら,pdrorgに制御を返します。
- UOCインタフェース領域の,pdrorgが設定した呼び出し種別を判定します。
- 初期化処理,UOCデータファイルのオープンなど,開始処理をします。
- UOCインタフェース領域の,pdrorgが設定したデータを更新又は編集します。
- データがすべてなくなった場合に,UOCデータファイルのクローズなどの終了処理をします。
- pdrorgの処理でエラーとなった場合,又はUOC内でエラーとなった場合に,UOCデータファイルのクローズ,不要なUOCデータファイルの削除など,終了処理をします。
- 行データをチェックして,必要なデータかどうかを判定します。必要な場合は,データの更新又は編集をして,UOCインタフェース領域の格納フラグにYを設定します。必要でない場合は,UOCインタフェース領域の格納フラグにNを設定します。また,UOCでUOCデータファイルを作成する場合は,データを更新又は編集した行データをUOCデータファイルへ出力します。
- UOCインタフェース領域のリターンコードを設定します。
図8-26 pdrorg,UOC間の呼び出しシーケンス
- [説明]
スキーマ単位の再編成,又はスキーマ単位のアンロードの場合は,スキーマ内の表数分1〜11を繰り返します。なお,該当する表の処理中にエラーが発生した場合は,直ちにpdrorgの処理を中断します。
- pdrorgは,呼び出し種別に開始要求を設定してUOCを呼び出します。
- pdrorgからの呼び出し種別が開始要求の場合,UOCは次の処理をします。
- UOCでUOCデータファイルを出力する場合は,UOCデータファイルを作成(オープン)します。
- 各種領域の確保など,開始準備をします。
- 開始準備が正常に終了した場合はUOCインタフェース領域のリターンコードに0を設定し,正常に終了しなかった場合は8を設定してリターンします。
リターンコードに8を設定した場合,この呼び出し以降はUOCを呼び出せない(停止要求をしない)ため,ここでUOCデータファイルのクローズなどの後処理をする必要があります。
- pdrorgは,UOCから返却されたUOCインタフェース領域のリターンコードを判定し,0又は4以外の場合は直ちにpdrorgの処理を中断します。
- pdrorgは,データベースからデータを検索します。
- pdrorgは,表のデータが検索できた場合は,データアドレスリストに検索したデータを設定し,呼び出し種別にデータ更新要求を設定してUOCを呼び出します。検索するデータがなくなった場合は10の処理(終了処理)をします。
なお,データ更新要求は,次の条件のどれかに該当するまで処理を繰り返します。
- 表のデータがなくなる。
- UOCがUOCインタフェース領域のリターンコードに0又は4以外を設定する。
- pdrorg内で処理エラーが発生する。
- pdrorgからの呼び出し種別がデータ更新要求の場合,UOCは次の処理をします。
各処理が正常終了した場合はUOCインタフェース領域のリターンコードに0を設定し,異常終了した場合は8を設定してリターンします。
- (a) 表の再編成,表のアンロードでの不要データの削除の場合
- pdrorgがUOCインタフェース領域のデータアドレスリストに渡したデータを参照し,データが必要であればUOCインタフェース領域の格納フラグにYを設定します。データが不要な場合はNを設定します。
- (b) アプリケーション向けデータ更新の場合
- データの更新などの処理をします。
- データを更新した場合は,UOCインタフェース領域に更新後データアドレスリストを設定し,格納フラグにYを設定します。
- 不要なデータの場合は,UOCインタフェース領域の格納フラグにNを設定します。
- UOCデータファイルを出力する場合は,UOCデータファイルに必要なデータを出力します。
- UOCから返却されたUOCインタフェース領域のリターンコードが8の場合,pdrorgは呼び出し種別に停止要求を設定してUOCを呼び出します。
- pdrorgからの呼び出し種別が停止要求の場合,UOCは終了処理をします。なお,この呼び出し以降はUOCを呼び出せません。
- UOCデータファイルを作成した場合は,UOCデータファイルをクローズしてください。なお,作成したUOCデータファイルが不要な場合は,ここで削除してください。
- 確保したメモリの解放などをしてください。
- pdrorgがアンロードデータファイルを出力する場合,UOCインタフェース領域の格納フラグがYのときは,データをアンロードデータファイルに出力します。Nのときは出力しません。なお,データ更新(-Wオプション指定)では,UOCインタフェース領域の更新後データアドレスリストを参照して,UOCが更新したデータを-Wオプション指定のフォーマットでアンロードデータファイルに出力します。
- 次の条件をすべて満たす場合,pdrorgは呼び出し種別に終了要求を設定してUOCを呼び出します。
- 該当する表のデータをすべて検索した場合
- pdrorg内でエラーが発生しなかった場合
- UOCから返却されたUOCインタフェース領域のリターンコードがすべて正常(0又は4)の場合
- pdrorgからの呼び出し種別が終了要求の場合,UOCは終了処理をします。
- UOCデータファイルを作成した場合は,UOCデータファイルをクローズしてください。
- 確保したメモリの解放などをしてください。
All Rights Reserved. Copyright (C) 2006, 2016, Hitachi, Ltd.