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 -
hi,
How idoc status records are filled when it comes to inbound side ?
GaneshHi,
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!
EoIf 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,
HuiHi,
<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,
Aejazwe 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. -
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
Tonyfor 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étriusHi,
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. -
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 KulkarniHi
The table EDIDC will contain the necessary information. Please check.
Maybe you are looking for
-
Gigabit ethernet + TC doesn't mean gigabit transfer rates to the TC drive..
Alright.... I've spent a ton of time trying to figure this out (probably more than I should have) and I thought I'd post my findings so that either a) I'll save someone else time out there or b) someone can tell me I'm a complete moron So I had an ai
-
Transfering Library between Macs
I just got a new MacBook Pro and I want to know how I can transfer my iTunes library from my old Macbook (the black one with intel core). Please and thank you.
-
How do I revert to oem Apple screen color profile of iMac 27inch screen ?
In a series of desperate attempts for color matching my print outputs of " a Pro RGB printer " to my iMac, I made a mess of my iMac screen color profiles. How can I revert to the OEM screen color profile that my iMac was running on the day it arri
-
How to create a new tab inside a existing subtab on a page.
Hi, How can I create a new tab inside a existing subtab on a page? If I change directly on the page.xml it will not maintain compatibility with upgrades. Am I right? Thanks, Marcelo
-
Accessing data from schema when using ftp adapter
Hi all, Below is an example of the data i receive from my ftp adapter, i read the entire file into my schema: <Header> <batch_filler1>*BATCH</batch_filler1> <batch_number>08110</batch_number> <batch_date>20090417</batch_date> <batch_extra>KW1310</bat