One IDOC genearates 2
Hi All,
We have change points configured for SO (ORDERS.ORDERS05).
When I create or change (ve02) any SO, two IDOCs are generated in WE02 and the the same 2 IDOCS are sent to PI.
Both the IDOCS have same data in data and control records. The only thing that differs is IDOC No.
I checked in WE20, WE21, BD64 for any duplicate entries. All of them seemed correctly configured.
Where are the things go wrong?
If someone has faced similar issue, let me know
Thanks,
>
Nikhil A wrote:
> Hi All,
>
> We have change points configured for SO (ORDERS.ORDERS05).
> When I create or change (ve02) any SO, two IDOCs are generated in WE02 and the the same 2 IDOCS are sent to PI.
> Both the IDOCS have same data in data and control records. The only thing that differs is IDOC No.
>
> I checked in WE20, WE21, BD64 for any duplicate entries. All of them seemed correctly configured.
>
> Where are the things go wrong?
> If someone has faced similar issue, let me know
>
> Thanks,
Hi Nikhil,
It is configuration issue. two areas you will need to check.
1. Functional area where outputs types are configured ( Functional Person will be able to help you )
2. IDOC config, Partner profile config....
Do not waste your time debugging. It is basic config issue.
Good Luck.
Similar Messages
-
How to update multiple Sales Orders with one IDOC using IDOC_INPUT_ORDCHG
Hi Gurus,
Here's my scenario:
Consider there are 2 Sales Orders for same Purchase Order -
Open Quantity
Sales Order 1
Article A1
1
Sales Order 2
Article A2
1
Say if I want to change Open Quantity of both SO 1 & SO2 by dispatching 1 Quantity each for Article A1 and A2 via ORDCHG, observed that in Include LVEDBF0N, XVBAK-VBELN is checked for only 1 Sales Order.
Whether it is possible to update multiple SOs with one IDOC using IDOC_INPUT_ORDCHG?Hi,
Check out this link, this deals with the problem you are facing.
http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/802f0ed1-a17a-2c10-7db4-d515a5b047ed
Regards,
Runal -
How to produce a single file per one IDOC?
Hi Experts,
I have a scenario where I need to create a file for one IDOC. Suppose if the IDOC contains multiple IDOCS then I need to produce multiple files. How can be done using FCC?
Secondly If there are multiple IDOCs in to a single file how can I have a new line after each record with a deliminator at the end of the last field?
Thanks
Rajeev.Hello Rajeev,
I have a scenario where I need to create a file for one IDOC. Suppose if the IDOC contains multiple IDOCS then I need to produce multiple files. How can be done using FCC?
In order to achive this you can use MultiMappiing,
- If you have multiple IDOCS at source side, you need to add those at source message type in MessageMapping and map to the file.
check the following link how multimapping is achived.
/people/jin.shin/blog/2006/02/07/multi-mapping-without-bpm--yes-it146s-possible
Secondly If there are multiple IDOCs in to a single file how can I have a new line after each record with a deliminator at the end of the last field?
As far i know i don't think it is possible i can't find any option at receiver FCC anyway look at this blog once
/people/sravya.talanki2/blog/2006/12/27/aspirant-to-learn-sap-xiyou-won-the-jackpot-if-you-read-this-part-iii
Regards,
Prasanna -
Mapping Issue: one IDoc to multiple IDocs concerning incoming segments
Hi,
i want to devide one incoming IDoc to two or more outgoing IDoc's of same type concerning the appearance of one segment.
Incoming is:
<IDOC BEGIN=""> 1...1
<EDI_DC40 SEGMENT="">
</EDI_DC40>
<..>
<Z1MOV SEGMENT=""> 0..99999
</Z1MOV>
</IDOC>
Target should be:
for each Z1MOV one IDOC.
<IDOC BEGIN=""> 1...1
<EDI_DC40 SEGMENT="">
</EDI_DC40>
<..>
<Z1MOV SEGMENT=""> 0..1
</Z1MOV>
</IDOC>
I already did the occurance change, like imported target IDoc with changed attribute maxOccurs="unbounded".
I mapped the segment Z1MOV to IDOC but when Z1MOV occurs more than one time the target gets generated only one time. I changed the occurance of the IDoc to maxOccurs="unbounded".
What do i have to do to make it run?!
brCan someone help?
When i switch to debug while testing message mapping i get following:
Close tag
Close tag
Start tag
Targetelement /ZIDOC/IDOC[2]/BEGIN kann nicht angelegt werden. Prüfen Sie, ob die XML-Instanz für die Ausgangs-XSD und die Zielfeldzuordnung die Anforderungen der Ziel-XSD erfüllt. Zielelement /ZIDOC/IDOC[2]/BEGIN kann nicht angelegt werden. Prüfen Sie, ob die XML-Instanz für die Ausgangs-XSD und die Zielfeldzuordnung die Anforderungen der Ziel-XSD erfüllt.
I hope you can get the idea of this error because i can't tanslate.
But the BEGIN is required for each message so how to get rid of it. This also concerns the SEGMENT-tag under each Segment of the IDoc.
br -
Hi Experts,
I am working on IDOC to File Scenario
I have to send three messages using one idoc.
Could any one let me know whether is it possible to send with out using BPM or any suggest any other way.
Thanks in Advance.
Regards,
VijayHi
If u want to send the three message at the receiver side then u have to make the occurence for the target is 0..unbounded. and use the 1:n mapping in the message mapping.
To make the 1:N mapping in the message mapping go to the messages tab and put the occurence for the target message as 0..unbounded. when u do this it will creath the multiple message at the receiver side.
Remember u also have to make the same changes in the interface mapping also.
To give differnt names to all the file u can use the Addtime Stamp option in the file adfapter so it will create the file with the name as time stamp.
If u still face the problem please reply me back.
Thanks
Rinku -
Dear FI Idoc Gurus,
Iu2019m using basic type PEXR2002 , this idoc is generated when I do a payment run via F110. The idoc generation as far as I know is standard , with some enhancement done via user exit - EXIT_SAPLIEDP_902.
Currently for each payment document generated one IDOC is created . The Business document / payment document is per vendor. Hence each vendor I get one IDOC .
Client is asking if I can combine payments of various vendors into one IDOC ? is this possible? Is it possible through heavy customization?
Please assist thank you.
Best WishesHi,
I guess its very difficult to combine the different vendor IDOC into single IDOC and require the customized development.
Instead you can collect the different vendor IDOC based on the specific parameter. so that all the IDOC will get collected and send as a single message or single file. for this you can use the IDOC collect functionality. -
Requirment of two records in One Idoc
Dear Expert
Requirement is such that like:
Currently there is one condition Record in system as :
Site Vendor Article Tax Valid From Valid To Tax Code
111 100000 2000000 5% 01.01.2011 31.12.999 V0
Now User Inserting A new record As ;
111 100000 2000000 10% 11.11.2011 31.12.9999 V0
In this case if we triggered data through BD21 , Two Idoc are generating form SAP for Both Change Records
But Client requirement is such that both change records should flow in One Idoc.
How it can be done , what are those setting in SAP.
Thanks & Regards,
SurendraHi Oliver
Thanks for your reply.
Actually we want multiple segment of *E1KOMH* in one Idoc.
As this is already happening in our Quality client but in production is coming differently.
We utmost check all the setting related with idoc(Both client have same setting)
Can u suggest something more to resolve this as change in BADI , User Exits is the last option.
Regards,
Surendra -
Breaking up of, One IDoc to many IDocs & combing Many IDocs into one IDoc?
Does anybody have any sample code of:
Splitting an IDoc into multiple IDocs and
Combining many similar IDocs into one IDoc
Any pointers will be appreciated.
Regards
MaheshThis is the code for splitting of an inbound idoc into multiple idoc
REPORT ztemp no standard page heading .
******************Data Declaration for selection screen***************
TABLES: edidc,edidd.
CALL SELECTION-SCREEN 9000.
SELECTION-SCREEN: BEGIN OF SCREEN 9000,
BEGIN OF BLOCK b1 WITH FRAME.
SELECT-OPTIONS: idocno FOR edidc-docnum.
SELECTION-SCREEN:END OF BLOCK b1 ,
END OF SCREEN 9000.
*******************Data Declaration ************************************
DATA : it_contrl LIKE TABLE OF edidc WITH HEADER LINE,
it_hdata LIKE TABLE OF edidd WITH HEADER LINE,
it_fdata LIKE TABLE OF edidd WITH HEADER LINE,
it_gdata LIKE TABLE OF edidd WITH HEADER LINE,
it_data LIKE TABLE OF edidd WITH HEADER LINE,
it_status LIKE TABLE OF bdidocstat WITH HEADER LINE,
it_bdwfretvar LIKE TABLE OF bdwfretvar WITH HEADER LINE,
it_bdi_ser LIKE TABLE OF bdi_ser WITH HEADER LINE,
it_ldata LIKE TABLE OF edidd WITH HEADER LINE,
it_tede2 LIKE tede2,
vbeln LIKE vbak-vbeln,
idocnum LIKE edidc-docnum,
result LIKE bdwfap_par-result,
it_stat LIKE edids.
DATA : count TYPE i ,
counter TYPE i ,
temp TYPE i VALUE 1 ,
line TYPE i ,
tab LIKE sy-tabix.
*********************passing values to control record*****************
it_contrl-direct = '2'.
it_contrl-rcvprn = 'ID3IDES802'.
it_contrl-rcvprt = 'LS'.
it_contrl-doctyp = 'ORDERS05'.
it_contrl-idoctp = 'ORDERS05'.
it_contrl-sndpor = 'ZSOFI'.
it_contrl-sndprt = 'LI'.
it_contrl-sndprn = '1000'.
it_contrl-mestyp = 'ORDERS'.
APPEND it_contrl.
************************Select query for data*************************
SELECT * FROM edid4 INTO CORRESPONDING FIELDS OF TABLE it_fdata
WHERE docnum IN idocno.
SELECT * FROM edid4 INTO CORRESPONDING FIELDS OF TABLE it_data
WHERE docnum IN idocno AND segnam NOT LIKE 'E1EDP%' .
SELECT * FROM edid4 INTO CORRESPONDING FIELDS OF TABLE it_hdata
WHERE docnum IN idocno AND segnam LIKE 'E1EDP%'.
**************select query to count the no of E1EDP01 segment*********
SELECT COUNT( * ) FROM edid4 INTO count WHERE docnum IN idocno AND
segnam = 'E1EDP01'.
*************to determine the no of idocs to be generated************
count = count / 5.
PERFORM datasplit.
**********************************for remaining idocs*****************
counter = count MOD 5.
IF counter NE 0.
PERFORM dataremain. .
ENDIF.
*& Form datasplit
text
--> p1 text
<-- p2 text
FORM datasplit .
LOOP AT it_data.
MOVE-CORRESPONDING it_data TO it_gdata.
APPEND it_gdata.
ENDLOOP.
DO count TIMES.
PERFORM split.
perform idoccreate.
enddo.
ENDFORM. " datasplit
*& Form SPLIT
text
--> p1 text
<-- p2 text
FORM split .
LOOP AT it_hdata.
IF temp <= 5.
ON CHANGE OF it_hdata-segnam.
IF it_hdata-segnam = 'E1EDP01'.
MOVE-CORRESPONDING it_hdata TO it_gdata.
APPEND it_gdata.
ELSE.
MOVE-CORRESPONDING it_hdata TO it_gdata.
APPEND it_gdata.
temp = temp + 1.
ENDIF.
ENDON.
ENDIF.
ENDLOOP.
ENDFORM. " SPLIT
*& Form dataremain
text
--> p1 text
<-- p2 text
FORM dataremain .
CLEAR it_gdata[].
LOOP AT it_data.
MOVE-CORRESPONDING it_data TO it_gdata.
APPEND it_gdata.
ENDLOOP.
LOOP AT it_hdata .
IF sy-tabix > 10.
MOVE-CORRESPONDING it_hdata TO it_gdata.
APPEND it_gdata.
ENDIF.
ENDLOOP.
perform idoccreate.
ENDFORM. " dataremain
*& Form idoccreate
text
--> p1 text
<-- p2 text
form idoccreate .
***********************for creating the inbound idocs****************
CALL FUNCTION 'IDOC_INBOUND_WRITE_TO_DB'
EXPORTING
pi_status_message = it_stat
pi_do_handle_error = 'X'
PI_NO_DEQUEUE = ' '
pi_return_data_flag = 'X'
PI_RFC_MULTI_CP = ' '
IMPORTING
pe_idoc_number = idocnum
pe_state_of_processing = sy-subrc
pe_inbound_process_data = it_tede2 "for process code
TABLES
t_data_records = it_gdata
T_LINKED_OBJECTS =
CHANGING
pc_control_record = it_contrl
EXCEPTIONS
IDOC_NOT_SAVED = 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.
COMMIT WORK.
*it_contrl-status = '64'.
modify it_contrl index 1.
****************for posting the idoc**************************
CALL FUNCTION 'IDOC_INPUT_ORDERS'
EXPORTING
input_method = 'A'
mass_processing = '1'
IMPORTING
workflow_result = result
APPLICATION_VARIABLE =
IN_UPDATE_TASK =
CALL_TRANSACTION_DONE =
DOCUMENT_NUMBER = vbeln
TABLES
idoc_contrl = it_contrl[]
idoc_data = it_gdata[]
idoc_status = it_status[]
return_variables = it_bdwfretvar[]
serialization_info = it_bdi_ser[]
EDI_TEXT =
EDI_TEXT_LINES =
CLEAR : it_contrl-docnum.
COMMIT WORK.
endform. " idoccreate -
How many maximum records can be stored in One IDoc
Hi experts!!
Please let me know what is the maximum capacity of an IDoc. i.e.,
How many maximum records can be stored in an IDoc?
ex: abc,9807,bangalore
xyz,8976,mysore....... here two records are thr...if u have one lack records like this can we store all the records in one IDoc,....
Thanks in advance,
Sunil K ShettyHi Sunil,
Idoc structure is
1. Control record,
2. Data rord,
3. Status record.
1.Control record: contain only who is sender,who is receaver, /which type of data,Idoc number.
IT store the all control records in one table: EDIDC
2.Data Record: it contains the data records.(multiple records)
It stores the data records sre stored in one table: EDIDD
3.Status records: It show the stutus of the record. (It is multiple)
The status records are stored in one table: EDIDS
Rewords some points.
Rgds,
P.Naganjana Reddy -
Split one IDoc into two IDocs ?
hello all,
I wanna split one IDoc into two IDocs in XI?
how can implement it?
plx give some suggestions.
thx in advance
best regards
Yaning
Message was edited by:
Yaning LiuYaning,
Please find the below blog for changing the ocurrences of IDOC
/people/michal.krawczyk2/blog/2005/12/04/xi-idoc-bundling--the-trick-with-the-occurance-change
Best regards,
raj. -
Hi guys!
I need to copy one idoc type with Z extension to another R/3 system. How to do it?
Thank you!
OlianHi,
You can transport the IDoc Type to higher boxes.
But I could not able to find anything download and upload option.
a® -
Same EDIDS-STATUS for the one IDOC NUM
Hi Experts,
I would like to ask if its possible that one IDOC no. could have make use of one IDOC Status no. and only the message will be changed.
Let say: I have the following EDIDS structure:
IDOC_NUM IDOC_STATUS IDOC_MESSAGES
000000238 50 PO 00000051 created
000000238 50 PO 00000052 created
000000238 50 PO 00000053 created
This question pops-up in my mind because when I check the table EDIDS, the status no is not one of the primary keys...
Can anyone help to validate? Will it cause error ?
Thanks!
NosajHi
Yes an Idoc can use the same STATUS and provide multiple messages.
Refer the below code, using the same 51 status multiple error messages are written into IDOC STATUS.
READ TABLE i_return_order INTO wa_return WITH KEY type = 'E'.
IF sy-subrc EQ 0.
v_error = 'X'.
v_so_create_err = 'X'.
LOOP AT i_return_order INTO wa_return WHERE type = 'E'.
CLEAR idoc_status.
idoc_status-docnum = v_docnum.
idoc_status-status = '51'.
idoc_status-msgid = wa_return-id.
idoc_status-msgno = wa_return-number.
idoc_status-msgv1 = wa_return-message_v1.
idoc_status-msgv2 = wa_return-message_v2.
idoc_status-msgv3 = wa_return-message_v3.
idoc_status-msgv4 = wa_return-message_v4.
APPEND idoc_status.
CLEAR wa_return.
ENDLOOP.
ENDIF.
Regards
Kathirvel -
Flatfiles with different structures to one IDoc
Hi,
I did'nt found any valuable information about an N:1 scenario where 2 Flatfiles are to be mapped to one IDoc.So, some elements of the Message1 should be mapped with some segments of the idoc and some elements of the Message2 should be mapped with other segments of the same Idoc.I've seen also the patterns of the SWCV SAP BASIS 7.00.It's clear that I should use forks with correlation for the two messages.But I don't know it would be the Messge Mapping that makes the N:1 Transformation step.Every where i.e blogs,forums the flatfiles have the same structure.
I would be grateful for some precise suggestions
Thanks
GeorgeHi,
In the message mapping we can do in the below mentioned way.
In the message mapping we have 3 tabs, Design, Test and Messages. By default it is Design, now you select Messages tab, and add the 2 source(flat) files by using the add(+) symbol. now your sender contains 2 flat files and just drag and drop the required idoc at the receiver side and do the mapping as usual. -
I want to run one IDOC program how to run
Iam having one sales order idoc program
I want to run one IDOC program how to run.
That is sales order
idoc number: XXXXXXXX
idoc type: SDPICK (message)
idoc status: 64
direction: inbound
Tell me the process plz.Hi,
goto we19 ,give ur idoc number and then execute it and then in the next screen press on inbound fucntion module,give the Fm name thre andpress enter..it will be processed.
else
use program RBDAPP01 and thre specify the idoc number
else
use TCODE ->BD87 ..
Rewrad if helpful.
Regards,
Nagaraj -
I need one XML File containing one Idoc fields Say Orders01
hiall,
i need one XML File containing one Idoc fields Say Orders01
bye
satishhi,
<?xml version="1.0" encoding="iso-8859-1"?>
<ORDERS02>
<IDOC BEGIN="1">
<EDI_DC40 SEGMENT="1">
<TABNAM>EDI_DC40</TABNAM>
<MANDT>800</MANDT>
<DOCNUM>0000000000213213</DOCNUM>
<DOCREL>46B</DOCREL>
<STATUS>30</STATUS>
<DOCTYP>ORDERS02</DOCTYP>
<DIRECT>1</DIRECT>
<RCVPOR>A000000032</RCVPOR>
<RCVPRT>LS</RCVPRT>
<RCVPRN>sell</RCVPRN>
<RCVSAD/>
<RCVLAD/>
<STD/>
<STDVRS/>
<STDMES/>
<MESCOD/>
<MESFCT/>
<OUTMOD>4</OUTMOD>
<TEST/>
<SNDPOR>SAPSID</SNDPOR>
<SNDPRT>KU</SNDPRT>
<SNDPRN>23334</SNDPRN>
<SNDSAD/>
<SNDLAD/>
<REFINT/>
<REFGRP/>
<REFMES/>
<ARCKEY/>
<CREDAT>20061019</CREDAT>
<CRETIM>205734</CRETIM>
<MESTYP>ORDERS</MESTYP>
<IDOCTYP>ORDERS02</IDOCTYP>
<CIMTYP/>
<RCVPFC/>
<SNDPFC/>
<SERIAL></SERIAL>
<EXPRSS/>
</EDI_DC40>
<E1EDK01 SEGMENT="1">
<KZABS>X</KZABS>
<CURCY>USD</CURCY>
<WKURS>1.000</WKURS>
<ZTERM>ZZZZ</ZTERM>
<BSART>EC</BSART>
<BELNR>300024455</BELNR>
<RECIPNT_NO>misssa</RECIPNT_NO>
</E1EDK01>
<E1EDK14 SEGMENT="1">
<QUALF>014</QUALF>
<ORGID>1000</ORGID>
</E1EDK14>
<E1EDK14 SEGMENT="1">
<QUALF>009</QUALF>
<ORGID>001</ORGID>
</E1EDK14>
<E1EDK14 SEGMENT="1">
<QUALF>011</QUALF>
<ORGID>1000</ORGID>
</E1EDK14>
<E1EDK03 SEGMENT="1">
<IDDAT>012</IDDAT>
<DATUM>20061019</DATUM>
</E1EDK03>
<E1EDKA1 SEGMENT="1">
<PARVW>LF</PARVW>
<PARTN>000002344</PARTN>
<TELF1></TELF1>
<BNAME></BNAME>
</E1EDKA1>
<E1EDKA1 SEGMENT="1">
<PARVW>WE</PARVW>
<LIFNR>1000</LIFNR>
<NAME1></NAME1>
<STRAS></STRAS>
<ORT01></ORT01>
<PSTLZ>4444</PSTLZ>
<LAND1>EN</LAND1>
<TELF1></TELF1>
<SPRAS>D</SPRAS>
<ORT02></ORT02>
<REGIO>02</REGIO>
</E1EDKA1>
<E1EDK02 SEGMENT="1">
<QUALF>001</QUALF>
<BELNR>600060324</BELNR>
<DATUM>20061019</DATUM>
<UZEIT>205736</UZEIT>
</E1EDK02>
<E1EDK17 SEGMENT="1">
<QUALF>001</QUALF>
<LKOND>EXW</LKOND>
<LKTEXT>london</LKTEXT>
</E1EDK17>
<E1EDK18 SEGMENT="1">
<QUALF>001</QUALF>
<TAGE>12</TAGE>
<PRZNT>4.000</PRZNT>
</E1EDK18>
<E1EDK18 SEGMENT="1">
<QUALF>002</QUALF>
<TAGE>30</TAGE>
<PRZNT>2.000</PRZNT>
</E1EDK18>
<E1EDK18 SEGMENT="1">
<QUALF>003</QUALF>
<TAGE>45</TAGE>
</E1EDK18>
<E1EDP01 SEGMENT="1">
<POSEX>00010</POSEX>
<PSTYP>0</PSTYP>
<KZABS>X</KZABS>
<MENGE>1.000</MENGE>
<MENEE>EA</MENEE>
<BMNG2>1.000</BMNG2>
<PMENE>EA</PMENE>
<VPREI>3</VPREI>
<PEINH>1</PEINH>
<NETWR>3</NETWR>
<MATKL>001</MATKL>
<BPUMN>1</BPUMN>
<BPUMZ>1</BPUMZ>
<E1EDP20 SEGMENT="1">
<WMENG>1.000</WMENG>
<EDATU>19</EDATU>
</E1EDP20>
<E1EDP19 SEGMENT="1">
<QUALF>002</QUALF>
<IDTNR>100</IDTNR>
</E1EDP19>
<E1EDP19 SEGMENT="1">
<QUALF>001</QUALF>
<KTEXT>some text</KTEXT>
</E1EDP19>
</E1EDP01>
<E1EDS01 SEGMENT="1">
<SUMID>002</SUMID>
<SUMME>3</SUMME>
<SUNIT>USD</SUNIT>
</E1EDS01>
</IDOC>
</ORDERS02>
Regards,
michal
<a href="/people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions"><b>XI / PI FAQ - Frequently Asked Questions</b></a>
Maybe you are looking for
-
While updating my ipad1 to IOS5 it crashed!! What now??
While updating my ipad1 to IOS5 it crashed!! What now??
-
I am using HP250 laptop with 2005pr usb port replicator. Using laptop stnad alone the screen is set to maximum resolution but when I attached the 2005pr the monitor res is dropped to 1280x720 max. It worked fine originally, this has only recently sta
-
Ipod is disabled for 22,849,620 minutes how can I open ipod with this message?
Ipod is disabled for 22,849,620 minutes how can I open ipod with this message?
-
Error in transform PDF activity
Hi All error log details: Failure Time----Thu Aug 12 11:31:31 EDT 2010 source location ---- Reason of failure is-----Invocation error. Invocation error. ALC-DSC-000-000: com.adobe.idp.dsc.DSCException: Internal error. Internal error. java.lang.Illega
-
Trigger Adobe Window from HCM Form
Hi All, We have a requirement where we have to open a ABAP Dynpro window when a button on an HCM Form is pressed. Certain data would be selected in the Abap Dynpro window and the same would be passed back to the Form. Any idea how this can be done. I