Professional Documents
Culture Documents
Idocs in SAP R3
Idocs in SAP R3
Sommaire
Introduction
1 Structure of an IDoc interface
o 1.1 Structure of an IDoc
o 1.2 Structure of a segment
o 1.3 Structure of an interface
2 Customizing of an outbound interface
o 2.1 Creation of a new message type
o 2.2 Customizing of a new interface
o 2.3 Creation of an outbound interface program
3 Additional customizings
o 3.1 Filter
o 3.2 IDoc reduction
o 3.3 Integration of an inbound IDoc
4 Appendices
o 4.1 Useful transactions for IDocs
o 4.2 Standard statuses of IDoc
o 4.3 List of standard basic IDoc types
Conclusion
Introduction
The main objective of an implementation of the SAP R/3 ERP is to group all the functions of the company
together, in a single system. But it is very unlikely that this philosophy is applied so strictly.
Indeed, for such various reasons as load-balancing, task segmentation or also risk distribution, it is common
to meet with a software landscape with more than one implementation of SAP R/3. It is even more common
that these implementations of SAP R/3 run together with other heterogeneous systems, like AS/400
mainframes (IBM iSeries).
To communicate with each other, SAP has designed for R/3 systems its own communication tool: IDocs.
These Intermediate Documents are the basis of every interface between R/3 systems. It is even possible,
using a middleware EDI system, to have a R/3 system communicate by IDocs on its side, with an open
system by XML files on the other side.
1.1.2 Section
An IDoc is made of three sections: control, data and status. Each section is named following the name of the
one or many segments that composed it. Thus, the control section contains a single control segment only,
the data section contains one or many data segments, the status section contains one or many status
segments.
It is important to notice that when exchanging IDocs between systems, whether they are SAP R/3 or not,
only control and data sections are sent. Indeed, the status section remains system specific. Nevertheless,
the status section is conceptually associated with the IDoc, so it is systematically represented as being a
part of the IDoc.
Fill the Short Description field and add as much lines as wished fields in the segment. For each field, give it
a name and a Data Element to refer to.
Save.
In the popup window which appears, choose Create new and fill the Description field.
Select the ZVISTAPM01 header line then choose the Create segment... button. In the popup window which
appears, fill the fields like the following:
Segm.type: Z1VISTAPM
Mandatory seg.: [checked]
Minimum number: 1
Maximum number: 999999
Save.
Choose the Display -> Change button then the New Entries button.
In the Message type column, type the value ZVISTAPM then in the Short text column type a short
description.
Save.
Choose the Display -> Change button then the New Entries button.
In the Message Type column, type the value ZVISTAPM. In the Basic Type column, type the value
ZVISTAPM01. In the Release column, type the value 620.
Press the Switch between display and edit mode button, then the Create model view button.
In the popup window which appears, enter in the Short text field a short description and in the Technical
name field the value YVISTAPM.
Place on the newly created entry then press the Add Message Type button.
In the popup window which appears, enter in the Sender field the name of the local logical system, in the
Receiver field the name of the receiving logical system and in the Message type field the name of the
message type of the interface.
Enter in the Model view field the value YVISTAPM, in the Partner system field the value TIBCO, and choose
as Output mode the Collect IDocs and transfer radio button. Press the Execute button.
Check the partner profiles. To do so, launch the WE20 transaction (Partner profiles). Select LS / TIBCO /
Outbound parmtrs. / ZVISTAPM.
The port should be checked first, because it is not specified at the generation of the partner profiles level, so
it is the first port which is selected by default.
If needed, manage the partner profiles then save.
FORM F_110_SEND_IDOC.
CONSTANTS:
C_MESTYP TYPE EDIDC-MESTYP VALUE 'ZVISTAPM',
C_DOCTYP TYPE EDIDC-IDOCTP VALUE 'ZVISTAPM01',
C_SEGNAM TYPE EDIDD-SEGNAM VALUE 'Z1VISTAPM'.
DATA:
I_ZVISTA_PM TYPE ZVISTA_PM_T OCCURS 6000,
I_EDIDC TYPE EDIDC OCCURS 0,
I_EDIDD TYPE EDIDD OCCURS 0,
WA_ZVISTA_PM TYPE ZVISTA_PM_T,
WA_EDIDC TYPE EDIDC,
WA_EDIDD TYPE EDIDD,
WA_Z1VISTAPM TYPE Z1VISTAPM,
V_OCCMAX TYPE IDOCSYN-OCCMAX,
V_NBSEG TYPE I.
CLEAR WA_ZVISTA_PM.
CLEAR WA_EDIDC.
* Save the message type and the basic IDoc type
* in the control segment
MOVE C_MESTYP TO WA_EDIDC-MESTYP.
MOVE C_DOCTYP TO WA_EDIDC-IDOCTP.
It is possible to press the Process button to send the IDoc which waits for processing. However, if there
were several IDocs to be sent in collected mode, pressing the Process button would have sent them one by
one instead of sending them in a batch.
Actually, the RSEOUT00 program has to be executed with adequat parameters: Logical message set to the
value ZVISTAPM and Output mode set to the value 4.
3 Additional customizings
3.1 Filter
3.1.1 Principle
A filter can be put in place on an interface. A filter is always placed at the distribution level (BD64
transaction), on a particular message type.
A filter is a series of values for one or many fields. When this filter is applied on a message, the segments
are created only if the filtered fields contain those values.
Example :
Filter 1 : field MATNR = "123", "456"; field ATWRT = "FOO1".
Basic IDoc type ZIDOC containing a single segment Z1SEG.
The segment (MATNR = "123"; ATWRT = "FOO1"; FIELD1 = "VALUE") will be created.
The segment (MATNR = "123"; ATWRT = "VAL2"; FIELD1 = "VALUE") will NOT be created.
So a filter acts the following way: for an IDoc segment to be created, each filtered field has to contain one of
the set values. It is a logical "OR" between each value of a field and a logical "AND" between each filtered
field.
Be careful! If a segment has a field which do not pass the filter, it is deleted. Then, every segments of a
lower hierarchical level are deleted too, as the higher hierarchical level segment also if the deleted segment
has been set to be mandatory in the basic IDoc type.
A filter is often used to reduce the volume of sent data, because they are not all relevant for the interface to
be built.
3.1.2 Customizing
3.1.2.1 Creation of an ALE object
First of all, an "ALE object" has to be created to be able to filter on it. An object which type will be identical
to the Data Element of the field to be filtered has to be created.
Launch the BD95 transaction (Change View "ALE Object Type": Overview).
In the ALE Object Type field, type the value MATNR. In the Table name field, type the value MAKT. In
the Field name field, type the value MATNR. A table field which the Data Element is the same like the field to
be filtered should be chosen.
Press the New Entries button. In the ALE Object Type field, type the value MATNR. In the Segm.type
field, type the value Z1VISTAPM. In the No. field, type the value 1. In the Field field, type the value MATNR.
In the popup window which appears, press the Create filter group button. Develop Data filtering then
double-clic on Material.
In the popup window which appears, press the Insert row button and type a value for this field. Do it again
for all the values to let pass for this field.
3.2.2 Customizing
Launch the BD53 transaction (IDoc Reduction Maintenance: Initial Screen).
In the Reduced message type field, type the value ZVISTAPM_REDUCED, then press the Create button.
In the popup window which appears, type in the Message type reference field the value MATMAS.
Validate. In the next popup window, type a short description for the new reduced message type. Validate.
In the following window, select the segments and the fields needed for the new reduced message type.
Save.
*"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
ERROR_MESSAGE
3.3.2 Customizing
Below is the list of transactions to launch in order to associate the integration function module with the
corresponding message type.
1.
2.
3.
4 Appendices
IDoc generated
Translation OK
Syntax check OK
10
Interchange handling OK
11
12
Dispatch OK
13
Retransmission OK
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Not used
29
30
31
32
33
34
35
36
37
38
IDoc archived
39
40
41
42
IDoc added
51
52
53
54
55
56
57
58
59
Not used
60
61
62
63
64
65
66
67
Not used
68
69
70
71
72
73
IDoc archived
74
Description
100_01
Output
682_01
Access sequence
683_01
684_01
685_01
Condition type
686A_01
ABSEN1
Attendance/Absence in CC1
ACCONF01
ACC_ACT_ALLOC01
ACC_ACT_ALLOC02
ACC_ACT_ALLOC03
ACC_ASSET_TRANSFER01
ACC_ASSET_TRANS_ACQ_POST01
ACC_BILLING01
ACC_BILLING02
ACC_BILLING_REVERSE01
ACC_DOCUMENT01
Accounting: Posting
ACC_DOCUMENT02
Accounting: Posting
ACC_DOCUMENT_REVERSE01
ACC_EMPLOYEE_EXP01
ACC_EMPLOYEE_EXP02
ACC_EMPLOYEE_PAY01
ACC_EMPLOYEE_PAY02
ACC_EMPLOYEE_REC01
ACC_EMPLOYEE_REC02
ACC_GL_POSTING01
ACC_GL_POSTING_REVERSE01
ACC_GOODS_MOVEMENT01
ACC_GOODS_MOVEMENT02
ACC_GOODS_MOV_REVERSE01
ACC_INVOICE_PYMNTBLK01
ACC_INVOICE_RECEIPT01
ACC_INVOICE_RECEIPT02
ACC_INVOICE_RECEIPT03
ACC_INVOICE_REVERSE01
ACC_MAN_ALLOC01
ACC_PRIM_COSTS01
ACC_PRIM_COSTS02
ACC_PURCHASE_ORDER01
ACC_PURCHASE_REQUI01
ACC_REVENUES01
ACC_REVENUES02
ACC_SALES_ORDER01
ACC_SALES_QUOTA01
ACC_SENDER_ACTIVITIES01
ACC_STAT_KEY_FIG01
ACC_TRAVEL01
ACLPAY01
ACLREC01
ACPJOU01
ACTIV3
Units in KK3
ACTIV4
Units in KK4
ACTIVITYTYPEGROUP_ADDNODE01
ACTIVITYTYPEGROUP_CREATE01
ADR2MAS01
ADR2MAS02
ADR3MAS01
ADR3MAS02
ADRMAS01
ADRMAS02
ALEAUD01
ALEREQ01
ARTMAS01
ARTMAS02
ARTMAS03
ARTMAS04
ASSETACQUISITION_POST01
ASSET_POSTCAP_POST01
Post post-capitalization
ASSET_RETIREMENT_POST01
ASSMOD01
ASSORTMENT01
Maintenance of assortments
ATT_ABS01
ATT_ABS_WITH_ACTIVITY01
ATT_ABS_WITH_COST01
BANK_CHANGE01
Change bank
BANK_CREATE01
Create bank
BANK_SAVEREPLICA01
BAPIPOHISTORYFROMDELIVERY01
BATCH5
Batch in CC5
BATMAS01
Replicate batch
BATMAS02
Replicate Batch
BATMAS03
Replicate batch
BBPCO01
BBPIV01
BBP_IV_T01
BENEFIT1
HR: Benefits
BENEFIT2
BENEFIT3
BENEFITRET1
BETMAS01
BLAORD01
Purchasing contracts
BLAORD02
Purchasing contracts
BLAORD03
Purchasing contracts
BLAREL01
BLAREL02
BMUMAS01
BOMDOC01
BOMDOC02
BOMMAT01
BOMMAT02
BOMMAT03
BOMMAT04
BOMORD01
BTC_ID01
BTC_ID02
BTC_ID03
BUPAFS_FS_CREATE_FRM_DATA01
BUPA_C_ADDADDRESS01
BUPA_C_ADDIDENTIFICATION01
BUPA_C_ADDSTATUS01
BUPA_C_BANKDETAIL_ADD01
BUPA_C_BANKDETAIL_CH01
BUPA_C_BANKDETAIL_REMOVE01
BUPA_C_CHANGEADDRESS01
BUPA_C_IDENTADD01
BUPA_C_IDENT_REMOVE01
BUPA_C_INDUSTRYSADD01
BUPA_C_INDUSTRYS_REMOVE01
BUPA_C_PASSWORD_CH01
BUPA_C_PASSWORD_CR01
BUPA_C_PASSWORD_DELETE01
BUPA_C_PASSWORD_INIT01
BUPA_C_REMOVEADDRESS01
BUPA_C_ROLEADD01
BUPA_C_STATUS_REMOVE01
BUPA_C_TAXNUMBERADD01
BUPA_C_TAXNUM_CHANGE01
BUPA_C_TAXNUM_REMOVE01
BUPA_FS_ADDADDITIONALDATA01
BUPA_FS_ADDADDRESS01
BUPA_FS_ADDADRESSUSAGE01
BUPA_FS_ADDBANK01
BUPA_FS_ADDCUSTOMFIELDS01
BUPA_FS_ADDDIFFTYPE01
BUPA_FS_ADDEMPLOYM01
BUPA_FS_ADDEXTERNID01
BUPA_FS_ADDFISCYEAR01
BUPA_FS_ADDRATING01
BUPA_FS_ADDREPORTING01
BUPA_FS_ADDTREASURY01
BUPA_FS_BANK_REMOVE01
BUPA_FS_CHANGE01
BUPA_FS_CHANGEADDITIONALDATA01
BUPA_FS_CHANGEADRESSUSAGE01
BUPA_FS_CHANGEBANK01
BUPA_FS_CHANGECUSTOMFIELDS01
BUPA_FS_CHANGEDIFFTYPE01
BUPA_FS_CHANGEEMPLOYM01
BUPA_FS_CHANGEFISCYEAR01
BUPA_FS_CHANGERATING01
BUPA_FS_CHANGEREPORTING01
BUPA_FS_CHANGETREASURY01
BUPA_FS_CHGADDRESS01
BUPA_FS_REMADDRESS01
BUPA_FS_REMOVEADDITIONALDATA01
BUPA_FS_REMOVEADRESSUSAGE01
BUPA_FS_REMOVECUSTOMFIELDS01
BUPA_FS_REMOVEDIFFTYPE01
BUPA_FS_REMOVEEMPLOYM01
BUPA_FS_REMOVEEXTERNID01
BUPA_FS_REMOVEFISCYEAR01
BUPA_FS_REMOVERATING01
BUPA_FS_REMOVEREPORTING01
BUPA_FS_REMOVETREASURY01
BUS1151_CREATE01
BUS1501_CREATE01
BUS1502_CREATE01
Create property
BUS1503_CREATE01
Create building
BUS1504_CREATE01
BUS1505_CREATE01
BUSINESSPARTNERFS_FSADDROLE01
CACS00
CAP_ACTIN01
CAP_ACTIN02
CAP_ACTOUT01
CAP_ACTOUT02
CAP_KEYFIG01
CAP_PRIMCOST01
CATS_CHANGE01
CATS_CHANGE02
CATS_DELETE01
CATS_INSERT01
CATS_INSERT02
CBPRCP01
CCLONE01
CHARACTERISTIC_CREATE01
CHRMAS01
CHRMAS02
CHRMAS03
CHRMAS04
CLASSIFICATION_CREATE01
CLASS_CREATE01
CLASS_CREATESUBCLASSALLOCATI01
CLASS_CREATESUBSTRUCTURE01
CLFMAS01
CLFMAS02
CLSMAS01
Master class
CLSMAS02
CLSMAS03
CLSMAS04
CMREQU01
CMSEND01
CNPMAS01
CNPMAS02
CNPMAS03
COABCM01
COABCV01
COACTV01
COAMAS01
COCOKA01
CODCMT01
COELEM01
COGRP01
COMM_ITEM01
CONDA201
CONDAT01
CONDAT02
COND_A01
COND_A02
COND_A03
CONF11
Confirmations in CC1
CONF21
CONF31
CONF32
CONF41
CONF42
CONF51
CONF_ACT1001
COPAGN01
CO-PA entry
COPA_DERIVE_ADD_VALUES01
COPA_DERIVE_REMOVE01
COPA_WW_ADD_VALUES01
COPA_WW_GET_VALUES01
Characteristic: GetValues
COPA_WW_REMOVE_VALUES01
COPCPA01
COPCPA02
COSCOR01
COSMAS01
COSTCENTERGROUP_ADDNODE01
COSTCENTERGROUP_CREATE01
COSTELEMENTGROUP_ADDNODE01
COSTELEMENTGROUP_CREATE01
COTOTL01
CO_ABC_BPROC_CREATE01
CO_ABC_BPROC_SETSTRUC01
CRECOR01
CREMAS01
CREMAS02
CREMAS03
CREMAS04
CREMDM01
CREMDM02
CREMDM03
CREMDM04
CRESTA01
CUSTOMERRETURN_CONFIRMDELIVE01
DANGEROUSGOOD02
DD01L_01
Domains
DD03L_01
Table Fields
DD04L_01
Data elements
DEBCOR01
DEBMAS01
Customer master
DEBMAS02
Customer master
DEBMAS03
Customer master
DEBMAS04
DEBMAS05
DEBMAS06
DEBMDM01
DEBMDM02
DEBMDM03
DEBMDM04
DEBMDM05
DEBMDM06
DELFOR01
DELFOR02
DELIVERYPROCESSING_EXECUTE01
Delivery processing
DELVRY01
Delivery interface
DELVRY02
DELVRY03
Delivery interface
DEPNET
DEPNET02
DESADV01
DES_ID01
Shipping notification
DIFFE2
Differences in KK2
DIFFE3
Differences in KK3
DIFFE4
Differences in KK4
DISPUTE_ATTRIBUTESCHANGE01
DISPUTE_CREATE01
DISPUTE_PROCESS01
DISPUTE_STATUSCHANGED01
DISPUTE_WRITEOFF01
DISTU2
DOCMAS01
Master document
DOCMAS02
Document 02
DOCMAS03
Document
DOCMAS04
Documents
DOCMAS05
DOCUMENT_LOAD01
DOLMAS01
Document-object links
DOLMAS02
DSPMAS01
DSPRCP01
DWLOAD
DXPROJECT_CREATE01
DXPROJECT_CREATE02
DXPROJECT_CREATE03
DXTCRE01
Object SBFADXT
ECMMAS01
ECMMAS02
ECMREV01
EEWAGECOMP_CHANGE01
EEWAGECOMP_CREATE01
EEWAGECOMP_DELETE01
EHPOST01
EKSEKS01
EMPWAGECOMPEXT_CHANGE01
EMPWAGECOMPEXT_CREATE01
EMPWAGECOMPEXT_DELETE01
EQUIPMENT_CHANGE01
EQUIPMENT_CREATE01
EVMSTA01
EVMSTA02
EXCHANGE_RATE01
EXPINV01
EXPINV02
EXPINV03
EXPINV04
EXTSECURITYACCSTMNT_CREATE01
EXTWA1
FIDCCH01
FIDCCP01
FIDCCP02
FIDCMT01
FINANCIALPRODUCT_CREATE01
Create security
FINANCIALTRANSACTION_CREATE01
FINSTA01
FIPARQ01
FIXEDASSET_CHANGE01
Changes an asset
FIXEDASSET_CHANGE02
Changes an asset
FIXEDASSET_CHANGE03
Changes an Asset
FIXEDASSET_CREATE01
Creates an asset
FIXEDASSET_CREATE02
Creates an asset
FIXEDASSET_CREATEFROMDATA101
Creates an Asset
FIXEDASSET_CREATEFROMDATA102
Creates an Asset
FIXEDASSET_CREATEINCLVALUES01
FIXEDASSET_CREATEINCLVALUES02
FLCUSTOMER_CREATEFROMDATA01
FLIGHTBOOKING_CANCEL01
FLIGHTBOOKING_CONFIRM01
FLIGHTBOOKING_CREATEFROMDAT01
FLIGHTCUSTOMER_CHANGE01
FLIGHT_SAVEREPLICA01
FTDABA01
FTDACU01
FTRCON01
Confirm transaction
FTRPAYMENTDETAIL_GETLIST01
FTR_ADDFLOW_CHANGE01
FTR_ADDFLOW_CREATE01
FTR_ADDFLOW_DELETE01
FTR_ADDFLOW_GETLIST01
FTR_CFT_CHANGE01
FTR_CFT_CREATE01
FTR_CFT_FLOWCHANGE01
FTR_CFT_FLOWCREATE01
FTR_CFT_FLOWDELETE01
FTR_CFT_FLOWGETLIST01
FTR_CFT_GETDETAIL01
FTR_CFT_REVERSE01
FTR_CONDITION_CHANGE01
FTR_CONDITION_CREATE01
FTR_CONDITION_DELETE01
FTR_CONDITION_GETLIST01
FTR_COUNTERCONFIRM01
FTR_CP_CHANGE01
FTR_CP_CREATE01
FTR_CP_GETDETAIL01
FTR_CP_REVERSE01
FTR_DAN_CHANGE01
FTR_DAN_CREATE01
FTR_DAN_GETDETAIL01
FTR_DAN_GIVENOTICE01
FTR_DAN_MAINFLOWCHANGE01
FTR_DAN_MAINFLOWCREATE01
FTR_DAN_MAINFLOWDELETE01
FTR_DAN_MAINFLOWGETLIST01
FTR_DAN_REVERSE01
FTR_DAN_ROLLOVER01
FTR_FTD_CHANGE01
FTR_FTD_CREATE01
FTR_FTD_GETDETAIL01
FTR_FTD_MAINFLOWCHANGE01
FTR_FTD_MAINFLOWCREATE01
FTR_FTD_MAINFLOWDELETE01
FTR_FTD_MAINFLOWGETLIST01
FTR_FTD_REVERSE01
FTR_FTD_ROLLOVER01
FTR_FXOPTION_CHANGE01
Change an FX Option
FTR_FXOPTION_CREATE01
FTR_FXOPTION_EXERCISE01
Exercise FX Option
FTR_FXOPTION_EXPIRE01
FTR_FXOPTION_GETDETAIL01
Details on FX Options
FTR_FXOPTION_KNOCKIN01
Knockin FXOPTION
FTR_FXOPTION_KNOCKOUT01
Knockout FXOPTIONS
FTR_FXOPTION_REVERSE01
Reverse FX Option
FTR_FXOPTION_SETTLE01
Cancel FX OPTION
FTR_FXT_CHANGE01
FTR_FXT_CREATE01
FTR_FXT_GETDETAIL01
FTR_FXT_REVERSE01
FTR_FXT_SETTLE01
FTR_FX_CREATESWAP01
FTR_FX_CREATESWAP011
FTR_GETDETAIL01
FTR_GETLIST01
FTR_IRATE_CHANGE01
FTR_IRATE_CREATE01
FTR_IRATE_GETDETAIL01
FTR_IRATE_MAINFLOWCHANGE01
FTR_IRATE_MAINFLOWCREATE01
FTR_IRATE_MAINFLOWDELETE01
FTR_IRATE_MAINFLOWGETLIST01
FTR_IRATE_REVERSE01
FTR_PAYDET_CHANGE01
FTR_PAYDET_CREATE01
FTR_PAYDET_DELETE01
FTR_PAYDET_GETLIST01
FTR_SECURITY_CHANGE01
FTR_SECURITY_CREATE01
FTR_SECURITY_GETDETAIL01
FTR_SECURITY_REVERSE01
FTR_SECURITY_SETTLE01
FTR_SETTLE01
FUNC_LOC_CHANGE01
FUNC_LOC_CREATE01
FUNDMA01
FUNDSCTR
GLCORE01
Documentation deleted
GLDCMT01
GLMAST01
GOODSMVT_SAPCREATE01
GSVERF01
GSVERF02
GSVERF03
HRCC1DNATTAB01
HRCC1DNBALAN01
HRCC1DNCOSTC01
HRCC1DNEXTWT01
HRCC1DNINORD01
HRCC1DNOBJID01
HRCC1DNPERSO01
HRCC1DNTEVGR01
HRCC1DNWBSEL01
HRCC1REQUPEXTWT01
HRCC1REQUPTEVEN01
HRCC1UPEXTWT01
HRCC1UPTEVEN01
HRCNF01
HRKK1ABSR
HRKK1EWUP
HRKK1EXWT
HRKK1PERS
HRKK1TBAL
HRKK1TEUP
HRKK1TEVT
HRKK1WRKC
HRMASTER01
Replicate (HRMasterDataReplica)
HRMASTER02
Replicate (HRMasterDataReplica)
HRMD_A01
HRMD_A02
HRMD_A03
HRMD_A04
HRMD_A05
HRMD_A06
HRMD_ABA01
HRMD_ABA02
HRMD_ABA03
HRMD_ABA04
HRMD_B01
HRMD_B02
HRMD_B03
HRMD_B04
HROT558D
HROTIN
HROTUSTR
HROT_BRM
HROT_CAM
HROT_CAP
HROT_CHM
HROT_DEM
HROT_ESM
HROT_FIM
HROT_FRM
HROT_GBM
HROT_IEM
HROT_ITM
HROT_NLM
HROT_NLP
HROT_TM
HROT_USM
HROT_USP
HROT_USTP
HROT_USTQ
HROT_USTY
HROT_XXM
HROT_XXP
HRPAYP01
HR - Transfer FI/CO
HRPLL40
HRSM_A01
HRSM_A03
HRSM_B01
HRSM_C01
HRSM_D01
HRTRPR01
Transfer TRV-PAY(PayrollTravelExpenses)
HRTRVL01
HRTRVL03
HR_INBND
HU_CREATE01
HU_DELETE01
HU_PACK01
HU_PROCESSOUTPUTDIRECT01
HU_REPACK01
HU_UNPACK01
IDCREF01
IMATIS01
IMEASR01
IMPINV01
IM_PROGDEF_SAVEREPLICA01
INFREC01
INFRECMASS01
INOTIF01
Notification IDOC
INSPECTIONPLAN_CREATE01
INTERNALORDERGROUP_ADDNODE01
INTERNALORDERGROUP_CREATE01
INTERNAL_ORDER01
INTERNAL_ORDER_CREATE01
INTERNAL_ORDER_CREATE02
INTUPD01
INVCON01
INVOIC01
Invoice/Billing document
INVOIC02
Invoice/Billing document
INV_ID01
Invoice
IOAUPD01
IORDER01
IORUPD01
IWKCEN01
JOBROLE_CLONE01
JV_EXP01
JV_EXP02
JV_INV01
KANBAN01
KNOMAS01
KNOMAS02
LABELS00
LAYMOD01
LIKOND01
Listing conditions
LIS_EXTR
LOCAT5
Location in KK5
LOIBOM01
LOICAL01
Master calendar
LOIMSO01
LOINUM01
LOIPGR01
LOIPLO01
LOIPRO01
LOIRNH01
Master hierarchy/networks
LOIROU01
Master routing
LOIROU02
Master routing
LOIRSH01
LOISTD01
LOITMX01
Transition matrix
LOIWCS01
LOIWCS02
LPIEQU01
LPIPCM01
Production campaign
MALFK5
MANAGEREXTPAYROLL_INSERTLEGA01
MANAGEREXTPAYROLL_INSERTOUT01
MATCOR01
MATERIALBOM_CREATEBOMGROUP01
MATERIALPHYSINV_COUNT01
MATERIALPHYSINV_CREATEMULTIP01
MATERIALPHYSINV_POSTDIFFEREN01
MATERIALRESERVATION_CREATE101
MATERIALRESERVATION_DELETE01
MATERIALVALUATION_PRICECHANG01
MATMAS01
Material Master
MATMAS02
Material Master
MATMAS03
Material Master
MATMAS04
Material Master
MATMAS05
MATMAS_BAPI01
MATMAS_MASS_BAPI01
MATQM01
MATTYPE01
Material Types
MBGMCA01
MBGMCR01
MBGMCR02
MC1_01
Condition tables
MDMFDB01
MDMMETA
MDM Metadata
MDMRECEIPT01
MDM Receipt
MDMREQUEST01
MDM Request
MDMVERA
MDM_EQUIPMENT_SAVEREPLICA01
MDM_FUNCLOC_SAVEREPLICA01
MMADDI01
MRESCR01
Create reservation
OBDLV_PROCOUTP01
OPERA2
Operations in KK2
OPERA3
Processes in KK3
OPERA4
Operations in KK4
OPERS3
OPERS4
ORDERS01
Purchasing/Sales
ORDERS02
Purchasing/Sales
ORDERS03
Purchasing/Sales
ORDERS04
Purchasing/Sales
ORDERS05
Purchasing/Sales
ORD_ID01
ORGMASTER01
OSTAT2
PALMAT01
PAYMENTREQUEST_CANCEL01
PAYMENTREQUEST_CREATE01
PAYMENTREQUEST_POST01
PAYMENTREQUEST_RELEASE01
PAYMENTREQUEST_STARTPAYMENT01
PCHEAD01
PCITEMS01
PDTCO_POSTPRIMARY01
PEROP2
PERSO1
PERSO2
PERSO3
PERSO4
PEXR2001
PEXR2002
PHRMAS01
PIECEOFEQUIPMENT_DISMANTLEAT01
PIECEOFEQUIPMENT_INSTALLATFU01
PKHD5
PKPS5
PKST5
PLANDATATRANSFERCO_POSTACTIO01
PLANDATATRANSFERCO_POSTACTIV01
PLANDATATRANSFERCO_POSTKEYFI01
PLANT3
Plants in CC3
PLANT4
Plants in CC4
PORDCH01
PORDCR01
PORDCR02
PORDCR03
PORDCR04
PORDCR05
PORDCR101
PORDGD01
PO_DELETEPOHISTORY01
PO_UPDATEPOHISTORY01
PPCC2PRETEVENT01
PPCC2PRETTICKET01
PPCC2RECORDER01
PPCC2RECWORKCENTER01
PPCC2REQCONF01
PPE_ACT01
PPE_BAL01
PPE_CMP01
PPE_FLO01
PPE_GEN01
PPE_PRM01
PPE_RES01
PRCDOC01
PRCDOCD01
PRCDOCP01
PRCDOCR01
PRCMAS01
PRCMAS02
PRDCAT01
Product catalog
PRDPOS01
PREQCR01
PREQCR02
PREQCR03
PREQDL01
PRICAT01
Price/sales catalog
PRICAT02
PRICECATALOGUE01
PRICECATALOGUE02
PROACT01
PROFITCENTERGROUP_ADDNODE01
PROFITCENTERGROUP_CREATE01
PROFITCENTER_CHANGE01
PROFITCENTER_CREATE01
PROJECT01
PROMOTION_CONFIRMREQUEST01
PTOVERVIEW01
QALITY01
QALITY02
QPGR01
QPMK01
QSMT01
RCYINF01
RCYSYS01
REDEMPTIONFACTORS_CHANGE01
REDEMPTIONFACTORS_CREATE01
REDEMPTIONFACTORS_GETDETAIL01
REDEMPTIONSCHEDSET_GETDETAIL01
REDEMPTIONSCHEDSET_GETLIST01
REMUNREQUESTLIST_GETLIST01
REMURQSLIST_CHANGE01
REMURQSLIST_CREATE_CBD01
REMURQSLIST_CREATE_CBD02
REMURQSLIST_CREATE_REMU01
REMURQSLIST_CREATE_REMU02
REMURQSLIST_CREATE_SETT01
REMURQSLIST_CREATE_SETT02
REMURQSLIST_RELEASE01
REMURQSLIST_RELEASE02
REM_SPEC01
REM_SPEC_WITH_ACTIVITY01
REM_SPEC_WITH_COST01
REPMAS01
REQUI1
REQUI2
REQUI3
REQUI4
REQUI5
RESOURCECO01
ROUTING_CREATE01
Creation of a routing
RPLMAS01
RPLMAS02
RPMINTF1
RPM FI Interface
RSINFO
Info IDoc
RSREQUST
RSSEND
SALESORDER_CONFIRMDELIVERY01
SALESORDER_CREATEFROMDAT201
SALESORDER_CREATEFROMDAT202
SAPRDI01
SAPRDI02
SCERTKB
SDPAID01
SDPIID01
SDPIOD01
SERDAT01
SERVICENOTIFICATION_CREATEFR01
SETTLEMENTREQUSTLIST_GETLIST01
SETTRQSLIST_CHANGE01
SETTRQSLIST_CHANGE02
SETTRQSLIST_CLOSE01
SETTRQSLIST_CREATE01
SETTRQSLIST_CREATE02
SETTRQSLIST_RELEASE01
SETTRQSLIST_RELEASE02
SFADCH01
SFADDE01
SFADOR01
SFADPSA01
SFAMAT01
SHIPMENT_CHANGE01
Change Shipment
SHIPMENT_CREATEFROMDATA01
Create Shipment
SHIPMENT_CREATEFROMDATA02
Create Shipment
SHPMNT01
Shipment
SHPMNT02
Shipment
SHPMNT03
Shipment
SHPMNT04
Transport
SHPMNT05
Shipment
SHP_IBDLV_CHANGE01
SHP_IBDLV_CONFIRM_DECENTRAL01
BAPI Confirmation(InboundDelivery)
SHP_IBDLV_CONFIRM_DECENTRAL02
BAPI Confirmation(InboundDelivery)
SHP_IBDLV_SAVE_REPLICA01
SHP_IBDLV_SAVE_REPLICA02
SHP_OBDLV_CHANGE01
SHP_OBDLV_CONFIRM_DECENTRAL01
SHP_OBDLV_CONFIRM_DECENTRAL02
SHP_OBDLV_CONFIRM_DECENTRAL03
SHP_OBDLV_SAVE_REPLICA01
SHP_OBDLV_SAVE_REPLICA02
SHP_OBDLV_SPLIT_DECENTRAL01
SINGLEREMUNREQUEST_GETLIST01
SINGLEREMUNRQS_CANCEL01
SINGLEREMUNRQS_CHANGE01
SINGLEREMUNRQS_CREATE01
SINGLEREMUNRQS_RELEASE01
SINGLEREMUNRQS_RELEASE02
SINGLESETTLEMENTREQS_GETLIST01
SINGLESETTRQS_CANCEL01
SINGLESETTRQS_CHANGE01
SINGLESETTRQS_CHANGE02
SINGLESETTRQS_CREATE01
SINGLESETTRQS_CREATE02
SINGLESETTRQS_RELEASE01
SINGLESETTRQS_RELEASE02
SISCSO01
SISDEL01
SIS - delivery
SISINV01
SOPGEN01
SRCLST01
Source List
SRVMAS01
STTMAT01
SUBMAS01
SYIDOC01
SYNCHRON
SYPART01
SYRECD01
SYRECD02
SYSTAT01
T006_01
Units of measurement
TCURC_01
Currency Codes
TCURR_01
Exchange rates
TEMPLATECO_CREATEFROMDATA01
TEMPLATECO_DELETE01
TIMESHEETCPRCONNECT_TRANSCPR01
TIMESHEETLOCOCONNECT_TRAPM01
TIMESHEETLOCOCONNECT_TRAPS01
TPSDLR01
TPSDLS01
TPSLOC01
TPSSHT01
TRADINGCONTRACT01
TRADINGCONTRACT_CHANGE01
TRPL_PNR_IDOC
TRXSTA02
TXTRAW01
TXTRAW02
UNIMA2
UNIT2
Units in CC2
UNIT3
Units in CC3
UNIT4
Units in CC4
UPLOAD
UPSMAS01
UPSRCP01
USERACTGROUPSASSIGN01
USERACTGROUPSDELETE01
USERCHANGE01
Change User
USERCLONE01
USERCLONE02
USERCLONE03
USERCLONE04
USERCREATE01
USERDELETE01
USERLOCK01
Lock User
USERPROFILESASSIGN01
USERPROFILESDELETE01
USERRESPONSE01
USERUNLOCK01
Unlock user
USER_WPPERSDATASAVE01
VALPROJECTSTOCK_PRICECHANGE01
VALSALESORDSTOCK_PRICECHANGE01
VALSCALE01
VCHARVAL01
VCUI_DELETE01
VCUI_EXISTENCECHECK01
VCUI_SAVEM01
VCUI_SAVEM02
VENDCBDLIST_CHANGE01
VENDCBDLIST_CREATE01
VENDCBDLIST_CREATE02
VENDCBDLIST_RELEASE01
VENDCBDLIST_RELEASE02
VENDTRIGGEREDCBDLIST_GETLIST01
VFNMAS01
VFNMAS02
VTAMAS01
VTAMAS02
VTMMAS01
VTMMAS02
WALNOT01
WALREQ01
WBBDLD01
WBBDLD02
WBBDLD03
WBBDLD04
WFRESOURCE_CHANGEAVAILABILIT01
WGSREQ01
WGSREQ02
WMBIID01
WMCAID01
WMERCAT01
WMINID01
WMIVID01
WMMBID01
WMMBID02
WMPHID01
WMRRID01
WMSUID01
WMTCID01
+ E1UPSLINK
WMTCID02
WMTCID03
Confirm TO
WMTOID01
Transfer order
WMTOID02
Send pick HU
WMTRID01
Transfer requirement
WORKC2
Workcenters in CC2
WORKC3
WORKC4
Workcenters in CC4
WORKSCHED_WITH_COST01
WPDBBY01
WPDCUR01
WPDNAC01
WPDREB01
WPDSET01
WPDTAX01
WPDWGR01
WPUBON01
WPUERR01
WPUFIB01
WPUKSR01
WPUTAB01
WPUUMS01
WPUWBW01
WP_EAN01
WP_PER01
WP_PLU01
WP_PLU02
WRMA_REV_DATA
WRMA_REV_REQUEST
WTADDI01
Additionals
WVINVE01
WVINVE02
WVINVE03
W_WGRP01
Conclusion
The presentation which has been made here of the use of IDocs in a SAP R/3 environment was only a quick
view of the range of given possibilities.
Indeed, therere many ways of interacting between the SAP R/3 system and IDocs, among them there are
change pointers, conversions at customizing level and BADIs.
And the almost infinite number of combinations which represents the interoperatibility with third-party EDI
systems are even not taken into account, like TIBCO for example.
Resume
Using IDocs is the simplest, fastest and most effective way to set up interfaces between SAP R/3 systems.
After a presentation of the structure of an IDoc interface in a SAP R/3 system, the customizing of an
outbound interface will be detailed. Then, the building of an ABAP interface program will be explained, and a
sequence of further customizing will be given. Last, some transactions enabling the testing and the
monitoring of IDocs will be listed.
Some prerequisites are needed before reading the following :
1.
2.