変更の始まり

自由形式の制御ステートメント

自由形式の制御ステートメントは、CTL-OPT で始まり、ゼロ個またはそれ以上のキーワード が続き、セミコロンで終わります。

制御ステートメントの規則

ソース・ファイル内にゼロ個またはそれ以上の制御ステートメントを指定できます。

繰り返すことができない制御仕様キーワードを制御ステートメント内に複数回指定することはできません。

自由形式の制御ステートメントと固定形式の制御ステートメントを混用することができます。連続する固定形式仕様からなる各グループが、1 つの制御ステートメントを形成します。

プログラムのコンパイルに自由形式制御ステートメントが 含まれている場合、ACTGRP、BNDDIR、または STGMDL キーワード があると DFTACTGRP キーワードはデフォルトで *NO になります。

自由形式の制御ステートメントの内部で使用を許可されている指示は、 /IF、/ELSEIF、/ELSE、および /ENDIF のみです。
   CTL-OPT
       /IF DEFINED(*CRTBNDRPG)
               ACTGRP(*CALLER)
       /ENDIF
       OPTION(*SRCSTMT);

制御ステートメントの例

  • 自由形式の 2 つの制御ステートメントがあり、各ステートメントにいくつかのキーワードが指定されています。
       ctl-opt datfmt(*iso) timfmt(*iso)
               alwnull(*usrctl);
    
       ctl-opt option(*srcstmt)ccsid(*char:*jobrun);
  • キーワードがない制御ステートメントが 1 つあります。このステートメントの唯一の効果は、 RPG コンパイラーが制御仕様書データ域を検索するのを防止することです。
       ctl-opt;
  • 自由形式の制御ステートメントと固定形式の制御ステートメントが混用されています。
    1. 3 つの仕様が 1 つの固定形式ステートメントを形成しています。
    2. 1 つの自由形式ステートメントが CTL-OPT で始まり、セミコロンで終わっています。
    3. 1 つの仕様が 1 つの固定形式ステートメントを形成しています。
     H OPTION(*SRCSTMT :              1 
     H        *NODEBUGIO)             1 
     H ACTGRP(*NEW)                   1 
       CTL-OPT ALWNULL(*USRCTL)       2 
               CCSID(*UCS2            2 
                          :1200)      2 
               CCSID(*CHAR:*JOBRUN);  2 
     H DATFMT(*YMD) TIMFMT(*USA)      3 
変更の終わり