How to handle idoc status record.

Hi expert,
We have configure custom idoc, the status of inbound custom idoc when posting by process code is 64 (Ready to posting), How we can post with status 54, have any idea ?
When I am using report RBDAPP01, it is in status 51 (Error),
How I can change the idoc status with 54 (Successful).
Please help,
Regards,
study sap

hi,
Retrigger from here
Try with tcode BD87 For Inbound IDOCS.
or BD88 for outbound IDOCs.
Refer these links
http://sap.ittoolbox.com/groups/technical-functional/sap-interfaces/idoc-status-64-1258234
http://help.sap.com/saphelp_sm32/helpdata/en/52/16adef543311d1891c0000e8322f96/content.htm
Cheers
Mohinder Singh Chauhan
Edited by: Mohinder Singh Chauhan on Jul 21, 2008 8:08 AM

Similar Messages

  • How to handle the control records in case of file to idoc scenario.

    Hi All,
    can you please clarify me how to handle the control records in case of file to idoc scenario.

    Hi,
    In File to Idoc scenario even though you selected apply control record values from payload and you are not getting those correct values which you have provided in the mapping.
    Also check the checkboxes Take sender from payload and Take receiver from payload along with the Apply control record values from payload checkbox
    Regards
    Seshagiri

  • Idoc status record

    hi,
      How idoc status records are filled when it comes to inbound side ?
    Ganesh

    Hi,
    Please try to test using this FM to check whether your ALE distribution model has been setup correctly or not for the message type.
    ALE_MODEL_INFO_GET
    ALE_MODEL_AUTH_INFO_GET
    If not, yo need to maintain distribution model (t/code BD64).
    <b>Reward points</b>
    Regards

  • Idocs status records!!!

    Hi,
    We have a requirement in which the status records need to be added in the inbound Idoc.
    In the present scenario, Idoc status records are being created like : status 52 Inbound delivery/deliveries are created(no's are 000001 to 000005). This is current scenario.
    Requirement is like :
    we need to have the number of status records depends on Inbound deliveries created.
    For ex : If two inbound deliveries gets created in an Inbound Idoc, then In Idoc status records should be like :
    Status 52 Inbound delivery created ( no 0000001 to 0000001)
    Status 52 Inbound delivery created ( no 0000002 to 0000002)
    Status 52 Inbound delivery created ( no 0000003 to 0000003).
    and so on.......
    Please let us know how can we acheive the above scenario?
    Thanks in advance.
    Ramesh.

    The inputs to the IDoc processing function are:
    *"*"Local interface:
    *"  IMPORTING
    *"     REFERENCE(INPUT_METHOD) TYPE  BDWFAP_PAR-INPUTMETHD
    *"     REFERENCE(MASS_PROCESSING) TYPE  BDWFAP_PAR-MASS_PROC
    *"  EXPORTING
    *"     VALUE(WORKFLOW_RESULT) LIKE  BDWFAP_PAR-RESULT
    *"     VALUE(APPLICATION_VARIABLE) LIKE  BDWFAP_PAR-APPL_VAR
    *"     VALUE(IN_UPDATE_TASK) LIKE  BDWFAP_PAR-UPDATETASK
    *"     VALUE(CALL_TRANSACTION_DONE) LIKE  BDWFAP_PAR-CALLTRANS
    *"  TABLES
    *"      IDOC_DATA STRUCTURE  EDIDD
    *"      IDOC_CONTRL STRUCTURE  EDIDC
    *"      *IDOC_STATUS STRUCTURE  BDIDOCSTAT*
    *"      RETURN_VARIABLES STRUCTURE  BDWFRETVAR
    *"      SERIALIZATION_INFO STRUCTURE  BDI_SER
    *"  EXCEPTIONS
    *"      WRONG_FUNCTION_CALLED
    The status records are returned from the processing function via the parameter IDOC_STATUS which is an internal table so you can append multiple entries to it.
    The only restriction is that all records must have the same status code (ex. all must be 51 is there is an error, or all must be 53 if there are no errors).  An IDoc processing function executes as a single DB transaction so it is all or nothing.
    ~Ian

  • How to handle the bad record while using bulk collect with limit.

    Hi
    How to handle the Bad record as part of the insertion/updation to avoid the transaction.
    Example:
    I am inserting into table with LIMIT of 1000 records and i've got error at 588th record.
    i want to commit the transaction with 588 inserted record in table and log the error into
    error logging table then i've to continue with transaction with 560th record.
    Can anyone suggest me in this case.
    Regards,
    yuva

    >
    How to handle the Bad record as part of the insertion/updation to avoid the transaction.
    >
    Use the SAVE EXCEPTIONS clause of the FORALL if you are doing bulk inserts.
    See SAVE EXCEPTIONS in the PL/SQL Language doc
    http://docs.oracle.com/cd/B28359_01/appdev.111/b28370/tuning.htm
    And then see Example 12-9 Bulk Operation that continues despite exceptions
    >
    Example 12-9 Bulk Operation that Continues Despite Exceptions
    -- Temporary table for this example:
    CREATE TABLE emp_temp AS SELECT * FROM employees;
    DECLARE
    TYPE empid_tab IS TABLE OF employees.employee_id%TYPE;
    emp_sr empid_tab;
    -- Exception handler for ORA-24381:
    errors NUMBER;
    dml_errors EXCEPTION;
    PRAGMA EXCEPTION_INIT(dml_errors, -24381);
    BEGIN
    SELECT employee_id
    BULK COLLECT INTO emp_sr FROM emp_temp
    WHERE hire_date < '30-DEC-94';
    -- Add '_SR' to job_id of most senior employees:
    FORALL i IN emp_sr.FIRST..emp_sr.LAST SAVE EXCEPTIONS
    UPDATE emp_temp SET job_id = job_id || '_SR'
    WHERE emp_sr(i) = emp_temp.employee_id;
    -- If errors occurred during FORALL SAVE EXCEPTIONS,
    -- a single exception is raised when the statement completes.
    EXCEPTION
    -- Figure out what failed and why
    WHEN dml_errors THEN
    errors := SQL%BULK_EXCEPTIONS.COUNT;
    DBMS_OUTPUT.PUT_LINE
    ('Number of statements that failed: ' || errors);
    FOR i IN 1..errors LOOP
    DBMS_OUTPUT.PUT_LINE('Error #' || i || ' occurred during '||
    'iteration #' || SQL%BULK_EXCEPTIONS(i).ERROR_INDEX);
    DBMS_OUTPUT.PUT_LINE('Error message is ' ||
    SQLERRM(-SQL%BULK_EXCEPTIONS(i).ERROR_CODE));
    END LOOP;
    END;
    DROP TABLE emp_temp;

  • How to handle the selected record

    how to handle the selected record when using alv classes

    Hi,
    use method : get_current_cell                    
      CALL METHOD grid1->get_current_cell                    
                          IMPORTING es_row_id = ls_row_id     
                                    es_col_id = ls_col_id     
                                     e_value  = l_value.     

  • How to overwrite IDoc Control Record - DOCREL

    Hi Gurus,
    Is there a way to overwrite the DOCREL field when IDoc is generated in XI? XI always send '700' but i need it to have value '46B' so it will be processed properly by the receiving system.
    My scenario is, XI is picking up a flat file in AL11 and converts it to INVOIC02 IDoc. The IDoc is being sent to a Biztalk server.
    Thanks!
    Eo

    If you want to have a control on the IDoc control records, handle them in the mapping and set the option in the IDoc adapter
    Apply Control Record Values from Payload - http://help.sap.com/saphelp_nw04/helpdata/en/96/791c42375d5033e10000000a155106/frameset.htm

  • How to change IDoc control record

    Hi all,
    How to change the control record of the ORDERS (purchase order) outbound IDoc? The partner type and partner number is always the logical system. I want to change it to other partner type, e.g. KU.
    Is there any user exits availalbe?
    Thanks!
    Regards,
    Hui

    Hi,
    <b>Option-1</b>
    User user-exit<b> EXIT_SAPLEINM_001</b> of <b>enhancement MM06E001</b> to change the control record.
    But make sure that whatever control record you put here, there should be a corresponding partner profile exist in partner profile ( WE20 ).
    <b>Option-2</b>
    You are saying that you are always getting 'LS'. This is  because the output type is only configured with partner function 'LS'. We are using Purchase order idoc and we generate our all idocs for partner type 'KU'.
    To do this, follow these steps.
    - go to transaction <b>NACT</b>
    - enter application 'EF' and select 'maintain'.
    - select the output type you are using in PO for EDI.
    - with this output type selected, select "partner functtions" from left hald side options.
    - Hit "new entries" button on the top
    - create an entry with, MEDIUN = 6 (EDI) ; Funct = VN ( vendor )
    - Save your settings and come out
    - Now on WE20, remove the partner profile you have created under partner type 'LS' and instead create a same partner profile for your vendor under partner type "KU".
    Now it is upto you to decide, either to user the user-exit i have mentioned to change the control records OR create a outout config and partner profile for "KU".
    Let me know if you have any question.
    Regards,
    RS

  • How to handle the failed records from the table when using DB Adapter

    Hi,
    I am reading some records from table using DB Adapter inside my synchronous BPEL process. Say like reading 100 records from table in between after successful reading of 90 records an error occured in 91st record due some various reasons(like DB down, Connection interrupted etc.). Then how to handle this situation, whether i have to read all the records from the begining and is there any option to continue from where it stopped reading.
    Can please anybody help me out in the regard?
    Thanks in advance
    Regards,
    Aejaz

    we had the same requirement some time ago and had two option:
    1. ask the R/3 development team add a deletion indicator in the table (and thus not actually deleting the record). this deletion indicator could then be used like for any other standard datasource
    this option was however refused, due to huge data volume after a while
    2. at the end of the load we copied the ZTABLE1 to ZTABLE2. then in the begin of the load (day after) we compare the data of table1 to table2. entries available in table2 but not in table1 are deleted, and we put a 'D'. in deletion indicator; as we only keep the deleted entries for one day, the volume of the new table is acceptable.
    M.

  • How to handle table type record in OAF

    Hi ,
    Req:
    There is a search page that can be accessed from different locations .
    The result set should be different when accessed from each location .
    Approach to be used :
    Call a PL/SQL api which returns a table type input parameter for different search conditions . Each record that is returned by the table type input needs to be iterated and a new row should be created in a transtient VO to show results on the UI
    Problem :
    How to handle to table type input returned from pl/sql in java and show the results?
    Thanks in advance.

    There is a requirement to fetch records from cursor into a collection .Following is the code snippet that I have used.
    /** creating an object **/
    CREATE OR REPLACE TYPE XXCRM_GBL_DSW_AUDIT_RSTLS_O_TP AS OBJECT (
    CUSTOMER_NAME VARCHAR2(360),
    PROJECT_NAME VARCHAR2(40),
    BOARD_NAME VARCHAR2(40),
    ARROW_UNIQUE_NO NUMBER,
    FIELD_NAME VARCHAR2(2000),
    OLD_VALUE VARCHAR2(2000),
    NEW_VALUE VARCHAR2(2000),
    USER_ID NUMBER,
    USER_NAME VARCHAR2(100),
    AUDIT_DATE DATE,
    AUDIT_TYPE VARCHAR2(1),
    SUPP_SYS_LAST_UPDATE_ON DATE,
    SUPP_TRACKING_NUM VARCHAR2(50),
    CONSTRUCTOR FUNCTION XXCRM_GBL_DSW_AUDIT_RSTLS_O_TP
    RETURN SELF AS RESULT
    /** initializing the object **/
    CREATE OR REPLACE TYPE BODY XXCRM_GBL_DSW_AUDIT_RSTLS_O_TP IS
    CONSTRUCTOR FUNCTION XXCRM_GBL_DSW_AUDIT_RSTLS_O_TP
    RETURN SELF AS RESULT IS
    BEGIN
    self.customer_name := fnd_api.g_miss_char;
    self.project_name := fnd_api.g_miss_char;
    self.board_name := fnd_api.g_miss_char;
    self.arrow_unique_no := fnd_api.g_miss_num;
    self.field_name := fnd_api.g_miss_char;
    self.old_value := fnd_api.g_miss_char;
    self.new_value := fnd_api.g_miss_char;
    self.user_id := fnd_api.g_miss_num;
    self.user_name := fnd_api.g_miss_char;
    self.audit_date := fnd_api.g_miss_date;
    self.audit_type := fnd_api.g_miss_char;
    self.supp_sys_last_update_on := fnd_api.g_miss_date;
    self.supp_tracking_num := fnd_api.g_miss_char;
    return;
    END;
    END;
    /** creating a collection of object**/
    CREATE TYPE XXCRM_GBL_DSW_AUDIT_RSTLS_C_TP AS TABLE OF XXCRM_GBL_DSW_AUDIT_RSTLS_O_TP;
    /**Inside the package body **/
    CURSOR c_proj_cur is
    SELECT NULL CUSTOMER_NAME,
    (SELECT project_name
    FROM xxcrm_gbl_dsw_projects_all
    WHERE project_id = xgda.project_id) PROJECT_NAME,
    DECODE(xgda.board_id,NULL,'test',
    (SELECT board_name
    FROM xxcrm_gbl_dsw_boards_all
    WHERE board_id = xgda.board_id)) BOARD_NAME,
    DECODE(xgda.internal_dwr_id,
    NULL,NULL,
    (SELECT internal_dwr_id
    FROM xxcrm_gbl_dsw_regstrations_all
    WHERE internal_dwr_id = xgda.internal_dwr_id)) ARROW_UNIQUE_NO,
    fielslu.meaning FIELD_NAME,
    xgda.old_value OLD_VALUE,
    xgda.new_value NEW_VALUE,
    xgda.created_by USER_ID,
    'kuldeep' USER_NAME,
    xgda.Creation_Date AUDIT_DATE,
    xgda.audit_Level AUDIT_TYPE,
    SYSDATE SUPP_SYS_LAST_UPDATE_ON,
    't001' SUPP_TRACKING_NUM
    FROM XXCRM_GBL_DSW_AUDIT_ALL xgda ,
    FND_LOOKUP_VALUES_VL fielslu
    WHERE xgda.project_id =174
    AND fielslu.lookup_type = 'XXCRM_DSW_REV_FIELD_NAMES'
    AND fielslu.lookup_code = xgda.FIELD_NAME
    AND enabled_flag = 'Y'
    AND TRUNC(SYSDATE) BETWEEN TRUNC(NVL(fielslu.start_date_active,sysdate))
    AND TRUNC(NVL(fielslu.end_date_active,sysdate))
    ORDER BY xgda.creation_date;
    Tab XXCRM_GBL_DSW_AUDIT_RSTLS_C_TP ;
    BEGIN
    OPEN c_proj_cur;
    LOOP
    FETCH c_proj_cur BULK COLLECT INTO tab; --ERROR type mismatch found at 'TAB' between FETCH cursor and INTO variables
    END LOOP;
    END;
    /**Error */
    When the above script is executed it gives an error “type mismatch found at 'TAB' between FETCH cursor and INTO variables” (at line highlighted above).
    I have validated the data type of cursor and object too. But still the error is not resolved .
    Did anyone of you come across a similar requirement, fetching the values from cursor into a collection? Please help.

  • How to change Idoc Status

    Hello Friends,
    How can i change status of Idocs from 02, 51, 64 to below status
    31 for Outbound idocs
    68 for Inbound Idocs
    I have searched the forum, and many people are advising to use BD87 to perform it.
    I have checked BD87 and i am unable to find option to change status to 31 or 68
    There is some thing similar
    BD87 -> Give input and Execute -> Goto -> Transactional RFC -> Convert Idoc Status -> but here there is no option to give final status 31 or 68. Even though i have executed, but status is not changed.
    Can any one please let me know what is correct path (or) any thing wrong ?
    Thank
    Tony

    for inbound run RBDAPP01 / RBDMANI2 depending on status 64 or 51, outbound RBDAGAIN for 02, uncheck background processign at the bottom of the screen, and on the next screen press Delete.

  • How to send IDOC Status confirmation

    HI,
    I would like to know an STANDARD way of sending the IDOC status to XI system.
    The scenario is as follows:
    INVOIC01 reception: EDI -> XI/PI -> SAP
    (using WE20 EDI partners LI)
    I need to send the IDOC INVOIC01 status back to XI/PI.
    The RBDSTATE program just works with LS partners.
    Any idea to solve that?
    Please remember that just using the SAP standard functionalities. Not developing any kind of "Z" program.
    Thanks a lot!
    Demétrius

    Hi,
    Even though the acknowledgment is sent by your vendor it is going to come to your XI system, so from the XI system you send the status idoc and then post in SAP.
    Your XI system can be registered as an Logical system to your SAP system and your problem is solved.
    Thansk,
    Mahesh.

  • Idoc status records

    can any one tell me what I have to do when getting
    idoc status as 29, 56, 64,65,31,27 explain briefly?

    Hi,
    These IDOC status are because of many reasons. There are many reports and transaction codes for the same Based on the error you can reprocess the idoc etc. You can check the transaction codes in SE93 and type BD* & F4..
    For reports SE38--> RBD*
    http://help.sap.com/erp2005_ehp_02/helpdata/en/78/217e2951ce11d189570000e829fbbd/content.htm
    Hope this helps,
    Rgds,
    Moorthy

  • How to handle the deleted records from R3

    Hello,
    We have created a generic data source on a database table in R3 side and now we have a case where there is a huge volume of data gets deleted and new records get updated every day.
    By doing a delta load we are able to load the New records and also the changed ones but we are unable to identify the deleted records from that table and move them to BI for deleteing those records in BI also.
    Can any one please suggest a solution for the handling the deleted records.
    Thanks,
    Ravindra.

    we had the same requirement some time ago and had two option:
    1. ask the R/3 development team add a deletion indicator in the table (and thus not actually deleting the record). this deletion indicator could then be used like for any other standard datasource
    this option was however refused, due to huge data volume after a while
    2. at the end of the load we copied the ZTABLE1 to ZTABLE2. then in the begin of the load (day after) we compare the data of table1 to table2. entries available in table2 but not in table1 are deleted, and we put a 'D'. in deletion indicator; as we only keep the deleted entries for one day, the volume of the new table is acceptable.
    M.

  • How to check idoc status through code

    Hi All,
    Can we check idoc status from within the code? My requirement is that once the idoc is transmitted correctly(status 12) to the system (outbound),I need to update a few fields in my custom table.
    Please share some information if available on this.
    Thanks and Regards,
    Ameya Kulkarni

    Hi
    The table EDIDC will contain the necessary information.  Please check.

Maybe you are looking for