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
    Peter

    Solved 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,
    Arun

    Hi,
    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 AM

    In 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.
    Romi

    Hi,
    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...
    Ankur

    Hi 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.

  • Change Bapi Wrapper

    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 yzme

    i 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 Sekhar

    Hi 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 Grosfeld

    Hi 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

  • BAPI and BAPI Wrapper

    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,
    Sunil

    Hi 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 yzme

    Hi 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

  • Multi-pass not downloading

    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