構造体を、以下のように集団項目にマッピングします。
種別 | オブジェクト指向COBOL |
|---|---|
構造体(固定長) | 集団項目 |
構造体(可変長) | 使用できません |
以下のIDLファイルをコンパイルした場合の構造体の使用例を示します。
module ODsample {
struct samplestruct {
long item1;
long item2;
};
interface structtest {
samplestruct op1(in samplestruct param1,
out samplestruct param2,
inout samplestruct param3);
};
}; METHOD-ID. OP1 AS "OP1" OVERRIDE.
* <IDL-INFO-START>
* samplestruct op1(in samplestruct param1,out samplestruct param2,inout samplestruct param3)
* <IDL-INFO-END>
DATA DIVISION.
WORKING-STORAGE SECTION.
LINKAGE SECTION.
01 復帰値 TYPE ODSAMPLE-SAMPLESTRUCT.
01 PARAM1 TYPE ODSAMPLE-SAMPLESTRUCT.
01 PARAM2 TYPE ODSAMPLE-SAMPLESTRUCT.
01 PARAM3 TYPE ODSAMPLE-SAMPLESTRUCT.
PROCEDURE DIVISION
USING
PARAM1
PARAM2
PARAM3
RETURNING 復帰値
.
* IN PARAMETER
* OUT PARAMETER
* INOUT PARAMETER
MOVE ITEM1 OF PARAM1 TO ITEM1 OF PARAM2.
MOVE ITEM2 OF PARAM3 TO ITEM2 OF PARAM2.
MOVE 2 TO ITEM1 OF PARAM3.
MOVE 3 TO ITEM2 OF PARAM3.
* RESULT
MOVE 4 TO ITEM1 OF 復帰値.
MOVE 5 TO ITEM2 OF 復帰値.
END METHOD OP1.