Page History
...
/* プログラム : UD@P411 */
/* ------- */
/* 組み込み関数名 : システム値の取得 */
/* ------------ */
/* 作成日 : 03/10/91 */
/* ------------ */
/* 作成者 : Johnny Programmer */
/* ------ */
/* 記述 : システム値を返すプログラム */
/* ----------- */
/* */
/*=================================================================*/
/* パラメータ リスト仕様 */
/*=================================================================*/
/* */
/* 入力パラメータ リスト */
/* -------------------- */
/* */
/* 固定パラメータ (すべての組み込み関数) */
/* ----------------------------------------- */
/* */
/* DC@IDS : 標準の情報データ構造 */
/* DC@EDS : 標準の交換データ構造 */
/* PR@IDS : 標準のプロセス情報データ構造 */
/* */
/* 変数の引数と戻り値 (DC@F48 定義より) */
/* ------------------------------------------------------------- */
/* */
/* B$411A : 組み込み関数の引数記述子 数値 A */
/* B@411A : 取得するシステム値 */
/* B$411B : 組み込み関数の戻り値記述子番号 */
/* B@411B : システム値の値 */
/*=================================================================*/
UD@P411: PGM PARM(&DC@IDS &DC@EDS &PR@IDS &B$411A &B@411A &B$411B +
&B@411B)
/*=================================================================*/
/* 変数の宣言 */
/*=================================================================*/
DCL &DC@IDS *CHAR 1024
DCL &DC@EDS *CHAR 1024
DCL &PR@IDS *CHAR 1024
DCL &B$411A *CHAR 4
DCL &B@411A *CHAR 10
DCL &B$411B *CHAR 4
DCL &B@411B *CHAR 256
DCL &$PGMNM *CHAR 10
DCL &PR@PGM *CHAR 10
DCL &PR@B@N *CHAR 3
DCL &PR@B@A *CHAR 1
DCL &DC@RET *CHAR 1
DCL &DC@MID *CHAR 7
DCL &DC@MVR *CHAR 132
/*=================================================================*/
/* グローバル エラー ハンドラー */
/*=================================================================*/
MONMSG MSGID(CPF0000 MCH0000) EXEC(GOTO ARGERR)
/*=================================================================*/
/* プログラム メイン行 */
/*=================================================================*/
/* フィールドの設定とデータ構造から一部をマッピング .... */
CHGVAR &$PGMNM 'UD@P411'
CHGVAR &PR@PGM %SST(&PR@IDS 424 10)
CHGVAR &PR@B@N %SST(&PR@IDS 157 3)
CHGVAR &PR@B@A %SST(&PR@IDS 160 1)
/* 当初の結果は "正常に" 戻されることが前提 .... */
CHGVAR &DC@RET 'Y'
/* 必須の評価/アクションの実行....... */
/* システム値の取得 */
RTVSYSVAL SYSVAL(&B@411A) RTNVAR(&B@411B)
MONMSG (CPF0000 MCH0000)
/* プログラム処理ロジックの終わり */
ENDPGM: CHGVAR %SST(&DC@EDS 38 1) &DC@RET
CHGVAR %SST(&DC@EDS 39 7) &DC@MID
CHGVAR %SST(&DC@EDS 46 132) &DC@MVR
RETURN
/*==================================================================*/
/* ARGERR :プログラムに引き渡された引数のエラー処理。 */
/* 呼び出し元は、このロジックの実行前にエラーの原因を反映 */
/* させるため DC@MID と DC@MVR を設定します。 */
/* このロジックが起動されると、プログラム全体が終了されます。*/
/* これで、RDML プログラムの呼び出しはエラーとなり、 */
/* DC@MID/DC@MVR 内のエラー詳細を示すメッセージが表示されます。*/
/*==================================================================*/
ARGERR:
/* 呼び出し元に返す追加メッセージをすべて転送 */
CALL PGM(DC@P9007) PARM(&$PGMNM &PR@PGM)
MONMSG (CPF0000 MCH0000)
/* "不正な" 戻りコードを設定 .... */
CHGVAR &DC@RET 'N'
MONMSG (CPF0000 MCH0000)
/* 呼び出し元のプログラムに制御を戻す .... */
GOTO ENDPGM
/*==================================================================*/
ENDPGM
/*==================================================================*/