Convertion of PO to SO (Inbound idoc/ALE)
HI,
i have requirement to convert inbound PO idoc into SO at execution.
Can anybody guide me how this can be achieved?
Thanks.
Moderator message: please search for available information/documentation/previous discussions before asking.
Edited by: Thomas Zloch on Nov 1, 2010 1:08 PM
Hi Sanjay,
Do you want to create one SO along with PO in PO inbound FM ??? I think you are using the standard FM. So you can do the coding to create the SO from in the inbound FM exit or Badi. Better if can create one wrapper FM to create the SO and call that FM in background task, so that it will not hamper the inbound FM performance.
Also you can achieve the same functionality using output types. Just create one output types and attached with the EF in NACE and process it as special function.
Thanks
Subhankar
Similar Messages
-
Inbound IDOC error :51 Passed with out Message Type to ALE Layer
Hi,
I am struct wtih the inbound IDOC scenario ..XI able to send IDOC but at ECC side it is in 51 red status and the error message is
"IDOC passed without Message type to ALE Layer"
Do I need to pass these segment values in Message Mapping? I didnt mapped any MESTYP,SNDPOR,SNDPRT and so on.. disabled these fields...
Could any one light on this issue?
Thanks
Rajeev>
rajeev raj wrote:
> Hi,
>
> I am passing values in MM as below:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <ZPORDCR01>
> <IDOC BEGIN="Constant">
> <EDI_DC40 SEMENT="Constant">
> <TABNAM>Constant</TABNAM>
> <DIRECT>Constant</DIRECT>
> <IDOCTYP>ZOrders</IDOCTYP>
> <CIMTYP>Constant</CIMTYP>
> <MESTYP>Z_Orders</MESTYP>
> <SNDPOR>B0009</SNDPOR>
> <SNDPRT>LS</SNDPRT>
> <SNDPFC>LS</SNDPFC>
> <SNDPRN>PD_100</SNDPRN>
> <RCVPOR>DEV</RCVPOR>
> <RCVPRT>LS</RCVPRT>
> <RCVPRN>Dev10</RCVPRN>
> <REFINT>GB</REFINT>
> <REFGRP>MTI</REFGRP>
> <REFMES></REFMES>
> <ARCKEY>20090909</ARCKEY>
> </EDI_DC40>
> <E1PORDCR SEGMENT="Constant">
>
> I am forwarding these values in MM... IDOC is successfully reaching in ECC but with 51 error in red... Logical system, post and message types are avaliable in Control record of the IDOC which received wiht errors in ECC.
>
> Thnaks
> Rajeev
Fill the TABNAME as EDI_DC40 and Direct as 2 (represents the inbound direction) and resend the idoc and check
Rajesh -
ALE IDoc : Vendor Master : Cremas: Inbound IDocs are bypassing the Customiz
Hi,
Create Vendor master inbound IDocs - CREMAS - are overridding the customizing settings.
For example for a particular vendor group a number range is set in customizing.
When we try to create a vendor through XK01 which does not fall in a particular number range as set in customising for a particular vendor group, we get a error message and creation is terminated.
But if the same vendor is created via standard idoc CREMAS, vendor is created without any errors bypassing the customizing settings.
So can anybody help me in this. Is there any customising setting that we need to do explicitly for Vendor IDocs. Or any other setting in standard IDoc.
Thanks in advance.Hi,
1. If your vendor changes should be updated from one system to other system through ALE, we need to active the change pointers.
2. Change points can be activate through Tcode SALE
3. After activating change points and your distribution model is ready, you can execute the program RBDMIDOC to genarate the IDOCs.
4. Normally this program will be executed in the background
5. And as you said, you have to do some validations before sending IDOCs. For this you can Filters and rules in the DM.
OR you can write the code in user-exists of outbound posting program.
Rewards if this info is useful.
Thanks, -
Converting Inbound idoc to Outbound idoc
Hii,,
How to convert inbound idoc to outbound idoc.
I have IDOC -> SOAP -> IDOC Scenario.
In case of error at SOAP side , it return idoc with 51 status.
Now i need to convert the Inbound idocs to Outbound Idocs and send it back to the Sender system...
How to do accomplish this??
Regards,
SiyaHii,
By using we19 and by exchanging sender & receiver we can convert outbound idoc to inbound idoc.
Just want to confirm is it proper way??
Regards,
Siya -
Unable to convert the sender service ACC_BSer_SEN_F2I to an ALE logical sys
IN a File to Idoc senario.... this the error am getting , wot may be the issue
<SAP:Code area="IDOC_ADAPTER">ATTRIBUTE_INV_SND_SERV</SAP:Code>
<SAP:P1>ACC_BSer_SEN_F2I</SAP:P1>
<SAP:P2 />
<SAP:P3 />
<SAP:P4 />
<SAP:AdditionalText />
<SAP:ApplicationFaultMessage namespace="" />
<SAP:Stack>Unable to convert the sender service ACC_BSer_SEN_F2I to an ALE logical system</SAP:Stack>Hi Kiran,
>> <i>But here the issue is, i did not get my IDoc created in R/3 side.</i>
What is the status of ur idoc in the R/3 system? Go to we02 or we05 and check the status of ur idoc that u have sent to idoc.
>><i>Do we need to send the data in the specific R/3 format?</i>
Yes.The R/3 will receive data in specific format either it may be via idocs,RFC's or proxies.
>><i>Inbound Message ( CENTRAL ) - Green flag
Response - Black success flag.</i>
It tells that the msg in moni is successfully.
Regards,
Prasanthi. -
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* -
Please send one exicuted program example of inbound idoc process
Dear Friends,
I am facing one problem to process inbound idoc process.Please example send anybody ?
I have faced problem in standalone process to do inbound idoc process.
iam waiting for your valuble response.
Definitly best answer will get best reward.
Regards.
Sridhar Menda.Hi Sridhar,
Here is a example of program for inbound idoc process.
Example Program to Process an IDoc
The Example Program to Process an IDoc shows how the fictitious message type XAMPLE, communicated with IDocs of type XAMPLE01, is processed using the inbound function module Idoc_Input_Xample. The IDoc type has a header segment, E1xhead, and any number of item segments E1xitem. The data from the IDoc is written to two database tables, XHEAD and XITEM respectively. XHEAD and XITEM contain the same field names as E1xhead and E1xitem respectively. The fields names and data types are shown in the following two tables:
Field Name in XHEAD
Docmnt_no
Date
Currency
Country
Description
Document number
Date
Currency
Country
Type in e1xhead
CHAR
CHAR
CHAR
CHAR
Type in XHEAD
NUMC
DATS
CUKY
CHAR
Field Name in XITEM
Item_no
Materialid
Descript
Unit
Quantity
Value
Ship_Inst
Description
Item number
Material number
Material description
Unit of measure
Quantity
Value
Shipping instructions
Type in e1xitem
CHAR
CHAR
CHAR
CHAR
CHAR
CHAR
CHAR
Type in xitem
NUMC
CHAR
CHAR
UNIT
QUAN
CURR
UNIT
The data on the database is assigned a new document number (field DOCMNT_NO) using number assignment. The field DOCMNT_NO is not stored in the newly created table XHEAD.
FUNCTION·IDOC_INPUT_XAMPLE.
*"Local·interface:
*"·······IMPORTING
*"·············VALUE(INPUT_METHOD)·LIKE··BDWFAP_PAR-INPUTMETHD
*"·············VALUE(MASS_PROCESSING)·LIKE··BDWFAP_PAR-MASS_PROC
*"·······EXPORTING
*"·············VALUE(WORKFLOW_RESULT)·LIKE··BDWF_PARAM-RESULT
*"·············VALUE(APPLICATION_VARIABLE)·LIKE··BDWF_PARAM-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
·05·July·1996·----
*·Example·function·module·for·processing·inbound·IDocs·for·ALE·or·EDI.
*·This·example·applies·for·processing
*···with····-··one·IDoc·at·a·time
*···without·-··serialization
*···········-··customer-exits
*···········-··calling·an·ALE-enabled·transaction
*···········-··mass·processing·(more·than·one·IDoc·at·a·time)
·Naming·conventions·----
*·Internal·tables·start·with·'t_'
*·Internal·field·strings·start·with·'f_'
*·>>·The·following·line·must·appear·in·the·global·part·of·your
*·>>·function·group:
*····include·mbdconwf.············"Report·containing·the·ALE·constants.
*·The·ALE·constants·start·with·'c_'.
··DATA:·SUBRC·LIKE·SY-SUBRC,
········OBJECT_NUMBER·LIKE·XHEAD-DOCMNT_NO.
*·Initialize·variables
··SUBRC·=·0.
*·Read·the·IDoc's·control·record
··READ·TABLE·IDOC_CONTRL·INDEX·1.
*·Process·the·IDoc·and·post·the·data·to·the·database
··PERFORM·IDOC_PROCESS_XAMPLE·TABLES···IDOC_DATA
·······································IDOC_STATUS
······························USING····IDOC_CONTRL
······························CHANGING·OBJECT_NUMBER
·······································SUBRC.
*·Fill·the·ALE·export·parameters
··CLEAR·IN_UPDATE_TASK.
··CLEAR·CALL_TRANSACTION_DONE.·········"Call·Transaction·is·not·used.
··IF·SUBRC·<>·0.·······················"Error·occurred
····WORKFLOW_RESULT·=·C_WF_RESULT_ERROR.
····RETURN_VARIABLES-WF_PARAM·=·C_WF_PAR_ERROR_IDOCS.
····RETURN_VARIABLES-DOC_NUMBER·=·IDOC_CONTRL-DOCNUM.
····APPEND·RETURN_VARIABLES.
··ELSE.································"IDoc·processed·successfully
····WORKFLOW_RESULT·=·C_WF_RESULT_OK.
····RETURN_VARIABLES-WF_PARAM·=·C_WF_PAR_PROCESSED_IDOCS.
····RETURN_VARIABLES-DOC_NUMBER·=·IDOC_CONTRL-DOCNUM.
····APPEND·RETURN_VARIABLES.
····RETURN_VARIABLES-WF_PARAM·=·C_WF_PAR_APPL_OBJECTS.
····RETURN_VARIABLES-DOC_NUMBER·=·OBJECT_NUMBER.
····APPEND·RETURN_VARIABLES.
··ELSE.
ENDFUNCTION.
·······FORM·IDOC_PROCESS_XAMPLE······································
··This·routine·creates·an·application·document·based·on·the·IDoc's···
··contents.·Object_Number·contains·the·new·document's·number.··········If·an·error·occurs,·subrc·is·non-zero,·t_idoc_status·is·filled.·······Note:·if·more·than·one·error·is·detected,·t_idoc_status·contains···
········more·than·one·status·record.·································
··-->··F_IDOC_CONTRL····IDoc·control·record··························
··-->··T_IDOC_DATA······IDoc·data·records····························
··<--··T_IDOC_STATUS····IDoc·status·records··························
··<--··OBJECT_NUMBER····Created·document's·number····················
··<--··SUBRC············Return·code··································
FORM·IDOC_PROCESS_XAMPLE
·······TABLES···T_IDOC_DATA····STRUCTURE·EDIDD
················T_IDOC_STATUS··STRUCTURE·BDIDOCSTAT
·······USING····F_IDOC_CONTRL··STRUCTURE·EDIDC
·······CHANGING·OBJECT_NUMBER··LIKE·XHEAD-DOCMNT_NO
················SUBRC··········LIKE·SY-SUBRC.
*·Internal·field·string·for·the·document·header.
··DATA:·F_XHEAD·LIKE·XHEAD.
*·Internal·table·for·the·document·items.
··DATA:·T_XITEM·LIKE·XITEM·OCCURS·0·WITH·HEADER·LINE.
*·Number·given·to·the·created·document·DOCUMENT_NUMBER·LIKE·F_XHEAD-DOCMNT_NO.
*·Move·the·data·in·the·IDoc·to·the·internal·structures/tables
*·f_xhead·and·t_xitem.
··PERFORM·IDOC_INTERPRET·TABLES···T_IDOC_DATA
··································T_XITEM
··································T_IDOC_STATUS
·························USING····F_IDOC_CONTRL
·························CHANGING·F_XHEAD
··································SUBRC.
*·Create·the·application·object·if·no·error·occurred·so·far.
··IF·SUBRC·=·0.
*···This·fictitious·function·module·creates·a·new·object·based·on·the
*···data·that·was·read·from·the·IDoc.·The·new·object's·ID·is·returned
*···in·the·parameter·'document_number'.
*···The·function·module·checks·that·the·data·is·correct,·and·raises
*···an·exception·if·an·error·is·detected.
····CALL·FUNCTION·'XAMPLE_OBJECT_CREATE'
·········EXPORTING
··············XHEAD···········=·F_XHEAD
·········IMPORTING
··············DOCUMENT_NUMBER·=·DOCUMENT_NUMBER
·········TABLES
··············XITEM···········=·T_XITEM
·········EXCEPTIONS
··············OTHERS··········=·1.
····IF·SY-SUBRC·<>·0.
······SUBRC·=·1.
*·····Put·the·error·message·into·'t_idoc_status'
······PERFORM·STATUS_FILL_SY_ERROR
················TABLES···T_IDOC_STATUS
················USING····T_IDOC_DATA
·························SY
·························''············"Field·name
·························'idoc_process_xample'.·········"Form·routine
····ELSE.
*·····Fill·the·remaining·export·parameters
······OBJECT_NUMBER·=·DOCUMENT_NUMBER.··········"New·document's·number
······t_idoc_status-docnum·=·f_idoc_contrl-docnum.
······t_idoc_status-status·=·c_idoc_status_ok.
······t_idoc_status-msgty··=·'S'.
······t_idoc_status-msgid··=·your_msgid.·"Global·variable.
······t_idoc_status-msgno··=·msgno_success."Global·variable.
······t_idoc_status-msgv1··=·object_number.
······APPEND·T_IDOC_STATUS.
····ENDIF.·····························"if·sy-subrc·<>·0.
··ENDIF.·····························"if·subrc·=·0.
ENDFORM.
·······FORM·IDOC_INTERPRET···········································
··This·routine·checks·that·the·correct·message·type·is·being·used,···
··and·then·converts·and·moves·the·data·from·the·IDoc·segments·to·the·
··internal·structure·f_xhead·and·internal·table·t_xitem.·············
··If·an·error·occurs,·t_idoc_status·is·filled·an·subrc·<>·0.·········
··-->··T_IDOC_STATUS·················································
··-->··T_XITEM·······················································
··-->··F_IDOC_DATA···················································
··-->··F_XHEAD·······················································
··-->··SUBRC·························································
FORM·IDOC_INTERPRET·TABLES···T_IDOC_DATA····STRUCTURE·EDIDD
·····························T_XITEM········STRUCTURE·XITEM
·····························T_IDOC_STATUS··STRUCTURE·BDIDOCSTAT
····················USING····F_IDOC_CONTRL··STRUCTURE·EDIDC
····················CHANGING·F_XHEAD········STRUCTURE·XHEAD
·····························SUBRC··········LIKE·SY-SUBRC.
*·Check·that·the·IDoc·contains·the·correct·message·type.
*··Note:·if·your·message·type·is·reducible,·check·field·'idoctp'
*·······(IDoc·type)·instead·of·'mestyp'.
··IF·F_IDOC_CONTRL-MESTYP·<>·'XAMPLE'.
····MESSAGE·ID······YOUR_MSGID···············"Global·variable
············TYPE····'E'
············NUMBER··MSGNO_WRONG_FUNCTION·····"Global·variable
············WITH····F_IDOC_CONTRL-MESTYP·····"message·type
····················'IDOC_INPUT_XAMPLE'······"Your·function·module.
····················F_IDOC_CONTRL-SNDPRT·····"Sender·partner·type
····················F_IDOC_CONTRL-SNDPRN·····"Sender·number.
············RAISING·WRONG_FUNCTION_CALLED.
··ENDIF.
*·Loop·through·the·IDoc's·segments·and·convert·the·data·from·the·IDoc
*·format·to·the·internal·format.
··LOOP·AT·T_IDOC_DATA·WHERE·DOCNUM·=·F_IDOC_CONTRL-DOCNUM.
····CASE·T_IDOC_DATA-SEGNAM.
······WHEN·'E1XHEAD'.
········PERFORM·E1XHEAD_PROCESS·TABLES···T_IDOC_STATUS
································USING····T_IDOC_DATA
································CHANGING·F_XHEAD
·········································SUBRC.
······WHEN·'E1XITEM'.
········PERFORM·E1XITEM_PROCESS·TABLES···T_XITEM
·········································T_IDOC_STATUS
································USING····F_XHEAD-CURRENCY
·········································T_IDOC_DATA
································CHANGING·SUBRC.
····ENDCASE.
··ENDLOOP.
ENDFORM.
·······FORM·E1XHEAD_PROCESS··········································
··This·routine·fills·'f_xhead'·out·of·segment·e1xhead.·················If·an·error·occurs,·subrc·is·non-zero,·t_idoc_status·is·filled.····*
··-->··F_IDOC_DATA·······IDoc·segment·containing·e1xhead·fields······
··<--··F_XHEAD···········Internal·structure·containing·doc.·header···
··<--··T_IDOC_STATUS·····Status·fields·for·error·handling············
··<--··SUBRC·············Return·code:·non-zero·if·an·error·occurred··
FORM·E1XHEAD_PROCESS·TABLES···T_IDOC_STATUS··STRUCTURE·BDIDOCSTAT
·····················USING····F_IDOC_DATA····STRUCTURE·EDIDD
·····················CHANGING·F_XHEAD········STRUCTURE·XHEAD
······························SUBRC··········LIKE·SY-SUBRC.
··DATA:·F_E1XHEAD·LIKE·E1XHEAD.
··F_E1XHEAD·=·F_IDOC_DATA-SDATA.
*·Process·fields·that·need·conversion·from·ISO-codes·to·SAP-codes
··PERFORM·E1XHEAD_CODES_ISO_TO_SAP
·········TABLES···T_IDOC_STATUS
·········USING····F_E1XHEAD
··················F_IDOC_DATA
·········CHANGING·F_XHEAD
··················SUBRC.
*·Process·fields·containing·dates·or·times
··PERFORM·E1XHEAD_DATE_TIME·USING····F_E1XHEAD
····························CHANGING·F_XHEAD.
ENDFORM.·······························"e1xhead_process
·······FORM·E1XITEM_PROCESS··········································
··This·routine·converts·the·data·in·the·segment·'e1xitem'·for········
··to·the·format·of·table·'t_xitem'·and·appends·it·to·the·table.········If·an·error·occurs,·subrc·is·non-zero,·t_idoc_status·is·filled.····*
··-->··F_IDOC_DATA······IDoc·segment·································
··<--··T_XITEM··········Document·items·to·be·updated·to·database·····
··<--··T_IDOC_STATUS····Status·fields·filled·if·an·error·occurred····
··<--··SUBRC············Return·code:·0·if·all·OK·····················
FORM·E1XITEM_PROCESS·TABLES···T_XITEM·······STRUCTURE·XITEM
······························T_IDOC_STATUS·STRUCTURE·BDIDOCSTAT
·····················USING····CURRENCY······LIKE·XHEAD-CURRENCY
······························F_IDOC_DATA···STRUCTURE·EDIDD
·····················CHANGING·SUBRC·········LIKE·SY-SUBRC.
··DATA:·F_E1XITEM·LIKE·E1XITEM.
··F_E1XITEM·=·F_IDOC_DATA-SDATA.
*·Fields·of·type·CHAR,·NUMC,·QUAN·need·no·conversion.
··T_XITEM-ITEM_NO····=·F_E1XITEM-ITEM_NO.
··T_XITEM-MATERIALID·=·F_E1XITEM-MATERIALID.
··T_XITEM-DESCRIPT···=·F_E1XITEM-DESCRIPT.
··T_XITEM-QUANTITY···=·F_E1XITEM-QUANTITY.
*·Process·fields·that·need·conversion·from·ISO-codes·to·SAP-codes
··PERFORM·E1XHEAD_CODES_ISO_TO_SAP
·········TABLES···T_IDOC_STATUS
·········USING····F_E1XHEAD
··················F_IDOC_DATA
·········CHANGING·F_XHEAD
··················SUBRC.
*·Process·fields·that·contain·monetary·values
··PERFORM·E1XITEM_VALUE_IDOC_TO_SAP·TABLES···T_IDOC_STATUS
····································USING····F_E1XITEM
·············································CURRENCY
·············································F_IDOC_DATA
····································CHANGING·T_XITEM
·············································SUBRC.
··APPEND·T_XITEM.
ENDFORM.
·······FORM·E1XHEAD_CODES_ISO_TO_SAP·································
··Converts·ISO-Codes·in·f_e1xhead·to·SAP-codes·in·f_xhead.·············f_idoc_data,·t_idoc_status·and·subrc·are·used·for·error·handling.··*
FORM·E1XHEAD_CODES_ISO_TO_SAP
·······TABLES···T_IDOC_STATUS·STRUCTURE·BDIDOCSTAT
·······USING····F_E1XHEAD·····STRUCTURE·E1XHEAD
················F_IDOC_DATA···STRUCTURE·EDIDD
·······CHANGING·F_XHEAD·······STRUCTURE·XHEAD
················SUBRC.
*·f_xhead-currency···Type·CUKY·=>·convert·ISO-Code·to·SAP-Code.
··PERFORM·CURRENCY_CODE_ISO_TO_SAP
·········TABLES···T_IDOC_STATUS
·········USING····F_E1XHEAD-CURRENCY
··················F_IDOC_DATA
··················'CURRENCY'
·········CHANGING·F_XHEAD-CURRENCY
··················SUBRC.
··CHECK·SUBRC·=·0.
*·f_xhead-country···Contains·a·country·=>·convert·from·ISO·to·SAP·code.
··PERFORM·COUNTRY_CODE_ISO_TO_SAP
·········TABLES···T_IDOC_STATUS
·········USING····F_E1XHEAD-COUNTRY
··················F_IDOC_DATA
··················'COUNTRY'
·········CHANGING·F_XHEAD-COUNTRY
··················SUBRC.
ENDFORM.
·······FORM·E1XITEM_CODES_ISO_TO_SAP·································
··Converts·ISO-Codes·in·f_e1xitem·to·SAP-codes·in·f_xitem············
··f_idoc_data,·t_idoc_status·and·subrc·are·used·for·error·handling.··
FORM·E1XITEM_CODES_ISO_TO_SAP
·······TABLES···T_IDOC_STATUS·STRUCTURE·BDIDOCSTAT
·······USING····F_E1XITEM·····STRUCTURE·E1XITEM
················F_IDOC_DATA···STRUCTURE·EDIDD
·······CHANGING·F_XITEM·······STRUCTURE·XITEM
················SUBRC·········LIKE·SY-SUBRC.
*·f_xitem-unit·······Type·UNIT·=>·convert·ISO-Code·to·SAP-Code.
··PERFORM·UNIT_OF_MEASURE_ISO_TO_SAP
·········TABLES···T_IDOC_STATUS
·········USING····F_E1XITEM-UNIT
··················F_IDOC_DATA
··················'unit'
·········CHANGING·F_XITEM-UNIT
··················SUBRC.
*·f_xitem-ship_inst··Contains·shipping·instructions·=>·ISO·to·SAP·code.
··PERFORM·SHIPPING_INSTRUCT_ISO_TO_SAP
·········TABLES···T_IDOC_STATUS
·········USING····F_E1XITEM-SHIP_INST
··················F_IDOC_DATA
··················'ship_inst'
·········CHANGING·F_XITEM-SHIP_INST
··················SUBRC.
ENDFORM.
·······FORM·E1XITEM_VALUE_IDOC_TO_SAP································
··Converts·fields·containing·monetary·values·in·f_e1xitem·to·········
··the·internal·representation·in·f_xitem.······························f_idoc_data,·t_idoc_status·and·subrc·are·used·for·error·handling.··*
FORM·E1XITEM_VALUE_IDOC_TO_SAP
·······TABLES···T_IDOC_STATUS·STRUCTURE·BDIDOCSTAT
·······USING····F_E1XITEM·····STRUCTURE·E1XITEM
················CURRENCY······LIKE·XHEAD-CURRENCY
················F_IDOC_DATA···STRUCTURE·EDIDD
·······CHANGING·F_XITEM·······STRUCTURE·XITEM
················SUBRC·········LIKE·SY-SUBRC.
*·f_xitem-value····Type·CURR·=>·convert·IDoc·amount·to·internal·amount.
*·N.B.·the·currency·code·used·here·must·be·the·SAP-internal·one,·not
*······the·one·contained·in·the·IDoc!
··CALL·FUNCTION·'CURRENCY_AMOUNT_IDOC_TO_SAP'
·······EXPORTING
············CURRENCY····=·CURRENCY
············IDOC_AMOUNT·=·F_E1XITEM-VALUE
·······IMPORTING
············SAP_AMOUNT··=·F_XITEM-VALUE
·······EXCEPTIONS
············OTHERS······=·1.
··IF·SY-SUBRC·<>·0.
····SUBRC·=·1.
*···Put·the·error·message·into·'t_idoc_status'
····PERFORM·STATUS_FILL_SY_ERROR
··············TABLES···T_IDOC_STATUS
··············USING····F_IDOC_DATA
·······················SY
·······················'value'·········"Field·name
·······················'e1xitem_value_idoc_to_sap'.······"Form·routine
··ENDIF.·······························"if·sy-subrc·<>·0.
ENDFORM.
·······FORM·E1XHEAD_DATE_TIME········································
··Moves·date·and·time·fields·in·f_e1xhead·to·the·fields·in·f_xhead.··
FORM·E1XHEAD_DATE_TIME·USING····F_E1XHEAD·STRUCTURE·E1XHEAD
·······················CHANGING·F_XHEAD·STRUCTURE·XHEAD.
*·f_xhead-date····Type·DATS·=>·initial·value·is·not·'blank'.
··IF·E1XHEAD-DATE·IS·INITIAL.
····CLEAR·F_XHEAD-DATE.
····F_XHEAD-DATE·=·F_E1XHEAD-DATE.
··ENDIF.
ENDFORM.
·······FORM·CURRENCY_CODE_ISO_TO_SAP·································
··Converts·ISO·currency·code·'iso_currency_code'·to·SAP·code·in······
··'sap_currency_code'················································
··f_idoc_data,·field_name,·t_idoc_status·and·subrc·are·used·for······
··for·error·handling.················································
FORM·CURRENCY_CODE_ISO_TO_SAP
·······TABLES···T_IDOC_STATUS·····STRUCTURE·BDIDOCSTAT
·······USING····ISO_CURRENCY_CODE·LIKE·TCURC-ISOCD
················F_IDOC_DATA·······STRUCTURE·EDIDD
················FIELD_NAME········LIKE·BDIDOCSTAT-SEGFLD
·······CHANGING·SAP_CURRENCY_CODE·LIKE·TCURC-WAERS
················SUBRC·············LIKE·SY-SUBRC.
··IF·ISO_CURRENCY_CODE·IS·INITIAL.
····CLEAR·SAP_CURRENCY_CODE.
··ELSE.
····CALL·FUNCTION·'CURRENCY_CODE_ISO_TO_SAP'
·········EXPORTING
··············ISO_CODE·=·ISO_CURRENCY_CODE
·········IMPORTING
··············SAP_CODE·=·SAP_CURRENCY_CODE
·········EXCEPTIONS
··············OTHERS···=·1.
····IF·SY-SUBRC·<>·0.
······SUBRC·=·1.
*·····Put·the·error·message·into·'t_idoc_status'
······PERFORM·STATUS_FILL_SY_ERROR
················TABLES···T_IDOC_STATUS
················USING····F_IDOC_DATA
·························SY
·························FIELD_NAME
·························'currency_code_iso_to_sap'.·····"Form·routine
··ENDIF.·····························"if·sy-subrc·<>·0.
··ENDIF.·······························"if·iso_currency_code·is·initial.
ENDFORM.
·······FORM·CURRENCY_CODE_ISO_TO_SAP·································
··Converts·ISO·currency·code·'iso_currency_code'·to·SAP·code·in······
··'sap_currency_code'················································
··f_idoc_data,·field_name,·t_idoc_status·and·subrc·are·used·for······
··for·error·handling.················································
FORM·COUNTRY_CODE_ISO_TO_SAP
·······TABLES···T_IDOC_STATUS····STRUCTURE·BDIDOCSTAT
·······USING····ISO_COUNTRY_CODE·LIKE·T005-INTCA
················F_IDOC_DATA······STRUCTURE·EDIDD
················FIELD_NAME·······LIKE·BDIDOCSTAT-SEGFLD
·······CHANGING·SAP_COUNTRY_CODE·LIKE·T005-LAND1
················SUBRC············LIKE·SY-SUBRC.
*·Only·convert·if·the·field·is·not·initial.
··IF·ISO_COUNTRY_CODE·IS·INITIAL.
····CLEAR·SAP_COUNTRY_CODE.
··ELSE.
····CALL·FUNCTION·'COUNTRY_CODE_ISO_TO_SAP'
·········EXPORTING
··············ISO_CODE·=·ISO_COUNTRY_CODE
·········IMPORTING
··············SAP_CODE·=·SAP_COUNTRY_CODE
·········EXCEPTIONS
··············OTHERS···=·1.
····IF·SY-SUBRC·<>·0.
······SUBRC·=·1.
*·····Put·the·error·message·into·'t_idoc_status'
······PERFORM·STATUS_FILL_SY_ERROR
················TABLES···T_IDOC_STATUS
················USING····F_IDOC_DATA
·························SY
·························FIELD_NAME
·························'country_code_iso_to_sap'.······"Form·routine
··ENDIF.·····························"if·sy-subrc·<>·0.
··ENDIF.·······························"if·iso_country_code·is·initial.
ENDFORM.
·······FORM·UNIT_OF_MEASURE_ISO_TO_SAP·······························
··Converts·ISO·unit·of·measure·code·'iso_unit_of_measure'·to·SAP·····
··code·in·'sap_unit_of_measure'.·····································
··f_idoc_data,·field_name,·t_idoc_status·and·subrc·are·used·for······
··for·error·handling.················································
FORM·UNIT_OF_MEASURE_ISO_TO_SAP
·······TABLES···T_IDOC_STATUS·······STRUCTURE·BDIDOCSTAT
·······USING····ISO_UNIT_OF_MEASURE·LIKE·T006-ISOCODE
················F_IDOC_DATA·········STRUCTURE·EDIDD
················FIELD_NAME··········LIKE·BDIDOCSTAT-SEGFLD
·······CHANGING·SAP_UNIT_OF_MEASURE·LIKE·T006-MSEHI
················SUBRC···············LIKE·SY-SUBRC.
*·Only·convert·the·field·if·it·is·not·empty.
··IF·ISO_UNIT_OF_MEASURE·IS·INITIAL.
····CLEAR·SAP_UNIT_OF_MEASURE.
··ELSE.
····CALL·FUNCTION·'UNIT_OF_MEASURE_ISO_TO_SAP'
·········EXPORTING
··············ISO_CODE·=·ISO_UNIT_OF_MEASURE
·········IMPORTING
··············SAP_CODE·=·SAP_UNIT_OF_MEASURE
·········EXCEPTIONS
··············OTHERS···=·1.
····IF·SY-SUBRC·<>·0.
······SUBRC·=·1.
*·····Put·the·error·message·into·'t_idoc_status'
······PERFORM·STATUS_FILL_SY_ERROR
················TABLES···T_IDOC_STATUS
················USING····F_IDOC_DATA
·························SY
·························FIELD_NAME
·························'unit_of_measure_iso_to_sap'.··"Form·routine
··ENDIF.·····························"if·sy-subrc·<>·0.
··ENDIF.··················"if·iso_unit_of_measure_code·is·initial.
ENDFORM.
·······FORM·SHIPPING_INSTRUCT_ISO_TO_SAP·····························
··Converts·ISO·package·code·'iso_package_type'·to·SAP·code·for·······
··purchasing·shipping·instructions·in·'sap_shipping_instructions'.···
··f_idoc_data,·field_name,·t_idoc_status·and·subrc·are·used·for······
··for·error·handling.················································
FORM·SHIPPING_INSTRUCT_ISO_TO_SAP
·······TABLES···T_IDOC_STATUS·············STRUCTURE·BDIDOCSTAT
·······USING····ISO_PACKAGE_TYPE··········LIKE·T027A-IVERS
················F_IDOC_DATA···············STRUCTURE·EDIDD
················FIELD_NAME················LIKE·BDIDOCSTAT-SEGFLD
·······CHANGING·SAP_SHIPPING_INSTRUCTIONS·LIKE·T027A-EVERS
················SUBRC·····················LIKE·SY-SUBRC.
*·Only·convert·the·field·if·it·is·not·empty.
··IF·ISO_PACKAGE_TYPE·IS·INITIAL.
····CLEAR·SAP_SHIPPING_INSTRUCTIONS.
··ELSE.
····CALL·FUNCTION·'ISO_TO_SAP_PACKAGE_TYPE_CODE'
·········EXPORTING
··············ISO_CODE·=·ISO_PACKAGE_TYPE
·········IMPORTING
··············SAP_CODE·=·SAP_SHIPPING_INSTRUCTIONS
·········EXCEPTIONS
··············OTHERS···=·1.
····IF·SY-SUBRC·<>·0.
······SUBRC·=·1.
*·····Put·the·error·message·into·'t_idoc_status'
······PERFORM·STATUS_FILL_SY_ERROR
················TABLES···T_IDOC_STATUS
················USING····F_IDOC_DATA
·························SY
·························FIELD_NAME
·························'shipping_instruct_iso_to_sap'.·"Form·rout.
··ENDIF.·····························"if·sy-subrc·<>·0.
··ENDIF.··················"if·iso_unit_of_measure_code·is·initial.
ENDFORM.
·······FORM·STATUS_FILL_SY_ERROR·····································
··Fills·the·structure·t_idoc_status·with·the·import·parameters·······
··plus·the·relevant·sy·fields.·······································
··-->··IDOC_NUMBER···········IDoc·number·····························
··-->··SEGNUM················Segment·number··························
··-->··SEGFLD················Field·in·segment························
··-->··ROUTID················Name·of·routine·························
··<--··T_IDOC_STATUS·········Status·fields···························
FORM·STATUS_FILL_SY_ERROR·TABLES···T_IDOC_STATUS·STRUCTURE·BDIDOCSTAT
··························USING····F_IDOC_DATA···STRUCTURE·EDIDD
···································VALUE(F_SY)···STRUCTURE·SY
···································SEGFLD········LIKE·BDIDOCSTAT-SEGFLD
···································ROUTID········LIKE·BDIDOCSTAT-ROUTID.
··t_idoc_status-docnum·=·f_idoc_data-docnum.
··t_idoc_status-status·=·c_idoc_status_error.
··t_idoc_status-msgty··=·f_sy-msgty.
··t_idoc_status-msgid··=·f_sy-msgid.
··T_IDOC_STATUS-MSGNO··=·F_SY-MSGNO.
··t_idoc_status-msgv1··=·f_sy-msgv1.
··t_idoc_status-msgv2··=·f_sy-msgv2.
··t_idoc_status-msgv3··=·f_sy-msgv3.
··t_idoc_status-msgv4··=·f_sy-msgv4.
··t_idoc_status-segnum·=·f_idoc_data-segnum.
··t_idoc_status-segfld·=·segfld.
··t_idoc_status-repid··=·f_sy-repid.
··t_idoc_status-routid·=·routid.
··APPEND·T_IDOC_STATUS.
ENDFORM.
Also Check out these docs.
http://help.sap.com/saphelp_nw04/helpdata/en/dc/6b7ee143d711d1893e0000e8323c4f/frameset.htm
http://help.sap.com/saphelp_nw04/helpdata/en/1a/178ad32d3011d3bc3500105a6588b2/frameset.htm
Dont forget to reward pts, if it helps ;>)
Regards,
Rakesh. -
Hello All,
I am newly join in IT company (Name don't want to specify) . They have putted me in a consolidate project in which I do have to work on IDOC,ALE and EDI object.
yet in my career with SAP ABAP I haven't work on the above mention terms of SAP. Can some One please guide me and provide me some material to prepare my self best for the things.
Regards
Swati NamdevSome use full Tcodes:
ALE / EDI/ IDOCS TRANSACTION CODES
Transaction Code Description
WE02 List Of All Idocs Created. (Default, Additional, EDI)
WE05 List Of Idocs Created. (Standard, Additional)
WE06 Active Monitoring For Idoc Processing.
WE07 Idoc Statistics.
WE08 Display View u201CFile Statusu201D:Overview-Path Name.
WE09 Idoc Search For Business Contents (Database).
WE10 Idoc Search For Business Contents (Archive).
WE12 Modification Of Outbound File, Triggering Inbound Processing.
WE14 Process All Selected Idocs.
WE15 Selection Program For Issuing Output.
WE16 Trigger Inbound Processing.
WE17 Trigger Status Processing.
WE18 Generate Test Status File For Outbound Idocs.
WE19 Test Tool For Idoc Processing
WE20 Partner Profile.
WE21 Ports In Idoc Processing.
WE23 Display Test Catalog Test Idoc Interface.
WE24 Maintain Table View. Direction-1.(Outbound)
WE27 Maintain Table View. Direction-2.(Inbound)
WE30 Develop Idoc Type.
WE31 Develop Idoc Segments.
WE32 View Development.
WE33 Maintain Table Views.
WE34 Change View u201CTable Of Style Ids With The Objects To Be Loadedu201D
WE40 Display System Process Code.
WE41 Display View: Logical Msg Overview. For Outbund.
WE42 Display View: Logical Msg Overview. For Inbound.
WE43 Display Status Records.
WE44 Display Partner Types
WE45 Maintenance Interface: Forwarding Inbound/EDILOGADR For Application
WE46 Global Parameter For Idoc Interface.
WE47 Status Maintenance.
WE50 Display Text For Process Code System.
WE54 Idoc Function Module For File Name
WE56 Display Status Process Code
WE57 Idoc Assignment Of FM To Log. Message And Idoc Type.
WE58 Text For Process Code Status.
WE60 Documentation For Idoc Type.
WE61 Documentation For Idoc Record Type.
WE62 Documentation For Idoc Segment Type.
WE63 Documentation For Idoc Record Types And Idoc Types (Parser).
WE64 Process Code In Idoc Inbound And Outbound.
WE70 Conversion Table For Basic Types.
WE71 Conversion Table For Extensions.
WE72 Conversion Table For Field DOCTYP.
WE73 Conversion Table For Logical Message Type.
WE81 EDI:Logical Message Type.
WE82 Message Types And Assignment To Idoc Types.
WE84 Assignment Table Between Idoc And Application Field.
ALE / EDI/ IDOCS TRANSACTION CODES
Transaction Code Description
BD10 Send Material (Matmas)
BD11 Get Material.
BD12 Send Customer.
BD13 Get Customers
BD14 Send Vendor.
BD15 Get Vendor.
BD16 Send Cost Center. (Cosmas)
BD17 Request Cost Center.
BD18 Send G/L Accounts.
BD19 Get Master Data G/L Accounts.
BD20 Inbound Processing Of Idocs Ready For Transfer.
BD21 Creating Idoc Types For Change Pointers.
BD22 Delete Change Pointers.
BD23 Serialization Using Time Stamp: Deletion Of Old Time Stamp.
BD24 Send Cost Elements.
BD25 Send Activity Type (COAMAS)
BD26 Request Activity Type
BD27 Cost Center/Activity Types: Transmit Plan Quantities And Acty Prices.
BD28 Cost Center/ Cost Elements: Send Control Records.
BD30 Material Bom Distribution. (Bommat).
BD31 Document Structure Distribution. (Bomdoc)
BD32 Plant Allocation To Material Boms Distribution.
BD33 Distribution Of Material Variants. (STTMAT)
BD34 Distribution Of Boms (BOMORD)
BD35 ALE: Send Business Process Group.
BD36 ALE: Send Business Process.
BD37 ALE: Send Business Process Price.
BD40 Generate Idocs For Serialization Group From Change Pointers.
BD41 Dispatch Of Idocs Of Serialization Group.
BD42 Check Dispatch Status Of Idocs Of Serialization Group.
BD43 Processing Inbound Idocs Of Serialization Group.
BD44 Change View u201CSerialization Groupu201D.
BD47 Dependence Between Methods.
BD48 Dependence Between Methods And Message Type.
BD50 Activate Change Pointers For Message Type.
BD51 Characteristics Of Inbound Function Module.
BD52 Determine Work Area.
BD53 Reduce Message Type.
BD54 Change View: Logical Systems
BD55 Idoc Conversion.
BD56 Maintain Idoc Segment Filters.
BD57 Link Type And Serialization Type Of Message Type.
BD58 Convert Organizational Unit.
BD59 Allocation Of Object Type.
BD60 Additional Data For Message Type.
BD61 Activate Change Pointers Generally.
BD62 Display Conversion Rule.
BD63 Transport Of Ale Tables For A Message Type.
BD64 Display Distribution Model.
BD65 Maintain Idoc Type Required Fields.
BD66 Change Idoc Fields.
BD67 Function Module For ALE/EDI Overview.
BD68 Maintain List.
BD69 Assignment Of Idoc Type To Message Type.
BD70 Cross-System Comparison Of Number Range Objects.
BD71 Attributes For Receiver Determination.
BD72 Active Events For ALE/EDI
BD73 Start Error Handling For Non-Posted Idocs.
BD75 Status Conversion With Trfc Execution.
BD77 Generate Transport Requests For Distributing ALE Customizing Data.
BD78 Monitoring Ale Customizing Data Transport
BD79 ALE IDOC Segments - Conversion Rule
BD81 Filter Objects For BAPI Parameter Filtering
BD82 Generating Partner Profile
BD83 Re-Processing Incorrect Outbound Odocs.
BD84 Re-Processing Of Idocs After ALE Input Error.
BD85 Consistency Check: Reassignment Between Two System.
BD86 ALE Consistency Check: Create Purchase Order From Sales Order.
BD87 Select Idocs
BD89 Customizing Data Modeling For Distribution Model.
BD91 Distribute All Characteristics Via ALE.
BD92 Distribute Class Via ALE: Send Direct.
BD93 Distribution Of Classification Data Via ALE.
BD95 Ale Object View
BD96 Filter Object For Receiver Determination Of Methods.
BD97 Assign RFC Destination For Synchronous Method Calls.
BD98 Consistency Check With Workflow Link
BD99 Dependencies Between Message Types.
BD100 Display Serialized Idocs. (Serialization Using Object Types)
BD101 Serialization Using Object Types: Consistency Check.
BD102 Ale: Outbound Channel Registry. -
BAPI, IDOC, ALE, RFC
Hi friends,
I am new in BAPI IDOC ALE
I want to learn these Topics but i dont have any clue or material about this.
Kindly help me to learn this topics, please give me material and basic clue for this,
Many Thanks
Jahnavee TrivediHi,
ALE AND IDOC:
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.
SAP ALE & IDOC<<<<
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.
There are two filtering in IDoc.
Segment Filtering:
Segment filtering can be achieved using T/Code BD56. Here you can suppress a whole segment irrespective of data inside it . You have to give Message Type / Sender Prrtner / Receiver Partner.
Data Filtering:
Data filtering can be done in dustribution model (BD64) where you can restrict whole IDOCS or partials IDOCS to be send based on data in fields inside IDOC depending on whether the segment in which you filter is at the highest level or at a lower level. For example in MATMAS if you put a filter of E1MARCM for a particular plant , only data for this plant will go and other plants will be ignored.
Please check this link for more information.
http://help.sap.com//saphelp_470/helpdata/EN/0b/2a611c507d11d18ee90000e8366fc2/frameset.htm
BAPI MATERIAL:
please check this:
http://help.sap.com/saphelp_nw04/helpdata/en/e0/9eb2370f9cbe68e10000009b38f8cf/frameset.htm
BAPI Programming Guide
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/CABFABAPIREF/CABFABAPIPG.pdf
BAPI User Guide
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCMIDAPII/CABFAAPIINTRO.pdf
BAPI is also a Remote enabled function module but the difference between BAPI and RFC is in BAPI there is a bussiness object attached to it which calls SAP application internally.
BAPI stands for Business Application Programming Interface.
It is a library of functions that are released to the public
as an interface into an existing SAP system from an external system.
http://help.sap.com/saphelp_46c/helpdata/en/9b/417f07ee2211d1ad14080009b0fb56/frameset.htm
http://searchsap.techtarget.com/originalContent/0,289142,sid21_gci948835,00.html
Checkout !!
http://searchsap.techtarget.com/originalContent/0,289142,sid21_gci948835,00.html
http://techrepublic.com.com/5100-6329-1051160.html#
http://www.sap-img.com/bapi.htm
http://www.sap-img.com/abap/bapi-conventions.htm
http://www.sappoint.com/abap/bapiintro.pdf
RFC:
Remote Function Call:
RFC is an SAP interface protocol. Based on CPI-C, it considerably simplifies the programming of communication processes between systems.
RFCs enable you to call and execute predefined functions in a remote system - or even in the same system.
RFCs manage the communication process, parameter transfer and error handling.
Have a look at this link.
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCFESDE2/BCFESDE2.pdf
http://help.sap.com/saphelp_47x200/helpdata/en/22/042860488911d189490000e829fbbd/frameset.htm.
Regards,
SHIva(reward if helpful) -
Good morning.
Please help me.
I must set up multiple inbound IDOCS, one of them is:
Type base : orders05.
message type : orders.
The process is : data is received xi / pi, and IDOCs must be created to fill the data transaction VA01 and VA02.
I have read many tutorials but I have not been clear what to do if we use a standard IDOC type base as ORDERS05.
what should I set in r / 3?
Thanks!!!Detailed ALE configuration as follows... This might be helpful to check both your PI and ECC or R/3.
1. First - Maintain the Sender R/3 System:
SM59 : Create a RFC destination to XI
WE21 : Create a TRFC Port ->Specify the RFC Destination Created
BD54 : Create a Logical System for the Idoc Receiver
WE20 : Create Partner Profile ->Maintain Outbound and the Inbound Parameters
2. Second - Log on to XI System:
SM59 : RFC Destination for Sender System
IDX1 : Create the port to get Idoc Metadata from Sender System ( The Port Name must match the port name in the idoc header - Usually in format SAP<System ID>. eg. SAPID1 Optional Step. Not mandatory
IDX2 : Maintain the Idoc Metadata. This is needed only by XI, and not by other SAP systems. IDX2 is needed because XI needs to construct IDoc-XML from the IDoc. No other SAP system needs to do that.
3. To Enable Acknowledgement:
SXMB_ADM ->Integration Engine Configuration ->Specific Configuration ->Add New entry -> Select parameters as:
Category: RUNTIME
Parameters: ACK_SYSTEM_FAILURE
Current Value: 1
4. GO TO SLD:
Create Technical System: Choose WEB AS ABAP if the system is R/3 -> Define SAP SID, Installation Number and Database Host Name a Maintain message Server Details according to Sender System -> Maintain Client Details of Sender System ->Select a Installed Product for Sender System
Create Business System: Choose WEB AS ABAP if the system is R/3 -> Choose the Technical System and the client Created Before -> Choose the Installed Product -> Set:
Business System Role: Application System
Related Integration Server: Integration Server
5. IDOC Tunneling in XI
To prevent performance consuming XMLization and de-XMLization IDOCs are tunneled through SAP XI IDOC adapter meaning no XMLiziation is executed before the IDOC is passed onto the pipeline. Note the message is converted to UTF-8 codepage.
6. Start transaction SXMB_ADM on SAP XI.
Select option Configuration->Integration Engine Configuration and add two parameters EXTERNAL_MAPPER in the category IDOC.
Configure the parameter according to the conditions below:
If Message Code and Message Function are specified in the partner profile:
<Snd.Syst.Id>.<Snd.Syst.Client>.ReceiverPort.<Mess.Type>.<Mess.Code>.<Mess.Function>
If only the Message Code is specified in the partner profile:
<Snd. System Id>.<Snd. System Client>.ReceiverPort.<Mess. Type>.<Mess. Code>
If only Message Function is specified in the partner profile:
<Snd.Syst.Id>.<Snd.Syst.Client>.ReceiverPort.<Mess.Type>..<Mess.Function>
7. Integration Builder Integration Directory:
Add Business System: Adapter Specific Identifiers -> 'Logical System' identical to the 'Logical System Name' in the SLD Business System
IDoc Receiver Communication Channel: port the same as XI System IDX1 -
Trying to change Inbound IDOC to Outbound IDOC for testing....
Hi Friends,
I am trying to do the following
1) In our legacy system SAP R/3 3.1H we have received an IDOC from our partner. This has been stored correctly.
2) We now need the same functionality in our SAP R/3 4.6C system so I have created the IDOC type + segments accordingly. I have also set up the partner profiles
3) We need test data but our partner can not send yet so the only other way is to send this INBOUND IDOC from 3.1H to 4.6C.
4) HOWEVER, i have tried everything to do this like using WE19 to edit the idoc, but I can not process it for OUTBOUND processing.... You can in 4.6C but there is no option in 3.1H.
HELP!! RewardsHi Friend,
The test programs allow you to skip certain sections of the processing chain between applications to localize errors. However, they can also be used to simulate an entire business process (for example, purchase order on the customer side with posting of the purchase order on the vendor side) in an SAP System (without any other systems). For this reason, the test programs are an important tool for configuring the IDoc Interface and defining new IDoc types.
Use
You can use the test tool to generate an IDoc manually and send the IDoc for either inbound or outbound processing. You are not restricted to a specific port type. You can start with an IDoc type (an empty IDoc) or use an old IDoc as a template and edit the IDoc, that is, add segments or change data. This is a good way to test new IDoc types, in particular.
You can forward your new IDoc for standard inbound processing (checking partner profiles and so on). You can also call a function module directly. You can therefore test new function modules for new IDoc types.
Activities
· Start the test tool with SAP Menu ® Tools ® IDoc Interface/ALE ® Test ® Test Tool (WE19). You can use a template for your test IDoc.
You can choose IDoc types as a template, either directly or according to a specific message type. You can use the F4 Help for IDocs used as a template, which searches for IDocs by selection criteria, in the same way, for example, to IDoc Display. When an IDoc file is used as a template, the IDocs are read from this file and are available to you for selection. A default value for the IDoc file gives you the system using your test port which you can enter in IDoc Administration . This test port must therefore be of the file type. The default file is the inbound file entered there.
· You generate the IDoc using .
The IDoc is displayed as a tree structure. If you do not use a template to create the IDoc type, at least one more segment must be added.
· To create segments in the form of tree nodes (colored fields) place the cursor on an existing node (for example a control record at the top) and choose .
You can cut, paste or copy individual segments or entire segment groups by positioning the cursor on the relevant segment and selecting the required action from the Edit menu.
· Click on the white fields to change data in the segments.
In the case of the control record, only the fields which are relevant for standard inbound processing are displayed. Do not forget the required entries in the partner profiles if you want to send the IDoc for standard inbound processing! You can also change all of the control record data by choosing All fields in the edit screen.
In the All fields editor screen you must enter the non-language specific partner function (for example AG for vendor). This is the only screen in the IDoc Interface in which the partner function is not translated into your language (in English AG becomes vendor VD) - in the partner profiles or in the IDoc display the field is always translated. Thus, you see the partner functions here in the way they are saved in the database. This is a unique value in the SAP System and therefore protected against mistakes.
· The additional procedure depends on whether you want to test inbound or outbound processing.
Test: Outbound Processing from MC
Use
Use this test program if you have chosen the Message Control module and want to test generation of an outbound IDoc from an existing message status record (table NAST).
Prerequisites
You must be able to post the application documents which are to be converted into IDocs by the Message Control module correctly so that a message status record can be generated. In the case of the Materials Management (MM) and Sales and Distribution (SD) components, the following entries are required:
· Customer or vendor records
· Material records
· Info records
· MC condition record: The output medium 6 (for EDI) must be entered here. The condition records are maintained as messages from the respective application.
The appropriate file ports and partner profiles must exist in the IDoc Interface.
Outbound processing must be stopped when the message status record has been generated to allow the test program to intervene. To do so, you must set the Message Control dispatch time to 1 (output with selection run) in the corresponding condition record in the application. This test program, therefore, is simply used to start a selection run which retrieves the Message Control records and sends them for further outbound processing. The program is report RSNAST00, which is also generally scheduled with dispatch time 1 in live operation.
Activities
Once the application document has been posted, outbound processing stops after the message status record has been generated and is triggered again by the test program. Choose SAP Menu ® Tools ® IDoc Interface/ALE ® Test ® Outbound ® Outbound from MC.
Errors are stored in the Message Control processing log (document header) and in the status records of the IDocs. The status records, however, are only available if the IDoc was successfully generated.
Use
This test program selects one or more outbound IDocs and forwards them to the external system. You can choose the IDocs according to various criteria (for example, recipient or business message).
Prerequisites
You require outbound IDocs which were generated without errors (no error status). The partner profiles, therefore, must be maintained completely.
Outbound processing must stop when the outbound IDocs have been generated to allow the test program to intervene. You can check this by setting the output mode to Collect IDocs in the partner profile for the IDoc Interface. If you now generate an outbound IDoc for the partner (for example, using the application or the test tool), the IDoc is only generated in the SAP System and is not forwarded to the external system. This test program, therefore, is simply used to start a selection run which retrieves your IDoc(s) and sends them to the external system. The program is report RSEOUT00, which is also generally scheduled with the output mode Collect IDocs in live operation.
Activities
You start the test program by choosing SAP Menu ® Tools ® IDoc Interface/ALE ® Test ® Outbound ® Outbound from IDoc (WE14).
You can decide whether the output mode is set to Start subsystem or Do not start subsystem in the partner profile. This defines whether the external (sub) system processes the IDocs further.
Use
This program is used to test whether status confirmations for an outbound IDoc are sent correctly from the external system to the SAP System. The port type here must be set to File.
Prerequisites
A correct status file which can be generated by an EDI subsystem, for example, is required. The status file must refer to an existing outbound IDoc in the SAP System. You can also generate such a status file yourself.
The sender port must be recognized by the receiving system. The port must therefore be maintained as a port of type File in the port definition for the IDoc Interface. The entry for the inbound file must also be given here.
Features
The SAP System reads the status file. The IDoc number contained in the file refers to the outbound IDoc, to which the status confirmation relates. The confirmed statuses are credited to the relevant IDoc in the form of status records in the SAP System.
Activities
Start the test program with SAP Menu ® Tools ® IDoc Interface/ALE ® Test ® Status ® Edit Status File (WE17) and pass the inbound port, name and directory of the file. These entries overwrite the standard values which you have stored in IDoc administration using the test port.
Test: Inbound Processing: Modified Outbound File
Use
This program converts an outbound file with IDocs to a correct inbound file and sends the new file for inbound processing. The outbound file is not modified and can therefore be used more than once. The port type here must be set to File.
Prerequisites
You need a correct outbound file, for example, a file which is generated by the test tool or using a standard outbound processing. In this case, a port of the type File must be specified in the partner profile for the IDoc Interface, so that the IDoc(s) can be written to a file.
The sender port must be recognized by the receiving system. The port must therefore be maintained as a port of type File in the port definition for the IDoc Interface. The entry for the inbound file must also be given here.
Features
The program imports sender and recipient data as input parameters from the user. The program reads the IDoc file and changes the corresponding entries in the IDoc control record. The changed data is written to a second IDoc file at the operating system level.
Standard inbound processing is then triggered;
· Reading the modified file
· Generating the IDoc(s) in the SAP System
· Processing in the application
Activities
Start the test program with SAP Menu ® Tools ® IDoc Interface/ALE ® Test ® Inbound ® Inb. Mod. Outb. File (WE12).
Set the sender and recipient data, as well as the outbound file and the inbound file to be generated (path and name). Your entries for the inbound file overwrite the standard values which you have stored in IDoc administration.
The recipient in this case is the SAP System. The port is used for identification purposes:
· SAP (for example RSMITH
Test: Inbound Processing: Original Inbound File
Use
This program reads an inbound file and sends the file for inbound processing. If all data has been successfully read, the file is deleted.
Prerequisites
You require a correct inbound file. In this case, correct means that the:
· Sender and recipient in the control record are correct
· Direction in the control record is set to 2 (inbound)
· Client in the control record and data records are correct or empty
The sender port must be recognized by the receiving system. The port must therefore be maintained as a port of type File in the port definition for the IDoc Interface. The entry for the inbound file must also be given here.
Features
The program reads the IDoc(s) from the inbound file and sends them for standard inbound processing (with processing within the application).
The file is deleted after being read successfully!
Activities
Start the test program with SAP Menu ® Tools ® IDoc Interface/ALE ® Test ® Inbound ® Inb. Orig. Inb.File (WE16) and pass the following data:
· Inbound port
· Name and directory of the file
These entries overwrite the standard values, which you have stored in IDoc Administration using the test port.
Thanks -
Conversion of inbound IDOC into XML file
Hi experts,
We have an inbound idoc (FIDCC2) that starts and triggers the creation of an FI document. We would like now, that, instead of creating the FI document, the inbound IDOC creates an XML file on a given directory, with the contents of the idoc. Can anybody explain how to configure this?
Many thanks in advance,
John De Coninck.John,
Firstly, need more information. If I understand you correctly, you are getting an inbound FI document that is created as an IDOC and it posts into FI (using an underlying FM/transaction etc). Now you want to convert this IDOC into XML on a folder (which can be found on AL11 (a.k.a App Server)).
Question 1: Where are you getting this IDOC from? Is it through EDI/ALE? What is your interfacing server (the one that is sending you this IDOC.
Question 2: What format is this IDOC coming in? Is it flat/XML etc?
Question 3: Is this an internally created IDOC? Is there an attached partner profile in WE20? If there is a partner profile that exists and you're using this to create the inbound IDOC, then there are process codes available to forward these IDOC's (e.g ED08).
There are many ways you can achieve this but everything depends on how your system is configured and how this processing is going on. -
Step-by step procedure for INBOUND IDOC (VENDOR CREATE / CHANGE)
Hi ,
Can any body provide me the step-by-step procedure for Inbound IDOCS.
As i'm new to this i need the the clarification between Inbound & outbound idocs.
How can we differentiate both?
where to define outbound & where to define Inbound?
( If possible Please explain me the procedure for Vendor Create through INBOUND IDOCS )
Thanks in advance..Hi,
Ale Technology is SAPu2019s technology to support distributed yet integrated processes across several SAP systems.
Outbound Process:
ALE Outbound Process in SAP sends data to one or more SAP Systems. It involves four steps.
1. Identify the need of IDoc: This step starts upon creating a application document, can relate to a change to a master data object.
2. Generate the Master IDoc: The document or master data to be sent is read from the database and formatted into an IDoc format. This IDoc is called as a Master IDoc.
3. Generate the Communication IDoc: The ALE Service layer generates a separate IDoc from the Master IDoc for each recipient who is interested in the data. Separate IDocs are generated because each recipient might demand a different version or a subset of the Master IDoc. These recipient-specific IDocs are called Communication IDocs and are stored in the database.
4. Deliver the Communication IDoc: The IDoc is delivered to the recipients using an asynchronous communication method. This allows the sending system to continue its processing without having to wait for the destination system to receiver or process the IDoc.
Inbound Process:
The inbound process receives an IDoc and creates a document in the system.
1. Store the IDoc in the database: The IDoc is received from the sending system and stored in the database. Then the IDoc goes through a basic integrity check and syntax check.
2. Invoke the Posting Module: The control information in the IDoc and configuration tables are read to determine the posting program. The IDoc is then transferred to its posting program.
3. Create the Document: The posting program reads the IDoc data and then creates a document in the system. The results are logged in the IDoc.
Over view of IDocs:
IDoc is a container that is used to exchange data between any two processes. The document represented in an IDoc is independent of the complex structure SAP uses to store application data. This type of flexibility enables SAP to rearrange its internal structure without affecting the existing interface.
IDoc interface represents an IDoc Type or IDoc data. IDoc Type represents IDocu2019s definition and IDoc Data is an instance of the IDoc Type.
IDoc Types:
IDoc type structure can consist of several segments, and each segment can consist of several data fields. The IDoc structure defines the syntax of the data by specifying a list of permitted segments and arrangement of the segments. Segments define a set of fields and their format.
An IDoc is an instance of an IDoc Type and consists of three types of records.
i. One Control record: each IDoc has only one control record. The control record contains all the control information about an IDoc, including the IDoc number, the sender and recipient information, and information such as the message type it represents and IDoc type. The control record structure is same for all IDocs.
ii. One or Many Data records: An IDoc can have multiple data records, as defined by the IDoc structure. Segments translate into data records, which store application data, such as purchase order header information and purchase order detail lines.
iii. One or Many Status records: An IDoc can have multiple status records. Status record helps to determine whether an IDoc has any error.
Message in IDoc Type:
A Message represents a specific type of document transmitted between two partners.
Outbound Process in IDocs:
Outbound process used the following components to generate an IDoc. A customer model, and IDoc structure, selection programs, filter objects, conversion rules, a port definition, an RFC destination, a partner profile, service programs, and configuration tables.
The Customer Model:
A customer model is used to model a distribution scenario. In a customer model, you identify the systems involved in a distribution scenario and the message exchanged between the systems.
Message control:
Message control is a cross application technology used in pricing, account determination, material determination, and output determination. The output determination technique of Message control triggers the ALE for a business document. Message control separates the logic of generating IDocs from the application logic.
Change Pointers:
The change pointers technique is based on the change document technique, which tracks changes made to key documents in SAP, such as the material master, customer master and sales order.
Changes made to a document are recorded in the change document header table CDHDR, and additional change pointers are written in the BDCP table for the changes relevant to ALE.
IDoc Structure:
A message is defined for data that is exchanged between two systems. The message type is based on one or more IDoc structures.
Selection Program:
Is typically implemented as function modules, are designed to extract application data and create a master IDoc. A selection program exists for each message type. A selection programu2019s design depends on the triggering mechanism used in the process.
Filter Objects;
Filter Objects remove unwanted data for each recipient of the data basing on the recipients requirement.
Port Definition:
A port is used in an outbound process to define the medium in which documents are transferred to the destination system. ALE used a Transactional RFC port, which transfers data in memory buffers.
RFC Destination:
The RFC destination is a logical name used to define the characteristics of a communication link to a remote system on which a function needs to be executed.
Partner Profile:
A partner profile specifies the components used in an outbound process(logical name of the remote SAP system, IDoc Type, message type, TRFC port), an IDocu2019s packet size, the mode in which the process sends an IDoc (batch versus immediate), and the person to be notified in case of error.
Service Programs and Configuration Tables:
The outbound process, being asynchronous, is essentially a sequence of several processes that work together. SAP provides service programs and configuration tables to link these programs and provide customizing options for an outbound process.
Process flow for Distributing Transactional Data:
Transactional data is distributed using two techniques: with Message control and without message control.
Process flow for Distributing Master Data:
Master data between SAP systems is distributed using two techniques: Stand alone Programs and Change Pointers.
Triggering the Outbound Process via Stand-Alone Programs:
Stand-Alone programs are started explicitly by a user to transmit data from one SAP system to another. Standard Programs for several master data objects exist in SAP. Ex. The material master data can be transferred using the RBDSEMAT program or transaction BD10.
The stand-alone programs provide a selection screen to specify the objects to be transferred and the receiving system. After the stand-alone program is executed, it calls the IDoc selection program with the specified parameters.
Triggering the Outbound Process via Change Pointers:
The change pointer technique is used to initiate the outbound process automatically when master data is created or changed.
A standard program, RBDMIDOC, is scheduled to run on a periodic basis to evaluate the change pointers for a message type and start the ALE process for distributing the master data to the appropriate destination. The RBDMIDOC program reads the table TBDME to determine the IDoc selection program for a message type.
Processing in the Application Layer:
The customer distribution model is consulted to make sure that a receiver has been defined for the message to be transmitted. If not, processing ends. If at least one receiver exists, the IDoc selection program reads the master data object from the database and creates a master IDoc from it. The master IDoc is stored in memory. The program then calls the ALE service layer by using the function module MASTER_IDOC_DISTRIBUTE, passing the master IDoc and the receiver information.
Processing in the ALE Interface Layer:
Processing in the ALE Layer consists of the following steps:
u2022 Receiver Determination: The determination of the receiver is done through Customer Distribution Model.
u2022 IDoc Filtering: if an IDoc filter is specified in the distribution model for a receiver, values in the filter are compared against the values in the IDoc data records. If a data record does not meet the filter criteria, it is dropped.
u2022 Segment Filtering: For each sender and receiver combination, a set of segments that are not required can be filtered out.
u2022 Field conversion: Field values in data records are converted by using the conversion rules specified for the segment.
u2022 Version change for segments: Segments are version-controlled. A new version of a segment always contains fields from the preceding version and fields added for the new version. Release in IDoc type field of the partner profile to determine the version of the segment to be generated.
u2022 Version change for IDocs: IDocs are also version controlled. The version is determined from the Basic Type field of the partner profile.
u2022 Communication IDocs generated: The final IDoc generated for a receiver after all the conversions and filtering operations is the communication IDoc. One master IDoc can have multiple communication IDocs depending on the number of receivers identified and the filter operations performed. IDoc gets the status record with a status code of 01 (IDoc Created).
u2022 Syntax check performed: IDoc goes through a syntax check and data integrity validation. If errors found the IDoc get the status of 26 (error during syntax check of IDoc u2013 Outbound). If no errors found the IDoc gets the status 30 (IDoc ready for dispatch u2013 ALE Service).
u2022 IDoc dispatched to the communication Layer: In the ALE process, IDocs are dispatched using the asynchronous RFC method, which means that the sending system does not await for data to be received or processed on the destination system. After IDocs have been transferred to the communication layer, they get a status code 01 (Data Passed to Port OK).
Processing in the Communication Layer:
To dispatch an IDoc to a destination system, the system reads the port definition specified in the partner profile to determine the destination system, which is then used to read the RFC destination. The RFC destination contains communication settings to log o to the remote SAP system. The sending system calls the INBOUND_IDOC_PROCESS function module asynchronously on the destination system and passes the IDoc data via the memory buffers.
Inbound Process in IDocs:
An inbound process used IDoc structure, posting programs, filter objects, conversion rules, a partner profile, service programs, and configuration tables to post an application document from an IDoc.
Posting Program:
Posting programs, which are implemented as function modules, read data from an IDoc and create an application document from it. A posting program exists for each message. Each posting program is assigned a process code. A process code can point to a function module or a work flow. In the standard program process codes always point to a function module.
Ex. The posting program for message type MATMAS is IDOC_INPUT_MATMAS which has a process code MATM.
Workflow:
A workflow represents a sequence of customized steps to be carried out for a process. The workflow management system is used to model the sequence, identify information required to carry out the steps and identify the person responsible for the dialog steps.
Partner Profile;
A partner profile specifies the components used in an inbound process (partner number, message type, and process code), the mode in which IDocs are processed (batch versus immediate), and the person to be notified in case of errors.
Process flow for the Inbound process via a Function Module:
In this process, IDocs are received from another system and passed to the posting function module directly.
1. Processing in the communication Layer:
The IDOC_INBOUND_ASYCHRONOUS program, triggered as a result of an RFC from the sending system, acts as the entry point for all inbound ALE processes. The IDoc to be processed is passed as an input parameter. Control is transferred to the ALE/EDI layer.
2. Processing in the ALE/EDI Interface Layer:
u2022 Basic integrity check: A basic integrity check is performed on the control record.
u2022 Segment Filtering and conversion: Filtering out unwanted segments and carry out any required conversion of field values.
u2022 Creation of Application IDoc: The application IDoc is created and stored in the database and a syntax check is performed. If there are errors it gets status code of 60 (Error during Syntax check of IDoc u2013 Inbound). At this point a tangible IDoc, which can be monitored via one of the monitoring transactions, is created and the IDoc gets status code 50 (IDoc Added).
u2022 IDoc Marked ready for Dispatch: IDoc gets the status code 64 (IDoc ready to be passed to application).
u2022 IDoc is passed to the posting program: The partner profile table is read. If the value of the Processing field is set to Process Immediately, the IDoc is passed to the posting program immediately using the program RBDAPP01.
3. Processing in the Posting Module:
The process code in the partner profile points to a posting module for the specific message in the IDoc. The posting program implemented as a function module either calls a standard SAP transaction by using the Call Transaction command for posting the document or invokes a direct input function module.
The results of execution are passed back via the function moduleu2019s output parameters. If the posting is successful IDoc gets the status code 53 (Application Document Posted) or it gets status code 51 (Error: Application Document Not Posted). -
Hello,
I have a inbound Idoc of type HRMD_A (basistype HRMD_A07) which is processed by Function module (FM) IDOC_INPUT_HRMD with proofing. After processing an Idoc the status Monitor for ALE messages (BD87) tell me that my Idoc has status 53, which should be the result i would like to have.
Unfortunately when i go to transaction PA20 and check the infotypes, i see that infotype 0302 isn't created. When analyzing this problem i see that during the processing the Infotypes are posted with HR_MAINTAIN_MASTERDATA (dialog mode is 0 and luw_mode = 0 from include LRHA2F02 FORM save_pa_pb_infty) When this is done for infotype 0302 sy-subrc <> 0 the message is A complex application error has occured. This error message is placed in Export parameters
Return and Return1
of HR_MAINTAIN_MASTERDATA. When the program returns to the calling Form it checks if there is message of type E in HR_RETURN (see below) :
CALL FUNCTION 'HR_MAINTAIN_MASTERDATA'
EXPORTING
pernr = ins_objects-objid "#EC DOM_EQUAL
actio = 'INS'
tclas = tclas
dialog_mode = dial_mode
luw_mode = '0'
no_existence_check = $cross
no_enqueue = $cross
IMPORTING
return1 = return
hr_return = hr_return
TABLES
proposed_values = proposed_values.
REFRESH proposed_values.
IF hr_return-msgty = 'E'. "note 984409
CLEAR protocol_error.
protocol_error-msgty = hr_return-msgty.
protocol_error-msgid = hr_return-msgid.
protocol_error-msgno = hr_return-msgno.
protocol_error-msgv1 = hr_return-msgv1.
protocol_error-msgv2 = hr_return-msgv2.
protocol_error-msgv3 = hr_return-msgv3.
protocol_error-msgv4 = hr_return-msgv4.
READ TABLE t_hrobjinfty WITH KEY objid = hr_return-pernr
infty = hr_return-infty
subty = hr_return-subty.
protocol_error-segnum = t_hrobjinfty-segnum.
protocol_error-routid = 'create_prf_pa_pb_object'
As mentioned above, the error message is only placed in the parameters Return and Return1 and not in HR_RETURN.please read the first replyHi,
I think you have preety much done from your end itself .
Could you please tell me what you got in this parameters:
protocol_error-msgty = hr_return-msgty.
protocol_error-msgid = hr_return-msgid.
protocol_error-msgno = hr_return-msgno.
protocol_error-msgv1 = hr_return-msgv1.
protocol_error-msgv2 = hr_return-msgv2.
protocol_error-msgv3 = hr_return-msgv3.
protocol_error-msgv4 = hr_return-msgv4.
It may help us to track down the issue in more better way .
Thanks! -
B1358 error while posting inbound idoc with a FM
Hi
We are trying to post and inbound IDOC with the help of an rfc and eventually creating an invoice from a bdc wrapped in the RFC
The idocs are successfully pushed to R/3 while they are not getting posted and the error code in we02 is as follows
No status record was passed to ALE by the application
Message no. B1358
Diagnosis
The application failed to return a status record to the ALE layer after the IDoc was processed.
This is due to an error in the application function module which processed the inbound IDoc.
Procedure
If you wrote the application function module yourself, you need to change the program.
If the function module in question is a standard application function module, you should consult SAP.
Note: we are using a custom function module
regards
krishnaHi Krishna,
I assume that your function module processing the IDOC does not follow the ALE/IDOC processing rules.
Please check out the programming guidelines in the SAP Online Help under:
<a href="http://help.sap.com/saphelp_nw70/helpdata/en/78/21758051ce11d189570000e829fbbd/frameset.htm">http://help.sap.com/saphelp_nw70/helpdata/en/78/21758051ce11d189570000e829fbbd/frameset.htm</a>
Important are the parameters and tables that need to be returned, containing the correct IDOC processing status. Please take the IDOC processing quite serious in regards to complete Logical Unit of Works.
Best regards,
SIlvia
Maybe you are looking for
-
Erro copia de ambiente PI/GRC
Boa tarde, Fizemos uma copia de um ambiente GR1 para GR2, e fiz o pos-installation da SAP para Netweaver ABAP+JAVA SR3, ocorre que quando finalizei as configuracoes do GR2, as configuracoes de endereco e porta que eu alterei no GR2 foram alteradas ta
-
Iphone 6 call waiting beep not working
When I am already on a telephone call, and a second call comes in, the caller is not hearing a beep indicating that I am already on the phone. All 3 phones involved are Iphones. Any ideas on how to fix this? Thanks
-
User-Defined Function and Context Manipulation
Hi Mapping Gurus, I need your help. I have a user-defined function and one of my input parameter (c) is in a loop (EDI segment). So one, if I execute my function I get: Exception:[java.lang.ArrayIndexOutOfBoundsException: 0] If I change the context
-
Mozilla runs only in protected Mode Error Reports
ID: 4f3e605c-1c38-4b19-9997-427d12140808 Signature: igd10iumd32.dll@0x7fa17 Details Metadata Modules Raw Dump Extensions Signature igd10iumd32.dll@0x7fa17 More Reports Search UUID 4f3e605c-1c38-4b19-9997-427d12140808 Date Processed 2014-08-08 10:59:2
-
I am concerned that I have been scammed. Several other people have also commented on this issue. I will not enter in my card information a second time to subscribe for the PDF conversion to Excel function. I will be contacting someone by phone if I a