オブジェクト定義の構文

この記事には、以下のトピックが含まれています。
casm173
この記事には、以下のトピックが含まれています。
CA SDM のコンポーネントの多くがビジネス オブジェクトで構成されています。 これらのオブジェクトは、Majic というメタ言語で定義されます。 Majic ステートメントを使用すると、オブジェクトを新規に作成したり、既存のオブジェクトを変更したりして、ニーズに合わせてビジネス オブジェクトをカスタマイズできます。
ディレクトリ
Majic ファイルは 2 つのディレクトリに編成されます。
ディレクトリ
説明
bopcfg/majic(UNIX)または bopcfg\majic(Windows)
データベースに定義されているウィンドウを作成するのに使用した .maj ファイルが保存されています。 これらのファイルには変更を加えないでください。これは、変更内容は CA SDM の新しいリリースによって上書きされるためです。
site/mods/majic(UNIX)または site\mods\majic(Windows)
ウィンドウをカスタマイズするのに使用する .mod ファイルが保存されています。
ステートメントのタイプ
スクリーン ペインタおよびデータベース カスタマイズ手順では、以下の Majic ステートメントが使用されます。
構文
説明
OBJECT
ビジネス オブジェクトを定義します。
MODIFY
既存のオブジェクト属性を変更します。
MODIFY FACTORY
既存のファクトリを変更します。
MODIFY ステートメント
OBJECT ステートメントに属性を定義する方法を変更します。 MODIFY ステートメントは OBJECT ステートメントの後で読み取られます。
構文
MODIFY obj_name att_name [status_type;] [ON_NEW DEFAULT|SET value|NOW ;]| [ON_CI DEFAULT|SET value|NOW ;]| [ON_DB_INIT DEFAULT|SET value|NOW ;]
引数
  • obj_name
    属性を変更するオブジェクトを示します。
  • att_name
    変更対象の属性を示します。
  • status_type
    Null 値を許可または禁止するように属性のプロパティを変更します。 このキーワードには有効なオプションが 2 つあります。
    • REQUIRED
      属性が必須であることを示します。
    • NOT_REQUIRED
      属性が必須でないことを示します。
  • ONステートメント
    これらのステートメントについては、ON ステートメントを参照してください。
以下の例では、必須の属性となるように emp オブジェクトの salary 属性を変更します。
MODIFY emp salary REQUIRED;
以下の例では、必須でない属性となるように emp オブジェクトの address2 属性を変更します。
MODIFY emp address2 NOT_REQUIRED;
MODIFY FACTORY ステートメント
OBJECT ステートメントにファクトリを定義する方法を変更します。 MODIFY ステートメントは OBJECT ステートメントの後で読み取られます。
構文
MODIFY FACTORY fac_name { [FUNCTION_GROUP name ;] [DISPLAY_NAME name ;] [STANDARD_LISTS { [SORT_BY index_att ;] [FETCH fetch_att ;] [WHERE string ;] [MLIST ON|OFF;] [RLIST ON|OFF;] } ;] };
引数
  • fac_name
    元の OBJECT ステートメントに含まれている場合はファクトリを示します。
オプションのステートメント
以下のオプションのステートメントのうち、少なくとも 1 つを指定する必要があります。
  • FUNCTION_GROUP
    name
    どのセキュリティ アクセス グループがオブジェクトにアクセスできるかを示します。 以下に例を示します。
    FUNCTION_GROUP "admin" ;
  • DISPLAY_NAME name
    テーブルの外部名を定義します。
    DISPLAY_NAME "Call Request" ;
  • STANDARD_LISTS
    キャッシュに保持されているオブジェクトのリストを作成します。 パラメータによって、リストはマスタ リストか制限付きリストか、リストに掲載するオブジェクトは特定の条件を満たす必要があるかどうか、およびリストをどのように並べ替えることができるかが決まります。 構文については、オプションの STANDARD_LISTS ステートメントを参照してください。
OBJECTステートメント
ビジネス オブジェクトを定義します。
構文
OBJECT obj_name { [ATTRIBUTES [table_name]{ att_name [field_name] value_type [access_type[status_type]] [DISPLAY_NAME string][{ [ON_NEW DEFAULT|SET value|NOW ;] [ON_CI DEFAULT|SET value|NOW ;] [ON_DB_INIT DEFAULT|SET value|NOW ;]} ;]};] [FACTORY [fac_name]{ [REL_ATTR name ;] [COMMON_NAME name ;] [DISPLAY_NAME name ;] [FUNCTION_GROUP name ;] [STANDARD_LISTS { [SORT_BY index_att ;] [FETCH fetch_att ;] [WHERE string ;] [MLIST ON|OFF;] [RLIST ON|OFF;] } ;]};] };
引数
  • obj_name
    オブジェクトの名前(たとえば、連絡先の場合は cnt、リクエストの場合は cr)。
オプションのステートメント
ATTRIBUTES または FACTORY のどちらかを必ず指定してください。 両方を指定することもできます。
  • ATTRIBUTES [
    table_name
    ] { }
    オブジェクトのプロパティを定義します。 ほとんどの属性がデータベース テーブルのフィールド(列)にマップされています。 「オプションの ATTRIBUTES ステートメント」では、その構文について説明します。
  • FACTORY [
    fac_name
    ] { }
    関連する属性、共通名、オブジェクトにアクセスできるセキュリティ グループ、作成される各リストの種類、そのリストの保存方法など、オブジェクトへのアクセスを定義します。 「オプションの FACTORY ステートメント」では、その構文について説明します。
以下の例では、ctp というオブジェクトを定義しています。 ATTRIBUTES ステートメントは、値がデータベースの Contact_Type テーブルに保存される sym、delete_flag、description という属性を定義しています。 FACTORY ステートメントは、オブジェクトのマスタ リストを作成し、各オブジェクトを sym 属性に対応するフィールドの値で並べ替えています。また、ID 属性が SREL で参照されると ctp を表すことを指定しています。
OBJECT ctp { ATTRIBUTES Contact_Type { sym STRING REQUIRED ; delete_flag del INTEGER { ON_NEW DEFAULT 0 ; } ; description desc STRING ; } ; FACTORY { STANDARD_LISTS {SORT_BY "sym"} ; REL_ATTR id ; }; };