SEWB+/CONSTRUCTION アプリケーション開発ガイド

[目次][用語][索引][前へ][次へ]

7.9.32 @@lang文

形 式
@@lang { COBOL | C | "言語種別" }
[ FOR_REPOSITORY = "リポジトリの言語区分"]
[ EXTENSION = "拡張子"]
[ MODIFY_CONNECT = "連結文字"]
[ MODIFY_ORDER = { DESCEND | ASCEND } ]
[ UOC_BEGIN = "ユーザ追加処理の先頭に挿入する文字列"]
[ UOC_END = "ユーザ追加処理の末尾に挿入する文字列"];
{ }は項目のどれか一つを記述することを表します。
[ ]は省略できることを表します。

機 能
言語種別と言語種別に関連する生成規則を指定します。

規 則
  • @@lang文中では可変記号は使用できない。
  • テンプレート概要定義部の直後に記述しなければならない。
  • テンプレートに1回だけ指定できる。
  • 部品のテンプレートには指定できない。
  • @@lang文がテンプレート概要定義部の直後に指定されないでインタフェース定義部の記述が始まっている場合,COBOLを仮定する。
  • 言語種別は,COBOL,C以外の任意の生成言語種別を指定する。
  • リポジトリの言語区分は,@@getdata関数,@@modify関数,@@rule文でのSEWB+/REPOSITORYアクセス時の言語区分を指定する。
  • FOR_REPOSITORY句を省略した場合,言語種別から仮定する。
    言語種別 FOR_REPOSITORYの言語区分
    指定あり 指定なし
    COBOL 指定値でアクセス COBOL,またはOOCOBOLでアクセス
    C 指定値でアクセス C,またはC++でアクセス
    "言語種別" 指定値でアクセス REPOSITORYアクセスできない
    @@lang文なし(COBOL) 該当しない COBOL,またはOOCOBOLでアクセス
  • 拡張子は,生成ソース出力時の拡張子を"."付きで指定する。
  • EXTENSION句を省略した場合,言語種別,および環境設定に沿った拡張子で出力する。
    言語種別 EXTENSIONの拡張子
    指定あり 指定なし
    COBOL 指定値で出力 ソース正書法に従う(.CBL,または.CBFで出力)
    C 指定値で出力 .Cで出力
    "言語種別" 指定値で出力 拡張子なしで出力
  • 連結文字は,@@modify関数,およびルールスクリプト中の@MODIFYキーワードを生成するときの,修飾情報(データ項目名)の連結文字を指定する。ルールスクリプト中のキーワードについてはマニュアル「SEWB+/REPOSITORY 辞書設計ガイド」を参照してください。
  • MODIFY_CONNECT句を省略した場合は言語種別から連結文字を仮定する。
    言語種別 MODIFY_CONNECTの連結文字
    指定あり 指定なし
    COBOL 指定値で連結 「OF」で連結
    C 指定値で連結 「.」で連結
    "言語種別" 指定値で連結 連結文字を仮定しない
  • MODIFY_ORDER句は,@@modify関数,およびルールスクリプト中の@MODIFYキーワードを生成するときの,修飾情報(データ項目名)の修飾順序を指定する。ルールスクリプト中のキーワードについてはマニュアル「SEWB+/REPOSITORY 辞書設計ガイド」を参照してください。
  • MODIFY_ORDER句を省略した場合は言語種別から修飾順序を仮定する。
    言語種別 MODIFY_ORDERの指定
    指定あり 指定なし
    COBOL 指定値の順序 ASCEND(下位から上位)を仮定
    C 指定値の順序 DESCEND(上位から下位)を仮定
    "言語種別" 指定値の順序 DESCEND(上位から下位)を仮定
  • UOC_BEGINには,ユーザ追加処理の先頭に挿入する文字列を指定する。
  • UOC_ENDには,ユーザ追加処理の末尾に挿入する文字列を指定する。
  • ユーザ追加処理の前後に挿入する文字列には,ユーザ追加処理のブロック名が展開する可変記号「@uocname」を指定できる。
    可変記号「@uocname」はユーザ追加処理中,つまりUOC_BEGINとUOC_ENDに指定する文字列の中でだけ有効な可変記号です。
  • 言語種別がCOBOLで,かつ環境設定のCOBOLソース正書法が固定形式またはホスト向け固定形式の場合,UOC_BEGINとUOC_ENDで指定した文字列の先頭に6文字の空白が追加される。
  • UOCリバース機能を使う場合は,UOC_BEGINとUOC_ENDに次の形式の文字列を指定する必要がある。
 
UOC_BEGIN="UOCの開始を意味する文字列[@可変記号][任意の文字列]"
UOC_END  ="UOCの終了を意味する文字列[@可変記号][任意の文字列]"
 
なお,次のように指定すると,UOCコメントをUOC単位でユニークにできる。この指定を推奨する。
 
UOC_BEGIN="UOCの開始を意味する文字列 @uocname [任意の文字列]"
UOC_END  ="UOCの終了を意味する文字列 @uocname [任意の文字列]"
 
  • @uoc文にSUPPRESSが指定してある場合は,UOC_BEGINとUOC_ENDで指定した文字列は生成されない。したがって,UOCリバース機能を使う場合,@uoc文にSUPPRESSを指定してはならない。

使用例
[図データ]