Bapi Wrapper-Modify Wrapper
Modify Wrapper :ZGET_AM_P2P
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
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.
Hi Yzme.
This is not the Mobile Forum where you can ask questions abaout SyncBo.
Please post it here:
SAP for Mobile
Cheers,
Sascha
Similar Messages
-
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 -
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> -
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 -
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 -
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 ?
ThanksHi,
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 -
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. -
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 -
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. -
Need a BAPI to modify sales document (Inquiry) header conditions
I need a bapi to modify header conditions on an Inquiry sales document. BAPI_CUSTOMERINQUIRY_CHANGE has the appropriate condition and conditionx tables. However, according to the documentation: "Although the BAPI interface is supplied for the condition to be changed, the system does not return the required result and/or the pricing result is inconsistent. Currently, the change of condition lines in existing documents via the BAPIs provided by SAP is not implemented."
Thanks
LeoVinod
Thanks. I tried that bapi yesterday but, as you say, it's difficult to implement. I haven't been able to get it to work yet.
Leo
Maybe you are looking for
-
I usually use FF 3.6 version to download data from my company intranet. With old FF version I can access the intranet easily. But when I upgrade to the FF 4, I lost the ability to customize the variable data I want to collect. It kind of stuck. Usual
-
Trine 2 issues on Macbook Pro Retina
Hi, I'm a new owner of a Macbook Pro Retina and not long after a bought the computer I decided to download and purchase Trine 2 from the app store. I figured I would buy a game that could really utilize the high quality retina screen, however Trine
-
Acrobat 7 Pro requires activation from time to time
I have installed Acrobat 7 Pro v7.1.0 on a netbook. Now, Acrobat requires activations. The time distance between activation requirements gets shorter and shorter. The Error Message (translated from german to english): The configuration of your comput
-
How to find level of dependencies for oracle objects....
Hi, in oracle if we have to find the dependencies we use "all_dependencies", how ever if we have to find level of dependencies then how should we go about it, example as shown below; master object : tablel1 view 1: v_test using table1 view
-
Issues opening Photoshop CS5 Design Premium
When we try opening Photoshop CS5 we get this popup above and it does not allow us to open Photoshop. Photoshop was working fine for several months before this and we did not do any major updates to our system. I have tried uninstalling and reinsta