BAPI purpose
BAPI_GL_GETGLACCBALANCE
BAPI_GL_GETGLACCCURRENTBALANCE
BAPI_GL_GETGLACCPERIODBALANCES
Can anybody let me know whts the purpose for these bapi's.
please let me know the exact purpose.
is it used for any uploading or for what purpose.
Hi,
Refer Below for all your queries:
BAPI_GL_GETGLACCBALANCE
http://abap.wikiprog.com/wiki/BAPI_GL_GETGLACCBALANCE
BAPI_GL_GETGLACCCURRENTBALANCE
http://abap.wikiprog.com/wiki/BAPI_GL_GETGLACCCURRENTBALANCE
BAPI_GL_GETGLACCPERIODBALANCES
http://abap.wikiprog.com/wiki/BAPI_GL_GETGLACCPERIODBALANCES
Similar Messages
-
Different types of function module
hi,
When we create a function module : in one of the tabs we can find
1 general function module
2. remote function module
3. update function module.
What is meant by update function module and remote function module. can anyone explain me with an example and when shd we opt for 2 and 3.
thanxs
hariFunction Modules:
Function modules allow you to encapsulate and reuse global functions in the R/3 System.
They are stored in a central library. The R/3 System contains a wide range of predefined
function modules that you can call from any ABAP program.
Unlike subroutines, you do not define function modules in the source code of your program.
Instead, you use the Function Builder. The actual ABAP interface definition remains hidden
from the programmer. You can define the input parameters of a function module as optional.
You can also assign default values to them. Function modules also support exception handling.
This allows you to catch certain errors while the function module is running. You can test
function modules without having to include them in a program using the Function Builder.
Function Groups:
Function groups are containers for function modules. You cannot execute a function group.
When you call a function module, the system loads the whole of its function group into the
internal session of the calling program.
Calling Function Modules in ABAP:
To call a function module, use the CALL FUNCTION statement:
CALL FUNCTION <module>
[EXPORTING f1 = a 1.... f n = a n]
[IMPORTING f1 = a 1.... f n = a n]
[CHANGING f1 = a 1.... f n = a n]
[TABLES f1 = a 1.... f n = a n]
[EXCEPTIONS e1 = r 1.... e n = r n [ERROR_MESSAGE = r E]
[OTHERS = ro]].
You can specify the name of the function module <module> either as a literal or a variable.
Each interface parameter <fi> is explicitly assigned to an actual parameter <a i>. You can
assign a return value <r i> to each exception <e i>. The assignment always takes the form
<interface parameter> = <actual parameter>. The equals sign is not an assignment operator
in this context.
After EXPORTING, you must supply all non-optional import parameters with values
appropriate to their type. You can supply values to optional import parameters if you
wish.
[email protected]
34
After IMPORTING, you can receive the export parameters from the function module by
assigning them to variables of the appropriate type.
After CHANGING or TABLES, you must supply values to all of the non-optional
changing or tables parameters. When the function module has finished running, the
changed values are passed back to the actual parameters. You can supply values to
optional changing or tables parameters if you wish.
You can use the EXCEPTIONS option to handle the exceptions of the function module. If an
exception <e i > is raised while the function module is running, the system terminates the
function module and does not pass any values from the function module to the program,
except those that were passed by reference. If <e i > is specified in the EXCEPTION option,
the calling program handles the exception by assigning <r i > to SY-SUBRC. <r i > must be a
numeric literal.
If you specify of ERROR_MESSAGE in the exception list you can influence the message
handling of function modules. Normally, you should only call messages in function modules
using the MESSAGE ... RAISING statement. With ERROR_MESSAGE you can force the system
to treat messages that are called without the RAISING option in a function module as follows
for various FM's
http://www.erpgenie.com/abap/functions.htm
Calling Function Modules
http://help.sap.com/saphelp_46c/helpdata/en/9f/db98ef35c111d1829f0000e829fbfe/content.htm
remote enabled fm's are BAPI's
refer
Introduction to BAPIs:
Definition
The SAP Business Objects held in the Business Object Repository (BOR) encapsulate their data
and processes. External access to the data and processes is only possible by means of specific
methods - BAPIs (Business Application Program Interfaces).
A BAPI is defined as a method of a SAP Business Object.
For example, the functionality that is implemented with the SAP Business Object type
"Material" includes a check for the materials availability. Thus, the Business Object type
"Material" offers a BAPI called "Material.CheckAvailability".
Use
To use a BAPI method, an application program only needs to know how to call the method;
that is, it needs to know the methods interface definition. Therefore, when including a BAPI
invocation in your application program, you only need to supply the appropriate interface
information.
A BAPI interface is defined by:
Import parameters, which contain data to be transferred from the calling program to
the BAPI
Export parameters, which contain data to be transferred from the BAPI back to the
calling program
Import/export (table) parameters for both importing and exporting data
Structure
The BAPIs in the R/3 System are currently implemented as function modules, all of which are
held in the Function Builder. Each function module underlying a BAPI:
Supports the Remote Function Call (RFC) protocol
Has been assigned as a method to an SAP Business Object in the BOR
Is processed without returning any screen dialogs to the calling application
Integration
The architecture enables SAP to change the details of a BAPIs implementation without
affecting external applications, which are using the BAPI.
Advantages of Using BAPIs
BAPIs are standardized methods of SAP Business Objects that enable customers and third
parties to integrate their software components with the R/3 System and the Business
Framework.
Business Standard
SAP Business Objects and their BAPIs provide a business content standard, rather than a
technical interoperability standard; that is, they enable the integration of R/3 and other
software components on a business level, not on a technical level.
[email protected]
97
Standards Conformance
BAPIs are being developed as part of the SAP joint initiative with customers, partners, and
leading standards organizations. BAPIs are becoming a communication standard between
business systems.
You can access SAP Business Objects and their BAPIs by using object-oriented interfacing
technologies such as Microsofts COM/DCOM (Component Object Model/Distributed Component
Object Model).
The SAP Business Objects already comply with the Open Applications Group (OAG)
specifications, and, in conjunction with ObjectBridge from VisualEdge, conform to the Object
Management Groups CORBA (Common Object Request Broker Architecture) guidelines.
Stability and Downward Compatibility
Once a BAPI is implemented and released by SAP, its interface definition and parameters
remain stable in the long term, thus ensuring that your application program remains
unaffected by any changes to the underlying R/3 software and data.
SAP can make any necessary extensions to the BAPIs, for example, additional optional
parameters, without destabilizing the operation of existing applications and, at the same time,
can offer the enhanced functionality to new applications.
Object Orientation
As methods of the SAP Business Objects, BAPIs provide access to R/3 data and processes
following an object-oriented programming model. BAPIs can be called using object-oriented
interfacing technologies, such as COM/DCOM, thus enabling software components from SAP
and third parties to interact freely.
Openness
You can access BAPIs from all development platforms that support the SAP Remote Function
Call (RFC) protocol.
BAPI Definition
A Business Application Programming Interface (BAPI) is a precisely defined interface providing
access to processes and data in business application systems such as R/3. BAPIs are defined
as API methods of SAP Business Objects. These business objects and their BAPIs are described
and stored in the Business Object Repository (BOR).
A BAPI is implemented, however, as a function module, that is stored and described in the
Function Builder.
BAPIs can be called within the R/3 System from external application systems and other
programs. BAPIs are the communication standard for business applications. BAPI interface
technology forms the basis for the following developments:
R/3 satellite systems
Isolating components within the R/3 System in the context of Business Framework
Distributed R/3 scenarios using Application Link Enabling (ALE)
Connecting R/3 Systems to the Internet using Internet Application Components (IACs)
Visual Basic programs as front-end to R/3 Systems
Workflow applications that extend beyond system boundaries
Customers and partners own developments
Connections to non-SAP software
Connections to legacy systems
[email protected]
98
Standardized BAPIs
Some BAPIs and methods provide basic functions and can be used for most SAP Business
Objects. Such BAPIs are known as "standardized" BAPIs.
Using the descriptions below as a guide, verify whether you can implement the BAPI as a
standardized BAPI.
Features
BAPIs for Reading Data
The following BAPIs provide you with read-only access to data in the associated business
object:
GetList
With this BAPI you can select a range of object key values, for example, company
codes and material numbers. To specify appropriate selection requirements the calling
program must pass the relevant parameters to the interface. The key values selected
by the BAPI GetList are returned to the calling program in a table, together with other
useful information, for example, short texts. The key values can then be passed on to
another BAPI for further processing, for example, the BAPI GetDetail, as listed below.
GetDetail
The BAPI GetDetail uses a key to retrieve details about an instance(s specific
occurrence) of a business object and returns this data to the calling program.
GetStatus
The BAPI GetStatus is used to query the status of an SAP Business Object, for
example, to display the processing status of a sales order. This BAPI is used only for
displaying the status of an object and does not retrieve full details like the BAPI
GetDetail.
ExistenceCheck
The BAPI ExistenceCheck checks, whether an entry exists for an SAP Business Object,
for example, whether the customer master has been created. You should implement
this method as a workflow method and not as a BAPI (RFC capable function module).
The method CompanyCode.ExistenceCheck of the business object CompanyCode
(BUS0002) is an example of this. This workflow method is indirectly invoked when the
calling program instantiates an object, for example, by using
GetSAPObject("CompanyCode") from within Visual Basic.
BAPIs for Creating or Changing Data
The following BAPIs can create, change or delete instances of a business object: If required,
you can implement these BAPIs so that, several instances of a business object can be created,
deleted or modified simultaneously in the same call. In such cases "multiple" is added to the
method name, for example ChangeMultiple.
BAPIs that can create, change or delete instances are:
Create or CreateFromData
The BAPI Create or CreateFromData creates an instance of an SAP Business Object,
for example, a sales order. Create is the preferred name for this BAPI. Use the name
CreateFromData only when a workflow method called Create already exists for the
business object in question.
[email protected]
99
Change
The BAPI Change changes an existing instance of a SAP Business Object, for example,
a sales order.
Delete
The BAPI Delete deletes an instance of a SAP Business Object, for example, sales
order.
BAPIs for Replicating Business Object Instances
The BAPIs below can be implemented as methods of business objects that can be replicated.
They enable specific instances of an object type to be copied to one or more different systems.
These BAPIs are used mainly to transfer data between distributed systems within the context
of Application Link Enabling (ALE).
The method below must be implemented for each business object to be replicated.
Replicate
The BAPI Replicate is called in the system, which contains the originals of the business
object instances to be replicated. It is used to:
Identify the business objects to be replicated and to organize the required data.
Call the clone methods described below in the receiving system
Moreover, at least one of the clone methods below must be implemented for each business
object to be replicated.
Clone
The BAPI Clone is used by a system to replicate one business object on another
system or to modify one business object that has already been cloned.
CloneMultiple
The BAPI CloneMultiple is used by a system to replicate several business objects on
another system or to modify several business objects that have already been cloned.
Defining and Implementing the BAPI
Purpose
Various components of the ABAP Workbench are used when you define and implement a BAPI.
A BAPI is an API method of a business object and is defined as such in the Business Object
Repository (BOR). However, a BAPI is implemented as an RFC capable function module, which
is maintained in the Function Builder. The definitions and descriptions of the data structures
used by the BAPI are stored in the ABAP Dictionary.
For function modules that implement BAPIs, certain standards and rules must be adhered to
over and above the standard programming rules for function modules. For example, COMMIT
WORK commands must not be used in the function modules that a BAPI is based on.
The following sections guide you through the steps involved in developing a BAPI. The sections
contain information about the guidelines and conventions that you should adhere to when
defining and implementing a BAPI. When implementing BAPIs follow the requirements below
to ensure you achieve consistent behavior and representation of BAPIs as object oriented
methods of SAP Business Objects.
[email protected]
100
BAPI Programming
BAPI Definition
A Business Application Programming Interface (BAPI) is a precisely defined interface providing
access to processes and data in business application systems such as R/3.
BAPIs are defined as API methods of SAP Objects. These objects and their BAPIs are described
and stored in the BOR (BOR).
Use
BAPIs can be called within the R/3 System from external application systems and other
programs. A BAPI call can either be made as an object oriented method call or as a remote
function call (RFC).
BAPIs are a global communication standard for business applications.
Examples of what BAPIs can be used for include:
R/3 satellite systems
Distributed R/3 scenarios using Application Link Enabling (ALE)
Connecting R/3 Systems to the Internet using Internet application components (IACs)
Visual Basic programs as front-end to R/3 Systems
Workflow applications that extend beyond system boundaries
Customers and partners own developments
Connections to non-SAP software
Connections to legacy systems
BOR Definition
The Business Object Repository (BOR) is the object-oriented repository in the R/3 System. It
contains, among other objects, SAP Business Objects and their methods. In the BOR a
Business Application Programming Interface (BAPI) is defined as an API method of an SAP
Business Object. Thus defined, the BAPIs become standard with full stability guarantees as
regards their content and interface.
Use
With regard to SAP Business Objects and their BAPIs, the BOR has the following functions:
Provides an object-oriented view of R/3 System data and processes.
R/3 application functions are accessed using methods (BAPIs) of SAP Business
Objects. Implementation information is encapsulated; only the interface functionality
of the method is visible to the user.
Arranges the various interfaces in accordance with the component hierarchy, enabling
functions to be searched and retrieved quickly and simply.
Manages BAPIs in release updates.
BAPI interface enhancements made by adding parameters are recorded in the BOR.
Previous interface versions can thus be reconstructed at any time. When a BAPI is
created the release version of the new BAPI is recorded in the BOR. The same applies
when any interface parameter is created.
The version control of the function module that a BAPI is based on is managed in the
Function Builder.
Ensures interface stability.
Any interface changes that are carried out in the BOR, are automatically checked for
syntax compatibility against the associated development objects in the ABAP
Dictionary.
[email protected]
101
Integration
You should only define a BAPI as a SAP Business Object method in the BOR if the function
module that the BAPI is based on has been fully implemented. Full access to the BOR is
restricted to the persons responsible for the objects involved and for quality control.
BOR-BAPI Wizard
The BOR-BAPI Wizard assists with creating new BAPI methods in the BOR. It takes you
through the creation process step by step.
Transaction Model for Developing BAPIs Purpose
The transaction model in which BAPIs are used determines how you have to program BAPIs.
The transaction model described here has been used to develop BAPIs for R/3 Releases 3.1
and 4.0A.
Logical Unit of Work (LUW) and Statelessness
Within the context of this transaction model a transaction represents one processing step or
one logical unit of work (LUW). When a transaction is called, database operations are either
fully executed or not at all. The whole transaction must be programmed to be stateless.
This transaction model requires that:
No data is imported that may indirectly affect the result. If a transaction is called more
than once, each call must have the same result. For BAPIs this means, for example,
that Set or Get parameters cannot be used. However, you can keep Customizing data
in a global memory, as this data remains unchanged even if transaction calls are
repeated.
There must be no functional dependencies between two transactions.
Either all relevant data has to be changed in the database or none at all.
Determining the SAP Business Object and Its Key Fields
You have to identify the relevant SAP Business Object in the Business Object Repository (BOR)
and determine whether the key fields of the Business Object are relevant for your BAPI.
A key is defined in the BOR for most SAP Business Objects. This key can consist of several key
fields. The content of these key fields uniquely identifies one individual instance of an SAP
Business Object.
You can differentiate between instance-dependent and instance-independent BAPI methods.
Unlike instance-independent methods, instance-dependent methods relate to one instance
(one specific occurrence) of an SAP Business Object type, for example to one specific sales
order.
In the case of instance-dependent BAPIs, the key fields of the corresponding SAP Business
Object must be used as parameters in the function module the BAPI is based on so that the
associated object instance can be identified. The names of the key fields in the SAP Business
Object and the corresponding parameters in the BAPI function module must be the same,
because the name links the key fields to the parameters.
All the key fields defined in the BOR for the SAP Business Object in question must be used as
the parameters in the function module.
Example
SAP Business Object Creditor has a key field named CreditorId.
This key field must be defined as a parameter with the name CREDITORID in the function
modules of the instant-dependent BAPIs for this Business Object.
[email protected]
102
To display the Business Object and its key fields follow the steps below:
1. Select Tools -> ABAP Workbench -> Overview -> Business Object Browser . The
business objects are displayed in the order of the R/3 application hierarchy.
2. Select the required SAP Business Object in the application hierarchy and double click it
to open it.
3. To display the Business Objects key fields, expand the node Key fields.
Defining the Interface Structure of the BAPI
In this step you are going to define the BAPI interface, that is, the individual import, export
and table parameters required for calling the BAPI.
Caution
You cannot use Changing and Exception parameters in a function module which implements a
BAPI.
Process Flow
To define the interface parameters, proceed as follows:
1. Check whether the key fields of the SAP Business Object are required in the interface. The
key fields of the SAP Business Object are some of the most important BAPI parameters.
If a key value is to be passed to the BAPI by the calling program, the key field must be set as
an import parameter in the function module of the BAPI. That way a specific instance of the
Business Object is identified.
For example, this could be a customer number (CustomerNo) in the BAPIs Customer.GetDetail
and Customer.CheckPassword, or the number of a sales document in the BAPI
SalesOrder.GetStatus.
For BAPIs that generate instances, for example, the BAPIs Create or CreateFromData, the key
field of the Business Object should be set as an export parameter in the BAPI function module.
These BAPIs return one key value, for example, an order number in the BAPI
SalesOrder.CreateFromData.
For BAPIs that are class methods a key field is neither set as an import nor as an export
parameter in the BAPI function module. Class methods are instance-independent and are
called without the use of key values. Usually they return a table with a selection of key values.
2. Specify what other data is relevant as import, export or table parameters for the BAPI.
Every BAPI must have an Export parameter return that reports messages back to the calling
program.
Example
The BAPI to be developed is to read data from the SAP Business Object Creditor. To read
creditor details, the calling program has to pass the ID of the creditor and the company code.
The creditor data returned is to include general details, specific details and bank details.
To map these requirements onto the BAPI interface, the following parameters must be set in
the function module which the BAPI is based on:
The key field CreditorID of the SAP Business Object as an import parameter
An import parameter for the company code
A Return parameter that reports messages back to the calling program
A parameter for general details of the creditor
A parameter for specific details of the creditor
A parameter for bank details of the creditor
for BAPI list
refer www.sapbapi.com
for FM's refer www.se37.com
regards
srinivas
<b>*reward for useful answers*</b> -
what is the purpose of bapi and how it wil work?pls giv me brief information
<b>BAPI (Business Application Program Interface)</b>
BAPI is a set of interfaces to Object- oriented programming methods that enable a programmer to integrate 3rd party software into the proprietary R/3 product from SAP.
CL_HTTP_CLIENT --- By activating this class we can provide connectivity between R/3 and any other legacy system.
JCO (Java), COM/DCOM (Microsoft) connectors are used.
The adapter provides local transaction support for the BAPI. The following BAPI calls support local transactions
BAPI_TRANSACTION_COMMIT
BAPI_TRANSACTION_ROLLBACK
<b>BAPI Creation</b>
Define a Function Group -- SE37
Write RFC-FM -- SE37
Create an object -- SWO1
Make the FM as an API method within the object.
Transfer Request Release -- SE09
<b>BAPI Types</b>
GetList()
GetDetail()
Create()
Change()
Delete()
Add<subobject> , Remote<subobject>
Replicate() , SaveReplicate()
<b>Some Standard BAPIs</b>
Bapi_salesorder_change
Bapi_salesorder_createfromdat1
Bapi_salesorder_getlist
Bapi_salesorder_getstatus
Bapi_creditcard_check
Bapi_bpcontact_change
Bapi_billingdoc_confirm
Bapi_po_create
Award points if this was helpful
Thanks and regards. -
Purpose of BAPI's.....
anybody can send me the documentation and purpose of using BAPI's. main advantages how to create BAPI's....and send me the sample program with detail explanation...
thanks in advance.....
thanks,
maheedhar.tHi,
BAPI is used only when it is available for the particular transaction like Delivery Sales order. but BDC can be used for any
transaction which have screen and fields.
BAPI is directly updated the database instead BDC run through the screen flow.
So BAPI can't handle all the flow logic checking and enhancement put by programmer to faciliate the user requirement
BAPI is a higher end usage for tranfering the data from SAP to non-SAP and vice-versa. for ex: if we are using VB application,where in that we want to connect to SAP and retireve the data,and then change and update the data in SAP for that purpose we can use that.
Apart from that, we can also use it for Uploading/Downloading the data from SAP to Non-SAP like BDC, provided we have an existing BAPI for that.
BAPI function modules will also do all the checks required for data integrity like Transactions for BDC.
There is one more advantage using BAPI instead of BDC. When we go for upgradation, there might be pozzibility to change the screen elements for transactions depending on the requirement. In that case,our BDC pgm may or may not work (depending on the screen changes they have made). Unless and until we prepare new BDC we cant use the old BDC pgm. But in BAPI, SAP promises that they are going to keep the old BAPI and for new functionality they will provide an upgraded BAPI. Until we write a new BAPI pgm, we can use the exisitng BAPI pgm
Regards
Sudheer -
Upload the Special Purpose Ledger Data Using GB01 Application Trough BAPI
Hi Experts,
I need to Upload the Special Purpose Ledger Data Using GB01 Application Trough BAPI
Can anybody help me Which BAPI is available for this application.
plz give me the Guidence Which steps Should i follow this.
Thanks Inadvancetry these
JV_GB01_DOCUMENT_POST.
JV_GB01_DIRECT_INPUT this fm is used to to post directly to SPL
or try BAPI_ACC_DOCUMENT_POST
BAPI_ACC_GL_POSTING_CHECK
BAPI_ACC_GL_POSTING_POST -
How to create sales order using bapi( test purpose)
Hi all,
while i was creating sales order using the BAPI_SALESORDER_CREATEFROMDAT1 it is giving some error,
version 0 is not defined for the fiscal year ****.
I have given the fallowing parameters as input
ORDER_HEADER_IN
DOC_TYPE OR
SALES_ORG 1000
DISTR_CHAN 10
DIVISION 00
ORDER_PATNERS
PARTN_ROLE SP
PARTN_NUMB 1000
ORDER_ITEMSIN
MATERIAL M-13
I need to create sample sales order . Please help me how to create sales order with an example( for test purpose).
Regards
Deviprasad.Hi Prasad,
Try using BAPI_SALESORDER_CREATEFROMDAT2.
While creating sales order using FM: BAPI_SALESORDER_CREATEFROMDAT2, please make sure ORDER_ITEMS_IN, ORDER_ITEMS_INX, ORDER_SCHEDULES_IN, ORDER_SCHEDULES_INX.
Pricing Conditions will not be mandatory to create a sales order via BAPI.
As you were saying, you can create a sales order but not with items. Do populate the internal tables that i have specified above.
Also try to pass the item number internally, this will help you in identifying the schedule lines.
Regards,
Priyanka. -
Purpose : ALE, LSMW , BAPI
Dear All,
When is ALE, LSMW and BAPI used?
Regards,
Ratish
[email protected]Hi Ratish,
Ale is a layer to communicate between two seperated systems, Lsmw is a tool to upload the data into sap system here we can get the data from IDOC also, Bapi is used to upload the data into sap database.
Reward if useful.
kishore -
How get all rows of a table with a BAPI
Hi,
how is it possible to get more then one row by calling a BAPI from the WD. In my Application I need the rows of a Table coming from the r/3 System. How is it possible to get all the rows after the first call? What is the logic behind it? My purpose is also to create an own BAPI.
regards,
Sharam
nullHi,
If I understand, you don't want display the result into a Web Dynpro Table. If so, after the execution, the result of your request is stored into the context. Then you don't really need to transfert the data from your context to an Java Array.
But if you want to do it, here is the code :
guess your result node called
nodeResult
Vector myVector = new Vector();
for (int i = 0; i < wdContext.nodeResult().size(); i++){
myVector.put(wdContext.nodeResult().getElementAt(i));
I hope this will answer to your question.
Regards -
Using BAPI as WebService Interface in SAP PI
Hello,
Situation is:
BAPI is imported in SAP PI from SAP R/3 system.
The BAPI will be used for R/3 as Sync.Receiver.
A Web Application should connect to SAP PI with the same message structure for request and response.
So the idea is to publish the BAPI interface as a WSDL for this partner.
But when doing this in Directory SAP PI does not offer BAPIs as Interfaces for WSDL, only message interfaces created
in Repository are offered.
BAPIs are interfaces per definition. So we dont need a message interface to add the BAPI to it.
Maybe this woin t work anyhow with a SAP system.
But how to use the BAPI for a WSDL?
Is it required to create an interface for this purpose and add this one in the Directory WSDL create function?
Best regards
DirkHi Meinhard,
There are more ways to get where you want to go, some are mentioned above.
You can also do the following:
1) From the BAPI you create the Webservice in R3 (as described in the link from pavan kumar)
2) Go to trx SOAMANGER (in R3) and get the URL for the WSDL
3) Import the WSDL in PI as an External Definition (ED)
4) Now you create an INBOUND, synchronous, service interface with the external definition.
5) After saving the SI you can create a matching Outbound service interface (it's a menu option)
Now you can use these service interfaces in the Integration directory.
You can even create an ICO (integrated configuration) provided you use SOAP communication channels.
kr
Robert -
IDOC/BAPI for Production order creation from Legacy system
Hi all
We are using an interface to create Production orders from legacy to SAP. Would you recommend an IDOC or a BAPI to create Production orders. If IDOC or BAPI then could you please mention which one?
thanks a bunchHi John,
For your purposes, please use BAPI for production order creation from legacy system. There is no standard inbound IDoc available to use. SAP has an IDoc for outbound interface only (message type LOIPRO).
If there is an inbound IDoc available, I would recommend to use an IDoc.
IDoc technology has excellent error handling and will allow you to reprocess an error (if any).
BAPI is also good approach to use and fast in term of processing.
For BAPI approach, you can use BAPI BAPI_PRODORD_CREATE.
Hope this will help.
Regards,
Ferry Lianto -
Help Rgd. BAPI for Creation of Inbound delivery Document
Hi all,
I need a Bapi to create inbound delivery document without using PO reference. I have seen the below BAPIs. i) BAPI_IBDLV_CREATE_FROM_OBDLV,
ii) BAPI_GOODSMVT_CREATE. I am not sure whether they are for creating inbound delivery document without using PO reference.
It will be of great use if anyone can give me the BAPI for the purpose and the mandatory parameters or sample test data for the BAPI.
Thanks in Advance,
Rakesh.If you create the inbound delivery->check the purchase order in the tabstrip "Confirmations" on item level. There are three fields: "Confirmation control key", "Order acknowl." and "acknowl. required".
Ckeck if there is a value in "confirmation control key".
You should get the same error if you try to create VL31N in dialog mode, not only by using the bapi.
Rgds,
JP -
General questions on IDOCs and IDOCs for 2 Accounting Interface BAPIs
This post involves several questions pertaining to the topic of IDOC creation. I downloaded a couple of PDFs and tried googling for material on that, but things are far from being clear in my mind.
I tried to put my questions in some order, so we can follow a line of reasoning. Here we go, then:
I have one code where I there are calls to 2 BAPIs:
- BAPI_ACC_ACT_POSTINGS_REVERSE and
- BAPI_ACC_GL_POSTING_REV_POST
I am supposed to prepare/create an IDOC to perform the activities these BAPIs are responsible for, for the sole purpose of providing us much more details on the activities being executed in the system - this is one of the IDOC's features, if I got it right, its highly detailed logging of everything that is going on behind.
Now, the 1st question arises:
From the material I read, I understood that IDOCs are nothing more than data containers, whose sole purpose is to provide a means of communication between two different systems/parties - one of them would usually be SAP. If this is right, than what sort of IDOC would be this one I am supposed to build - if there's not going to be any inter-system communication ? Doesn't it sound strange that pure "data containers" can work as "logging functions" ? Please share some light here.
The 2nd question - after I understand what an IDOC really is - is
then connected to the job I have to do. I found 2 IDOCs which I think have the proper/correspondent basic types for the 2 aforementioned BAPIs. They are, respectively:
- ACC_DOCUMENT_REVERSE01 and
- ACC_GL_POSTING_REVERSE01
Getting back to my understanding of IDOCs, I got that every IDOC is generally made of one control record, data record(s), and status record(s). 3rd question: Where do the segments fit in ? Are the segments definitions of the Data Records ? And why is it that some IDOC types have header segments only and others doesn't have one ? (header segments are not the same as control records, right ?)
Finally, what is the general process flow for creating/preparing an IDOC ? I looked over a couple of forum posts about this but some of them differ one from another in the order of the steps, some don't mention this or that step, so I am still confused.
4th and last question: what comes first ? The definition of a partner, the bonding of a message type with an IDOC basic type, definitions of the inbound/outbound interfaces ?
Any help here would be highly appreciated.
Thanks in advance,
AvrahamHi Jaya,
Answer 1. Class is a template for creating objects. Object can also be called as instance.
Interfaces allow you to use different classes in a uniform way (polymorphism).
Answer 2. Normal abap is a procedural programming where as by using abap objects we can achieve object oriented programing.
Answer 6. Source code:
In below code i have created a interface and a class which is implementing the interface. I have declared a reference variable of type interface and created a object. Then i have called a method.
REPORT ZABAPOBJECTS_INTERF.
INTERFACE I1
INTERFACE I1.
METHODS METH1.
ENDINTERFACE. "I1
CLASS C1 DEFINITION
CLASS C1 DEFINITION.
PUBLIC SECTION.
METHODS: METH2.
INTERFACES: I1.
ENDCLASS. "C1 DEFINITION
CLASS C1 IMPLEMENTATION
CLASS C1 IMPLEMENTATION.
METHOD I1~METH1.
WRITE: / 'This is a method one'.
ENDMETHOD. "I1~METH1
METHOD METH2.
WRITE: / 'This is a method two'.
ENDMETHOD. "METH2
ENDCLASS. "C1 IMPLEMENTATION
START-OF-SELECTION.
DATA : REF1 TYPE REF TO I1.
CREATE OBJECT REF1 TYPE C1.
CALL METHOD REF1->METH1.
Question 7: Yes we need to create a class but most probably we use the existing classes.
Regarding BAPi's go through the below links,
http://www.sapgenie.com/abap/bapi/example.htm
http://www.sapdevelopment.co.uk/bapirfc/bapirfchome.htm
Regards,
Azaz Ali. -
BAPI for VA02 to check availability & update the Schedule lines
Hi Experts,
Is there a BAPI which can 'check item availability' & update the Schedule lines for the same order?
I have checked 'RV_AVAILABILITY_CHECK' 'BAPI_MATERIAL_AVAILABILITY' 'SD_BACKORDER_UPDATE'
but it is not solving the purpose.
Kindly give your suggestion for the same.
Thanks.Hi,
Please let me know if you were able to achieve this functionality. I have a similar requirement wherein I need to check for the material availability and update the schedule lines in the scheduling agreement. I checked the FM SD_BACKORDER_UPDATE, but it doesn't seem to be helpful.
Regards,
Dawood -
How to update VBEP-AESKD (sales order-schedule lines) through a BAPI?
Hello experts,
I have the rquirement to change the fields AESKD and *SERNR *in VBEP. BAPI_SALESORDER_CHANGE seems not to provide the facility to deal with this field.
Question is: How do I update fields that are not availabe in the BAPI (SCHEDULE_LINES--> BAPISCHDL).
Is there another way?
Any suggestion is welcome!
C.N.Hi Sara,
well, I ended up doing it in MV45AFZZ in FORM userexit_save_document_prepare.
There you have access to the full VBEP before it is saved. The best point of entry might differ for you depending on your requirements.
The values have been previously saved in a Z-function group memory using two Z-functions - one to save the values to the FM memory and one to retrieve them. The Z-functions/function group were/was created just for this purpose.
They are just used to 'transfer' data from the point when I call the BAPI to the point 'in' the BAPI.
In this specific case 'BAPI_SALESORDER_CHANGE' is used. The FM that 'remembers' the value is called right before the call of the BAPI.
But this has to be used w/ extreme caution as there is no good validation done by SAP at this point etc.!
Did you find another way?
How did you solve this matter?
Cheers,
Chris
Edited by: Chris N. on Jan 15, 2010 10:45 AM -
Purpose of FACTORYDATE export parameter in date_convert_to_factorydate
purpose of FACTORYDATE export parameter in the bapi date_convert_to_factorydate . I want to know that the decimal value it holds, is what .
purpose of FACTORYDATE export parameter in the bapi date_convert_to_factorydate . I want to know that the decimal value it holds, is what .
Maybe you are looking for
-
Assign the Asset "Tag Number" at PO receipt stage
Our customer has a requirement to enter the Asset Tag Number for an item when the purchase order is receipted (or even at inspection stage for 4-way match PO's). The tag number entered, should then flow through to the FA module. Does anyone know if t
-
How to charge the mouse on IMac?
how to I block certain emails on my IMac?
-
How to make a physical standby database in the read_only state in 11g?
In 10g, we can make a physical standby database in the read_only state. But in 11g, no a read_only state for a physical standby database. How to make a physical standby database in the read_only state in 11g?
-
Synchronization with Mobile Server using Websphere MQ
Hi! Can anybody tell me how to carry out synchronization between Lite and Mobile Server via Websphere MQ messaging system? Unfortunately, in our case MQ queues is the only way to communicate between Mobile client and Mobile Server thus we can't use H
-
Hi, I have an issue problem on one PE (PE-3), if I doing test from the neighbor or another PE to PE-3 using "ping mpls pseudowire <loopback PE-3> <VCID>" and ping using vrf to PE-3 there is many packet loss, but ping test to loopback PE-3 is normal