H DFTNAME(TESTSCNF) DATEDIT(*YMD/) BNDDIR('QC2LE') F********** SSCANF のテスト ******************************************* F* F********************************************************************** * CRTRPGMOD OBJ(QTEMP/TESTSCNF) SRCFILE(R610SRC/QRPGLESRC) * DBGVIEW(*SOURCE) AUT(*ALL) * CRTPGM PGM(ASNET.COM/AA_SAMPLE) MODULE(QTEMP/TESTSCNF) ACTGRP(*NEW) * AUT(*ALL) *-------------------------------------------------------------------* * 2017/05/01 : 作成 *-------------------------------------------------------------------* D SSCANF PR 10I 0 EXTPROC('ヘヘウアトカ') D BUFF 32767A OPTIONS(*VARSIZE) D FORMAT * VALUE OPTIONS(*STRING) D VAR1 * VALUE OPTIONS(*STRING) D VAR2 * VALUE OPTIONS(*STRING) D VAR3 * VALUE OPTIONS(*STRING) D VAR4 * VALUE OPTIONS(*STRING) D VAR5 * VALUE OPTIONS(*STRING) D DATA C CONST('" 売上 " " 返品 "') D FORMAT C CONST('"%ヘ %ヘ %ヘ %ヘ %ヘ"') D VLR S 10A DIM(5) D PLR S * DIM(5) D VL S 4S 0 D BUFF S 80A *( 作業変数 ) D AR S 1A DIM(256) D N S 4S 0 D NULL C CONST(X'00') C 1 DO 5 N C EVAL PLR(N)= %ADDR(VLR(N)) C ENDDO /FREE BUFF = DATA; SSCANF(BUFF:'%ヘ %ヘ %ヘ %ヘ %ヘ':PLR(1):PLR(2):PLR(3):PLR(4):PLR(5)); /END-FREE *( SSCANF で取得した個数 VL を求める ) C Z-ADD 1 VL C *BLANKS LOOKUP VLR(VL) 50 C *IN50 IFEQ *ON C VL ANDGT 2 C SUB 2 VL C ENDIF * C SETON LR C RETURN