システム関数 strLib.getNextToken は、 あるトークンをサブストリングの中で検索し、そのトークンをターゲット項目にコピーします。
トークンとは、区切り文字で区切られたストリングのことです。例えば、スペース (「 」) とコンマ (「,」) の文字が区切り文字として定義されている場合、ストリング 「CALL PROGRAM ARG1,ARG2,ARG3」 は、「CALL」、 「PROGRAM」、「ARG1」、「ARG2」、および 「ARG3」 という 5 つのトークンに分解できます。
後述の例に示されているとおり、sourceSubstringIndex および sourceSubstringLength の値をリセットすることなく、 サブストリング内の各トークンを検索する一連の呼び出しが可能です。
Function myFunction() myVar myStructurePart; myRecord myRecordPart; i = 1; myVar.mySourceSubstringIndex = 1; myVar.mySourceSubstringLength = 29; while (myVar.mySourceSubstringLength > 0) myVar.myResult = strLib.getNextToken( myVar.myTarget[i], "CALL PROGRAM arg1, arg2, arg3", myVar.mySourceSubstringIndex, myVar.mySourceSubstringLength, " ," ); if (myVar.myResult > 0) myRecord.outToken = myVar.myTarget[i]; add myRecord; set myRecord empty; i = i + 1; end end end Record myStructurePart 01 myTarget CHAR(80)[5]; 01 mySource CHAR(80); 01 myResult myBinPart; 01 mySourceSubstringIndex INT; 01 mySourceSubstringLength BIN(9,0); 01 i myBinPart; end Record myRecordPart serialRecord: fileName="Output" end 01 outToken CHAR(80); end
関連する参照項目
EGL ライブラリー StrLib