Compilation of package body failed in 11.2.0.3, 12.1.3

Hello:

We have 11.2.0.3, 12.1.3, Linux system.

I want to recompile the next but no luck. Some help please?

I gave up the link db and re-created, set password apps, tried. The following document tracking "Invalid Package, ORA-04052 FII_AP_INV_PAYMTS_F_C ORA-00604 ORA-01017 ORA-02063 (Doc ID 888253.1) ' I got this when importing a database whold.

SQL > ALTER PACKAGE APPS. BODY OF FII_PA_REVENUE_F_C OF COMPILATION; ALTER PACKAGE APPS. BODY OF COMPILATION FII_PA_REVENUE_F_C

* ERROR at line 1:

ORA-04052: error occurred when searching to the top of the remote object APPS. EDW_LOCAL_INSTANCE@EDW_APPS_TO_WH.ZZZDB

ORA-00604: an error has occurred at the SQL level 1 recursive

ORA-01017: name of user and password invalid. connection refused

ORA-02063: preceding the line of EDW_APPS_TO_WH

Thanks and regards.

Please make sure that you pass the correct host name, port number, SID to the create command.

$ sqlplus apps.

SQL > drop database link EDW_APPS_TO_WH;

SQL > create database EDW_APPS_TO_WH link connect

identified using the

"(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST=).

(Port =)) (CONNECT_DATA = (SID =)))';

Thank you

Hussein

Tags: Oracle Applications

