Customized IDOC Inbound: Structures differ in SXMB_MONI and receiving R/3
Hi everybody,
we post a IDOC to a R/3.
The IDOC arriving in R/3 has status 56 = IDOC with errors.
When I compare the payload in SXMB_MONI and in WE19/WE02 the structure differs?
What could be the reason?
Regards Mario
Hi Michal,
thanks a lot.
The error was difficult to find:
A segment had a wrong name, but it was only a <_> -> so it was difficult to find.
Regards Mario
Similar Messages
-
Creating a custom IDoc inbound function module
I have created a custom idoc.I wanted to create a custom IDoc inbound function module, this Function module will provide to launch a BAPI .Tell me how to "create" inbound function module for the custom idoc ?
Goto any standard for the Paramtetres
*" IMPORTING
*" REFERENCE(INPUT_METHOD) LIKE BDWFAP_PAR-INPUTMETHD
*" REFERENCE(MASS_PROCESSING) LIKE BDWFAP_PAR-MASS_PROC
*" EXPORTING
*" REFERENCE(WORKFLOW_RESULT) LIKE BDWFAP_PAR-RESULT
*" REFERENCE(APPLICATION_VARIABLE) LIKE BDWFAP_PAR-APPL_VAR
*" REFERENCE(IN_UPDATE_TASK) LIKE BDWFAP_PAR-UPDATETASK
*" REFERENCE(CALL_TRANSACTION_DONE) LIKE BDWFAP_PAR-CALLTRANS
*" REFERENCE(DOCUMENT_NUMBER) LIKE VBAK-VBELN
*" TABLES
*" IDOC_CONTRL STRUCTURE EDIDC
*" IDOC_DATA STRUCTURE EDIDD
*" IDOC_STATUS STRUCTURE BDIDOCSTAT
*" RETURN_VARIABLES STRUCTURE BDWFRETVAR
*" SERIALIZATION_INFO STRUCTURE BDI_SER
*" EDI_TEXT STRUCTURE EDIORDTXT1 OPTIONAL
*" EDI_TEXT_LINES STRUCTURE EDIORDTXT2 OPTIONAL
Do the below configs.
1.Recognise the funcmod as Inbound -BD51
2.Register the Function module in WE57 .
3.we42 Process code .
4. WE20 -PARTNER Profile
I hope it resolves ur Query.
Rgds
Sree M -
Convert IDOC XML structure to flat file - and now?
Hi,
we are working with input message ORDERS05 and want to convert it to flat file.
So we used the implementation description from "how to convert an IDOC-XML structure to a flat file....".
Looks like this is a standard procedure described here fitting for all IDOCs.
We followed the guide, making XI ready for Abap-Mapping, implemented the Abap class like described, added an interface mapping with source ORDERS05 to a mess.type dummy destination, added with type Abap-class the class implemented from the guide and completed the Int.Dir. implementation.
For comparism purpose we have two systems as receiver, one with a standard flat file with regular graph.mapping in XI, one with the Abap mapping.
Result:
Error description in SXMB_MONI:
Didn´t expect something like that! The IDOC was delivered successfully to the other simple flat file receiver.
Any idea what we made wrong (we are on SP17) or if there is a standard mistake you can do when following the guide?
Best regards
DirkHi,
I've got the same problem. He the solution in my case:
The problem is:
My IDOC has no element <STDMES>, but the method IF_MAPPING~EXECUTE from the 'HOW-TO Guide' does not check this situation:
el_element = idocument->find_from_name('STDMES').
ls_edidc-stdmes = el_element->get_value().
thows the exception.
Solution:
make shure that the field STDMESis set or change the method to:
el_element = idocument->find_from_name('STDMES').
if not el_element is initial.
ls_edidc-stdmes = el_element->get_value().
endif.
Best regards
Dieter -
Sample Custom idoc inbound function module
Hi Friends
I am receiving Inbound Idoc ,I Need to save the IDOC data into ZTable
Plz ..Can any one give me Sample idoc inbound FM to Config the WE20(partner profile)
Regards
RamHI Rama,
I presumed that You are talking about a FM to create inbound IDOC. So for creating inbound IDOC you can use '
CALL FUNCTION 'IDOC_INBOUND_ASYNCHRONOUS'
TABLES
idoc_control_rec_40 = gt_edidc
idoc_data_rec_40 = gt_edidd.
IF sy-subrc NE 0.
* MESSAGE e000 WITH text-003.
* ELSE.
* MESSAGE i000 WITH text-004 .
ENDIF.
just prepare edidc and edidd record in and pass it to the FM..
Hope this will work for you...
Thanks -
Inbound Custom IDoc Processing
Hi,
I've created an Inbound Custom IDoc, Created the ABAP function module to post it to the application, configured workflow and IDoc processing. All my setup appears fine as I can create IDocs from our AS400 subsystem and trigger a successful posting via the IDoc test tool.
Having got this working I now want to automate the posting.
At present I create the IDoc's on our Legacy AS400 System and FTP them onto the SAP Application Server which runs on a Windows 2003 platform.
How do I get SAP to process each of my waiting Idoc's?
Any examples appreciated....Hi
For CUSTOM IDOC inbound processing
Firstly attach your idoc to a process code.
In the process cod you can tell the system that the specified program should be triggered whenever an idoc of that type comes to the system.
Then you want to have a Z-function module for your idoc processing, if I understand correctly.The steps should be:
1. Create a z function module for idoc inbound posting (copy from a function module idoc_input_*).
2. Set Function Modules as Inbound: - Transaction BD51
3. Assign Function Modules to Logical Messages and Idoc types:- Transaction WE57
4. Create process codes : Transaction WE42, and link the z-function module.
5. Create partner profile: transaction WE20 and attach the message type and process code.
6. In the Z- function module, extract data from the idoc segments, do whatever processing you want to do, and then call BAPI_CREATE_SALES_ORDER_FROMDAT2.
Check out this sample Function Module on the inbound system
FUNCTION Z_IDOC_INPUT_EMPREP.
""Local interface:
*" IMPORTING
*" VALUE(INPUT_METHOD) LIKE BDWFAP_PAR-INPUTMETHD
*" VALUE(MASS_PROCESSING) LIKE 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_CONTRL STRUCTURE EDIDC
*" IDOC_DATA STRUCTURE EDIDD
*" IDOC_STATUS STRUCTURE BDIDOCSTAT
*" RETURN_VARIABLES STRUCTURE BDWFRETVAR
*" SERIALIZATION_INFO STRUCTURE BDI_SER
*" EXCEPTIONS
*" WRONG_FUNCTION_CALLED
Database Tables
TABLES: ZAK_EMPLIST.
Include programs
INCLUDE MBDCONWF.
Data Declarations
*--- Employee Header -IDOC
DATA: FS_EMPHDR_DATA LIKE Z1R_SEG1.
*--- Employee Details -IDOC
DATA: FS_EMPDET_DATA LIKE Z1R_SEG2.
*--- Employee Header - application data
DATA: FS_APP_EMPHDR LIKE ZAK_EMPLIST.
*--- Employee Details - application data
DATA: FS_APP_EMPDET LIKE ZAK_EMPLIST.
Program Logic
*---Initialize Work Flow Result
WORKFLOW_RESULT = C_WF_RESULT_OK.
LOOP AT IDOC_CONTRL.
*--- Check whether the correct message was passed to us
IF IDOC_CONTRL-MESTYP NE 'ZR_MSG'.
RAISE WRONG_FUNCTION_CALLED.
ENDIF.
*--- Clear application buffers before reading a new record
CLEAR FS_APP_EMPDET.
CLEAR FS_APP_EMPHDR.
REFRESH FS_APP_EMPDET.
REFRESH FS_APP_EMPDET.
*--- Process all records and pass them on to application buffers
LOOP AT IDOC_DATA WHERE DOCNUM EQ IDOC_CONTRL-DOCNUM.
CASE IDOC_DATA-SEGNAM.
WHEN 'Z1R_SEG1'. " Employee Header
FS_EMPHDR_DATA = IDOC_DATA-SDATA.
MOVE-CORRESPONDING FS_EMPHDR_DATA TO FS_APP_EMPHDR.
WHEN 'Z1R_SEG2'. " Employee Details
FS_EMPDET_DATA = IDOC_DATA-SDATA.
MOVE-CORRESPONDING FS_EMPDET_DATA TO FS_APP_EMPDET.
ENDCASE.
ENDLOOP.
*--- If data is ok
SELECT * FROM ZAK_EMPLIST WHERE ENUMBER = FS_APP_EMPHDR.
IF SY-SUBRC NE 0.
INSERT INTO ZAK_EMPLIST VALUES FS_APP_EMPHDR.
INSERT INTO ZAK_EMPLIST VALUES FS_APP_EMPDET.
ELSE.
UPDATE ZAK_EMPLIST FROM FS_APP_EMPHDR.
UPDATE ZAK_EMPLIST FROM FS_APP_EMPDET.
ENDIF.
ENDSELECT.
IF SY-SUBRC EQ 0.
*--- Populate Return variables for success
RETURN_VARIABLES-WF_PARAM = 'Processed_IDOCs'.
RETURN_VARIABLES-DOC_NUMBER = IDOC_CONTRL-DOCNUM.
RETURN_VARIABLES-WF_PARAM = 'Appl_Objects'.
RETURN_VARIABLES-DOC_NUMBER = FS_APP_EMPHDR-ENUMBER.
APPEND RETURN_VARIABLES.
*--- Add Status Reocrds indicating success
IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.
IDOC_STATUS-STATUS = '53'.
IDOC_STATUS-MSGTY = 'I'.
IDOC_STATUS-MSGID = 'ZE'.
IDOC_STATUS-MSGNO = '006'.
IDOC_STATUS-MSGV1 = FS_APP_EMPHDR-ENUMBER.
APPEND IDOC_STATUS.
ELSE.
WORKFLOW_RESULT = C_WF_RESULT_ERROR.
RETURN_VARIABLES-WF_PARAM = 'Error IDOCs'.
RETURN_VARIABLES-DOC_NUMBER = IDOC_CONTRL-DOCNUM.
APPEND RETURN_VARIABLES.
*--- Add status record indicating failure in updating
IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.
IDOC_STATUS-STATUS = '51'.
IDOC_STATUS-MSGTY = 'E'.
IDOC_STATUS-MSGID = 'ZE'.
IDOC_STATUS-MSGNO = '007'.
IDOC_STATUS-MSGV1 = FS_APP_EMPHDR-ENUMBER.
APPEND IDOC_STATUS.
ENDIF.
ENDLOOP.
ENDFUNCTION.
Good Luck and reward me for the same
Thanks
Ashok -
Hi All,
what are the settings need to be done on both XI system and SAP R/3 system while XI system is communicating to any SAP R/3 system through an IDOC on any side sender or receiver.
Will there be any difference in the settings for sender and receiver SAP R/3 systems.
Could any body please suggest me some blogs or documents.
Thanks in advance..
Regards,
Radhika.Hi Radhika,
Hi
http://help.sap.com/saphelp_nw04/helpdata/en/18/22b800773211d396b20004ac96334b/content.htm
http://www.erpgenie.com/index.php?option=com_content&task=view&id=346&Itemid=57
http://searchsap.techtarget.com/loginMembersOnly/1,289498,sid21_gci994575,00.html?NextURL=http%3A//searchsap.techtarget.com/expert/KnowledgebaseAnswer/0%2C289625%2Csid21_gci994575%2C00.html
http://www.thespot4sap.com/Articles/SAP_ALE_Other_Concepts_Conclusion.asp
Refer this material..
Data Creation in Idoc
IDocs are text encoded documents with a rigid structure that are used to exchange data between R/3 and a foreign system. Instead of calling a program in the destination system directly, the data is first packed into an IDoc and then sent to the receiving system, where it is analyzed and properly processed. Therefore an IDoc data exchange is always an
asynchronous process. The significant difference between simple RFC-calls and IDoc data exchange is the fact, that every action performed on IDocs are protocolled by R/3 and IDocs can be reprocessed if an error occurred in one of the message steps.
While IDocs have to be understood as a data exchange protocol, EDI and ALE are typical use cases for IDocs. R/3 uses IDocs for both EDI and ALE to deliver data to the receiving system. ALE is basically the scheduling mechanism that defines when and between which partners and what kind of data will be exchanged on a regular or event triggered basis. Such a set-up is called an ALE-scenario.
IDoc is a intermediate document to exchange data between two SAP Systems.
*IDocs are structured ASCII files (or a virtual equivalent).
*Electronic Interchange Document
*They are the file format used by SAP R/3 to exchange data with foreign systems.
*Data Is transmitted in ASCII format, i.e. human readable form
*IDocs exchange messages
*IDocs are used like classical interface files
IDOC types are templates for specific message types depending on what is the business document, you want to exchange.
WE30 - you can create a IDOC type.
An IDOC with data, will have to be triggered by the application that is trying to send out the data.
FOr testing you can use WE19.
How to create idoc?
*WE30 - you can create a IDOC type
For more information in details on the same along with the examples can be viewed on:
http://www.netweaverguru.com/EDI/HTML/IDocBook.htm#_Toc8400404
http://help.sap.com/saphelp_erp2005/helpdata/en/0b/2a6620507d11d18ee90000e8366fc2/frameset.htm
http://www.sappoint.com/presentation.html
http://www.allsaplinks.com/idoc_search.html
http://www.sapgenie.com/sapedi/idoc_abap.htm
http://www.erpgenie.com/sapedi/idoc_abap.htm
To Create Idoc we need to follow these steps:
Create Segment ( WE31)
Create Idoc Type ( WE30 )
Create Message Type ( WE81 )
Assign Idoc Type to Message Type ( WE82 )
Creating a Segment
Go to transaction code WE31
Enter the name for your segment type and click on the Create icon
Type the short text
Enter the variable names and data elements
Save it and go back
Go to Edit -> Set Release
Follow steps to create more number of segments
Create IDOC Type
Go to transaction code WE30
Enter the Object Name, select Basic type and click Create icon
Select the create new option and enter a description for your basic IDOC type and press enter
Select the IDOC Name and click Create icon
The system prompts us to enter a segment type and its attributes
Choose the appropriate values and press Enter
The system transfers the name of the segment type to the IDOC editor.
Follow these steps to add more number of segments to Parent or as Parent-child relation
Save it and go back
Go to Edit -> Set release
Create Message Type
Go to transaction code WE81
Change the details from Display mode to Change mode
After selection, the system will give this message The table is cross-client (see Help for further info). Press Enter
Click New Entries to create new Message Type
Fill details
Save it and go back
Assign Message Type to IDoc Type
Go to transaction code WE82
Change the details from Display mode to Change mode
After selection, the system will give this message The table is cross-client (see Help for further info). Press Enter.
Click New Entries to create new Message Type.
Fill details
Save it and go back
Check these out..
Re: How to create IDOC
Check below link. It will give the step by step procedure for IDOC creation.
http://www.supinfo-projects.com/cn/2005/idocs_en/2/
ALE/ IDOC
http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
http://www.sapgenie.com/sapedi/index.htm
http://www.sappoint.com/abap/ale.pdf
http://www.sappoint.com/abap/ale2.pdf
http://www.sapgenie.com/sapedi/idoc_abap.htm
http://help.sap.com/saphelp_erp2005/helpdata/en/0b/2a60bb507d11d18ee90000e8366fc2/frameset.htm
http://help.sap.com/saphelp_erp2005/helpdata/en/78/217da751ce11d189570000e829fbbd/frameset.htm
http://www.allsaplinks.com/idoc_sample.html
http://www.sappoint.com/abap.html
http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
http://www.sapgenie.com/sapedi/index.htm
http://www.allsaplinks.com/idoc_sample.html
http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.docs
go trough these links.
http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
http://www.sapgenie.com/sapedi/index.htm
http://www.sappoint.com/abap/ale.pdf
http://www.sappoint.com/abap/ale2.pdf
http://www.sapgenie.com/sapedi/idoc_abap.htm
http://help.sap.com/saphelp_erp2005/helpdata/en/0b/2a60bb507d11d18ee90000e8366fc2/frameset.htm
http://help.sap.com/saphelp_erp2005/helpdata/en/78/217da751ce11d189570000e829fbbd/frameset.htm
http://www.allsaplinks.com/idoc_sample.html
http://www.sappoint.com/abap.html
http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
http://www.sapgenie.com/sapedi/index.htm
http://www.allsaplinks.com/idoc_sample.html
http://http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
An IDoc is simply a data container that is used to exchange information between any two processes that can understand the syntax and semantics of the data...
1.IDOCs are stored in the database. In the SAP system, IDOCs are stored in database tables.
2.IDOCs are independent of the sending and receiving systems.
3.IDOCs are independent of the direction of data exchange.
The two available process for IDOCs are
Outbound Process
Inbound Process
AND There are basically two types of IDOCs.
Basic IDOCs
Basic IDOC type defines the structure and format of the business document that is to be exchanged between two systems.
Extended IDOCs
Extending the functionality by adding more segments to existing Basic IDOCs.
To Create Idoc we need to follow these steps:
Create Segment ( WE31)
Create Idoc Type ( WE30)
Create Message Type ( WE81)
Assign Idoc Type to Message Type ( WE82)
imp links
http://www.allsaplinks.com/idoc_sample.html
http://www.sapgenie.com/sapedi/idoc_abap.htm
www.sappoint.com
--here u can find the ppts and basic seetings for ALE
http://sappoint.com/presentation.html
www.sapgenie.com
http://www.sapgenie.com/ale/index.htm
WE30 - you can create a IDOC type.
An IDOC with data, will have to be triggered by the application that is trying to send out the data.
Try this..Hope this will help.
Steps to configuration(Basis) >>
1. Create Logical System (LS) for each applicable ALE-enabled client
2. Link client to Logical System on the respective servers
3. Create background user, to be used by ALE(with authorizaton for ALE postings)
4. Create RFC Destinations(SM59)
5. Ports in Idoc processing(WE21)
6. Generate partner profiles for sending system
The functional configuration(Tcode: SALE)
Create a Customer Distribution Model (CDM);
Add appropriate message types and filters to the CDM;
Generate outbound partner profiles;
Distribute the CDM to the receiving systems; and
Generate inbound partner profiles on each of the clients.
Steps to customize a new IDoc >>>
1. Define IDoc Segment (WE31)
2. Convert Segments into an IDoc type (WE30)
3. Create a Message Type (WE81)
4. Create valid Combination of Message & IDoc type(WE82)
5. Define Processing Code(WE41 for OUT / WE42 for IN)
6. Define Partner Profile(WE20)
Important Transaction Codes:
SALE - IMG ALE Configuration root
WE20 - Manually maintain partner profiles
BD64 - Maintain customer distribution model
BD71 - Distribute customer distribution model
SM59 - Create RFC Destinations
BDM5 - Consistency check (Transaction scenarios)
BD82 - Generate Partner Profiles
BD61 - Activate Change Pointers - Globally
BD50 - Activate Change Pointer for Msg Type
BD52 - Activate change pointer per change.doc object
BD59 - Allocation object type -> IDOC type
BD56 - Maintain IDOC Segment Filters
BD53 - Reduction of Message Types
BD21 - Select Change Pointer
BD87 - Status Monitor for ALE Messages
BDM5 - Consistency check (Transaction scenarios)
BD62 - Define rules
BD79 - Maintain rules
BD55 - Defining settings for IDoc conversion
WEDI - ALE IDoc Administration
WE21 - Ports in Idoc processing
WE60 - IDoc documentation
SARA - IDoc archiving (Object type IDOC)
WE47 - IDoc status maintenance
WE07 - IDoc statistics
BALE - ALE Distribution Administration
WE05 - IDoc overview
BD87 - Inbound IDoc reprocessing
BD88 - Outbound IDoc reprocessing
BDM2 - IDoc Trace
BDM7 - IDoc Audit Analysis
BD21 - Create IDocs from change pointers
SM58 - Schedule RFC Failures
Basic config for Distributed data:
BD64: Maintain a Distributed Model
BD82: Generate Partner Profile
BD64: Distribute the distribution Model
Programs
RBDMIDOC Creating IDoc Type from Change Pointers
RSEOUT00 Process all selected IDocs (EDI)
RBDAPP01 - Inbound Processing of IDocs Ready for Transfer
RSARFCEX - Execute Calls Not Yet Executed
RBDMOIND - Status Conversion with Successful tRFC Execution
RBDMANIN - Start error handling for non-posted IDocs
RBDSTATE - Send Audit Confirmations
FOr testing you can use WE19.
You can directly create an iDoc using some transaction like...
Use TCODE bd10 - to Send Data
and TCODE bd11 - to Get Data
and you can check the IDoc List using TCODE we02.
As you want step by step procedure.
1. Define Logical System and Assign Logical System
TCODE sale
2. Define RFC
TCODE sm59
3. Define Port
TCODE we21
4. Define Partner Profile
TCODE we20
5. Define Distribution Model
TCODE bd64
6. Send Data
TCODE bd10
7. Get Data
TCODE bd11
8. IDoc List
TCODE we02
There are basically two types of IDOCs.
Basic IDOCs
Extended IDOCs
Idoc Components
Basic Idoc
Basic IDOC type defines the structure and format of the business document that is to be exchanged between two systems.
Extension Idoc
Extending the functionality by adding more segments to existing Basic IDOCs.
Creation of IDoc
To Create Idoc we need to follow these steps:
Create Segment ( WE31)
Create Idoc Type ( WE30)
Create Message Type ( WE81)
Assign Idoc Type to Message Type ( WE82)
Creating a Segment
Go to transaction code WE31
Enter the name for your segment type and click on the Create icon
Type the short text
Enter the variable names and data elements
Save it and go back
Go to Edit -> Set Release
Follow steps to create more number of segments
Create IDOC Type
Go to transaction code WE30
Enter the Object Name, select Basic type and click Create icon
Select the create new option and enter a description for your basic IDOC type and press enter
Select the IDOC Name and click Create icon
The system prompts us to enter a segment type and its attributes
Choose the appropriate values and press Enter
The system transfers the name of the segment type to the IDOC editor.
Create IDOC Type
Follow these steps to add more number of segments to Parent or as Parent-child relation
Save it and go back
Go to Edit -> Set release
Create Message Type
Go to transaction code WE81
Change the details from Display mode to Change mode
After selection, the system will give this message The table is cross-client (see Help for further info). Press Enter
Click New Entries to create new Message Type
Fill details
Save it and go back
Assign Message Type to IDoc Type
Go to transaction code WE82
Change the details from Display mode to Change mode
After selection, the system will give this message The table is cross-client (see Help for further info). Press Enter.
Click New Entries to create new Message Type.
Fill details
Save it and go back
u can also check all these links related to idocs
http://www.allsaplinks.com/idoc_sample.html
http://www.allsaplinks.com/
http://www.sap-img.com/
http://www.sappoint.com/abap.html
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCMIDALEIO/BCMIDALEIO.pdf
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCMIDALEPRO/BCMIDALEPRO.pdf
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/CABFAALEQS/CABFAALEQS.pdf
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCSRVEDISC/CAEDISCAP_STC.pdf
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCSRVEDI/CAEDI.pdf
http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
http://www.sapgenie.com/sapedi/index.htm
http://expertanswercenter.techtarget.com/eac/knowledgebaseCategory/0,295197,sid63_tax296858_idx0_off50,00.html
http://sap.ittoolbox.com/documents/popular-q-and-a/extending-a-basic-idoc-type-2358
http://help.sap.com/saphelp_47x200/helpdata/en/dc/6b7eee43d711d1893e0000e8323c4f/frameset.htm
Reward points if this helps
Regards
Vani. -
hi all
I am XI consultant
i want to send IDOC to XI server using ALE..but the IDOC is not present ....the master data is stored in standard sap tables but for them idoc is not present ...so i want to create custom idoc and using change pointer i can send it across ...is this a write approach...? Also please give me the procedure for the above approach as i dont have idea about how to create custome idoc and send it using change pointer
thanks
SheetalHi
Data Creation in Idoc
IDocs are text encoded documents with a rigid structure that are used to exchange data between R/3 and a foreign system. Instead of calling a program in the destination system directly, the data is first packed into an IDoc and then sent to the receiving system, where it is analyzed and properly processed. Therefore an IDoc data exchange is always an
asynchronous process. The significant difference between simple RFC-calls and IDoc data exchange is the fact, that every action performed on IDocs are protocolled by R/3 and IDocs can be reprocessed if an error occurred in one of the message steps.
While IDocs have to be understood as a data exchange protocol, EDI and ALE are typical use cases for IDocs. R/3 uses IDocs for both EDI and ALE to deliver data to the receiving system. ALE is basically the scheduling mechanism that defines when and between which partners and what kind of data will be exchanged on a regular or event triggered basis. Such a set-up is called an ALE-scenario.
IDoc is a intermediate document to exchange data between two SAP Systems.
*IDocs are structured ASCII files (or a virtual equivalent).
*Electronic Interchange Document
*They are the file format used by SAP R/3 to exchange data with foreign systems.
*Data Is transmitted in ASCII format, i.e. human readable form
*IDocs exchange messages
*IDocs are used like classical interface files
IDOC types are templates for specific message types depending on what is the business document, you want to exchange.
WE30 - you can create a IDOC type.
An IDOC with data, will have to be triggered by the application that is trying to send out the data.
FOr testing you can use WE19.
How to create idoc?
*WE30 - you can create a IDOC type
For more information in details on the same along with the examples can be viewed on:
http://www.netweaverguru.com/EDI/HTML/IDocBook.htm#_Toc8400404
http://help.sap.com/saphelp_erp2005/helpdata/en/0b/2a6620507d11d18ee90000e8366fc2/frameset.htm
http://www.sappoint.com/presentation.html
http://www.allsaplinks.com/idoc_search.html
http://www.sapgenie.com/sapedi/idoc_abap.htm
http://www.erpgenie.com/sapedi/idoc_abap.htm
To Create Idoc we need to follow these steps:
Create Segment ( WE31)
Create Idoc Type ( WE30 )
Create Message Type ( WE81 )
Assign Idoc Type to Message Type ( WE82 )
Creating a Segment
Go to transaction code WE31
Enter the name for your segment type and click on the Create icon
Type the short text
Enter the variable names and data elements
Save it and go back
Go to Edit -> Set Release
Follow steps to create more number of segments
Create IDOC Type
Go to transaction code WE30
Enter the Object Name, select Basic type and click Create icon
Select the create new option and enter a description for your basic IDOC type and press enter
Select the IDOC Name and click Create icon
The system prompts us to enter a segment type and its attributes
Choose the appropriate values and press Enter
The system transfers the name of the segment type to the IDOC editor.
Follow these steps to add more number of segments to Parent or as Parent-child relation
Save it and go back
Go to Edit -> Set release
Create Message Type
Go to transaction code WE81
Change the details from Display mode to Change mode
After selection, the system will give this message The table is cross-client (see Help for further info). Press Enter
Click New Entries to create new Message Type
Fill details
Save it and go back
Assign Message Type to IDoc Type
Go to transaction code WE82
Change the details from Display mode to Change mode
After selection, the system will give this message The table is cross-client (see Help for further info). Press Enter.
Click New Entries to create new Message Type.
Fill details
Save it and go back
Check these out..
Re: How to create IDOC
Check below link. It will give the step by step procedure for IDOC creation.
http://www.supinfo-projects.com/cn/2005/idocs_en/2/
ALE/ IDOC
http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
http://www.sapgenie.com/sapedi/index.htm
http://www.sappoint.com/abap/ale.pdf
http://www.sappoint.com/abap/ale2.pdf
http://www.sapgenie.com/sapedi/idoc_abap.htm
http://help.sap.com/saphelp_erp2005/helpdata/en/0b/2a60bb507d11d18ee90000e8366fc2/frameset.htm
http://help.sap.com/saphelp_erp2005/helpdata/en/78/217da751ce11d189570000e829fbbd/frameset.htm
http://www.allsaplinks.com/idoc_sample.html
http://www.sappoint.com/abap.html
http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
http://www.sapgenie.com/sapedi/index.htm
http://www.allsaplinks.com/idoc_sample.html
http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.docs
go trough these links.
http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
http://www.sapgenie.com/sapedi/index.htm
http://www.sappoint.com/abap/ale.pdf
http://www.sappoint.com/abap/ale2.pdf
http://www.sapgenie.com/sapedi/idoc_abap.htm
http://help.sap.com/saphelp_erp2005/helpdata/en/0b/2a60bb507d11d18ee90000e8366fc2/frameset.htm
http://help.sap.com/saphelp_erp2005/helpdata/en/78/217da751ce11d189570000e829fbbd/frameset.htm
http://www.allsaplinks.com/idoc_sample.html
http://www.sappoint.com/abap.html
http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
http://www.sapgenie.com/sapedi/index.htm
http://www.allsaplinks.com/idoc_sample.html
http://http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
An IDoc is simply a data container that is used to exchange information between any two processes that can understand the syntax and semantics of the data...
1.IDOCs are stored in the database. In the SAP system, IDOCs are stored in database tables.
2.IDOCs are independent of the sending and receiving systems.
3.IDOCs are independent of the direction of data exchange.
The two available process for IDOCs are
Outbound Process
Inbound Process
AND There are basically two types of IDOCs.
Basic IDOCs
Basic IDOC type defines the structure and format of the business document that is to be exchanged between two systems.
Extended IDOCs
Extending the functionality by adding more segments to existing Basic IDOCs.
To Create Idoc we need to follow these steps:
Create Segment ( WE31)
Create Idoc Type ( WE30)
Create Message Type ( WE81)
Assign Idoc Type to Message Type ( WE82)
imp links
http://www.allsaplinks.com/idoc_sample.html
http://www.sapgenie.com/sapedi/idoc_abap.htm
www.sappoint.com
--here u can find the ppts and basic seetings for ALE
http://sappoint.com/presentation.html
www.sapgenie.com
http://www.sapgenie.com/ale/index.htm
Reward points if useful
Regards
Anji -
Hi All,
Can we go for approach of developing custom IDOC's? where in our scenarios are getting files from thrid party and updating data in file into ECC.
Approach towards Custom IDOC's is for error monitoring and recprocessing.
Would request your inputs and suggesions in this regard.
Is that good approach for going to custom idocs? if not why?
Thanks,
chandra.Hi,
SAP R/3 systems send out data through IDoc (Intermediate Document), which in internally has segments and fields containing the data. But sometimes, these fields are not sufficient for a specific end-to-end business scenario as far as data transfer is concerned. So in such scenario, either few fields are to be added or subtracted, or completely new structure- IDoc needs to be created.
At times because of the business scenario we do have to create Custom idocs .
Regards,
Bhanu -
Idoc field structure error.
Hi,
I have a requirement like i need to add an additional field to the existing IDOC structure from where it is used for the xslt mapping and do the remaining process.
The mapping part is one to one but i need to add an another field to the external defintion idoc.
Source is IDOC and the target structure is the same structuer that is in the external definiton.
for this i have exported the xsd of the idoc and then i have imported through External Definitions part. but if i need to add an another field to it it is not allowing to do that..
So please can anyone suggest me how to proceed..
Thanks,
SaiHi Sai,
i need to add an additional field to the existing IDOC structure
Is there any specific reason for usign IDOC as external definition (are you changing the occurance of IDOC)?
what is your sender and receiver system?
Are you expecting the value for this addition field to be populated by sap along with the rest of IDOC data? if yes then ,get a custom IDOC created in SAP with the required field.
Or if you want to populate this additional field in PI usign any logic (assuming you are sending to any non sap system), then you can create a new ED for the targert , just export
the ED to desktop , open with any xml editor (xml spy or microsoft visual studio 2005) and navigate to the portion of xsd which you want to edit add the field -> reimport in PI and use it as your target strucuture.You cannot edit ED directly in ESR.
Regards,
Srinivas -
IDOC Creation - structure has no data elements
Hello,
I've encounted the following situation when creating a new custom idoc:
The structure in the data dictionary does not have any components (Data elements) associated with each field. (i.e if you view the structure using se11). This is causing problems when trying to build ALE conversion rules using BD79 as you cannot tell which field is which for conversions with muliple conditions.
Does anyone know how to get data elements against the fields in the dictionary structure. Standard SAP idocs appear to have them - see E1MARCM.
(we are using version 4.7)
Any help would be appreciated,
Thanks!Anita,
I am assuming that although you are creating a custom idoc you are referring to standard strucutre already existing for your segment.
I am not very clear here, how did you create the segment. Can you clarify on the same?
regards,
Ravi -
Creation of custom idoc with entire code
Hi
I am kavitha ,working on abap skill , i want the entire documentation for creation of custom idoc , including writing of posting programe and also selection programe , if possible please forward me any real time scenarion . plz forward me its urgentHi,
Hoping that u would reward me all the helpful points please refer the link:
<a href="http://abapcode.blogspot.com">http://abapcode.blogspot.com</a>
regards,
Ameet -
Sender and receiver partner number,
Hi All,
In the control section of an idoc, there are two fields - sender and receiver partner number. If my application sends an inbound idoc to Sap R/3, the two fields are not necessary? I have noticed the logical system has been assigned to the client.
If somebody can explain the usage of sender and receiver partner, I would be much appreciated.
Thanks,
DennisHello,
Can you please check the documentation: SAPBCSapAdapterGuide in your packges -> SAP -> Doc direcotry? The Chapter: 6
This should explain you how to set up the Routing.
Best regards,
Dezso -
Custom process code and FM for custom IDoc...
Hello Experts,
I created a custom IDoc based from ARTMAS05 IDoc. This is because we only need 3 segments and
the standard idoc(Artmas05) contains so many segments that we need.
Now, will I create a custom process code and FM for this? how do I go about this?
Thank you guys and take care!Hello,
Here are the Steps that we need to be following while creating a Custom Process Code with Custom Function Module. ( Since the Segments to be handled are very Less, I am recommending that you go for a Custom Function Module).
1. Go to SE37 Create a Function Module. Please ensure to Create it with the IMPORT / EXPORT /TABLES parameters exactly in the way that they exist in any Standard SAP Inbound FM (Refer to IDOC_INPUT_ORDERS for example).
2. Once our FM is Ready (Need not be Complete with the Code to go ahead with the Process Code Creation) and Active, the next Step is to Create an Entry in the Transaction Code BD51 where we will register the Function Module.
3. Next, we'll have to go to T-Code WE57 where we'll have to make an entry for the Function Module with the IDoc Type & Message Type.
4. Finally, go to WE42 and Create a New Process Code and assign the Function Module and the Message Type.
NOTE 1 : The Process Code is, as we know, Client Dependent. So, once you create a Process Code, we need to have it migrated to the Testing Environment to Start & Carry Out Testing.
NOTE 2: If Step 2 & 3 are missing, then we'll not be able to assign the Function Module in WE42 while Creating Process Code.
Hope it was helpful.
Thanks and Regards,
Venkata Phani Prasad K -
Inbound function module for custom IDOC
HI,
I have created custom IDOC.I need to create inbound function module for that custom IDOC.Can any one send me sample
function module for custom IDOC.(what are all the import Export,tables parameters and exceptions that I need to create for function module)
Thanks&Regards
Rama.MekalaHI Rama,
I presumed that You are talking about a FM to create inbound IDOC. So for creating inbound IDOC you can use '
CALL FUNCTION 'IDOC_INBOUND_ASYNCHRONOUS'
TABLES
idoc_control_rec_40 = gt_edidc
idoc_data_rec_40 = gt_edidd.
IF sy-subrc NE 0.
* MESSAGE e000 WITH text-003.
* ELSE.
* MESSAGE i000 WITH text-004 .
ENDIF.
just prepare edidc and edidd record in and pass it to the FM..
Hope this will work for you...
Thanks -
Custom IDOC changes in the IDoc structure
HI experts,
I have made some changes in the Custom IDoc Structure
But when I have transported the changes like I have 5 fields in the custom IDoc I changed the data type of field 2 changing the length of that field to 132 but when i am executing that all the other remaining fields getting populated in that 2nd field. Is there any way this problem can be resolved
early answer is appreciated.......
advance thanks
sriniHi Srinivas,
I would like to confirm some things. First your IDoc struc had field2 which is of length less than 132 and then you increased it to 132. Now you are now using <b>WE19</b> to test your IDoc. The reference IDoc no. that you gave was the IDoc that had been generated while the length was less than 132.
If this is what you have done, then you will have this issue. I will tell you why. When you created the IDocs, this field was less than 132, then in the EDIDD-SDATA which is a character field of length 1000 bytes would have got filled with a different position.
Say for example you have two fields in a segmentthey are A(of lenght 10) and B(of length 20). When you create IDoc, EDIDD-SDATA(which actually contains data would have been like the following:
Say if A = 'ABC', B = 'DEF'
EDIDD-SDATA = 'ABC DEF '
If you see it carefully it is a string of charachter where A starts at 1st and B starts at 11th position of the string. Now you changed length of A to 15. Then A would start from 1st Position upto 15th position while B starts from 16th upto 35. Hence when the WE19 tool extracts data from EDIDD, it extracts it as:
A = 'ABC DEF '
B = space
Hope this answers your question.
Regards,
Srikanth
PS: Same will be the case with WE09 as well. The IDocs which was created before changing the length will still look distorted.
Message was edited by: Srikanth Lodd
Message was edited by: Srikanth Lodd
Maybe you are looking for
-
I'm on a Macbook Pro (Mid-2012) on Mac OS X 10.8.3 (currently downloading the update to 8.4). When I plug in my Mini Displayport to VGA adapter to my Mac, the screen flickers blue for a second and the Display Settings window detects the other monitor
-
Sync is not working in Firefox 30
I've just installed Windows 7 x64 and Firefox 30. I've succesfully logged in with my Sync account but nothing happens. Sync is not working in this device but it does in others. Other devices have also the latest version of Firefox.
-
My MacBook Pro won't go beyond a white screen, after I pushed the restart button. How can I get it to a login? I have routinely backed it up, but don't know how to bring that up, nor if I have a boot file on that external disk. Help!
-
Need to add Requisition headers DFF in OAF.
Hi All, I have a requirment where Requisition Headers DFF (segment 1) becomes a mendatory field in requisitioner resposibility on a cretain condition. which is based on self service application (OAF) .Let me explain you in brief with step by step 1.
-
Error Message Displayed while executing FNDLOAD Command in windows machine
Hi, I am getting the following error message while executing the FNDLOAD Command in Windows Machine. Can any one give some clarifications to solve this issue. FNDLOAD Command Used:* +./FNDLOAD apps/[email protected]:1521:OA10 0 Y DOWNLOAD D:\oracle\o