2つの SFL を上下に2つ同時に表示するにはどのようにすればよいのだろうか?
下記のような表示を実現したい。
これは難しい問題ではない。ポイントは OVERLAYキーワードを使うことと
お互いの SFL の記述行が重なり合わないように記述するだけでよい。
下記にこの例でのサンプル・ソースを示す。
A*%%TS SD 20060216 122451 QTR REL-V3R7M0 5716-PW1
A* 91/10/14 21:54:59 QUATTRO REL-R03M00 5728-PW1
A*-----------------------------------------------*
A* サブファイル表示 SFLDSPFM *
A*
A* 商品マスター照会
A*
A*-----------------------------------------------*
A* 11:25:43 QUATTRO REL-R06M00 5714-UT1
A*%%EC
A DSPSIZ(24 80 *DS3)
A MSGLOC(24)
A PRINT
A*-----------------------------------------------*
A R DSPHEAD
A*-----------------------------------------------*
A TEXT(' 初期画面 ')
A CF03(03 ' 終了 ')
A SETOF(99)
A BLINK
A CSRLOC(LIN POS)
A 1 27' 商品マスター照会 '
A DSPATR(RI)
A COLOR(PNK)
A 2 2' 商品コード '
A STRSHCOD 10A B 2 15TEXT(' 商品コード ')
A 11 15' 必要な項目を打鍵して実行
A して下さい。 '
A DSPATR(HI)
A 23 2'F3= 終了 '
A COLOR(BLU)
A LIN 3S 0H
A POS 3S 0H
A R SFREC01 SFL
A TEXT(' SFL明細行 1')
A*%%TS SD 19930612 144015 QUATTRO REL-V3R2M0 5738-PW1
A*------------------------------------------------*
A 20
AO 99 SFLNXTCHG
A GYO1 4A O 5 2TEXT(' ')
A SHCODE 10A O 5 7TEXT(' 商品コード ')
A SHNAME 24O O 5 20TEXT(' 商品名 ')
A SHTANK 7Y 0O 5 45TEXT(' 単価 ')
A EDTCDE(K)
A SHSCOD 4A O 5 56TEXT(' 品種コード ')
A*------------------------------------------------*
A R SFCTL01 SFLCTL(SFREC01)
A TEXT(' SFL制御見出 1')
A*------------------------------------------------*
A OVERLAY
A* SFLPAG :1 画面での表示行数
A* SFLSIZ :ナボホヲbモ 全体の大きさ
A SFLSIZ(7)
A SFLPAG(6)
A 41 SFLDSPCTL
A 42 SFLDSP
A 43 SFLINZ
A SFLRNA
A 44 SFLCLR
A 45 SFLEND(*MORE)
A 46 SFLDLT
A ROLLUP(14 ' 次頁 ')
A ROLLDOWN(15 ' 前頁 ')
A CF03(03 ' 終了 ')
A CF12(12 ' 前画面 ')
A SETOF(99)
A BLINK
A DMYFLD 1A O 1 72
A* 61 : IMPOSSIBLE TO ROLLUP
A 61 ERRMSGID(EDT0411 QPDA/QEDTM
A* 62 : IMPOSSIBLE TO ROLLDOWN
A 62 ERRMSGID(EDT0410 QPDA/QEDTM
A DSPREC1 4S 0H SFLRCDNBR(CURSOR)
A TEXT('SFL 表示 ロテーn゙ ')
A 1 27' 商品マスター照会 '
A DSPATR(RI)
A COLOR(PNK)
A*( 見出しの項目 )
A 2 2' 商品コード '
A STRSHCOD 10A O 2 15TEXT(' 商品コード ')
A*( 明細行の桁見出し )
A 4 2' '
A DSPATR(HI)
A 4 7' 商品コード '
A DSPATR(HI)
A 4 20' 商品名 '
A DSPATR(HI)
A 4 45' 単価 '
A DSPATR(HI)
A 4 56' 品種コード '
A DSPATR(HI)
A R SFREC02 SFL
A TEXT(' SFL明細行 2')
A*%%TS SD 19930612 144015 QUATTRO REL-V3R2M0 5738-PW1
A*------------------------------------------------*
A 20
AO 99 SFLNXTCHG
A GYO2 4A O 16 2TEXT(' ')
A HNSCOD 4A O 16 7TEXT(' 品種コード ')
A HNSNAM 14A O 16 20TEXT(' 品種名 ')
A*------------------------------------------------*
A R SFCTL02 SFLCTL(SFREC02)
A*%%TS SD 20060216 122451 QTR REL-V3R7M0 5716-PW1
A SFLSIZ(0007)
A SFLPAG(0006)
A TEXT(' SFL制御見出 2')
A OVERLAY
A 41 SFLDSPCTL
A 42 SFLDSP
A 43 SFLINZ
A SFLRNA
A 44 SFLCLR
A 45 SFLEND(*MORE)
A 46 SFLDLT
A ROLLUP(14 ' 次頁 ')
A ROLLDOWN(15 ' 前頁 ')
A CF03(03 ' 終了 ')
A CF12(12 ' 前画面 ')
A SETOF(99)
A BLINK
A DMYFLD2 1A O 13 72
A 61 ERRMSGID(EDT0411 QPDA/QEDTM
A 62 ERRMSGID(EDT0410 QPDA/QEDTM
A DSPREC2 4S 0H SFLRCDNBR(CURSOR)
A TEXT('SFL 表示 レコード ')
A 13 27' 品種マスター照会 '
A DSPATR(RI)
A COLOR(PNK)
A 15 2' '
A DSPATR(HI)
A 15 7' 品種コード '
A DSPATR(HI)
A 15 20' 品種名 '
A DSPATR(HI)
A 12 3'
A
A '
A DSPATR(UL)
A*----------------------------------------------------*
A R DSPEND01
A TEXT(' 機能キーの表示 ')
A*----------------------------------------------------*
A OVERLAY
A CF03(03 ' 終了 ')
A 23 2'F3= 終了 '
A COLOR(BLU)
A 23 41'F12= 前画面 '
A COLOR(BLU)
H DFTNAME(PGMID) DATEDIT(*YMD/) F********** 商品マスター照会 ************************************ FDSPSFL2FM CF E WORKSTN F SFILE(SFREC01:RRN1) F SFILE(SFREC02:RRN2) F INFDS(INFDS) FSHOHIN IF E K DISK FHINSHU IF E K DISK F***************************************************************** D DATADS E DS EXTNAME(SHOHIN) D INFDS DS D* TOPRRN: 今表示している ナボ、ホヲbモ の先頭の RRN D TOPRRN 378 379B 0 C*( 初期画面 ) C*----------------------------------------------------+ C START TAG C EXFMT DSPHEAD C*----------------------------------------------------+ C SETOFF 99 C*( CF03 )- 終了 C *IN03 IFEQ *ON C SETON LR C LR RETURN C END C*( 実行キー ) C* : KEYをファイルにセット C*----------------------------------------------------+ C SETKEY KLIST C KFLD SHCODE C*----------------------------------------------------+ C MOVEL STRSHCOD SHCODE C SETKEY SETLL SHOHIN C EXSR SFLCLR C* : ファイルの読み取り C Z-ADD 1 TOPRRN C EXSR READ1 C EXSR READ2 C Z-ADD 1 DSPREC1 C Z-ADD 1 DSPREC2 C*( サブ・ファイルの表示 ) C WRITE DSPEND01 C*----------------------------------------------------+ C DSPLY TAG C SETON 4142 C WRITE SFCTL02 C EXFMT SFCTL01 C SETOFF 4142 C*----------------------------------------------------+ C SETOFF 99 C*( CF03 )- 終了 C *IN03 IFEQ *ON C SETON LR C LR RETURN C END C* C*( CF12 )- 前画面 C *IN12 IFEQ *ON C SETOFF 12 C GOTO START C END C*( 実行キー ) C GOTO DSPLY C* C END TAG C****************************************************** C *INZSR BEGSR C****************************************************** C SETON 45 C ENDSR C****************************************************** C READ1 BEGSR C****************************************************** C 1 DO *HIVAL RRN1 4 0 C SETOFF 50 C READ SHOHIN 50 C*( 終り ) C *IN50 IFEQ *ON C SETON 91 C LEAVE C END C MOVE RRN1 GYO1 C*----------------------------------------------------+ C WRITE SFREC01 C*----------------------------------------------------+ C Z-ADD RRN1 DSPREC1 C END C REDEND1 ENDSR C****************************************************** C READ2 BEGSR C****************************************************** C *LOVAL SETLL HINSHU C 1 DO *HIVAL RRN2 4 0 C SETOFF 50 C READ HINSHU 50 C*( 終り ) C *IN50 IFEQ *ON C SETON 91 C LEAVE C END C MOVE RRN2 GYO2 C*----------------------------------------------------+ C WRITE SFREC02 C*----------------------------------------------------+ C Z-ADD RRN2 DSPREC2 C END C REDEND ENDSR C****************************************************** C SFLCLR BEGSR C****************************************************** C*( サブファイル の クリヤー ) C*----------------------------------------------------+ C SETON 44 C WRITE SFCTL01 C WRITE SFCTL02 C SETOFF 4491 C*----------------------------------------------------+ C ENDSR C****************************************************** C SFLDLT BEGSR C****************************************************** C*( サブファイル の削除 ) C*----------------------------------------------------+ C SETON 46 C WRITE SFCTL01 C WRITE SFCTL02 C SETOFF 46 C*----------------------------------------------------+ C ENDSR