IDOC status to sender system
I configured IDoc within 2 clients in same server, when I send IDoc to receiver it is giving 03 (success) but in receiving system IDoc gives error 51 as some data is not maintained, i am using "Z" function module for inbound IDoc
question - how to send that same error message to the sender
Hi Ankush ,
question - how to send that same error message to the sender?
I have done the same requirement . Please find the below Procedure
-> before ending of the Custom function module check whether Idoc is Success or not .
IF (error)
LOOP AT idoc_status INTO wa_idoc_status
WHERE docnum = idoc_data-docnum . "Loop the Idoc Status table
l_i = 0.
CALL FUNCTION 'FORMAT_MESSAGE'
EXPORTING
id = wa_idoc_status-msgid
lang = '-D'
no = wa_idoc_status-msgno
v1 = wa_idoc_status-msgv1
v2 = wa_idoc_status-msgv2
v3 = wa_idoc_status-msgv3
v4 = wa_idoc_status-msgv4
IMPORTING
msg = l_msg
EXCEPTIONS
not_found = 1
OTHERS = 2
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
l_i = l_i + 1.
CASE l_i .
WHEN c_1.
MOVE l_msg TO wa_zf40-error_msg1.
WHEN c_2.
MOVE l_msg TO wa_zf40-error_msg2.
WHEN c_3.
MOVE l_msg TO wa_zf40-error_msg3.
WHEN c_4.
MOVE l_msg TO wa_zf40-error_msg4.
WHEN c_5.
MOVE l_msg TO wa_zf40-error_msg5.
ENDCASE.
ENDLOOP.
->Now create a Ztable to make the error descrptions.(Matian some Key fields to identify the Idoc .
->After this create a RFC to read the entries .
I hope this helps to you.Please let me know if u have any query.
Rgds
Sree M
Edited by: Sree Merugu on Mar 27, 2008 6:22 PM
Similar Messages
-
Tracking Idoc status in target system from XI
Hi
We have done File to IDOC Scenario succesfully i.e HR
data from file has been mapped to HR Idoc(HRMD_A06) .
Now when Idoc is posted to R/3 , SXMB_MONI shows
successful status(Idoc posted successfully) .
But when we check in R/3 in WE05 transaction ,though
the idoc is present but it shows status 51/52
with message "Idoc could not be posted" /"IDOC not
fully posted" .
In this case how can we track in XI whether the Idoc
is properly posted in the target system(i.e R/3) .
Since XI only shows that Idoc was successfully sent
irrespective of the status in R/3 .
Please suggest as we are new to XI .
Regards,
ShikhaHi
Thanks for the guide.
we are not sure of the steps to configure it in R/3
system so that it sends the acknowledgement back to XI
system.
When we tried to configure it as per the guide , for
test purposes we executed the program RBDSTATE but it
gave message "No parties are interested in the selected
data" .
Please guide us on this .
Thanks
Shikha
Message was edited by: Shikha Jain -
IDoc: Status: Application document not posted
Hi Friends,
I am New to ALE/IDOC. Based on the ALE_QUICKSTART documentation. I have tried to send material from one client to other client. (within system) To do that
I have created two logical systems and assigned them to corresponding clients.
Created a RFC destination and assigned logical systems.
Created Distribution model in sending client.
Created partner profile in both clients.
Created Material and send to receiving system using BD10 tcode.
I checked Idoc status in Sending system, Idoc status is 03-Data is passed to port OK, status 30-Idoc ready for dispatch and status 01- Idoc generated.
But in receving system (Inbound Idoc)- I got status- 51-Application document not posted and Function module not allowed: AFS_RETAIL_ARTMAS_IDOC_INPUT.
I also checked partner profiles in both systmes- both r same.
Kindly tell me what went wrong and what should i do.
Pl.provide answers pertain to this problem only.
Thanks in advance,
S.SenthilHi Chris,
Thanks for ur reply. I am not using is-retail and I have Generated MATMAS idoc in sending system.
Kindly provide me answer.
Thanks in advance,
s.senthil kumar -
IDOC: Status (Error/Success/information)report to Sender system
How would one send a message(error/success/information) to the sending(external) system to inform them of the statuses of the messages they've sent to our SAP system?
Hi Baumann,
you have an option called Audit reporting in which you can have the status of idoc at sender side.read the following.
Setting Up Audit Reporting
In the default behavior, after an IDoc is dispatched to a destination system, the sender does not know the state of the process on the destination system. You can configure the system, however, for cross-system reporting. You must model the ALEAUD message between the systems.
Two programs enable cross-system reporting.
1)RBDSTATE. This program is scheduled to run periodically on the destination system. It reports the status of incoming IDocs to the sending system, using the ALEAUD message and ALEAUD01 IDoc. This status information is recorded separately from IDoc status information in the audit logs.
2)RBDAUD01. This program is executed on the sending system. It analyzes the audit log and displays the output as a report.
The RBDSTATE program returns the following statuses, from the receiving to the sending system.
RBDSTATE Is Run on the Receiving System
Status of IDoc in receiving system Status reported to sending system via ALEAUD
53 (Application document posted.) 41 (Application document created in receiving system.)
51 (Error: Application document not posted.) Status 39 (IDoc is in the receiving system.) This status is repeated each time RBDSTATE is run, as long as the IDoc remains in status 51.
68 (Error: No further processing.) 40 (Application document not created in receiving system.)
reward points if helpful, -
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. -
ALEAUD to sending system in ALE scenario using XI
Hi,
I have a quite simple ALE scenario with following components;
SAP IS/OIL -> (CREMAS) -> XI -> (CREMAS) -> SAP Retail
I have read both how-to-guides; IDOC-XI scenarios and handle ack. for IDOCs.
By activating the runtime paramter ACK_SYSTEM_FAILURE, XI will send ALEAUD in case of error on XI - this works in a way.
By using program RBDSTATE on SAP Retail - this works in a way.
<b>Challenge 1:</b>
In case of error on XI, the ALEAUD message sent back to IS/OIL doesn't contain neither message type or the referenced IDOC from IS/OIL;
E1ADHDR-MESTYP
E1ADHDR-MESTYP_LNG
E1STATE-DOCNUM
is missing.
<i>Anyone with ideas?</i>
<b>Challenge 2:</b>
The ALEAUD from SAP Retail (using RBDSTATE) is not referring to the right IDOC from the sending system, seems to me that Retail is using it's own number range.
<i>Anyone with ideas?</i>
best regards
TorsteinHi,
Even I have the same problem.
I have configured ALEAUD in Integration server. When there is an error ( sa incorect RFC Destination of Receiver), an ALEAUD message type iDoc is sent back to the sender SAP System. But i noticed that the iDoc has only data in the segment E1STATE ( with data status, statxtstamid). But the segments E1AHDHR and E1PRTOB are empty.
The acknowledgement idoc doesnt contain any reference to the message( like the message ID) which has gone for an error. It just contains error text.
Could you please let me know how you solved it
Thanks & Regards,
Vani -
Steps For Updating the IDOC Status using ALEAUD
Hi all,
My Scenario is : R/3(IDOC)--> Legacy System(File).After the IDOC is received successfully on the Receiver System.I should Update the Status of IDOC on the Sender System.
Can anyone help me out :
What all the Steps & Configurations involved for Sending an Acknowledgement & Updating the IDOC status from the Legacy System.
Thanks in Advance,
Dattatreya.Hi,
You may need to set up another flow (a reverse one), where the Legacy sends a msg to XI with the Idoc number of the initial idoc you sent (onward flow).
now, you can map the idoc number in E1ADHDR/E1STATE/DOCNUM and other statuses as required (in various tags) and also other information as per your environment. Pls see the below links
Re: Acknowledgements ever switch to Status 39
Re: Asyncronous acknowledge from file adapter
Re: R3<->XI<->Auto-ID:How to check result of Idocs sending out from R3 in aii ?
Regards
Vishnu -
Hii
i have a requirement where when an Zidoc is being process if a certain condition is met we should insert in a custom table and not process the IDOC
What status should i put the IDOC in a sort of stand by process so that the user can process it later on with either BD87 or a FM IDOC_INPUT??
I have try putting in a sort of warning message but neither BD87 or the FM can process idoc with status 52
i have put it status 64 but client won't accept it since he recognise idoc comming from external system as 64.Hi,
use my form for finishing IDOC processing from the time I did not uses OO...
*& Form append_idoc_status
* Create IDOC status record from system message fields
* This is always the last action for processing one single
* IDOC
FORM append_idoc_status
USING ps_edidc TYPE edidc
CHANGING pt_idoc_status TYPE ty_t_bdidocstat.
DATA:
ls_bdidocstat TYPE bdidocstat.
* this Routine must be called only once per IDOC
MOVE-CORRESPONDING ps_edidc TO ls_bdidocstat.
* transfer message data
ls_bdidocstat-msgty = sy-msgty.
ls_bdidocstat-msgid = sy-msgid.
ls_bdidocstat-msgno = sy-msgno.
ls_bdidocstat-msgv1 = sy-msgv1.
ls_bdidocstat-msgv2 = sy-msgv2.
ls_bdidocstat-msgv3 = sy-msgv3.
ls_bdidocstat-msgv4 = sy-msgv4.
ls_bdidocstat-repid = sy-repid.
* update IDOC status
CASE ls_bdidocstat-msgty.
WHEN 'S' OR 'I'.
ls_bdidocstat-status = c_idoc_posted_ok.
WHEN 'W'.
ls_bdidocstat-status = c_idoc_not_fully_posted.
WHEN 'E' OR 'A'.
ls_bdidocstat-status = c_idoc_not_posted .
ENDCASE." ls_bdidocstat-msgty.
APPEND ls_bdidocstat TO pt_idoc_status.
ENDFORM. " append_idoc_status
A precondition is that your processing issues a MESSAGE ... INTO lv_dummy with lv_dummy of TYPE STRING.
Regards,
Clemens -
How to send delivery status by idoc format from EWM system?
Hi gurus,
You know we can send GR(posted) from EWM to R3 system, while in our scenario, we also need to send inbound delivery status( including posting, posted) from EWM to Non-SAP system via PI.
Can we implement that by idoc? Do we have to use PPF? How to develop in PPF to send message to PI?
Thanks in advance.Hi kishore,
Thanks for your reply.
I tried to find how SPPFCADM send idoc in ther relevant method, but you know it's just some object oriented code which is not easy to understand and I couldn't find where send idoc and where can be enhanced.
I found that /SCWM/ERP_MAPOUT is the implementation name for the method of inbound delivery to ERP system, also there is an action "XI Message:lieferinfo:inbound delivery", can it be used to send idoc to PI/XI system?
Thanks. -
Idoc status error 37 in sender and 51 in recieving system
i m new to ale idoc n created 2 clients 910(sender system) and 800(reciever system)
all connections are well i got status message 03 and 30 and 01 but along with it i m getting one more idoc genersted and status as 37 . idoc no. 50 as 03 30 and 01 and idoc 51 as 37 . in sender system n inreciever system i m not getting idoc.after sumtim i m getting them n error status as 51 .two idocs are generated simultanously.
does the port name we21 should be same i m using same port name currently .
clnt910 --rfc800 destination client 800 (sender system).
clnt800 --rfc800 destination client 910 (reciever system).
when i m changing the port name i m getting error status as 29 .
we20 both the partner profile are activeHi,
You Outbound IDOC is not correctly formatted I think, check the segments whether they are correctly added or not.
Thanks,
Mahesh. -
Trigger an outbound idoc to sender system after inbound idoc has status 53
Hi all,
We have two different partners (say A and B)which send inbound idoc to ECC of same message type WMMBXY. This updates goods movement. The partner A collects the idocs(WE20 partner profile setting) and partner B trigger's immediately. Now our requirement is after successful processing of idocs (satus 53) we need to send another type of idocs to the sender regarding the updation/ changes occured in ECC.
Since partner A collects the idocs how can we check that it reaches 53 status and send the outbound idoc to A.
Kindly help me in solving this issue.
Thanks,
AravindCreate a new process code WMMB to ZMMB & assign a FM ZL_IDOC_INPUT_WMMBXY
& call the standard FM L_IDOC_INPUT_WMMBXY , check the status or any error other wise create a new IDOC using
Master_IDOC_CREATE, hope the solution works for you -
IDoc Status 02 ( Could not find code page for receiving system )
Hi All,
I am getting Idoc status 02 when I am trying to send IDocs from ECC to PI system ( Production ).
Error description.
Could not find code page for receiving system
Message no. E0266
Diagnosis
For the logical destination PIP001, you want to determine the code page in which the data is sent with RFC. However, this is not currently possible, and the IDoc cannot yet be dispatched.
Procedure for System Administration
Possible causes are:
1. The entry no longer exists in the table of logical destinations.
2. The target system could not be accessed at runtime.
3. The logon language is not installed in the target system.
4. In the destination system, no logon language is maintained
Please help.
Thanks - Vinay.Hi Vinay,
Status 02 occurs when data is not passed to port suceessfully. Check the RFC desination is working fine and your able to connect to target system and also check correct port is assigned.
Regards,
Vinod. -
IDOC status on 03 but not recieved on target system
Hi,
We are recieving inbound idoc from external system and processing Inbound IDOC on SAP system, after processing inbound idoc on SAP we are sending status outbound idoc to external system.
The above functionality was working fine before upgradation.
after upgradation we have recreated RFC (TCP/IP) connection, updated at port level and also configured the new SAP system details ( sid, Hostname, service programsname...) on external system correctly.
Now we are recieving inbound idoc from external system on upgraded system,after processing inbound idoc details on SAP system, generating outbound idoc from SAP and it reaching the outbound prot sucessfully on 03 status with green light.
But external system is not recieving the IDOC. How to find why idoc is not reaching external system even though it is sucessfully passed at outbound port level with green light status 03.
We have also checked the SM58 for TRFC entries but we didn't identified any entries on SM58. Please help us on this issue
Thanks,
RajuHi Raju,
As mentioned by The specified item was not found., the one common problem for the IDocs not being sent might be a missing COMMIT WORK. I.e. when using the standard SAP API's for sending outbound IDocs, SAP actually creates the IDoc and registers an update function for sending the IDoc out. So without the COMMIT WORK, the IDoc usually exists on the database (implicit or database commmits), is in status 03, but hasn't been sent out and cannot be found in the outbound RFC queue (because SAP never tried to send it).
If you're convinced that a COMMIT WORK is happening (and after trying to send the outbound IDoc) then I'd try the following: Replace the used RFC destination (or re-define it temporarily) with one that points to the same system from where you're sending. If you don't see the IDocs as inbound IDocs or in the outbound RFC queue, the sending never happens. (Ok, might be a moot point if you completely trust your external system, but usually it's good to even rule out the most unlikely causes - if it's simple.)
So if this didn't help, maybe you can provide some further insight into how you're creating/sending the outbound IDocs. This could help us in trying to get some answer, but for a starter the COMMIT WORK mentioned by The specified item was not found. is in my opinion the best candidate.
Cheers, harald
p.s.: Even if you're using ALE, I don't think it could be due to anything in your distribution model as mentioned by The specified item was not found.. If you wouldn't have setup the distribution model, the SAP API's should create a master IDoc in memory and then no communication IDocs (since there's no recipients or due to filtering) and thus there should be no outbound IDocs on the database. -
HOW TO LOOK AT SENDER SYSTEM IDOCS
hi friends,
Scinario :recieving the idocs(inbound)
we know that the idoc nos. which is send from the sap system to the reciever sap system will change.
suppose the sender system is having idoc nos as 10002
the same idoc in the reciever system will have, let us say 20001
we can view the idoc nos.which we have in our system ie recieving system.
now, my problem is how to check the corresponding idoc's in the sender system.
ie in our example 10002.
please help.
Regards,
Murali G.S.Ahi DJ,
thanks for responding.
in my program there is requirement to display all the corresponding idoc's of the recieving system.
can we do this ??????????
since , in a report we can display things which are there in system (in the form of tables..)
but in this case as u said there are generated by system.......
but is there any way to track these numbers..... will they be stored in recieving system ( the idoc nos. of the sender system).....
Regards,
Murali G.S.A -
Hi,
I am trying to do the settings for the idoc sender system the steps i have completed are..
1) sm59..maintain a rfc destination from idoc sender to the integration server.
2) we21..created a tRfc port with the rfc dest from step1.
step 3 is where i am stuck...
3) we20....to maintain the partner profile and partner number...there isint enough info in the xi config guide..
any pointers..would be appreciated.
Regards
RaviALE settings.
<u><b>SAP XI</b></u><b>1) RFC Destination (SM59)</b>
a) Choose create.
b) Specify the name of the RFC destination
c) Select connection type as 3 and save
d) In the technical settings tab enter the details SAP SID/URL and system number#.
e) Enter the Gateway host as same details above SID/URL.
f) Gateway service is 3300+system number#.
g) In the Logon /Security tab, enter the client user & Password details of Destination system.
<b>h) Test the connection and remote logon.
2) Create Port (IDX1)</b>
a) Select create new button
b) Enter the port name as SAP+SID (The starting char should be SAP)
c) Enter the destination client.
d) Enter the RFC Destination created in SAP XI towards other system.
e) Save
<b>3) Load Meta Data for IDOC (IDX2)</b>
a) Create new
b) IDOC Message Type
c) Enter port created in IDX1.
<u><b>SAP R/3</b></u>
<b>1) RFC Destination (SM59)</b>
a) Choose create.
b) Specify the name of the RFC destination
c) Select connection type as 3 and save
d) In the technical settings tab enter the details SAP SID/URL and system number#.
e) Enter the Gateway host as same details above SID/URL.
f) Gateway service is 3300+system number#.
g) In the Logon /Security tab, enter the client user & Password details of Destination system.
h) Test the connection and remote logon.
<b>2) Create Port (We21)</b>
a) First Select Transactional RFC and then click create button
b) Enter the destination port name as SAP+SID (The starting char should be SAP)
c) Enter the destination client.
d) Enter the RFC Destination created in SAP R/3 towards other system.
e) Save
<b>3) Create Partner Profile (WE20)</b>
a) Create New
b) Create the Partner no. name as same the logical system name of the destination system.
c) Select Partner type LS
d) Enter details for Type: US/USER, Agent, and Lang.
e) Click on the + button to select the message type.
f) Select Partner no. and LS which ever create above.
g) Select Message type
h) Select Process code related to the Message type.
I) save.
<u><b>In SLD System Landscape Directory</b></u>
TS for R/3 (Logical system):-Assign the client name created in R/3 as Logical system Name.
Ts for Third Party (Logical system):-
BS for SAP R/3 (Logical system):- Assign the client name created in R/3 as Logical system Name.
BS for Third Party (Logical system):-Enter the XI logical system name.
<b>In Transaction SALE</b>
Define and Assign the logical system name.
Maybe you are looking for
-
Retrieving Data from my fried I Mac G5's Hard Drive
I have an early model I Mac G5 that will no longer power on due to problems with the logic board. I would like to extract the hard drive and connect it to either another computer or to an an external hard drive or hard drive casing and retrieve the d
-
Error text missing in raising exception (In ABAP mapping)
Hi, iam using ABAP Mapping for 1 interface. Based on some condition i am raising exception with error text. When i executed this in SXI_Mapping_test it's showing the Error text. But when i execute the interface directly error text is missing in the
-
Sending Email with attachments from Desktop
Hi Experts, I have a situation where I need to create a SAP shortcut document on desktop and then I need to send this shortcut document as an email attachment . I have a solution where i can create shortcut documents but the challenge here is how
-
Hardware options for Time Machine?
Background I'd guess that if Leopard topped 2 million sales in the first weekend that probably means there are about 1.9x million of us (self included) looking for a neat drive arrangement in order to keep Time Machine running sweet. I'd further gues
-
Member block component only select dense dimension members
I used Calculation Manager to create Business Rule for Planning app. The Member Block component only show dense dimensions. Why?