• 検索結果がありません。

入出力データ情報定義と DDL の対応づけ

ドキュメント内 COBOL2002 XML連携機能ガイド (ページ 94-98)

入出力データ情報定義機能を使用する場合の,DDL の各要素の規則と指定例について説明します。

3.3.1 BaseElement 要素

入出力データ情報定義機能を使用した場合,XML アクセス用データ定義の名称として BaseElement 要素 に対応した 01 レベルの集団項目が生成されます。

集団項目名は,BaseElement 要素の cobName 属性に指定した名称(省略時は elemName 属性)に"-BASE"を追加した名称になります。

(1) 規則

"-BASE"を追加した名称は,一意である必要があります。一意でない名称を指定した場合,COBOL 原始プ ログラムの生成時にエラーとなります。

(2) 指定例

BaseElement 要素に対応した集団項目の下位レベルには,次に示す入出力データ項目と入出力データ項目 に対応する入出力データ情報項目が生成されます。

(DTD の例)

<?xml version="1.0" encoding="Shift_JIS"?>

<!DOCTYPE root [

<!ELEMENT root (item01, item02)>

<!ELEMENT item01 (#PCDATA)>

<!ELEMENT item02 (#PCDATA)>

]>

<root/>

(DDF の例)

<?xml version="1.0" encoding="Shift_JIS"?>

<Interface interfaceName="EXAMPLE">

<BaseElement elemName="root" accessInfo="yes">

<Group elemName="root">

<Item elemName="item01" type="alphanumeric"

size="10" />

<Item elemName="item02" type="alphanumeric"

size="10" />

</Group>

</BaseElement>

</Interface>

(生成される COBOL データ項目)

01 root-BASE.

02 root.

03 item01 PIC X(10).

03 item02 PIC X(10).

* Access Information

02 root-FLG PIC 1(32) USAGE BIT.

02 root-GROUP.

03 item01-FLG PIC 1(32) USAGE BIT.

03 item01-LEN PIC 9(9) USAGE COMP.

03 item02-FLG PIC 1(32) USAGE BIT.

03 item02-LEN PIC 9(9) USAGE COMP.

3.3.2 Group 要素

入出力データ情報定義機能を使用した場合,入出力データ情報項目の名称として Group 要素に対応した集 団項目が生成されます。

集団項目名は,Group 要素の cobName 属性に指定した名称(省略時は elemName 属性)に"-GROUP"を追加した名称になります。

Group 要素に elemName 属性を使って要素を対応づけている場合は,Group 要素に対してアクセス情報 フラグが生成されます。Group 要素に cobName 属性だけを指定している場合は,アクセス情報フラグが 生成されません。

(1) 規則

"-GROUP"を追加した名称は,一意である必要があります。一意でない名称を指定した場合,COBOL 原 始プログラムの生成時にエラーとなります。

(2) 指定例

(DTD の例)

<?xml version="1.0" encoding="Shift_JIS"?>

<!DOCTYPE root [

<!ELEMENT root (group01, group02)>

<!ELEMENT group01 (item01)>

<!ELEMENT item01 (#PCDATA)>

<!ELEMENT group02 (item02)>

<!ELEMENT item02 (#PCDATA)>

]>

<root/>

(DDF の例)

<?xml version="1.0" encoding="Shift_JIS"?>

<Interface interfaceName="EXAMPLE">

<BaseElement elemName="group01" accessInfo="yes">

<Group elemName="group01">

<Item elemName="item01" type="alphanumeric"

size="10" />

</Group>

</BaseElement>

<BaseElement elemName ="group02" accessInfo="yes">

<Group cobName="group02">

<Item elemName="item02" type="alphanumeric"

size="10" />

</Group>

</BaseElement>

</Interface>

(生成される COBOL データ項目)

01 group01-BASE.

02 group01.

03 item01 PIC X(10).

* Access Information

02 group01-FLG PIC 1(32) USAGE BIT. …1.

02 group01-GROUP.

03 item01-FLG PIC 1(32) USAGE BIT.

03 item01-LEN PIC 9(9) USAGE COMP.

01 group02-BASE.

02 group02.

03 item02 PIC X(10).

* Access Information 02 group02-GROUP.

03 item02-FLG PIC 1(32) USAGE BIT.

03 item02-LEN PIC 9(9) USAGE COMP.

(説明)

1. Group 要素のアクセス情報フラグが生成されるのは,elemName 属性を指定した場合だけです。

3.3.3 Item 要素

入出力データ情報定義機能を使用した場合,Item 要素に対応したアクセス情報フラグとデータ長が生成さ れます。

(1) 指定例

(DTD の例)

<?xml version="1.0" encoding="Shift_JIS"?>

<!DOCTYPE root [

<!ELEMENT root (item01)>

<!ELEMENT item01 (#PCDATA)>

]>

<root/>

(DDF の例)

<?xml version="1.0" encoding="Shift_JIS"?>

<Interface interfaceName="EXAMPLE">

<BaseElement elemName="root" accessInfo="yes">

<Item elemName="item01" type="alphanumeric"

size="10" />

</BaseElement>

</Interface>

(生成される COBOL データ項目)

01 root-BASE.

02 item01 PIC X(10).

* Access Information

02 item01-FLG PIC 1(32) USAGE BIT.

02 item01-LEN PIC 9(9) USAGE COMP.

3.3.4 Array 要素

入出力データ情報定義機能を使用した場合,繰り返し項目に対応した繰り返し全要素数と繰り返し入出力数 が生成されます。

繰り返し要素が単一(Item 要素)の場合,Item 要素に対応するアクセス情報フラグとデータ長に OCCURS 句が付けられます。繰り返し要素が集団(Group 要素)の場合は,Group 要素に対応する集団項目に OCCURS 句が付けられます。

(1) 繰り返し要素が単一の場合

(DTD の例)

<?xml version="1.0" encoding="Shift_JIS"?>

<!DOCTYPE root [

<!ELEMENT root (item01*)>

<!ELEMENT item01 (#PCDATA)>

]>

<root/>

(DDF の例)

<?xml version="1.0" encoding="Shift_JIS"?>

<Interface interfaceName="EXAMPLE">

<BaseElement elemName="root" accessInfo="yes">

<Group cobName="root">

<Array max="10">

<Item elemName="item01" type="alphanumeric"

size="10" />

</Array>

</Group>

</BaseElement>

</Interface>

(生成される COBOL データ項目)

01 root-BASE.

02 root.

03 item01 PIC X(10) OCCURS 10.

* Access Information 02 root-GROUP.

03 item01-TOTAL PIC 9(9) USAGE COMP.

03 item01-COUNT PIC 9(9) USAGE COMP.

03 item01-FLG PIC 1(32) USAGE BIT OCCURS 10.

03 item01-LEN PIC 9(9) USAGE COMP OCCURS 10.

(2) 繰り返し要素が集団の場合

(DTD の例)

<?xml version="1.0" encoding="Shift_JIS"?>

<!DOCTYPE root [

<!ELEMENT root (group01*)>

<!ELEMENT group01 (item01, item02)>

<!ELEMENT item01 (#PCDATA)>

<!ELEMENT item02 (#PCDATA)>

]>

<root/>

(DDF の例)

<?xml version="1.0" encoding="Shift_JIS"?>

<Interface interfaceName="EXAMPLE">

<BaseElement elemName="root" accessInfo="yes">

<Group cobName="root">

<Array max="10">

<Group cobName="group1">

<Item elemName="item01" type="alphanumeric"

size="10" />

<Item elemName="item02" type="alphanumeric"

size="10" />

</Group>

</Array>

</Group>

</BaseElement>

</Interface>

(生成される COBOL データ項目)

01 root-BASE.

02 root.

03 group01 OCCURS 10.

04 item01 PIC X(10).

04 item02 PIC X(10).

* Access Information 02 root-GROUP.

03 group01-TOTAL PIC 9(9) USAGE COMP.

03 group01-COUNT PIC 9(9) USAGE COMP.

03 group01-GROUP OCCURS 10.

04 item01-FLG PIC 1(32) USAGE BIT.

04 item01-LEN PIC 9(9) USAGE COMP.

04 item02-FLG PIC 1(32) USAGE BIT.

04 item02-LEN PIC 9(9) USAGE COMP.

ドキュメント内 COBOL2002 XML連携機能ガイド (ページ 94-98)