Capturing packages with type declarations

I have a lot of packages written in ddl files and want capture them with Designer 9i. However it seems not possible because type declarations are put not as Datastructures but as text in Package Specification field and therefore are generated after procedure declarations in package specification. Is there some methods to capture packages correctly?

Hi,
Can you send me an example of your problem so I can investigate it further?
Rgds
Susan
Designer Product Management

Similar Messages

  • Compile error at call Package with type parameter

    Hello!
    I have a problem.
    I have a package PKG_ARRAY_PARAMETER. This package has a procedure with an array parameter.
    PACKAGE PKG_ARRAY_PARAMETER IS
    -- Define Record and Record-Table (array)
    TYPE my_rec is record
    ( v_column1 VARCHAR2(5));
    --Array from my_rec
    TYPE my_rec_table is table of my_rec
    INDEX BY BINARY_INTEGER;
    v_rectable my_rec_table;
    PROCEDURE my_array_proc(p_array my_rec_table);
    END;
    PACKAGE BODY PKG_ARRAY_PARAMETER AS
    PROCEDURE my_array_proc (p_array my_rec_table)IS
    v_index BINARY_INTEGER;
    v_count number;
    BEGIN
    v_count := 1;
    END;
    END;
    The package compiled without errors.
    The problem ist the call of the package procedure.
    DECLARE
         -- Define Record and Record-Table (array)
    TYPE my_rec is record
    ( v_column1 VARCHAR2(5));
    --Array from my_rec
    TYPE my_rec_table is table of my_rec
    INDEX BY BINARY_INTEGER;
    v_rectable my_rec_table;
    BEGIN
         v_rectable(1).v_column1:='aaa';
         PKG_ARRAY_PARAMETER.my_array_proc(v_rectable);
    --null;     
    END;
    I get the error "Error 306.... wrong number or types of arguments in call to 'MY_ARRAY_PROC'"
    Can anybody help me. I have no idea wh I get this error.
    Thanks

    As you have discovered, even if the definitions are identical Oracle treats them as different objects. I recommend "Oracle PL/SQL Programming" by Steven Feuerstein which has a couple of chapters on collections and specifically warns against this.
    I have that section bookmarked as I can never remember how to manipulate collections.

  • Creating PL/SQL Package with all the types

    CREATE OR REPLACE
    TYPE rec_type AS OBJECT (
    first_name VARCHAR2(20),
    last_name VARCHAR2(20)
    CREATE OR REPLACE
    TYPE REC_TYPE_TAB AS TABLE OF rec_type
    I am able to create the above types in oracle and used in PL/SQL packages. And like this I have somany types. I would like to if I can create a package with the types to make the life easier. Could you please tell me how to do it.
    your help is greately appreciated..
    --Krish                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

    sb92075 wrote:
    TYPE add only aggravation, complexity, & should be avoidedI disagree.
    When used correctly types can be the simplest solution.
    For example when passing multiple values to a stored procedure. Avoiding the type in the below example would lead to further complexity and aggravation not lessen it.
    SQL> create or replace procedure p
      2      (
      3      p_object_list in sys.odcivarchar2list,
      4      p_result out sys_refcursor
      5      ) as
      6  begin
      7      open p_result for
      8          select owner, object_name, object_type
      9          from all_objects
    10          where object_name in
    11              (
    12              select column_value from
    13              table(p_object_list)
    14              )
    15          order by
    16              owner, object_name, object_type;
    17  end;
    18  /
    Procedure created.
    SQL> exec p(sys.odcivarchar2list('DUAL','ALL_OBJECTS'),:c)
    PL/SQL procedure successfully completed.
    SQL> print c
    OWNER                          OBJECT_NAME                    OBJECT_TYPE
    PUBLIC                         ALL_OBJECTS                    SYNONYM
    PUBLIC                         DUAL                           SYNONYM
    SYS                            ALL_OBJECTS                    VIEW
    SYS                            DUAL                           TABLE

  • How to use %Type declaration with table residing in a different database

    How can I use the %TYPE declaration if the table is from a different database.
    E.g
    v_business_unit ps_jrnl.header.business_unit%TYPE;
    In the above declaration statement,the table 'ps_jrnl_header' resides in a different database(Database A) from the one I am currently in( Database B).(This is because data needs to be extracted from Database A into Database B).

    1. Create a database link to the other database (this probably already exists since your proc is interacting with that database)
    2. Create a synonym for the table in the other database
    create synonym foo for ps_jrnl.header@database_a;3. Reference the synonym in your variable declaration:
    v_business_unit  foo.business_unit%TYPE;

  • OWB Can't Import Existing Package with Collection Data Type as Arguments

    I created a package and compiled it successfully as the follows:
    +++++++++++++++++++++++++++++
    CREATE OR REPLACE PACKAGE PACKAGE_TEST AS
    TYPE Num_LIST IS TABLE of NUMBER INDEX BY BINARY_INTEGER;
    FUNCTION TEST_FUNCTION1 ( arg1 NUMBER, arg2 NUMBER) RETURN NUMBER;
    FUNCTION TEST_FUNCTION2 ( args NUM_LIST) RETURN NUMBER;
    END PACKAGE_TEST;
    CREATE OR REPLACE PACKAGE BODY PACKAGE_TEST AS
    FUNCTION TEST_FUNCTION1 ( arg1 NUMBER, arg2 NUMBER) RETURN NUMBER IS
    ln_sum NUMBER;
    BEGIN
    ln_sum := arg1 + arg2;
         RETURN ln_sum;     
    EXCEPTION
    WHEN OTHERS THEN
    RETURN -10000;     
    END TEST_FUNCTION1;
    FUNCTION TEST_FUNCTION2 ( args NUM_LIST) RETURN NUMBER IS      
         ln_sum NUMBER;
    BEGIN
    ln_sum :=0;
         FOR i IN 1.. args.COUNT LOOP
         ln_sum := ln_sum + args( i );     
         END LOOP;     
         RETURN ln_sum;     
    EXCEPTION
    WHEN OTHERS THEN
    RETURN -10000;     
    END TEST_FUNCTION2;     
    END PACKAGE_TEST;
    ++++++++++++++++++++++++++++++++++++++++
    Then I tried to import the package into OWB (9.2). The problem came: all the package body and
    the specification of TEST_FUNCTION1 were imported, but the package specification of
    TEST_FUNCTION2 couldn't be imported. The IMPORT FILTER gave an error message:
    "TEST_FUNCTION2: Argument Data type is not supported".
    How to resolve this problem? It is very import for our project, since we have to import some
    packages with user_defined collection data types as arguments.
    Thank you.
    Lushu

    Hi Lushu,
    Unfortunately this is indeed not supported and I would not know how to work around this one. The only way I guess that this would work is to not import it, and then use Expressions to call the function with inputs.
    Jean-Pierre

  • Problem with Packaging Material Type

    Hello all Gurus,
    I have a problem with a packaging material type that I have created copying the standrad Packaging material type LEIH. I created a new packing material type ZPAC - Packaging Material copying LEIH.
    I then created a new material master record using this new material type ZPAC.
    When I am using this material for packing in outbound delivery document - VL01N, I am getting the following strange error message:
    20333 does not have packaging material type and is therefore not a pack.mat.
    Please suggest me why this error is coming and how I can rectify this error. Is there any further configuration that I need to do for packaging material types??? Kindly suggest.
    Thanks and Regards,
    Umakanth.

    Hi,
    Material type is not enough, you have to maintain proper master data as well as config.
    At least please maintain value in MARA-VHART for the packaging material. Please also check these links how HUM works:
    http://www.sap-img.com/sap-hu.htm
    http://help.sap.com/saphelp_crm40/helpdata/en/c8/a44b779f3211d2858d0000e81ddea0/frameset.htm
    Regards,
    Csaba

  • Flex SDK 4 : mx.chart package and declaration of style 'direction' conflicts with previous declaration problem

    Hi There,
    We have recently downloaded SDK 4 and had configured the same for
    developement in flex builder 3, we are already using SDK 3.0. However
    to our surprise there were compile time error reported for mx.chart
    related classes. To resolve this we thought to import relevant .swc
    like datavisualization, automation from sdk 3.0, and it worked and
    resolved compile time error. But we landed up in on more problem that
    is 'Declaration of style 'direction' conflicts with previous
    declaration in E:\Softwares\FlexBuilder\sdks\SDK 4\frameworks\libs
    \datavisualization.swc(mx/charts/GridLines)'.
    If you could pleas help us to resolve these issues and also if you
    could answer these queries would be good
    1) SDK 4 has been declared to be open source, then why mx.chart
    package is not part of it?
    2) Why would 'Declaration of style 'direction' conflicts with previous
    declaration' occur?
    3) What are the other component and packages that are not part of open
    source for which license is still required?
    Waiting for reponse in anticipation.
    Thanks,

    I got this same error with the following setup.
    1. Building a SWC with Flex 4.0 Beta2 on FlashBuilder4
    2. SWC references other SWC that are built with Flex3.
    3. Define a <mx:ColumnChart id="column" ...> in a Flex4 skin.
    4. Got this compiler error. 
    Any idea if this is not supposed to work? I'm hoping I don't need all referenced swcs to be recompiled with Flex4 SDK. Some of those are external dependency that I do not have source code access.
    Thanks for any help.
    kam

  • Create an external HU with different packaging material type

    Hi All,
    Iu2019m trying to create an external handling unit with the material below:
    Packaging material: 2892
    Packaging material type: Z501
    Material Group: Packaging Materials: Z501
    But the system creates de HU with the Packaging material type: 0001 instead Z501.
    My question is.. How can I set the material or HU to take the Packaging material type Z501?
    Thank you for your comments,
    Jaime S.

    My problem has been solved. Regards

  • Document type declaration for root element type "web-app" must end with ' '

    I am attempting to deploy an application (.war file) using the Sun Access Manager Agent installed, (Reference http://docs.sun.com/app/docs/doc/819-3201/6n5eht3k4?a=view -near the bottom) and I get this error:
    Error loading deployment descriptors for ajacs Line 3 Column 19 -- The document type declaration for root element type "web-app" must end with '>'.
    Here is the relavent code:
    <!DOCTYPE web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
    http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
    <web-app>
    <filter>
    <filter-name>Agent</filter-name>
    <filter-class> com.sun.identity.agents.filter.AmAgentFilter </filter-class>
    </filter>
    <filter-mapping>
    <filter-name>Agent</filter-name>
    <url-pattern>/*</url-pattern>
    <dispatcher>REQUEST</dispatcher>
    <dispatcher>INCLUDE</dispatcher>
    <dispatcher>FORWARD</dispatcher>
    <dispatcher>ERROR</dispatcher>
    </filter-mapping>
    <display-name>AJACS</display-name>
    <welcome-file-list>
    <welcome-file>frameSet.jsp</welcome-file>
    </welcome-file-list>
    etc...
    Now, when I remove the parts that http://docs.sun.com/app/docs/doc/819-3201/6n5eht3k4?a=view said to add, it deploys just like it used to deploy- just fine with no errors. However, I add that code and it breaks.
    Note: The code was a straight copy/paste, so if there is any error in the code, it is because it's written incorrectly on the Sun doc website.
    Any help would be MUCH appreciated. Thanks!

    Well, if that was pasted on one line, it would be:
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
    So it's supposed to be that way. I just tried it with the extra quotes, and no dice...

  • Db Adapter: problems by calling a procedure with type as parameter

    Hi,
    We using a db adapter in a bpel process.
    In that dapter we call a procedure with types as in and out parameter
    package.procedure(p_in IN in_t, p_rsult OUT result_t).
    When we calling the procedure, we don't call the procedure directly.
    We call that procedure in a schema who have the execute rigths for the package and the types.
    When we run the process we get the error message
    unable to convert the xsd element p_in whose user defined type is in_t
    cause: java.sql.SQLException: ora-01436 connect by loop in user data
    I am not shore if I draw the right conclusions.
    Is it rigth that bpel have a problem by using types as parameter when using two schematas? Isn't it a bug.
    For every help I was thankful.
    Thanks in advanced.
    Michael

    Hi,
    thanks for the hint. I have implemented a wrapper package and it's working well.
    Only one crux. The parameter of the called procedure are data types and not simple types.
    CREATE OR REPLACE TYPE pesa_db_return_t AS OBJECT
    (SUCCESS_MSG varchar2(255)
    ,FAULT_SQLCODE varchar2(255)
    ,FAULT_SQLMSG varchar2(255)
    Wrapper package...
    IS
    PROCEDURE prc_writeReOinDB (p_AuftragRechnungOnline IN pesa_data.pesa_tivu_reo_t
    ,p_result OUT pesa_data.pesa_db_return_t)
    IS
    BEGIN
    pkg_pesa_reo.prc_writeReOinDB (p_AuftragRechnungOnline => p_AuftragRechnungOnline
    ,p_result => p_result
    END prc_writeReOinDB;
    END pkg_pesa_wrapper;
    So I have to declare the parameter with the schema user in front of.
    Now, we have deployed thes sources on a second enviroment and get following error:
    <2008-04-22 15:01:25,749> <ERROR> <eweber.collaxa.cube.engine.dispatch> <BaseScheduledWorker::process> Failed to handle dispatch message ... exception ORABPEL-05002
    Message handle error.
    An exception occurred while attempting to process the message "com.collaxa.cube.engine.dispatch.message.instance.CallbackDeliveryMessage"; the exception is: Type class not found.
    Cannot find class for type "org.apache.xerces.dom.ElementNSImpl". Please check that the class is located in the classpath.
    You have a hint for me what I have to do?
    Thanks in advanced,
    Michael

  • ORA-04044: procedure, function, package, or type is not allowed here

    Hi,
    I am trying to build an object hierarchy.The object hirarcy is for a multi division, multi department, multi cost center and multi operation Organisation.Multiple department can store into multiple divisions, multiple cost center can store into multiple departments, multiple operations can store into multiple cost centers.
    The structure I try to built like this:
    create type div_obj_new as object
    (id number,
    divdesc varchar2(100)
    create type div_obj_tab as
    table of div_obj_new
    create type dept_obj_new as object
    (id number,
    deptdesc varchar2(100),
    dept_div number
    create type dept_obj_tab as
    table of dept_obj_new
    create type cctr_obj_new as object
    (id number,
    cctrdesc varchar2(100),
    cctr_dept number
    create type cctr_obj_tab as
    table of cctr_obj_new
    create type oper_obj_new as object
    (id number,
    operdesc varchar2(100),
    oper_cctr number
    create type oper_obj_tab as
    table of oper_obj_new
    ==========================
    create type div_obj_type as object
    (divid div_obj_tab)
    NOT FINAL
    create type dept_obj_type under div_obj_type
    (deptid dept_obj_tab)
    NOT FINAL
    create type cctr_obj_type under dept_obj_type
    (cctrid cctr_obj_tab)
    NOT FINAL
    create type oper_obj_type under cctr_obj_type
    (operid oper_obj_tab)
    NOT FINAL
    =======This Table creation is not working=================
    create table organisation
    (div div_obj_type,
    dept dept_obj_type,
    cctr cctr_obj_type,
    oper oper_obj_type)
    nested table div store as division_table
    nested table dept store as department_table
    nested table cctr store as costcntr_table
    nested table oper store as operation_table
    nested table oper store as operation_table
    ERROR at line 9:
    ORA-22912: specified column or attribute is not a nested table type
    =========================================================
    Then I try to insert record into the div_obj_type instead of organisation table as it was not working.
    The insert script is as follows:
    ===================================
    insert into div_obj_type values
    div_obj_tab
    (div_obj_new(01,'Division 01'),
    div_obj_new(02,'Division 02'),
    div_obj_new(03,'Division 03'),
    div_obj_new(04,'Division 04')
    dept_obj_tab
    dept_obj_new(10,'Department 10',1),
    dept_obj_new(11,'Department 11',1),
    dept_obj_new(12,'Department 12',2),
    dept_obj_new(13,'Department 13',3),
    dept_obj_new(14,'Department 14',4),
    dept_obj_new(15,'Department 15',5),
    dept_obj_new(16,'Department 16',6),
    dept_obj_new(17,'Department 17',7)
    cctr_obj_tab
    cctr_obj_new(100,'Cost Center 100',10),
    cctr_obj_new(101,'Cost Center 101',11),
    cctr_obj_new(100,'Cost Center 102',12),
    cctr_obj_new(100,'Cost Center 103',13),
    cctr_obj_new(100,'Cost Center 104',14),
    cctr_obj_new(100,'Cost Center 105',15),
    cctr_obj_new(100,'Cost Center 106',16),
    cctr_obj_new(100,'Cost Center 107',17),
    cctr_obj_new(100,'Cost Center 108',10),
    cctr_obj_new(100,'Cost Center 109',11),
    cctr_obj_new(100,'Cost Center 110',12)
    oper_obj_tab
    oper_obj_new(1000,'Operation 1000',100),
    oper_obj_new(1000,'Operation 1001',101),
    oper_obj_new(1000,'Operation 1002',102),
    oper_obj_new(1000,'Operation 1003',103),
    oper_obj_new(1000,'Operation 1004',104),
    oper_obj_new(1000,'Operation 1005',105),
    oper_obj_new(1000,'Operation 1006',106),
    oper_obj_new(1000,'Operation 1007',107),
    oper_obj_new(1000,'Operation 1008',108),
    oper_obj_new(1000,'Operation 1009',109),
    oper_obj_new(1000,'Operation 1010',110),
    oper_obj_new(1000,'Operation 1011',101),
    oper_obj_new(1000,'Operation 1012',102),
    oper_obj_new(1000,'Operation 1013',103),
    oper_obj_new(1000,'Operation 1014',104),
    oper_obj_new(1000,'Operation 1015',105),
    oper_obj_new(1000,'Operation 1016',106),
    oper_obj_new(1000,'Operation 1017',107),
    oper_obj_new(1000,'Operation 1018',108)
    insert into div_obj_type values
    ERROR at line 1:
    ORA-04044: procedure, function, package, or type is not allowed here
    Actually I want to create an object view or object table with all the details of division, department , cost center and operation and it will store depending upon the respective upper level hirarcy 's id.For eg. department details can be fetched through division id etc..
    So I can't figure out what to do for this kind of structure and how to do that.
    I am running Oracle Release 2 (9.2.0.1.0) for Windows 2000.
    Any help , advice or suggestions will be appreciated.
    Thanks & Regards
    Nihar

    Hi Cameron,
    Thanks for your great suggestion.Actually what you have suggested is correct and it was tested by me correctly.But actually I want to store records in the multiple objects hirarcy depending upon the respective upper level hirarcy 's id.For say how can I retrive all records related to divisionID which is in the top level hirarchy? So by selecting divisionID=01, how can I easily select all depts,cost centers and Operation details?
    Again I have another problem , when try to retrive record using PL/SQL I got some problem.
    Structure as created above.Again I am giving here.
    create type div_obj_new as object
    (id number,
    divdesc varchar2(100)
    create type div_obj_tab as
    table of div_obj_new
    create type dept_obj_new as object
    (id number,
    deptdesc varchar2(100),
    dept_div number
    create type dept_obj_tab as
    table of dept_obj_new
    create type cctr_obj_new as object
    (id number,
    cctrdesc varchar2(100),
    cctr_dept number
    create type cctr_obj_tab as
    table of cctr_obj_new
    create type oper_obj_new as object
    (id number,
    operdesc varchar2(100),
    oper_cctr number
    create type oper_obj_tab as
    table of oper_obj_new
    create table organisation
    (div div_obj_tab,
    dept dept_obj_tab,
    cctr cctr_obj_tab,
    oper oper_obj_tab)
    nested table div store as division_table
    nested table dept store as department_table
    nested table cctr store as costcntr_table
    nested table oper store as operation_table
    insert into organisation values
    div_obj_tab
    (div_obj_new(01,'Division 01'),
    div_obj_new(02,'Division 02'),
    div_obj_new(03,'Division 03'),
    div_obj_new(04,'Division 04')
    dept_obj_tab
    dept_obj_new(10,'Department 10',1),
    dept_obj_new(11,'Department 11',1),
    dept_obj_new(12,'Department 12',2),
    dept_obj_new(13,'Department 13',3),
    dept_obj_new(14,'Department 14',4),
    dept_obj_new(15,'Department 15',5),
    dept_obj_new(16,'Department 16',6),
    dept_obj_new(17,'Department 17',7)
    cctr_obj_tab
    cctr_obj_new(100,'Cost Center 100',10),
    cctr_obj_new(101,'Cost Center 101',11),
    cctr_obj_new(100,'Cost Center 102',12),
    cctr_obj_new(100,'Cost Center 103',13),
    cctr_obj_new(100,'Cost Center 104',14),
    cctr_obj_new(100,'Cost Center 105',15),
    cctr_obj_new(100,'Cost Center 106',16),
    cctr_obj_new(100,'Cost Center 107',17),
    cctr_obj_new(100,'Cost Center 108',10),
    cctr_obj_new(100,'Cost Center 109',11),
    cctr_obj_new(100,'Cost Center 110',12)
    oper_obj_tab
    oper_obj_new(1000,'Operation 1000',100),
    oper_obj_new(1000,'Operation 1001',101),
    oper_obj_new(1000,'Operation 1002',102),
    oper_obj_new(1000,'Operation 1003',103),
    oper_obj_new(1000,'Operation 1004',104),
    oper_obj_new(1000,'Operation 1005',105),
    oper_obj_new(1000,'Operation 1006',106),
    oper_obj_new(1000,'Operation 1007',107),
    oper_obj_new(1000,'Operation 1008',108),
    oper_obj_new(1000,'Operation 1009',109),
    oper_obj_new(1000,'Operation 1010',110),
    oper_obj_new(1000,'Operation 1011',101),
    oper_obj_new(1000,'Operation 1012',102),
    oper_obj_new(1000,'Operation 1013',103),
    oper_obj_new(1000,'Operation 1014',104),
    oper_obj_new(1000,'Operation 1015',105),
    oper_obj_new(1000,'Operation 1016',106),
    oper_obj_new(1000,'Operation 1017',107),
    oper_obj_new(1000,'Operation 1018',108)
    ===============
    declare
    div number;
    divdesc varchar2(100);
    divdetails varchar2(100);
    dept number;
    deptdesc varchar2(100);
    deptdetails varchar2(100);
    cctr number;
    cctrdesc varchar2(100);
    cctrdetails varchar2(100);
    oper number;
    operdesc varchar2(100);
    operdetails varchar2(100);
    cursor c_div is
    select d.id , d.divdesc from table(select div from organisation) d
    where d.id=1;
    --union
    cursor c_dept is
    select dp.id , dp.deptdesc "Dept Details" from table(select dept from organisation) dp
    where dp.dept_div=1;
    --union
    cursor c_cctr is
    select cc.id , cc.cctrdesc "Cctr Details" from table(select cctr from organisation ) cc
    where cc.cctr_dept=10;
    --union
    cursor c_oper is
    select op.id , op.operdesc "Oper Details" from table(select oper from organisation) op
    where op.oper_cctr=100;
    TYPE oper_type IS RECORD
    (oper_no NUMBER,
    oper_desc VARCHAR(50));
    TYPE cctr_type IS RECORD
    (cctr_no NUMBER,
    cctr_desc VARCHAR(50),
         oper_detl oper_type);
    TYPE dept_type IS RECORD
    (dept_no NUMBER,
    dept_desc VARCHAR(50),
         cctr_detl cctr_type);
    TYPE div_type IS RECORD
    (div_no NUMBER,
    div_desc VARCHAR2(50),
    dept_detl dept_type);
         division_rec div_type;
    begin
    for i_div in c_div%rowcount
         loop
         exit when c_div%notfound;
         division_rec.div_no:=i_div.id;
         division_rec.div_desc:=i_div.divdesc;
         dbms_output.put_line('Division details = ' || division_rec.div_no || division_rec.div_desc);
    --end loop;
    for i_dept in c_dept%rowcount
         loop
         exit when c_dept%notfound;
         select dp.id , dp.deptdesc ,
         into
         division_rec.dept_detl.dept_no, division_rec.dept_detl.dept_desc
         from
         table(select dept from organisation) dp
         where dp.dept_div=division_rec.div_no;
    -- division_rec.dept_detl.dept_no:=c_dept.id;
    -- division_rec.dept_detl.dept_desc:=c_dept.deptdesc;
         dbms_output.put_line('Department details = ' || division_rec.dept_detl.dept_no ||      
    division_rec.dept_detl.dept_desc);
    --end loop;
         for i_cctr in c_cctr
              loop
              exit when c_cctr%notfound;
              select cc.id , cc.cctrdesc
              into
              division_rec.dept_detl.cctr_detl.cctr_no ,           
    division_rec.dept==_detl.cctr_detl.cctr_desc
              from
              table(select cctr from organisation ) cc
              where cc.cctr_dept=division_rec.dept_detl.dept_no;
    -- division_rec.dept_detl.cctr_detl.cctr_no:=c_cctr.id;
    -- division_rec.dept_detl.cctr_detl.cctr_desc:=c_cctr.cctrdesc;
         dbms_output.put_line('Cost Center details = ' || division_rec.dept_detl.cctr_detl.cctr_no ||
         division_rec.dept_detl.cctr_detl.cctr_desc);
    --end loop;
              for i_oper in c_oper%rowcount
                   loop
                   exit when c_oper%notfound;
              select op.id , op.operdesc
              into
              division_rec.dept_detl.cctr_detl.oper_detl.oper_no,           
    division_rec.dept_detl.cctr_detl.oper_detal.oper_desc
              from
              table(select oper from organisation) op
              where op.oper_cctr=division_rec.dept_detl.cctr_detl.cctr_no;
    -- division_rec.dept_detl.cctr_detl.oper_detl.oper_no:=c_oper.id;
    -- division_rec.dept_detl.cctr_detl.oper_detal.oper_desc:=c_oper.operdesc;
         dbms_output.put_line('Operation details = ' ||
    division_rec.dept_detl.cctr_detl.oper_detl.oper_no ||
    division_rec.dept_detl.cctr_detl.oper_detal.oper_desc);
    end loop;
    end loop;
    end loop;
    end loop;
    end;
    for i_div in c_div%rowcount
    ERROR at line 46:
    ORA-06550: line 46, column 14:
    PLS-00999: implementation restriction (may be temporary)
    ORA-06550: line 46, column 1:
    PL/SQL: Statement ignored
    New version of PL/SQL bloc
    ==============================
    declare
    div number;
    divdesc varchar2(100);
    divdetails varchar2(100);
    dept number;
    deptdesc varchar2(100);
    deptdetails varchar2(100);
    cctr number;
    cctrdesc varchar2(100);
    cctrdetails varchar2(100);
    oper number;
    operdesc varchar2(100);
    operdetails varchar2(100);
    cnt_div number;
    cnt_dept number;
    cnt_cctr number;
    cnt_oper number;
    cursor c_div is
    select d.id , d.divdesc from table(select div from organisation) d
    where d.id=1;
    --union
    cursor c_dept is
    select dp.id , dp.deptdesc from table(select dept from organisation) dp
    where dp.dept_div=1;
    --union
    cursor c_cctr is
    select cc.id , cc.cctrdesc from table(select cctr from organisation ) cc
    where cc.cctr_dept=10;
    --union
    cursor c_oper is
    select op.id , op.operdesc from table(select oper from organisation) op
    where op.oper_cctr=100;
    TYPE oper_type IS RECORD
    (oper_no NUMBER,
    oper_desc VARCHAR(50));
    TYPE cctr_type IS RECORD
    (cctr_no NUMBER,
    cctr_desc VARCHAR(50),
         oper_detl oper_type);
    TYPE dept_type IS RECORD
    (dept_no NUMBER,
    dept_desc VARCHAR(50),
         cctr_detl cctr_type);
    TYPE div_type IS RECORD
    (div_no NUMBER,
    div_desc VARCHAR2(50),
    dept_detl dept_type);
         division_rec div_type;
    begin
    /*select count(*) into cnt_div from table(select div from organisation) d
    where d.id=1;*/
    for i_div in c_div
         loop
         exit when c_div%notfound;
         division_rec.div_no:=i_div.id;
         division_rec.div_desc:=i_div.divdesc;
         dbms_output.put_line('Division details = ' || division_rec.div_no || division_rec.div_desc);
    --end loop;
    /*select count(*) into cnt_dept from table(select dept from organisation) dp
    where dp.dept_div=i_div.id;*/
    for i_dept in c_dept
         loop
         exit when c_dept%notfound;
         select dp.id , dp.deptdesc
         into
         division_rec.dept_detl.dept_no, division_rec.dept_detl.dept_desc
         from
         table(select dept from organisation) dp
         where dp.dept_div=division_rec.div_no;
    -- division_rec.dept_detl.dept_no:=c_dept.id;
    -- division_rec.dept_detl.dept_desc:=c_dept.deptdesc;
         dbms_output.put_line('Department details = ' || division_rec.dept_detl.dept_no ||      division_rec.dept_detl.dept_desc);
    --end loop;
    /*select count(*) into cnt_cctr from table(select cctr from organisation ) cc
    where cc.cctr_dept=division_rec.dept_detl.dept_no;*/
         for i_cctr in c_cctr
              loop
              exit when c_cctr%notfound;
              select cc.id , cc.cctrdesc
              into
              division_rec.dept_detl.cctr_detl.cctr_no ,           division_rec.dept_detl.cctr_detl.cctr_desc
              from
              table(select cctr from organisation ) cc
              where cc.cctr_dept=division_rec.dept_detl.dept_no;
    -- division_rec.dept_detl.cctr_detl.cctr_no:=c_cctr.id;
    -- division_rec.dept_detl.cctr_detl.cctr_desc:=c_cctr.cctrdesc;
         dbms_output.put_line('Cost Center details = ' || division_rec.dept_detl.cctr_detl.cctr_no ||      division_rec.dept_detl.cctr_detl.cctr_desc);
    --end loop;
    /*select count(*) into c_oper from table(select oper from organisation) op
    where op.oper_cctr=division_rec.dept_detl.cctr_detl.cctr_no;*/
              for i_oper in c_oper
                   loop
                   exit when c_oper%notfound;
              select op.id , op.operdesc
              into
              division_rec.dept_detl.cctr_detl.oper_detl.oper_no,           division_rec.dept_detl.cctr_detl.oper_detl.oper_desc
              from
              table(select oper from organisation) op
              where op.oper_cctr=division_rec.dept_detl.cctr_detl.cctr_no;
    -- division_rec.dept_detl.cctr_detl.oper_detl.oper_no:=c_oper.id;
    -- division_rec.dept_detl.cctr_detl.oper_detl.oper_desc:=c_oper.operdesc;
         dbms_output.put_line('Operation details = ' || division_rec.dept_detl.cctr_detl.oper_detl.oper_no || division_rec.dept_detl.cctr_detl.oper_detl.oper_desc);
    end loop;
    end loop;
    end loop;
    end loop;
    end;
    declare
    ERROR at line 1:
    ORA-01422: exact fetch returns more than requested number of rows
    ORA-06512: at line 64
    I hope you might have the solutions.
    Thanks & Regards
    Nihar

  • Package and type declaratrion in 10g

    Hi forum,
    1) Any difference is threre in ora 10g for declaration of plsql types'
    Eg : type temp_x_tab is a table of x%rowtype index by binary integer;
    here x is a pre-defined table in schema.
    Is thr anything wronmg with this declaration in 10g?
    2) Similarly package declration and specification has got any diference in 10g ,compared to previous releases of oracle?
    Thanks,
    Aneesh

    The docs are at http://tahiti.oracle.com

  • Correct use of Type declaration?

    Hello,
    I have a type declaration in a package like so:
    type get_rec_type
    IS
      record
      ( upl_id    table_name.id%TYPE
      , doc_id    table_name.eff_from%TYPE
        );I have refered to this type in my procedure declaration like so:
    PROCEDURE bulk_upload_prc
    ( p_rec OUT get_rec_type
    );Is this correct?
    The reason I ask is because I am getting the following error.
    ERROR at line 1:
    ORA-06550: line 1, column 7:
    PLS-00306: wrong number or types of arguments in call to 'BULK_UPLOAD_PRC'
    ORA-06550: line 1, column 7:
    PL/SQL: Statement ignoredThank You
    Ben
    Edited by: Benton on Nov 3, 2010 12:01 PM

    Hi Toon,
    I am attempting to run it by doing the following:
    EXEC schemName.new_bulk_upload_pkg.bulk_upload_prc;And I am not supplying it any variables, because it should be getting them from the cursor that I have opened.
    and here is the cursor
    CURSOR c_get_rec_type RETURN get_rec_type;This is the package so far, I hope I am not giving you too much information ...
    SPECIFICATION
    CREATE OR REPLACE
    PACKAGE NEW_BULK_UPLOAD_PKG
    AS 
    -- DECLARE TYPES
    type get_fbt_bulk_upload_rec_type
    IS
      record
      ( upl_id    tableName.upl_id%TYPE
      , doc_id    tableName.doc_id%TYPE
      , atr_id    tableName.atr_id%TYPE
      , reference tableName.reference%TYPE
      , filename  tableName.filename%TYPE
      , mime_type tableName.mime_type%TYPE
      , eff_from  tableName.eff_from%TYPE
      , eff_to    tableName.eff_to%TYPE
      , title     tableName.title%TYPE
      , comments  tableName.comments%TYPE
    -- DECLARE CURSORS
    CURSOR c_get_fbt_bulk_upload_rec_type RETURN get_fbt_bulk_upload_rec_type;
    PROCEDURE bulk_upload_prc
    ( p_rec     OUT get_fbt_bulk_upload_rec_type
    , p_blob    OUT BLOB
    , p_srcfile OUT BFILE
    , p_max_rec OUT NUMBER
    END NEW_BULK_UPLOAD_PKG;BODY
    CREATE OR REPLACE
    PACKAGE BODY NEW_BULK_UPLOAD_PKG
    AS
      CURSOR c_get_rec_type
        RETURN get_rec_type
      IS
         SELECT upl_id
              , doc_id
              , atr_id
              , reference
              , filename
              , mime_type
              , eff_from
              , eff_to
              , title
              , comments
           FROM schemaName.tableName
          WHERE status = 'NOT LOADED';    
    -- Bulk upload procedure.
    PROCEDURE bulk_upload_prc
        p_rec     OUT get_rec_type ,
        p_blob    OUT BLOB ,
        p_srcfile OUT BFILE ,
        p_max_rec OUT NUMBER
    IS
    BEGIN
        LOOP
          FETCH c_get_rec_type INTO p_rec;
          EXIT WHEN c_get_rec_type%NOTFOUND;
          DBMS_LOB.CreateTemporary(p_blob, TRUE);
          DBMS_LOB.Open(p_blob, dbms_lob.Lob_ReadWrite);
          p_srcfile := Bfilename('UPLOAD_DIR', p_rec.filename);
          DBMS_LOB.FileOpen (p_srcfile, dbms_lob.File_ReadOnly);
          DBMS_LOB.LoadFromFile(p_blob, p_srcfile, DBMS_LOB.GetLength(p_srcfile));
           INSERT
             INTO dev_fbt_doc
              filename ,
              mime_type,
              blob_content
            VALUES
              p_rec.filename ,
              p_rec.mime_type,
              EMPTY_BLOB()
    -- Remark required
            UPDATE schemaName.TableNameB
               SET blob_content = p_blob
             WHERE filename
              LIKE p_rec.filename;
    -- Get the DOC_ID of the record that was just inserted into TableNameB.
            EXECUTE IMMEDIATE 'SELECT MAX(doc_id) FROM schemaName.TableNameB'
            INTO p_max_rec;
    -- Update the column named STATUS with the text UPLOADED to distinguish it from
    -- those records that have not been uploaded (NOT LOADED).
            UPDATE schemaName.tableName
               SET status = 'UPLOADED'
             WHERE upl_id = p_rec.upl_id;
    -- Update the column named DOC_ID to record the assigned DOC_ID for the record
    -- that was uploaded.
            UPDATE schemaName.tableName
               SET doc_id = p_max_rec
             WHERE upl_id = p_rec.upl_id;
       DBMS_LOB.FileClose(p_srcfile);
       COMMIT;
        END LOOP;
      END bulk_upload_prc;
    END NEW_BULK_UPLOAD_PKG;Thank You
    Ben
    Edited by: Benton on Nov 3, 2010 1:24 PM

  • Can we use dbms_output.put_line package with forall statement

    Hello Everybody
    Can we use dbms_output.put_line package with forall or can we use insert,update and delete only
    declare
    type emp_rec is table of emp%rowtype
    index by binary_integer;
    t emp_rec;
    begin
    select * bulk collect into t from emp;
    forall i in t.first..t.last
    dbms_output.put_line(t(i).name);
    end;Thanks & Regards
    peeyush
    Edited by: Peeyush on Nov 25, 2010 11:45 PM

    MichaelS wrote:
    Well as the docs explain (though not very clear and detailed, I admit) you can use a dynamic sql statement (execute immediate) with FORALL.You got me interested in the performance side doing this Michael - running PL/SQL code via a FORALL loop.
    It is faster than using a normal FOR loop to execute dynamic PL/SQL - a bit surprising as I expected another context switch to be in there. But seems like the PL/SQL engine is a more clever at optimisation than what I originally credited it with.. ;-)
    Of course - pre-compiled/static PL/SQL code in a FOR loop is the fastest, as expected.
    SQL> declare
      2          type TNumbers is table of number;
      3 
      4          type TTimes is record(
      5                  for_all number,
      6                  for_dynamic number,
      7                  for_static number
      8          );
      9 
    10          type TTimesTable is table of TTimes;
    11 
    12          MAX_ITERATIONS  constant number := 10;
    13 
    14          plBlock         varchar2(1000) :=
    15          'declare i number;
    16          begin i:= :var / 10; end;';
    17 
    18          performance     TTimesTable;
    19          t1              number;
    20          bindVar         TNumbers;
    21          n               number;
    22  begin
    23          select
    24                  level bulk collect into bindVar
    25          from    dual
    26          connect by level <= 10000;
    27 
    28          dbms_output.put_line( 'Iterations: '||bindVar.Count||' for loop cycle(s)' );
    29 
    30          performance := new TTimesTable();
    31          performance.Extend( MAX_ITERATIONS );
    32 
    33          for j in 1..MAX_ITERATIONS
    34          loop
    35                  t1 := dbms_utility.get_time;
    36                  forall i in 1..bindVar.Count
    37                          execute immediate plBlock using bindVar(i);
    38                  performance(j).for_all := dbms_utility.get_time-t1;
    39 
    40                  t1 := dbms_utility.get_time;
    41                  for i in 1..bindVar.Count
    42                  loop
    43                          execute immediate plBlock using bindVar(i);
    44                  end loop;
    45                  performance(j).for_dynamic := dbms_utility.get_time-t1;
    46 
    47                  t1 := dbms_utility.get_time;
    48                  for i in 1..bindVar.Count
    49                  loop
    50                          n := bindVar(i) / 10;
    51                  end loop;
    52                  performance(j).for_static := dbms_utility.get_time-t1;
    53          end loop;
    54 
    55          dbms_output.put_line( 'Times in 100th of a second' );
    56          dbms_output.put_line( rpad('for all',15) || rpad('for dynamic',15) || rpad('for static',15) );
    57          for i in 1..performance.Count
    58          loop
    59                  dbms_output.put_line(
    60                          rpad( performance(i).for_all, 15 )||' '||
    61                          rpad( performance(i).for_dynamic, 15 )||' '||
    62                          rpad( performance(i).for_static, 15)
    63                  );
    64          end loop;
    65 
    66  end;
    67  /
    Iterations: 10000 for loop cycle(s)
    Times in 100th of a second
    for all        for dynamic    for static
    10              72              0
    6               37              0
    6               37              0
    6               37              0
    6               36              0
    6               37              1
    5               37              0
    5               37              0
    6               37              1
    5               37              0
    PL/SQL procedure successfully completed.
    SQL>

  • Safari 5.1.4 update breaks SoftwareUpdate on 10.6.8 server IFJS_PropertyListConvertToType() called with type=3

    New 10.6 server machine.  (Actually 3 of them.)  If we install every update offered in Software Update except safari 5.1.4 and machine is fine.  Once the safari update is taken and the machine reboots, Software Update crashes a bit after launch.  When running softwareupdate -l on the command line, the error is
    Software Update Tool
    Copyright 2002-2009 Apple
    2012-03-14 14:25:19.763 softwareupdate[1631:4f0b] IFJS_PropertyListConvertToType() called with type=3
    Segmentation fault
    Anybody else seeing this?

    The same here on two xserves!
    Running SoftwarUpdate from the GUI!
    Console says:
    Software Update[24700]
    Package Authoring: my.result.title and my.result.message not defined or empty
    Software Update[24700]
    IFJS_PropertyListConvertToType() called with type=3
    com.apple.launchd[1]
    (com.apple.suhelperd[24702]) Exited with exit code: 2
    com.apple.launchd.peruser.501[24141]
    ([0x0-0x4b04b].com.apple.SoftwareUpdate[24700]) Job appears to have crashed: Segmentation fault
    I also get a message like this from ServerAdmin every minute in console:
    servermgr_info: unexpected Software Update state: crashed
    The crashreport says:
    Thread 7 Crashed:  Dispatch queue: com.apple.root.default-priority
    0   com.apple.JavaScriptCore                0x00007fff8795eff1 JSC::JSObject::defaultValue(JSC::JSObject const*, JSC::ExecState*, JSC::PreferredPrimitiveType) + 3921
    1   com.apple.JavaScriptCore                0x00007fff8794fd6a JSC::JSCell::toPrimitive(JSC::ExecState*, JSC::PreferredPrimitiveType) const + 42
    2   com.apple.JavaScriptCore                0x00007fff8781f387 cti_op_to_primitive + 55
    3   ???                                     0x000025f96ea04573 0 + 41753233081715
    4   com.apple.JavaScriptCore                0x00007fff877b1462 JSC::Interpreter::execute(JSC::ProgramExecutable*, JSC::ExecState*, JSC::ScopeChainNode*, JSC::JSObject*) + 2386
    5   ???                                     0x00000001024ba9e0 0 + 4333480416
    If full crashreport is required, I can mail it!
    Any ideas to get Softwareupdate running again?
    Greetings,
    Peter

Maybe you are looking for