画面の罫線と言えばTOOLBOXによる対話式で罫線を設計する方法が
一般的であったがそれ以外にも IBM i ではDDSキー・ワード GRDBOX によって
罫線を表示する手段も提供されているので紹介する。
[DSPF: SMP106FM ]
ソースはこちらから
0001.00 A*%%TS SD 20150410 145737 QTR REL-V6R1M0 5761-WDS 0002.00 A* 91/10/14 21:54:59 QUATTRO REL-R03M00 5728-PW1 0003.00 A*-----------------------------------------------* 0004.00 A* サブファイル表示 SFLDSPFM * 0005.00 A* 0006.00 A* 振替伝票の入力 0007.00 A* 0008.00 A*-----------------------------------------------* 0009.00 A* 11:25:43 QUATTRO REL-R06M00 5714-UT1 0010.00 A*%%EC 0011.00 A DSPSIZ(27 132 *DS4 - 0012.00 A 24 80 *DS3) 0013.00 A *DS4 MSGLOC(27) 0014.00 A *DS3 MSGLOC(24) 0015.00 A PRINT 0016.00 A*-----------------------------------------------* 0017.00 A R DSPHEAD 0018.00 A*-----------------------------------------------* 0019.00 A TEXT(' 初期画面 ') 0020.00 A*%%TS SD 19930612 135725 QUATTRO REL-V3R2M0 5738-PW1 0021.00 A CF03(03 ' 終了 ') 0022.00 A SETOF(99) 0023.00 A BLINK 0024.00 A CSRLOC(LIN POS) 0025.00 A 1 50' 振替伝票の入力 ' 0026.00 A *DS3 1 27 0027.00 A DSPATR(RI) 0028.00 A COLOR(PNK) 0029.00 A 2114' 日付 ' 0030.00 A *DS3 2 62 0031.00 A 2123DATE(*JOB *YY) 0032.00 A EDTCDE(W) 0033.00 A *DS3 2 71 0034.00 A 3 2' 伝票№ ' 0035.00 A FRDENN R B 3 15REFFLD(FRIKAER/FRDENN QTRFIL/FRI- 0036.00 A KAE) 0037.00 A 3114' 時刻 ' 0038.00 A *DS3 3 62 0039.00 A 3123TIME 0040.00 A *DS3 3 71 0041.00 A 4114' システム ' 0042.00 A *DS3 4 62 0043.00 A 4125SYSNAME 0044.00 A *DS3 4 73 0045.00 A 11 15' 必要な項目を打鍵して実行キーを押 + 0046.00 A して下さい。 ' 0047.00 A DSPATR(HI) 0048.00 A 23 2'F3= 終了 ' 0049.00 A COLOR(BLU) 0050.00 A LIN 3S 0H 0051.00 A POS 3S 0H 0052.00 A R SFREC01 SFL 0053.00 A*%%TS SD 20150409 172552 QTR REL-V6R1M0 5761-WDS 0054.00 A TEXT(' SFL明細行 ') 0055.00 A 20 0056.00 AO 99 SFLNXTCHG 0057.00 A GYO 4A O 9 2TEXT(' № ') 0058.00 A 03 DSPATR(UL) 0059.00 A FRKRCD R B 9 7REFFLD(FRIKAER/FRKRCD QTRFIL/FRIKAE) 0060.00 A TEXT('*POPUP KMCODE,KMNAME') 0061.00 A 66 DSPATR(RI PC) 0062.00 A FRKRNM R O 9 14REFFLD(KAMOKUR/KMNAME QTRFIL/KAMOKU) 0063.00 A TEXT(' 科目名 ') 0064.00 A FRKING R B 9 37REFFLD(FRIKAER/FRKING QTRFIL/FRIKAE) 0065.00 A CHECK(RB) 0066.00 A DSPATR(CS) 0067.00 A TEXT(' 金額 ') 0068.00 A FRKSCD R B 9 50REFFLD(FRIKAER/FRKSCD QTRFIL/FRIKAE) 0069.00 A TEXT('*POPUP KMCODE,KMNAME') 0070.00 A 67 DSPATR(RI PC) 0071.00 A FRKSNM R O 9 57REFFLD(KAMOKUR/KMNAME QTRFIL/KAMOKU) 0072.00 A TEXT(' 科目名 ') 0073.00 A FRTEKI R B 9 80REFFLD(FRIKAER/FRTEKI QTRFIL/FRIKA- 0074.00 A E) 0075.00 A *DS3 10 48 0076.00 A*( 修正のための BACKUP を保存しておく ) 0077.00 A FBKING R H REFFLD(FRIKAER/FRKING QTRFIL/FRIKAE) 0078.00 A R SFCTL01 SFLCTL(SFREC01) 0079.00 A*%%TS SD 20150409 174603 QTR REL-V6R1M0 5761-WDS 0080.00 A SFLSIZ(0011) 0081.00 A *DS3 SFLSIZ(0006) 0082.00 A SFLPAG(0010) 0083.00 A *DS3 SFLPAG(0005) 0084.00 A TEXT(' SFL制御見出し ') 0085.00 A OVERLAY 0086.00 A 41 SFLDSPCTL 0087.00 A 42 SFLDSP 0088.00 A 43 SFLINZ 0089.00 A SFLRNA 0090.00 A 44 SFLCLR 0091.00 A 45 SFLEND(*MORE) 0092.00 A 46 SFLDLT 0093.00 A 61 SFLMSGID(EDT0411 QPDA/QEDTMSG 61) 0094.00 A 62 SFLMSGID(EDT0410 QPDA/QEDTMSG 62) 0095.00 A 66 SFLMSG(' 借方科目コードの誤りです - 0096.00 A 。 ' 66) 0097.00 A 67 SFLMSG(' 貸方科目コードの誤りです - 0098.00 A 。 ' 67) 0099.00 A ROLLUP(14 ' 次頁 ') 0100.00 A ROLLDOWN(15 ' 前頁 ') 0101.00 A CF03(03 ' 終了 ') 0102.00 A CF10(10 ' 更新 ') 0103.00 A CF23(23 ' 削除 ') 0104.00 A CF12(12 ' 前画面 ') 0105.00 A SETOF(99) 0106.00 A BLINK 0107.00 A*( SFLEND(*MORE)... 続く / 終りの使用のために SFLMSG は 0108.00 A* 使用しません。 ) 0109.00 A DSPREC 4S 0H SFLRCDNBR(CURSOR) 0110.00 A TEXT('SFL 表示 レコード № ') 0111.00 A LIN 3S 0H TEXT('カーソル 位置合せ - 行 ') 0112.00 A POS 3S 0H TEXT('カーソル 位置合せ - 桁 ') 0113.00 A 1 50' 振替伝票の入力 ' 0114.00 A *DS3 1 27 0115.00 A DSPATR(RI) 0116.00 A COLOR(PNK) 0117.00 A*( 見出しの項目 ) 0118.00 A 2114' 日付 ' 0119.00 A *DS3 2 62 0120.00 A 2123DATE(*JOB *YY) 0121.00 A EDTCDE(W) 0122.00 A *DS3 2 71 0123.00 A 3114' 時刻 ' 0124.00 A *DS3 3 62 0125.00 A 3123TIME 0126.00 A *DS3 3 71 0127.00 A 4114' システム ' 0128.00 A *DS3 4 62 0129.00 A 4125SYSNAME 0130.00 A *DS3 4 73 0131.00 A 3 2' 伝票№ ' 0132.00 A FRDENN R O 3 15REFFLD(FRIKAER/FRDENN QTRFIL/FRIKA- 0133.00 A E) 0134.00 A 4 2' 日付 ' 0135.00 A FRDATE R B 4 15REFFLD(FRIKAER/FRDATE QTRFIL/FRIKAE) 0136.00 A EDTCDE(W) 0137.00 A 63 ERRMSG(' 伝票日付の誤りです。 ' 63) 0138.00 A 5 2' 部門 ' 0139.00 A FRBKCD R B 5 15REFFLD(@BUKAM/BKCODE QTRFIL/BUKAM) 0140.00 A 64 ERRMSG(' 部門コードの誤りです。 ' - 0141.00 A 64) 0142.00 A TEXT('*COMBO *KEY') 0143.00 A BKNAME R O 5 20REFFLD(@BUKAM/BKNAME QTRFIL/BUKAM) 0144.00 A 65 ERRMSG(' 担当者コードの誤りです。 '- 0145.00 A 65) 0146.00 A TEXT('*COMBO *DATA') 0147.00 A 6 2' 担当者 ' 0148.00 A FRTANC R B 6 15REFFLD(@TANTOM/TACODE QTRFIL/TANTOM) 0149.00 A TEXT('*COMBO *KEY') 0150.00 A TTNAMJ R O 6 20REFFLD(@TANTOM/TTNAMJ QTRFIL/TANTOM) 0151.00 A TEXT('*COMBO *DATA') 0152.00 A*( 明細行の桁見出し ) 0153.00 A* *DS3 では「摘要」は TTNAMJ と重なって表示されません。 0154.00 A 6 22' 摘要 ' 0155.00 A DSPATR(HI) 0156.00 A *DS3 6 48 0157.00 A 8 2' № ' 0158.00 A *DS3 7 2 0159.00 A DSPATR(HI) 0160.00 A 8 7' 借方コード ' 0161.00 A *DS3 7 7 0162.00 A DSPATR(HI) 0163.00 A 8 20' 科目名 ' 0164.00 A *DS3 7 20 0165.00 A DSPATR(HI) 0166.00 A 8 39' 金額 ' 0167.00 A *DS3 7 39 0168.00 A DSPATR(HI) 0169.00 A 8 48' 貸方コード ' 0170.00 A *DS3 7 48 0171.00 A DSPATR(HI) 0172.00 A 8 62' 科目名 ' 0173.00 A *DS3 7 62 0174.00 A DSPATR(HI) 0175.00 A* *DS4 では「摘要」は科目名と重なって表示されません。 0176.00 A 8 82' 摘要 ' 0177.00 A *DS3 7 62 0178.00 A DSPATR(HI) 0179.00 A R NOREC 0180.00 A TEXT(' MSG : レコードなし ') 0181.00 A*%%TS SD 19930612 144015 QUATTRO REL-V2R1M0 5738-PW1 0182.00 A OVERLAY 0183.00 A CF03(03 ' 終了 ') 0184.00 A 10 5'( 検索されて見つかったレコードが - 0185.00 A ない。 )' 0186.00 A DSPATR(HI) 0187.00 A 16 5' 処理を続けるために実行キーを押し - 0188.00 A なさい。 ' 0189.00 A DSPATR(HI) 0190.00 A R DSPEND01 0191.00 A*%%TS SD 20150410 145737 QTR REL-V6R1M0 5761-WDS 0192.00 A TEXT(' 機能キーの表示 ') 0193.00 A OVERLAY 0194.00 A CF03(03 ' 終了 ') 0195.00 A 20 27' 合計 ' 0196.00 A DSPATR(RI) 0197.00 A GOKEI R O 20 37REFFLD(FRIKAER/FRKING QTRFIL/FRIKAE) 0198.00 A EDTCDE(J) 0199.00 A TEXT(' 合計金額 ') 0200.00 A 20 50' 円 ' 0201.00 A 23 2'F3= 終了 ' 0202.00 A COLOR(BLU) 0203.00 A 23 34'F10= 更新 ' 0204.00 A COLOR(BLU) 0205.00 A 23 51'F23= 削除 ' 0206.00 A COLOR(BLU) 0207.00 A 23 68'F12= 前画面 ' 0208.00 A COLOR(BLU) 0209.00 A 20 70' ' 0210.00 A* 0211.00 A R ENDOPT 0212.00 A*%%TS SD 19930612 150356 NIK REL-V2R1M0 5738-PW1 0213.00 A TEXT(' 終了画面 ') 0214.00 A CF03(03 ' 終了 ') 0215.00 A CF12(12 ' 前画面 ') 0216.00 A CSRLOC(LIN POS) 0217.00 A 1 64' 終了 ' 0218.00 A *DS3 1 34 0219.00 A COLOR(PNK) 0220.00 A DSPATR(HI) 0221.00 A 3 2' 処理されたレコード数 ' 0222.00 A 5 10' 追加 . . . . . :' 0223.00 A ADDREC 5Y 0O 5 35EDTCDE(1) 0224.00 A 6 10' 変更 . . . . . :' 0225.00 A CHGREC 5Y 0O 6 35EDTCDE(1) 0226.00 A 7 10' 削除 . . . . . :' 0227.00 A DLTREC 5Y 0O 7 35EDTCDE(1) 0228.00 A 11 2' 選択項目を打鍵して,実行キーを押 + 0229.00 A してください。 ' 0230.00 A COLOR(BLU) 0231.00 A 13 5' データ入力の終了 . . . . . .' 0232.00 A ANS 1A B 13 39VALUES('Y' 'N') 0233.00 A 13 53'Y=YES, N=NO' 0234.00 A 23 2'F3= 終了 ' 0235.00 A COLOR(BLU) 0236.00 A 23 15'F12= 前画面 ' 0237.00 A COLOR(BLU) 0238.00 A LIN 3S 0H 0239.00 A POS 3S 0H 0240.00 A*( 罫線クリヤー ) 0241.00 A R GRDCLR GRDRCD 0242.00 A GRDCLR 0243.00 A*( 罫線バッファー ) 0244.00 A R GRDREC GRDRCD 0245.00 A GRDATR((*COLOR WHT) (*LINTYP SLD)) 0246.00 A GRDBOX((*POS (*DS3 7 2 12 78) + 0247.00 A (*DS4 8 2 11 111)) + 0248.00 A (*TYPE PLAIN)) 0249.00 A GRDLIN((*POS (*DS3 7 2 78) + 0250.00 A (*DS4 8 2 111)) + 0251.00 A (*TYPE LOWER)) 0252.00 A GRDLIN((*POS (*DS3 8 6 11) + 0253.00 A (*DS4 9 6 10)) + 0254.00 A (*TYPE LEFT)) 0255.00 A*( 縦線 ) 0256.00 A GRDLIN((*POS (*DS3 8 14 11) + 0257.00 A (*DS4 9 14 10)) + 0258.00 A (*TYPE LEFT)) 0259.00 A GRDLIN((*POS (*DS3 8 36 11) + 0260.00 A (*DS4 9 36 10)) + 0261.00 A (*TYPE LEFT))![]()
[解説]
赤字の部分が罫線キー・ワードである。
罫線を表示するレコードは一般の表示レコードとは別に
GRDRCD として定義したレコードするする必要がある。
罫線をクリヤーするのは次の GRDCLR キー・ワードによって消去する。
0240.00 A*( 罫線クリヤー )
0241.00 A R GRDCLR GRDRCD
0242.00 A
0242.00 A GRDCLR
罫線を表示するのは次のレコードである。
0243.00 A*( 罫線バッファー )
0244.00 A R GRDREC GRDRCD
0245.00 A GRDATR((*COLOR WHT) (*LINTYP SLD))
0246.00 A GRDBOX((*POS (*DS3 7 2 12 78) +
0247.00 A (*DS4 8 2 11 111)) +
0248.00 A (*TYPE PLAIN))
0249.00 A GRDLIN((*POS (*DS3 7 2 78) +
0250.00 A (*DS4 8 2 111)) +
0251.00 A (*TYPE LOWER))
0252.00 A GRDLIN((*POS (*DS3 8 6 11) +
0253.00 A (*DS4 9 6 10)) +
0254.00 A (*TYPE LEFT))
0255.00 A*( 縦線 )
0256.00 A GRDLIN((*POS (*DS3 8 14 11) +
0257.00 A (*DS4 9 14 10)) +
0258.00 A (*TYPE LEFT))
0259.00 A GRDLIN((*POS (*DS3 8 36 11) +
0260.00 A (*DS4 9 36 10)) +
0261.00 A (*TYPE LEFT))
詳細は IBM Knowledge Center で
RPG でこれらを表示するには
[ RPG : SMP106 ]
ソースはこちらから
0001.00 H DFTNAME(SMP106) DATEDIT(*YMD/) 0002.00 F********** 振替伝票の入力 ************************************** 0003.00 FSMP106FM CF E WORKSTN 0004.00 F SFILE(SFREC01:RRN1) 0005.00 F INFDS(INFDS) 0006.00 F MAXDEV(*FILE) 0007.00 FFRIKAE UF A E K DISK 0008.00 FBUKAM IF E K DISK 0009.00 FTANTOM IF E K DISK 0010.00 FKAMOKU IF E K DISK 0011.00 F***************************************************************** 0012.00 D SAVDTA S 1 DIM(1024) SAVE-データ 0013.00 D* 読み取り ファイル の FORMAT を外部 DS として READ 0014.00 D DATADS E DS EXTNAME(FRIKAE) 0015.00 D MIDDTA 1 22 0016.00 D DSPDTA 1 1024 0017.00 D DIM(1024) 入力 データ 0018.00 D* 0019.00 D* -( サブ・ファイル の ファイル 情報 )- 0020.00 D* 0021.00 D INFDS DS 0022.00 D NUMROW 152 153B 0 0023.00 D NUMCOL 154 155B 0 0024.00 D*( カーソル の行と桁の取り込み ) 0025.00 D LINE 370 371B 0 0026.00 D* TOPRRN: 今表示している サブ・ファイル の先頭の RRN 0027.00 D TOPRRN 378 379B 0 0028.00 D* BRRN : サブファイル の レコードNO ( 2 進数 ) 0029.00 D BRRN 376 377B 0 0030.00 D*( WORK 日付 YYMMDD データ 構造 ) 0031.00 D DATEDS DS 0032.00 D SRY 1 2 0 0033.00 D SRYMD 1 8 0 0034.00 D YYMMDD 3 8 0 0035.00 D YYMM 3 6 0 0036.00 D MMDD 5 8 0 0037.00 D YY 3 4 0 0038.00 D MM 5 6 0 0039.00 D DD 7 8 0 0040.00 D DS 0041.00 D RRN1 1 4 0 0042.00 D EOF 5 5 0043.00 D FLD1 6 6 0044.00 D DATE 7 12 0 0045.00 D DENNO 13 18 0 0046.00 C*( 初期画面 ) 0047.00 C MOVE '000001' FRDENN 0048.00 C GOTO HEDSTR 0049.00 C*----------------------------------------------------+ 0050.00 C START TAG | 0051.00 C EXFMT DSPHEAD | 0052.00 C*----------------------------------------------------+ 0053.00 C SETOFF 99 0054.00 C*( CF03 )- 終了 0055.00 C *IN03 IFEQ *ON CF03 0056.00 C EXSR LRRTN 0057.00 C LR RETURN 0058.00 C GOTO START 0059.00 C END CF03 0060.00 C*( 実行キー ) 0061.00 C* | 0062.00 C* | 0063.00 C* : 初期画面のチエック 0064.00 C HEDSTR TAG 0065.00 C EXSR HEDCHK 0066.00 C 99 GOTO START 0067.00 C* | 0068.00 C* : KEYをファイルにセット 0069.00 C*----------------------------------------------------+ 0070.00 C SETKEY KLIST | 0071.00 C KFLD FRDENN | 0072.00 C KFLD FRGYO | 0073.00 C*----------------------------------------------------+ 0074.00 C*( *LOVAL のセット ) 0075.00 C MOVE *ZEROS FRGYO 0076.00 C EXSR SFLCLR 0077.00 C SETKEY SETLL FRIKAE 0078.00 C Z-ADD 0 GOKEI 0079.00 C* : ファイルの読み取り 0080.00 C Z-ADD 1 TOPRRN 0081.00 C EXSR READ 0082.00 C Z-ADD 1 DSPREC 0083.00 C*( サブ・ファイルの表示 ) 0084.00 C*----------------------------------------------------+ 0085.00 C DSPLY TAG | 0086.00 C SETON 41 | 0087.00 C BRRN IFGT *ZEROS | 0088.00 C SETON 42 | 0089.00 C WRITE GRDREC | 0090.00 C ELSE | 0091.00 C* ( 検索した見つかったレコードがない ) | 0092.00 C WRITE NOREC | 0093.00 C ENDIF | 0094.00 C WRITE DSPEND01 | 0095.00 C EXFMT SFCTL01 | 0096.00 C SETOFF 4142 | 0097.00 C*----------------------------------------------------+ 0098.00 C SETOFF 99 0099.00 C*( CF03 )- 終了 0100.00 C *IN03 IFEQ *ON CF03 0101.00 C WRITE GRDCLR 0102.00 C EXSR LRRTN 0103.00 C LR RETURN 0104.00 C GOTO DSPLY 0105.00 C ENDIF CF03 0106.00 C* 0107.00 C*( CF12 )- 前画面 0108.00 C *IN12 IFEQ *ON CF12 0109.00 C SETOFF 12 0110.00 C EXSR SFLDLT 0111.00 C WRITE GRDCLR 0112.00 C GOTO START 0113.00 C ENDIF CF12 0114.00 C* | 0115.00 C*( ROLL UP )- 次ページ 0116.00 C *IN14 IFEQ *ON 0117.00 C EXSR ROLLUP 0118.00 C GOTO DSPLY 0119.00 C ENDIF 0120.00 C*( ROLL DOWN )- 前ページ 0121.00 C *IN15 IFEQ *ON 0122.00 C Z-ADD 1 DSPREC 0123.00 C SETON 6299 ERRMSG 0124.00 C GOTO DSPLY 0125.00 C ENDIF 0126.00 C* 0127.00 C TOPRRN IFNE *ZEROS 0128.00 C Z-ADD TOPRRN DSPREC 0129.00 C ENDIF 0130.00 C*( 実行キー ) 0131.00 C* : 見出し画面のチエック 0132.00 C N23 EXSR MIDCHK 0133.00 C 99 GOTO DSPLY 0134.00 C* : 見出し項目のSAVE 0135.00 C MOVE MIDDTA MIDSAV 0136.00 C *LIKE DEFINE MIDDTA MIDSAV 0137.00 C* : 明細画面のチエック 0138.00 C 1 DO *HIVAL RRN1 0139.00 C*( 実行キー ) 0140.00 C N10 0141.00 CANN23 READC SFREC01 50 0142.00 C*( CF10 )- 更新 0143.00 C*( CF23 )- 削除 0144.00 C 10 0145.00 COR 23RRN1 CHAIN SFREC01 50 0146.00 C 50 LEAVE 0147.00 C* : ブランク・キー入力のオミット 0148.00 C FRKRCD IFEQ *BLANKS 0149.00 C FRKSCD ANDEQ *BLANKS 0150.00 C ITER 0151.00 C ENDIF 0152.00 C* 0153.00 C Z-ADD BRRN DSPREC 0154.00 C*---------------------+ 0155.00 C* 入力明細行のチエック 0156.00 C*---------------------+ 0157.00 C MOVEL GYO FLD1 0158.00 C FLD1 IFNE 'D' 削除 ? 0159.00 C *IN23 ANDEQ *OFF 0160.00 C EXSR CHECK 0161.00 C 99 GOTO SFLWRT 0162.00 C ENDIF 0163.00 C*---------------------+ 0164.00 C* データ・ベース更新 0165.00 C*---------------------+ 0166.00 C *IN10 IFEQ *ON F10,F23 0167.00 C *IN23 OREQ *ON 0168.00 C*----------------------------------------------------+ 0169.00 C TRNKEY KLIST | 0170.00 C KFLD FRDENN | 0171.00 C KFLD FRGYO | 0172.00 C*----------------------------------------------------+ 0173.00 C* : 更新キーを生成 0174.00 C MOVE RRN1 FRGYO 0175.00 C MOVE DSPDTA SAVDTA 0176.00 C* : データ・ベース検索 0177.00 C *NOKEY CLEAR FRIKAER 0178.00 C SETOFF 90 0179.00 C TRNKEY CHAIN FRIKAE 90 0180.00 C MOVE SAVDTA DSPDTA 0181.00 C* : データ・ベースへ追加・更新 0182.00 C MOVEL GYO FLD1 1 0183.00 C FLD1 COMP 'D' 50 0184.00 C 23 SETON 50 0185.00 C*----------------------------------------------------+ 0186.00 C 90 0187.00 CANN50 WRITE FRIKAER | ADD 0188.00 C N90 0189.00 CANN50 UPDATE FRIKAER | CHG 0190.00 C N90 0191.00 CAN 50 DELETE FRIKAER | DLT 0192.00 C*----------------------------------------------------+ 0193.00 C 90 ADD 1 ADDREC 5 0 0194.00 C N90 0195.00 CANN50 ADD 1 CHGREC 5 0 0196.00 C N90 0197.00 CAN 50 ADD 1 DLTREC 5 0 0198.00 C ENDIF F10,F23 0199.00 C*---------------------+ 0200.00 C* サブ・ファイル更新 0201.00 C*---------------------+ 0202.00 C SFLWRT TAG 0203.00 C MOVE TOPRRN TOPSAV 0204.00 C *LIKE DEFINE TOPRRN TOPSAV 0205.00 C* ( 合計の加減を計算 ) 0206.00 C SUB FBKING GOKEI 0207.00 C ADD FRKING GOKEI 0208.00 C Z-ADD FRKING FBKING 0209.00 C*----------------------------------------------------+ 0210.00 C UPDATE SFREC01 | 0211.00 C*----------------------------------------------------+ 0212.00 C Z-ADD BRRN DSPREC 0213.00 C MOVE TOPSAV TOPRRN 0214.00 C 99 GOTO DSPLY エラー 0215.00 C* 0216.00 C ENDDO 0217.00 C*( CF10 )- 更新 0218.00 C*( CF23 )- 削除 0219.00 C *IN10 IFEQ *ON 0220.00 C *IN23 OREQ *ON 0221.00 C GOTO START 0222.00 C*( 実行キー ) 0223.00 C ELSE 0224.00 C GOTO DSPLY 0225.00 C ENDIF 0226.00 C* 0227.00 C END TAG 0228.00 C****************************************************** 0229.00 C *INZSR BEGSR 0230.00 C****************************************************** 0231.00 C* 初期サイクルのみの実行 0232.00 C*( サブ・ファイル END-FLAG を ON にする ) 0233.00 C SETON 45 0234.00 C*( DS の数字 フィールド のクリヤー ) 0235.00 C *NOKEY CLEAR FRIKAER 0236.00 C Z-ADD 0 RRN1 0237.00 C EXSR SFLINZ 0238.00 C MOVE 05 GYOSU 2 0 行数 0239.00 C MOVE 09 STRGYO 2 0 開始行№ 0240.00 C MOVE 20150101 SRYMD 0241.00 C MOVE 150101 DATE 0242.00 C SETON 11 0243.00 C SETOFF 11 0244.00 C ENDSR 0245.00 C****************************************************** 0246.00 C HEDCHK BEGSR 0247.00 C****************************************************** 0248.00 C*( 初期画面チエック ) 0249.00 C*----------------------------------------------------* 0250.00 C*( FRDENN : 伝票№ ( 自動発生 ) 0251.00 C*----------------------------------------------------* 0252.00 C FRDENN IFEQ *BLANKS 0253.00 C *HIVAL SETGT FRIKAE 0254.00 C READP FRIKAE 50 0255.00 C *IN50 IFEQ *ON 0256.00 C MOVE '000001' FRDENN 0257.00 C ELSE 0258.00 C MOVE FRDENN DENNO 0259.00 C ADD 1 DENNO 0260.00 C MOVE DENNO FRDENN 0261.00 C ENDIF 0262.00 C*----------------------------------------------------* 0263.00 C*( FRDATE : 伝票日付 :( UDATE ) 0264.00 C*----------------------------------------------------* 0265.00 C MOVE UDATE YYMMDD 0266.00 C MOVE SRYMD FRDATE 0267.00 C*----------------------------------------------------* 0268.00 C*( FRBKCD : 部課コード :( CHAIN ファイル ) 0269.00 C*----------------------------------------------------* 0270.00 C MOVE '92' FRBKCD 0271.00 C*----------------------------------------------------* 0272.00 C*( FRTANC : 担当者コード :( CHAIN ファイル ) 0273.00 C*----------------------------------------------------* 0274.00 C MOVE '1201' FRTANC 0275.00 C EXSR MIDCHK 0276.00 C ENDIF 0277.00 C HEDEND ENDSR 0278.00 C****************************************************** 0279.00 C MIDCHK BEGSR 0280.00 C****************************************************** 0281.00 C*( 見出しチエック ) 0282.00 C*----------------------------------------------------* 0283.00 C*( FRDATE : 伝票日付 :( DATCHK 日付 ) 0284.00 C*----------------------------------------------------* 0285.00 C MOVE FRDATE DATE 0286.00 C EXSR DATCHK 0287.00 C 99 SETON 63 0288.00 C 99 GOTO MIDEND 0289.00 C*----------------------------------------------------* 0290.00 C*( FRBKCD : 部課コード :( CHAIN ファイル ) 0291.00 C*----------------------------------------------------* 0292.00 C MOVE *BLANKS BKNAME 0293.00 C SETOFF 99 0294.00 C FRBKCD CHAIN BUKAM 99 0295.00 C 99 SETON 64 0296.00 C 99 GOTO MIDEND 0297.00 C*----------------------------------------------------* 0298.00 C*( FRTANC : 担当者コード :( CHAIN ファイル ) 0299.00 C*----------------------------------------------------* 0300.00 C MOVE *BLANKS TTNAMJ 0301.00 C SETOFF 99 0302.00 C FRTANC CHAIN TANTOM 99 0303.00 C 99 SETON 65 0304.00 C 99 GOTO MIDEND 0305.00 C MIDEND ENDSR 0306.00 C****************************************************** 0307.00 C READ BEGSR 0308.00 C****************************************************** 0309.00 C MOVE *BLANKS EOF 0310.00 C SETOFF 45 0311.00 C MOVE MIDDTA MIDSAV 0312.00 C*( データ・ベースの検索 ) 0313.00 C*----------------------------------------------------+ 0314.00 C EQLKEY KLIST | 0315.00 C KFLD FRDENN | 0316.00 C*----------------------------------------------------+ 0317.00 C TOPRRN ADD GYOSU ENDRRN 4 0 0318.00 C SUB 1 ENDRRN 0319.00 C* 0320.00 C TOPRRN DO ENDRRN RRN1 READ 0321.00 C SETOFF 50 0322.00 C EQLKEY READE FRIKAE 50 0323.00 C*( 終り ) 0324.00 C *IN50 IFEQ *ON EOF 0325.00 C MOVE 'E' EOF 0326.00 C SETOFF 1129 0327.00 C SETON 45 0328.00 C EXSR SFLINZ 0329.00 C ELSE EOF 0330.00 C RRN1 IFEQ TOPRRN 0331.00 C MOVE MIDDTA MIDSAV 0332.00 C Z-ADD RRN1 DSPREC 0333.00 C EXSR MIDCHK 0334.00 C ENDIF 0335.00 C Z-ADD FRKING FBKING 0336.00 C ADD FRKING GOKEI 0337.00 C*( CHECK : READ したレコードの妥当性検査 ) 0338.00 C EXSR CHECK 0339.00 C ENDIF EOF 0340.00 C*( 行 NO に入れる ) 0341.00 C MOVE RRN1 GYO 0342.00 C*( サブ・ファイルへ更新 ) 0343.00 C*----------------------------------------------------+ 0344.00 C WRITE SFREC01 | 0345.00 C*----------------------------------------------------+ 0346.00 C ENDDO READ 0347.00 C MOVE MIDSAV MIDDTA 0348.00 C REDEND ENDSR 0349.00 C****************************************************** 0350.00 C CHECK BEGSR 0351.00 C****************************************************** 0352.00 C*( 明細チエック ) 0353.00 C*----------------------------------------------------* 0354.00 C*( FRKRCD : 借方科目コード :( CHAIN ファイル ) 0355.00 C*----------------------------------------------------* 0356.00 C MOVE *BLANKS FRKRNM 0357.00 C SETOFF 99 0358.00 C FRKRCD CHAIN KAMOKU 99 0359.00 C 99 SETON 66 0360.00 C 99 GOTO CHKEND 0361.00 C MOVE KMNAME FRKRNM 0362.00 C*----------------------------------------------------* 0363.00 C*( FRKSCD : 貸方科目コード :( CHAIN ファイル ) 0364.00 C*----------------------------------------------------* 0365.00 C MOVE *BLANKS FRKSNM 0366.00 C SETOFF 99 0367.00 C FRKSCD CHAIN KAMOKU 99 0368.00 C 99 SETON 67 0369.00 C 99 GOTO CHKEND 0370.00 C MOVE KMNAME FRKSNM 0371.00 C CHKEND ENDSR 0372.00 C****************************************************** 0373.00 C DATCHK BEGSR 0374.00 C****************************************************** 0375.00 C*( 日付 チエック サブ・ルーチン ) FOR YY/MM/DD 0376.00 C MOVE *IN51 IN51 1 0377.00 C MOVE *IN52 IN52 1 0378.00 C DATE MULT .0001 #YEAR 2 0 99 0379.00 C** SUB 88 #YEAR 平成 0380.00 C N99DATE MULT .01 #MONTH 2 0 99 0381.00 C N99 Z-ADD DATE #DAY 2 0 99 0382.00 C N99#MONTH COMP 12 99 0383.00 C N99#YEAR MULT .25 #CHKLY 1 1 50 0384.00 C N99#MONTH COMP 2 51 0385.00 C N99#MONTH MULT(H) 1.07 #MONTH 0386.00 C N99#MONTH DIV 2 #CHKLY 52 0387.00 C N99 0388.00 CANN51 0389.00 CAN 52#DAY COMP 30 99 0390.00 C N99 0391.00 CANN51 0392.00 CANN52#DAY COMP 31 99 0393.00 C N99 0394.00 CAN 51 0395.00 CANN50#DAY COMP 28 99 0396.00 C N99 0397.00 CAN 51 0398.00 CAN 50#DAY COMP 29 99 0399.00 C MOVE IN51 *IN51 0400.00 C MOVE IN52 *IN52 0401.00 C DATEND ENDSR 0402.00 C****************************************************** 0403.00 C SFLCLR BEGSR 0404.00 C****************************************************** 0405.00 C*( サブ・ファイルのクリヤー ) 0406.00 C*----------------------------------------------------+ 0407.00 C SETON 44 | 0408.00 C WRITE SFCTL01 | 0409.00 C SETOFF 44 | 0410.00 C*----------------------------------------------------+ 0411.00 C ENDSR 0412.00 C****************************************************** 0413.00 C SFLDLT BEGSR 0414.00 C****************************************************** 0415.00 C*( サブ・ファイルの削除 ) 0416.00 C*----------------------------------------------------+ 0417.00 C SETON 46 | 0418.00 C WRITE SFCTL01 | 0419.00 C SETOFF 46 | 0420.00 C*----------------------------------------------------+ 0421.00 C ENDSR 0422.00 C****************************************************** 0423.00 C SFLINZ BEGSR 0424.00 C****************************************************** 0425.00 C*( サブ・ファイルの初期化 ) 0426.00 C CLEAR SFREC01 0427.00 C EXSR INZVAR 初期値 0428.00 C ENDSR 0429.00 C****************************************************** 0430.00 C INZVAR BEGSR 0431.00 C****************************************************** 0432.00 C*( 初期値 ) 0433.00 C MOVE RRN1 FRGYO 0434.00 C ENDSR 0435.00 C****************************************************** 0436.00 C ROLLUP BEGSR 0437.00 C****************************************************** 0438.00 C SETOFF 45 0439.00 C ENDRRN ADD 1 TOPRRN 0440.00 C Z-ADD TOPRRN DSPREC 0441.00 C EXSR READ 0442.00 C SETON 45 0443.00 C UPEND ENDSR 0444.00 C****************************************************** 0445.00 C LRRTN BEGSR 0446.00 C****************************************************** 0447.00 C*( 終了画面 ) 0448.00 C MOVE 'Y' ANS 0449.00 C*----------------------------------------------------+ 0450.00 C EXFMT ENDOPT | 0451.00 C*----------------------------------------------------+ 0452.00 C SETOFF 99 0453.00 C*( CF12 )- 前画面 0454.00 C *IN12 IFEQ *ON 0455.00 C GOTO LREND 0456.00 C ENDIF 0457.00 C*( 実行キー ) 0458.00 C ANS IFEQ 'N' 0459.00 C GOTO LREND 0460.00 C ENDIF 0461.00 C*( LR- 終了 ) 0462.00 C SETON LR 0463.00 C RETURN 0464.00 C LREND ENDSR![]()
[解説]
赤字で示した部分が罫線レコードを表示する部分である。
紹介したようにTOOLBOXを使わなくても画面罫線を表示することができる。
画面や印刷においても罫線表示は日本独特のものであり米国など海外では罫線はほとんど
使用する慣習はない。
タイプライターに白紙の用紙を挿入してタイプするところを映画で見かけたことがある人も
多いと思う。
つまり罫線のない白紙に印刷することがタイプライター時代からの慣習となっている。
とこで今でも納品書や請求書もIBM iでも白紙に印刷出力することが多い。
5250エミュレータの海外輸入ソフトでも罫線をサポートしていないものが
ほとんどであるのはこのためである。
ご参考までにA4とかB5とかいう用紙サイズも日本独自のものであって海外にはこのような用紙規格は
存在しない。従って海外での複合機にもこの用紙サイズの設定はない。
IBM iのDDS解説書でもGRDBOXキー・ワードは通常の機能とは別扱いになっている。
IBM KnowledgeCenter GRDBOXの解説はこちらから。