次の例では、STRING ステートメントに適用されるいくつかの考慮事項を示します。
データ部で、プログラマーは次のフィールドを定義したものとします。
01 RPT-LINE PICTURE X(120). 01 LINE-POS PICTURE 99. 01 LINE-NO PICTURE 9(5) VALUE 1. 01 DEC-POINT PICTURE X VALUE ".".
また、FILE セクションで、次の入力レコードを定義したものとします。
01 RCD-01. 05 CUST-INFO. 10 CUST-NAME PICTURE X(15). 10 CUST-ADDR PICTURE X(34). 05 BILL-INFO. 10 INV-NO PICTURE X(6). 10 INV-AMT PICTURE $$,$$$.99. 10 AMT-PAID PICTURE $$,$$$.99. 10 DATE-PAID PICTURE X(8). 10 BAL-DUE PICTURE $$,$$$.99. 10 DATE-DUE PICTURE X(8).
プログラマーが、RCD-01 の情報の一部から成る出力行を作成したいとします。 この行は、行番号、顧客の名前と住所、請求書番号、支払期日、および支払金額 (示された円の桁数に切り捨てられた) で構成されます。
読み取られるレコードには次の情報が入っています。
J.B. SMITH
444 SPRING ST., CHICAGO, ILL.
A14275
¥4,736.85
¥2,400.00
09/22/76
¥2,336.85
09/09/94
手続き部で、プログラマーは RPT-LINE を SPACES に初期設定し、LINE-POS (ポインター・フィールドとして使用される) を 4 に設定します。 その後で、次の STRING ステートメントを出します。
STRING LINE-NO SPACE CUST-INFO SPACE INV-NO SPACE DATE-DUE SPACE DELIMITED BY SIZE, BAL-DUE DELIMITED BY DEC-POINT INTO RPT-LINE WITH POINTER LINE-POS.
ステートメントの実行時には、次の処理が行われます。
STRING ステートメントの実行後は、次のようになります。