!!テーブル作成 {{code Text, A* 得意先マスター・ファイル A UNIQUE A* A R TKMASR TEXT('得意先マスター・レコード') A* A TKBANG 5A COLHDG('得意先' '番号') A TKNAKN 20A COLHDG('得意先' '仮名') A TKNAKJ 20O COLHDG('得意先' '漢字') A TKADR1 20O COLHDG('住所1') A TKADR2 20O COLHDG('住所2') A TKTIKU 2A COLHDG('地区' 'コード') A TKPOST 6A COLHDG('郵便番号') A TKTELE 13A COLHDG('電話番号') A TKGURI 9P 0 COLHDG('当月' '売上高') A TKNURI 9P 0 COLHDG('当年' '売上高') A TKZURI 9P 0 COLHDG('前年' '売上高') A TKUZAN 9P 0 COLHDG('売掛金' '残高') A TKGEND 9P 0 COLHDG('信用' '限度額') A TKNYUK 6P 0 COLHDG('最終' '入金日') A TKSIME 1A COLHDG('締め日' 'コード') A* A K TKBANG }} 上記ソースを作成し、 CRTPF でコンパイル。 !!帳票定義の作成 {{code Text, A* 得意先マスター一覧表 A*** LINE = 02 A R PHEAD1 A SKIPB(02) A* A 1'ENS010' A 11'SAMPLE PRINTF' A 38' * * 得意先マスタ一覧表+ 1+2+ A * * ' A CHRSIZ(1 2) A* A 88'作成日' A H#DATE 6S 0 97TEXT('日付') A EDTWRD('0 / / ') A H#TIME 6S 0 109TEXT('時刻') A EDTWRD('0 : : ') A 120'ページ ' A H#PAGE 4S 0 126TEXT('PAGE') A EDTWRD(' , 0 ') A*** LINE = 04 A SKIPB(04) A* A 1'得番' A 10'得意先名称' A 31'住所1' A 53'住所2' A 75'地区' A 83'郵便' A 94'売掛金残高' A 109'信用限度額' A*** LINE = 06 〜(明細行) A R PDTL01 A SPACEB(2) A* A D#BANG 5A 2TEXT('得意先番号') A D#NAKJ 20O 10TEXT('得意先漢字') A D#ADR1 20O 32TEXT('住所1') A D#ADR2 20O 54TEXT('住所2') A D#TIKU 2A 77TEXT('地区コード') A D#POST 6A 83TEXT('郵便番号') A D#UZAN 9S 0 94TEXT('売掛金残高') A EDTWRD(' , , 0 -') A D#GEND 9S 0 109TEXT('信用限度額') A EDTCDE(N) A* A 80 124'※' A**** 売掛残合計行 A R PTTL A SPACEB(2) A* A 60' * * 売掛残合計 * *' A T#UZAN 11S 0 91TEXT('数量') A EDTWRD(' , , , 0 -') A** ゼロ件時 A***** 06 行目 A R PZERO A SKIPB(06) A* A 30' * * * 対象データがありません。+ A * * * ' }} 上記ソースを作成し、 CRTPRTF でコンパイル。 !!帳票出力プログラムの作成 {{code Text, H Y F******************************************************** F* FILE情報 F******************************************************** F* FTKMASP IF E K DISK FENS010PRO E 11 PRINTER I******************************************************** I* ワークフィールドの定義 I******************************************************** I* I DS I 1 80W@YMD8 I 1 40W@YYYY I 5 60W@MM I 7 80W@DD C******************************************************** C** 1.0初期処理 C EXSR @INIT C** 2.0メイン処理 C EXSR @MAIN C** 3.0 終了処理 C EXSR @END C******************************************************** C* 1.0 @INIT (初期処理) C******************************************************** C @INIT BEGSR C Z-ADD*ZERO W@YMD8 C Z-ADD*ZERO H#PAGE C Z-ADD*ZERO T#UZAN C* C SETOF 11 C SETOF 80 C SETOF 90 C EXSR @PHEAD C ENDSR C* C********************************************************* C* 2.0 @MAIN (メイン処理) C********************************************************* C @MAIN BEGSR C *IN90 DOWEQ*OFF C READ TKMASR 90 C* C *IN90 IFEQ *OFF C *IN11 IFEQ *ON C EXSR @PHEAD C MOVEL*OFF *IN11 C ENDIF C* C EXSR @PDTL C SETON 81 C* C ENDIF C* C ENDDO C* C* C* C *IN81 IFEQ *ON C WRITEPTTL C ELSE C WRITEPZERO C ENDIF C* C ENDSR C******************************************************** C* 2.1 @PHEAD (ヘッダー出力) C******************************************************** C @PHEAD BEGSR C Z-ADD*DATE H#DATE C TIME H#TIME C ADD 1 H#PAGE C* C WRITEPHEAD1 C* C ENDSR C******************************************************** C* 2.2 @PDTL (明細出力) C******************************************************** C @PDTL BEGSR C MOVELTKBANG D#BANG C MOVELTKNAKJ D#NAKJ C MOVELTKADR1 D#ADR1 C MOVELTKADR2 D#ADR2 C MOVELTKTIKU D#TIKU C MOVELTKPOST D#POST C MOVELTKUZAN D#UZAN C MOVELTKGEND D#GEND C MOVEL*OFF *IN80 C TKUZAN IFGE TKGEND C MOVEL*ON *IN80 C ENDIF C* C ADD TKUZAN T#UZAN C* C WRITEPDTL01 C* C ENDSR C******************************************************** C* @END (終了処理) C******************************************************** C @END BEGSR C SETON LR C RETRN C* C* C* C* C ENDSR }} 上記ソースを作成し、 CRTRPGPGM でコンパイル。 {{category2 プログラミング言語,RPG}}