テーブル作成
1 |
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
でコンパイル。
帳票定義の作成
1 |
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
でコンパイル。
帳票出力プログラムの作成
1 |
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
でコンパイル。
[カテゴリ: プログラミング言語 > RPG]
[通知用URL]
Tweet
最終更新時間:2009年01月30日 19時34分26秒