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

  • 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>

  • 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

  • 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

  • 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

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

  • 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

  • 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
    Leo

    Vinod
    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