注意: 9.1 組み込み関数の規則 利用オプション
この組み込み関数は、入力フォーマット・パターンから文字列を生成して、その文字列を戻します。フォーマット・パターンはテキストおよびフィールド値で構成することができます。編集オプションをフィールド値に適用することもできます。
特記:前にコロン (:) が付いたすべての文字はフィールド名として扱われ、()、スペース、コロンのいずれかの文字で終了します。
引数
|
戻り値
|
技術上の注記
DBCSに関する考慮事項
フォーマット・パターンのテキスト部分にはDBCSまたはDBCS混在の文字列を挿入することができます。ただし、:fieldの指定はシングル・バイト・モードで入力する必要があります。また、テキスト部分は、シフト・アウト/シフト・イン文字を正しく組み合わせて完全な文字列にする必要があります。
デフォルトでは、サブストリング・フォーマット・オプションはDBCS対応ではありません。DBCS対応にするには、2番目の任意指定の引数を'YES'に設定します。開始位置と長さは、バイト数ではなく文字数でカウントされ、シフト・イン/シフト・アウト・バイトはカウントされません。
例
この例では、ファイルから情報を取得して、さまざまな行を標準ブラウズ・リストにフォーマットしています。各種フォーマット・オプションを使ってフィールド値をフォーマットしています。
FUNCTION OPTIONS(*DIRECT)
DEFINE FIELD(#STRING) TYPE(*CHAR) LENGTH(75) COLHDG('Details') INPUT_ATR(LC)
DEFINE FIELD(#PATERN) TYPE(*CHAR) LENGTH(256) INPUT_ATR(LC)
DEF_LIST NAME(#BRWLST) FIELDS((#STRING))
**********
SELECT FIELDS((#EMPNO) (#GIVENAME) (#SURNAME) (#STARTDTE) (#TERMDATE) (#ADDRESS1) (#ADDRESS2) (#ADDRESS3) (#SALARY) (#POSTCODE)) FROM_FILE(PSLMST)
CHANGE FIELD(#PATERN) TO('''EMPLOYEE:: :empno :GIVENAME(substr,1,1 upper).:surname(upper trim)''')
EXECUTE SUBROUTINE(ADDTOBRW)
CHANGE FIELD(#PATERN) TO(''' Start :startdte(editcode ,Y) Salary $:salary(editcode,J)''')
EXECUTE SUBROUTINE(ADDTOBRW)
CHANGE FIELD(#PATERN) TO(''' Address:: :ADDRESS1(trim) :ADDRESS2(TRIM)''')
EXECUTE SUBROUTINE(ADDTOBRW)
CHANGE FIELD(#PATERN) TO(''' :aDDRESS3(trima ll) :postcode(editcode,4)''')
EXECUTE SUBROUTINE(ADDTOBRW)
ENDSELECT
**********
DISPLAY BROWSELIST(#BRWLST)
RETURN
********** -------------------------------------------
SUBROUTINE NAME(ADDTOBRW)
USE BUILTIN(FORMAT_STRING) WITH_ARGS(#PATERN) TO_GET(#STRING)
ADD_ENTRY #BRWLST
ENDROUTINE .