Similar Questions

  • How to display errors in compiling the package body

    Hi friends,


    My package body is not valid. How to compile it?

    I tried > alter compilation of body package PACKAGE1.

    But I got error.

    I tried > alter compilation package PACKAGE1.

    with compilation errors.

    SQL > show errors

    No errors.


    How can I get the errors of compilation of a package body?

    Thank you very much

    Check with--for the compilation of the body and package

    alter package   compile package
    alter package   compile body
    

    and after that check... display errors

    http://Stanford.edu/dept/ITSS/docs/Oracle/10G/server.101/b10759/statements_2005.htm

    Ravi Kumar

  • Database of Diff - identical package body are declared as different

    SQLDeveloper - Version 3.2.10.09
    Body package (DDL) on the source database and destination are the same, but the body of the package on the basis of data source is marked as "invalid" and package body on the destination database is marked as 'valid' - then Diff of the database of reports that the package of the different agencies. (but the sign indicating the DOF for each of the two package per report body is visible no difference).
    After compiling the package body on the source of the database (no DDL change) and when the State of the package body is passed to "valid" - now the database Diff correctly shows no difference.
    Is this behavior is intentional or a bug?

    >
    If there is a difference in the State of the object, do you want to know?
    >
    Not in a DIFF report, that I'm not. I expect a Different report to show the DDL differences in code source, not the status of a compilation.

    From my experience, these reports are used to determine if two different objects are different - not indicate the STATE of the target object is different. There are several reasons why the status might be different and none of them can be corrected by editing the DDL of the object itself.

    An invalid or missing object (for example a missing table) could make any number of other objects (views, functions, procedures, packages) not valid. I certainly wouldn't want a difference report to report DIFF in ALL views, functions and thus now just because an item is missing or not valid. Just, which generates a lot of unnecessary "noise" that actually prevents you to see if there is no real difference.

    For the differences if the object itself is the same you want NO output or a simple indication MATCHED; not a lot of false alarms. There are easier ways to locate invalid objects that visually wading in a DIFF report.

    I would consider it a bug if a report DIFF in the list of the differences that are not related to the DDL of the object itself.

  • Error during compilation of package header and the body - How to change pkb file associat

    Hello world

    It has been noticed elsewhere (in the thread "package for compilation and body header" January 12, 2010) compiling the scripts package sometimes fails (apparently due to a bug in sqldeveloper) when the script contains the trailing slash /.

    This bug is still open?

    Question: in the thread mentioned above, it is recommended as a workaround to change the association of corresponding file from pl/sql to sql type. I want to do; I know the place in the Preferences dialog box, but most associations seem to hard-coded and cannot be changed.

    I would appreciate ideas!

    Thanks in advance,

    user8632123.

    For the workaround: you need to change the extension of the file , not the association (for example, .sql).

    Have fun
    K.

  • package body "APPS. AD_ZD_ADOP' mistakes adoption apply fail

    Hello to any help/solution for this error:

    EBS version 12.2

    Intend to upgrade to 12.2.4 then only may apply Doc-Id 1617461.1 :

    "adoption phase = apply patches = 19330775, 20677045 = /hotpatch merge Yes = yes".

    Validation of the system configuration...

    [ERROR] Could not execute the SQL statement:

    Select AD_ZD_ADOP. The double GET_INVALID_NODES()

    [ERROR] Error message:

    [ERROR] Could not execute the SQL statement:

    Select AD_ZD_ADOP. The double GET_INVALID_NODES()

    [ERROR] Error message:

    [UNEXPECTED] '-1' nodes are listed in the table ADOP_VALID_NODES, but not in the FND_NODES table.

    [UNEXPECTED] To fix this problem, run AutoConfig on the nodes '-1 '.

    [UNEXPECTED] Error checking if it is an instance of multi node

    SQL > ALTER PACKAGE APPS. BODY OF AD_ZD_ADOP OF COMPILATION;

    WARNING: The bodies of Package modified with compilation errors.

    SQL > SHOW ERRORS, PACKAGE BODY APPS. AD_ZD_ADOP

    Errors for BODY of PACKAGE applications. AD_ZD_ADOP:

    LINE/COL ERROR

    -------- -----------------------------------------------------------------

    505/13 PL/SQL: statement ignored

    507/86 PL/SQL: ORA-00904: "SESSION_TYPE": invalid identifier

    511/13 PL/SQL: statement ignored

    513/86 PL/SQL: ORA-00904: "SESSION_TYPE": invalid identifier

    521/12 PL/SQL: statement ignored

    524/18 PL/SQL: ORA-00904: "SESSION_TYPE": invalid identifier

    533/9 PL/SQL: statement ignored

    535/121 PL/SQL: ORA-00904: "SESSION_TYPE": invalid identifier

    575/9 PL/SQL: statement ignored

    577/123 PL/SQL: ORA-00904: "SESSION_TYPE": invalid identifier

    1580/7 PL/SQL: statement ignored

    LINE/COL ERROR

    -------- -----------------------------------------------------------------

    1582/65 PL/SQL: ORA-00904: "SESSION_TYPE": invalid identifier

    SQL >

    Thank you!

    Luis

    Hello

    The solution is:

    1. check that your ad_adop_session_patches.xdf file is version 120.6.12020000.4

    grep Header $AD_TOP/patch/115/xdf/ad_adop_session_patches.xdf

    2. If the version is correct, then run this command (from Bug 18544083 : ADOPTION: ORA-04063: "APPS.) (AD_ZD_ADOP"CONTAINS ERRORS / ORA-00904:"SESSION_TYPE"):

    adjava-mx512m - nojit oracle.apps.fnd.odf2.FndXdfCmp applsys APPS apps APPS thin :: table $AD_TOP/patch/115/xdf/ad_adop_session_patches.xdf $FND_TOP/patch/115/xdf/xsl changedb = y

    Please put in the host current (complete), port, and SID

    NOTE: If you want to test the command first, please change "changedb = y" to "changedb = n".

    3. Please retry compilation AD_ZD_ADOP (or try running ADZDADOPB.pls).

    4. If the compilation of work, retry the patch.

    Kind regards

    Luis

  • How to find the timestamp of the packege/package body compiled in the last 15 days

    Hi all

    I would find the timestamp of the package/package body compiled in the last 15 days.

    Y at - it all features, which will record all the information date of compilation of a particular package or package body.

    If so, please provide the request.

    version: Oracle Database 11 g Enterprise Edition Release 11.1.0.7.0 - Production

    Thank you
    Rambeau

    Hi Raghu,

    As far as I know, you can't.

    Kind regards.
    Al

  • PLS-00304: cannot compile < package > body without its specification

    Hi all
    When compiling the below pasted together, I got the following error msg.
    PL/SQL: Compilation unit analysis terminated
    PLS-00304: cannot compile body of 'EDR_RPT_CLASS_BY_TAWT_PACKAGE'
    without its specification
    
    PLS-00905: object HDOT.EDR_RPT_CLASS_BY_TAWT_PACKAGE is invalid
    But me, which forfeit and ppackage specification of the body properly. Please could someone help me find the error

    CREATE OR REPLACE PACKAGE edr_rpt_class_by_tawt_package AS
    
    
    PROCEDURE edr_rpt_gen_class_by_tawt (
      in_report_parameter_id   IN      report_tasks.report_task_id%TYPE,
      report_data              OUT     SYS_REFCURSOR,
      chart_data               OUT     SYS_REFCURSOR,
      footer_data              OUT     SYS_REFCURSOR
    );
    
    PROCEDURE edr_rpt_gen_class_by_fawt (
      in_report_parameter_id   IN      report_tasks.report_task_id%TYPE,
      report_data              OUT     SYS_REFCURSOR,
      chart_data               OUT     SYS_REFCURSOR,
      footer_data              OUT     SYS_REFCURSOR
    );
    
    PROCEDURE edr_rpt_gen_class_by_sawt (
      in_report_parameter_id   IN      report_tasks.report_task_id%TYPE,
      report_data              OUT     SYS_REFCURSOR,
      chart_data               OUT     SYS_REFCURSOR,
      footer_data              OUT     SYS_REFCURSOR
    );
    
    
    PROCEDURE edr_rpt_gen_class_by_triawt (
      in_report_parameter_id   IN      report_tasks.report_task_id%TYPE,
      report_data              OUT     SYS_REFCURSOR,
      chart_data               OUT     SYS_REFCURSOR,
      footer_data              OUT     SYS_REFCURSOR
    );
    
    PROCEDURE edr_rpt_gen_class_by_qawt (
      in_report_parameter_id   IN      report_tasks.report_task_id%TYPE,
      report_data              OUT     SYS_REFCURSOR,
      chart_data               OUT     SYS_REFCURSOR,
      footer_data              OUT     SYS_REFCURSOR
    );
    
    FUNCTION  class_count
    (
      in_lane_id                  edr_rpt_by_ranges_output.lane_id%TYPE,
      in_direction_id             edr_rpt_by_ranges_output.direction_id%TYPE,
      in_interval_start_date_time edr_rpt_by_ranges_output.interval_start_date_time%TYPE,
      in_interval_end_date_time   edr_rpt_by_ranges_output.interval_start_date_time%TYPE,
      in_axle_wt_min              edr_cls_by_tawt_report_data.group_weight%TYPE,
      iin_axle_wt_max             edr_cls_by_tawt_report_data.group_weight%TYPE,
      in_class_min                edr_cls_by_tawt_report_data.vehicle_class%TYPE,
      in_class_max                edr_cls_by_tawt_report_data.vehicle_class%TYPE
    )
    RETURN VARCHAR2;
    
    
    END edr_rpt_class_by_tawt_package;
    /
    
    CREATE OR REPLACE PACKAGE BODY edr_rpt_class_by_tawt_package AS
    
       c_front_axle_only         CONSTANT axle_class.group_type%TYPE := -1;
       c_axle_single_group_type  CONSTANT axle_class.group_type%TYPE := 1;
       c_axle_tandem_group_type  CONSTANT axle_class.group_type%TYPE := 2;
       c_axle_tridem_group_type  CONSTANT axle_class.group_type%TYPE := 3;
       c_axle_quadrem_group_type CONSTANT axle_class.group_type%TYPE := 4;
       c_kips_conversion_unit_id CONSTANT units.unit_id%TYPE         := 8;
    
       v_report_axle_group_type  axle_class.group_type%TYPE := 0;
    
    
    FUNCTION  class_count
    (
      in_lane_id                  edr_rpt_by_ranges_output.lane_id%TYPE,
      in_direction_id             edr_rpt_by_ranges_output.direction_id%TYPE,
      in_interval_start_date_time edr_rpt_by_ranges_output.interval_start_date_time%TYPE,
      in_interval_end_date_time   edr_rpt_by_ranges_output.interval_start_date_time%TYPE,
      in_axle_wt_min              edr_cls_by_tawt_report_data.group_weight%TYPE,
      in_axle_wt_max              edr_cls_by_tawt_report_data.group_weight%TYPE,
      in_class_min                edr_cls_by_tawt_report_data.vehicle_class%TYPE,
      in_class_max                edr_cls_by_tawt_report_data.vehicle_class%TYPE
    )
    RETURN NUMBER
    IS
      my_count_result NUMBER(18);
    BEGIN
    
       SELECT NVL(SUM(vehicle_count), 0 )
       INTO my_count_result
       FROM
           (
            SELECT site_lane_id
            FROM   edr_rpt_tmp_report_lanes
            WHERE  edr_rpt_tmp_report_lanes.output_lane_id        = in_lane_id
              AND  edr_rpt_tmp_report_lanes.output_direction_id   = in_direction_id
           ) report_lanes
       JOIN edr_cls_by_tawt_report_data
         ON edr_cls_by_tawt_report_data.site_lane_id          = report_lanes.site_lane_id
       WHERE edr_cls_by_tawt_report_data.bin_start_date_time >= in_interval_start_date_time
         AND edr_cls_by_tawt_report_data.bin_start_date_time <  in_interval_end_date_time
         AND edr_cls_by_tawt_report_data.group_weight >= in_axle_wt_min
         AND edr_cls_by_tawt_report_data.group_weight  < in_axle_wt_max  
         AND edr_cls_by_tawt_report_data.vehicle_class >= in_class_min
         AND edr_cls_by_tawt_report_data.vehicle_class <= in_class_max
         ;
    
       RETURN my_count_result;
    END;
    
    
    FUNCTION get_row_class_counts_text
    RETURN VARCHAR2
    IS
       my_row_counts_text  VARCHAR2(10000);
       my_row_counts_entry  VARCHAR2(10000);
    
       CURSOR row_counts_text IS
         SELECT 'edr_rpt_class_by_tawt_package.class_count('
                           ||'lane_id, '
                           ||'direction_id, '
                           ||'interval_start_date_time, '
                           ||'interval_end_date_time, '
                           ||'range_low, '
                           ||'range_high, '
                           || class_id || ', '
                           || class_id || ') "'|| class_id || '"'
         FROM edr_rpt_tmp_report_classes
         ORDER BY class_id;
    
    BEGIN
    
      my_row_counts_text   := '';
      my_row_counts_entry  := '';
    
      -- generate the speed ranges function calls
      OPEN row_counts_text;
      LOOP
    
        FETCH row_counts_text INTO my_row_counts_entry;
    
        EXIT WHEN row_counts_text%NOTFOUND;
    
        my_row_counts_text := my_row_counts_text || ', ' || my_row_counts_entry;
    
      END LOOP;
      CLOSE row_counts_text;
    
      RETURN my_row_counts_text;
    
    END;
    
    
    
    FUNCTION get_row_totals_text
    RETURN VARCHAR2
    IS
       my_row_count_total_text  VARCHAR2(10000);
    BEGIN
    
      my_row_count_total_text := '';
    
      -- generate the 'total' column function call
      SELECT 'edr_rpt_class_by_tawt_package.class_count('
                           ||'lane_id, '
                           ||'direction_id, '
                           ||'interval_start_date_time, '
                           ||'interval_end_date_time, '
                           ||'range_low, '
                           ||'range_high, '
                           || MIN(class_id) || ', '
                           || MAX(class_id) || ') " "'
      INTO my_row_count_total_text
      FROM edr_rpt_tmp_report_classes;
    
      RETURN ', ' || my_row_count_total_text;
    
    END;
    
    
    
    PROCEDURE apply_default_awt_ranges(in_report_parameter_id   IN   NUMBER)
    IS
    
      my_awt_ranges_count NUMBER(4);
    
    BEGIN
    
     SELECT nvl(count(1),0)
     INTO my_awt_ranges_count
     FROM report_range_parameters
     WHERE REPORT_PARAMETER_ID = in_report_parameter_id
       AND REPORT_PARAMETER_GROUP = 'AXLE_GROUP'
       AND REPORT_PARAMETER_NAME = 'AXLE_NAME';
    
     IF  ( my_awt_ranges_count = 0 )
     THEN
      INSERT INTO report_range_parameters (REPORT_PARAMETER_ID, REPORT_PARAMETER_GROUP, REPORT_PARAMETER_NAME, REPORT_PARAMETER_MIN_VALUE, REPORT_PARAMETER_MAX_VALUE)
        VALUES (in_report_parameter_id, 'AXLE_GROUP', 'AXLE_NAME', '0', '2'); 
        VALUES (in_report_parameter_id, 'AXLE_GROUP', 'AXLE_NAME', '30', '32');
     END IF;
    
    END;
    
    
    PROCEDURE edr_class_by_tawt_use_per_veh
    (
       in_report_parameter_id   IN      report_tasks.report_task_id%TYPE,
       in_good_status_mask      IN      NUMBER
    )
    IS
    
     max_axle_group_value NUMBER(12);
    
    BEGIN
    
      DELETE FROM edr_cls_by_tawt_report_data;
     
      COMMIT;
    
      INSERT INTO edr_cls_by_tawt_report_data
                    (
                      site_id,
                      site_lane_id,
                      site_direction_id,
                      site_direction_name,
                      bin_start_date_time,
                      group_weight,
                      bin_id,
                      bin_value
                     )
      SELECT site_id,
             site_lane_id,
             site_direction_id,
             site_direction_name,
             date_time,
             group_weight,
             vehicle_class,
             COUNT(vehicle_class)
      FROM
             (
               SELECT edr_cls_by_tawt_per_veh_data.*
                 FROM edr_cls_by_tawt_per_veh_data           
         GROUP BY date_time,
               site_lane_id,
               group_weight,
               vehicle_class,
               site_id,
               site_direction_id,
               site_direction_name;
    
    END edr_class_by_tawt_use_per_veh;
    
    
    PROCEDURE edr_class_by_tawt_data_type
    (
      in_report_parameter_id   IN      report_tasks.report_task_id%TYPE,
      in_good_status_mask      IN      NUMBER,
      in_data_type             IN      VARCHAR2,
      out_data_type_used          OUT  VARCHAR2
    )
    IS
      my_bin_entry_count   NUMBER(12,0);
      my_veh_entry_count   NUMBER(12,0);
    BEGIN
    
      IF(UPPER(in_data_type) = 'BINNED') THEN
    
        --  Axle information can only be read from Per Vehicle data records
        --   - using bins-only is not a supported option
        RAISE_APPLICATION_ERROR(-20101,'Binned data cannot be used for this report.');
    
    
      ELSIF    (UPPER(in_data_type) = 'PERVEHICLE')
            OR (UPPER(in_data_type) = 'COMBINED')
      THEN
    
        out_data_type_used := 'Per Vehicle (All Vehicles)';
    
        edr_class_by_tawt_use_per_veh( in_report_parameter_id, in_good_status_mask );
    
      ELSE
         RAISE_APPLICATION_ERROR(-20101,'The data type specified is not recognized.');
      END IF;
    
    END edr_class_by_tawt_data_type;
    
    
    PROCEDURE edr_class_by_tawt_get_veh_data
    (
      in_report_parameter_id   IN   NUMBER,
      in_site_id               IN   NUMBER,
      in_start_date_time       IN   TIMESTAMP,
      in_end_date_time         IN   TIMESTAMP,
      in_report_level_min      IN   NUMBER,
      in_report_level_max      IN   NUMBER
    )
    IS
    
    BEGIN
     
      DELETE FROM edr_cls_by_tawt_per_veh_data;
    
      INSERT INTO edr_cls_by_tawt_per_veh_data
            (
              site_id,
              site_lane_id,
              site_direction_id,
              site_direction_name,
              record_id,
              date_time,
              group_weight,
              vehicle_class,
              group_number,
              vehicle_status,
              vehicle_error_count,
              axle_violations_count,
              group_type          
            )
      SELECT axle_info.site_id,
             axle_info.site_lane_id,
             axle_info.site_direction_id,
             axle_info.site_direction_name,
             axle_info.record_id,
             axle_info.datetime,
             axle_info.group_weight,
             axle_info.v_class,
             axle_info.group_number,
             NVL((SELECT SUM(status_code)
                    FROM traffic_status
                   WHERE traffic_status.record_id = axle_info.record_id), 0) vehicle_status,
             NVL((SELECT COUNT(error_code)
                    FROM traffic_error
                   WHERE traffic_error.record_id = axle_info.record_id), 0) vehicle_error_count,
             NVL((SELECT COUNT(1)
                    FROM axle_weight_violation
                   WHERE axle_weight_violation.record_id = axle_info.record_id), 0) axle_violations_count,
             axle_info.group_type            
        FROM (SELECT site_to_data_source_lane_v.site_id,
                     site_to_data_source_lane_v.site_lane_id,
                     site_to_data_source_lane_v.site_direction_id,
                     site_to_data_source_lane_v.site_direction_name,
                     traffic_record.record_id,
                     traffic_record.datetime,
                     NVL(traffic_class.v_class, 0)   v_class,
                     NVL(axle_class.group_type, 0)   group_type,
                     NVL(axle_class.group_number, 0) group_number,                
                     NVL(TRUNC(sum(convert_units(axle.weight_unit_id,
                                             c_kips_conversion_unit_id,
                                             axle.axle_weight
                                            )
                               )
                           ),
                           0
                         ) group_weight
               FROM  traffic_record
               JOIN  site_to_data_source_lane_v
                 ON  traffic_record.data_source_id = site_to_data_source_lane_v.data_source_id
                AND  traffic_record.lane = site_to_data_source_lane_v.data_source_lane_id                    
           GROUP BY site_to_data_source_lane_v.site_id,
                     site_to_data_source_lane_v.site_lane_id,
                     site_to_data_source_lane_v.site_direction_id,
                     site_to_data_source_lane_v.site_direction_name,
                     traffic_record.record_id,
                     traffic_record.datetime,
                     traffic_class.v_class,                 
                     axle_class.group_type,
                     axle_class.group_number
            ) axle_info
       
    
    END edr_class_by_tawt_get_veh_data;
    
    
    PROCEDURE gen_class_by_axle_type
    (
      in_report_parameter_id   IN      report_tasks.report_task_id%TYPE,
      report_data              OUT     SYS_REFCURSOR,
      chart_data               OUT     SYS_REFCURSOR,
      footer_data              OUT     SYS_REFCURSOR
    )
    AS
    
     
    BEGIN
     
      apply_default_awt_ranges(in_report_parameter_id);
    
      my_date_format_mask   := edr_rpt_generic_package.edr_rpt_get_date_format_mask(in_report_parameter_id);
      my_start_date_time    := edr_rpt_generic_package.edr_rpt_get_start_date_time(in_report_parameter_id, my_date_format_mask);
      my_end_date_time      := edr_rpt_generic_package.edr_rpt_get_end_date_time(in_report_parameter_id, my_date_format_mask);
      my_lane_grouping      := edr_rpt_generic_package.edr_rpt_get_lane_grouping(in_report_parameter_id);
      my_site_id            := edr_rpt_generic_package.edr_rpt_get_site_id(in_report_parameter_id);
      my_selected_data_type := edr_rpt_generic_package.edr_rpt_get_data_type(in_report_parameter_id);
    
      -- ensure selected classes and lanes temp tables have been populated
      edr_rpt_generic_package.edr_rpt_gen_tmp_lanes(in_report_parameter_id);
      edr_rpt_generic_package.edr_rpt_gen_tmp_classes(in_report_parameter_id);
      edr_rpt_generic_package.edr_rpt_gen_tmp_speed_ranges(in_report_parameter_id);
    
      my_good_weight_statuses_mask   := edr_rpt_generic_package.get_good_weight_status_mask(in_report_parameter_id);
    
    
      edr_rpt_generic_package.edr_rpt_gen_inclusion_table
      (
        in_report_parameter_id,
        my_date_format_mask,
        my_start_date_time,
        my_end_date_time
      );
    
      edr_rpt_generic_package.edr_rpt_gen_grouping_table
      (
        in_report_parameter_id,
        my_date_format_mask,
        my_start_date_time,
        my_end_date_time
      );
    
      edr_class_by_tawt_get_veh_data
      (
        in_report_parameter_id,
        my_site_id,
        my_start_date_time,
        my_end_date_time,
        0,                          --Hardcoded until reclassification is supported.
        0                           --Hardcoded until reclassification is supported.
      );
    
      edr_class_by_tawt_data_type
      (
        in_report_parameter_id,
        my_good_weight_statuses_mask,
        my_selected_data_type,
        my_used_data_type
      );
    
    
      edr_rpt_generic_package.gen_rpt_by_ranges_output_table
      (
        in_report_parameter_id,
        'AXLE_GROUP',
        'AXLE_NAME'
      );
    
      COMMIT;
      my_report_data_statement :=
          ' SELECT rank "Rank", '
        ||       ' row_type "Row Type", '
        ||       ' interval_start_date_time "Date", '
        ||       ' interval_start_date_time, '
        ||       ' range_label "Chart X-Axis", '
        ||       ' lane_id "Group Id" , '
        ||       ' ''None'' "Group Name", '
        ||       ' range_label "Speed (mph)" '
        ||         get_row_class_counts_text
        ||         get_row_totals_text
        ||       ' FROM edr_rpt_by_ranges_output '
        ||       ' ORDER BY lane_id, '
        ||                ' direction_id, '
        ||                ' interval_start_date_time, '
        ||                ' range_high, '
        ||                ' rank, '
        ||                ' range_low'
        ;
    
      dbms_output.put_line('SQL start------------------------');
      dbms_output.put_line(my_report_data_statement);
      dbms_output.put_line('SQL end--------------------------');
    
    
      my_chart_data_statement :=
           ' SELECT range_low "X Axis", '
        ||        ' lane_id "Group" '
        ||         get_row_class_counts_text
        || ' FROM '
        || ' ( '
        || ' SELECT lane_id, '
        ||        ' direction_id, '
        ||        ' range_low, '
        ||        ' range_high, '
        ||        ' min(interval_start_date_time) interval_start_date_time, '
        ||        ' max(interval_end_date_time) interval_end_date_time '
        || ' FROM edr_rpt_by_ranges_output '
        || ' WHERE rank = 1 '
        || ' GROUP BY lane_id, direction_id, range_low,  range_high '
        || ' ) '
        || ' order by "Group", range_low '
        ;
    
      dbms_output.put_line('SQL start------------------------');
      dbms_output.put_line(my_chart_data_statement);
      dbms_output.put_line('SQL end--------------------------');
    
    
    
      SELECT my_used_data_type
        INTO my_data_type_used
        FROM SYS.DUAL;
    
      SELECT NVL(COUNT(DISTINCT record_id), 0)
        INTO my_per_vehicle_total
        FROM edr_cls_by_tawt_per_veh_data;
    
      SELECT NVL(COUNT(DISTINCT record_id), 0)
        INTO my_status_vehicle_total
        FROM edr_cls_by_tawt_per_veh_data
       WHERE vehicle_status > 0
         AND vehicle_error_count = 0;
    
    
      SELECT NVL(COUNT(DISTINCT record_id), 0)
        INTO my_error_vehicle_total
        FROM edr_cls_by_tawt_per_veh_data
       WHERE vehicle_error_count > 0;
    
    
      SELECT NVL(COUNT(DISTINCT record_id), 0)
        INTO my_status_clear_total
        FROM edr_cls_by_tawt_per_veh_data
       WHERE vehicle_status = 0
         AND vehicle_error_count = 0;
    
    
      SELECT NVL(COUNT(1), 0)
        INTO my_binned_vehicle_total
        FROM edr_cls_by_tawt_per_veh_data;
    
      SELECT NVL(COUNT(1), 0)
        INTO my_good_weight_total
        FROM edr_cls_by_tawt_per_veh_data
       WHERE vehicle_error_count = 0
         AND BITAND(vehicle_status, my_good_weight_statuses_mask) = 0;
    
      -- insert vehicle totals into the temporary table
      DELETE FROM edr_rpt_tmp_veh_totals_table;
    
      INSERT INTO edr_rpt_tmp_veh_totals_table
      SELECT my_data_type_used,
             my_per_vehicle_total,
             my_binned_vehicle_total,
             my_error_vehicle_total,
             my_status_vehicle_total,
             my_good_weight_total,
             my_status_clear_total
        FROM SYS.DUAL;
    
      -- execute the query into the output refcursor
      OPEN report_data FOR
        my_report_data_statement;
    
      OPEN chart_data FOR
        my_chart_data_statement;
    
      OPEN footer_data FOR
        SELECT data_type_used,
               per_vehicle_total,
               binned_vehicle_total,
               error_vehicle_total,
               status_vehicle_total,
               good_weight_total,
               status_clear_total
          FROM edr_rpt_tmp_veh_totals_table;
    
    END gen_class_by_axle_type;
    
    PROCEDURE edr_rpt_gen_class_by_sawt (
      in_report_parameter_id   IN      report_tasks.report_task_id%TYPE,
      report_data              OUT     SYS_REFCURSOR,
      chart_data               OUT     SYS_REFCURSOR,
      footer_data              OUT     SYS_REFCURSOR
    )
    AS
    BEGIN
      v_report_axle_group_type := c_axle_single_group_type;
      gen_class_by_axle_type(in_report_parameter_id, report_data, chart_data, footer_data);
    END;
    
    PROCEDURE edr_rpt_gen_class_by_fawt (
      in_report_parameter_id   IN      report_tasks.report_task_id%TYPE,
      report_data              OUT     SYS_REFCURSOR,
      chart_data               OUT     SYS_REFCURSOR,
      footer_data              OUT     SYS_REFCURSOR
    )
    AS
    BEGIN
      v_report_axle_group_type := c_front_axle_only ;
      gen_class_by_axle_type(in_report_parameter_id, report_data, chart_data, footer_data);
    END;
    
    PROCEDURE edr_rpt_gen_class_by_tawt (
      in_report_parameter_id   IN      report_tasks.report_task_id%TYPE,
      report_data              OUT     SYS_REFCURSOR,
      chart_data               OUT     SYS_REFCURSOR,
      footer_data              OUT     SYS_REFCURSOR
    )
    AS
    BEGIN
      v_report_axle_group_type := c_axle_tandem_group_type;
      gen_class_by_axle_type(in_report_parameter_id, report_data, chart_data, footer_data);
    END;
    
    PROCEDURE edr_rpt_gen_class_by_triawt (
      in_report_parameter_id   IN      report_tasks.report_task_id%TYPE,
      report_data              OUT     SYS_REFCURSOR,
      chart_data               OUT     SYS_REFCURSOR,
      footer_data              OUT     SYS_REFCURSOR
    )
    AS
    BEGIN
      v_report_axle_group_type := c_axle_tridem_group_type;
      gen_class_by_axle_type(in_report_parameter_id, report_data, chart_data, footer_data);
    END;
    
    PROCEDURE edr_rpt_gen_class_by_qawt (
      in_report_parameter_id   IN      report_tasks.report_task_id%TYPE,
      report_data              OUT     SYS_REFCURSOR,
      chart_data               OUT     SYS_REFCURSOR,
      footer_data              OUT     SYS_REFCURSOR
    )
    AS
    BEGIN
      v_report_axle_group_type :=  c_axle_quadrem_group_type;
      gen_class_by_axle_type(in_report_parameter_id, report_data, chart_data, footer_data);
    END;
    
    END edr_rpt_class_by_tawt_package;
    /
    
    
    LIST
    
    SHOW ERROR

    FUNCTION RETURN VARCHAR2 class_count in package specifications and
    FUNCTION RETURN NUMBER class_count in the package body.
    change the type of data SERVICE class_count

  • PACKAGE BODY APPS. AD_ZD_ADOP contains errors

    APP TIER - Linux - SLES 11 - SP2 - x86_64

    DB LEVEL - Linux for system Z - SLES 11 - SP2 - s390

    I encounter errors in the body to Package APPS. AD_ZD_ADOP, that has brought all the patches to a status quo on our schedule instance.

    The sequence of events have been

    The following hotfixes have been applied.

    1. Patch 19462638
    2. Patch 19197270
    3. Patch 21132723
    4. 19330775
    5. 20677045
    6. 19259764

    Doc 1617461.1 was followed - B path of

    After Patch 19259764 has been applied, all steps until step 8 of Doc 1617461.1 have been completed.

    Failure of the fs_clone step (step 9). My colleague opened a SR - advice was far from expected.

    Yesterday, I took this with success and more cloned the fix for the file system to perform file system (1383621.1) - however, I'm still not able to run fs_clone with success.

    Even a basic ADADMIN session fails.

    Here are the errors while trying to compile APPS package bodies. AD_ZD_ADOP

    SQL > alter package APPS. AD_ZD_ADOP compile body;

    WARNING: The bodies of Package modified with compilation errors.

    SQL > show errors;
    Errors for BODY of PACKAGE applications. AD_ZD_ADOP:

    LINE/COL ERROR
    -------- -----------------------------------------------------------------
    2503/3 PL/SQL: statement ignored
    2503/7 PLS-00201: identifier ' SYS. DBMS_METADATA_UTIL' must be declared
    SQL >

    Also while trying to launch ADADMIN, I get errors themselves.

    Error of Administration AD:

    ORA-04063: package body "APPS. AD_ZD_ADOP"contains errors

    Could not insert the record of the action in the table of patches

    Error of Administration AD:

    Error when you try to insert adadmin task CMP_INVALID action

    Update running adadmin of failure actions

    Error of Administration AD:

    The following ORACLE error:

    ORA-01756: city not properly finished chain

    occurred while executing the SQL statement:

    UPDATE ad_adop_session_patches set status = 'F' where status = 'R' and

    as numero_de_bogue ' ADADMIN

    Error of Administration AD:

    Table ad_adop_session_patches update errors

    You must check the file

    /U02/fs_ne/EBSapps/log/ADadmin/log/ADadmin.log

    to find errors.

    Can someone please. I have also a SR - but nice try various channels to find a solution.

    Hello

    The necessary subsidies on the SYS package may be missing. DBMS_METADATA_UTIL.

    Try this command (as sysdba) and compile the package:

    Grant execute on SYS. DBMS_METADATA_UTIL applications;

    Kind regards

    Bashar

  • ORA-04063: package body 'SYS. DBMS_SQLTUNE error' during the upgrade

    Hello
    I am trying to upgrade the oracle 10.2.0.2 on 11.2.0.1 with dbua tool database. During the upgrade "Oracle Server" ORA-04063: package body 'SYS. DBMS_SQLTUNE"error has occurred.
    In the oracle server log:

    ---------------------------------------------------------------------------------------------------------------

    REM create the automated SQL Tuning task
    REM If the task exists already (catproc is re-of running) is not error.
    Start
    2 sys.dbms_sqltune_internal.i_create_auto_tuning_task;
    exception 3
    so 4 than others then
    5 if (sqlcode =-13607) then - task already exists
    6 null;
    7 other
    8 lift;
    9 end if;
    10 end;
    11.
    Start
    *
    ERROR on line 1:
    ORA-04063: package body 'SYS. DBMS_SQLTUNE"contains errors
    ORA-06508: PL/SQL: called program unit is not found: 'SYS. DBMS_SQLTUNE ".
    ORA-06512: at line 8 level

    ------------------------------------------------------------------------------------------------------------------------------------------------------------

    After unsuccessful upgrade I have restore and recover the database. SYS. The DBMS_SQLTUNE package and package body were valid. But when I compile them the package becomes invalid.
    I get the error and reach 390221.1 metalink Note:

    ------------------------------------------------------------------------------------------------------------------------------------------------------

    Solution
    -Drop synonyms
    Drop public synonym existsnode.
    excerpt from Drop public synonym;

    ----------------------------------------------------------------------------------------------------------------------------------------------------

    But there are no synonyms, which is mentioned in this note in my PB.

    How can I solve this problem? Thank you.

    If you have not read the note ORA-04063: package body 'SYS. DBMS_SQLTUNE' errors - upgrade to 10 G and 11 G fails on ID Dbms_sqltune 1271490.1+?

    Nicolas.

  • ORA-04063: package body 'SYS. DBMS_CUBE_EXP"got error in expdp

    Oracle 11.2.0.2 on Redhat. Received the error when export a schema
    [oracle@cchorbi1 admin]$ expdp bi/pass@cchbi2 schemas=BISTG directory=DATA_PUMP_DIR parallel=12 
    dumpfile=bistg_bi2_0315_%U.dmp logfile=bistg_bi2_0315.log
    ....
    Starting "BI"."SYS_EXPORT_SCHEMA_02":  bi/********@cchbi2 schemas=BISTG directory              
    =DATA_PUMP_DIR parallel=12 dumpfile=bistg_bi2_0315_%U.dmp logfile=bistg_bi2_0315.              log
    Estimate in progress using BLOCKS method...
    Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA
    ORA-39126: Worker unexpected fatal error in KUPW$WORKER.GET_TABLE_DATA_OBJECTS []              
    ORA-31642: the following SQL statement fails:
    BEGIN "SYS"."DBMS_CUBE_EXP".SCHEMA_CALLOUT(:1,0,1,'11.02.00.00.00'); END;
    ORA-06512: at "SYS.DBMS_SYS_ERROR", line 86
    ORA-06512: at "SYS.DBMS_METADATA", line 1245
    ORA-04063: package body "SYS.DBMS_CUBE_EXP" has errors
    ORA-06508: PL/SQL: could not find program unit being called: "SYS.DBMS_CUBE_EXP"
    
    ORA-06512: at "SYS.DBMS_SYS_ERROR", line 86
    ORA-06512: at "SYS.KUPW$WORKER", line 8353
    Thhs is a routine operation and still works. Recent changes to the database are down some patterns that we thought is perhaps not helpful, refer to
    http://abcdba.com/abcdbaserver11gdefaultschema 
    . Removed default schema users are
    ANONYMOUS,APPQOSSYS,CTXSYS,DIP,EXFSYS,MDDATA,MDSYS,OE,OLAPSYS,
    ORACLE_OCM,ORDDATA,ORDPLUGINS,ORDSYS,OWBSYS,OWBSYS_AUDIT,PM,SCOTT,
    SH,SI_INFORMTN_SCHEMA,SPATIAL_CSW_ADMIN_USR,SPATIAL_WFS_ADMIN_USR
    WMSYS
    The remaining default schemas are
    APEX_030200,APEX_PUBLIC_USER,DBSNMP,FLOWS_FILES,MGMT_VIEW,
    OUTLN,SYS,SYSMAN,SYSTEM,XDB,XS$NULL
    SYS objects. DBMS_CUBE_EXP causing ORA-06508 exists but not valid
    select owner,object_name,object_type,status from dba_objects where object_name='DBMS_CUBE_EXP'
    SYS     DBMS_CUBE_EXP     PACKAGE             VALID
    SYS     DBMS_CUBE_EXP     PACKAGE BODY     INVALID
    PUBLIC     DBMS_CUBE_EXP     SYNONYM             VALID
    We cannot restore the State before drooping users as it occurred last week and the backup is replaced by a more recent and a newapplication schema is generated and we want to keep?

    Is there a way to solve this problem without restoring database?

    Thank you

    In fact, I had the same problem with DBMS_CUBE_EXP. Oracle Enterprise Manager alert recommended remove EXECUTE on the public DBMS_LOB. This caused several * SYS packages and package bodies to go invalid.  I have granted EXECUTE the user (CTXSYS, OLAPSYS, ect) and then compiled the object successfully.

  • installation of package body

    I did change in a package body procedure, I do not change the signature of procedure or anything, I just changed the code in a procedure.
    Now, I'll run this body with "CREATE or REPLACE PACKAGE BODY... "in the management of production database.
    1. my Spec package will go to the invalid state? I also should recompile Spec in the database?
    2 now, I understand that the sessions connected, clients java, use the older version of the package, not the most recent body database compiled just body. Will they have an error at the first appeal according to the packaging and the second call will succeed for them?

    I have Oracle 10 g.

    Published by: CharlesRoos on Sep 9, 2010 07:44

    Apart from what Sybrand said to do in the way of ITIL, an understanding of which is State package would be helpful...

    Packages tend to fail because of their 'package '. A package has a 'State' when it contains the package variable and constant level etc. and the package is called. On the first calling package, the 'State' is created in memory to hold the values of these variables, etc. If an object including the package depends on for example a table is changed somehow example deleted and recreated due to data dependencies, the package then takes a State not VALID. When you do then appealed to the package, Oracle examines the status and see that it is not valid, then determines that the package has a "State". Because something changed the package depended on, the State is taken as being obsolete and is ignored, which causes the error "State package has been abandoned" message.

    If a package has no variables of level package etc. i.e. the 'State' and then, taking the same example above, the whole takes an INVALID state, but when you make then a call to the package, Oracle considers as invalid, but knows that there is no 'State' attached to it and is therefore able to recompile the package automatically and then continue execution without causing error messages. The only exception here is if the thing that the package was dependent on a change of such kind that the package may not compile, in which case you will get an invalid error package type.

    And if you want to know how we prevent Jetty package States...

    Move all variables and constants in a stand-alone package specification and to refer to those of your original package. So when the status of your original packing is invlidated for some reason, it has no State package and can be recompiled automatically, however the packaging containing the vars/const is not cancelled because it has no dependencies, so the State that is in memory for this package will remain and may continue to be used.

    As for package-level sliders, you will need to make these premises to the procedures/functions using them as you won't be able of sliders reference in all of packages like that (not sure on the use of the REF CURSOR but... exists for me to study!)

    This first example shows the State being disabled by adding a new column on the table and causing to give a 'Package State scrapped' error...

    SQL> set serveroutput on
    SQL>
    SQL> create table dependonme (x number)
      2  / 
    
    Table created.
    
    SQL>
    SQL> insert into dependonme values (5)
      2  / 
    
    1 row created.
    
    SQL>
    SQL> create or replace package mypkg is
      2    procedure myproc;
      3  end mypkg;
      4  / 
    
    Package created.
    
    SQL>
    SQL> create or replace package body mypkg is
      2    v_statevar number := 5; -- this means my package has a state
      3
      4    procedure myproc is
      5      myval number;
      6    begin
      7      select x
      8      into myval
      9      from dependonme;
     10
     11      myval := myval * v_statevar;
     12      DBMS_OUTPUT.PUT_LINE('My Result is: '||myval);
     13    end;
     14  end mypkg;
     15  / 
    
    Package body created.
    
    SQL>
    SQL> exec mypkg.myproc
    My Result is: 25
    
    PL/SQL procedure successfully completed.
    
    SQL>
    SQL> select object_name, object_type, status from user_objects where object_name = 'MYPKG'
      2  / 
    
    OBJECT_NAME
    --------------------------------------------------------------------------------------------------
    OBJECT_TYPE         STATUS
    ------------------- -------
    MYPKG
    PACKAGE             VALID
    
    MYPKG
    PACKAGE BODY        VALID
    
    SQL>
    SQL>
    SQL> alter table dependonme add (y number)
      2  / 
    
    Table altered.
    
    SQL>
    SQL> select object_name, object_type, status from user_objects where object_name = 'MYPKG'
      2  / 
    
    OBJECT_NAME
    --------------------------------------------------------------------------------------------------
    OBJECT_TYPE         STATUS
    ------------------- -------
    MYPKG
    PACKAGE             VALID
    
    MYPKG
    PACKAGE BODY        INVALID
    
    SQL>
    SQL> exec mypkg.myproc
    BEGIN mypkg.myproc; END;
    
    *
    ERROR at line 1:
    ORA-04068: existing state of packages has been discarded
    ORA-04061: existing state of package body "SCOTT.MYPKG" has been invalidated
    ORA-06508: PL/SQL: could not find program unit being called: "SCOTT.MYPKG"
    ORA-06512: at line 1
    
    SQL>
    SQL> select object_name, object_type, status from user_objects where object_name = 'MYPKG'
      2  / 
    
    OBJECT_NAME
    --------------------------------------------------------------------------------------------------
    OBJECT_TYPE         STATUS
    ------------------- -------
    MYPKG
    PACKAGE             VALID
    
    MYPKG
    PACKAGE BODY        INVALID
    
    SQL>
    SQL> exec mypkg.myproc
    
    PL/SQL procedure successfully completed.
    
    SQL>
    SQL> select object_name, object_type, status from user_objects where object_name = 'MYPKG'
      2  / 
    
    OBJECT_NAME
    --------------------------------------------------------------------------------------------------
    OBJECT_TYPE         STATUS
    ------------------- -------
    MYPKG
    PACKAGE             VALID
    
    MYPKG
    PACKAGE BODY        VALID
    

    And the following example shows how to get the package in their own specifications of package variables, allows the package to automatically recompile when it is called even if it has become invalid by the action to add a column to the table.

    SQL> drop table dependonme
      2  / 
    
    Table dropped.
    
    SQL>
    SQL> drop package mypkg
      2  / 
    
    Package dropped.
    
    SQL>
    SQL> set serveroutput on
    SQL>
    SQL> create table dependonme (x number)
      2  / 
    
    Table created.
    
    SQL>
    SQL> insert into dependonme values (5)
      2  / 
    
    1 row created.
    
    SQL>
    SQL> create or replace package mypkg is
      2    procedure myproc;
      3  end mypkg;
      4  / 
    
    Package created.
    
    SQL>
    SQL> create or replace package mypkg_state is
      2    v_statevar number := 5; -- package state in seperate package spec
      3  end mypkg_state;
      4  / 
    
    Package created.
    
    SQL>
    SQL> create or replace package body mypkg is
      2    -- this package has no state area
      3
      4    procedure myproc is
      5      myval number;
      6    begin
      7      select x
      8      into myval
      9      from dependonme;
     10
     11      myval := myval * mypkg_state.v_statevar;  -- note: references the mypkg_state package
     12      DBMS_OUTPUT.PUT_LINE('My Result is: '||myval);
     13    end;
     14  end mypkg;
     15  / 
    
    Package body created.
    
    SQL>
    SQL> exec mypkg.myproc
    My Result is: 25
    
    PL/SQL procedure successfully completed.
    
    SQL>
    SQL> select object_name, object_type, status from user_objects where object_name = 'MYPKG'
      2  / 
    
    OBJECT_NAME
    --------------------------------------------------------------------------------------------------
    OBJECT_TYPE         STATUS
    ------------------- -------
    MYPKG
    PACKAGE             VALID
    
    MYPKG
    PACKAGE BODY        VALID
    
    SQL>
    SQL> alter table dependonme add (y number)
      2  / 
    
    Table altered.
    
    SQL>
    SQL> select object_name, object_type, status from user_objects where object_name = 'MYPKG'
      2  / 
    
    OBJECT_NAME
    --------------------------------------------------------------------------------------------------
    OBJECT_TYPE         STATUS
    ------------------- -------
    MYPKG
    PACKAGE             VALID
    
    MYPKG
    PACKAGE BODY        INVALID
    
    SQL>
    SQL> exec mypkg.myproc
    My Result is: 25
    
    PL/SQL procedure successfully completed.
    
  • Package body is not VALID

    Hi friends,

    Could you help me understand this behavior in oracle.

    SQL > create or replace package mypkg is

    2 number of v_statevar: = 40;

    3 procedure MyProc;

    4 end mypkg;

    5.

    Package created.

    SQL > create or replace package body is mypkg

    2 procedure MyProc is

    3 myval number;

    4 start

    5. Select x

    6 in myval

    7 of dependonme;

    8

    9 - myval: = myval * mypkg.v_statevar;

    10 DBMS_OUTPUT. Put_line (' my result is: ' | myVal);

    11 end;

    12 end mypkg;

    13.

    Package body created.

    SQL > select object_name, object_type, status from user_objects where object_name = 'MYPKG ';

    OBJECT_NAME OBJECT_TYPE STATUS

    ------------------------------ ------------------- -------

    PACKAGE VALID MYPKG

    VALID PACKAGE BODY MYPKG

    SQL > set serveroutput on

    SQL > exec mypkg.myproc;

    My result is: 5

    PL/SQL procedure successfully completed.

    SQL > create or replace package mypkg is

    2 number of v_statevar: = 150;

    3 procedure MyProc;

    4 end mypkg;

    5.

    Package created.

    SQL > select object_name, object_type, status from user_objects where object_name = 'MYPKG ';

    OBJECT_NAME OBJECT_TYPE STATUS

    ------------------------------ ------------------- -------

    PACKAGE VALID MYPKG

    INVALID BODY PACKAGE MYPKG

    SQL > set serveroutput on

    SQL > exec mypkg.myproc;

    My result is: 5

    PL/SQL procedure successfully completed.

    SQL > select object_name, object_type, status from user_objects where object_name = 'MYPKG ';

    OBJECT_NAME OBJECT_TYPE STATUS

    ------------------------------ ------------------- -------

    PACKAGE VALID MYPKG

    VALID PACKAGE BODY MYPKG

    SQL >

    How did change the value of the variable in the package specification makes the invalid package body.

    How execution of the procedure of the package is once again the VALID State.

    Kimmy says:

    Hello carine,.

    I'm just setting the variable in the notebook, that variable was not referred to the procedure in the package body, also I'm not change any signature/details of the procedure described in the package specification, then what do the package body are invalid.

    There are two parts to this.

    (a) by recompiling package specifications, you then automatically invalidates all objects in the database that dependent on it.  In this case, the package body is dependent on, so get marked as invalid.  When you try and run something in the package Oracle try to compile the package, if it succeeds, it will mark it as valid again (as in your case).

    (b) the variables and declarations of a package (public and private) are what constitutes the 'State '.  By calling the package, you instantiate a copy in memory to create this state of package for this instantiation of the entire session.  By recompiling package specifications (it's not fair that you change the value of the variable, you recompile the spec), you can invalidate the State in memory and therefore potentially invalidate the package body.  It depends on your version of the database.  In 10g, by invalidating state you will get an exception "State package rejected" when you try to run the package after the change, and then it will automatically compile and validate the package, so that it eventually works ok.  From 11 g, there is more fine grain dependencies on the State, so if the change you have made has no effect on what you run, it can validate and run without causing the exception 'package State scrapped ';. He would only do that if it's something that you used.

  • Procedure is not recognized in the package body

    I have this error message:

    Compile for HR.MILOS_PACKAGE BODY of PACKAGE errors

    Error: PLS-00323: subprogram or cursor "RAISE_SALARY" is declared in a package specification and must be defined in the package body

    Online: 19

    Text: IF (l_exists)

    I deffined in the whole of the body after the first procedure that is no problem.

    I don't know what the problem is. There is no other sugestions compiler.

    Procedure works very well when packing.

    PROCEDURE RAISE_SALARY (p_perc p_dep_id NUMBER, NUMBER) IS

    v_emp_id employees.employee_id%TYPE;

    v_sal employees.salary%TYPE;

    v_avg_sal employees.salary%TYPE;

    CURSOR c_salaries IS SELECT employee_id, salary employees

    If NOT EXISTS (SELECT 1 from employees e WHERE e.manager_id = employees.employee_id)

    and department_id = p_dep_id;

    CURSOR c_salaries_m IS SELECT employee_id, salary employees

    WHERE employe_id IN (SELECT distinct manager_id of employees)

    and department_id = p_dep_id;

    Start

    SELECT AVG (salary) IN the v_avg_sal FROM Employees WHERE department_id = p_dep_id;

    OPEN c_salaries.

    LOOP

    EXTRACT c_salaries INTO v_emp_id, v_sal;

    EXIT WHEN c_salaries % NOTFOUND;

    IF v_sal + 1 > 3 * v_avg_sal

    THEN UPDATE employees SET salary = 3 * v_avg_sal

    WHERE employe_id = v_emp_id;

    UPDATE of OTHER employees SET salary = salary * to_number ('1' |'.) ' || p_perc)

    WHERE employe_id = v_emp_id;

    END IF;

    END LOOP;

    CLOSE C_salaries;

    OPEN c_salaries_m.

    LOOP

    EXTRACT c_salaries_m INTO v_emp_id, v_sal;

    EXIT WHEN c_salaries_m % NOTFOUND;

    IF v_sal + 5 > 3 * v_avg_sal

    THEN UPDATE employees SET salary = 3 * v_avg_sal

    WHERE employe_id = v_emp_id;

    UPDATE of OTHER employees SET salary = salary * to_number ('1' |'.) ' || (p_perc + 50))

    WHERE employe_id = v_emp_id;

    END IF;

    END LOOP;

    CLOSE C_salaries_m;

    end RAISE_SALARY;

    Compile for HR.MILOS_PACKAGE BODY of PACKAGE errors

    Error: PLS-00323: subprogram or cursor "RAISE_SALARY" is declared in a package specification and must be defined in the package body

    We hear... you have defined the raise_salary procedure in the package specification but not in the package body. (pretty clear)

    not in the package body means:

    the statement could be different...

    PROCEDURE RAISE_SALARY (NUMBER, p_dep_id NUMBER p_perc)

    so:

    are identical named parameters?

    they have identical data types?

    vary according to the assigned default values?

    vary according to its use (IN/OUT/IN OUT) - (why did not specify the use anyway?)

    HTH

  • Package body dropped, but showing invalid

    Nice day:

    Oracle 11 g 2

    I created a Package with Package bodies, procedures 3, which works very well.  I can call it without error.  However, if I run this query:

    SELECT *.

    From user_objects

    Situation WHERE = "INVALID."

    I get the following result:

    OBJECT_NAMESUBOBJECT_NAMEOBJECT_IDDATA_OBJECT_IDOBJECT_TYPECREATEDLAST_DDL_TIMETIMESTAMPSTATUSTEMPORARYGENERATEDSECONDARYNAMESPACEEDITION_NAME
    TASK_PROCEDURES28700PACKAGE BODY5 July 14July 11, 142014-07 - 11:18:42:39Not validNNN2

    It is an old package body, that I dropped it about 4 days ago.  That is always supposed to show if I run this query?

    I work with Oracle SQL Developer, using almost the same version too. I don't think that it has nothing to do with the tool as the data dictionary shows this info too.

    Could you post the exact commands that you run from a sql more session? And the sql like too much output.

    Example (demo of pseudo code)

    SQL > alter the package xxx body compilation;

    SQL > compiled package.

    SQL > show errors

    SQL > no error

    SQL > drop package xxx;

    SQL > package abandoned;

    SQL > drop package body xxx.

    ???

    SQL > select xxx.someFunction from double;

    I could explain the behavior if you have enabled the editions (CDE). But there is no air if in your case.

    Just to be absolutely sure of it. Make the select statement and after the release:

    select object_name, object_type, namespace, edition_name
    from user_objects_ae
    where object_name = 'YOURPACKAGENAME';
    
  • ORA-04063: package body "APPS. HZ_PARTY_STAGE"contains errors

    Hello

    Received the error when compile. Checked in the Note: 427418.1 did not work. Help, please. It's 12.1.3, 11.2.0.3 Linux database.

    SQL > alter package APPS. HZ_PARTY_STAGE compile body;

    WARNING: The bodies of Package modified with compilation errors.

    SQL > show err

    Errors for BODY of PACKAGE applications. HZ_PARTY_STAGE:

    LINE/COL ERROR

    -------- -----------------------------------------------------------------

    85/5 PL/SQL: statement ignored

    85/5 PLS-00201: identifier ' AD_CTX_DDL. DROP_PREFERENCE' must be

    has said

    95/5 PL/SQL: statement ignored

    95/5 PLS-00201: identifier ' AD_CTX_DDL. CREATE_PREFERENCE' must be

    has said

    96/5 PL/SQL: statement ignored

    96/5 PLS-00201: identifier ' AD_CTX_DDL. SET_ATTRIBUTE' must be declared

    3313/28 PL/SQL: statement ignored

    LINE/COL ERROR

    -------- -----------------------------------------------------------------

    3313/28 PLS-00201: identifier ' AD_CTX_DDL. SYNC_INDEX' must be declared

    3322/27 PL/SQL: statement ignored

    3322/27-PLS-00201: identifier ' AD_CTX_DDL. SYNC_INDEX' must be declared

    3352/24 PL/SQL: statement ignored

    3352/24 PLS-00201: identifier ' AD_CTX_DDL. SYNC_INDEX' must be declared

    3362/23 PL/SQL: statement ignored

    3362/23 PLS-00201: identifier ' AD_CTX_DDL. SYNC_INDEX' must be declared

    3399/26 PL/SQL: statement ignored

    3399/26-PLS-00201: identifier ' AD_CTX_DDL. SYNC_INDEX' must be declared

    3409/26 PL/SQL: statement ignored

    3409/26-PLS-00201: identifier ' AD_CTX_DDL. SYNC_INDEX' must be declared

    LINE/COL ERROR

    -------- -----------------------------------------------------------------

    3447/27 PL/SQL: statement ignored

    3447/27-PLS-00201: identifier ' AD_CTX_DDL. SYNC_INDEX' must be declared

    SQL > grant execute on AD_CTX_DDL. DROP_PREFERENCE applications;

    Grant execute on AD_CTX_DDL. Applications DROP_PREFERENCE

    *

    ERROR on line 1:

    ORA-04042: procedure, function, package, or package body does not exist

    The solution in the doc, you mentioned in your first post. Run the dctxpkg.sql script and pass the correct settings and make sure that it runs successfully.

    Thank you

    Hussein

Maybe you are looking for