Oracle から Cobol 配列にレコードを移動するにはどうすればよいですか? 単一のフィールドを移動すると、すべてが期待どおりに機能します。Oracle VARRAY でレコードを移動しようとすると、機能しません。PRO*COBOL プリコンパイラは、次のエラー メッセージを表示します。
Error at line 137, column 12 in file ESF3.ordbso07.PCO
EXEC SQL EXECUTE
...........1
PCB-S-00576, PLS-382: expression is of wrong type
Error at line 137, column 12 in file ESF3.ordbso07.PCO
EXEC SQL EXECUTE
...........1
PCB-S-00576, PLS-0: Statement ignored
オラクル型:
TYPE QDELSSRD_arr IS VARRAY(30) OF QDELSSRD_typ;
TYPE SODLSSRD_typ IS RECORD ( -- DBSO07 SOK
QDELSSRD QDELSSRD_arr -- 30 x QDELSSRD_typ
OC is SODLSSRD_typ;
TYPE QDELSSRD_typ IS RECORD (
ENAMN arbetssokande.efternamn%type, -- VARCHAR2(30 CHAR)
FNAMN arbetssokande.fornamn%type, -- VARCHAR2(20 CHAR)
);
COBOL ESQL 匿名 PL/SQL ブロックのスニペット:
FOR LV IN 1..:RC-ZHITS
LOOP
:QDELSSRD(LV) := OC.QDELSSRD(LV);
END LOOP;
COBOL 変数宣言:
15 QSODLSSRD.
18 QDELSSRD OCCURS 30.
21 ENAMN PIC X(030).
21 FNAMN PIC X(020).