H DFTNAME(TESTDSP) DATEDIT(*YMD/) BNDDIR('QC2LE') DFTACTGRP(*NO) F********** DSPF のレコード検索 ********************************** F* F***************************************************************** D APIERR DS QUALIFIED D GETBYT 1 4B 0 INZ(160) D AVLBYT 5 8B 0 INZ(0) D MSGID 9 15 D MSGDTA 17 160 D*( QDFRTVFD のプロトタイプ宣言 ) D QDFRTVFD PR EXTPGM('QSYS/QDFRTVFD') D FMTBUF 32727A CONST D FMTLEN 10I 0 CONST D FOTMAT 8A CONST D FILFILLIB 20A CONST D APIERR LIKEDS(APIERR) D OPTIONS(*VARSIZE) *( 作業変数 ) D FMTLEN S 10I 0 INZ(32767) D RECORD S 10A D POS S 10I 0 INZ(217) D SIZE S 10I 0 INZ(16) D N S 4S 0 D ANS S 1A *( FMTBUF FOR DSPF ) D FMTDSP DS 32767 QUALIFIED D RECNUM 11 12B 0 D FILEDS DS QUALIFIED D FILE 1 10 D FILLIB 11 20 C*-------------------------------------------------------------------------+ C *ENTRY PLIST | C PARM FILE_ 10 | ファイル名 C PARM FILLIB_ 10 | ライブラリー名 C*-------------------------------------------------------------------------+ /FREE QDFRTVFD(FMTDSP:FMTLEN:'DSPF0100':FILEDS:APIERR); IF APIERR.AVLBYT > 0; DSPLY (%TRIMR(FILEDS) + ' の誤りです。 ' ) '' ANS; ELSE; POS = 217; FOR N = 1 TO FMTDSP.RECNUM; RECORD = %SUBST(FMTDSP:POS:10); //DSPF レコード様式名 POS = POS + 16; ENDFOR; ENDIF; *INLR = *ON; RETURN; /END-FREE *********************************************************** C *INZSR BEGSR * 初期値セット *********************************************************** /FREE FILEDS.FILE = FILE_; FILEDS.FILLIB = FILLIB_; /END-FREE C ENDSR