SAP IDOC's, interfaces and BAPI's
Hi i am new to SD, can anyone give me documentation or reading material for SAP IDOC's, interfaces and BAPI's .
Help would be greatly appreciated.
Thanking you
Hi Reddy,
Very general question, I don't think you will find the answer in one document.
BAPIs are normal function modules, with predefined input and output structures to perform standard business transactions.
IDOCs are standardised interface documents to transfer data.
Once the IDOC is read, it almost always calls a BAPI to perform the business transaction.
Therefore start with reading about BAPIs since you will definately have to master those when starting to work on interfaces.
There are hundreds of BAPIs so best is to start with a specific process, example sales order create or material master create.
Try transaction BAPI, this lists most of the BAPIs and contains excellent documentation.
Thanks for your points,
Filip
Similar Messages
-
Are all RFCs and BAPIs automatically exposed as web services?
Hello,
Our product helps business users exchange data with SAP. We use standard RFCs and BAPIs to communicate with SAP. This is a .NET application although my question is not specific to .NET.
It seems SAP obsolete their .NET connector in near future. The emphasis is on web services. This is a great move. We can simply drop using the .NET connector and start using the web services. However, I have a few doubts:
1. RFCs and BAPIs are automatically exposed for remoting. When the customer installs our application, it just works out of the box. Customers do not have to make any configuration changes to SAP to expose RFCs and BAPIs.
In the new world, are all RFCs and BAPIs automatically exposed as web services or one has to go through each RFC/BAPI and expose it explicitly?
2. Is there a comprehensive WSDL schema available anywhere for all the RFCs/BAPIs?
3. Are there any other web services (besides RFCs/BAPIs) that SAP Netweaver exposes? Where can I get more information?
Thank you in advance for your help.
Regards,
PradeepDarryl,
Thank you for your help or at least trying to help me. However, you left me with more questions than answers:-(.
1. "Old" does not mean "bad." Each RFC/BAPI serves a specific function. If some RFC is being obsoleted, there must be a replacement documented somewhere. Is there one?
2. I can look into SE80 (and other transactions) to see what is exposed. However, what I need to understand is what is SAP's stance on exposing standard web services.
Can others please share your thoughts?
Regards,
Pradeep -
SAP HR related IDOC and BAPI with description
Hi,
This is regarding SAP HR. Here I need some help from you guys.
It would be great if you could provide list of SAP HR related IDOC and BAPI with description.
If you have any document then please forward same to [email protected]
Thanks,
Sunil Bhavsarhello Sunil ,
to find BAPIs realted to HR,use transaction BAPI and there u have to look for personnel management,time etc ,these all are HR related.
HR related Idocs shud be having Message type like HR*.
hope thts wht u needed.
amit -
Hi Friends,
Can any one tell me what is the difference between SAP XML and SAP IDOC XML?
Regards,
KumarHi,
Various XML standards are supported by SAP. It presents data according to an SAP specification either in IDoc-XML or BAPI-XML, the SAP XML extensions for IDocs and BAPIs. It uses preprepared representations of the SAP interfaces to XML Commerce Business Language (xCBL) messages to facilitate communication with the MarketSet marketplaces.
Messages are stored in a generic envelope. This envelope contains metadata that controls, among other things, the routing of the messages. SAP supports two different standards for these envelopes - Microsoft BizTalk and a format similar to Simple Object Access Protocol (SOAP). Packaging SAP BAPIs in a standard envelope offers several advantages, including direct processing of messages by external applications and a uniform system of error handling.
Regards'
Aashish Sinha
PS : reward points if helpful -
hi gurus,
what is the difference between bapi and idoc?Hi,
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
BAPI
BAPI stands for Business API(Application Program Interface).
A BAPI is remotely enabled function module
ie it can be invoked from remote programs like standalone JAVA programs, web interface etc..
You can make your function module remotely enabled in attributes of Function module but
A BAPI are standard SAP function modules provided by SAP for remote access.
Also they are part of Businees Objest Repository(BOR).
BAPI are RFC enabled function modules. the difference between RFc and BAPI are business objects.
You create business objects and those are then registered in your BOR (Business Object Repository)
which can be accessed outside the SAP system by using some other applications (Non-SAP) such as VB or JAVA.
In this case u only specify the business object and its method from external system
in BAPI there is no direct system call. while RFC are direct system call.
Some BAPIs provide basic functions and can be used for most SAP business object types.
These BAPIs should be implemented the same for all business object types.
Standardized BAPIs are easier to use and prevent users having to deal with a number of different BAPIs.
Whenever possible, a standardized BAPI must be used in preference to an individual BAPI.
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
http://www.sapgenie.com/abap/bapi/example.htm
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCMIDAPII/CABFAAPIINTRO.pdf
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/CABFABAPIREF/CABFABAPIPG.pdf
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCFESDE8/BCFESDE8.pdf
Regards,
Priyanka. -
Different between ALE, IDOC and BAPI?
Hi Folks,
What is the different between ALE, IDOC and BAPI? and send me the following steps?
Thanks in advance.
SivaHi,
please read the below lines.
ALE
ALE is SAP proprietary technology that enables data communications between two or more SAP R/3 systems and/or R/3 and external systems. When a new enterprise resource planning (ERP) solution such as R/3 is implemented, companies have to interface the ERP system with legacy systems or other ERP systems.
ALE provides intelligent mechanisms where by clients can achieve integration as well as distribution of applications and data.
ALE technology facilitates rapid application prototyping and application interface development, thus reducing implementation time.
The ALE components are inherently integrated with SAP applications and are robust, leading to a highly reliable system.
ALE comes with application distribution/integration scenarios as well as a set of tools, programs, data definitions, and methodologies that you can easily configure to get an interface up and running.
BAPI
BAPIs provide a stable, standardized method for third-party applications and components to integrate into the Business Framework. These interfaces are being specified as part of SAP's initiative with customers, partners and leading standards organizations. Also, SAP has implemented the emerging Object Application Group (OAG) specifications with BAPIs.
Pros and Cons for both BAPI and Call Transaction
BAPI
One of the big plusses for BAPIs is that the interface and function are not supposed to change. This is a big plus when you do upgrades or hot packs because the transaction can change (format, required inputs etc) which means you then need to update the call transaction.
Some of the BAPIs are better documented and easier to use than others.
You usually need to perform the BAPI that actually does the COMMIT after you call your BAPI.
The Program coding for calling a BAPI is usually cleaner than setting up the screen flow etc for the Call Transaction.
You don't need to worry about special data circumstances interrupting the normal data flow of the screens and causing errors because of that.
BAPIs probably have better performance since they don't do the screen flow processing.
In general if the BAPI exists for the transaction you want to perform and you can figure out how to use it the BAPI is probably the best way to go.
This is just from my experience working with both BAPI and Call Transaction. I have had some very good successes with BAPIs, but very occasionally found that I could not get the BAPI to perform the update I needed.
Regards,
Anki Reddy. -
Hi Experts,
I doing Idoc to file scenario, my question is when we go ahead to use IDOC or BAPI. please give me some basic understanding of when and how you use IDoc?
When to use BAPI?
Please provide some links of document
Regards,
VenkateshHi,
when u want asynchronous communication u have to use IDOCS
when u want to use synchrnous communciation and want to communicate external langauges u have to use BAPIS
For File to IDOC,
in R/3
1.create rfc connection using sm59
2.create Logical sys using bd54
3.create port using we21
4.create partner profile using we20
in xi
1.create rfc connection using sm59
2.create Logical sys using bd54
3.create port using IDX!
for IDOC to FIle
R/3 side
1.create rfc connection using sm59
2.create Logical sys using bd54
3.create port using we21
4.create partner profile using we20
5.distribute busynessmodel using bd64
for xi side
1.create rfc connection using sm59
2.create Logical sys using bd54
3.create port using IDX!
4.create partner profile using we20
ALE configuration for pushing idocs from SAP to XI
/people/swaroopa.vishwanath/blog/2007/01/22/ale-configuration-for-pushing-idocs-from-sap-to-xi
IDOC testing using WE19
/people/sameer.shadab/blog/2005/07/25/reposting-idocs-instead-of-recreating--for-testing-purpose-xi
File To IDOC - Part1 (SLD and Design):
https://www.sdn.sap.com/irj/sdn/wiki?path=/display/profile/2007/05/11/fileToIDOC&
File To IDOC - Part2 (Configuration):
https://www.sdn.sap.com/irj/sdn/wiki?path=/display/profile/2007/05/11/fileToIDOC-Part2+(Configuration)&
File To IDOC - Part3 (Steps required in XI and R3):
https://www.sdn.sap.com/irj/sdn/wiki?path=/display/profile/2007/05/11/fileToIDOC-Part3(StepsrequiredinXIandR3)&
SAP R/3
R/3 to XI
1) RFC Destination (SM59)
a) Choose create.
b) Specify the name of the RFC destination
c) Select connection type as 3 and save
d) In the technical settings tab enter the details SAP SID/URL and system number#.
e) Enter the Gateway host as same details above SID/URL.
f) Gateway service is 3300+system number#.
g) In the Logon /Security tab, enter the client user & Password details of Destination system.
h) Test the connection and remote logon.
2) Create Port (We21)
a) First Select Transactional RFC and then click create button
b) Enter the destination port name as SAP+SID (The starting char should be SAP)
c) Enter the destination client.
d) Enter the RFC Destination created in SAP R/3 towards other system.
e) Save
3) Create Partner Profile (WE20)
a) Create New
b) Create the Partner no. name as same the logical system name of the destination system.
c) Select Partner type LS
d) Enter details for Type: US/USER, Agent, and Lang.
e) Click on the + button to select the message type.
f) Select Partner no. and LS which ever create above.
g) Select Message type
h) Select Process code related to the Message type.
I) save.
XI to R/3
1) RFC Destination (SM59)
a) Choose create.
b) Specify the name of the RFC destination
c) Select connection type as 3 and save
d) In the technical settings tab enter the details SAP SID/URL and system number#.
e) Enter the Gateway host as same details above SID/URL.
f) Gateway service is 3300+system number#.
g) In the Logon /Security tab, enter the client user & Password details of Destination system.
h) Test the connection and remote logon.
2) Create Port (IDX1) ( Create port to get IDOC Meta data from sender system)
a) Select create new button
b) Enter the port name as SAP+SID (The starting char should be SAP)
c) Enter the destination client.
d) Enter the RFC Destination created in SAP R/3 towards other system.
e) Save
3) Load Meta Data for IDOC (IDX2) (To maintain IDOC Metadata, it is needed by XI because XI needs to construct IDOC-XML from IDOC. It is not needed by any sap system).
a) Create new
b) IDOC Message Type
c) Enter port created in IDX1.
Edited by: krishnachitanya siddavattam on Mar 7, 2008 5:37 AM -
Interface and SAP system issue
hi Experts
Scenario : We have External system (Interface) and SAP system. GR usually done in External system for stock materials PO , then it will transfered and updated in SAP system thro IDOC daily bases.
And then in SAP ,Zreport is there to find out any discrepancy in stocks(Between Extrnl and SAP system).
Problem: They had done GR in external system and they had transferred to SAP throu IDOC. (This usually bieing processed for 1000 of materials.
Now for some materials its showing discrepancy error in Zreport eventhough the SAP system got updated on stocks throu IDOC from external system. ( Not for all materials only for very few case).
So any experts has come across this kind situation in thier experiance .. how to solve this ??
Note : If any Bacth job is being done in background in SAP after updation the stocks in SAP system throu IDOC. How to find out the batch job in back groud ???
Thankshii
Thanks for ur response.
I did't mention in previous message, IDOC got posted in SAP system perfectly without any error . (I have cross checked IDOC).
But after idoc posting in SAP system , the Zreport getting updated , so here is my confusion and doubt.
Where there can be any system in background to update stocks in Zreport from SAP system. Is it possible to find from our side batch job has being processed between standard SAP and Zreport .
There is any way to find ???
Thanks -
Data transfer - ALE or idocs and bapis
hi ,
thank you guys for the support.
i am into a data migration project.
i need the initial setup for the idocs and bapis.
i dont know anything about these so can u send me the process for the setup and the data migration process too with idocs and bapis.
i didnt understand when they asked me if we can data migrate with a ALE, is that the same as using idocs and bapis or is it a different approach.
u can send me at any inofrmation connected to my eamil addr.
i would really appreciate that.
thank you.have a look at the links
hope they will help u
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
ALE/ IDOC/ XML
http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
http://www.thespot4sap.com/Articles/SAP_XML_Business_Integration.asp
http://help.sap.com/saphelp_srm30/helpdata/en/72/0fe1385bed2815e10000000a114084/content.htm
IDOC Convertion
/people/kevin.wilson2/blog/2005/12/07/changing-fields-in-an-idoc-segment
links on bapis
BAPI-step by step
http://www.sapgenie.com/abap/bapi/example.htm
list of all bapis
http://www.planetsap.com/LIST_ALL_BAPIs.htm
for BAPI's
http://www.sappoint.com/abap/bapiintro.pdf
http://www.sappoint.com/abap/bapiprg.pdf
http://www.sappoint.com/abap/bapiactx.pdf
http://www.sappoint.com/abap/bapilst.pdf
http://www.sappoint.com/abap/bapiexer.pdf
http://service.sap.com/ale
http://service.sap.com/bapi
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCMIDAPII/CABFAAPIINTRO.pdf
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/CABFABAPIREF/CABFABAPIPG.pdf
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCFESDE8/BCFESDE8.pdf
http://www.planetsap.com/Bapi_main_page.htm
http://www.topxml.com/sap/sap_idoc_xml.asp
http://www.sapdevelopment.co.uk/
http://www.sapdevelopment.co.uk/java/jco/bapi_jco.pdf
http://www.erpgenie.com/abap/bapi/example.htm
http://searchsap.techtarget.com/originalContent/0,289142,sid21_gci948835,00.html
http://www.sap-img.com/abap/bapi-step-by-step-guidance.htm
http://www.allsaplinks.com/bapi_example.html
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCMIDAPII/CABFAAPIINTRO.pdf
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/CABFABAPIREF/CABFABAPIPG.pdf
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCFESDE8/BCFESDE8.pdf
For More Info check this thread.
https://forums.sdn.sap.com/click.jspa?searchID=2721366&messageID=1761503
Do reward if helpful -
Data migration ALE or idocs and bapis
hi ,
thank you guys for the support.
i am into a data migration project.
i need the initial setup for the idocs and bapis.
i dont know anything about these so can u send me the process for the setup and the data migration process too with idocs and bapis.
i didnt understand when they asked me if we can data migrate with a ALE, is that the same as using idocs and bapis or is it a different approach.
u can send me at any inofrmation connected to my eamil addr.
i would really appreciate that.
thank you.Hi,
Outbound:
Step 1. Application document is created when transaction is saved.
2. Message control is invoked.
3. Messages are processed by system.
4. Messages are Edited (if desired).
5. Output (ALE / EDI) is checked
6. Validate against Message control record from Partner Profile
7. Application Document is saved.
8. Entry NAST table is created for every selected output program
along with Medium & Timing.
9. Check for Process Immediately .
If (yes)
Determine Processing Program from TNAPR Table.
ELSE
Execute RSNASTED Program.
10. Read Partner Profile to determine Process Code.
11. Process Code points to the Function Module & Invoked.
12. IDoc is generated.
13. Check for ALE Request.
if (Yes)
Perform Filters, Conversions, Version Changes etc.
Else.
IDoc is stored in DATABASE.
INBOUND:
Step 1. EDI Subsystem creates an IDoc file from EDI Messages
2. Subsystem calls Functional Module EDI_DATA_INCOMING from startRFC program.
3. Data in Control Record is validate against the Partner Profile.
4. IDoc is generated in Database and syntax check is carried out.
5. IDoc file is deleted once file read.
6. Event PROCESSSTATE REACHED is triggered in Idoc Object Workflow.
7. Check for Process Immediately.
If NO
Execute RBDAPP01 Program
Else
Read Process Code from Partner Profile
Process Code Points to Function Module
Application Document Posted.
further help:
check url
http://www.sappoint.com/abap/ale.pdf
http://www.sappoint.com/abap/ale2.pdf
http://www.sapgenie.com/ale/configuration.htm
http://www.sappoint.com/abap/ale.pdf
http://www.sappoint.com/abap/ale2.pdf
http://www.sapdevelopment.co.uk/training
And also u can get lots of inof from the below link.
http://www.sapgenie.com/ale/why_ale.htm
Just follow the procedure
Sending System(Outbound ALE Process)
Tcode SALE ? for
a) Define Logical System
b) Assign Client to Logical System
Tcode SM59-RFC Destination
Tcode BD64 ? Create Model View
Tcode BD82 ? Generate partner Profiles & Create Ports
Tcode BD64 ? Distribute the Model view
Message Type MATMAS
Tcode BD10 ? Send Material Data
Tcode WE05 ? Idoc List for watching any Errors
Receiving System(Inbound ALE )
Tcode SALE ? for
a) Define Logical System
b) Assign Client to Logical System
Tcode SM59-RFC Destination
Tcode BD64 ? Check for Model view whether it has distributed or not
Tcode BD82 -- Generate partner Profiles & Create Ports
Tcode BD11 Getting Material Data
Tcode WE05 ? Idoc List for inbound status codes
ALE IDOC Steps
Sending System(Outbound ALE Process)
Tcode SALE ?3 for
a) Define Logical System
b) Assign Client to Logical System
Tcode SM59-RFC Destination
Tcode BD64 !V Create Model View
Tcode BD82 !V Generate partner Profiles & Create Ports
Tcode BD64 !V Distribute the Model view
This is Receiving system Settings
Receiving System(Inbound ALE )
Tcode SALE ?3 for
a) Define Logical System
b) Assign Client to Logical System
Tcode SM59-RFC Destination
Tcode BD64 !V Check for Model view whether it has distributed or not
Tcode BD82 -- Generate partner Profiles & Create Ports
Tcode BD11 Getting Material Data
Tcode WE05 !V Idoc List for inbound status codes
Message Type MATMAS
Tcode BD10 !V Send Material Data
Tcode WE05 ( )
The BAPIs Create() and CreateFromData() create an instance of an SAP business object type, for example, a purchase order. These BAPIs are class methods.
Change( )
The BAPI Change() changes an existing instance of an SAP business object type, for example, a purchase order. The BAPI Change () is an instance method.
Delete( ) and Undelete( ) The BAPI Delete() deletes an instance of an SAP business object type from the database or sets a deletion flag.
The BAPI Undelete() removes a deletion flag. These BAPIs are instance methods.
Cancel ( ) Unlike the BAPI Delete(), the BAPI Cancel() cancels an instance of a business object type. The instance to be cancelled remains in the database and an additional instance is created and this is the one that is actually canceled. The Cancel() BAPI is an instance method.
Add<subobject> ( ) and Remove<subobject> ( ) The BAPI Add<subobject> adds a subobject to an existing object inst! ance and the BAPI and Remove<subobject> removes a subobject from an object instance. These BAPIs are instance methods.
BAPI-step by step
http://www.sapgenie.com/abap/bapi/example.htm
just refer to the link below
http://www.sapmaterial.com/?gclid=CN322K28t4sCFQ-WbgodSGbK2g
list of all bapis
http://www.planetsap.com/LIST_ALL_BAPIs.htm
for BAPI's
http://www.sappoint.com/abap/bapiintro.pdf
http://www.sappoint.com/abap/bapiprg.pdf
http://www.sappoint.com/abap/bapiactx.pdf
http://www.sappoint.com/abap/bapilst.pdf
http://www.sappoint.com/abap/bapiexer.pdf
http://service.sap.com/ale
http://service.sap.com/bapi
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCMIDAPII/CABFAAPIINTRO.pdf
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/CABFABAPIREF/CABFABAPIPG.pdf
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCFESDE8/BCFESDE8.pdf
http://www.planetsap.com/Bapi_main_page.htm
http://www.topxml.com/sap/sap_idoc_xml.asp
http://www.sapdevelopment.co.uk/
http://www.sapdevelopment.co.uk/java/jco/bapi_jco.pdf
Also refer to the following links..
www.sap-img.com/bapi.htm
www.sap-img.com/abap/bapi-conventions.htm
www.planetsap.com/Bapi_main_page.htm
www.sapgenie.com/abap/bapi/index.htm
Checkout !!
http://searchsap.techtarget.com/originalContent/0,289142,sid21_gci948835,00.html
http://techrepublic.com.com/5100-6329-1051160.html#
Example Code
U need to give the step_nr, item_nr, cond_count and cond_type so the correct conditon will be updated. If no condition exists for the given parameters, a new condition will be created.
U can find these parameters for a particular condition type in table KONV.
*& Form saveTransactionJOCR
text
--> p1 text
<-- p2 text
FORM saveTransactionJOCR .
data: salesdocument like BAPIVBELN-VBELN,
order_header_inx like bapisdh1x,
order_header_in like bapisdh1,
return type standard table of bapiret2 with header line,
conditions_in type standard table of bapicond with header line,
conditions_inx type standard table of bapicondx with header line,
logic_switch like BAPISDLS,
step_nr like conditions_in-cond_st_no,
item_nr like conditions_in-itm_number,
cond_count like conditions_in-cond_count,
cond_type like conditions_in-cond_type.
salesdocument = wa_order_information-VBELN.
LOGIC_SWITCH-COND_HANDL = 'X'.
order_header_inx-updateflag = 'U'.
conditions
clear conditions_in[].
clear conditions_inx[].
clear: step_nr,
item_nr,
cond_count,
cond_type.
step_nr = '710'.
item_nr = '000000'.
cond_count = '01'.
cond_type = 'ZCP2'.
CONDITIONS_IN-ITM_NUMBER = item_nr.
conditions_in-cond_st_no = step_nr.
CONDITIONS_IN-COND_COUNT = cond_count.
CONDITIONS_IN-COND_TYPE = cond_type.
CONDITIONS_IN-COND_VALUE = 666.
CONDITIONS_IN-CURRENCY = 'EUR'.
append conditions_in.
CONDITIONS_INX-ITM_NUMBER = item_nr.
conditions_inx-cond_st_no = step_nr.
CONDITIONS_INX-COND_COUNT = cond_count.
CONDITIONS_INX-COND_TYPE = cond_type.
CONDITIONS_INX-UPDATEFLAG = 'U'.
CONDITIONS_INX-COND_VALUE = 'X'.
CONDITIONS_INX-CURRENCY = 'X'.
append conditions_inx.
CALL FUNCTION 'BAPI_SALESORDER_CHANGE'
EXPORTING
SALESDOCUMENT = salesdocument
ORDER_HEADER_IN = order_header_in
ORDER_HEADER_INX = order_header_inx
LOGIC_SWITCH = logic_switch
TABLES
RETURN = return
CONDITIONS_IN = conditions_in
CONDITIONS_INX = conditions_inx
if return-type ne 'E'.
commit work and wait.
endif.
ENDFORM. " saveTransactionJOCR
Bdc to Bapi
The steps to be followed are :
1. Find out the relevant BAPI (BAPI_SALESORDER_CHANGE for VA02).
for VA01 use BAPI_SALESORDER_CREATEFROMDAT2
2. Create a Z program and call the BAPi (same as a Funtion module call).
2. Now, if you see this BAPi, it has
-> Importing structures.
eg: SALESDOCUMENT: this will take the Sales order header data as input.
-> Tables parameters:
eg: ORDER_ITEM_IN: this will take the line item data as input.
Note :
Only specify fields that should be changed
Select these fields by entering an X in the checkboxes
Enter a U in the UPDATEFLAG field
Always specify key fields when changing the data, including in the checkboxes
The configuration is an exception here. If this needs to be changed, you need to complete it again fully.
Maintain quantities and dates in the schedule line data
Possible UPDATEFLAGS:
U = change
D = delete
I = add
Example
1. Delete the whole order
2. Delete order items
3. Change the order
4. Change the configuration
Notes
1. Minimum entry:
You must enter the order number in the SALESDOCUMENT structure.
You must always enter key fields for changes.
You must always specify the update indicator in the ORDER_HEADER_INX.
2. Commit control:
The BAPI does not run a database Commit, which means that the application must trigger the Commit so that the changes are read to the database. To do this, use the BAPI_TRANSACTION_COMMIT BAPI.
For further details... refer to the Function Module documentation for the BAPi.
Bapi to VB(Visual Basic)
Long back I had used the following flow structure to acheive the same.
Report -> SM59 RFC destination -> COM4ABAP -> VB.exe
my report uses the rfc destination to create a COM session with com4abap. com4abap calls the vb.exe and manages the flow of data between sap and vb exe.
You need to have com4abap.exe
If com4abap is installed you will find it in sapgui installatin directory , C:\Program Files\SAPpc\sapgui\RFCSDK\com4abap.
else refer OSS note 419822 for installation of com4abap
after making the settings in com4abap to point to the vb program and setting up rfc destination in sm59 to point to com4abap session , you can use the following function modules to call the vb code.
for setting up com4abap and rfc destination please refer to the documentation for com4abap.
Invoke NEW DCOM session
call function 'BEGIN_COM_SESSION'
exporting
service_dest = service_dest "(this will be a RFC destination created in SM59)
importing
worker_dest = worker_dest
exceptions
connect_to_dcom_service_failed = 1
connect_to_dcom_worker_failed = 2
others = 3.
call function 'create_com_instance' destination worker_dest
exporting
clsid = g_c_clsid
typelib = g_c_typelib
importing
instid = g_f_oid
exceptions
communication_failure = 1 message g_f_msg
system_failure = 2 message g_f_msg
invalid_instance_id = 3
others = 4.
call function 'com_invoke' destination worker_dest
exporting
%instid = g_f_oid
%method = 'UpdatePDF'
sntemp = g_v_const_filent
snsysid = sy-sysid
snflag = 'N'
tables
rssaptable = g_t_pdfdetail1
%return = g_t_pdfdetail1 "t_test
exceptions
communication_failure = 1 message g_f_msg
system_failure = 2 message g_f_msg
invalid_instance_id = 3
others = 4.
then close the com session , using
FM delete_com_instance
FM END_COM_SESSION
Thanks and regards,
Sarada -
How to tranfer IDOC and BAPI through LSMW
Hi friends,
I need documents regarding processing of IDOC and BAPi through LSMW,
Thanks In advance,
Regards,
charanHi
LSMW-BAPI
Step-by-Step Guide for using BAPI in LSMW
Note! The screen prints in this article are from ECC 5.0. They may differ slightly in other versions.
Introduction:
This document details the usage of BAPI in LSMW. We have used the example of migration of the purchase order data into SAP.
Pre-requisites:
It is assumed that the reader of this article has the minimum knowledge required on the Business Object, BAPI, Message Types and IDoc Types.
Step-by-Step Procedure:
Details of the BAPI used in this scenario:
Business Object: BUS2012
Method: CreateFromData
Details of Message Type and Basic IDoc Type:
Message Type: PORDCR
Basic IDoc Type: PORDCR02
Lets have a look at the BAPI first, before proceeding to the LSMW:
1. Go to Transaction BAPI
2. Click on Search Button
3. Enter the value BUS2012 and select Obj.type(Technical Object Name
4. Press ENTER
5. Following screen appears:
6. On the left side of the screen, Expand the PurchaseOrder.
7. Select PurchaseOrder and double-click on the same for details.
Building LSMW using BAPI:
1. Go to Transaction LSMW.
2. Enter the Project, Subproject and Object information and click on CREATE.
3. Enter the descriptions for Project, Subproject and Object.
4. Now select Settings à IDoc Inbound Processing
5. IDoc Inbound Processing screen appears. Enter the required details as shown below:
6. Click on Activate IDoc Inbound Processing.
7. Click on Yes when prompted for Activate IDoc Inbound?
8. Hit on Back to return to the main screen.
9. Click on Continue (F8). Following Screen appears:
10. Select the Step 1 Maintain Object Attributes and select Execute.
11. Select the radio button Business Object Method and enter the following details:
Business Object: BUS2012
Method: CreateFromData
Hit ENTER
12. Save and click on BACK button. Following information message is displayed.
13. Now select step 2 Maintain Source Structures and click Execute.
14. In this step, we need to maintain the source structure. In our example, lets consider the example of a file with 2 structures Head and Item data as shown below:
Click on Create and name the source structure as HEADERDATA. Now select HEADERDATA and click on Create again to create the child structure. Following popup appears:
Select Lower Level and click on Continue. Enter the Item data structure name.
Click Save and hit BACK button to go to the main screen.
15. Select step 3 Maintain Source Fields and hit execute.
16. Enter the fields as shown below:
17. Click SAVE and return to main screen.
18. Select step 4 Maintain Structure Relations and click Execute.
Select E1PORDCR and click on CREATE RelationShip. Following screen appears:
Select HEADERDATA and hit ENTER
Similarly do the same for the structure E1BPEKKOA, E1BPEKPOC and E1BPPEKET.
Click Save and return to main screen.
19. Select the step Maintain Field Mapping and Conversion Rules and click on execute. Maintain the Field Mapping as seen below:
20. Select step 7 Maintain Source Files and provide the link for the test file created. (Create a test file with the same structure as defined earlier).
Save and return to main screen.
21. Select the step Assign Files and click on Execute.
Assign the file provided to the source structure. Here the same file is provided for both the structures.
Save and return to the main screen.
22. Select the step Read Data and click on Execute.
Click on Execute.
Return to the main screen.
23. Select the step Display read data and click on execute.
Click on the structure name to get the field level values.
24. Return to main screen and now select Convert Data.
25. Return to the main screen and select Display Converted data.
26. Return to main screen and select Start IDoc generation.
27. Now select the step Start IDoc Processing on the main screen.
28. Return to main screen and click on Create IDoc overview. Here the data record and status records of the IDoc could be viewed
It is given in screen shot.
http://www.****************
LSMW-IDOC
see this and do accordingly
http://esnips.com/doc/1cd73c19-4263-42a4-9d6f-ac5487b0ebcb/LSMW-with-Idocs.ppt
Go through the steps
Hi please go through the following steps for IDOC method
Step 1. Run the transaction ( /nlsmw ) you will reach to the screen
Here you have to specify
Project : 060_BUS_TRANS
Subproject : SERVICE_TICKET
Object : SRV_TICKET_ZSVT
click on the execute button .you will reach the screen :
The screen shows the 15 steps to Run the lsmw
Step 2) select the first step ( Maintain object attributes) and click the execute button.After clicking on the execute button you will reach at. the screen
Here you have to specify ( MEssage type and basic type)
click on the BACK button
Step 3) select the 2nd step ( Maintain source structures) and click the execute button
Here you have to specify the source structures.
Step 4) Select the 3rd step ( Maintain source fields) and click on the execute button :
Here you have to specify the fields present in the source structure
Step 5) select the 4th step ( Maintain structure relationship ) and click on the execute button :
Here you have to specify relationship between source and target structures
Step 6) select the 5th step ( Maintain field mapping ) and click on the exécute button :
Here you have to map the fields between source and target structure. Also you have to apply conversion rules here if any
STEP 7) select the 6th step and click on the exécute button
Here you can define any fixed value or user define routines
Step 8) select the 7th step ( Specify files) and click on the exécute button :
At This screen we have to specify the files for This we should be in change mode .So please click on the button shown in the above screen. After clicking on This button you will be in change mode and will be able to specify the files :
Step 9) select the 8th step ( Assign files) and click on the exécute button
For assigning files yoy should be in change mode do the same thing click on the button as shown in the above screen :
Then assign the files to different structures.
Step 10 ) select the 9th step ( Read Data) and click on the exécute button :
After clicking on the exécute button you will reach to the screen
Again click on the exécute button . After clicking on the exécute button you will reach to the next screen
Here you will see data is read.
Step 11) select the 10th step ( Display read data) and click on the exécute button :
Here you can see your test data present in test files assign to source sturcture
Step 12 ) select the 11th step ( Convert data) and click on the exécute button :
After clicking on the exécute button you will reach to the screen
Click on the exécute button as shown on the : After click on the exécute button you will reach to the next screen
Data is converted
Step 12th ( Display converted data is same as Display read data )
Step 13 ) select the 13th step ( Start idoc generation) and click on the exécute
button :
At this step Idoc is generated using converted data
Step 14) select the 14th step ( Start idoc processing ) and click on the exécute button :
After clicking on the exécute button you will reach to the screen :
And then click on the exécute button : After clicking on the exécute button you will reach to the final processive screen
If data is processed correctly you will see ( 53 Status message with green sign)
http://esnips.com/doc/1cd73c19-4263-42a4-9d6f-ac5487b0ebcb/LSMW-with-Idocs.ppt
http://esnips.com/doc/ef04c89f-f3a2-473c-beee-6db5bb3dbb0e/LSMW-with-BAPI.ppt
Reward points for useful Answers
Regards
Anji -
Hello,
Could you tell me please what are the standard Idocs and Standard Bapis available.
If possible could you tell me why do we use those standard Idocs and Bapis.
Thank youHi Jyotsna,
BAPI:
http://help.sap.com/saphelp_nw04/helpdata/en/3e/ecf226942511d2ad4b080009b0fb56/frameset.htm
or
Standard BAPI:
Look at the Transaction BAPI.
T-code: BAPI
Go to the T-Code se37 -
Type BAP* then click F4.
You can find the Standard IDOC's on T- Code in : WE60
check the below link for the list of idocs
http://www.erpgenie.com/sapedi/idoc_interface.htm
Thanks,
Satya Kumar
Reward points if it is useful.
Edited by: SATYA KUMAR AKKARABOYANA on Apr 17, 2008 2:28 PM -
Using the Open Catalog Interface (OCI) between SAP-ECC 6.0 and SAP-MDM
Hello ASUG Community.
I'm working on an SAP-MDM project where we will configure the OCI interface between SAP-ECC 6.0 and SAP-MDM. The business requirement will be to punch out to SAP-MDM's catalog from SAP-ECC for expensed items (e.g., no material master record exists in SAP-ECC).
The data that will be returned to SAP-ECC will be purchase price info, material group, short text, & our global SAP-MDM item number.
The question I've been trying to design around is "where to store the SAP-MDM item number"?
I've looked into creating a custom filed on EKPO but now feel that a configured text field will be the best solution from an SAP-ECC point of view (less effort on the SAP-ECC side from a development perspective, no need to regenerate the EKPO table, etc.).
The question I'd like to pose to ASUG is.... Does anyone have experience or an opinion to offer using this functionality? It seems that I will have to code in a user exit or BAdi to insure that the SAP-MDM item numbers are returned to the appropriate text field on my POu2019s. Or can this be done using the standard OCI functionality?
I found OSS note 1347656 which references BADI "ME_CATALOG_INTERFACE" but I'm not sure if this right path to go down or if this would be the correct place to code non-conforming OCI mapping requiremetns.
Any insight would be most appreciated.
Thanks. Sincerely,
Rich WortmannI would suggest you create a new field for this as you may require thois going forward for reporting as well. Text fields are difficult to report.
Sorry not sure about the BADI to use. -
Interfacing between SAP ECC 6.0 and Lotus Notes
Hello Guru's,
I have a requirement where I need to catch billing document number from Lotus notes interface and send related information back to it.
Agreed approach to hadle this is using webservices.
Could you please guide me initial steps how to do it?
From SAP side, i have created RFC enabled function module and created Webservices from Menu path
utilities -> More Utilities -> Create Webservice -> From function module.
Any help on this topic would be very much appreciated.
ThanksHi Pankaj,
Your RFC-enabled FM on SAP side, which you've deployed as a wS is supposed to receive billing document numbers and return info related to those billing documents.
You just have to call this WS in Lotus Notes and take the returned info to process/display in Lotus Notes.
So you're already on the right track. What else do you want to know, please feel free to ask?
Cheers,
Anirut W. -
PPDS: I have a setup matrix in SAP ECC 6.0, and want to transfer the same to APO using Core Interface. Has anyone done it before?
Hi Subhash,
Please open this link to see the details:
http://help.sap.com/saphelp_scm70/helpdata/EN/89/bd3e42ce98033be10000000a1550b0/frameset.htm
You perform the data transfer in the following sequence:
Plant
Setup groups
Work centers
Routings
You check the setup groups in SAP APO.
You create the setup matrixes in SAP SCM.
Thanks, Marius
Maybe you are looking for
-
HT1459 my serial number is not visible?
my ipod is really scrached up and its not visible?
-
I am working through the guide on JMF, but one of the examples is giving me problems. The lines of code are as follows: Processor processor = null; try processor = Manager.createProcessor(ml); catch (IOException e) System.exit(-1); catch (NoP
-
How to set my own Default Css.
Hi, I'm able to Change the CSS on selection of SelectOneChoice and binding to value to adf config file. but initialy getting the ADF default CSS,How can set my one of my CSS file as Default. IDE: JDeveloper 10.1.3.2 Please Suggest me. Thanking You, B
-
It has a box that pops up saying: "Sign in to [email protected] to update applications for that account." Thats not my email and I dont know whos it is. I bought Facetime with my Apple ID email.
-
Why doesn't Lightroom update from the CC App?
With every new update, I don't get it as "updatable" from the CC App; but as soon as I start LR, it asks for an update. I have then to "install" it again from the CC App until next update where the procedure repeats then...