BAPI WRAPPER
Hi,
I'm facing a new problem concerning Bapi wrapper when i try to insert new data.
Actually, i get a message from the DOE, telling me that the bapi wrapper does not return any header key.
The problem is that, the primary key in the backend table is a composite primary key. Therefore, no primary key is generated while datas are inserted.
Is there any way to dodge this problem ?
Thanks
Hi,
I understand that you are trying to create a new entry in backend via DOE.
Create BAPI wrapper is invoked passing these keys generated in custom service.
Is this data getting inserted correctly in the BE table?
The create BAPI wrapper's Exporting parameterlist will be containing the header keys (multiple keys in your case).
I suppose these keys given there will be available when Create BAPI is executed(even if they are generated in custom service and given to BE)
These keys in exported parameter list should be filled in proper values..
Are you seeing these filled already?
Regards,
Liji
Similar Messages
-
Mapping tool: mapping child nodes (level2 hierarchy) to bapi wrapper fields
Hi,
I'm new to MI7.1. I'll try the demo on help.sap.com. I have following data object EQUIPMENT with node structure in DOE:
ROOTNODE (attr: EQUIPMENT_ID/ SERIAL_NO)
child node level 1 DETAILS (attr: SERIAL_NO/TYPE/BRAND/INSTRUCTIONS)
child node level 2 LOCATION (attr: SERIAL_NO/ADDRESS_LINE1/
ADDRESS_LINE2/ZIP_CODE/...)
In backend my bapi wrapper is build using structures:
TOP: ZSEQUIPMENT (attr: EQUIPMENT_ID/SERIAL_NO)
010: ZSEQUIPMENT_DET(attr: SERIAL_NO/TYPE/BRAND/INSTRUCTIONS)
020: ZSLOCATION(attr: SERIAL_NO/ADDRESS_LINE1/...)
When i want to use mapping tool in middleware for the backend adapter, after mapping the fields, during activation i get the error:
Referential integrity between node DETAILS and it's parent is not complete.
Referential integrity between node LOCATION and it's parent is not complete.
What does that mean? How can I solve this?
thanks
PeterSolved it myself with explicit key mapping. thanks anyway
-
How to pass table values in Create Bapi Wrapper
Hi All,
Am using create BAPI Wrapper in that how to map the fields inside BAPI Import Structure .
Thanks&Regrads,
ArunHi,
Am using standard RFC " QIBP_INSPCHAR_SETRESULT " for creating result recording in SAP QM. And BAPI_INSPOPER_GETDETAIL for getdetail i want to create BAPI wrapper for these 2 i already created BAPI wrapper for get detail . I dont know how to create Create BAPI wrapper.
In QIBP_INSPCHAR_SETRESULT am passing inupt
INSPLOT LIKE QALS-PRUEFLOS
INSPOPER LIKE QAPO-VORNR
INSPCHAR LIKE QAMV-MERKNR
INSPSAMPLE LIKE QASV-PROBENR
CHAR_RESULT LIKE BAPI2045D2
so i want to know how i can pass 1 . CHAR_RESULT structrue values
2. INSPLOT,INSPOPER,INSPCHAR again repting inside CHAR_RESULT so how to map these
in SDOE_WB
Pls explain how to create BAPI Wrapper for this and how to map details. -
GETLIST BAPI Wrapper for Purchase Requisiton
HI All,
I want to know the GETLIST BAPI Wrapper for Purchase Requisition in ECC 6.0 . I am able to find GETDETAIL but not GETLIST.
It would be nice if anyone could help me out in this.
Regards,
Madhu.
Edited by: madhu kv on Jul 8, 2008 10:53 AMIn that case you could just write your own custom function module to do it. All you need to do is write a simple select statement to return a table of document numbers. It shouldn't take more than an hour to have it all up and running. You could add a parameter to the interface so that it either returns just a list of document numbers or if the parameter is set, it calls GET_DETAIL for each document and returns the full data.
Good luck -
UR: Regarding BAPI Wrapper
Hi SDN.
there is a standard bapi BAPI_PO_GETITEMSREL.
I created an RFC ZBAPI_PO_GETITEMSREL.... But i want 2 know whether the RFC i created is said to be a BAPI Wrapper or not ???
because actually i'm in need of BAPI Wrapper.
here is the code ....
FUNCTION ZBAPI_PO_GETITEMREL.
""Local Interface:
*" IMPORTING
*" VALUE(I_REL_GROUP) LIKE BAPIMMPARA-REL_GROUP OPTIONAL
*" VALUE(I_REL_CODE) LIKE BAPIMMPARA-REL_CODE OPTIONAL
*" VALUE(I_ITEMS_FOR_RELEASE) LIKE BAPIMMPARA-SELECTION DEFAULT
*" 'X'
*" TABLES
*" ET_PO_HEADERS STRUCTURE BAPIEKKOL
*" ET_PO_ITEMS STRUCTURE BAPIEKPOC
*" RETURN STRUCTURE BAPIRETURN OPTIONAL
if I_ITEMS_FOR_RELEASE is initial.
CALL FUNCTION 'BAPI_PO_GETITEMSREL'
EXPORTING
REL_GROUP = I_REL_GROUP
REL_CODE = I_REL_CODE
ITEMS_FOR_RELEASE = ' '
TABLES
po_headers = ET_PO_HEADERS
po_items = ET_PO_ITEMS
RETURN = RETURN .
else.
CALL FUNCTION 'BAPI_PO_GETITEMSREL'
EXPORTING
REL_GROUP = I_REL_GROUP
REL_CODE = I_REL_CODE
ITEMS_FOR_RELEASE = 'X'
TABLES
po_headers = ET_PO_HEADERS
po_items = ET_PO_ITEMS
RETURN = RETURN .
ENDIF.
ENDFUNCTION.Hi,
to use it with MI you need to have:
GETLIST
and
GETDETAIL
warpper. Check the documentation in MDK to have a better understanding of the complete process. There is a good example for this and you can take the code from there and change it to your needs.
The single code you send will not help you any further cause it is missing the clear structure between GETLIST and GETDETAIL - that is standard MI behaviour and necessary for correct results. Without this you even can not create any SyncBO in MEREP_SBUILDER.
Hope this helps to bring you any further.
Regards,
Oliver -
Delete bapi wrapper with multi node object
In delete bapi wrapper how do I discover if only the subnode was deleted ?.
Because the user can delete operation of the orderm and operation is subnode of object Orderm.Hi esoliveira ,
Ex: OrderHeader (Root)
--- OrderItems (Child level1)
OrderSubItems (Child level2)
In this scenario, MODIFY will be called when
1--> Root is updated
2--> Child1 is updated/Deleted.
3--> Child2 is updated/Deleted.
Ex: When you delete OrderSubItems(Child2) on client and sync, DOE will call MODIFY BAPI pasing only OrderHeader(Root) and OrderItems(child level1). Your MODIFY BAPI should have code/logic to upate Root,OrderItems and delete OrderSubItems.
Only when you delete OrderHeader on client and sync, DOE will call call the DELETE BAPI by passing the primary key of root(OrderHeader). Your DELETE BAPI should have the logic to clean the child tables (OrderItems and OrderSubItems) and then delete the root(OrderHeader) in the Backend.
Regards
Rohith -
To create BAPI Wrapper for Sales Order Creation
Hi Experts,
I'm working upon MI 7.1 to create mobile application for creation of sales order.
I've to create Sales Order BAPI Wrapper (Getlist, Get Detail & Create) using Standard BAPI's (BAPI_SALESORDER_GETLIST & BAPI_SALESORDER_CREATEFROMDAT2).
Kindly guide me for how to proceed with the above. Which all other BAPI's do I require except above?
PS: I was trying to call standard BAPI's but while executing the BAPI Wrapper it asks about Customer No. & Sales Org. then only I'll get the output.
my requirement is I should get list of all the sales order's existing in the Back-end, once I execute the BAPI Wrapper.
RomiHi,
if it comes to bapis on the backend, there are not so many changes from MI7.0 to MI7.1 as in the UI for example. So you still need the backend adapters like GETLIST/GETDETAIL/CREATE as they where necessary in 7.0.
If you need an example on how these should look like - do you have a full blown backend available? Have a look if you can find the following BADIS in SE37 in the backend: MAM30_050_GETLIST. If you can find this one, have a look how it is working. That one should help you to get an idea on how the replication is working and how the complete stuff works. The create should be straight forward development then.
You furthermore can have a look into the URL mentioned aboveand as well in the complete MI7.0 dokumentation if you take it just to get a general idea on how the stuff works. But the URL mentioned above should be enough in a normal case.
Regards,
Oliver -
Creating GetList Bapi Wrapper for Sales Order
Hi All,
I am not at all into CRM, but there is some problem I have which is related to it.
In the Sales-TeleSales transactions, I create a sales Order.
Now there is much data that is there which is linked to this Sales Order like
1) Telesales
2) Item
3) Sold-to-party
4) Product
5) Quantity
6) Req-del-date
7) Currency
8) Region
9) Country
10) Net Value
11) Discount
12) Tax amount
13) Gross Value
14) Partner
I need to create a BAPI Wrapper to get all the Header and Detail data.
I am thinking of finding a BAPI or a Function Module which does this job and calling it in my BAPI Wrapper.
Now I want you people to tell me the Appropriate BAPIs or FMs which will do this job for me.
I need almost all these fields to be returned by my Bapi Wrapper.
Please ask for Clarifications...
Lookin forward to responses...
AnkurHi Ankur,
You can Call the FM : CRM_ORDER_MAINTAIN within your BAPI wrapper.
For testing purpose there is a Standard Report on this FM , Report name : 'CRM_TEST_ORDER_MAINTAIN'.
Hope this will be helpful to you
Regards,
Anand. -
when creating CHANGE bapi wrapper , is there any rule that should follows
Except the rule define below, is there any rule/logic define inside the function?
Import Structure to hold the BO header data being modified
Tables Table(s) to hold the list(s) of associated item data, which are used to replace (add/modify/delete) the item data
RETURN as Export or Tables parameter
i have read somewhere, that in the change bapi wrapper,i need to replace the existing rows...
my problem is when i modify the value
<b><u>0001</u> Abu 1 </b>
change to
<b><u>0001</u> Abu 2</b>
after i sync
<u>0002</u> Abu 1 <<---data is not modified and syncKey changed
i new syncKey created and i check merep_10100 the old synckey eg: 0001 rows is deleted and new syncKey 0002 is created.
Is this the change bapi wrapper logic error ?
Message was edited by:
yzme yzme
Message was edited by:
yzme yzmei think i have difficulties understand you "raam"....
can you explain more......
the post that i post earlier is an example to make it simple for ppl to understand .
the real data is down here.
<b><u>Change Bapi Wrapper</u></b>
FUNCTION zemi_am_p2p_v1.
*"*"Local interface:
*" IMPORTING
*" VALUE(AM_DATA) LIKE ZASTMS STRUCTURE ZASTMS
*" EXPORTING
*" VALUE(RETURN) LIKE BAPIRET2 STRUCTURE BAPIRET2
*" TABLES
*" AM_DETAILS STRUCTURE ZASTMS OPTIONAL
DATA : v_date LIKE sy-datum,
var1 LIKE balm-msgv1,
var2 LIKE balm-msgv2.
REFRESH : bdcdata, messtab.
CLEAR : bdcdata, messtab, v_date.
*v_msg,
CONCATENATE am_data-anln1 am_data-werks am_data-stort sy-datum sy-uzeit INTO zztable-char100
SEPARATED BY space.
INSERT zztable.
SELECT SINGLE * FROM anla WHERE anln1 = am_data-anln1
AND bukrs = '1000'.
SELECT SINGLE * FROM anlz WHERE anln1 = am_data-anln1
AND bukrs = '1000'.
SELECT SINGLE * FROM anlh WHERE anln1 = am_data-anln1
AND bukrs = '1000'.
CONCATENATE anla-aktiv+6(02) anla-aktiv+4(02) anla-aktiv(04) INTO v_date.
call function 'ZBAPI_AM_P2P'
exporting
v_anln = anla-anln1
v_stort = am_data-stort
v_txt50 = anla-txt50
v_anlhtxt = anlh-anlhtxt
v_kostl = anlz-kostl
v_werks = anlz-werks
v_date = v_date.
* importing
*v_msg = v_msg.
APPEND am_data TO am_details.
ENDFUNCTION.
FUNCTION zbapi_am_p2p.
*"*"Local interface:
*" IMPORTING
*" VALUE(V_ANLN) LIKE ANLA-ANLN1 OPTIONAL
*" VALUE(V_STORT) LIKE ANLZ-STORT OPTIONAL
*" VALUE(V_TXT50) LIKE ANLA-TXT50 OPTIONAL
*" VALUE(V_ANLHTXT) LIKE ANLH-ANLHTXT OPTIONAL
*" VALUE(V_KOSTL) LIKE ANLZ-KOSTL OPTIONAL
*" VALUE(V_WERKS) LIKE ANLZ-WERKS OPTIONAL
*" VALUE(V_DATE) LIKE SY-DATUM OPTIONAL
*" EXPORTING
*" VALUE(V_MSG) TYPE STRING
DATA : var1 LIKE balm-msgv1,
var2 LIKE balm-msgv2.
PERFORM open_group.
PERFORM bdc_dynpro USING 'SAPLAIST' '0100'.
PERFORM bdc_field USING 'BDC_OKCODE' '=MAST'.
PERFORM bdc_field USING 'ANLA-ANLN1' v_anln.
PERFORM bdc_field USING 'ANLA-ANLN2' '0'.
PERFORM bdc_field USING 'ANLA-BUKRS' '1000'.
PERFORM bdc_dynpro USING 'SAPLAIST' '1000'.
PERFORM bdc_field USING 'BDC_OKCODE' '=TAB02'.
PERFORM bdc_field USING 'ANLA-TXT50' v_txt50.
PERFORM bdc_field USING 'ANLH-ANLHTXT' v_anlhtxt.
PERFORM bdc_field USING 'ANLA-AKTIV' v_date.
PERFORM bdc_dynpro USING 'SAPLAIST' '1000'.
PERFORM bdc_field USING 'BDC_OKCODE' '=BUCH'.
PERFORM bdc_field USING 'ANLZ-KOSTL' v_kostl.
PERFORM bdc_field USING 'ANLZ-WERKS' v_werks.
PERFORM bdc_field USING 'ANLZ-STORT' v_stort.
PERFORM bdc_dynpro USING 'SAPLAIST' '3020'.
PERFORM bdc_field USING 'BDC_OKCODE' '=YES'.
CALL TRANSACTION 'AS02' USING bdcdata MODE 'N'
UPDATE 'S'
MESSAGES INTO messtab.
PERFORM close_group.
READ TABLE messtab INDEX 1.
MOVE messtab-msgv1 TO var1.
MOVE messtab-msgv2 TO var2.
CLEAR v_msg.
CALL FUNCTION 'MESSAGE_PREPARE'
EXPORTING
language = 'E'
msg_id = messtab-msgid
msg_no = messtab-msgnr
msg_var1 = var1
msg_var2 = var2
* MSG_VAR3 = ' '
* MSG_VAR4 = ' '
IMPORTING
msg_text = v_msg
EXCEPTIONS
function_not_completed = 1
message_not_found = 2
OTHERS = 3.
ENDFUNCTION.
<b><u>GetDetails Bapi Wrapper</u></b>
FUNCTION ZBAPI_AM_DETAILS_V1.
*"*"Local interface:
*" IMPORTING
*" VALUE(DATA_ANLN1) LIKE ZASTMS-ANLN1 OPTIONAL
*" EXPORTING
*" VALUE(RETURN) LIKE BAPIRET2 STRUCTURE BAPIRET2
*" VALUE(AM_DATA) LIKE ZASTMS STRUCTURE ZASTMS
*" TABLES
*" AM_DETAILS STRUCTURE ZASTMS OPTIONAL
DATA : BEGIN OF it_return OCCURS 0,
mandt like anla-mandt,
bukrs LIKE anlz-bukrs,
anln1 LIKE anlz-anln1,
anln2 LIKE anlz-anln2,
kostl LIKE anlz-kostl,
werks LIKE anlz-werks,
stort LIKE anlz-stort,
txt50 LIKE anla-txt50,
txa50 LIKE anla-txa50,
END OF it_return.
SELECT SINGLE * INTO CORRESPONDING FIELDS OF it_return
FROM anla AS a INNER JOIN anlz AS b
ON a~bukrs = b~bukrs AND
a~anln1 = b~anln1 AND
a~anln2 = b~anln2
WHERE
a~anln1 = DATA_ANLN1
* AND b~kostl = data-kostl
* AND b~anln1 = DATA_ANLN1
AND b~werks = '1000'
AND b~bukrs = '1000'
and b~bdatu = '99991231'.
* AND b~anln2 = data-anln2.
APPEND it_return.
SORT it_return BY anln1.
DELETE ADJACENT DUPLICATES FROM it_return COMPARING ALL FIELDS.
am_details[] = it_return[].
ENDFUNCTION.
<?xml version="1.0" encoding="utf-8" ?>
- <MeRepApplication schemaVersion="1.1" id="ZAM_03" version="03">
<Property name="CLIENT.BUILDNUMBER" />
<Property name="C_APPLRESOLVE" />
<Property name="DATA_VISIBLE_SHARED">X</Property>
<Property name="E_APPLRESOLVE" />
<Property name="FACADE_C_CLIENT">X</Property>
<Property name="FACADE_E_CLIENT">X</Property>
<Property name="HOMEPAGE.INVISIBLE" />
<Property name="INITVALUE" />
<Property name="RUNTIME">JSP</Property>
<Property name="TYPE">APPLICATION</Property>
- <SyncBO id="ZAM_03" version="1" type="twoWay" allowCreate="false" allowModify="true" allowDelete="false" reqDirectSync="true" downloadOrder="1">
- <TopStructure name="TOP">
- <Field name="SYNC_KEY" type="N" length="10" decimalLength="0" signed="false" isKey="true" isIndex="true">
<Input type="create">false</Input>
<Input type="modify">false</Input>
</Field>
- <Field name="ANLN1" type="C" length="12" decimalLength="0" signed="false" isKey="false" isIndex="false">
<Input type="create">false</Input>
</Field>
- <ChildStructure name="010">
- <Field name="SYNC_KEY" type="N" length="10" decimalLength="0" signed="false" isKey="true" isIndex="true">
<Input type="create">false</Input>
<Input type="modify">false</Input>
</Field>
- <Field name="BUKRS" type="C" length="4" decimalLength="0" signed="false" isKey="false" isIndex="false">
<Input type="create">false</Input>
</Field>
- <Field name="ANLN1" type="C" length="12" decimalLength="0" signed="false" isKey="false" isIndex="false">
<Input type="create">false</Input>
</Field>
- <Field name="ANLN2" type="C" length="4" decimalLength="0" signed="false" isKey="false" isIndex="false">
<Input type="create">false</Input>
</Field>
- <Field name="KOSTL" type="C" length="10" decimalLength="0" signed="false" isKey="false" isIndex="false">
<Input type="create">false</Input>
</Field>
- <Field name="WERKS" type="C" length="4" decimalLength="0" signed="false" isKey="false" isIndex="false">
<Input type="create">false</Input>
</Field>
- <Field name="STORT" type="C" length="10" decimalLength="0" signed="false" isKey="false" isIndex="false">
<Input type="create">false</Input>
</Field>
</ChildStructure>
</TopStructure>
</SyncBO>
</MeRepApplication> -
Regarding MAM25_001_GetList BAPI wrapper
Hi,
We are configuring MAM 2.5 on ECC 5.0
We have created work orders for a work center.
We then created a operation variant with the work center as a parameter and assigned it to the order profile in MAM 2.5 configuration
When I execute the variant independently, it shows the list of orders being retrieved.
But when I execute MAM25_001_Get_List Bapi wrapper for the same user manually in R/3, it doesnt display any data.
I could see that the BAPI wrapper is executing a report program RIAFVC20 and passing the order selection variant as a parameter.
I even tried executing this report program manually and selected the variant. The report program displays the data when run independently.
Do we need to apply any SAP Notes for MAM 2.5 component in ECC 5.0
Regards
Raja SekharHi Raja,
In assignment profile, you kept user->workcenter for order..right
In the transaction alm_me_user, you need to give the workcenter. Otherwise the system will consider that as empty work-center and since all the orders selected in operation have workcenter, none of the orders are selected and downloaded to client.
A Customer scenario.
1. Assume Daily 100 order are created in R/3 system. They should be selected by variant.
2. 10 work-centers are used for processing the orders. In assignment profile, we keep user->workcenter(Assume 10 order for each work-center)
3. So, generally we keep a work-center value in alm_me_user. So, when you execute getlist for this user, he will get 10 orders.
Regarding
2. What does the User -> Work Center + Employee + Planner Group option mean in the Order assignment criteria.
Does it mean that orders will be downloaded to the user only if he satisfies all the conditions like
1. He belongs to work center mentioned in the order
2. His employee number is mentioned in the order
3. He belongs to the planner group mentioned in the order
>> If you keep above option in assignment profile, in alm_me_user, (in order section), you need to give all the values (i.e., work-center, employee, planner group). The user given need not belong any work-center or planner etc.
Hope I am clear.
Best Regards,
Subhakanth -
Smart Synchronization Without calling BAPI wrapper
Hi All,
I am very new to SAP MI development...
I wanted to know that
is it possible to call BAPI directly not calling with use of BAPI Wrapper?
is there any other way to do Smart Synchronization where BAPI wrappern not required?
Thanks,Hi Maulik,
if u directly want to call the BAPI u will need to call the underlying RFC related to that BAPI.
This is done through Generic Synchronization.
Please refer to documents on help.sap.com and MDK for further help.
cheers
Anand -
Backend adapter (BAPI Wrapper)
hi all,
i created a data object in the DOE called USER and set his direction proprety to "Download Only" with 2 BAPI Wrappers (GETLIST,GETDETAIL) to check if a simple scenario work and go on from there.
everything worked very well.
now i want to add a new BAPI Wrapper which is CHANGE.
for this to happen i need to change the direction propery in the data object to "BI-Direction" and add the new BAPI Wrapper to the backend adapter.
i can't figure out how to change the direction property to "BI-Direction" as the radio buttons are gray and can't be changed.
also the place where i put the BAPI Wrapper in the backend adapter is also gray and can't be changed .
my only option is to delete the data object,DM and rule (which in this case in the whole scenario) which i don't want to do.
is there a possible way to change the data object direction property in more easy way?
regards,
Roi GrosfeldHi Roi,
Thats the expected behaviour. The reason is that, you have an active backend adapter, which is mapped for only getlist and getdetail (download only). If you are allowed to change the direction to bidirectional, then the backend adapter may not function well. Thats the reason why its disabled and you are not able to change the direction. If you want to do so, you can delete the backend adapter and then you will be able to change the direction of the Data Object. Then you just need to create the backend adapter again and do that mapping for all the BAPI's -- getlist, getdetail, create, delete(optional), modify(optional).
Hope this helps,
Regards,Vinodh -
Hi All,
I would like to know the difference between a BAPI and a BAPI Wrapper in detail.
I would also like to know the procedure to create the various types of BAPI Wrappers- Getlist, GetDetail, Create, Modify and Delete.
regards,
SunilHi Sunil,
Conceptually, BAPIs and BAPI wrappers are the same. BAPI wrappers, like BAPIs also must have a standard interface. THey are also RFC enabled FMs and like BAPIs they can comprise of the backend applciation business logic. They can also comprise of calls to Web services.
You can easily create BAPI wrappers - GETLIST, GETDETAIL, CREATE, MODIFY and DELETE from the DOE workbench (SDOE_WB transaction) using the BAPI wrapper wizard, available under the Utilities menu.
Once you create the BAPI wrappers, you can compare them with BAPIs and you will see that they are the same. Of course this is under the assumption that you are using MI 7.1.
You do not need specific OO knowledge for creating BAPI Wrappers.
Regards,
Wenonah
Edited by: Wenonah Jaques on May 9, 2008 7:44 AM -
Instance Push doubt about getList bapi wrapper
Hi guys.
Another question: Is necessary to implement getList and getdatails bapi wrapper in backend adapter whose Synchronization Type backend trigerred and Direction only download?Hi,
It is not mandatory to have both GetList and GetDetail.
If you have only one structure in your BAPI, which is a header/root node and if you return the whole instance rather than just the backend key, then only GetList BAPI wrapper is enough.
But if you have root node along with some child nodes, then you need GetList and GetDetail both. Getlist returning either just Backendkey or whole root node and then a GetDetail which returns whole root along with all child nodes.
Regards,
Siva. -
Bapi wrapper- MODIFY Wrapper For SyncBo
Modify Wrapper :ZGET_AM_P2P For SyncBO
I have read the requirement :
-replace entire item data with entries of table parameters
pls tell me the code will work or not if i put in syncBo
someone pls help me.....
FUNCTION ZGET_AM_P2P.
""Local interface:
*" IMPORTING
*" VALUE(V_ANLN) LIKE ANLA-ANLN1 OPTIONAL
*" VALUE(V_STORT) LIKE ANLZ-STORT OPTIONAL
*" EXPORTING
*" VALUE(V_MSG) TYPE STRING
TABLES : anla, anlz, anlh.
DATA : v_date LIKE sy-datum,
var1 like BALM-MSGV1,
var2 like BALM-MSGV2.
refresh : bdcdata, messtab.
clear : bdcdata, messtab, v_msg, v_date.
SELECT SINGLE * FROM anla WHERE anln1 = v_anln
AND bukrs = '1000'.
SELECT SINGLE * FROM anlz WHERE anln1 = v_anln
AND bukrs = '1000'.
SELECT SINGLE * FROM anlh WHERE anln1 = v_anln
AND bukrs = '1000'.
CONCATENATE anla-aktiv6(02) anla-aktiv4(02) anla-aktiv(04) INTO v_date.
CALL FUNCTION 'ZBAPI_AM_P2P'
EXPORTING
V_ANLN = ANLA-ANLN1
V_STORT = v_STORT
V_TXT50 = ANLA-TXT50
V_ANLHTXT = ANLH-ANLHTXT
V_KOSTL = ANLZ-KOSTL
V_WERKS = ANLZ-WERKS
V_DATE = v_date
IMPORTING
V_MSG = v_msg
ENDFUNCTION.
FUNCTION zbapi_am_p2p.
""Local interface:
*" IMPORTING
*" VALUE(V_ANLN) LIKE ANLA-ANLN1 OPTIONAL
*" VALUE(V_STORT) LIKE ANLZ-STORT OPTIONAL
*" VALUE(V_TXT50) LIKE ANLA-TXT50 OPTIONAL
*" VALUE(V_ANLHTXT) LIKE ANLH-ANLHTXT OPTIONAL
*" VALUE(V_KOSTL) LIKE ANLZ-KOSTL OPTIONAL
*" VALUE(V_WERKS) LIKE ANLZ-WERKS OPTIONAL
*" VALUE(V_DATE) LIKE SY-DATUM OPTIONAL
*" EXPORTING
*" VALUE(V_MSG) TYPE STRING
DATA : var1 LIKE balm-msgv1,
var2 LIKE balm-msgv2.
PERFORM open_group.
PERFORM bdc_dynpro USING 'SAPLAIST' '0100'.
PERFORM bdc_field USING 'BDC_OKCODE' '=MAST'.
PERFORM bdc_field USING 'ANLA-ANLN1' v_anln.
PERFORM bdc_field USING 'ANLA-ANLN2' '0'.
PERFORM bdc_field USING 'ANLA-BUKRS' '1000'.
PERFORM bdc_dynpro USING 'SAPLAIST' '1000'.
PERFORM bdc_field USING 'BDC_OKCODE' '=TAB02'.
PERFORM bdc_field USING 'ANLA-TXT50' v_txt50.
PERFORM bdc_field USING 'ANLH-ANLHTXT' v_anlhtxt.
PERFORM bdc_field USING 'ANLA-AKTIV' v_date.
PERFORM bdc_dynpro USING 'SAPLAIST' '1000'.
PERFORM bdc_field USING 'BDC_OKCODE' '=BUCH'.
PERFORM bdc_field USING 'ANLZ-KOSTL' v_kostl.
PERFORM bdc_field USING 'ANLZ-WERKS' v_werks.
PERFORM bdc_field USING 'ANLZ-STORT' v_stort.
PERFORM bdc_dynpro USING 'SAPLAIST' '3020'.
PERFORM bdc_field USING 'BDC_OKCODE' '=YES'.
CALL TRANSACTION 'AS02' USING bdcdata MODE 'N'
UPDATE 'S'
MESSAGES INTO messtab.
PERFORM close_group.
READ TABLE messtab INDEX 1.
MOVE messtab-msgv1 TO var1.
MOVE messtab-msgv2 TO var2.
CLEAR v_msg.
CALL FUNCTION 'MESSAGE_PREPARE'
EXPORTING
language = 'E'
msg_id = messtab-msgid
msg_no = messtab-msgnr
msg_var1 = var1
msg_var2 = var2
MSG_VAR3 = ' '
MSG_VAR4 = ' '
IMPORTING
msg_text = v_msg
EXCEPTIONS
function_not_completed = 1
message_not_found = 2
OTHERS = 3.
ENDFUNCTION.
Message was edited by:
yzme yzmeHi Saptak,
Good to see that you had gone through earlier posts & SAP notes.
Record not on device errors occurs when a mobile user tries to modify a record which currently doesn't belongs to him anymore. Since you have an S01 syncBO, the object he is trying to modify now is deleted from MI. ( This doesn't mean the object is deleted from backend. Basically the Getlist bapi is now not returning this object)
This occurs only if the sync mode is "async". There is nothing to be worried about. This is just an expected behaviour. If you feel the update is important and needs to be sent to the backend, set the parameter REPROCESS_ON_NO_DATA to 'X' and reprocess the worklist.
When you reprocess, the Getdetail bapi will be called and the user changes are merged to the latest backend data. No conflict check done and hence there is a chance of backend changes getting overwritten. If the particular record is only updated by mobile user, then there is nothing to worry..
Let me know if you need more clarifications...
Regards
Ajith
Maybe you are looking for
-
I purchased the multi-pass for The Daily Show. I was able to download the 3/20/06 episode fine (there was a problem with the file, but the download went fine). However, the 3/21/06 episode has been on iTunes for over 12 hours now, but everytime I che
-
Transaction S_PL0_86000030
hi everyone, i am using tcode S_PL0_86000030 and sometimes i am encountering an error dump. this is a standard transaction and would just like to know your ideas why this is sometimes throws a dumped error. The error was because of fetch statement in
-
Best practice for standard security role
Hi, I'd like to know which is the best practice for standard role use, some people tell me that a standard role should never be used, that a copy must be made and assign the users to the copy, but then, why should SAP bother creating the standard rol
-
Receive data through php without button
Hi, This is the situation: I have an application that is displaying pictures. First I would like to display a score with each picture, so everytime a picture is being loaded I would need to get the score by posting the name of the picture through HTT
-
FormsServlet Error during opening of form in Internet Explorer
Hi I have installed Database10g Rel2 in my system. After that i installed Developer suite suite 10g Rel2 into same PC. this is for personal use on single PC. But when i opened the form builder and runing one form made on same 10g forms during applet