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

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

7.9.12 @@getdata関数

形 式
@@getdata( 可変記号 [ { ,"リポジトリの言語区分" [,BASIC_ATTR]
| ,,BASIC_ATTR } ] )
[ ]は省略できることを表します。
{ }は項目のどちらか一つを記述することを表します。

機 能
@@interface文で指定した可変記号からデータ項目の定義情報を取得するときに使用します。データ定義ファイルからレコード定義を参照している場合,レコード定義で定義されたデータ項目の情報も取得できます。

規 則
  • @@set文の右辺に指定する。
  • 可変記号には@@interface文でATTR=ITEMを指定した修飾名,またはATTRでデータ定義種別を指定した可変記号を指定できる。
  • リポジトリの言語区分によって,言語別詳細情報の対象言語を選択できる。
  • リポジトリの言語区分はSEWB+/REPOSITORYに登録されている言語区分を文字定数で指定する。省略した場合,@@lang文のFOR_REPOSITORY句の指定に従う。
  • BASIC_ATTRを指定すると,データ項目の基本属性タブ情報の取得ができる。
  • データ項目の定義情報は,@@set文の左辺の可変記号に二次元の配列で設定される。
  • 一次元目の配列はデータ項目ごとに確保され,その要素数は下位のデータ項目を含めた数と同じ。一次元の配列の添字には,数値を指定する。
  • 二次元目の配列は,データ項目の定義情報ごとに確保される。二次元の配列の添字には,キーワードを指定する。
  • 基本属性タブ情報の標準名称,振り仮名,コメント,およびフィールドは,辞書での指定順に三次元の配列として設定される。
  • 三次元の配列の要素には,各定義情報の定義順を数値で指定する。
  • レコード定義ファイルにコピー文(タイプ@)の指定がある場合,下位のレコード定義情報は参照できない。

取得できるデータ項目の定義情報は,データ定義に結合項目が指定されている場合と,レコード定義が指定されている場合で異なります。データ項目の定義情報を以下に示します。

表7-7 データ項目の定義情報(データ定義に結合項目が指定されている場合)

データ項目の定義情報 添字に指定するキーワード
名称 データ項目名 DataItemName
属性 分類 Type1
けた数 Digit23
小数部けた数 FloatDigit23
反復回数 RepeatLevel2
言語別詳細情報 名前 SourceName
タイプ/フリー定義 SourceType4
タイプ修飾情報 TypeModifyInfo
初期値 InitValue
フィールド Field
取りうる値の定義数 AvailableCount 5
取りうる値の記号 AvailableName 6
取りうる値の値 AvailableValue 6
データ項目の結合関係を表す情報 レベル Level7
上位の項目の位置 ParentRow8
基本属性タブ情報 国語別情報の定義数 LangTypeCount9
標準名称 StdName10
振り仮名 Furigana10
コメント Comment10
フィールドの定義数 FieldCount11
フィールド BasicField12

表7-8 データ項目の定義情報(データ定義にレコード定義ファイルが指定されている場合)

データ項目の定義情報 添字に指定するキーワード 辞書参照なし 辞書参照あり
名称 データ項目名 DataItemName
属性 分類 Type※1 ×
けた数 Digit※2※3
小数部けた数 FloatDigit※2※3
反復回数 RepeatLevel※2 ※19
言語別詳細情報 名前 SourceName
タイプ/フリー定義 SourceType※4
タイプ修飾情報 TypeModifyInfo ※19
初期値 InitValue ※19
フィールド Field ×
取りうる値の定義数 AvailableCount ※5 ×
取りうる値の記号 AvailableName ※6 ×
取りうる値の値 AvailableValue ※6 ×
データ項目の結合関係を表す情報 レベル Level※7
上位の項目の位置 ParentRow※8
基本属性タブ情報 国語別情報の定義数 LangTypeCount※9
標準名称 StdName※10
振り仮名 Furigana※10 ×
コメント Comment※10
フィールドの定義数 FieldCount※11 ×
フィールド BasicField※12 ×
レコード定義固有の情報 CHARCTER TYPE CharcterType※13 ※19
CHARCTER TYPE値 CharcterTypeValue ※19
指標名 Index ※19
可変反復回数項目名 RepeatLevelName ※19
可変反復回数最小値 RepeatMini ※19
アドレス名 AddressName ※19
再定義名 RedefineName ※19
EXTERNAL External※14 ※19
SYNC Sync※15 ※19
JUST Just※16 ※19
BLANK ZERO BlankZero※17 ※19
辞書参照 Dict※18 ※19

