注意: 9.1 組み込み関数の規則 利用オプション |
この組み込み関数は、入力フォーマット・パターンから文字列を生成して、その文字列を戻します。フォーマット・パターンはテキストおよびフィールド値で構成することができます。編集オプションをフィールド値に適用することもできます。
特記事項:前にコロン (:) が付いたすべての文字はフィールド名として扱われ、()、スペース、コロンのいずれかの文字で終了します。 |
番号 | タイプ | 必須/任意 | 記述 | 最小長 | 最大長 | 最小小数桁数 | 最大小数桁数 | |
|---|---|---|---|---|---|---|---|---|
1 | A | 必須 | フォーマット・パターン パターンの構文とオプションについては、「技術上の注記」を参照してください。 フィールドは、:fieldと指定します。 任意のフォーマット・オプションをフィールドに追加することができます。フィールド名の直後にオプションを追加して、括弧 "()" で囲みます。 (editcode,x):フィールド値に編集コードを適用します (x=有効なLANSA編集コード)。有効な編集コードの一覧については、「標準フィールド編集コード」を参照してください。 (substr,n1,n2):フィールド値にサブストリングを適用します(n1=開始位置、n2=長さ)。 | 1 | 無制限 | |||
2 | A | 任意 | DBCS対応 デフォルト:非対応 YES = DBCS対応にする
| 3 | 3 |
番号 | タイプ | 必須/任意 | 記述 | 最小長 | 最大長 | 最小小数桁数 | 最大小数桁数 |
|---|---|---|---|---|---|---|---|
1 | A | 必須 | フォーマット済み文字列 | 1 | 無制限 | ||
2 | A | 任意 | 戻りコード OK = アクションが完了した | 2 | 2 |
フォーマット・パターンのテキスト部分には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