Compiling an invalid packagebody without errormessage

Hi,
I have just altered a package and it became invalid without any notification during compilation.
It took me quite some time to figure it out, but it seems that the number of warnings is limited. If there are too many compilation warnings, the errors get ignored.
The message log states "TEST_ERROR_MESSAGE Body Compiled (with warnings)"
If there are less warnings it states "TEST_ERROR_MESSAGE Body Compiled (with errors and warnings)".
This is a serious problem, because now I can't trust the compiler messages anymore.
I have created a small example. This packagebody can't be compiled without errors, because of the TestTabType_xxx (instead off TestTabType ). But because there are too many warning you don't see an errormessage. If you remove just one of the statements "AND substr(ename,1,2) = 'A'" the error will be shown.
I'm using SQL Developer 1.1.0.21.97
on Windows XP connected to
Oracle 10.2.0.1.0 on Linux.
I hope this will be resolved soon.
Regards Arnoud
CREATE OR REPLACE PACKAGE TEST_ERROR_MESSAGE AS
PROCEDURE test;
END TEST_ERROR_MESSAGE;
CREATE OR REPLACE PACKAGE BODY TEST_ERROR_MESSAGE AS
CURSOR c_test IS
SELECT *
FROM scott.emp
WHERE substr(ename,1,2) = 'A'
AND substr(ename,1,2) = 'A'
AND substr(ename,1,2) = 'A'
AND substr(ename,1,2) = 'A'
AND substr(ename,1,2) = 'A'
AND substr(ename,1,2) = 'A'
AND substr(ename,1,2) = 'A'
AND substr(ename,1,2) = 'A'
AND substr(ename,1,2) = 'A'
AND substr(ename,1,2) = 'A'
TYPE TestTabType IS TABLE OF NUMBER;
TYPE TestRecType IS RECORD ( nr TestTabType_xxx );
PROCEDURE test AS
BEGIN
htp.print('Hello world!');
dbms_output.put_line('Hello world!');
END test;
END TEST_ERROR_MESSAGE;
/

There were 2 issues:
1. Query from ALL_ERRORS were not ordering errors first.
2. Highlight plugin (the one that does red and yellow squiggles) was issuing:
ALTER SESSION SET PLSQL_WARNINGS = 'ENABLE:ALL'
However, this statement manifested an RDBMS bug when the errors are suppressed and only warnings are present in ALL_ERRORS view. Here is SQL script evidencing the problem (assuming that package and body already created in the schema):
ALTER SESSION SET PLSQL_WARNINGS = 'ENABLE:ALL';
CREATE OR REPLACE PACKAGE BODY TEST_ERROR_MESSAGE AS
CURSOR c_test IS
SELECT *
FROM scott.emp
WHERE substr(ename,1,2) = 'A'
AND substr(ename,1,2) = 'A'
AND substr(ename,1,2) = 'A'
AND substr(ename,1,2) = 'A'
AND substr(ename,1,2) = 'A'
AND substr(ename,1,2) = 'A'
AND substr(ename,1,2) = 'A'
AND substr(ename,1,2) = 'A'
AND substr(ename,1,2) = 'A'
AND substr(ename,1,2) = 'A'
TYPE TestTabType IS TABLE OF NUMBER;
TYPE TestRecType IS RECORD ( nr TestTabType_xxx );
PROCEDURE test AS
BEGIN
htp.print('Hello world!');
dbms_output.put_line('Hello world!');
END test;
END TEST_ERROR_MESSAGE;
SELECT LINE, POSITION, text
FROM SYS.ALL_ERRORS
WHERE NAME = 'TEST_ERROR_MESSAGE'
and text like 'PLS%';
ALTER SESSION SET succeeded.
PACKAGE BODY TEST_ERROR_MESSAGE Compiled.
LINE POSITION TEXT
0 rows selected
Some other types of errors (for example not existing emp table) are not affected by this bug.
Checked in fixes into 1.5.4 and 2.0.

