例
000001 IDENTIFICATION DIVISION. 000002 CLASS-ID. C5243. 000003 ENVIRONMENT DIVISION. 000004 CONFIGURATION SECTION. 000005 REPOSITORY. 000006 CLASS OFFSET AS "System.Runtime.InteropServices.FieldOffsetAttribute". 000007 SPECIAL-NAMES. 000008 CUSTOM-ATTRIBUTE OFFSET-AT 000009 CLASS OFFSET USING 10. 000010 IDENTIFICATION DIVISION. 000011 OBJECT. 000012 PROCEDURE DIVISION. 000013 IDENTIFICATION DIVISION. 000014 METHOD-ID. M5243. 000015 DATA DIVISION. 000016 WORKING-STORAGE SECTION. 000017 01 OBJ USAGE OBJECT REFERENCE C5243 CUSTOM-ATTRIBUTE IS OFFSET-AT. 000018 PROCEDURE DIVISION. 000019 END METHOD M5243. 000020 END OBJECT. 000021 END CLASS C5243.
C5243.cob (17) : JMN5243I-S CUSTOM-ATTRIBUTE句は,見出し部,連絡節のデータ記述項,またはスタティック定義・オブジェクト定義の作業場所節で宣言したCLR型のデータ記述項以外には指定できません.
詳細な説明
CLR型のデータを定義するには,以下の条件をすべて満たさなければなりません.ひとつでも満足しない場合はCOBOL独自型のデータとなります.
作業場所節または連絡節で定義されたデータ項目でなければなりません.(※ただしプログラム定義の連絡節データは,用途がオブジェクト参照であるものを除いて,COBOL独自型です)
01または77レベルの基本項目でなければなりません.
ほかの項目を再定義せず,ほかの項目から再定義されません.
再命名されてはなりません.
EXTERNAL句が指定されていてはなりません.
SQLホスト変数であってはなりません.
データの属性は,以下のいずれかでなければなりません.
OBJECT REFERENCE
BINARY-CHAR UNSIGNED
BINARY-SHORT SIGNED
BINARY-LONG SIGNED
BINARY-DOUBLE SIGNED
S9(4) COMP-5
S9(9) COMP-5
S9(18) COMP-5
COMP-1
COMP-2
PIC N
CHARACTER TYPE句,PRINTING POSITION句が指定されていてはなりません.