(凡例)
○:定義情報を取得できる
×:常に0文字の文字列が設定される

SourceType,Level,ParentRow以外はSEWB+/REPOSITORYで定義した値になります。

注※1

Typeの値は,SEWB+/REPOSITORYの属性の分類で選択した値が設定されます。設定値を以下に示します。

注※2

数値を指定する項目の定義情報が未指定の場合,0文字の文字列が設定されます。

注※3

結合データの場合,設定される値は不定です。

注※4

SourceTypeの値は,ルールスクリプト中のキーワード(@TYPE)の値と同じになります。ルールスクリプト中のキーワードについてはマニュアル「SEWB+/REPOSITORY 辞書設計ガイド」を参照してください。

データ項目のタイプが集団項目の場合,SourceTypeの値は0文字の文字列が設定され,タイプ「@コピー文」が指定された場合,SourceTypeの値は”@”が設定されます。

注※5

AvailableCountの値は,AvailableNameとAvailableValueの三次元目の配列要素の数が設定されます。

注※6

AvailableNameとAvailableValueの値は,データ項目辞書で指定された順に三次元目の配列要素として設定されます。

注※7

Levelの値は,可変記号に指定されたデータ項目を1として,結合関係の階層の深さが設定されます。

注※8

ParentRowの値は,上位のデータ項目の配列の位置が設定されます。上位のデータ項目が最上位結合項目の場合は,0が設定されます。

注※9

LangTypeCountの値は,StdName,Furigana,およびCommentの三次元の配列要素の数が設定されます。要素数は,常に4(日本語,英語,未設定1,未設定2)です。

注※10

StdName,Furigana,およびCommentの値は,国語別で指定された順に三次元の配列要素として設定されます。

注※11

FieldCountの値は,BasicFieldの三次元の配列要素の数が設定されます。要素数は,常に20です。

注※12

BasicFieldの値は,データ項目辞書で指定された順(フィールド1~フィールド20)に三次元の配列要素として設定されます。

注※13

レコード定義で選択したCHARCTER TYPEが設定されます。

注※14

レコード定義でEXTERNALが選択されている場合,”EXTERNAL”が設定されます。選択されていない場合,0文字の文字列が設定されます。

注※15

レコード定義でSYNCが選択されている場合,”SYNC”が設定されます。選択されていない場合,0文字の文字列が設定されます。

注※16

レコード定義でJISTが選択されている場合,”JIST”が設定されます。選択されていない場合,0文字の文字列が設定されます。

注※17

レコード定義でBLANK WHEN ZEROが選択されている場合,”BLANK WHEN ZERO”が設定されます。選択されていない場合,0文字の文字列が設定されます。

注※18

辞書参照の場合,「参照」または「構成」が設定されます。辞書を参照していない場合,0文字の文字列が設定されます。

注※19

言語種別がSQLの場合は,常に0文字の文字列が設定されます。


使用例1(BASIC_ATTRオペランド指定なし)
[図データ]

@@getdata関数で取得されるデータ項目の定義情報(言語区分は"COBOL又はOOCOBOL") 1/2

項番 Level DataItemName Type Digit FloatDigit RepeatLevel ParentRow
1 1 社員情報 結合データ   0
2 2 社員番号 英数字文字列データ 15     1
3 2 氏名 結合データ   1
4 3 英数字文字列データ 30     3
5 3 英数字文字列データ 30     3
6 2 入社年 整数データ 4     1
7 2 在職コード 英数字文字列データ 1     1

定義情報の続き 2/2

項番 Source
Name
SourceType TypeModifyInfo InitValue Field AvailableCount AvailableName AvailableValue
1 社員情報_CBL              
2 社員番号_CBL X            
3 氏名_CBL              
4 氏_CBL X            
5 名_CBL X            
6 入社年_CBL 9            
7 在職コード_CBL X       2 在職 SPACE
退職 'A'

