The code completion fails on packages where:
We have record types defined and in that record type we define a variable of a pl/sql table.
Example:
CREATE OR REPLACE PACKAGE "PCK_TEST" IS
--
TYPE r_lot IS RECORD(
partnr NUMBER
,volgnr NUMBER
,newlot BOOLEAN
,newPartnr BOOLEAN
,targetnewlot BOOLEAN
,targetvolgnr NUMBER);
--
TYPE t_lot IS TABLE OF r_lot INDEX BY VARCHAR2(32767);
--
TYPE r_article IS RECORD(
lknr NUMBER
,artnr NUMBER
,sb_kode NUMBER
,verp VARCHAR2(32767));
--
TYPE r_product IS RECORD(
info VARCHAR2(32767)
,article r_article
,lknr NUMBER
,silonr VARCHAR2(32767)
,tpgoed NUMBER
,soortg NUMBER
,emptysignal BOOLEAN
,silosublocation VARCHAR2(32)
,transftodest NUMBER
,transffromsource NUMBER
,targetsublocation VARCHAR2(32)
,targetlogisticsunit VARCHAR2(32)
,lots t_lot
);
--
TYPE t_product IS TABLE OF r_product INDEX BY VARCHAR2(32767);
--
FUNCTION char_to_date(pa_date_char IN VARCHAR2) RETURN DATE;
--
FUNCTION get_max_lot_id(pa_prod IN r_product) RETURN NUMBER;
END; -- Package spec
When calling PCK_TEST.CHAR_TO_DATE the code completion will not work.
But when commenting the "lots" variable in the r_product type, things work fine.
It seems that PL/SQL Developer has issues with record types that hold a pl/sql table.
We have record types defined and in that record type we define a variable of a pl/sql table.
Example:
CREATE OR REPLACE PACKAGE "PCK_TEST" IS
--
TYPE r_lot IS RECORD(
partnr NUMBER
,volgnr NUMBER
,newlot BOOLEAN
,newPartnr BOOLEAN
,targetnewlot BOOLEAN
,targetvolgnr NUMBER);
--
TYPE t_lot IS TABLE OF r_lot INDEX BY VARCHAR2(32767);
--
TYPE r_article IS RECORD(
lknr NUMBER
,artnr NUMBER
,sb_kode NUMBER
,verp VARCHAR2(32767));
--
TYPE r_product IS RECORD(
info VARCHAR2(32767)
,article r_article
,lknr NUMBER
,silonr VARCHAR2(32767)
,tpgoed NUMBER
,soortg NUMBER
,emptysignal BOOLEAN
,silosublocation VARCHAR2(32)
,transftodest NUMBER
,transffromsource NUMBER
,targetsublocation VARCHAR2(32)
,targetlogisticsunit VARCHAR2(32)
,lots t_lot
);
--
TYPE t_product IS TABLE OF r_product INDEX BY VARCHAR2(32767);
--
FUNCTION char_to_date(pa_date_char IN VARCHAR2) RETURN DATE;
--
FUNCTION get_max_lot_id(pa_prod IN r_product) RETURN NUMBER;
END; -- Package spec
When calling PCK_TEST.CHAR_TO_DATE the code completion will not work.
But when commenting the "lots" variable in the r_product type, things work fine.
It seems that PL/SQL Developer has issues with record types that hold a pl/sql table.