Idoc Basics For Functional Consultants: Share Share
Idoc Basics For Functional Consultants: Share Share
ABSTRACT IDocs are used in most of the SAP applications for transfer of message from SAP to other systems and vice versa. A lot of documentation is available on web for IDocs but most of them are technical in nature. This document is written from perspective of a functional consultant and this will help in dealing with support issues related to IDoc. An effort has been made to capture all the necessary information about IDocs that a functional consultant needs to be aware of. OVERVIEW "Doc is an SA# object t$at carries data of a b%siness transaction from one system to anot$er in t$e form of electronic message& "Doc is an acronym forIntermediate Doc%ment& '$e p%rpose of an "Doc is to transfer data or information from SA# to ot$er systems and (ice (ersa& '$e transfer from SA# to non)SA# system is done (ia *D" +*lectronic Data "nterc$ange, s%bsystems -$ereas for transfer bet-een t-o SA# systems, A.* is %sed& "Doc can be triggered in SA# system or in *D" s%bsystem& '$is depends on t$e direction in -$ic$ "Doc is sent and is called as "nbo%nd "Doc and /%tbo%nd "Doc accordingly& "n case of o%tbo%nd flo-, "Doc is triggered in SA# t$ro%g$ doc%ment message control -$ic$ is t$en sent to *D" s%bsystem& *D" con(erts t$e data from "Doc into 0M. or e1%i(alent format and t$en sends t$e data to partner system t$ro%g$ "nternet& 2or inbo%nd flo-, *D" con(erts partner data and "Doc is created in SA#& After s%ccessf%l processing of t$is "Doc, Application Doc%ment is posted in SA#&
EDI STANDARDS AND IDOC 3*D" is electronic e4c$ange of b%siness doc%ment bet-een t$e comp%ter
systems of b%siness partners, %sing a standard format o(er a comm%nication net-or67& *D" stands for Electronic Data Interc$ange& 2or transmission of information electronically, t-o -idely %sed standards are ANS" AS8 012 and *D"2A8'& ANS" AS8 012 is a committee formed by representati(es of major organi9ations, go(ernment bodies and *D" soft-are companies -$ic$ defines standards and g%idelines for information interc$ange o(er *D"& :N;*D"2A8' stands for :nited Nations *D" for Administration, commerce and 'ransport and -as formed in 1<=! %sing ANS" 012 and :N'D" +:nited Nations 'rade Data interc$ange, as base standards& ANS" 012 describes b%siness doc%ment as transactions and eac$ transaction is represented by t$ree digit n%mber e&g& =!0 > #%rc$ase /rder, =!! ) #%rc$ase /rder Ac6no-ledgement& *D"2A8' describes b%siness doc%ment as messages, represented by standard names e&g& /?D*?S for p%rc$ase order& IDOC TERMINOLOGIES IDOC (BASIC) TYPE "Doc 'ypes are based on t$e *D" standards and mostly on *D"2A8' standards& @asic 'ypes +or "Doc 'ype, defines t$e str%ct%re of an "Doc& *ac$ basic type describes standard "Doc segments, format of data fields and t$eir si9e& @asic 'ype also defines n%mber of segments and fields in an "Doc& All t$e fields t$at are necessary for transmission of message for a partic%lar b%siness transaction are mapped in different segments& "t also defines t$e str%ct%re and relations$ip of "Doc segments along -it$ mandatory and optional segments&
IDOC EXTENSION @asic type contains all t$e standard fields t$at are necessary for carrying o%t a b%siness transaction& Ao-e(er, if any additional (al%es are to be sent to t$e partner t$en -e can ma6e %se of t$e "Doc *4tension feat%re& "Doc e4tension is e4tension of basic type and contains additional c%stom "Doc segments and fields t$at are not a(ailable in standard basic type& IDOC SEGM ENTS "Doc segments contain t$e act%al data t$at is sent to or received from a partner& '$ese segments contain t$e act%al (al%es t$at are sent as part of "Doc transmission&
PARENT AND C I!D SEGM ENTS "Doc segment is termed as #arent segment if it contains its o-n segments& '$e dependent segments are called as c$ild segments&
INBO"ND#O"TBO"ND IDOCS "Docs sent o%tside t$e system are termed as /%tbo%nd "Docs and t$e ones t$at are recei(ed into t$e system, are called as "nbo%nd "Docs&
IDOC DIRECTION '$is signifies t$e direction is -$ic$ information is sent and is similar to terminology %sed in mails& "f information is sent o%tside t$e system t$en t$e direction is o%tbo4 -$en it is recei(ed into t$e system t$en direction is inbo4& "n SA# /%tbo4 direction is represent by 317 i&e& o%tbo4 and "nbo4 direction is represented by 327&
PARTNER #artner is t$e @%siness #artner -it$ -$ic$ t$e e4c$ange of information is to ta6e place %sing "Doc& "t can be a (endor or c%stomer or any ot$er system& Depending on t$e direction of information in -$ic$ t$e information is sent it plays a role of eit$er a 3sending partner7 or a 3recei(ing partner7&
PARTNER TYPE #artner type;role is %sed to identify partners -it$in t$e sap systems& #artner type is B: for c%stomer, ." for (endor and .S for .ogical System&
M ESSAGE TYPE "Doc processing in(ol(es transmission or receipt of doc%ment in t$e form of a message, eac$ of -$ic$ represents a doc%ment in SA#& '$ese doc%ments can be /rder, S$ipment 8onfirmation, Ad(ance S$ipping Notification, Coods ?eceipt, or "n(oice& Message type is associated -it$ @asic "Doc 'ype +@asic 'ype, and defines t$e 6ind of data or doc%ment t$at is e4c$anged -it$ t$e partner& PROCESS CODE '$e process code contains t$e details of t$e 2%nction Mod%le t$at are %sed for "Doc processing& Message 'ype can be lin6ed to t$e #rocess code& PORT "Doc #ort contains t$e information abo%t t$e -ay data is sent bet-een t$e so%rce or target system& '$e type of port defines t$e information contained -it$in t$e port& 2or port type 3"nternet7 #ort -ill contain "# address of t$e target system& 2or port type 3file7, directory or file name information is maintained& 3t?287 port contains information abo%t t$e ?28 destination of t$e target system& 2or "Doc transmission %sing A.* 3t?287 ports are %sed& PARTNER PROFILE MAINTENANCE PARTNER PRO$I!E (%E&') #artner profile m%st be maintained for all t$e b%siness partners to -$om -e -ant to send or recei(e t$e "Docs& '$e '8/D* for maintaining t$e partner profile is D*1<&
#artner profile contains parameters for "nbo%nd and /%tbo%nd processing of "Docs& 2or eac$ message type -e can maintain, inbo%nd;o%tbo%nd options, message control, post processing options and contact information -it$in "nbo%nd and o%tbo%nd parameters& O"TBO"ND OPTIONS (O"TBO"ND PARAM ETERS) '$is in(ol(es sender;recei(er port, /%tp%t mode and relation to "Doc type i&e& @asic 'ype and e4tension&
M ESSAGE CONTRO! (O"TBO"ND PARAM ETERS) '$is contains application for -$ic$ "Doc -ill be created e&g& *2 for #%rc$ase order, t$e message type of t$e application t$at -ill trigger t$e "Doc and #rocess 8ode t$at -ill con(ert SA# doc%ment to an "Doc& 2or e4ample, if #/ is to be sent to t$e 5endor A0000E, t$en in t$e o%tbo%nd option of t$e partner A0000E -e need to maintain t$e message type E001 and lin6 it to t$e #rocess 8ode M*10& So -$en message type E001 is triggered in t$e #/ t$en an "Doc -ill be created for t$e partner (endor A0000E& #rocess 8ode is lin6ed to t$e 2%nction Mod%le in SA# t$at con(erts application data into an "Doc& Standard f%nction mod%les are pro(ided by SA# for t$is con(ersion $o-e(er t$ese can also be c%stomi9ed as per b%siness needs&
Change Message Indicator indicates -$et$er t$e "Doc is sent as a notification of c$ange& 2or e4ample, #%rc$ase /rder c$ange messages are sent to (endor %sing *D" standard message type =60&
Separate message type s$o%ld be triggered in t$e p%rc$ase order for #/ c$ange& Additional line -it$ c$ange message type m%st be added in t$e Message control tab -it$ change message indicator on&
INBO"ND OPTIONS (INBO"ND PARAM ETERS) 2or inbo%nd options process code is maintained in t$e "nbo%nd screen only& "Doc processing can be triggered by bac6gro%nd program and triggered immediately&
POST PROCESSING (INBO"ND#O"TBO"ND PARAM ETERS) "n t$e post processing option -e can maintain t$e -or6flo- details of t$e %sers or positions to -$ic$ an error notification -ill be sent if an "Doc processing fails&
TE!EP ONY (INBO"ND#O"TBO"ND PARAM ETERS) De can also maintain t$e contact details in t$e telep$ony option&
EDI STANDARD (O"TBO"ND PARAM ETERS) *D" standard screen contains t$e details of t$e Standard *D" terminology %sed for t$e "Doc transmission&
2or e4ample, Message 'ype 850 is an *D" standard for #%rc$ase /rder "Doc and is lin6ed to "Doc Message 'ype Orders& IDOC STRUCTURE AND RECORDS STR"CT"RE "Doc str%ct%re is di(ided into 8ontrol ?ecord, Data ?ecords and Stat%s records&
'$ese records are stored in t$e transparent tables in SA#& '$ese are *D"D8,
*D"DF and *D"DS& CONTRO! RECORD (EDIDC) "t contains information s%c$ as "Doc n%mber, direction, "Doc Stat%s, @asic 'ype, Message 'ype, #artner +Sender;?ecei(er,, date and time of creation;%pdate, "nterc$ange 2ile or "SA n%mber,etc&
DATA RECORD (EDID() "t contains t$e details of t$e "Doc segments&
"Doc segment $as fields t$at contain t$e data necessary for posting t$e doc%ments&
STAT"S RECORDS (EDIDS) "Doc Stat%s defines t$e processing stat%s of t$e "Doc& "Doc stat%ses are %sed to trac6 t$e "Doc and its (ario%s processing states& Stat%s N%mbers represents "Doc stat%s& 8%rrent stat%s of t$e "Doc is present in 8ontrol record&
"nitial Stat%s n%mbers are 6F for inbo%nd and 03 for o%tbo%nd& S%ccessf%l stat%s is !3 for inbo%nd and 16 for o%tbo%nd "Docs&
SENDING AND RECEIVING IDOCS TRIGGERING AN O"TBO"ND IDOC /%tbo%nd "Docs can be triggered from t$e o%tp%t message types of #%rc$ase /rders, deli(eries, Material Doc%ments, in(oices, etc& '$e follo-ing fig%re s$o-s t$at once t$e o%tp%t E001 of #/ 00000001 is processed an "Doc 300000000000000017 is added;created&
'$e relations$ip bet-een t$e "Doc and t$e application doc%ment can be fo%nd in t-o -ays: 1& ?elations$ip tab of "Doc
2& ?elations$ip tab of Application Doc%ment, e&g& #/, S/, Material Doc%ment, etc&
'$e initial stat%s of t$is "Doc -ill be 30, -$ic$ after s%ccessf%l processing -ill con(ert into stat%s 16&
A s%ccessf%l o%tbo%nd "Doc -ill pass t$ro%g$ all t$e abo(e stat%ses in re(erse order +01)03)1=)06)12)16,& *ac$ stat%s represents an "Doc (alidation step& "f an "Doc passes all t$e (alidations it -o%ld reac$ stat%s 16& '$ese different (alidation steps for o%tbo%nd "Docs are e4plained belo-: 01: "Doc generation s%ccessf%l 30: "Doc is ready to be processed by "Doc #rocessing job 03: "Doc data is passed to t$e #ort
1=: "Doc s%ccessf%lly triggered *D" s%bsystem 06: "Doc data translated to *D" format 12: "Doc is dispatc$ed s%ccessf%lly to t$e partner 16: #artner $as recei(ed t$e "Doc s%ccessf%lly "Doc can possibly fail at any of t$e abo(e steps d%ring (alidation& RECEI)ING AN INBO"ND IDOC '$e initial stat%s of an inbo%nd "Doc is 6F and s%ccessf%l stat%s is !3& Different (alidation steps for inbo%nd "Docs are e4plained belo-: !0: "Doc recei(ed s%ccessf%lly in t$e system 6F: "Doc is ready to be processed by "Doc processing job !3: Application doc%ment created and sa(ed s%ccessf%lly& '$e doc%ment n%mber can be fo%nd by e4panding t$e stat%s node !3
An inbo%nd "Doc goes t$ro%g$ all t$e abo(e stat%ses in re(erse order +!0)6F)!3,& IDOC PROCESSING A"TOM ATIC#IM M EDIATE PROCESSING "n t$is case, "Doc are processed immediately as t$ey generated or added in t$e system& '$e c$ec6 3'ransfer "Doc immediately7 is selected in /%tbo%nd /ptions and 3'rigger "mmediately7 is selected in "nbo%nd /ption& '$ese c$ec6s are generally %sed -$en t$e real time information e4c$ange is necessary bet-een t-o systems&
M AN"A! PROCESSING "Docs can also be man%ally processed %sing t$e '8/D* @D= in SA#& PROCESSING )IA BAC*GRO"ND +OB "Doc processing by bac6gro%nd is t$e most preferred -ay of processing t$e "Docs& 2ollo-ing #rograms are %sed from processing t$e "Docs %sing bac6gro%nd job: ?@DA##01 ) "nbo%nd "Docs ?S*/:'00 ) /%tbo%nd "Docs REPROCESSING IDOCS On the basis of IDoc statuses different programs can be used for reprocessing of failed IDocs. These are given below:
TESTING AND EDITING IDOCS "f an "Doc contains error in t$e data t$en s%c$ "Docs can be edited %sing '8ode D*02 or D*0!& D$en an "Doc is edited t$e original "Doc information+bac6%p, is sa(ed in a Ne- "Doc %nder stat%s 0 +for inbo%nd, ; 33 +for o%tbo%nd,& '$ese "Doc stays in t$e system for reference only and cannot be processed& '$e stat%s of t$e edited "Doc becomes 6< +inbo%nd, and 32 +o%tbo%nd,& '$ese "Docs can t$en be processed %sing @D= transaction or batc$ jobs& Deb%gging of "Docs can be done %sing by copying t$e "Docs %sing '8odeD*1<& D*1< is a test tool for "docs processing& D*1< copies t$e e4isting idoc and creates a ne- "Doc -$ic$ can t$en be modified as per testing needs& '$e ne-ly generated "Doc can also be processed %sing @D= & CONVERTING IDOC STATUS ?eport ??81G"D/8GS*'GS'A':S can be %sed to c$ange t$e stat%s of "Doc& Stat%s c$anges are generally needed to mo(e an "Doc to stat%s 6= > no f%rt$er processing
SEARCHING IDOCS IN SAP TCODE %E'&#%E',- GENERA! SEARC "Docs can be displayed in system (ia '8/D* D*02 and D*0!& "f "Doc n%mber is not 6no-n t$en searc$ can be made on t$e basis of "Doc Date, Direction, @AS"8 'H#*, M*SSAC* 'H#*, and #A?'N*? N:M@*?& #artner n%mber can be fo%nd in t$e /%tp%t Messages of t$e doc%ments&
"Doc searc$ can also be made on t$e basis of "SA or 'ransfer file ?eference&
TCODE %E'.- SEARC ING DATA IN IDOC SEGM ENTS "f -e are loo6ing for specific information -it$in t$e "Docs Segments t$en t$is can be fo%nd %sing '8/D* D*0<& '$is is %sef%l if yo% are searc$ing for a partic%lar information in similar 6ind of "Doc -it$in "Doc segments& 2or e4ample, if yo% -ant to searc$ a partic%lar #%rc$ase /rder n%mber e&g& 100000001 in m%ltiple "Docs -$ic$ lies in Segment *1*DB01 of an "Doc %nder field @*.N?& '$en t$e searc$ can be e4ec%ted in t$e follo-ing manner&
'$o%g$, t$e "Doc fail%re may not be related to any of t$e abo(e mentioned reasons, t$e best -ay to find t$e "Doc error is to compare t$e e4isting "Doc -it$ t$e good e4ample& Cood e4ample "Doc can be easily searc$ed -it$ any of t$e "Doc searc$ met$ods as described abo(e& DOCUMENTATION FOR IDOC TYPES "Doc doc%mentation can be fo%nd %sing '8/D* D*60 and can be $elpf%l to obtain information of t$e "Doc 'ype or its partic%lar segment& "t also pro(ides information s%c$ as mandatory and optional segments, minim%m and ma4im%m n%mber of segments, etc&
GENERAL INFORMATION FOR COMMON IDOC MESSAGE TYPES '$e follo-ing list gi(es t$e @asic 'ype and Message 'ype combination for common idocs
ARCHIVING/DELETION OF IDOCS FROM DATABASE As "Docs gro- older t$ey are arc$i(ed and deleted from t$e database& Arc$i(ed "Docs can be (ie-ed %sing '8/D* SA?" in Ac$ie(e *4plorer %sing arc$i(ing object as "Doc& 2ollo-ing are t$e fe- programs t$at are %sed for arc$i(ing and deletion of "Docs from database&