表中のキーワードは説明上,付けているものです。また,空欄は,画面上で値が設定されていないことを示します。

注※
結合データのけた数(Digit)小数けた数(FloatDigit)の値は不定です。

テンプレート
[図データ]
[図データ]
●可変記号に最上位結合項目を指定した場合

@@set文
[図データ]

@RECの内容
@RECの値はSEWB+/REPOSITORYでの定義内容が展開されます。

生成ソース
[図データ]
●可変記号に結合項目(氏名)を指定した場合

@@set文
[図データ]

@RECの内容 1/2
項番 Level DataItemName Type Digit FloatDigit RepeatLevel ParentRow
1 1 氏名 結合データ   0
2 2 英数字文字列データ 30     1
3 2 英数字文字列データ 30     1

@RECの内容の続き 2/2

項番 SourceName SourceType TypeModifyInfo InitValue Field
1 氏名_CBL        
2 氏_CBL X      
3 名_CBL X      

表中のキーワードは説明上,付けているものです。また,空欄は,画面上で値が設定されていないことを示します。

注※
結合データのけた数(Digit)小数けた数(FloatDigit)の値は不定です。

生成ソース
[図データ]
●可変記号に単項目(氏)を指定した場合

@@set文
[図データ]

@RECの内容 1/2
Level DataItemName Type Digit FloatDigit RepeatLevel ParentRow
1 英数字文字列データ 30     0

@RECの内容の続き 2/2

SourceName SourceType TypeModifyInfo InitValue Field
氏_CBL X      

表中のキーワードは説明上,付けているものです。また,空欄は,画面上で値が設定されていないことを示します。

生成ソース
[図データ]
●可変記号にレコード定義ファイルを指定した場合

@@set文
[図データ]

@RECの内容
@RECの値はSEWB+/RECORD DEFINERで定義したレコード定義ファイルの内容が展開されます。

レコード定義ファイル
項番 レベル データ項目名 名前 タイプ けた数 少数けた数 EXTERNAL 辞書参照
1 1 社員情報 社員情報_CBL       オン  
2 2 社員番号 社員番号_CBL X 15   オフ 参照
3 2 氏名 氏名_CBL       オフ 参照
4 3 氏_CBL X 30   オフ 構成
5 3 名_CBL X 30   オフ 構成

表中のキーワードは説明上,付けているものです。また,空欄は,画面上で値が設定されていないことを示します。

生成ソース
[図データ]

使用例2(BASIC_ATTRオペランド指定あり)
[図データ]

@@getdata関数で取得されるデータ項目の定義情報(言語区分は"COBOL又はOOCOBOL") 13

項番 Level DataItemName Type Digit FloatDigit RepeatLevel ParentRow
1 1 社員情報 結合データ 1 1   0
2 2 社員番号 英数字文字列データ 15     1
3        

@@getdata関数で取得されるデータ項目の定義情報の続き 2/3

項番 Source
Name
SourceType TypeModifyInfo InitValue Field AvailableCount AvailableName AvailableValue
1 社員情報_CBL              
2 社員番号_CBL X            
3              

@@getdata関数で取得されるデータ項目の定義情報の続き 3/3

項番 LangTypeCount StdName Furigana Comment FieldCount BasicField
1 4 社員情報 シャインジョウホウ※2 社員情報ファイル 20 フィールド01
clerk_data   clerk_data_file フィールド02
      フィールド03
     
フィールド20
2 4 社員番号 シャインバンゴウ※2   20  
       
       
3        

表中のキーワードは説明上,付けているものです。

注※1
結合データのけた数(Digit)小数けた数(FloatDigit)の値は不定です。

注※2
半角で表示されます。

テンプレート
[図データ]
[図データ]
●可変記号に最上位結合項目またはレコード定義ファイルを指定した場合

@@set文
[図データ]

@RECの内容
@RECの値は,SEWB+/REPOSITORYおよびレコード定義での定義内容が展開されます。

生成ソース
[図データ]