H DFTNAME(PGMID) DATEDIT(*YMD/) F********** 商品マスター照会 ************************************ FSMP006FM CF E SPECIAL PGMNAME(HTMLFILE) F PLIST(HTML) F INFDS(INFDS) FSHOHIN IF E K DISK EXTFILE(SHOHIN_LIB) FHINSHU IF E K DISK EXTFILE(HINSHU_LIB) F***************************************************************** D* /COPY ASNET.USR/QRPGLESRC,PROTOTYPE4 /COPY ASNET.USR/QRPGLESRC,CFKEYS D* -( サブ・ファイルのファイル情報 )- D* D INFDS DS D HTM_FILE *FILE D HTM_RECORD *RECORD D HTM_OPCODE *OPCODE D*( カーソルの行と桁の取り込み ) D LINE 370 371B 0 D* TOPRRN: 今表示しているサブ・ファイルの先頭の RRN D TOPRRN 378 379B 0 D* BRRN : サブ・ファイルのレコードY D BRRN 376 377B 0 D SHOHIN_LIB S 21 INZ('QTRFIL/SHOHIN') D HINSHU_LIB S 21 INZ('QTRFIL/HINSHU') D OPCODE S 10A INZ('READ ') D SFILE DS D 10A INZ('SFREC01 ') D RRN1_P * INZ(%ADDR(RRN1)) D EXFMT_DSPHEAD PR D EXFMT_SFCTL01 PR D CHAIN_SFREC01 PR 1N D RRN 4S 0 Vアツマオ D INFDS_PTR S * INZ(%ADDR(INFDS)) D*( プログラム状況データ構造 ) D INFDSP SDS D PGID 1 10 D PGLB 81 90 D CPFID 43 46 D CPFMSG 91 170 D JOB_NAME 244 253 D PGM_NAME 334 343 C*( 初期画面 ) C*----------------------------------------------------+ C START TAG | C CALLP EXFMT_DSPHEAD | C*----------------------------------------------------+ C SETOFF 99 C*( CF03 )- 終了 C *IN03 IFEQ *ON CF03 C SETON LR C LR RETURN C END CF03 C*( 実行キー ) C*----------------------------------------------------+ C SETKEY KLIST | C KFLD STRCOD | C*----------------------------------------------------+ C MOVE SHCODE STRCOD C SETKEY SETLL SHOHIN C EXSR SFLCLR C*( コンボボックスへの追加 ) C *LOVAL SETLL HINSHU C DO *HIVAL C SETOFF 50 C READ HINSHU 50 C 50 LEAVE C CALLP ADDCOMBO('HINSHU':HNSCOD:HNSNAM) C END C* : ファイルの読み取り C Z-ADD 1 TOPRRN C EXSR READ C Z-ADD 1 DSPREC C*( サブ・ファイルの表示 ) C WRITE DSPEND01 C*----------------------------------------------------+ C DSPLY TAG | C SETON 4142 |SFL-DSPLY C CALLP EXFMT_SFCTL01 | C SETOFF 4142 | C*----------------------------------------------------+ C SETOFF 99 C*( CF03 )- 終了 C *IN03 IFEQ *ON CF03 C SETON LR C LR RETURN C END CF03 C*( CF12 )- 前画面 C *IN12 IFEQ *ON CF12 C SETOFF 12 C MOVE STRCOD SHCODE C GOTO START C END CF12 C*( ROLL UP )- 次ページ C *IN14 IFEQ *ON C EXSR ROLLUP C GOTO DSPLY C END C*( ROLL DOWN )- 前ページ C *IN15 IFEQ *ON C Z-ADD 1 DSPREC C SETON 6299 ERRMSG C GOTO DSPLY C END C*( 実行キー ) C EVAL *IN90 = CHAIN_SFREC01(1) C GOTO DSPLY C* C END TAG C****************************************************** C *INZSR BEGSR C****************************************************** C* 初期サイクルのみの実行 C*( サブファイル END-FLAG を *ON にしておく ) CSR SETON 45 CSR CLEAR SFREC01 CSR MOVE 18 GYOSU 2 0 行数 CSR MOVE 08 STRGYO 2 0 開始行Y C CALLP SETSFLSIZ('SFLCTL01':18:19) CSR ENDSR C****************************************************** C READ BEGSR C****************************************************** CSR MOVE *BLANKS EOF 1 CSR SETOFF 5945 C*( データ・ベースの検索 ) CSR TOPRRN ADD GYOSU ENDRRN 4 0 CSR SUB 1 ENDRRN C* CSR TOPRRN DO ENDRRN RRN1 4 0 READ CSR SETOFF 50 CSR READ SHOHIN 50 C*( 終り ) CSR *IN50 IFEQ *ON EOF CSR MOVE 'E' EOF CSR SETOFF 1129 CSR SETON 45 CSR GOTO REDEND CSR ELSE EOF C*( 行 NO に入れる ) C SETOFF 90 C HNSCOD CHAIN HINSHU 90 C CALLP WRTSFLC('HINSHU': HNSNAM:14) CSR MOVE RRN1 GYO C*( サブ・ファイルへ更新 ) C*----------------------------------------------------+ C WRITE SFREC01 | C*----------------------------------------------------+ CSRN59 Z-ADD RRN1 DSPREC CSRN59 SETON 59 CSR Z-ADD RRN1 LSTRRN 4 0 CSR END EOF CSR END READ CSR REDEND ENDSR C****************************************************** C SFLCLR BEGSR C****************************************************** C*( サブ・ファイルのクリヤー ) C*----------------------------------------------------+ CSR SETON 44 | CSR WRITE SFCTL01 | CSR SETOFF 44 | C*----------------------------------------------------+ CSR ENDSR C****************************************************** C SFLDLT BEGSR C****************************************************** C*( サブ・ファイルの削除 ) C*----------------------------------------------------+ CSR SETON 46 | CSR WRITE SFCTL01 | CSR SETOFF 46 | C*----------------------------------------------------+ CSR ENDSR C****************************************************** C ROLLUP BEGSR C****************************************************** CSR EOF IFEQ 'E' CSR SETON 6199 ERRMSG CSR 99 Z-ADD LSTRRN DSPREC CSR 99 GOTO UPEND CSR END CSR ENDRRN ADD 1 TOPRRN CSR EXSR READ CSR UPEND ENDSR /COPY ASNET.USR/QRPGLESRC,PSSR4 /COPY ASNET.USR/QRPGLESRC,PLIST4 *************************************************************** * EXFMT プロシージャーの定義 * *************************************************************** P EXFMT_DSPHEAD B D EXFMT_DSPHEAD PI C EVAL OPCODE = 'EXFMT ' C WRITE DSPHEAD C RESET OPCODE C READ DSPHEAD RT P EXFMT_DSPHEAD E P EXFMT_SFCTL01 B D EXFMT_SFCTL01 PI C EVAL OPCODE = 'EXFMT ' C WRITE SFCTL01 C RESET OPCODE C READ SFCTL01 RT P EXFMT_SFCTL01 E *************************************************************** * CHAIN プロシージャーの定義 * *************************************************************** P CHAIN_SFREC01 B D CHAIN_SFREC01 PI 1N D RRN 4S 0 Vアツマオ D NOT_CHAIN S 1N INZ(*OFF) C MOVEL 'CHAIN ' OPCODE C EVAL OPCODE = 'CHAIN ' C EVAL RRN1 = RRN C READ SFREC01 RT C IF *INRT = *ON C CLOSE SMP006FM C OPEN SMP006FM C RESET OPCODE C RETURN *ON C ELSE C RESET OPCODE C RETURN *OFF C END P CHAIN_SFREC01 E