Help with ORA-01403: no data found please.

First off I'd like to apologise for my lack of PL/SQL experience, what follows may seem naive, but I guess we all have to start somewhere.
I'm trying to create a function which determines an employee's Annual Holiday Entitlement by comparing their length of service against a lookup of entitlement values. Due to the complexity of the application I'm targeting there are a number of other factors to be take into consideration, but this is the basic idea of what I want to achieve.
I've started by taking a working SQL Server 2005 function and converted this using the translation scratch pad in SQL Developer 1.5.1 I'm now hand cranking the subtleties into the script but when I debug the code I'm getting "ORA-01403: no data found" at almost every SELECT. In fact the only successful select is from the ABS_SYSTEM_CONTROLS table. I can handle the first few failures by setting default values in the variables that I'm trying to load, but this isn't an option when it comes to selecting the DATE_OF_START from the PERSON table.
I've sure I've probably made some fundamental error, but can't spot it myself. Any help would be most welcome.
I've included the entire script below for your entertainment ;-)
Thanks
Phil.
create or replace
function mygetannualholidayentitlement
( v_empNo in varchar2
, v_inputDate in DATE
) return number as
   -- Declare variables here
   v_entitlement FLOAT(53);
   v_holidayPlan VARCHAR2(20);
   v_contServiceOption VARCHAR2(255);
   v_postNo CHAR(16);
   v_lengthOfService NUMBER(10,2) ; -- Need to give this a default value else the CURSOR (below) won't initialise.
   v_empStartDate DATE;
   -- Load up our loacal variable for each row in the loop and the final value is the one we want.
   v_selectedLOF FLOAT(53);
   v_selectedDateEffective DATE;
   v_selectedAmount FLOAT(53);
   v_effectiveDate DATE;
   -- Cursor declaration
   -- Holiday plan details are also keyed on DATE_EFFECTIVE.  Need to identify which row is active as at our @effectiveDate.
   CURSOR holDefCursor
     IS SELECT length_of_service,
   date_effective,
   amount
     FROM holiday_plan_def
      WHERE hplan_code = v_holidayPlan
     AND length_of_service < v_lengthOfService
     ORDER BY date_effective ASC,
   length_of_service ASC;
BEGIN
   -- Initialise variables --
   -- truncate any hours/Mins & secs from effective date
   v_effectiveDate := trunc(v_inputdate);
   v_entitlement := 0;
   v_contServiceOption := 0;
   v_lengthOfService := 0;
   BEGIN
   SELECT HPLAN_CODE
     INTO v_holidayPlan
     FROM APPT_HOLIDAY_BALANCE
      WHERE emp_no = v_empNo
              --          post_no = @postNo and
              AND ( v_effectiveDate BETWEEN HOLIDAY_YEAR_START AND HOLIDAY_YEAR_END );
   EXCEPTION
   WHEN NO_DATA_FOUND THEN
      v_holidayplan:=NULL;
   WHEN OTHERS THEN
       raise_application_error(-20011,'Unknown Exception in MyGetAnnualHolidayEntitlement function.');
   END;
   -- Still no hoildayPlan? Then use the default plan code from ABS_SYSTEM_CONTROLS.
   IF v_holidayPlan IS NULL THEN
      SELECT HPLAN_CODE
        INTO v_holidayPlan
        FROM ABS_SYSTEM_CONTROLS ;
   END IF;
   BEGIN
    SELECT OPTION_VALUE
      INTO v_contServiceOption
      FROM PS_OPTIONS
       WHERE OPTION_NAME = 'CONTINUOUS_SERVICE_OPTION';
   EXCEPTION
   WHEN NO_DATA_FOUND THEN
      v_contServiceOption := 'N' ;
   WHEN OTHERS THEN
       raise_application_error(-20011,'Unknown Exception in MyGetAnnualHolidayEntitlement function.');
   END;
   IF v_contServiceOption = 'Y' THEN
   BEGIN
      -- Need to take into account the employees CONTINUOUS_SERVICE_DATE when calculating length of service
      BEGIN
      SELECT CONTINUOUS_SERVICE_DATE
        INTO v_empStartDate
        FROM person
         WHERE emp_no = v_empNo;
      EXCEPTION  
        WHEN NO_DATA_FOUND THEN
          v_empStartDate := NULL;
        WHEN OTHERS THEN
          raise_application_error(-20011,'Unknown Exception in MyGetAnnualHolidayEntitlement function.');
      END;
      -- If we can't get a CONTINUOUS_SERVICE_DATE we will fall back to PERSON.DATE_OF_START
      IF v_empStartDate IS NULL THEN
      BEGIN
         SELECT DATE_OF_START
           INTO v_empStartDate
           FROM PERSON
            WHERE emp_no = v_empNo;
      EXCEPTION  
        WHEN OTHERS THEN
          raise_application_error(-20011,'Unknown Exception in MyGetAnnualHolidayEntitlement function.');
      END;
      END IF;
   END;
   ELSE
   BEGIN
      -- Need to use employees DATE_OF_START when calculating length of service
      SELECT DATE_OF_START
        INTO v_empStartDate
        FROM PERSON
         WHERE emp_no = v_empNo;
   END;
   END IF;
   -- Now we can get length of service
   v_lengthOfService := sqlserver_utilities.datediff('MONTH', v_empStartDate, v_effectiveDate) / 12.00;
   OPEN holDefCursor;
   FETCH holDefCursor INTO v_selectedLOF,v_selectedDateEffective,v_selectedAmount;
   WHILE ( sqlserver_utilities.fetch_status(holDefCursor%FOUND) = 0 )
   LOOP
      BEGIN
         IF v_selectedDateEffective < v_effectiveDate THEN
            v_entitlement := v_selectedAmount;
         END IF;
         -- Get the next value.
         FETCH holDefCursor INTO v_selectedLOF,v_selectedDateEffective,v_selectedAmount;
      END;
   END LOOP;
   CLOSE holDefCursor;
   -- Return the result of the function
   RETURN v_entitlement;
