Creating Delivery based on the Inbound IDOC received.
Hi all,
I have a requirement where in, Outbound Delivery for Sales order is to be created based on the inbound IDOC received from a third party. The standard idoc type DELIVERY03, requires the Delivery Number for updating the order but it cannot create a delivery number.
Can any one suggest which IDOC type can be used for this or if there is any alternative solution?
Hi,
You can use FM IDOC_INBOUND_WRITE_TO_DB to create an inbound IDoc.
CALL FUNCTION 'IDOC_INBOUND_WRITE_TO_DB'
EXPORTING
PI_STATUS_MESSAGE = I_EDIDS
IMPORTING
PE_IDOC_NUMBER = DOCNUM
PE_STATE_OF_PROCESSING = STPROC
PE_INBOUND_PROCESS_DATA = I_TEDE2
TABLES
T_DATA_RECORDS = I_EDIDD
CHANGING
PC_CONTROL_RECORD = I_EDIDC
EXCEPTIONS
IDOC_NOT_SAVED = 1
OTHERS = 2.
Check the following link:
http://www.sapbrain.com/TUTORIALS/TECHNICAL/IDOC_tutorial.html
<b>Reward points</b>
Regards
Similar Messages
-
Some Data Missing in the inbound Idoc received from Gentran
Hi,
We are receing one custom message type with the basic type ORDER05 in SAP from Gentran. When we checked the destination file generated in Gentran, its showing data for all the segments. However in SAP when we checked the corresponding idoc we find the segment E1EDP05 is missing. The Gentran team says they are placing the destination file in the unix server of SAP. However we dont find these files in the SAP Unix server. Could anybody advise what could be the problem and where we need to check further ?Gentran will never be able to create an IDOC within SAP. Here is what happens:
> Gentran creates a flatfile/XML which is in the IDOC format (the one which you can see in WE60).
> Gentran then places this flat file/XML in a folder on Application server. This can be UNIX, Windows NT, etc..
> Gentran then triggers the Startrfc.exe which will trigger EDI_DATA_INCOMING function module.
> This FM will parse the data, check it for consistency of the defined standards, then write the control record into EDIDC and corresponding data records into EDID4 and updates the relevant statuses (i.e. 01 - added, etc). It'll then look into the partner profile setup, look for process code and moves the status to 64 and calls the inbound FM which will post the application document.
In you case, you need to find out what file is coming in and where E1EDP05 has missed. The data will only be sent by Gentran. The inbound function modules will never update IDOC data records (unless there is a customization). The status records are updated.
If E1EDP05 is not mapped and sent by Gentran and you still used to see it, then there should have been a customization in place to add values to IDOC segment fields. Try to get the final file that is mapped from either X12/EDIFACT and then see if E1EDP05 segment is present in there. If it is present then upload the same file into AL11 using CG3Z and call EDI_DATA_INCOMING or WE19 to process it. Once processed, you'll can observe if E1EDP05 is being created or not. -
How to get the inbound idoc for the newly created inbound Idoc FM
Hi,
I have created a new function module to process the Inbound idoc. I need to have a idoc to check my function module, whether it is working fine or not. How I can get the data. Do I need to have the idoc from the partner ? Please help me ASAP.
Thanks,
sreenivas.Hi Sreenivas,
Go to WE19 and get any of the your present idoc with the idoc type
then go to BD20...execute the same idoc...and there you can create the IDoc, and process the same with the Inbound function module tab..( give the FM you are using as the process code.)
from there you can do the debugging aswell of that FM
Thanks -
Hi Experts,
I have a requirement to get the Inbound IDOC for particular PO. I have used the following method:
http://forums.sdn.sap.com/thread.jspa?threadID=1082790
That means using tables:
A) SRRELROLES
B) IDOCREL
This is working for most of the cases except if the inbound IDOC is amended by the sender ( ex:- requested quantity changed ).
1. If inbound IDOC received without any changes, it will be there in SRRELROLES as roletype = 'INBELEG'.
2. If inbound IDOC received with changes it is not there in SRRELROLES.
Could you please help me to resolve this issue?
Thanks,
ChamindaHi,
Thanks for your help.
anyway, finally i had to use the time consuming way as there is no any other way.
1. Get all the ORDRSP Idocs from EDIDC based on the selected date range
select docnum status
into table lt_edidc
from edidc
where credat in p_date1 and
mestyp = 'ORDRSP'.
if sy-subrc eq 0.
sort lt_edidc.
2. Get all segment data records for the control records
select mandt docnum counter segnum segnam psgnum hlevel dtint2 sdata
from edid4
into table lt_edid4
for all entries in lt_edidc
where docnum = lt_edidc-docnum and
segnam = 'E1EDK02'.
3. to imporve the performance, i have used BINARY SEARCH when search back the IDOC from PO.
Thanks,
Chaminda
Edited by: chamindakrat on Feb 17, 2012 12:07 AM -
RCVPOR is missing the Inbound IDoc
Hi all,
I am getting IDoc from the XI with the status code 56.
I found that receipt port is missing in the control record.
If I use sender partner type as LS, it is working fine. When I use the sender partner type as KU IDocs are not getting posted successfully, the port for the recipient information in the control record of the inbound IDoc is empty and all other filled are filled.
Any suggestions please
Thank you
Regards
HarshaDear Harsha,
can you explain how you solved the issue - I am experiencing exactly the same problem. I am receiving the same Message type from several other systems (not LI, but LS), and we are receiving other message types for the same partner. -> in all other cases the RCVPOR is filled correctly.
We are using webMethods and not XI, the RCVPOR is sent correctly by the middleware.
brg Karl -
Need to launch specific document and wave file based on the inbound Route Point
I am having issues using CDA in terms of creating the appropriate WF to launch both a wave file and specific Word document based on the inbound DNIS. I have UCCX 8.0(2) SU3 enhanced so I can't use HTTP. I really need a solution today. Thanks.
I did script to play the file to the agent as a whisper then hang up and ring the line again to connect the caller to the agent but the customer didn't like that at all so i just created the WF to launch from the same filepath on all machines to point the the appropriate wave files based on the DNIS. Because the customer has enhanced I'm not launching the Word docs as PDFs in a integrated browser like I'd prefer but as an external application. Again, based on the DNIS.
-
Creating Work Flow Item for inbound Idocs
Hi experts,
I'm just trying to create a work item in sap inbox when inbound idoc fails and gets the status 51 .Documentation says no need for any extra setup,it works with standard SAP tasks & Idoc system process codes which are all preconfigured.
I'm assiginig a user id in the partner profile.I do get a work item when there is syntax error in the inbound idoc segments(like wrong sequence of segments...), but not when idoc fails,due to idoc errors.Am i missing something.Users want a workitem when it fails,so they can reprocee/edit etc.Please help.
Thanks in advance,
RajjThanks for the response.I know this task and i could see a event triggered in the event log,but no work item created in my inbox.What should i do to get the work item in my inbox.should i change this task or assign this to some thing else.
Thanks,
Rajj -
Create credit memo request using inbound IDOC
Hi Experts,
I want to create credit memo request using inbound IDOC, currently I am using GSVERF03 basic type and process code GSVE, I am getting below error:
No records exist in T661W for vendor XXXXX, plant, unloading point
Anyone suggest me is this correct message type to create credit memo request or suggest me the correct one. because we are working with customer sales order and invoice not with vendor purchase order.
Thanks for your help.ah, apologies i read outbound! I think you are using the correct message type i.e. GSVERF.
Can you not simply create the missing entry in T661W? i.e. for the missing records? -
Problem Creating VirtualProviders Based on the DTP
Problem Creating VirtualProviders Based on the Data Transfer Process .
(1) I have created an Data Source(extract structure and extractor) on SYS1. Tested the extractor. It returns data as desired.
(2) Then I replicated this Data Source to SYS2.
(3) In SYS1 I created InfoCube(VirtualProvider based on data transfer process for direct access) .
Till this point I have no issues .
(4) But after that I am not able to "Create Data Transfer Process" for this Virtual Infoprovider . When I try to create DTP the DTP type available for selection is "Scheduled" where as per the documentation I need to create DTP of DTP type "DTP for Direct Access".This DTP type I donot see.
Is it a problem with the BW configuration or some user error.Any suggestions which may help would be realy appreciated.
Thanks & Regards,
priyadarshiCorrected some typo in my earlier update...
Problem Creating VirtualProviders Based on the Data Transfer Process .
(1) I have created an Data Source(extract structure and extractor) on SYS1. Tested the extractor. It returns data as desired.
(2) Then I replicated this Data Source to SYS2.
(3) In SYS2 I created InfoCube(VirtualProvider based on data transfer process for direct access) .
Till this point I have no issues .
(4) But after that I am not able to "Create Data Transfer Process" for this Virtual Infoprovider . When I try to create DTP the DTP type available for selection is "Standard(Scheduled)" where as per the documentation I need to create DTP of DTP type "DTP for Direct Access".This DTP type I donot see.
Is it a problem with the BW configuration or some user error.Any suggestions which may help would be realy appreciated.
Thanks & Regards,
priyadarshi -
Delay in the Inbound Idoc Posting Process
Dear Friends,
We have an scenario in the Inbound Idoc Posting Process, when we process the Idocs through the standard Inbound Program - RBDAPP01, we face the delay of 3hrs to 12 hrs, approx.
When we try to re-process the same through the manual process, we could successfully post the Idocs, immediately.
When the same happens, through the background job - the delay is happening.
As we see, there is no problem with the program - RBDAPP01, but can't able to trace the delay in the process.
Any suggestions / advises are welcome.
Thanks in advance.Hi Prasanna,
The update will happen only if a value already exists with the same unit of measure in the system. If the quantity is left blank in the system and if you are trying to update, the update might not happen. Even if the value is Zero in the system, provide the same unit of measure as the data used in the BAPI.
Regards,
Yogesh -
Segment E1IDBW1 is missing for the inbound idoc type PAYEXT
Hello,
the above segment is missing in the inbound idoc - basic type pexr2002.
I have checked in TC-we30 and its available there.
but still the idoc is getting generated without this segment.
can someone suggest.
thanks
ArunHi All,
I have a similar query to that of Penny. We are able to get the standard IDOC to generate with segment E1IDBW1. It contains the standard fields INPWEEMP, INPWTXT1, INPWTXT2. However, we have a requirement to manipulate the standard contents of these fields. We wanted to use user exit EXIT_SAPLIEDP_002 to do this.
I have maintained user exit EXIT_SAPLIEDP_002 but when we enter this on creation of the IDOC the segment E1IDBW1 does not seem to be available in table EDIDD_TABLE for manipulation. Can you advise please if (1) you were able to get E1IDBW1 available to edit in exit EXIT_SAPLIEDP_002 and (2) were you able to manipulate the contents of INPWTXT1, INPWTXT2 etc?
We have done the following steps:
- BTE 2441 is available on our release
- house bank has been setup as an In House Cash Center which allows E1IDBW1 to be generated
- entry has been maintained in table FEDICUS with Message Type = PAYEXT, BasicType = PEXR2002, Extension = Blank, Seg Type = E1IDBW1
- code maintained in ZXF08U04
The system enters ZXF08U04 but E1IDBW1 is not available there for manipulation.
Can you advise what we might be missing please?
Thanks and regards
Mike -
How to write processing code for the Inbound IDOC to the R/3 ??
i m having a file -> XI-->R/3 scenario,
IDOC is being sent from XI to R/3,
can u guide to me to write a processing code for the Inbound IDOC to the R/3,
since i m new to ABAP and ALE technology, can we provide me any blog for doing that.......or guide me....Hi Sudeep
Simple File to Idoc scenarion blog
/people/ravikumar.allampallam/blog/2005/06/24/convert-any-flat-file-to-any-idoc-java-mapping - Any flat file to any Idoc
Also see the blog
<a href="/people/ravikumar.allampallam/blog/2005/02/23/configuration-steps-required-for-posting-idocsxi Steps for Posting IDOC's</a> by Ravikumar.
Configuration of IDOC adapter
http://help.sap.com/saphelp_nw04/helpdata/en/96/791c42375d5033e10000000a155106/frameset.htm
Regards
Santhosh
*Reward points if useful* -
Where to put break point when debugging the inbound IDOC processing
Hi, Dear Experts,
If IDOC has error and want to debug, which program or function module to put break point when debugging the inbound IDOC processing
Thank you so much!
HelenIt depends on if you have the custom FM or standard FM...Is it MM invoice or FI invoice? ... You can find out your FM by going to partner profile (WE20) for your sender partner and partner function.. Drill down to your partner and the message type and find the inbound process code.. Double clicking on the process code will help you find the FM...
If you don't have access to WE20, You can also put BP into any of the IDOC_INPUT_INVOIC* FM and see if it is getting triggered (assuming your IDOC is standard FM)... -
IDOc creating and postinng in the inbound system.
i one requirement. i will get sales orders in flat file from legacy system. i need to consolidate the sales orders and post in the syatem as debit memo request.here i need to create the idoc with consolidate sales order and post in the same system.i need to use only IDOC.
i am confused in one step.
1. we will read the data from flat file and consolidate the orders.
2. for one consolidate order we will create IDOC .which function module we should use to create IDOC?
3.what kind of mapping we should do for this?
4.after creating IDOC.i need to post from the same custom program? how can i do this?
5.if i use IDOC_INBOUND_SINGLE. will it create IODC and also POST?
if anybody got this type of requirement plese help me.hi
THIS SAMPLE PROG MAY HELP YOU
constants: c_doctyp type edidc-idoctp value 'ZUSRDET01', IDOC TYPE
c_segnam type edidd-segnam value 'Z1USRDET01', SEGMENT TYPE
c_mestyp type edidc-mestyp value 'ZUSRDET'. MESSAGE TYPE
data: it_zusr02 type usr02 occurs 10,
it_edidc type edidc occurs 0,
it_edidd type edidd occurs 0,
wa_zusr02 type usr02,
wa_edidc type edidc,
wa_edidd type edidd,
wa_z1usrdet01 type z1usrdet01,
v_occmax type idocsyn-occmax,
v_nbseg type i.
clear wa_zusr02.
clear wa_edidc.
Save the message type and the basic IDoc type in the control segment.
move c_mestyp to wa_edidc-mestyp.
move c_doctyp to wa_edidc-idoctp.
Retrieve the maximum number of segments in the basic IDoc type.
select min( occmax ) from idocsyn into v_occmax where idoctyp eq c_doctyp and segtyp eq c_segnam.
Save the whole USR02 table content in the IT_ZUSR02 internal table.
select * from usr02 into corresponding fields of table it_zusr02.
Create a data segment for each line of IT_ZUSR02.
loop at it_zusr02 into wa_zusr02 .
move-corresponding wa_zusr02 to wa_z1usrdet01.
clear wa_edidd.
move c_segnam to wa_edidd-segnam.
move wa_z1usrdet01 to wa_edidd-sdata.
append wa_edidd to it_edidd.
clear wa_zusr02.
clear wa_z1usrdet01.
endloop.
Count the number of data segments.
describe table it_edidd lines v_nbseg.
If the number of data segments exceeds the maximum allowed number,then display an error message.
if v_nbseg gt v_occmax.
write:/ 'ERROR'.
endif.
call function <b>'MASTER_IDOC_DISTRIBUTE'</b>
exporting
master_idoc_control = wa_edidc
OBJ_TYPE = ''
CHNUM = ''
tables
communication_idoc_control = it_edidc
master_idoc_data = it_edidd
exceptions
error_in_idoc_control = 1
error_writing_idoc_status = 2
error_in_idoc_data = 3
sending_logical_system_unknown = 4
others = 5
if sy-subrc <> 0.
message id sy-msgid type sy-msgty number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
endif.
<b>reward points for useful ans</b>
<i>Regards
Ankit</i> -
Inbound IDOC receiver port not getting filled in
Hi All,
I checked the WE20 configuration and it is fine. Just wanted to check if there is any other sap configuration which might be missing.
The IDOC is coming from a web server and they confirmed that they are filling the receiver port information while sending, but in the IDOC that we receive in SAP the receiver port is coming as blank.
Any pointers will be appreciated.
Thanks,
AnilHello Anil,
When they say they are filling receiver port that means they filling EDIDC-RCVPRT, please note with out receiver port you will not be able to receive the Idoc.
It means this value might be cleared somewhere in SAP. may be user exit or BADI or enhancement. what you can do is try to create inbound idocs by populating receiver port using WE19 and check whether the created idoc contains this value or not.By doing the you can get an idea where this value is disappered.
Maybe you are looking for
-
Checking if header in a Word document has focus or not.
Hello, I am working on a document which has header and footer. Now the header can be modified by double clicking. I need a VBA code which can check if some one double clicks on the header and footer. Thanks in advance. Cheers Anshul
-
免 Chaines Char not accepted in QA system, working fine in Dev and PROD
Hi Experts, I am stuck withchines char e.g. 免 BW QA is not accepting it, I can see the PSA data 免 converted to #, where as same records show proper 免 in BW DEV and PROD. I checked the data in source system (RSA3) properly showing 免. I rechecked the S
-
Hi buddies! I noticed this messages is continuosly appearing in the alert log file. MTTR advisory is disabled because either FAST_START_IO_TARGET or LOG_CHECKPOINT_INTERVAL is set Is there something I should do about it. I tried to google but couldn'
-
When I open Time Machine all I see is the desktop. Where r the other folders?
All I see are copies of desktops that were bacjed up on my time machine. I can only restore the desktop. Where can I find the rest of hard drive contents?
-
I recently tried installing bootcamp on my macbook pro. During installation I didn't go through with it so I checked the option to cancel. It then restarted my computer and now it only goes to a black screen that says "Press any key to boot from CD"