Similar Messages

  • Cannot compile body of dbms_utility without its specification

    hi there!
    I just got this error on my 11g EE database
    yesterday had power problems, and the backup batery did not work(but it happens very often)
    today, trying to send email with a job, i realized through TOAD that sys has 304 invalid objects.
    Try to compile and it seems something missing.
    "cannot compile body of dbms_utility without its specification"
    I cant find that specification and no forums found related to this.
    need help from experts..
    S.O. Oracle enterprise linux 4.7
    D.B. Oracle Enterprise 11.2
    thanks!

    Virendra, thanks for your time, this is the output
    Connected to:
    Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    SQL> ALTER PACKAGE SYS.DBMS_UTILITY COMPILE;
    show errors
    ALTER PACKAGE SYS.DBMS_UTILITY COMPILE BODY;
    show errors
    Warning: Package altered with compilation errors.
    SQL> Errors for PACKAGE SYS.DBMS_UTILITY:
    LINE/COL ERROR
    262/75     PLS-00103: Encountered the symbol "end-of-file" when expecting
         one of the following:
         end function pragma procedure subtype type <an identifier>
         <a double-quoted delimited-identifier> current cursor delete
         exists prior
    SQL>
    Warning: Package Body altered with compilation errors.
    SQL>

  • PLS-00304: cannot compile body of 'PA_TIME_CLIENT_EXTN' without its specifi

    Hi expert,
    We are trying the validate the PA_TIME_CLIENT_EXTN package body. It is giving the below error.
    0/0 PL/SQL: Compilation unit analysis terminated
    1/14 PLS-00905: object APPS.PA_TIME_CLIENT_EXTN is invalid
    1/14 PLS-00304: cannot compile body of 'PA_TIME_CLIENT_EXTN' without
    its specification
    My environment details are as below.
    Oracle apps version: 11.5.10.2
    DB version : 11.2.0.1
    OS version : IBM AIX 6.1
    Please help me on this.
    Thanks

    This error is usually seen when you have a different datatype specification in your package specification and your package body. I think that is some thing you might want to check first.
    Regards,
    Johan Louwers

  • Compiling Media invalid file path error when buring a DVD

    Hello,
    I have updated to 3.0.2 Premiere Elements and the latest XP Home updates. I had 2.0 and it worked without any problems. I bought 3.0 and have had nothing but problems, I can capture, access files and put a video together but no matter if to file or to DVD I always get this error
    "Burn DVD Progress screen"
    "Compiling Media invalid file path"
    then it all stops and nothing.
    Any help or suggestions appreciated, I searched the web for this error and found nothing, when I search here I seem to get every Adobe product comes up but no premiere.
    Thank you

    I started to do the FAQ to build a clean AVI file. I also re-installed the program, did an update to 3.0.2, defrag. Made sure I had 118gig space. All in order. Still I got the errors. Then I thought perhaps since this pointed to a path that somewhere a path was not correct. So I looked under Preferences - scratch disks - and found they all pointed to the D drive where I had some old Adobe files. It appears the 2.0 version worked when I had the files stored on another partition and 3.0 did not like this. So when I moved everything in Scratch Disk to the same folder on C: where I installed 3.0 things seemed to begin to work.
    I tested it by burning to a file and then to an actual DVD and both worked well. I have a quad core chip.
    Now the problem seems to be when I edit each end of a clip, "the IN and OUT" the in does not seem to be saved or rendered. When I get to the preview I can still see and hear date prior to the SET IN. I save, re-save and re-render and it still happens. However some clips it works fine.
    Thanks again for pointing me in a direction so at least I can start to trouble shoot.

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

    Hi all,
    While compiling the below pasted package , 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 invalidBut I believe that have declared package and ppackage body specification correctly. Please could anyone help me to find out 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

    Hi,
    PLS-00304: cannot compile body of 'EDR_RPT_CLASS_BY_TAWT_PACKAGE'
    without its specificationThis error usually indicates an issue with used datatypes in a package spec. that differs from a package body.
    Check your spec:
    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; However in your package body:
    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 NUMBERReturn number in spec. vs. return varchar2 in body..
    That won't compile, either return a number or a varchar2 in both. (spec and body).

  • Error "Compile error: Invalid character" after copy paste operations in VBE 6.5 PowerPoint 2011

    This is a weird problem with the VBE 6.5 in Office 2011, running natively on a Mac.
    Sometimes, yet often, when I select a word by double clicking on it or a line by highlighting that line in the editor and then copy/paste it somewhere else in the code, the compiler throws the error "Compile error: Invalid character"
    The thing is, what I see has been pasted is exactly the same as the source text. However, if I then paste the same clipboard item to a text editor, I can see that there is an 'invisible' character at the end of the string which is counted in the text editor
    where the cursor is shifted past it but does not shown on the screen!!!
    Back in the VBE, if I select a line that is dubious and drag it, the semi transparent dragged text has a '>' character on a new line.
    In some copy/paste cases, the compiler doesn't see an error but the code doesn't work as expected and I have spent hours debugging stuff that has invisible characters in it (the hardest debugging I've ever had to do!).
    I'm not sure if this example will paste correctly into the forum but this looks like 19 characters but is in fact 20 as there is the offending copy/paste invisible character between 'Test' and '.'
    <code>Test.Value = False</code>
    This seems to be a major oversight in the code of the VBE 6.5 so are Microsoft aware of this and when is it due to be fixed?
    Jamie.

    I had this exact issue.  This is a terrible bug.  The code looks perfect, but there are hidden characters that throw compiler errors.  Thanks for the quick fix, Microsoft.

  • To compile all invalid objects

    how we can compile all invalid objects? is there any sample plsql code?

    dbms_utility.compile_schema('shema_name');Please note that from Oracle 9i onwards this does not work. It compiles objects in alphabetical order rather than reverse dependency order, so you may end up with more objects uncompiled than you started with. This change occurred due to the introduction of Java (boo! hiss!) which allows circular dependencies.
    Since then, the only safe way to compile objects is to use the %ORACLE_HOME%\rdbms\admin\utlirp.sql script (which requires sysdba access).
    This has been packaged up in 10gR2 as UTL_RECOMP.
    Thereby proving that searching is easy but finding the right answer is difficult.
    Cheers, APC
    Blog : http://radiofreetooting.blogspot.com/

  • Compile all invalid packages together + connect as sysdba only

    Hi
    I've installed a Ora 10.2, and imported a dump. This dump contained some users, a lot of tables and stored procs.
    My first question: There is an imported user with I can connect as sysdba only. I can't connect as normal... it is problem because there is an application upper the db and I can't tell the applicataion that connect as sysdba. (it is only a sandbox for me...) What should I modify on this user to connect as normal user?
    The second question: The schema (upper) contains lot of invalid packages. I have only the free Toad and I can't compile all of them only step by step... (I don't want do this step by step because there are about 300 packages...). How could I complile all of them e.g. from Sqlplus? Any other solution?
    Thanks in advance!
    Alex

    ok, there is a user e.g. "xxxx"
    I can connect with this user as sysdba only. "CONNECT xxxx/yyyy@db as sysdba". Without "as sysdba" I got "ORA-01017: invalid username/password; logon denied" So I can connect only as sysdba... but this is a simple user so I don't want to connect as sysdba...

  • How to compile all invalid objects in SQL Developer

    Hi
    I am used to PL\SQL Developer and currently I am testing SQL Developer (version 2.1). I have question where can I find in SQL Developer functionality (or how to invoke those functions) like:
    1 ) To list all invalid objects and then compile them.
    2) Invoke window similar to “Command window” in PL\Sql Developer
    Thanks for help
    Groxy

    Could I please revive this and ask how do I use UTL_RECOMP?
    Also, I could not find a description of the icons in SQL Developer. Some procedures are shown with a green plus sign (I am guessing here since I can't make out what it is) on them and the ones that I right-click and compile have this green go away. Can you explain?
    Thanks a lot.

  • Pro*Cobol aborts without errormessage

    Hi,
    we are using the Pro*Cobol Precompiler for embedded SQl in Cobol-Programs.
    Today I got a program abort without a helpful message (please see below).
    Is there a possibilty to get more informations from the Pro*Cobol?
    The program abort:
    Pro*COBOL: Release 10.2.0.1.0 - Production on Do Mrz 14 11:34:50 2013
    Copyright (c) 1982, 2005, Oracle. All rights reserved.
    System-Standardoptionswerte aus: /oracle/HMOT/precomp/admin/pcbcfg.cfg
    PCB-I-0556: Abbruchfehler. Vorherige Fehlerbedingungen auflösen und Vorkompilierung erneut durchführen
    It means:
    PCB-I-0556: Unrecoverable error. Fix previous errors and re-precompile
    Thanks and Regards,
    Michael

    Not the correct forum for your question - this one deals with general RDBMS questions. Not general Oracle product questions.
    Have a look at the manual and at precompiler settings. By default ERRORS=YES, which means full error listing to the terminal when compiling. If this is set to NO, you will need to look in the log file for full error details. From your description, this setting would seem to be set to NO.
    Or this is how I understand from my quick look at the Pro*COBOL® Programmer's Guide. (documentation portal at http://tahiti.oracle.com)

  • REUSE SETTINGS supresses error messages when compiling an invalid object

    Hello,
    my test:
    Create a table and a packaged procedure referencing the table. Then drop the table and recompile the package:
    CREATE TABLE x (
        y     NUMBER
    CREATE OR REPLACE PACKAGE y
    AS
    PROCEDURE z;
    END y;
    SHOW ERRORS
    CREATE OR REPLACE PACKAGE BODY y
    AS
    PROCEDURE z
    IS
      v_count PLS_INTEGER;
    BEGIN
      SELECT COUNT(*)
      INTO v_count
      FROM x;
    END z;
    END y;
    SHOW ERRORS
    DROP TABLE x;
    PROMPT 1.Compile package
    ALTER PACKAGE y COMPILE;
    SHOW ERRORS
    PROMPT 2.Compile package body
    ALTER PACKAGE y COMPILE BODY;
    SHOW ERRORS
    PROMPT 3.Compile package with "REUSE SETTINGS"
    ALTER PACKAGE y COMPILE REUSE SETTINGS;
    SHOW ERRORS
    PROMPT 4.Compile package body with "REUSE SETTINGS"
    ALTER PACKAGE y COMPILE BODY REUSE SETTINGS;
    SHOW ERRORS
    SELECT object_name
          ,object_type
    FROM   user_objects
    WHERE  status = 'INVALID';
    --DROP PACKAGE y;Partly unexpected output
    Tabelle wurde erstellt.
    Package wurde erstellt.
    Keine Fehler.
    Package Body wurde erstellt.
    Keine Fehler.
    Tabelle wurde gelöscht.
    1.Compile package
    Warnung: Paket wurde mit Kompilierungsfehlern geõndert.
    Keine Fehler.
    2.Compile package body
    Warnung: Paketrumpf wurde mit Kompilierungsfehlern geõndert.
    Fehler bei PACKAGE BODY Y:
    LINE/COL ERROR
    8/3      PL/SQL: SQL Statement ignored
    10/8     PL/SQL: ORA-04044: procedure, function, package, or type is not
             allowed here
    3.Compile package with "REUSE SETTINGS"
    Warnung: Paket wurde mit Kompilierungsfehlern geõndert.
    Keine Fehler.
    4.Compile package body with "REUSE SETTINGS"
    Warnung: Paketrumpf wurde mit Kompilierungsfehlern geõndert.
    Keine Fehler.
    OBJECT_NAME     OBJECT_TYPE
    Y               PACKAGE BODY
    1 Zeile wurde ausgewõhlt.It says
    - Table created
    - Package created
    - Package body created
    - Table dropped
    - Package header compiled with errors (why?)
    - Package body compiled with errors (shown error is expected)
    - Package header compiled with errors (again why?)
    - Package body compiled with errors (no errors shown)
    So why is the header compiled with errors, when the object is valid.
    And why is no error shown for COMPILE REUSE SETTINGS when there are errors for the body?
    I use REUSE SETTINGS when recompiling invalid objects that were compiled for debug with
    ALTER PACKAGE abc COMPILE PLSQL_DEBUG = TRUE REUSE SETTINGSRegards
    Marcus
    Version:
    SQL*Plus: Release 10.2.0.1.0 - Production on Di Jan 27 12:45:20 2009
    Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 - 64bit Production
    With the Partitioning, OLAP and Data Mining options

    Hi,
    From SQL Reference Manual [REUSE SETTINGS|http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/statements_1007.htm#BGBGEIGD]:
    Specify REUSE SETTINGS to prevent Oracle from dropping and reacquiring compiler switch settings. With this clause, Oracle preserves the existing settings and uses them for the recompilation of any parameters for which values are not specified elsewhere in this statement.
    For backward compatibility, Oracle Database sets the persistently stored value of the PLSQL_COMPILER_FLAGS initialization parameter to reflect the values of the PLSQL_CODE_TYPE and PLSQL_DEBUG parameters that result from this statement.
    Regards,

  • How to Compile Sys invalid objects

    Dear,
    We have found one invalid object in our database which owner is SYS.
    How i compile this objects it's OBJECT_TYPE is package_body.
    Please suggest me if any..
    Wting
    Raj

    hello.
    I run this script, but sys's objects again to be with erros:
    OWNER     OBJECT_NAME
    SYS     ALL_WORKSPACES
    SYS     DBA_OUTLINES
    SYS     DBA_OUTLINE_HINTS
    SYS     DBA_WORKSPACES
    SYS     DBA_WORKSPACE_SESSIONS
    SYS     KU$_OUTLINE_VIEW
    SYS     LOGOFF_PROC
    SYS     LT
    SYS     LTADM
    SYS     LTDDL
    SYS     LTDTRG
    SYS     LTPRIV
    SYS     LTRIC
    SYS     LTUTIL
    SYS     LT_CTX_PKG
    SYS     NO_VM_CREATE
    SYS     NO_VM_CREATE_PROC
    SYS     NO_VM_DROP
    SYS     NO_VM_DROP_PROC
    SYS     OUTLN_PKG
    SYS     OWM_DDL_PKG
    SYS     OWM_MIG_PKG
    SYS     OWM_REPUTIL
    SYS     SYS_LOGOFF
    SYS     UD_TRIGS
    SYS     USER_OUTLINES
    SYS     USER_OUTLINE_HINTS
    SYS     USER_WORKSPACES
    SYS     WM$WORKSPACE_SESSIONS_VIEW
    SYS     WM_DDL_UTIL
    SYS     WM_INSTALLATION
    MDSYS     ALL_GEOMETRY_COLUMNS
    MDSYS     ALL_SDO_GEOM_METADATA
    MDSYS     ALL_SDO_INDEX_INFO
    MDSYS     ALL_SDO_INDEX_METADATA
    MDSYS     ALL_SDO_LRS_METADATA
    MDSYS     ALL_SDO_MAPS
    MDSYS     ALL_SDO_STYLES
    MDSYS     ALL_SDO_THEMES
    MDSYS     DBA_GEOMETRY_COLUMNS
    MDSYS     DBA_SDO_GEOM_METADATA
    MDSYS     DBA_SDO_INDEX_INFO
    MDSYS     DBA_SDO_INDEX_METADATA
    MDSYS     DBA_SDO_LRS_METADATA
    MDSYS     DBA_SDO_MAPS
    MDSYS     DBA_SDO_STYLES
    MDSYS     DBA_SDO_THEMES
    MDSYS     GEODETIC_SRIDS
    MDSYS     MD2
    MDSYS     SDO_CATALOG
    MDSYS     SDO_GEOM_TRIG_DEL1
    MDSYS     SDO_GEOM_TRIG_INS1
    MDSYS     SDO_GEOM_TRIG_UPD1
    MDSYS     SDO_LRS_TRIG_DEL
    MDSYS     SDO_LRS_TRIG_INS
    MDSYS     SDO_LRS_TRIG_UPD
    MDSYS     SDO_META
    MDSYS     SDO_MIGRATE
    MDSYS     SDO_RELATEMASK_TABLE
    MDSYS     SDO_RELATE_MASK
    MDSYS     TRANSFORM_MAP
    MDSYS     USER_GEOMETRY_COLUMNS
    MDSYS     USER_SDO_GEOM_METADATA
    MDSYS     USER_SDO_INDEX_INFO
    MDSYS     USER_SDO_INDEX_METADATA
    MDSYS     USER_SDO_LRS_METADATA
    MDSYS     USER_SDO_MAPS
    MDSYS     USER_SDO_STYLES
    MDSYS     USER_SDO_THEMES
    Can I help you? thanks.
    Oracle9i Enterprise Edition Release 9.2.0.2.0 - Production

  • How to compile a kernel module without recompiling the whole kernel?

    Hi,
    I'm pretty sure my question is a bit newbish, still I haven't been able to found any information/solution to my problem in 3days.
    The kernel I use doesn't come with the module I need for my hardware and I would like to know if there's a way to compile it without having to make a new kernel myself (since compiling the kernel takes ages on my machine).
    Even if your answer is a "Let me Google that for you", I'm so desperate that I'll be happy to see it.
    Thank you all in advance for your answers!

    Do you have a /proc/config.gz that you could use? Otherwise I don't know. I mean, many modules should be compilable simply with the system-installed kernel headers, but not all native modules might follow that rule.
    Unfortunatel most of what you find on the web talks about how to create new modules which can be compild against the installed kernel tree, not about how to compile one of the native kernel modules against it.
    Actually, try what those links suggest.
    Skip the configuration part, and just do:
    make -C /lib/modules/`uname -r`/build M=$(PWD)/drivers/video modules
    (maybe `make -C /lib/modules/`uname -r`/build M=$(PWD)/drivers/video clean` first )
    EDIT: Meh, that uses your config and won't build that driver... there must be some way though
    EDIT2: Try:
    make -C /lib/modules/`uname -r`/build M=$(PWD)/drivers/video modules CONFIG_FB_VT8623=m CONFIG_FB_SVGALIB=m
    The problem though is, that they might have removed some of the dependencies of the module, so if it doesn't compile, you'll have to recompile the kernel.
    Good thing is though, you can use their .config as base (found in /usr/src/linux-..../.config)
    You can also check if your config "supports" your module by putting it into the kernel source tree, running `make menuconfig` and typing /8623 and pressing enter.
    The last line in that screen should read:
    Selects: <list of options>
    As long as all of those options are either =y or =m, you're good. SVGALIB can be =n because it's part of drivers/video/ and you can compile it together with  your module.
    Last edited by Blµb (2012-03-02 15:14:16)

  • Force Compilation of Resource Bundles without Metadata

    I am publishing a Flex 4 application that uses resource bundles from Flash Builder. Unless I include at least one piece of metadata that references a bundle;
    eg. [ResourceBundle("mybundle")]
    I cannot get the bundle to compile into the application. Is there any way I can force its compilation as I only want to reference the bundle dynamically using ResourceManager?

    Hi Gordon,
    Are you saying that it is impossible to force the inclusion of a resource bundle, or just that it isn't best practice? If there is a way of doing it I would appreciate it if you could let me know how.
    I have tried using:
    -compiler.use-resource-bundle-metadata=true
    -include-resource-bundles=mybundlename
    But to no avail.
    Thanks.

  • How to compile HTMLDB_SITE_ADMIN_PRIVS invalid package body?

    Hi,
    I am trying to grant HTMLDB Administrator privilege to assign the other Oracle default schemas to workspaces by executing the following procedure.
    SQL> EXEC HTMLDB_SITE_ADMIN_PRIVS.UNRESTRICT_SCHEMA(p_schema => 'SYSTEM');
    However, the package body is corrupted. As the package body is wrapped, I cannot compile it manually.
    FLOWS_020000@PROD> ALTER PACKAGE HTMLDB_SITE_ADMIN_PRIVS COMPILE BODY;
    Warning: Package Body altered with compilation errors.
    FLOWS_020000@pPROD> SHOW ERRORS;
    Errors for PACKAGE BODY HTMLDB_SITE_ADMIN_PRIVS:
    LINE/COL ERROR
    0/0 PLS-00753: malformed or corrupted wrapped unit
    I'd greatly appreciate if you can provide any suggestion or advice for me to compile or reload this wrapped package body.
    Thanks,
    Deborah

    Hi,
    I am trying to grant HTMLDB Administrator privilege to assign the other Oracle default schemas to workspaces by executing the following procedure.
    SQL> EXEC HTMLDB_SITE_ADMIN_PRIVS.UNRESTRICT_SCHEMA(p_schema => 'SYSTEM');
    However, the package body is corrupted. As the package body is wrapped, I cannot compile it manually.
    FLOWS_020000@PROD> ALTER PACKAGE HTMLDB_SITE_ADMIN_PRIVS COMPILE BODY;
    Warning: Package Body altered with compilation errors.
    FLOWS_020000@pPROD> SHOW ERRORS;
    Errors for PACKAGE BODY HTMLDB_SITE_ADMIN_PRIVS:
    LINE/COL ERROR
    0/0 PLS-00753: malformed or corrupted wrapped unit
    I'd greatly appreciate if you can provide any suggestion or advice for me to compile or reload this wrapped package body.
    Thanks,
    Deborah

Maybe you are looking for