Question on idoc
Pls tell me where Idoc is used practically or a practical application of Idoc
Moderator message: Before posting a question please search the forum as a lot of questions have already been covered. Also, please familiarise yourself with the forum rules which can be found [here|Please read "The Forum Rules of Engagement" before posting! HOT NEWS!!;.
Edited by: Neil Gardiner on Sep 21, 2010 5:04 PM
Hi,
Welcome to SDN.
Please read forum rules befor posting any threds.
Rehards,
Pravin
Similar Messages
-
Hi,
I have a few questions regarding IDOCs
1. The size of an IDOC is measured in terms of Segments. Is there any formula using which i can find the size of an IDOC in Kilobytes or Megabytes?
2. How many IDOCs can XI handle concurrently without causing any Queue problem. Is the number of IDOCs processed dependent in any way on the size of the IDOC?
Regards,
BhaveshHi,
>>1. The size of an IDOC is measured in terms of Segments. Is there any formula using which i can find the size of an IDOC in Kilobytes or Megabytes?
You can see size of IDOC in terms of XML size. In SXMB_MONI (header information) or have a simple IDOC to file scenario with/without content conversion you can get to know the size text and xml .
>> 2. How many IDOCs can XI handle concurrently without causing any Queue problem. Is the number of IDOCs processed dependent in any way on the size of the IDOC?
It depends upon your configuration with BPM(i.e collect pattern used) or without BPM.
With BPM is a real mess if the number is in thousands you will definately get queue problem.
Performance is also dependent on the tuning of your system how you have configured your integration engine.......
Size of Idoc also matters.
Regards,
Satish -
General questions on IDOCs and IDOCs for 2 Accounting Interface BAPIs
This post involves several questions pertaining to the topic of IDOC creation. I downloaded a couple of PDFs and tried googling for material on that, but things are far from being clear in my mind.
I tried to put my questions in some order, so we can follow a line of reasoning. Here we go, then:
I have one code where I there are calls to 2 BAPIs:
- BAPI_ACC_ACT_POSTINGS_REVERSE and
- BAPI_ACC_GL_POSTING_REV_POST
I am supposed to prepare/create an IDOC to perform the activities these BAPIs are responsible for, for the sole purpose of providing us much more details on the activities being executed in the system - this is one of the IDOC's features, if I got it right, its highly detailed logging of everything that is going on behind.
Now, the 1st question arises:
From the material I read, I understood that IDOCs are nothing more than data containers, whose sole purpose is to provide a means of communication between two different systems/parties - one of them would usually be SAP. If this is right, than what sort of IDOC would be this one I am supposed to build - if there's not going to be any inter-system communication ? Doesn't it sound strange that pure "data containers" can work as "logging functions" ? Please share some light here.
The 2nd question - after I understand what an IDOC really is - is
then connected to the job I have to do. I found 2 IDOCs which I think have the proper/correspondent basic types for the 2 aforementioned BAPIs. They are, respectively:
- ACC_DOCUMENT_REVERSE01 and
- ACC_GL_POSTING_REVERSE01
Getting back to my understanding of IDOCs, I got that every IDOC is generally made of one control record, data record(s), and status record(s). 3rd question: Where do the segments fit in ? Are the segments definitions of the Data Records ? And why is it that some IDOC types have header segments only and others doesn't have one ? (header segments are not the same as control records, right ?)
Finally, what is the general process flow for creating/preparing an IDOC ? I looked over a couple of forum posts about this but some of them differ one from another in the order of the steps, some don't mention this or that step, so I am still confused.
4th and last question: what comes first ? The definition of a partner, the bonding of a message type with an IDOC basic type, definitions of the inbound/outbound interfaces ?
Any help here would be highly appreciated.
Thanks in advance,
AvrahamHi Jaya,
Answer 1. Class is a template for creating objects. Object can also be called as instance.
Interfaces allow you to use different classes in a uniform way (polymorphism).
Answer 2. Normal abap is a procedural programming where as by using abap objects we can achieve object oriented programing.
Answer 6. Source code:
In below code i have created a interface and a class which is implementing the interface. I have declared a reference variable of type interface and created a object. Then i have called a method.
REPORT ZABAPOBJECTS_INTERF.
INTERFACE I1
INTERFACE I1.
METHODS METH1.
ENDINTERFACE. "I1
CLASS C1 DEFINITION
CLASS C1 DEFINITION.
PUBLIC SECTION.
METHODS: METH2.
INTERFACES: I1.
ENDCLASS. "C1 DEFINITION
CLASS C1 IMPLEMENTATION
CLASS C1 IMPLEMENTATION.
METHOD I1~METH1.
WRITE: / 'This is a method one'.
ENDMETHOD. "I1~METH1
METHOD METH2.
WRITE: / 'This is a method two'.
ENDMETHOD. "METH2
ENDCLASS. "C1 IMPLEMENTATION
START-OF-SELECTION.
DATA : REF1 TYPE REF TO I1.
CREATE OBJECT REF1 TYPE C1.
CALL METHOD REF1->METH1.
Question 7: Yes we need to create a class but most probably we use the existing classes.
Regarding BAPi's go through the below links,
http://www.sapgenie.com/abap/bapi/example.htm
http://www.sapdevelopment.co.uk/bapirfc/bapirfchome.htm
Regards,
Azaz Ali. -
Questions about IDoc to file scenario
I 'm confused, and have a few questions:
1, we need to define a product for it at least , assign it to either of the systems?
2, we don't have to configure an IDoc communication channel, do we?
3, does the receiver system (file/ftp) need a logical system? and define it by t-code BD54, in XI or R/3?
4, at least define techinical system and business system for R/3?
Can you explain the sld configuration to me ?
thanks a lot.Hi,
,1) we need to define a product for it at least , assign it to either of the systems?
Ans: Yes we need to define a product.
2, we don't have to configure an IDoc communication channel, do we?
Ans: Sender agreement and Sender IDOC communication channel is not required as IDOC adapter
resides on ABAP stack.
3, does the receiver system (file/ftp) need a logical system? and define it by t-code BD54, in XI or R/3?
Ans: For third party system from ID create the business system and use that Business system for File or
FTP system.
Business System.
1.Goto Business Landscape->New Business System->Name the business system.
2. Choose the technical system that needs to be attached->WebAS ABAP->Technical System Name.
Business System have an entry in the SLD and Buiness Service do not.
Business Systems are used when you are sending data to and from an R3 system and can be of ABAP, JAVA and Third Party Types.
Business System is a logical representation of a Technical System.
Business Service is a abstract representation of a System. For instance, www.google.com have a several system working together and IPs of this machines change eventually. When we use a Business Services like google we reference a computer that we don't know the phisical implementation.
4, at least define techinical system and business system for R/3?
Technical System
In SLD, click on technical landscape->New Technical System->WebAS ABAP.
Ans: Yes : Technical system is a phisical machine, it have a IP. Can be a BBDD, ERP, J2EE ......... a Business System is a logical term that we use into the Business Scenarios and represent these Technical System that we had created.
Can you explain the sld configuration to me ?
SLD is the place where u can define systems that are existing in ur landscape. using these systems u can transfer data from one system to another using PI.
TBIT40:
https://websmp109.sap-ag.de/~form/ehandler?_APP=00200682500000001337&_EVENT=DISPLAY&COURSE=TBIT40
/people/sugree.phatanapherom/blog/2005/08/14/configuring-sld-in-sneak-preview-sap-netweaver-04-sneak - SLD preview
SLD - http://help.sap.com/saphelp_nw04/helpdata/en/6e/fba1c735e0b44496072595092d924c/frameset.htm
Error while reading ID of own business system from the SLD
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/30f8bd90-0201-0010-dd9a-c8a7f52c47aa
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/9e76e511-0d01-0010-5c9d-9f768d644808
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/652b1f46-0a01-0010-25ae-e7cb07b55414
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/c00e7efc-0f27-2a10-d9a2-c46fc3863c20
Check this out
http://help.sap.com/saphelp_nw04/helpdata/en/56/361041ebf0f06fe10000000a1550b0/content.htm
Log into SLD and click the Help Link
You will get the detailed documentation for SLD for your version
Thanks,
Satya Kumar
Reward if it is useful
Edited by: SATYA KUMAR AKKARABOYANA on Apr 24, 2008 12:30 PM -
Some question on IDOC (Control Record/Data Record/Status Record)
Dear all,
I am new in this area, and would like to enquire some question on this topic.
When I view a IDOC via WE02, each of the IDOC record will consist of Control Record/Data Record/Status Record).
Questions:
I notice that the data records consists of many segment (i.e. E1EDK01, etc) which are use to store application data.
1 - My question is do I have to manually create all these segment and do a mapping to my application field one by one (i.e. that is when I want to create a brand new message type from scratch)?
2 - If question no. 1 is Yes, how to do it, what are the transaction code to create it? can you show me the step by step.
3 - I don't have to create the Control record and the status record for my new message type right ? because those field value will automatically pull out from partner profile and system status message, am I correct?
Thanks.
TuffHi Tuff,
As everything in SAP, with IDOCs too there are
1) Standard IDOCs
2) Standard IDOCs(Extending - Enhancement to an IDOC, to accomodate for custom values)
3) Custom IDOCs
And every IDOC has,
Control record - EDIDC Structure - This mostly reflects the partner profile information, along with few more details which are used for IDOC extension, Sequencing etc
Data Records - EDID4 Structure - These records contain the actual business data of the document in concern. So for ORDERS05 it would contain order details, INVOIC02 - Invoice details so on...
Status Records - These records capture the status of an IDOC from the time it is received/sent from your system and a corresponding business document is created/changed. So this will have messages like "IDOC sent to the port OK" etc which are status from the communication layer(ALE) to application specific messages like "Sales Order XXX created" or "Invalid Material" etc.
You would have noticed something called as Process code in the partner profile, this is associated with a FM(or work flow task etc) which has the business logic coded in.
So in case of an Inbound IDOC, the sending system updates the IDOC - Control and Data records, and sends it to the receiving system. On the receiving system the IDOC's control record is validated against the partner profiles set, if an entry is found then using the process code it finds the associated FM which will decode the data from the IDOC data records as per the IDOC type and then use it to post data into SAP (VIA BDC, Batch Input, BAPI etc).
And all this while the Status records are being updated accordingly.
So with the above context will try to answer your questions,
1 - My question is do I have to manually create all these segment and do a mapping to my application field one by one (i.e. that is when I want to create a brand new message type from scratch)?
In case of a custom IDOC, yes you will have to.
In case of a standard IDOC, you wouldn't have you just have set up the necessary configuration (Partner Profile, Process code etc)
In case of a standard IDOC extended to accommodate for some custom values(for which there are no fields in standard IDOC - Let us say you have added some new fields on VA01) - In this case you can still use the standard Process code and Standard FM associated with it, SAP provides several Function exits in these FM's which you can leverage to add your custom logic.
2 - If question no. 1 is Yes, how to do it, what are the transaction code to create it? can you show me the step by step.
There are several documents available on the net and on SDN detailing step by step approach for all the above three cases,
just search for step by step guide for IDOCS - sap.
3 - I don't have to create the Control record and the status record for my new message type right ? because those field value will automatically pull out from partner profile and system status message, am I correct?
Again it depends, in case of using a standard IDOC you wouldn't have to. But in case you have some customizations/enhancements then you might have to.
For Ex: updating the control record accordingly for indicating that you have extended the standard IDOC. Or append custom messages to the status record as per the business logic.
Try out the examples you find on the net and post any specific questions you might have.
Regards,
Chen -
Question on IDoc to File scenario
Hi Guys
I am doing an IDoc to File Scenario, and my sender system is maintained in the SLD as a business system, an I have created my RFC destination and Port acording this blog: http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/1310. [original link is broken] [original link is broken] [original link is broken] but when I use transaction idx2 the is niothing on a LOADED METADAT.
I have imported the idoc to integration repository : "FLCUSTOMER_CREATEFROMDATA.FLCUSTOMER_CREATEFROMDATA01"
My file will be created on the FTP Server directory.
My question is, do I have to created the RFC connection of type 3 or type T.
Thanks
YonelaHi Yonela,
Go thru the following threads and troubleshoot..
IDoc was saved but cannot or should not be sent
"IDOC saved but cannot be sent"
Regds,
Pinangshuk. -
I am doing a IDOC to file scenario.
i have created a business service for the filesystem and i am not getting the file.
but if i use a filesystem that has an entry in SLD i get the file.
i am confused..
any help is appreciatedhi kishan,
>>>>but if i use a filesystem that has an entry in SLD i get the file.
what do you mean filesystem in the sld ?
you can use business service as well
(without any data in SLD)
what errors have you got?
did you check message monitoring?
(question 24 Integrated engine section)
/people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions
can you see any errors in TCODE SXMB_MONI ?
Regards,
michal -
Hi Folks,
I have few questions on SAP XI.
1) For IDoc and RFC, why we need to import the metadata again even though we import RFC and IDoc in intergration Repository?
2) Why we don't need to create Message interface and Message type for IDoc and RFC?
3) Why RFC and IDoc comes in different namesapce, not in the namespace in which they are impoeted?
4) For IDoc we need to import metada in tran IDX2. Why the same is not in case of RFC? In case of RFC we need to specify metadata repository parametes in Communication Channels.
Thanks,
PunitAnswer 1) IDoc (Intermediate Document) metadata comprises structures for the corresponding IDoc types that are required by the IDoc adapter to convert these IDocs to IDoc XML format and the other way around
Answer 4) The adapters are configured in the configuration part of the Integration Builder, or in the configuration part of the PCK. You use the SAP Java Connector (JCo), which enables you to manage metadata. This in turn enables you to map RFC data generically to RFC XML and the other way around.
http://help.sap.com/saphelp_nw2004s/helpdata/en/33/c6e63b60c25767e10000000a11402f/content.htm.
Regards
Abhishek Mahajan
**Reward points if helpful** -
Question about iDoc- iDoc_xml- soap- axis- ...
Hi,
I have to create iDocs, transform these iDocs into xml(iDoc_xml) and send these xmls "soaped" via a https POST to an external webservice (axis 2). The webservice should transform the xml in a xml-format who could be read by an other system. Then the transformed xml will be send to the system. In the other direction I will get state changes from the system, transform this data @ the webservice into an idoc an send this via JCO into the SAP system.
The first steps are done. I could create an idoc and send it via the Port " soaped to a http destination. But I am not able to read the data within my webservice and the https stuff doesnt work too. Could anybody tell me if there are perhaps Best Practices for this kind of "work". I think my way to send a delivery03 iDoc as an xml to a customer is not the best way. Perhaps its a better idea to send the idOc to the webservice and let the jCo transform this iDoc to XML? Is this generally possible?Hi Benjamin,
In this case
E1AFKOL is the parent segment.
E1JSTKL, E1AFABL and E1AFFLL are the child for E1AFKOL.
The meaning is - for a particular parent segment there can exist 1 - 9999 child segments of E1JSTKL, E1AFABL and E1AFFLL
This is the parent child relationship
For the second question
In the table EDID4
Let us take this example
DOCNUM SEGNUM SEGNAM PSGNUM HLEVEL
1000 000001 E1AFKOL 000000 01
1000 000002 E1JSTKL 000001 02
1000 000003 E1JSTKL 000001 02
1000 000004 E1JSTKL 000001 02
1000 000005 E1AFABL 000001 02
1000 000006 E1AFABL 000001 02
1000 000007 E1AFABL 000001 02
1000 000008 E1AFFLL 000001 02
1000 000009 E1AFVOL 000008 03
1000 000010 E1AFVOL 000008 03
1000 000011 E1AFFLL 000001 02
1000 000012 E1AFVOL 000011 03
1000 000013 E1AFVOL 000011 03
1000 000014 E1AFFLL 000001 02
1000 000015 E1AFVOL 000014 03
1000 000016 E1AFVOL 000014 03
Hope this helps.
Regards
Arun -
Hi,
we want to operate 3 software components (1. development status, 2.presentation, 3.productive) and all software components use the same IDoc-adapter.
My question is:
If we send a message from the R3/System ( one client) to XI. how can I configure the IDoc-Adapter that the message is going to the software-component development for example?
Or do we need 3 client to solve this problem?
Thanks in advance.
Regards.
StefanHi,
>>>>we want to operate 3 software components (1. development status, 2.presentation, 3.productive) and all software components use the same IDoc-adapter.
1. this is <b>HIGHLY</b> not advisable to
use PRD with DEV on the same XI server!
if you do that you can expect many
problems on DEv that will have negative effects on PRD
don't do that never - it's like having
DEV and PRD R3 on different clients.. on one server
>>>>If we send a message from the R3/System ( one client) to XI. how can I configure the IDoc-Adapter that the message is going to the
2. there is no sender IDOC adapter but
I'm not telling you how to do it
because of point 1
Regards,
michal -
I test a scenario as file->xi->IDOC->R/3
and another scenario as R/3->IDOC->XI-file
i think, it should be two Communication channel
to R/3,one is Receiver another is Sender
But when i create the channel ,after select the adapter
tyep as IDOC, i can not select the Channel as a Sender
Can only set it as a Receiver
why?
and when i test the first scenario , the flowing error
appers(my test idoc message is 'CREMAS03':
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
- <!-- Call Adapter
-->
- <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="">
<SAP:Category>XIAdapter</SAP:Category>
<SAP:Code area="IDOC_ADAPTER">ATTRIBUTE_IDOC_RUNTIME</SAP:Code>
<SAP:P1>I:IDOC_ADAPTER:209 66609E10320A11D9ABCB000F1F6BBAD1 E1LFA1M</SAP:P1>
<SAP:P2 />
<SAP:P3 />
<SAP:P4 />
<SAP:AdditionalText />
<SAP:ApplicationFaultMessage namespace="" />
<SAP:Stack>Fehler: I:IDOC_ADAPTER:209 66609E10320A11D9ABCB000F1F6BBAD1 E1LFA1M</SAP:Stack>
<SAP:Retry>M</SAP:Retry>
</SAP:Error>
all of setting seems fine.The IDOC adapter does not need a sender channel, as all information the XI needs are stored in the message itself. Sender channels are requested mostly for polling adapters like file of jdbc. HTTP-, RFC-, IDOC- and XI-adapter do not need a sender channel (see manual for further details).
The error message seem not to be translated in your system. Here is the message text:
"MSGGUID &1: Control record must start with tag EDI_DC40, not &2"
So in the payload there is no control record for the IDOC.
Check in your IDOC receiver channel, if the checkbox "Apply Control Record Values from Payload" is marked. If so, uncheck it. That should help.
Regards
Stefan -
Hi ABAPers,
I´m new on IDoc, so I need somebody to help me.
I wish know how can I find where an IDoc is "generated". That is, where the MASTER_IDOC_DISTRIBUTE function is called.
My issue is an IDoc generated during the purchase order process (I guess that in the MIRO), I´ve already tried debug and stop in the above function without sucess.
Any help is welcomed.
Thanks,
Charles>
Charles Oliveira wrote:
> Hi Krishnendu,
>
> The debug didn't stop in these functions too.
>
> I don't understand so well about IDoc, but what I've, corrects me if something is wrong, is an IDoc (outbound) that is generated in a BADI or an USEREXIT, during the MIRO.
>
> I need know what's this EXIT or BADI, to make some modifications in the information that is passed to IDoc.
>
> Thank you and if you know anything more to help me, I would appreciate.
>
>
> Regards,
> Charles
There is a Concept called Message Control , Here Output type is attached to the IDoc message type and IDoc type. You will maintain this In WE20 partner profile part , in the outbound section.
and at the same time you will maitain the Output type in NACE ,
In NACE you will Configure the output type with medium as ALE/IDOC or EDI
and Program RSNASTED , i am not sure what is used in your case ? , it may be same or it may be Different and custom one.
you go to program RSNAST00 ,
in this you can go to line # 1327 ,
perform (tnapr-ronam) in program (tnapr-pgnam) using returncode
us_screen
if found.
here you keep a break point. and Go to MIRO tigger the output type. if it stops well and good.
if not start Debugging using /H in the messages screen , and Trigger the output by saving it.and then activate the Update Debugging from Menu Debugging->Update Debugging
then F8. it will stop exactly the above perform , and there you check.
and also if you know the output type you can check the Medium and Program used for processing the output. -
I'm raising this question again: IDOC sender info
in an IDOC to file scenario, i m sending an IDOC from a SAP system,
for doing so, i m triggering the IDOC from we19(picking IDOC no. of an already sent IDOC from we05),
Now, in the EDIDC of the IDOC, i give the port/partner no. of the receiver, now the problem is ...what should i give as the sender port/partner no, what is its relevance.......
Message was edited by:
sudeep dharyes bhavesh..thanks a ton...really...
that means when i maintain that sender sap system in the SLD, i will use the same name as that SAP system uses to send the IDOC...means the name "SAP"SystemIdClientNo.....
and one more thing, do i need to have a port maintained in the XI to import the IDOC metadata, from the sender SAP system, coz...i have seen in the SXMB moni trace that:
<Trace level="1" type="T">Get the Metadata for port SAPSD1</Trace>
<Trace level="2" type="T">----
</Trace>
<Trace level="2" type="T">IDX_STRUCTURE_GET Details</Trace>
<Trace level="2" type="T">Port : SAPSD1</Trace>
here SAPSD1 is the sender system....
means its trying to import metadata usinng this port.....SAPSD1... -
what is the message type?
pls send me good answer imm.Hi,
The messages exchanged between systems are of various message types. The message type depends on the data contained and the process involved. It determines the technical structure of the message, the IDoc type. For example, the FIDCMT message type is used for journal messages.
The IDoc type indicates the SAP format that is to be used to interpret the data of a business transaction.
Hope this helps.
Regards,
Richa -
Hi Experts,
Is there any steps for sending IDOC From SAP-SAP From Higher vertion to Lower Vertion.....
Thanks
Venkathi
good
go through these links
http://help.sap.com/bp_bpmv130/Documentation/Upgrade/XI_Upgrade_Guide.pdf
http://help.sap.com/bp_bpmv130/Documentation/Installation/Configuration_Guide_FP.pdf
thanks
mrutyun^
Maybe you are looking for
-
Does Microsoft word and excel come automatically with a new Mac Pro 13 inch laptop?
-
Using javascript to make a text box invisible by clicking a radiobutton
hi my radiobuttons are for a persons title eg Mr Miss Mrs Ms and value 5 is for other. when i click other i want a text box to appear that a user can write in, and if the user changes their mind after writing in the box i want the text box to disappe
-
hii i want to display all the users with a particular t-code so i am executing suim but when i am clicking on the below mentioned path user information system --->user >user by complex selection criteria > by transaction authorization
-
Joining v$sql and V$SQL_SHARED_CURSOR in 9.2
Hi, I'm trying to resolve why bind aware statements are not shared , but not sure how to join v$sql V$SQL_SHARED_CURSOR to get valuable information . Please advice. Regards. Greg
-
(V8.X) OPEN_CURSORS 파라미터를 매우 크게 잡을 경우 고려할 사항
제품 : ORACLE SERVER 작성날짜 : 2003-06-02 (V8.X) OPEN_CURSORS 파라미터를 매우 크게 잡을 경우 고려할 사항 ============================================================== PURPOSE 이 자료는 initSID.ora file에서 지정 가능한 OPEN_CURSORS parameter에 대한 설정과 open 상태의 cursor를 memory에서 release시