VC and BAPI table
Hello
I have BAPI with table parameter. This parameter in an input structure but VC define it as output parameter (When I drag and drop this model).
Could you help me how to solve this problem?
Hi
If you right click on the port itself you can then use the flip port functionality to change the port to an input. Please be sure you are using SP9 as it supports tables as inputs.
Jarrod Williams
Similar Messages
-
BAPI FOR Deleting a Schedule Line Item from EKES and EKET tables
Dear All,
I would like to for deleting one of the line item from EKES (Po Confirmation ) and the respective line item from the EKET(PO Schedule Line Item Table).
Assume that am allowing the user to select the lineitem from zprogram screen and collecting the PO and Its LIne Item details in an internal table.
Can i Use
<b>BAPI_PO_Change</b> , if so , can anybody tell me the steps to follow to use this bapi for deleting the PO lineItems, since i m going to try BAPI for First time.
pls help me out
Message was edited by: Raja K.PHi raja ,
loop at iekko1.
w_index = sy-tabix.
item-po_item = itemx-po_item = iekko1-ebelp.
item-quantity = iekko1-mng01.
itemx-quantity = iekko1-mng01.
if iekko1-wamng = iekko1-wemng.
itemx-no_more_gr = item-no_more_gr = 'X'.
else.
itemx-no_more_gr = item-no_more_gr = ''.
endif.
append item.
append itemx.
clear return[].
call function 'BAPI_PO_CHANGE'
exporting
purchaseorder = iekko1-ebeln
tables
return = return
poitem = item
poitemx = itemx.
if return[] is initial.
commit work and wait.
call function 'DEQUEUE_ALL'.
search for deletion fields which u have to mark 'X'.
before calling this BAPi u have to lock the PO by using ENQUEUE.
<b>
FU BAPI_PO_CHANGE
Text
Change purchase order
Functionality
Function module BAPI_PO_CHANGE enables you to change purchase orders. The Change method uses the technology behind the online transaction ME22N.
Alternatively, the IDoc type PORDCH1 is available. The data from this IDoc populates the interface parameters of the function module BAPI_PO_CHANGE.
Functionality in Detail
Authorization
When you create (activity 02) an Enjoy purchase order, the following authorization objects are checked:
M_BEST_BSA (document type in PO)
M_BEST_EKG (purchasing group in PO)
M_BEST_EKO (purchasing organization in PO)
M_BEST_WRK (plant in PO)
Controlling adoption of field values via X bar
For most tables, you can use your own parameters in the associated X bar (e.g. PoItemX) to determine whether fields are to be set initial, values inserted via the interface, or default values adopted from Customizing or master records, etc. (for example, it is not mandatory to adopt the material group from an underlying requisition - you can change it with the BAPI).
Transfer
Purchase order number
The PurchaseOrder field uniquely identifies a purchase order. This field must be populated in order to carry out the Change method.
Header data
The header data of the Enjoy purchase order is transferred in table PoHeader.
Item data
The item data of the Enjoy purchase order is stored in the tables PoItem (general item data). Changes regarding quantity and delivery date are to be made in the table PoSchedule.
Use the table PoAccount to change the account assignment information.
Services and limits
Changes to existing items cannot be carried out with the Change method. It is only possible to create new items.
Conditions
Conditions are transferred in the table PoCond; header conditions in the table PoCondHeader. A new price determination process can be initiated via the parameter CALCTYPE in the table PoItem.
Vendor and delivery address
The vendor address in the table PoAddrVendor and the delivery address in the table PoAddrDelivery can only be replaced by another address number that already exists in the system (table ADRC). Changes to address details can only be made using the method BAPI_ADDRESSORG_CHANGE.
Partner roles
You can change all partners except the partner role "vendor" via the table PoPartner.
Export/import data
Export/import data can be specified per item in the table PoExpImpItem. Foreign trade data can only be transferred as default data for new items. Changes to the export/import data of existing items are not possible.
Texts
Header and item texts can be transferred in the tables PoTextHeader and PoTextItem. Texts for services are imported in the table PoServicesText. Texts can only be replaced completely.
Version Management
You can make use of the Version Management facility via the table AllVersions.
Return
If the PO was changed successfully, the header and item tables are populated with the information from the PO.
Return messages
Messages are returned in the parameter Return. This also contains information as to whether interface data has been wrongly or probably wrongly (heuristical interface check) populated. If a PO has been successfully created, the PO number is also placed in the return table with the appropriate message.
Restrictions
With this function module, it is not possible to:
Create subcontracting components (you can only use existing ones)
Create configurations (you can only use existing ones)
Change message records (table NAST) and additional message data (this data can only be determined via the message determination facility (Customizing))
Attach documents to the purchase order
Change foreign trade data
Change service data
Change or reexplode BOMs
A firewall prevents the manipulation of data that is not changeable in Purchasing according to the business logic of the purchase order (e.g. PO number, vendor, etc.).
PO items with an invoicing plan cannot be created or changed using the BAPIs
In this connection, please refer to current information in Note 197958.
To change addresses with numbers from Business Address Services (cantral address management), please use the function module BAPI_ADDRESSORG_CHANGE.
To change variant configurations, please use the function module BAPI_UI_CHANGE. More information is available in the BAPI Explorer under the Logistics General node.
In the case of changes that are to be made via the BAPI_PO_CHANGE, a firewall first checks whether the relevant fields are changeable. This approach follows that of the online transaction. Here it is not possible to change the vendor or the document type, for example.
Example
Example of changes made to a purchase order with:
1. Change in header data
2. Change in item
3. Change in delivery schedule
4. Change in account assignment
5. Change in conditions
6. Change in partners
Parameter: PURCHASEORDER 4500049596
Parameter: POHEADER
PMNTTRMS = 0002
PUR_GROUP = 002
Parameter: POHEADERX
PMNTTRMS = X
PUR_GROUP = X
Parameter: POITEM
PO_ITEM = 00001
CONF_CTRL = 0001
Parameter: POITEMX
PO_ITEM = 00001
PO_ITEMX = X
CONF_CTRL = X
Parameter: POSCHEDULE
PO_ITEM = 00001
SCHED_LINE = 0001
QUANTITY = 10.000
PO_ITEM = 00001
SCHED_LINE = 0003
DELETE_IND = X
Parameter: POSCHEDULEX
PO_ITEM = 00001
SCHED_LINE = 0001
PO_ITEMX = X
SCHED_LINEX = X
QUANTITY = X
PO_ITEM = 00001
SCHED_LINE = 0003
PO_ITEMX = X
SCHED_LINEX = X
DELETE_IND = X
Parameter: POACCOUNT
PO_ITEM = 00001
SERIAL_NO = 01
GL_ACCOUNT = 0000400020
Parameter: POACCOUNTX
PO_ITEM = 00001
SERIAL_NO = 01
PO_ITEMX = X
SERIAL_NOX = X
GL_ACCOUNT = X
Parameter: POCOND
ITM_NUMBER = 000001
COND_TYPE = RA02
COND_VALUE = 2.110000000
CURRENCY = %
CHANGE_ID = U
Parameter: POCONDX
ITM_NUMBER = 000001
COND_ST_NO = 001
ITM_NUMBERX = X
COND_ST_NOX = X
COND_TYPE = X
COND_VALUE = X
CURRENCY = X
CHANGE_ID = X
Parameter: POPARTNER
PARTNERDESC = GS
LANGU = EN
BUSPARTNO = 0000001000
Help in the Case of Problems
1. Note 197958 lists answers to frequently asked questions (FAQs). (Note 499626 contains answers to FAQs relating to External Services Management.)
2. If you have detected an error in the function of a BAPI, kindly create a reproducible example in the test data directory in the Function Builder (transaction code SE37). Note 375886 tells you how to do this.
3. If the problem persists, please create a Customer Problem Message for the componente MM-PUR-PO-BAPI, and document the reproducible example where necessary.
Customer Enhancements
The following user exits (function modules) are available for the BAPI BAPI_PO_CREATE1:
EXIT_SAPL2012_001 (at start of BAPI)
EXIT_SAPL2012_003 (at end of BAPI)
The following user exits (function modules) are available for the BAPI BAPI BAPI_PO_CHANGE:
EXIT_SAPL2012_002 (at start of BAPI)
EXIT_SAPL2012_004 (at end of BAPI)
These exits belong to the enhancement SAPL2012 (see also transaction codes SMOD and CMOD).
There is also the option of populating customer-specific fields for header, item, or account assignment data via the parameter EXTENSIONIN.
Further Information
1. Note 197958 contains up-to-date information on the purchase order BAPIs.
2. If you test the BAPIs BAPI_PO_CREATE1 or BAPI_PO_CHANGE in the Function Builder (transaction code SE37), no database updates will be carried out. If you need this function, please take a look at Note 420646.
3. The BAPI BAPI_PO_GETDETAIL serves to read the details of a purchase order. The BAPI cannot read all details (e.g. conditions). However, you can use the BAPI BAPI_PO_CHANGE for this purpose if only the document number is populated and the initiator has change authorizations for purchase orders.
4. Frequently used BAPIs for purchase orders are BAPI_PO_CREATE, BAPI_PO_CREATE1, BAPI_PO_CHANGE, BAPI_PO_GETDETAIL, BAPI_PO_GETITEMS, BAPI_PO_GETITEMSREL, and BAPI_PO_GETRELINFO.
5. For more information on purchase orders, refer to the SAP library (under MM Purchasing -> Purchase Orders) or the Help for the Enjoy Purchase Order, or choose the path Tools -> ABAP Workbench -> Overview -> BAPI Explorer from the SAP menu.
Parameters
PURCHASEORDER
POHEADER
POHEADERX
POADDRVENDOR
TESTRUN
MEMORY_UNCOMPLETE
MEMORY_COMPLETE
POEXPIMPHEADER
POEXPIMPHEADERX
VERSIONS
NO_MESSAGING
NO_MESSAGE_REQ
NO_AUTHORITY
NO_PRICE_FROM_PO
EXPHEADER
EXPPOEXPIMPHEADER
RETURN
POITEM
POITEMX
POADDRDELIVERY
POSCHEDULE
POSCHEDULEX
POACCOUNT
POACCOUNTPROFITSEGMENT
POACCOUNTX
POCONDHEADER
POCONDHEADERX
POCOND
POCONDX
POLIMITS
POCONTRACTLIMITS
POSERVICES
POSRVACCESSVALUES
POSERVICESTEXT
EXTENSIONIN
EXTENSIONOUT
POEXPIMPITEM
POEXPIMPITEMX
POTEXTHEADER
POTEXTITEM
ALLVERSIONS
POPARTNER
Exceptions
Function Group
2012
</b>
regards
prabhu
Message was edited by: Prabhu Peram -
BAPI to update data in KNA1 and ADR* tables
Hi,
I have to change customer data via BAPI.
I'm searching for a BAPI that updates KNA1 and ADR* tables.
(so that data will be coherent).
I found BAPI_CUSTOMER_CHANGEFROMDATA1 but it seems to only update KNA1
and BAPI_ADDRESSORG_CHANGE that only updates ADR* tables.
Can you help me ?
Thanks,
Sandrine.I came accross such a requirement but couldn't find a single function module.
I think try using both the FM's else BDC is the only option left.
you can use the FM "DEBITOR_BDCDATA" to get the BDC data for vendor and then edit it to add the address fields required. -
Is there any BAPI for Goods receipt that uses LIKP and LIPS tables?
Hi experts
I want to pull info for a given delivery note(DN) by joining LIKP and LIPS tables. Is there any existing BAPI that can give my info by using the two tables?
Please help
Thanks
GopalCheck the above link and reward points if helpful
http://help.sap.com/saphelp_nw04/helpdata/en/b0/dad2b40b3611d2a55a0060087832f8/content.htm -
Table name and BAPI to view/modify APO Resource capacity profile data
Please advise the table where the data of APO resource capacity profile stores and BAPI which help to extract and modify the break duration and utlization rate for a resource.
Steps to view APO resource capacity data
1. Use transaction /SAPAPO/RES01 and enter as below
Resource <Resource Name>
Location XXXX
Planning Version 000
2. On the display screen, click button "Capacity Profile" to view the
data of start, end, break duration and utilizaiton %.
Appreciate your help!!Hi Kurt,
You can use the below tables/views in which Resource and Capacity Profile related data is stored.
Tables:
/SAPAPO/RES_INTQ - Resource Capacity Intervals
/SAPAPO/RES_INTV - Resource Capacity Intervals
/SAPAPO/RESCAP - Capacity Profile: Resource Time Capacity
/SAPAPO/RESDIM - Dimensions and Capacity of a Resource
/SAPAPO/RESDOWN - Resource Downtime
/SAPAPO/RESDOWNT - Resource Downtime
/SAPAPO/RESKEY - Reset Key for Resource to UID
Views:
/SAPAPO/V_RESVER- Resource Capacity Variants
/SAPAPO/VRESINTQ - Resource Interval of Available Capacity Quantity Model
/SAPAPO/VRESINTR - Resource Interval of Available Capacity Rate Model
BAPIs available to read:
BAPI_RSSRVAPS_GETCAPAPRO - Read Resource Capacities Profile
BAPI_RSSRVAPS_REQUESTCAPAPRO - Query: Selection of Capacities for Resource and Result Transfer
BAPI_RSSRVAPS_GETLIST - Selection of Resources
I hope this will help you to get the data which you want to read.
Regards,
Saurabh -
How to populate multiple entries to Bapi Table
Hi all,
How to populate multiple entries to Bapi Table.....
Here is the code(in component controller)
Z_Recr_Apply_Point_Input request = new Z_Recr_Apply_Point_Input(WDModelScopeType.TASK_SCOPE);
int size = wdContext.nodeApplicants().size();
for(int i = 0 ; i < size ; i++)
String isselected = wdThis.wdGetContext().nodeApplicants().getElementAt(i).getAttributeAsText("Appl_Number");
if(isselected == "true")
com.models.veteranpoint.Zrecr_Aplno appid = new
com.models.veteranpoint.Zrecr_Aplno();
appid.setAppl_Number(wdContext.nodeApplicants().
getApplicantsElementAt(i).getAppl_Number());
request.addApplicants(appid);
I want to pass the selected input field to bapi..
Please tel me where i pass the input field...
Please correct my code...
Thanks & regards
Mathi sHi,
Steps to insert multiple entries to BAPI table.
1.Create an instance for BAPI input
2.Bind the instance to the Node of the BAPI input
3.Create instance of the Structure(BAPI table) to which input has to be added.
4.Set the input values to the Structure instance.
5.Add the instance to the BAPI input.
6.Execute
From the given example,I assume Z_Recr_Apply_Point_Input is the BAPI Input and com.epiuse.us.recruitment.models.veteranpoint.Zrecr_Aplno as Structure
Step 1:
Z_Recr_Apply_Point_Input request = new Z_Recr_Apply_Point_Input(WDModelScopeType.TASK_SCOPE);
Step 2:
<b>wdContext.nodeZ_Recr_Apply_Point_Input.bind(request);</b>
Steps 3 & 4:
int size = wdContext.nodeApplicants().size();
for(int i = 0 ; i < size ; i++)
String isselected = wdThis.wdGetContext().nodeApplicants().getElementAt(i).getAttributeAsText("Appl_Number");
if(isselected == "true")
com.epiuse.us.recruitment.models.veteranpoint.Zrecr_Aplno appid = new
com.epiuse.us.recruitment.models.veteranpoint.Zrecr_Aplno();
appid.setAppl_Number(wdContext.nodeApplicants().
getApplicantsElementAt(i).getAppl_Number());
<b>wdContext.currentZ_Recr_Apply_Point_InputElement().modelObject().addRecr_Aplno(appid);</b>
Step 5:
<b>wdContext.currentZ_Recr_Apply_Point_InputElement().modelObject().execute();</b>
Regards,
Viji Priya -
Unable to insert records in PRPS and PROJ tables.
I want to insert entries in PROJ and PRPS tables with new company code.
I am selecting entries with existing company code and changing old co. code to new co. code in work area.
Then I am using insert PRPS from work area in the same way inserting in PROJ.
Please help, why insert statement is not working with these tables..I hope you are in a sandbox system.
The internal and primary key is PSPNR, and this key is associated with an internal range number. If you don't want to use program, you have to get yourself the next number for PROJ and each PRPS, then you MUST insure that related objects like OBJNR the CO object number is adjusted (PR or PD + internal number/) else you will incur severe problem with your database. You MUST insure that other unique indexes are respected PSPID, etc.
*The correct way is reached via BAPI or Batch Input/Call Transaction*
For BTC or call transaction just record via [SHDB|https://www.sdn.sap.com/irj/sdn/advancedsearch?cat=sdn_all&query=shdb&adv=false&sortby=cm_rnd_rankvalue] a single run with [CJ2D transaction|https://www.sdn.sap.com/irj/sdn/advancedsearch?cat=sdn_all&query=cj2d+transaction&adv=false&sortby=cm_rnd_rankvalue].
BAPI suitable are :
- [BAPI_PS_INITIALIZATION|https://www.sdn.sap.com/irj/sdn/advancedsearch?cat=sdn_all&query=bapi_ps_initialization&adv=false&sortby=cm_rnd_rankvalue] to start the job
- to read the model use BAPIs like [BAPI_PROJECTDEF_GETDETAIL|https://www.sdn.sap.com/irj/sdn/advancedsearch?cat=sdn_all&query=bapi_projectdef_getdetail&adv=false&sortby=cm_rnd_rankvalue]
- to create the new project use BAPIs like [BAPI_PROJECTDEF_CREATE|https://www.sdn.sap.com/irj/sdn/advancedsearch?cat=sdn_all&query=bapi_projectdef_create&adv=false&sortby=cm_rnd_rankvalue]
- [BAPI_PS_PRECOMMIT|https://www.sdn.sap.com/irj/sdn/advancedsearch?cat=sdn_all&query=bapi_ps_precommit&adv=false&sortby=cm_rnd_rankvalue] and then BAPI_TRANSACTION_COMMIT or ROLLBACK to end.
Regards -
Can anyone list problems/errors when uploading data using BDC's and BAPI's?
Can anyone list the problems/errors when uploading data using BDC's and BAPI's?
Hi,
If you are actually creating a BDC to load data pls be more specific.
Data format incorrect. Tab delimited/ etc
Dates in wrong formats
Currency incorrect formats
Missing screens
Wrong transaction code
File not found,
Missing Mandatory fields,
Screen resoultion.
You should always use refresh for your Bdcdata table.
Loop at internal table.
refresh Bdcdata.
regards,
sowjanya. -
Hello Masters,
What Makes the exact difference between RFC and BAPIs. Both can perfom same thing. BAPI uses the RFCs only. Then how can it justify?
Thank youRFC:
RFC --- > Function module and general will be used to make call to function
sending the function (XI has RFC adapter)
BAPI:
BAPI ---> Other version of RFC (Objected oriented) mostly we will use for Sync
calls (Mostly in XI using proxies we will call BAPI's)
Refer these links for more details:
http://sapabap.iespana.es/sapabap/sap/faq/ale_idocs_bapi.htm
http://www.sap-img.com/fu033.htm
BAPI Vs IDOC - in detail
http://searchsap.techtarget.com/tip/1,289483,sid21_gci824860,00.html
/thread/127699 [original link is broken]
IDOC,RFC,BAPI
Re: When and Why we use BAPI, RFC and IDOC.. in XI
Diff... between ALE, IDOC, RFC, BAPI, BADI --- Not clear and clarify
idoc and bapi
Difference among IDOCS,BAPI,RFC?
http://searchsap.techtarget.com/ateQuestionNResponse/0,289625,sid21_cid558752_tax293481,00.html
Differences Between RFC & BAPIS
RFC Vs BAPI
For more details:
refer this thread.
What are idocs, BAPI, RFC?
BAPI is nothing but the Business process programing interface which are standard and stable and these are store in the business object repository.
Standardized programming interface that enables external applications to access business processes and data in an SAP System
RFC is the remote function call which is used to call the function remotely which may be in same system or ather system
its also used communication between SAP systems , between SAP systems ,external systems.
idoc and bapi
Difference among IDOCS,BAPI,RFC?
http://searchsap.techtarget.com/ateQuestionNResponse/0,289625,sid21_cid558752_tax293481,00.html
Differences Between RFC & BAPIS
RFC Vs BAPI
http://www.sap-img.com/abap/ale-bapi.htm
RFC means remote function call,
these are the function modules which can help u to access across the sap and from sap to third party front end,
BAPI means Business application programing interface which is the RFC enable function module and uses in OOPS concept.
RFC ,IDoc and BAPI
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://www.sap-img.com/abap/interview-question-on-bapi-rfc-abap-objects-tables.htm
This is a short description of BAPI and RFC
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.
RFC is the protocol used to call functions in an R/3 system by a caller external to R/3 or to call programs external to R/3 from an R/3 system. -
Updating bseg and bsis table ...
Hello,
I want to update bseg and bsis table. I guess i will have to use BAPI_ACC_DOCUMENT_POST.
how do i go on using this BAPI ? any starter code snippet ...!!Functionality
Using this method you can create a posing in accounting for certain business transactions.
Possible ( Business Transactions):
Postings that generally only affect the general ledger. (RFBU)
Billing: For billing in Sales and Distribution, accounting is supplied with the relevant billing data. (SD00) Billing Document
Accounting can use the data of a logistics system that result from an Invoice Receipt. (RMRP)
Goods Movement are triggered by transactions in Sales and Distribution or by inventory postings. Within logistics, they lead to a change in the warehouse stocks of
<DS:GLOS.Inventory Management>Inventory Management. This results in a posting in accounting. This is why accounting is supplied with the relevant data from logistics. (RMWA)
Example
Billing document:
By selling goods in accordance with targets, revenue is generated. The revenue is posted in billing and forwarded
to accounting.
Invoice receipt:
Raw materials are purchased in accordance with targets. The invoice receipt is posted in a logistics system. The data from the raw materials is forwarded to accounting.
Goods Movment:
The use of raw materials leads to a change in stock in inventory managment. The posting of raw material consumption is forwarded to accounting.
G/L Account Posting:
Provision posting for an expected warranty service. This can refer to acquisitions or retirements belonging to stocks that are not in subledger accounting relevant to inventory management. This is particularly the case if such materials are not displayed as vendor/customer, materials, loans etc. or cannot be displayed in this way. This can also refer to write-ups or depreciation that contain higher aggregations of values than are maintained in a corresponding subledger that is relevant to inventory management.
The conversion of foreign currencies for receivables/payables due to large exchange rate changes that should not lead to an update of the accounts payable or accounts receivable accounting. A similar transaction can arise for the revaluation of raw materials if this revaluation takes place at a correspondingly aggreagated level.
Reclassification of inventory of P&L statement accounts that are only used for reconcilliation purposes in the general ledger (this rearranges values for balance sheet items).
Balance reclassifications of stocks to receivables with different return times.
Notes
If the parameter CurrencyAmount is filled with the currency fields, a complete document check including characteristics and value components of profitability analysis (CO-PA). Otherwise, the account assignment objects are checked.
Messages are returned in the parameter Return. In the parameter documentation you can find the return values and their meaning. -
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 -
RFC Lookup - BAPI-TABLE Parameters problem
Hello All,
I had a scenario where i need to export parameters and am supposed to get import parameters from BAPI between source and target structures.
like -
source --> BAPI execution = result --> target
We had succeeded in getting those but the only problem is with TABLE parameters in that BAPI.
How can we achieve it.
Faster reply would be appreciated.
Thanks & regards
ReddyHi VJ,
Its not a simple source-target mapping .
For Ex :
Source-Bapi-Idoc
Source will send some parameters to BAPI and bapi will execute it and respond with values in table parameter of the bapi and result would be assigned to idoc-field.
For this i am using RFC Look up with sample code as :
String rfcxml ="<ns0:Z_BAPI xmlns:ns0=\"urn:sap-com:document:sap:rfc:functions\">" +
" <A>" + A + "</A>" + --- Export parameters
" <B>" + B + "</B>" + --- Export parameters
//" <TABLE><FIELD1>" + FIELD2 + "</FIELD1></TABLE>" +
//" <TABLE><FIELD2>" + FIELD2 + "</FIELD2></TABLE>" +
//" <TABLE><FIELD3>" + KDMAT+ "</FIELD3></TABLE>" +
// "<FIELD1>" + FIELD1 + "</FIELD1>" +
"</ns0:Z_BAPI> " ;
Passing A & B as export parameters and getting TABLE-FIELD1&2&3 as response.
I hope some problem in the syntax.
Regards,
HP -
Scenario's related to ale and bapi's developments and customizing
hi can u help any one of u in sending scenario's related to ale and bapi's developments and customizing
Hi
By using table you can get tax percentages against tax condtion types. For values you have to use fuction module calculate_tax_item
1. SE11 - EKPO - contents - PO number - execute Note down tax against field MWSKZ
2. SE11 - A053 - contents - tax code - execute, Note down tax condtion record number and validity
3. SE11 - KONP - contents - conditioin record number - execurte, Note dow tax percentages against each condtion type
Raju -
RFC enabled function module and BAPI?
What is the difference between RFC enabled function module and BAPI?
I have requirement to develop a new BAPI which will update a custom table and read the same table in SAP from an external application.
Do we need define a port or RFC destination for the external application to use the new BAPI?
I am clear how the external application access the BAPI.
Thank youBAPI are business objects which are basically object oriented. Created and linked with business objects in <b>SWO1</b>. Those business objects will be listed under BAPI tcode.
Where are RFC enabled Function call are not like that. They are just Function modules which can be accessed remotely from an SAP application.
For your example updating table, you may need to create BAPIs in SWO1 and access using those using object oriented methods from external application.
Cheers,
Thomas. -
how can we call a subscreen in screen exit.
how can we do error handling in bapi?differenece between bapi and bdc.
i will give the 10points to correct answers.
kiranHi,
Call subscreen in screen exit:
Screen exits add fields to screens in R/3 applications. SAP creates screen exits by placing special subscreen areas on a standard R/3 screen and calling a customer subscreen from the standard screens flow logic.
the tcode is cmod...
1.From the main screen of the Project management transaction, proceed as follows:
Select Enhancement components and choose Change.
2.Choose Edit component.
3.Choose the screen exit and double click on it
4.Create your subscreen using the Screen Painter.
5.Design your screen to be added to the standard screen and activate the particular screen and return back to the flow logic .
6.Choose the PAI and PBO to write down the logic.
7.Generate your screen and choose Back (the green arrow) to return to the Project management transaction.
8.Go to the transaction ME22 to view the customer defined screen exit.
9.Enter the purchase order number and press Enter.
10.Go to the menu header --> Details.
11.Purchase number is visible on the standard screen
Please check if the thread given below would be of any help.
http://sap.ittoolbox.com/groups/technical-functional/sap-r3-dev/menu-exits-72696#
http://wiki.ittoolbox.com/index.php/HOWTO:Implement_a_screen_exit_to_a_standard_SAP_transaction
error handling in bapi:
While creating BAPIs,include Return table (of structure BAPIRET2)as table parameter. This table is populated with error messages/Sucessful messages after BAPI was executed.
Diff b/w bdc and bapi:
BDC:
Batch Data Communication (BDC) is the process of transferring data from one SAP System to another SAP system
or from a non-SAP system to SAP System.
Features :
BDC is an automatic procedure.
This method is used to transfer large amount of data that is available in electronic medium.
BDC can be used primarily when installing the SAP system and when transferring data from a legacy system (external system).
BDC uses normal transaction codes to transfer data.
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).
Regards
Kiran Sure
Maybe you are looking for
-
Uk Curve not working in New Zealand
Can anyone help me. My 8900 is unlocked but when I put a New Zealand sim in the phone it only makes calls and texts. It wont use any apps that require to get on the data network. What do I need to do to my handset to let me onto NZ data networks?
-
The page isn't redirecting properly Firefox has detected that the server is redirecting the request for this address in a way that will never complete. This problem can sometimes be caused by disabling or refusing to accept c
-
E-mail suddenly won't send. I've been using this account on this iMac for years.
When I try to send, I get an error message that it can't send mail on this server. I've checked all my settings and rebuilt the mailbox. The settings are the same as on my iPhone, and the phone has no problem sending. I can also send using my acco
-
Third external drive that won't show up! OS or time machine issues?
Hi, This is driving me crazy... This is my third seagate drive manifesting similar issues which leads me to believe maybe there is an issue not with the drive, but with my operating system (maybe Time Machine)?? My original extenral drive (set up to
-
Trouble dl Adobe Photoshop cs4
I dl the trial version. When I go to install it it does nothing. I am using windows vista ulitmate and I have 5GB mem.