END;Edited by: user4395499 on 27-Oct-2008 04:04
Edited by: user4395499 on 27-Oct-2008 04:05
Edited by: user4395499 on 27-Oct-2008 07:10

Your code is extremely procedural - whilst you could ultimately get it to work like this, it is not the most efficient way of doing it.
You should think about reducing your code to one sql statement if at all possible - this reduces the amount of context switching that needs to take place (eg. Going from PL/SQL to SQL back to PL/SQL to SQL, etc) and is usually much easier to maintain and test. You could do this by joining the various tables together, (and you might want to think about using nvl() to combine the two queries on the PERSON table!).
Also, you've labelled your parameters "v_" and your variables "v_" ... common convention uses "p_" for parameters, to allow for easy distinction between parameters passed in and variables declared during the course of the procedure/function.
As to the char() defined column - is there any chance that you could change that? As you've found out, chars are usually not a good datatype to use! Storing numbers in a char/varchar2 column is a no-no too, as you then run the risk of having invalid numbers stored in the column.

Similar Messages

  • Import job failes with ORA-01403: no data found ORA-06512: at "SYSMAN.MGMT

    Hello everyone,
    I need a help on importing data from a schema in server 1 to the same schema in server 2 via network link. I receive following error when I try to submit a job on Enterprise Manager:
    Import Submit Failed
    ORA-01403: no data found ORA-06512: at "SYSMAN.MGMT_JOB_ENGINE", line 5806 ORA-06512: at "SYSMAN.MGMT_JOB_ENGINE", line 7812 ORA-06512: at "SYSMAN.MGMT_JOB_ENGINE", line 8608 ORA-01403: no data found ORA-06512: at "SYSMAN.MGMT_JOBS", line 273 ORA-06512: at "SYSMAN.MGMT_JOBS", line 86 ORA-06512: at line 1
    Sql of the job:
    declare
    h1 NUMBER;
    begin
    h1 := dbms_datapump.open (operation => 'IMPORT', job_mode => 'FULL', remote_link => 'B_PROD_LINK', job_name => 'BIMPORTFRMPRDTORPT4', version => 'COMPATIBLE');
    dbms_datapump.set_parallel(handle => h1, degree => 1);
    dbms_datapump.add_file(handle => h1, filename => 'IMPORT.LOG', directory => 'DATA_PUMP_DIR', filetype => 3);
    dbms_datapump.set_parameter(handle => h1, name => 'KEEP_MASTER', value => 0);
    dbms_datapump.set_parameter(handle => h1, name => 'INCLUDE_METADATA', value => 1);
    dbms_datapump.set_parameter(handle => h1, name => 'ESTIMATE', value => 'BLOCKS');
    dbms_datapump.set_parameter(handle => h1, name => 'REUSE_DATAFILES', value => 0);
    dbms_datapump.set_parameter(handle => h1, name => 'TABLE_EXISTS_ACTION', value => 'TRUNCATE');
    dbms_datapump.set_parameter(handle => h1, name => 'SKIP_UNUSABLE_INDEXES', value => 0);
    dbms_datapump.start_job(handle => h1, skip_current => 0, abort_step => 0);
    dbms_datapump.detach(handle => h1);
    end;
    It says network link is active when I test the network link to make sure its connectivity. I create the network link as a system account. I'm trying to do an import from an Oracle database 10.2.0.2 to 11.2.0.1. My 10g database is on ms windows 2003x64 while my 11g database is on OEL 5.4x64.
    What should I do for now?
    Thank you.
    Edited by: user12144220 on Nov 4, 2012 5:02 AM

    It will be wise to run the Oracle supply streams health check script to check your existing streams environment.
    From the result, you can also open a tar with Oracle to see if they can help you with the setup.
    In addition to the ORA-01403 error, you can also run some of the Oracle Streams packages (Managing Apply Errors) to see the full detail of what is missing that caused the Ora-01403 error.
    I will also try to implement a smoke test using the simple heartbeat table suggested by Oracle Streams, if that is working, then you can begin your full scale setup in your environment knowing that the base Streams Structure is setup correctly.
    HTH

  • Error saving column settings with ORA-01403: no data found Error

    Hi
    I have a region with multi row report updatable.
    When I am trying to change the query I am getting below error.
    Anybody let me know what will be the problem.
    ORA-01403: no data found
    Error saving column settings
    Regards
    Kiran

    Hi
    I was using below query for this region.
    SELECT
    result.segment1 Item#,
              result.inventory_item_id,
              result.revision,
              result.lot_number,
              result.Lot_Onhand,
              result.Heat,
              result.Cert_Site_Number Cert_Site_Number_Display,
              result.status_code Status_Code_Display,
    result.Cert_ID Cert_ID_Display,
              result.Cert_Site_Number,
              result.status_code,
    result.Cert_ID,
              result.transaction_id,
    result.po_header_id,
    result.po_line_id,
    result.rcv_transaction_id,
    result.shipment_header_id,
    result.shipment_line_id
    FROM          
    SELECT      
    msi.segment1,
              mmt.inventory_item_id,
              mmt.revision,
              mtln.lot_number,
              xx_utility_pkg.get_available_qty(mmt.inventory_item_id,mmt.organization_id,mmt.subinventory_code,mtln.lot_number,'ONHAND') Lot_Onhand,
              mtln.attribute1 Heat,
              mtln.attribute2 Cert_Site_Number,
              mms.status_code,
                        (          SELECT     clx.cert_id
                        FROM     xxqc.cert_mst cm,
                                  xxqc.cert_lot_xref clx
                        WHERE      cm.cert_id = clx.cert_id
                        AND cm.cert_type='MILL'
                        AND     clx.lot_no = mtln.lot_number
              ) Cert_ID,
              mmt.transaction_id,
              rsl.po_header_id,
              rsl.po_line_id,
    mmt.rcv_transaction_id,
    rt.shipment_header_id,
    rsl.shipment_line_id
    FROM      mtl_material_transactions mmt,
              mtl_transaction_lot_numbers mtln,
              mtl_material_statuses_tl mms,
              rcv_transactions rt,
              rcv_shipment_headers rsh,
              rcv_shipment_lines rsl,
    mtl_system_items_b msi
    WHERE     mmt.transaction_id = mtln.transaction_id
    AND          mmt.organization_id = mtln.organization_id
    AND          mtln.status_id = mms.status_id
    AND          rt.transaction_id = mmt.rcv_transaction_id
    AND          rsh.shipment_header_id = rt.shipment_header_id
    AND          rsl.shipment_header_id = rsh.shipment_header_id
    AND          rsh.organization_id = mmt.organization_id
    AND          rsl.item_id = mmt.inventory_item_id
    AND msi.inventory_item_id=rsl.item_id
    AND msi.organization_id = mmt.organization_id
    AND          rsl.po_line_id = DECODE(:P5_PO_LINE_NUMBER, 0,rsl.po_line_id,:P5_PO_LINE_NUMBER)
    AND rsl.po_header_id IN (     SELECT     po_header_id
                        FROM      po_headers_all
                        WHERE      segment1 = :P5_PO_NUMBER
                        AND      org_id = :P5_ORG_ID)
    AND          mtln.status_id = 90 -- Which is 'T' Status means Temporary
    AND          mmt.transaction_action_id = 27
    AND          mmt.transaction_source_type_id = 1
    AND          mmt.transaction_type_id = 18
    ) result
    WHERE result.Lot_Onhand > 0
    when I use above query I am able to update the region perfectly.
    But when I comment last WHERE CONDITION I am getting above problem.
    What could be the possilbe reason for this?
    Regards
    Kiran Akkiraju

  • Oracle error 1403:java.sql.SQLException: ORA-01403: no data found ORA-06512

    My customer has an issue, and error message as below:
    <PRE>Oracle error 1403: java.sql.SQLException: ORA-01403: no data found ORA-06512:
    at line 1 has been detected in FND_SESSION_MANAGEMENT.CHECK_SESSION. Your
    session is no longer valid.</PRE>
    Servlet error: An exception occurred. The current application deployment descriptors do not allow for including it in this response. Please consult the application log for details.
    And customer’s statement is: Upgrade from EBS 11.5.10 to 12.1.3. Login the EBS, open any forms and put it in idle. Then refresh the form, error happens
    Then, I checked ISP, and found two notes:
    Note 1284094.1: Web ADI Journal Upload Errors With ORA-01403 No Data Found ORA-06512 At Line Has Been Detected In FND_SESSION_MANAGEMENT.CHECK_SESSION.Your Session Is No Longer Valid (Doc ID 1284094.1)
    Note 1319380.1: Webadi Gl Journal Posting Errors After Atg R12.1.3 (Doc ID 1319380.1)
    But these two notes are both WebADI.
    Following is the data collection from customer:
    1. Run UNIX command to check .class file version:
    strings $JAVA_TOP/oracle/apps/bne/utilities/BneViewerUtils.class | grep Header--> S$Header: BneViewerUtils.java 120.33.12010000.17 2010/11/21 22:19:58 amgonzal s$
    2. Run SQL to check you patch level:
    SELECT * FROM fnd_product_installations WHERE patch_level LIKE '%BNE%';--> R12.BNE.B.3
    3. Run SQL to check patch '9940148' applied or not:
    SELECT * FROM ad_bugs ad WHERE ad.bug_number = '9940148';--> No Rows returned
    4. Run SQL to check patch '9785477' applied or not:
    SELECT * FROM ad_bugs WHERE bug_number in ('9785477');-->
    BUG_ID APPLICATION_SHORT_NAME BUG_NUMBER CREATION_DATE ARU_RELEASE_NAME CREATED_BY LAST_UPDATE_DATE LAST_UPDATED_BY TRACKABLE_ENTITY_ABBR BASELINE_NAME GENERIC_PATCH LANGUAGE
    576982 11839583 2011/8/7 上午 08:20:36 R12 5 2011/8/7 上午 08:20:36 5 pjt B n US
    516492 9785477 2011/6/12 上午 11:42:45 R12 5 2011/6/12 上午 11:42:45 5 bne B n US
    546109 9785477 2011/6/12 下午 01:17:41 R12 5 2011/6/12 下午 01:17:41 5 bne B n ZHT
    5. Run SQL to check the status of object ‘FND_SESSION_MANAGEMENT’
    SELECT * FROM dba_objects do WHERE do.object_name = 'FND_SESSION_MANAGEMENT';-->
    OWNER OBJECT_NAME SUBOBJECT_NAME OBJECT_ID DATA_OBJECT_ID OBJECT_TYPE CREATED LAST_DDL_TIME TIMESTAMP STATUS TEMPORARY GENERATED SECONDARY NAMESPACE EDITION_NAME
    APPS FND_SESSION_MANAGEMENT 219425 PACKAGE 2004/10/30 下午 01:52:35 2011/8/7 上午 08:18:39 2011-08-07:08:18:26 VALID N N N 1
    APPS FND_SESSION_MANAGEMENT 226815 PACKAGE BODY 2004/10/31 上午 01:05:40 2011/8/7 上午 08:18:54 2011-08-07:08:18:27 VALID N N N 2
    So, my question is: Customer’s BneViewerUtils.java version is already 120.33.12010000.17, which greater than 120.33.12010000.14. Is there any others solutions for this issue? Does customer still need to apply patch '9940148' based on action plan of
    Note 1284094.1: Web ADI Journal Upload Errors With ORA-01403 No Data Found ORA-06512 At Line Has Been Detected In FND_SESSION_MANAGEMENT.CHECK_SESSION.Your Session Is No Longer Valid?
    Customer's EBS version is 12.1.3; OS is HP-UX PA-RISC (64-bit); DB is 11.2.0.2.
    Thanks,
    Jackie

    And customer’s statement is: Upgrade from EBS 11.5.10 to 12.1.3. Login the EBS, open any forms and put it in idle. Then refresh the form, error happens
    Idle for how long? Is the issue with all sessions?
    Please see these docs/links
    User Sessions Get Timed Out Before Idle Time Parameter Values Are Reached [ID 1306678.1]
    https://forums.oracle.com/forums/search.jspa?threadID=&q=Timeout+AND+R12&objID=c3&dateRange=all&userID=&numResults=15&rankBy=10001
    Then, I checked ISP, and found two notes:
    Note 1284094.1: Web ADI Journal Upload Errors With ORA-01403 No Data Found ORA-06512 At Line Has Been Detected In FND_SESSION_MANAGEMENT.CHECK_SESSION.Your Session Is No Longer Valid (Doc ID 1284094.1)
    Note 1319380.1: Webadi Gl Journal Posting Errors After Atg R12.1.3 (Doc ID 1319380.1)
    But these two notes are both WebADI.Can you find any details about the error in Apache log files and in the application.log file?
    Any errors in the database log file?
    So, my question is: Customer’s BneViewerUtils.java version is already 120.33.12010000.17, which greater than 120.33.12010000.14. Is there any others solutions for this issue? No.
    Does customer still need to apply patch '9940148' based on action plan ofIf the issue not with Web ADI, then ignore this patch. However, if you use Web ADI you could query AD_BUGS table and verify if you have the patch applied.
    Note 1284094.1: Web ADI Journal Upload Errors With ORA-01403 No Data Found ORA-06512 At Line Has Been Detected In FND_SESSION_MANAGEMENT.CHECK_SESSION.Your Session Is No Longer Valid?
    Customer's EBS version is 12.1.3; OS is HP-UX PA-RISC (64-bit); DB is 11.2.0.2.If you could not find any details in the logs, please enable debug as per (R12, 12.1 - How To Enable and Collect Debug for HTTP, OC4J and OPMN [ID 422419.1]).
    Thanks,
    Hussein

  • Error : ORA-01403 no data found (Portal Page)

    hi you all,
    I have this confusing bug "or something" on my portal. I have created 5 tabs on my page. And everything wwas working fine until I added discoverer portlets that view's graph. Once this portlet was in and the user views the page, users can no longer click on other tabs to view it. It prompts on the page and Error stating
    Error : ORA-01403 no data found
    Please help if anyone have any idea on this
    thanks
    Saran

    This forum is for posting feedback about the OTN site.
    The best place for your question is probably a Portal forum.
    There is a list of Portal forums here:
    http://forums.oracle.com/forums/index.jsp?cat=13

  • Ora-01403 no data found cursor error - Please help.

    DECLARE
    name1 talent.candidate_name%TYPE; -- Declare variables
    name2 long; -- Declare variables
    emp_id talent_id.emplid%TYPE;
    NO_DATA_FOUND EXCEPTION;
    CURSOR c1 IS
    select candidate_name,(''''||trim(upper(candidate_name))||'''') as tst from talent ;
    BEGIN
    OPEN c1;
    LOOP
    FETCH c1 INTO name1, name2;
    EXIT WHEN c1%NOTFOUND; -- TRUE when FETCH finds no more rows
    select distinct emplid
    INTO emp_id
    from names a
    where a.name_type = 'PRI'
    and upper(a.last_name)||', '||upper(a.first_name) = name2;
    INSERT INTO talent_id VALUES (emp_id, name1);
    END LOOP;
    CLOSE c1;
    COMMIT;
    Question: Above queries prompt me error msg ora-01403 no data found for emplid. I try but fail to solve it. Please help me. Thank you
    Edited by: user12051088 on Mar 4, 2010 1:38 AM
    Edited by: user12051088 on Mar 4, 2010 1:40 AM

    Yes, this is very helpful :-)
    My testing to insert table where emplid is null but still having error ora-01403 no data found when i remove on dbms_output.put_line as shown below:
    Anyway, if i dint remove the dbms_output.put_line. It is working to insert emp_id is not null. How do I include record which emp_id is null? Thank you.
    begin
    select distinct emplid
    INTO emp_id
    from gdw_names a
    where a.name_type = 'PRI'
    and upper(a.last_name)||', '||upper(a.first_name) = name1;
    IF emp_id is null THEN
    RAISE no_data_found;
    else
    INSERT INTO gdw_talent_id VALUES (emp_id, name1);
    end if;
    exception
    when no_data_found then
    INSERT INTO gdw_talent_id VALUES (null, name1);
    --when too_many_rows then
    -- dbms_output.put_line('too many rows for ' || name1);
    -- when others then
    -- dbms_output.put_line('Unknown error for ' || name1);
    end;
    Edited by: user12051088 on Mar 4, 2010 9:11 PM

  • NEED HELP IN CONFLICT HANDLER ERROR ORA-01403: no data found

    Hi All,
    I am using Oracle Streams to replicate the data...
    I need to update the records on the destination with some particular condition like if USER_COUNTRY = 'XXX' then the data need to be updated in the destination side else skip ...
    I wrote the procedure ..below .. the data is not replicating and found the below error from dba_apply_error..
    ORA-01403: no data found
    ORA-06512: at "SYS.LCR$_ROW_RECORD", line 419
    Table called history_row_lcrs is created in the strmadmin to store the lcr values...
    CREATE OR REPLACE PROCEDURE proc_test(in_any sys.anydata)IS
    lcr sys.lcr$_row_record;
    rc pls_integer;
    v_type varchar2(20);
    col_1 sys.anydata;
    lcr_usercountry varchar2(20);
    TRANS varchar2(20);
    skip_routine Exception;
    BEGIN
    rc:=in_any.GetObject(lcr);
    v_type:=lcr.get_command_type();
    col_1:=lcr.get_value('NEW','USER_COUNTRY');
    rc:=col_1.GetVarchar2(lcr_usercountry);
    for x in ( select user_country from TEST.TESTREP1
    where USER_COUNTRY=lcr_usercountry)
    Loop
    IF (x.USER_COUNTRY = 'XXX')
    THEN
    insert into strmadmin.history_row_lcrs VALUES (SYSDATE, lcr.GET_SOURCE_DATABASE_NAME(), lcr.GET_COMMAND_TYPE(),
    lcr.GET_OBJECT_OWNER(), lcr.GET_OBJECT_NAME(), lcr.GET_TAG(), lcr.GET_TRANSACTION_ID(), lcr.GET_SCN(),
    lcr.GET_COMMIT_SCN,lcr.GET_VALUES('old'), lcr.GET_VALUES('new', 'n'));
    lcr.EXECUTE(true);
    ELSE
    Raise Skip_routine;
    END IF;
    END Loop;
    Exception
    when skip_routine Then
    null;
    END;
    BEGIN
    DBMS_APPLY_ADM.SET_DML_HANDLER(
    object_name => 'TEST.TESTREP1',
    object_type => 'TABLE',
    operation_name => 'UPDATE',
    error_handler => false,
    user_procedure => 'STRMADMIN.PROC_TEST',
    apply_database_link => NULL,
    apply_name => NULL);
    END;
    Please try to help me if am doing something wrong...because I need to update only one colums am using DML_HANDLER instead of SET_UPDATE_CONFLICT_HANDLER...
    Any other inputs are also appreciated...
    Thanks In Advance and appreciate for the quick reply...

    I fired the query, am not getting any output from dbms_output.put_line('..|USER_COUNTRY..');
    Is that no data is reading or may be any reason else..
    in this table store_id is the primary key ..
    SQL> set serveroutput on
    SQL> CREATE OR REPLACE PROCEDURE test(in_any sys.anydata) IS
    2 lcr sys.lcr$_row_record;
    3 rc pls_integer;
    4 v_type varchar2(20);
    5 col_1 sys.anydata;
    6 col_2 sys.anydata;
    7 lcr_usercountry varchar2(20);
    8 lcr_storeid number;
    9 TRANS varchar2(20);
    10 store_id number;
    11 USER_COUNTRY varchar2(20);
    12
    13 BEGIN
    14 rc:=in_any.GetObject(lcr);
    15 v_type:=lcr.get_command_type();
    16 col_1:=lcr.get_value('NEW','USER_COUNTRY');
    17 rc:=col_1.GetVarchar2(lcr_usercountry);
    18 col_2:=lcr.get_value('NEW','STORE_ID');
    19 rc:=col_2.getnumber(lcr_storeid);
    20 select user_country into user_country from dev03.testrep1 where user_country=lcr_usercountry and store_id=lcr_storeid;
    21 dbms_output.put_line('---------||USER_COUNTRY ||-----------');
    22 END;
    23 /
    Procedure created.
    Thanks for your help ....

  • Problem with new DB app, report+form, report works great, form says ORA-01403: no data found

    I have a new table, the PK is a varchar2(5) column, when I allow the default query in the report to do its work, I get all the expected data.  when I click on the edit icon (pencil), I get an error screen indicating ORA-01403: no data found.  I'm hosed!  This was generated by the app!  no changes were made to anything in the app, except to turn off tabs at create time.  I even left the default name.
    My ARF is hitting the right table with the PK column, but finds nothing.  I have the "success" message showing me the PK value.  What could be going on here, and how can it be addressed?  Today is the 1st time I have seen this matter.
    I'm running 4.22 as the workspace admin, I have other apps that work fine (to expectation), my browser is FF22, though I plan a downgrade to 18.  Our DB is 11.1.0.7.

    Jorge, thanks for your attention to my problem, I appreciate any insights, although there is a little clarification I can offer.  Also, if you can, please remind me the tags to use in my text that would properly set off the code snippets or prior message content?
    [you wrote]
    You said you have a "success" message showing you the PK value. Can you elaborate on this?
    The form page, under the ARF, allows for the display of a "success" message and a "failure" message.  I have seen my "success" message appear, but it didn't show my key field as a brought-back value (which I told it to include), and I think now this is not relevant any longer.  I found that there was a link on the report attributes page between #ROWID# and a P2_ROWID that was incorrect (probably from an earlier stage of dev in the app), and I changed this to my key field, and this altered the outcome of the ARF action.  This leads to ....
    [you wrote]
    Can you see the correct PK value in the URL? Does the item parameter match what you expect (correct page item and value)? Perhaps share that full URL here?
    I have expected values in my URL.  The URL does show my key value (tail end of URL underlined here):
    ../apex/f?p=120:2:7519563874482::NO::P2_VCODE:RB15
    [you wrote]
    Debug the page and see which process, item or step is actually failing. You could be running some other process on the form page and that could be what actually fails.  Treat it as if the ARF works correctly and see what else could be happening.
    I can add the detail that my 1st message was based on testing with a table where I set the PK as data type VARCHAR2, but in more testing on the actual app (whose URL piece is above) I am using a PK which is CHAR.
    The result of the debug effort is that APEX has built its own query for pulling back the row in the ARF, and it is joining on my PK field to an APEX item P_ROWID which I don't think I created.  Nor does it appear to offer me any avenue for correcting it.    debug snippet:    where "VCODE" = :p_rowid; end;

  • Login on user group with redirect ORA-01403: no data found

    Hi,
    i have 3 home page, one for each user group
    I would like to address the home page based on the value the group's
    i tried to do this with a process on login page
    :FSP_AFTER_LOGIN_URL := null;
    declare l_page varchar2(30);
    begin
    SELECT gr.GRP_ID
    into :P101_GRP_ID
    FROM DB1USG ug, DB0USR us
    WHERE
    AND us.USR_ID=:P101_USERNAME
    AND us.USR_ID=ug.USG_USR_ID;
    if :P101_GRP_ID = 'CPY' then l_page := '5007';
    elsif :P101_GRP_ID = 'TRF' then l_page := '5005';
    elsif :P101_GRP_ID = 'VND' then l_page := '7051';
    else l_page := '1'; -- default home page
    end if;
    wwv_flow_custom_auth_std.login(
    P_UNAME => :P101_USERNAME,
    P_PASSWORD => :P101_PASSWORD,
    P_SESSION_ID => v('APP_SESSION'),
    P_FLOW_PAGE => :APP_ID||':'||l_page
    end;
    after password input i received ORA-01403: no data found error
    Any help?
    Thanks in advance
    km

    Hi Scott,
    first access
    user USR1--> page afer login --> 7051 ->OK
    logout
    user USR2-->page right 5007
    page afer login --> 7051 --> no 5007
    Scott,
    in process on login page i added the line
    :P0_FIRST_PAGE_ID := l_page;
    and
    i modified logout URL on my Authentication Scheme
    wwv_flow_custom_auth_std.logout?p_this_flow=&APP_ID.&p_next_flow_page_sess=&APP_ID.:&P0_FIRST_PAGE_ID.
    Many thanks
    km

  • HELP!! Create source system failed in BW ( ORA-01403: no data found)

    Hi,
    I cannot create Oracle DB as a source system in my BW (7.01).
    In system log, I got the following information.
    ============================
    Database error 1403 at CON
    > ORA-01403: no data found
    ============================
    How can I fix this issue?
    It's kind of urgent.
    Thanks!
    Regards,
    Steven
    Edited by: Wen Steven on Sep 30, 2011 6:09 PM

    Hi Steven,
    Please check the below thread
    SQL/Buffer trace RC=1403
    Regards,
    Venkatesh

  • Issue with Advanced Replication - ORA-01403: no data found

    Hi,
    got into this weird issue with my replicated environment (9.2.0.5.0 on solaris). We have a bidirectionally replicated table which has been working fine for years but is now showing issues on certain records.
    We had to manually update locally some fields but that's something we did in the past, ensuring both sides were aligned, but this time it does not work.
    The two records are identical but when we try to update on one side the far end fires:
    ERROR at line 1:
    ORA-01403: no data found
    ORA-06512: at "SYS.DBMS_DEFER_SYS_PART1", line 442
    ORA-06512: at "SYS.DBMS_DEFER_SYS", line 1854
    ORA-06512: at "SYS.DBMS_DEFER_SYS", line 1900
    ORA-06512: at line 1
    Thoutght there could be some field out of sync, but the update we execute is quite easy:
    Records on current DBs:
    9495411494 EA10CARD 10 169 0 used 1.0000E+17 31-DEC-99 E-VOUCHER_10_CARD 28-MAR-13 12 10 949541
    9495411494 EA10CARD 10 169 0 used 1.0000E+17 31-DEC-99 E-VOUCHER_10_CARD 28-MAR-13 12 10 949541
    Trying to:
    update ucms_batches set batch_status='new' where serial_no=9495411494;
    commit;
    I see the change locally applied but I see an error reported on the far end. Could not decode the content of the user_data completely, the only thing I could get was:
    3.45.53207 0 0 ?
    OPS$SCNCRAFT? UCMS_BATCHES$RP?
    REP_UPDATE? ?A
    !? used? new?EA10CARD??Y
    7
    Y?'
    !?AE-VOUCHER_10_CARD??AF!????_`*!??!?A
    !????_`*_!?E
    !??? NSMS_MASTERDEF.RMS? N
    Is there anyway I could verify the SQL attempted on the far end with the data used to match the record?
    Thanks
    Mike

    Found a solution using dump function to get the data decoded and compare them across nodes.
    It came out a date field was not matching the hh:mm:ss values.
    Thanks
    Mike

  • Error in AR_INVOICE_UTILS.validate_tax_exemption ORA-01403: no data found

    Hi All,,
    --API - AR Invoice (Transaction) Creation
    CREATE OR REPLACE procedure APPS.xxx_ar_invoice_api
    is
    l_return_status varchar2(1);
    l_msg_count number;
    l_msg_data varchar2(2000);
    l_batch_source_rec ar_invoice_api_pub.batch_source_rec_type;
    l_trx_header_tbl ar_invoice_api_pub.trx_header_tbl_type;
    l_trx_lines_tbl ar_invoice_api_pub.trx_line_tbl_type;
    l_trx_dist_tbl ar_invoice_api_pub.trx_dist_tbl_type;
    l_trx_salescredits_tbl ar_invoice_api_pub.trx_salescredits_tbl_type;
    l_cust_trx_id number;
    --l_batch_id              number;
    --l_batch_id              number;
    BEGIN
    begin
    MO_GLOBAL.SET_POLICY_CONTEXT('S',85);
    end;
    fnd_global.apps_initialize(1153,50642,222);
    l_batch_source_rec.batch_source_id := 1002;
    l_trx_header_tbl(1).trx_header_id := 5555;
    l_trx_header_tbl(1).trx_date := sysdate;
    l_trx_header_tbl(1).trx_currency := 'INR';
    l_trx_header_tbl(1).cust_trx_type_id := 1;
    l_trx_header_tbl(1).bill_to_customer_id := 24059;
    l_trx_header_tbl(1).term_id := 1000;
    l_trx_header_tbl(1).finance_charges := 'Y';
    -- l_trx_header_tbl(1).status_trx := 'OP';
    -- l_trx_header_tbl(1).printing_option := 'NOT';
    --l_trx_header_tbl(1).reference_number            :=  '1111';
    l_trx_lines_tbl(1).trx_header_id := 5555;
    l_trx_lines_tbl(1).trx_line_id := 501;
    l_trx_lines_tbl(1).line_number := 1;
    l_trx_lines_tbl(1).inventory_item_id := 10008;
    --l_trx_lines_tbl(1).description              :=  'TUBRO 100 SAE 20W40 - 5 * 20 LTR Carton;
    l_trx_lines_tbl(1).quantity_invoiced := 10;
    l_trx_lines_tbl(1).unit_selling_price := 12; --Price
    l_trx_lines_tbl(1).uom_code := 'Nos';
    l_trx_lines_tbl(1).line_type := 'LINE';
    -- l_trx_dist_tbl(1).trx_dist_id := 501;
    --l_trx_dist_tbl(1).trx_line_id               :=  501;
    --l_trx_dist_tbl(1).ACCOUNT_CLASS             := 'REV';
    --l_trx_dist_tbl(1).percent                   := 100;
    --l_trx_dist_tbl(1).CODE_COMBINATION_ID       := 1012;
    --Here we call the API to create Invoice with the stored values
    AR_INVOICE_API_PUB.create_invoice
    (p_api_version => 1.0
    --,p_commit => 'T'
    ,p_batch_source_rec => l_batch_source_rec
    ,p_trx_header_tbl => l_trx_header_tbl
    ,p_trx_lines_tbl => l_trx_lines_tbl
    ,p_trx_dist_tbl => l_trx_dist_tbl
    ,p_trx_salescredits_tbl => l_trx_salescredits_tbl
    ,x_return_status => l_return_status
    ,x_msg_count => l_msg_count
    ,x_msg_data => l_msg_data
    dbms_output.put_line('Created:'||l_msg_data||l_return_status);
    IF l_return_status = fnd_api.g_ret_sts_error OR
    l_return_status = fnd_api.g_ret_sts_unexp_error THEN
    dbms_output.put_line(l_return_status||':'||sqlerrm);
    Else
    dbms_output.put_line(l_return_status||':'||sqlerrm);
    If (ar_invoice_api_pub.g_api_outputs.batch_id IS NOT NULL) Then
    Dbms_output.put_line('Invoice(s) suceessfully created!') ;
    Dbms_output.put_line('Batch ID: ' || ar_invoice_api_pub.g_api_outputs.batch_id);
    Dbms_output.put_line('customer_trx_id: ' || l_cust_trx_id);
    Else
    Dbms_output.put_line(sqlerrm);
    End If;
    end if;
    commit;
    End;
    exec xxx_ar_invoice_api;
    when im running this im getting error " Error in AR_INVOICE_UTILS.validate_tax_exemption ORA-01403: no data found" pls send me solution

    Pls mention you app/db and OS version.
    Please see if below MOS notes helps:-
    LNS: Billing Fails With Error In AR_INVOICE_UTILS.validate_tax_exemption ORA - 01403 no data. [ID 797974.1]
    Oracle Receivables Invoice API: Known Issues and Patches [ID 1306471.1]
    Thanks,
    JD

  • Exception occured during invocation of JCA binding ORA-01403: no data found ORA-06512: at line 1

    Dear Legends,
    My requirement is to call store procedure from BPEL. So for I created a BPEL with 2 assign activity and 1 Invoke activity to Invoke the DB adapter. After Deploying I tested the process but it shows the following error:
    <bpelFault><faultType>0</faultType><bindingFault xmlns="http://schemas.oracle.com/bpel/extension"><part name="summary"><summary>Exception occured when binding was invoked.
    Exception occured during invocation of JCA binding: "JCA Binding execute of Reference operation 'DB_SBL_SPROCS1' failed due to: Interaction processing error.
    Error while processing the execution of the SIEBEL.PORTAL_SPROCS.ACP_CONREGISTRATIONLOOKUP_WRAP API interaction.
    An error occurred while processing the interaction for invoking the SIEBEL.PORTAL_SPROCS.ACP_CONREGISTRATIONLOOKUP_WRAP API. Cause: java.sql.SQLException: ORA-01403: no data found
    ORA-06512: at line 1
    Check to ensure that the XML containing parameter data matches the parameter definitions in the XSD.  This exception is considered not retriable, likely due to a modelling mistake.  To classify it as retriable instead add property nonRetriableErrorCodes with value "-1403" to your deployment descriptor (i.e. weblogic-ra.xml).  To auto retry a retriable fault set these composite.xml properties for this invoke: jca.retry.interval, jca.retry.count, and jca.retry.backoff.  All properties are integers.
    The invoked JCA adapter raised a resource exception.
    Please examine the above error message carefully to determine a resolution.
    </summary></part><part name="detail"><detail>ORA-01403: no data found
    ORA-06512: at line 1
    </detail></part><part name="code"><code>1403</code></part></bindingFault></bpelFault></fault><faultType>
    <message>0</message></faultType></messages></details></event><event sid="BpPrc0.1" cat="2" n="16" date="2013-08-08T05:39:39.121-04:00" type="4"><message>"BPELFault" has not been caught by a catch block.</message></event><event sid="BpPrc0.1" cat="2" n="17" date="2013-08-08T05:39:39.270-04:00" type="3"><message>The transaction was rolled back. The work performed for bpel instance "960968" was rolled back, but the audit trail has been saved for this instance.If this is a sync request, please resubmit the request from the client. If it is an async request, please recover from the recovery console by resubmitting the invoke message.</message></event></audit-trail>
    What does the above error says?
    1. Whether concern Grant or Execute Privileges is not properly provided to the user?
    2. Is there any Dangling Privileges are prevailing?
    3. Is that the Store Procedure to be Handled with an Error Handling by means of Exception?
    4. Is that I have been giving wrong test data?
    5. Is that No data being existing in the Procedure?
    6. Is that anything related to XA and NON-XA Data Source?
    Any kind of help would be much appreciated. Thanks in Advance.
    Thanks,
    Karthik

    Can you check the following ?
    a. Hopefully the when you execute the procedure using sql tool it works fine and returns data.
    b. Is there any input parameter available for procedure ?
    c. IF yes, is the parameter is mapped with the procedure parameter and populated with value before calling the procedure ?
    d. In the audit trial, you can see from the invoke activity to see whether the parameter is populated with value or not ?
    e. Check the input parameter by executing the procedure with sql tool to see whether this request is receiving any data in return or not ?
    Thanks,
    Vijay

  • Urgent: ORA-01403: no data found Error during Order Import

    Hi Experts,
    I 'am performing order import by populating the order interface tables and then running the order import concurrent program. I 'am encountering the following error while running the order import program:
    No. of orders failed: 1
    "*ora-01403: no data found in package oe_order_pvt procedure lines*"
    Can anyone please provide some pointers on why this is occurring and how this can be overcome. Any pointers on this will be immensely helpful.
    Thanks,
    Ganapathi

    Hi Nagamohan,
    Thanks for your response. I tried calling mo_global.set_policy_context('S', <org_id>) before invoking the concurrent program using fnd_request.submit_request(...); But, this still does n't seem to prevent the No data found issue.
    One more thing that I noticed is, this is happening while importing the customer along with the order. I 've ensured that I use the same org_id for the customer data as well. Can you please let me know whether there is anything else that I should check for.
    Thanks,
    Ganapathi

  • Misterious "ORA-01403: no data found" error

    Hi,
    I've been searching through the forum and the Internet with no results, so I'm posting here hoping you can help me.
    Here is the situation: I had a page 30 with a tree branching to a form on a view.This worked fine until one day that suddenly, we got the "ORA-01403: no data found" error when loading the page. I guess that's normal, since the form shows the data filtered in the tree (in the tree we click on an element and pass its ROWID to the form), and when we load the page no ROWID is selected. So, the first question would be, how can I manage this situation? My first option was to have a condition in the Automatic Fetch for the Form, so that it's executed only when the ROWID item is not null. It worked a couple of times. After a while, it crashed again.
    Tired of trying things, we decided to copy this page 30 to another page (page #80). Surprisingly, page #80 worked meanwhile #30 crashed. And they are completely the same, the data has not changed either.
    Could it be that page #30 somehow is corrupted? It's really strange that the same exact copy of the page works with one ID but not with another one.
    Has someone experienced this situation? it makes me feel like the app is unsecure and unstable. Any ideas, please?
    Apex version: 4.1.1 on APEX listener.
    Thanks,
    Elena.

    fac586 wrote:
    Elena.mtc wrote:
    Thanks for your response. The form is a single row (a form on a table or view). Here is what I've found out thanks to your tips:
    It affects to all the three users that I have access with.Try it with a new user that has never accessed the page before.
    I used the debug mode (new to me, so I'm kind of slow on this, still) and wrote an exception message on the Automatic Fetch Row and I managed to know the ROWID that the fetch process is using in the where clause. Of course this ROWID does not exist in the table, so the first question that comes to my mind is "how come and from where is the page getting this ROWID?". I don't know and can't comment because I can't see the app. ;-)
    If the ROWID is stored in an item, check the Maintain session state property isn't set to Per User.I changed this and seemed to work. But it crashed later. I made a computation process to set to null the rowid's when loading the page. After reset, I deleted the computations (due to application functionality) and it worked. However, I do not trust this page anymore. So we created a new fresh app and copied this page. Luckily we are on development environment :)
    >
    So, I made a computation to initialize to null the item that saves the ROWID, and now it worked.
    This page that I'm testing on is #30, but the valid page is #80 (it has changes made on the look and feel of the page). So, I deleted page #30, and copied page #80 (which works perfectly) into #30. And it crashes again (obvius, since it doesn't have the computation that gives null to the rowid item). What's "interesting" is that I still see the exception message I wrote in the older version of page #30. So, it seems that some values need to be purged and that the delete is not clean, but how? I'm not entirely clear on what you've been doing there, but it does indeed all sound rather odd.
    I suspect that you wouldn't be able to reproduce this problem on apex.oracle.com. However, it would probably be helpful if you could upload the app and provide developer credentials to the workspace so we could see how it works and if there's anything obvious (or not) that might cause this problem.Unluckily I cannot do this. Thank you anyway for the help, it's hard to explain when something so weird happens.
    Thanks!
    Elena.

Maybe you are looking for

  • Parallel creation of sales orders, purchase requisitions and purch. orders

    Hi All, I have the following requirement, can you please provide feedback if it is feasible or not.If yes HOW ?? There is report to upload data which first reads all entries in the file -> create SO/PR and then convert them into POs. The report displ

  • Export in column format

    Dear Gurus, What if i check the option export in column format while export the database? Thanks, Sekhar

  • How to install and run my .jad and .jar on my Nokia6230?

    I'am newbie with J2ME. I transfer the .jad and .jar files of my first HelloWorld middlet to the phone. What is the next step? Is needed some JVM or similar in the phone? (When I try to open those files a 'file format not recognized' appears) thakns!

  • Cant register for BIS!!!!!!

    So i got a new blackberry today i go on the orange bis site and i enter my PIN and IMEI number it keeps saying this "Your account is not accessible via HTML browser. Please use your device to access BlackBerry Internet Service" why does it say use yo

  • Yosemite won't recognise CanonMG7150 - please help!

    Had a problem with my internet connection, restored it, and now suddenly I can't print. I am running 10.10.3. I removed the printer from the list, and tried to add it as new, including reinstalling the drivers downloaded from Canon. The printer says