この例では、図 32 に示す CRTBNDRPG コマンドを使用して 給与計算プログラムのソースから OPM 互換プログラム・オブジェクトを作成します。
CRTBNDRPG PGM(MYLIB/PAYROLL) SRCFILE(MYLIB/QRPGLESRC) TEXT('ILE RPG program') DFTACTGRP(*YES)
CRTBNDRPG コマンドはプログラム PAYROLL を MYLIB の中に作成します。このプログラムはデフォルトの活動化グループで実 行されることになります。 デフォルトでは、コンパイラー・リストが作成されます。
*------------------------------------------------------------------------* * 説明: このプログラムは、社員の週給の印刷出力を * * 作成します。 * *------------------------------------------------------------------------* H DATEDIT(*DMY/) *------------------------------------------------------------------------* * ファイル定義 * *------------------------------------------------------------------------* FTRANSACT IP E K DISK FEMPLOYEE IF E K DISK FQSYSPRT O F 80 PRINTER *------------------------------------------------------------------------* * 変数の宣言 * *------------------------------------------------------------------------* D Pay S 8P 2 *------------------------------------------------------------------------* * 定数の宣言 * *------------------------------------------------------------------------* D Heading1 C 'NUMBER NAME RATE H- D OURS BONUS PAY ' D Heading2 C '______ ________________ ______ _- D ____ _______ __________' *------------------------------------------------------------------------* * トランザクション・ファイル (TRANSACT) 内の各レコードごとに、 * * 社員が見つかればその給与を計算して明細を印刷します。 * *------------------------------------------------------------------------* C TRN_NUMBER CHAIN EMP_REC 99 C IF NOT *IN99 C EVAL (H) Pay = EMP_RATE * TRN_HOURS + TRN_BONUS C ENDIF
*------------------------------------------------------------------------* * 報告書レイアウト * * -- 1P がオンであれば見出し行を印刷する * * -- レコードが見つかった場合 (標識 99 がオフ) は * * 給与明細を印刷し、それ以外の場合は例外レコードを印刷する * * -- LR がオンのときは 'リストの終わり' と印刷する * *------------------------------------------------------------------------* OQSYSPRT H 1P 2 3 O 35 '給与計算表' O *DATE Y 60 O H 1P 2 O 60 Heading1 O H 1P 2 O 60 Heading2 O D N1PN99 2 O TRN_NUMBER 5 O EMP_NAME 24 O EMP_RATE L 33 O TRN_HOURS L 40 O TRN_BONUS L 49 O Pay 60 '$ 0. ' O D N1P 99 2 O TRN_NUMBER 5 O 35 '** 社員ファイル上にない **' O T LR O 33 'END OF LISTING'
(C) Copyright IBM Corporation 1992, 2006. All Rights Reserved.