STRING(連結)文は,幾つかのデータ項目の内容の一部又は全部をつなぎ合わせて,一つのデータ項目に移す.
【書き方】
(1) | 定数-1又は定数-2は,語ALLで始まる表意定数であってはならない. |
(2) | 定数は,文字定数又は日本語定数でなければならない.一意名-4以外の一意名の用途は,明に又は暗に表示用と記述されていなければならない. |
(3) | 一意名-3は部分参照してはならない. |
(4) | 一意名-3は,編集データ項目であってはならず,JUSTIFIED句を記述してはならない. |
(5) | 一意名-4は,整数項目でなければならない.また,一意名-4は,一意名-3のデータ項目の文字数に1を加えた値をもつことができなければならず,かつ一意名-4のPICTURE句の文字列中に文字“P”を含んでいてはならない. |
(6) | 一意名-1又は一意名-2が,数字項目の場合,それは整数項目でなければならず,かつそのPICTURE句の文字列中に文字“P”を含んでいてはならない. |
(7) | 一意名-1,一意名-2,一意名-3,定数-1又は定数-2のいずれかの項類が日本語又は日本語編集のとき,これらすべての項類は,日本語又は日本語編集でなければならない. |
(1) | 一意名-1又は定数-1を送出し側とし,一意名-3を受取り側とする. |
||||||
(2) | 定数-2及び一意名-2のデータ項目の内容は,転記の区切り文字を示す.SIZE(文字数)句を指定すると,定数-1又は一意名-1のデータ項目の内容のすべてが転記される.区切り文字として表意定数を使うと,それは1けたの文字定数とみなされる. |
||||||
(3) | 定数-1又は定数-2に表意定数を使うと,それは用途が表示用である暗の1けたのデータ項目とみなされる. |
||||||
(4) | STRING文を実行すると,データは次の規則に従って移される.
|
||||||
(5) | POINTER(文字位置)指定を書く場合,一意名-4のデータ項目の初期値は,STRING文の実行前に利用者が設定しなければならない.初期値は,1以上でなければならない. |
||||||
(6) | POINTER指定を書かないと,一意名-4に初期値として1を入れたものとみなす. |
||||||
(7) | 一意名-3のデータ項目に文字が送られるときの動作は,次による.一意名-4のデータ項目の値が,一意名-3のデータ項目の文字数を超えていなければ,文字は,送出し側から一意名-3のデータ項目中の,一意名-4のデータ項目の値が示す文字位置へ,1文字ずつ送られる.その後,次の文字が送られる前又はSTRING文の実行が終わる前に,一意名-4のデータ項目が1だけ増やされる. STRING文の実行中に,一意名-4のデータ項目の値が変わるのは,この場合だけとする. |
||||||
(8) | STRING文の実行が終わったとき,一意名-3のデータ項目の中でその値が変わるのは,このSTRING文で文字が送られた部分だけとする.一意名-3のデータ項目の他の部分には,このSTRING文の実行前の内容が残っている. |
||||||
(9) | 一意名-3のデータ項目に文字を送る前に,一意名-4のデータ項目の値が,1より小さいか一意名-3のデータ項目の文字数より大きいと,それ以上文字は送られない.このとき,NOT ON OVERFLOW指定が書かれていても無視され,制御は,STRING文の終わり,又はON OVERFLOW指定が書かれていれば無条件文-1に移る.制御が無条件文-1に移った場合,無条件文-1中に指定された各文の規則に従って実行が続けられる.制御の明示移行を起こす手続き分岐文又は条件文が実行されると,その文の規則に従って制御は移る.そうでなければ,無条件文-1の実行を完了し,制御はSTRING文の終わりに移る. |
||||||
(10) | NOT ON OVERFLOW指定付きのSTRING文の実行時に,一般規則(9)の条件があてはまらなかったとき,他の一般規則に従ってデータを移し終わった後で,ON OVERFLOW指定が書かれていても無視され,制御は,STRING文の終わり,又はNOT ON OVERFLOW指定が書かれていれば,無条件文-2に移る.制御が,無条件文-2に移った場合,無条件文-2中に指定された各文の規則に従って実行が続けられる.制御の明示移行を起こす手続き分岐文又は条件文が実行されると,その文の規則に従って制御は移る.そうでなければ,無条件文-2の実行を完了し,制御はSTRING文の終わりに移る. |
||||||
(11) |
END-STRING指定は,STRING文の範囲を区切る. |
||||||
(12) |
一意名-1若しくは一意名-2が一意名-3若しくは一意名-4と同じ記憶領域を占有する場合,又は一意名-3と一意名-4が同じ記憶領域を占有する場合,たとえそれらが同じデータ記述項によって定義されていても,この文の実行結果は規定しない.
|
各送出し側項目(AN-1,AN-2,SPACE,AN-4,AN-5)が受取り側項目(AN-7)に転記される文字位置を以下に示す.
実行前のAN-7の内容: | ||||||||||||
このSTRING文の実行後のAN-7及びED-8の内容を以下に示す. |
実行後のAN-7の内容: | ||
|
実行後のED-8の内容: | ||
|