What the following bapis do?
Hi all. Can anyone pls tell me what the following bapis do and what is the difference between them?
PT_ARQ_REQUEST_CHECK
PT_ARQ_REQUEST_EXECUTE
and
PT_ARQ_REQUEST_PREPARE.
Also let me know that if it is required to create a custom application in EP which will integrate with SAP r3 through BAPis how many and what all bapis would be required to be created. mentioned below is the scenario ->
we want to develop an application lor festival holiday advance - where employee will see the max amount which he can apply for - in EP ( from r3) - for a festival advance, a list of festivals he can choose from (from r3) . Now when employee applies for the advance, it has to get stored in a database table temporarily with status as applied. A workflow will then send this request to HR head. When he approves it, the record will get stored in infotype 15 and will get deleted from db table.
Thanks
The BAPIs you mentioned are used by the Leave Request WebDynpro to process an employee's leave request. these RFcs are invoked via the WebDynpro. YOu can look up the function modlue documentation in SE37 for additional info.
For the second part, it might be better to create a custom infotype that mainatins the Festival advance details & build a WebDynpro to mainatin the infotype in ESS. The max amt & the f4 help for list of festivals can be puleed from the backend into the WebDynpro using the ABAP dictionary objects itself. So, one RFC along the lines of HR_INFOTYPE_OPERATION should be enough. I am not sure of the process, but a workflow event can be linked to this infotype & again make use of HR_INFOTYPE_OPERATION to create a 0015 when HR Lead approves the request.
I guess, you can start off with this design & suggest you refer to the WebDynpro forums too..
~Suresh
Similar Messages
-
What is the use of the following BAPI ?
Please tell me the functionality of the following BAPI : BAPI_CTRACDOCUMENT_CHANGE
Regards,
SaiHi,
Short Text
BAPI: FI-CA Change Document
Functionality
You can change docuements with this method. Only changes to business partner items are permitted. See the interfaces for the changeable fields. You can create or delete locks on the items.
Parameters
DOCUMENTNUMBER
DOCUMENTHEADER
DOCUMENTHEADERX
RETURN
PARTNERPOSITIONS
PARTNERPOSITIONSX
REPETITIONPOSITIONS
REPETITIONPOSITIONSX
POSITIONLOCKS
EXTENSIONIN
Document Number
Number of the document that is to be changed.
BAPI: Change Structure for Document Header
Document header - modifiable fields
BAPI: Change Structure for Document Header
Select the fields changed in the parameter DocumentHeader.
Retunr : Confirmations
A method return code. The method was successful if the parameters do not contain a message code.
Value range
The most important messages are as follows:
A B1 500 Error during ISO conversion
E >BAPI 005 006 Formal error in document data
E >BAPI 009 Formal error in lock data
E >0 >4 Incorrect data for document
Partner Positions : Line items (open items)
Items of a document - modifiable fields.
Partner Positionsx : Changes to open items
Mark the fields that were changed in the "PartnerPositions" parameter. The link is realized by the 'LINE_NUMBER' field.
Repitition Positions : Line items (repetition specifications)
Repetition specifications for statistical line items for contract accounts - changeable fields.
Repitition Positionsx : Changes to repetition specfications
Here you must mark all the fields that were changed in parameter 'RepetitionsPositios'. The link is realized by the 'LINE_NUMBER' field.
Position Locks : Locks on open items
Process blocks for contract account items.
Existing blocks cannot be changed. You can only create new blocks, (PROCESSING_MODE '01') or delete existing ones (PROCESSING_MODE '04'). If you delete blocks, all blocks for the selected line items, (REP_ITEM, ITEM, SUB_ITEM) and the process IDs (PROCESS_ID) corresponding to the fields LOCKR (Blockin Reason), FDATE (From Date) and TDATE (To Date) are deleted. If, for example, only the field LOCKR had an entry, all blocks that have this blocking reason are deleted.
Extensionin : Customer Enhancements
Parameters for transferring customer-defined data. This data is automatically transferred to the customer-defined enhancements to SAP tables as part of the 'BAPI Table Extensions'.
Value range
The following BAPI table extensions exist:
BAPI_TE_DFKKOPCH for structure DFKKOP
Parameter PARTNERPOSITIONS must contain one line that displays the same LINE_NUMBER and identifies the open item.
BAPI_TE_DFKKOPCHX - Checklist for BAPI_TE_DFKKOPCH
This extension must contain the fields with the same name (type C(1)). The fields that were changed in the structure BAPI_TE_DFKKOPCH must be highlighted.
For more information, see the documentation for structure BAPIPAREX.
Regards,
Padmam. -
Can anyone tell me what the following error code means? 4MOT/2/40000004: BOOSTA-1235
Fans are running permanantly and this is the error I get when running apple hardware test.SNS is a sensor error. The sensors read actual temperatures at several points inside the Mac chassis to decide when things are heating up, and which fan or fans speed up to improve cooling.
Some of those sensrs are just a thermal-sensitive transistor mounted to a surface that conducts heat, and replacement does not run into big money. Disconnected wires are sometimes a possibility, especially if things were changed nearby, e.g., new heatsink. -
Hi can any one help
I keep getting the following error code when I try and down a ebook which I have purchase
Error getting License. License Server Communication Problem:
E_ACT_NOT_READY
can someone advise me what this means and how I recifty the problem to enable me to read the ebook purchase?
ThanksI am having this exact issue. I just downloaded a book and went to open it and got this exact problem.
I purchased he book through indigo/kobo edition and paid for it and immediately went to open it and am getting the same error
Error getting License. License Server Communication Problem only mine says Bad Device key after.
Not sure why someone has not answered this question yet...i am using windows 7 and this is how i always do it. Never had this problem before when purchasing a book.
i hope someone answers this soon. -
What the following Code does?
public Iterator iterator()
String hello =
"Hello '"
+ _message
+ "', from HelloWorldDataProvider '"
+ getName()
+ "'";
Object[] array = new Object[] { hello };
return Arrays.asList(array).iterator();
also please tell me if variable name format like......the following is used for any special case??
private String _message
waiting for an early help.riddhi wrote:
public Iterator iterator()
String hello =
"Hello '"
+ _message
+ "', from HelloWorldDataProvider '"
+ getName()
+ "'";
Object[] array = new Object[] { hello };
return Arrays.asList(array).iterator();
}It looks to me like a salutation for each entry in array
also please tell me if variable name format like......the following is used for any special case??
private String _messageAll that is doing is declaring _message as a String--what ever the applicatoin does with it is totally seperate.
waiting for an early help.I can see you are trying very hard to reverse engineer something.... A lot of the time the context of what the objects are that you are trying to reverse engineer is helpful. -
Anyone know what the following error is?
Approx. 5-10 minutes after I boot up my early 2011 MacBook Pro, I get the following error in the Console window:
5/18/12 8:54:23.863 AM KernelEventAgent: tid 00000000 received event(s) VQ_NOTRESP (1)
This will be followed almost immediately by a NFS server not responding error. This only occurs if I boot normally -- if I boot up in Safe mode, the error never occurs. These errors will repeat 5-8 times. Each time they occur, the screen will become totally unresponsive and you sometimes get the spinning wheel of death.
This seems to have started after the last updates to the O/S from Apple about 2 months ago.
Any help would be greatly appreciated!
RickFinally found the problem -- it's Time Machine! Seems that if something gets corrupted in Time Machine's ability to mount local snapshots, it will cause these errors. Turning off local snapshots in Time Machine can make the problem disappear -- only way to fix it permanently seems to be to reload OS/X from scratch.
You can find directions for fixing the problem here:
http://pondini.org/TM/30.html
Scroll down the page until you find the blue box for the necessary directions.
Just make sure you either cut and paste the command or type it carefully into Terminal! -
I was trying to burn a DVD from files in a burn folder. They were pictures from my Nikon camera. I can play videos and movies from the same dvd player. Thanks for any help you can offer,
Thanks for your reply:
I did find an error log related to the error code and tried all suggestions on the list of recommendations, still no luck
I definitely am running OS X10.5.8 (hopefully will be updating later on this month)
I tried several brand new discs from the same box, still no luck.
My last option is to go out and try a different brand, guess I'll go with Verbatim this time but I think I'll poke around some more before buying 20 more new discs. -
What the advantages of having an BAPI over Other data migrations
What the advantages of having an BAPI over Other data migrations
Th advantages of BAPI
1. Simple to use (its just an FM)
2. Not cumbersome like bdc
where we have to record each and every screen
sequence.
3. SAP guarantees the consistency
of bapi in future releases.
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.
Refer the transaction BAPI for detail information.
You can also refer to below links:
http://www.sapgenie.com/abap/bapi/example.htm
Basic learning guide:
http://searchsap.techtarget.com/originalContent/0,289142,sid21_gci948835,00.html
BAPI intro:
http://www.sappoint.com/abap/bapiintro.pdf
Overview:
http://www.planetsap.com/Bapi_main_page.htm
Also have a look at the following link :
http://www.planetsap.com/LIST_ALL_BAPIs.htm
Go through the following Document
Bapi to create customer master
BAPI_CUSTOMER_CREATEFROMDATA
BAPI_CUSTOMER_CREATEFROMDATA1
Or you can use FM SD_CUSTOMER_MAINTAIN_ALL
what is 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.
The following standardized BAPIs are provided:
Reading instances of SAP business objects
GetList ( ) With the BAPI GetList you can select a range of object key values,
for example, company codes and material numbers.
The BAPI GetList() is a class method.
GetDetail() With the BAPI GetDetail() the details of an instance of a business object type are retrieved
and returned to the calling program.
The instance is identified via its key.
The BAPI GetDetail() is an instance method.
BAPIs that can create, change or delete instances of a business object type
The following BAPIs of the same object type have to be programmed
so that they can be called several times within one transaction.
For example, if, after sales order 1 has been created, a second sales order 2 is created in the same transaction,
the second BAPI call must not affect the consistency of the sales order 2.
After completing the transaction with a COMMIT WORK, both the orders are saved consistently in the database.
Create( ) and CreateFromData! ( )
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.
Check these Links out
http://searchsap.techtarget.com/ateQuestionNResponse/0,289625,sid21_cid558752_tax293481,00.html
http://www.sap-img.com/abap/interview-question-on-bapi-rfc-abap-objects-tables.htm
http://www.sap-img.com/fu033.htm
http://www.sap-img.com/abap/ale-bapi.htm
Please check out this thread..
Re: bapi
Also refer to the following links..
www.sappoint.com/abap/bapiintro.pdf
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#
http://www.sap-img.com/bapi.htm
http://www.sap-img.com/abap/bapi-conventions.htm
http://www.sappoint.com/abap/bapiintro.pdf
Java Connector(JCO) can call not only BAPI's but also the function modules which are remotely enabled..
BAPI's as i said earlier are remotely enabled function modules..
Hence, JCO can call also BAPI's(n not only BAPI's as u mentioned).
Check the following BDC over 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. -
What is badi&bapi whats the use for both
plz send me reply
Hi Rajyalakshmi,
<b>BADI</b>
Business add-ins are enhancements to the standard version of the system.
Business Add-In is a new SAP enhancement technique based on ABAP Objects.
They can be inserted into the SAP system based on specific user requirements.
Each Business Add-In has:
at least one Business Add-In definition
a Business Add-In interface
a Business Add-In class that implements the interface
In order to enhance a program, a Business Add-In must first be defined
Subsequently two classes are automatically generated:
An interface with IF_EX_ inserted between the first and second characters of the BADI name.
An adapter class with CL_EX_ inserted between the first and second characters of the BADI name.
The Application developer creates an interface for this Add-In.
There are multiple ways of searching for BADI.
Finding BADI Using CL_EXITHANDLER=>GET_INSTANCE
Finding BADI Using SQL Trace (TCODE-ST05).
Finding BADI Using Repository Information System (TCODE- SE84).
1. Go to the Transaction, for which we want to find the BADI, take the example of Transaction VD02. Click on System->Status. Double click on the program name. Once inside the program search for CL_EXITHANDLER=>GET_INSTANCE.
Make sure the radio button In main program is checked. A list of all the programs with call to the BADIs will be listed.
The export parameter EXIT_NAME for the method GET_INSTANCE of class CL_EXITHANDLER will have the user exit assigned to it. The changing parameter INSTANCE will have the interface assigned to it. Double click on the method to enter the source code.Definition of Instance would give you the Interface name.
2. Start transaction ST05 (Performance Analysis).
Set flag field "Buffer trace"
Remark: We need to trace also the buffer calls, because BADI database tables are buffered. (Especially view V_EXT_IMP and V_EXT_ACT)
Push the button "Activate Trace". Start transaction VA02 in a new GUI session. Go back to the Performance trace session.
Push the button "Deactivate Trace".
Push the button "Display Trace".
The popup screen "Set Restrictions for Displaying Trace" appears.
Now, filter the trace on Objects:
V_EXT_IMP
V_EXT_ACT
Push button "Multiple selections" button behind field Objects
Fill: V_EXT_IMP and V_EXT_ACT
All the interface class names of view V_EXT_IMP start with IF_EX_. This is the standard SAP prefix for BADI class interfaces. The BADI name is after the IF_EX_.
So the BADI name of IF_EX_CUSTOMER_ADD_DATA is CUSTOMER_ADD_DATA
3. Go to Maintain Transaction (TCODE- SE93).
Enter the Transaction VD02 for which you want to find BADI.
Click on the Display push buttons.
Get the Package Name. (Package VS in this case)
Go to TCode: SE84->Enhancements->Business Add-inns->Definition
Enter the Package Name and Execute.
Here you get a list of all the Enhancement BADIs for the given package MB.
Have a look at http://help.sap.com/saphelp_nw04/helpdata/en/04/f3683c05ea4464e10000000a114084/content.htm
http://help.sap.com/saphelp_erp2005/helpdata/en/73/7e7941601b1d09e10000000a155106/frameset.htm
http://support.sas.com/rnd/papers/sugi30/SAP.ppt
http://www.sts.tu-harburg.de/teaching/sap_r3/ABAP4/abapindx.htm
http://members.aol.com/_ht_a/skarkada/sap/
http://www.ct-software.com/reportpool_frame.htm
http://www.saphelp.com/SAP_Technical.htm
http://www.kabai.com/abaps/q.htm
http://www.guidancetech.com/people/holland/sap/abap/
http://www.planetsap.com/download_abap_programs.htm
http://help.sap.com/saphelp_nw04/helpdata/en/c8/1975cc43b111d1896f0000e8322d00/content.htm
<b>BAPI</b>
BAPI stands for Business API(Application Program Interface).
I have answered this question before..
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.
The following standardized BAPIs are provided:
Reading instances of SAP business objects
GetList ( ) With the BAPI GetList you can select a range of object key values, for example, company codes and material numbers.
The BAPI GetList() is a class method.
GetDetail() With the BAPI GetDetail() the details of an instance of a business object type are retrieved and returned to the calling program. The instance is identified via its key. The BAPI GetDetail() is an instance method. BAPIs that can create, change or delete instances of a business object type
The following BAPIs of the same object type have to be programmed so that they can be called several times within one transaction. For example, if, after sales order 1 has been created, a second sales order 2 is created in the same transaction, the second BAPI call must not affect the consistency of the sales order 2. After completing the transaction with a COMMIT WORK, both the orders are saved consistently in the database.
Create( ) and CreateFromData! ( )
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.
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
BAPI-step by step
http://www.sapgenie.com/abap/bapi/example.htm
list of all bapis
http://www.planetsap.com/LIST_ALL_BAPIs.htm
BAPI Links :
http://searchsap.techtarget.com/ateQuestionNResponse/0,289625,sid21_cid558752_tax293481,00.html
http://www.sap-img.com/abap/interview-question-on-bapi-rfc-abap-objects-tables.htm
http://www.sap-img.com/fu033.htm
http://www.sap-img.com/abap/ale-bapi.htm
Re: bapi
www.planetsap.com/Bapi_main_page.htm
www.sapgenie.com/abap/bapi/index.htm
http://searchsap.techtarget.com/originalContent/0,289142,sid21_gci948835,00.html
Hope this resolves your query.
Reward all the helpful answers.
Regards -
HAI pls tell me about a bapi.i know is a FM.
what is the differance between normal FM and a BAPI.
pls explain with a small senario..Hi,
Check this!
what is 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.
The following standardized BAPIs are provided:
Reading instances of SAP business objects
GetList ( ) With the BAPI GetList you can select a range of object key values, for example, company codes and material numbers.
The BAPI GetList() is a class method.
GetDetail() With the BAPI GetDetail() the details of an instance of a business object type are retrieved and returned to the calling program. The instance is identified via its key. The BAPI GetDetail() is an instance method. BAPIs that can create, change or delete instances of a business object type
The following BAPIs of the same object type have to be programmed so that they can be called several times within one transaction. For example, if, after sales order 1 has been created, a second sales order 2 is created in the same transaction, the second BAPI call must not affect the consistency of the sales order 2. After completing the transaction with a COMMIT WORK, both the orders are saved consistently in the database.
Create( ) and CreateFromData! ( )
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
Regards,
Renjith Michael. -
What is the difference between the following 2 hints?
What is the difference between the following 2 hints?
USE_NL
USE_NL_WITH_INDEXhttp://download.oracle.com/docs/cd/B19306_01/server.102/b14200/sql_elements006.htm#SQLRF50701
Oracle Documentation starts @ http://tahiti.oracle.com -
I am suddenly unable to open my pictures in Adobe Photoshop. It gives the following message: The document “Tina-19.jpg” could not be opened. Photoshop cannot open files in the “Adobe Photoshop JPEG file” format.
What does this mean? I have opened my photos in Adobe Photoshop for years and suddenly I get this message and can't open any of my picturesJoeLib wrote:
You type way faster than me Gene.
Well, not necessarily in this case.
According to the time stamp, Gene posted his answer a bit over three hours before you did, Joe.
Gene's post: Dec 29, 2014 5:54 PM
Joe's post: Dec 29, 2014 8:57 PM -
if(exist chrome.exe $true)
echo internet is ready
else
echo get chrome!!
I want to use the above script to cause the shell to display either "internet is ready" or "get chrome!!" depending on whether or not a user has Chrome but the shell keeps giving the following error message.
Missing statement block after if ( condition ).
At line:2 char:1
What is a statement block, and how do I use it to display the text?This might work okay in .BAT but I don't think so much in Powershell. You are trying to do an IF ( ) statement, but you have no parameters after that.
A pancake of how an IF statement works in Powershell:
If (statement -like "True") { Script info if condition is true } else { script info if condition is false }
In your case, you need to test the path of Chrome to see if it exsists. I don't have Chrome installed, but I do have IE. You just need to change the path to where the Chrome.exe is installed.
ps - the Echo equiv in Powershell is Write-Host
$TestBrowser = Test-Path "C:\Program Files (x86)\Internet Explorer\iexplore.exe"
if ($TestBrowser -like "True")
Write-Host the internets is ready!
else
Write-Host the internets is not ready
Similiarly, you don't need to use $TestBrowser in your If ( ) statement, you can just use the operational param $?, which should return true or false depending on the last error message. -
What do "w/" and "w/o" stand for in the following paragragh?
What do "w/" and "w/o" stand for in the following paragragh?
[root@fedora ~]#ps --help
********* simple selection ********* ********* selection by list *********
-A all processes -C by command name
-N negate selection -G by real group ID (supports names)
-a all w/ tty except session leaders -U by real user ID (supports names)
-d all except session leaders -g by session OR by effective group name
-e all processes -p by process ID
T all processes on this terminal -s processes in the sessions given
a all w/ tty, including other users -t by tty
g OBSOLETE -- DO NOT USE -u by effective user ID (supports names)
r only running processes U processes for specified users
x processes w/o controlling ttys t by tty
*********** output format ********** *********** long options ***********
-o,o user-defined -f full Group User pid cols --ppid
-j,j job control s signal group user sid rows --info
-O,O preloaded -o v virtual memory cumulative format --deselect
-l,l long u user-oriented sort tty forest version
-F extra full X registers heading no-heading --context
********* misc options *********
-V,V show version L list format codes f ASCII art forest
-m,m,-L,-T,H threads S children in sum -y change -l format
-M,Z security data c true command name -c scheduling class
-w,w wide output n numeric WCHAN,UID -H process hierarchy
[root@fedora ~]#w/ = with
w/o = without
these abbreviations are in common usage in the English language and frequently encountered in legal and technical documents
When you run into strange abbreviations or acronyms, you could turn to the internet and check on http://acronyms.thefreedictionary.com/ for possible translations -
Hi - I keep receiving the following error message on a song I purchased from itunes and am now trying to drag and drop to my iPad: "you must download items from icloud before you can copy then to iPad" what does this mean - please help! Thank you
Hi Poonam26c,
If you do not have a local copy of a song which you have purchased (i.e. it is available via iTunes in the Cloud), you may need to redownload it before you can transfer it to your device. You may find the following article helpful:
Apple Support: Downloading past purchases from the iTunes Store, App Store, and iBooks Store
http://support.apple.com/kb/HT2519
Regards,
- Brenden
Maybe you are looking for
-
How do I unlock voice activation on iphone
How do I unlock voice activation on iPhone 4
-
How to Create new PDF Report in ORacle Apex3.2 without having XML Publisher
I am an Apex developer , my requirement is to develop the PDF file from Apex 3.2 with out using Oracle BI Publisher. Can anyone let me know the possibility?? Thanks, Dhana
-
New mail notification counter not appearing in dock
I've noticed recently that my new mail notification counter doesn't appear in the dock if I have Mail sitting in the background. I can be working in, say, Word, and not know I have new mail. Yet, when I go to Mail there are emails sitting there (and
-
I WANT Acrobat 8.1 as my default viewer
I have an application for Acrobat Pro that uses application level java scripts. The documents that I work with come from Internet submissions. I would like to be able to open these documents from the web browser automatically (without having to save
-
WRT160N Router Firmware - Download page incorrect
I am trying to check if the firmware on my new WRT160N was the latest (I have 1.02.4-CA). I found to the Linksys Canada support page for the WRT160N (http://www-ca.linksys.com/servlet/Satellite?c=L_Content_C1&childpagename=CAen%2FLayout&cid=115378111