Use of ExtensionIn

Hi all,
I want to publish a customer field in EKPO by using the extensionin for BAPI_PO_CREATE  or BAPI_PO_CHANGE
My customer field on Purchase Order Position is populated within structure CI_EKPODB, the name is ztest and the field is numeric(6).
How do I have to fill in data within extensionin structure to pass the data directly in the customer field described above?
Best regards
Andreas

since you have only one field. only pass that value to valupar1. check sample code below.
Sample code to populate EXTENSIONIN & EXTENSIONINX tables & call BAPI_MATERIAL_SAVEDATA.
*& Report  Z_VMA_MARA_EXT
*& written by : Vivek Amrute.Tested on ECC6 : 20/11/2008
*& Updating values of custom fields added to MARA.
REPORT  z_vma_mara_ext.
TABLES : mara, marc.
DATA :  rex LIKE bapiparex OCCURS 0 WITH HEADER LINE,
rexx LIKE bapiparexx OCCURS 0 WITH HEADER LINE,
header LIKE bapimathead OCCURS 0 WITH HEADER LINE,
makt1 LIKE bapi_makt OCCURS 0 WITH HEADER LINE,
zbapiret2 LIKE bapiret2 OCCURS 0 WITH HEADER LINE.
PARAMETERS : material LIKE mara-matnr,
val1 TYPE aktvt,
val2 TYPE actname_kk,
val3 TYPE aktvt,
new_desc TYPE maktx.
header-material = material.
rex-structure = 'BAPI_TE_MARA'.
CONCATENATE material val1 val2 val3 INTO  rex-valuepart1 RESPECTING BLANKS.
APPEND rex.
rexx-structure = 'BAPI_TE_MARAX'.
CONCATENATE material 'XXX' INTO  rexx-valuepart1 RESPECTING BLANKS.
APPEND rexx.
makt1-langu = 'E'.
makt1-langu_iso = 'EN'.
makt1-matl_desc = new_desc.
APPEND makt1.
CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'
  EXPORTING
    headdata            = header
  IMPORTING
    return              = zbapiret2
  TABLES
    materialdescription = makt1
    extensionin         = rex
    extensioninx        = rexx.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.

Similar Messages

  • BAPI for PO Create/Change with use of EXTENSIONIN table

    Hello,
    We are using SRM extended classic scenario which copies PO's from SRM to ECC via function module BBP_PO_INBOUND.  This function module does mappings and then calls either BAPI_PO_CREATE1 or BAPI_PO_CHANGE.  I have added field YYVSBED (char2) to structure CI_EKKODB.  When BAPI's are called this field is present in ExtensionIn structure.  While debugging the processing, I can see that it being processed, however, it does not get posted in database.
    Any suggestions are very welcome.
    Thank you.
    Natasha

    Internally the BAPI uses the the MEPO...-Structures .  Your data is lost  at the move-corresponding from the BAPI-Structure to the related MEPO... structure . If your target-field is an EKPO-Field you have to check if there is a field in the MEPOITEM -structure . 
    If you use the CI_EKPODB  to extend the EKPO with your custom field, the BAPI would work, because this is included in EKPO and MEPOITEM   .
    Best regards Josef

  • Update Contract Schedule lines using BAPI_CUSTOMERCONTRACT_CHANGE

    Dear All,
    I want to change the schedule line of a Sales Contract using the BAPI, BAPI_CUSTOMERCONTRACT_CHANGE however i do not find any table parameter to do the same as is available in the Quotation & Sales Order change BAPIs.. I checked OSS but did not find any note in this regard.. Kindly let me know if there is any way this can be done apart from using the EXTENSIONIN parameter for this BAPI.
    Thanks for your help.
    Cheers
    Nitesh

    Dear Dipak,
    Is it possible to update the schedule lines without using the EXTENSIONIN parameter for this BAPI ?? If so kindly let me know.
    Cheers
    Nitesh

  • Using BAPI_PO_CREATE1 to create a PO - MoT from contract is overwriting input

    We're using BAPI    BAPI_PO_CREATE1  to create a PO with reference to a conract.
    On that contract, we assign a MoT Group - a MoT value that corresponds to several MoT values.
    For instance, MoT 91 allows MoT 07, 08, and 09.
    When we pass a value to the OIC_MOT field of 07, the PO is trying to create using MoT = 91.
    We are using the ExtensionIn structure and are marking the appropriate OIC_MOT = 'X' in the ExtenionInX structure.
    any ideas?

    We found the issue - it turns out that if you do NOT pass origin state/country to the BAPI, all of the external details are copied from the contract.

  • Purchase Order (BAPI_PO_CREATE! -- EXTENSIONIN)

    Hi people!!
    I want to create purchase order with the BAPI BAPI_PO_CREATE1, but i have to populated some fields of EKKO table that they are´nt in BAPI and i have to used the EXTENSIONIN structure.
    Some example?
    This Bapi saved this fields with EXTENSIONIN or
    do i have to do something more?
    Sorry, but my english is very short and very poor,
    Thanks and kind regards,...

    Hi Juan,
    To use the extension in structure:
    Declare a local structure (say 'mystruct') with the type of the structure that contains the fields you want to add (it may be declared in the dictionary).
    Declare another local structure (say 'mystructx') with the same fields name but with types CHAR1 (they are flags).
    Fill mystruct with the values you want.
    Fill mystructx with 'X' when you want to modify the corresponding fields.
    you will have to fill 2 lines in EXTENSIONIN for header, and 2 lines for each item :
    <u>First line :</u>
    STRUCTURE : the name of the type of mystruct.
    VALUEPART1 : the 240 first characters of mystruct
    VALUEPART2 : the 240 following characters of mystruct (of blank if mystruct is not long enough)
    VALUEPART3 : the 240 following characters of mystruct (of blank if mystruct is not long enough)
    VALUEPART4: the 240 following characters of mystruct (of blank if mystruct is not long enough)
    <u>Second line :</u>
    STRUCTURE : the name of the type of mystructx.
    VALUEPART1 : the 240 first characters of mystructx
    VALUEPART2 : the 240 following characters of mystructx (of blank if mystruct is not long enough)
    VALUEPART3 : the 240 following characters of mystructx (of blank if mystruct is not long enough)
    VALUEPART4: the 240 following characters of mystructx (of blank if mystruct is not long enough)
    Hope that helps.
    Tell if you want examples.

  • BAPI Error message in WDA using AIF

    Friends,
    I am working on Custom WDA using AIF to create Purchase Requisitions.
    I am calling the BAPIs  -  'BAPI_REQUISITION_CREATE' and 'BAPI_TRANSACTION_COMMIT' using CALL FUNCTION.
    I passed the item values to zitab and called the function module.
    Here is the code:
    CALL FUNCTION 'BAPI_REQUISITION_CREATE'
    EXPORTING
    SKIP_ITEMS_WITH_ERROR                = 'X'
    AUTOMATIC_SOURCE                     = 'X'
    IMPORTING
    NUMBER                               = number
    TABLES
       REQUISITION_ITEMS                    = zitab
      REQUISITION_ACCOUNT_ASSIGNMENT       =
      REQUISITION_ITEM_TEXT                =
      REQUISITION_LIMITS                   =
      REQUISITION_CONTRACT_LIMITS          =
      REQUISITION_SERVICES                 =
      REQUISITION_SRV_ACCASS_VALUES        =
      RETURN                               = zbapireturn
      REQUISITION_SERVICES_TEXT            =
      REQUISITION_ADDRDELIVERY             =
      EXTENSIONIN                          =
    I am getting the following error messages from BAPI_REQUISITION_CREATE:
    1. Message type - E
    Code - W5069
    Message - Please also pass on a unit of measure for the quantity
    2. Message type - E
    Code - W5002
    Message - No items exist (not possible to save)
    Here are the relevant details:
    System - SAP ECC 6.0 EhP4
    Adobe Livecycle Designer version  - 8.1.2.4246.1.597341
    ADS version - 802.20100318013254.656549
    I found this link that is relevant to the second error, thought the solution is not provided:
    Error : No items Exists (Not Possible to save)
    I would appreciate any hints or thoughts on how to get these errors rectified.
    Regards,
    Arun.

    Thanks Kris for your reply.
    I was able to rectify the 2 errors.
    I need to update 5 custom fields in the CI_EBANDB include in the EBAN table. I am using the EXTENSIONIN parameter.
    Here is my code:
    data: wa_bapiextn type bapiparex,
          zbapiextn type table of bapiparex.
      wa_bapiextn-structure = 'CI_EBANDB'.
      wa_bapiextn-VALUEPART1 = 'A'.
      wa_bapiextn-VALUEPART2 = 'B'.
      wa_bapiextn-VALUEPART3 = 'C'.
      wa_bapiextn-VALUEPART4 = 'D'.
      append zstruct to zitab.
      append wa_bapiextn to zbapiextn.
    CALL FUNCTION 'BAPI_REQUISITION_CREATE'
    * EXPORTING
    *  SKIP_ITEMS_WITH_ERROR                = 'X'
    *  AUTOMATIC_SOURCE                     = 'X'
      IMPORTING
        NUMBER                               = number
        TABLES
          REQUISITION_ITEMS                    = zitab
    *   REQUISITION_ACCOUNT_ASSIGNMENT       =
    *   REQUISITION_ITEM_TEXT                =
    *   REQUISITION_LIMITS                   =
    *   REQUISITION_CONTRACT_LIMITS          =
    *   REQUISITION_SERVICES                 =
    *   REQUISITION_SRV_ACCASS_VALUES        =
         RETURN                               = zbapireturn
    *   REQUISITION_SERVICES_TEXT            =
    *   REQUISITION_ADDRDELIVERY             =
        EXTENSIONIN                          = zbapiextn
    The custom fields are not getting updated. I would greatly appreciate any hints on how to get these custom fields updated.
    Regards,
    Arun.

  • How can I pass extensionin for BAPI_BUS2054_CHANGE_MULTI to enhance

    Hi,
    I need to enhance 4 customer fields in the PRPS table.
    Using BAPI_BUS2054_CHANGE_MULTI extensionin i need to update the 4 fields.
    My custom fields is included in BAPI_TE_WBS_ELEMENT structure.
    But I am unable to figure out wat exactly need to pass to the structure.
    Could anyone send me sample code in order to update the custom fields  in BAPI_BUS2054_CHANGE_MULTI.
    Thanks
    Vijayasree

    Hi,
    In ExtensionIn-STRUCTURE = 'BAPI_TE_WBS_ELEMENT' and ExtensionIn-VALUEPART1 will be your data according to fields in the structure.Suppose if your structure contains Fields WBS_ELEMENT and DESCRIPTION , then you need to concatenate both and move to ExtensionIn-VALUEPART1 as per field order in structure.
    Regards,
    Ashok.

  • How to create the INBOUND Function Module for INBOUND IDOCs

    Hi Friends,
    Can any Suggest me How to proceed to Create an INBOUND Function Module for Processing the INBOUND IDOCS
    which are recieved from XI Server ?
    I am working in SAP-ISU
    Here i will recieve the INBOUND IDOCs for the Meter Reading Orders.
    We have a Standard INBOUND FUNCTION MODULE
    IDOC_INPUT_ISU_MR_UPLOAD
    which Uploads the Meter Reading Results.
    I copied the Same function Module into ZIDOC_INPUT_
    and working on it.
    Can any one suggest me, whether i am going in correct way or not.
    In IDOC_INPUT_ISU_MR_UPLOAD Inbound fun module,
    BAPI_MTRREADDOC_UPLOAD is used to Update or Insert the Meter Reading Results,
    My requirment is to Insert and Update the Meter Reading Orders which are Inbounded from XI.
    Can I Use the Same BAPI
    BAPI_MTRREADDOC_UPLOAD
    to Update the below fields,
    EABL-SERNR
    EABL-ZWNUMMER
    EABLG-ABLESGR
    EABL-V_ZWSTAND
    EABL-N_ZWSTAND
    EABL-ABLHINW
    EABL-ZSKIPC
    EABL-ADAT
    EABL-ATIMTATS
    EABL-ADATTATS
    EABL-ATIM
    EABL-ZMESSAGE
    EABL-ABLESER(Meter reader number)
    Kindly Suggest me,
    Thanks in Advance,
    Ganesh

    Hello Ganesh
    I think you are going completely astray with you z-function module for IDoc processing.
    If you look at TABLES parameter METERREADINGRESULTS (type BAPIEABLU ) of BAPI_MTRREADDOC_UPLOAD you will find many of the requested fields already:
    EABL-SERNR => BAPIEABLU-SERIALNO
    EABL-ZWNUMMER =>REGISTER
    EABLG-ABLESGR
    EABL-V_ZWSTAND
    EABL-N_ZWSTAND
    EABL-ABLHINW
    EABL-ZSKIPC
    EABL-ADAT
    EABL-ATIMTATS => ACTUALMRTIME
    EABL-ADATTATS => ACTUALMRDATE
    EABL-ATIM
    EABL-ZMESSAGE
    EABL-ABLESER(Meter reader number)
    Field EABL-ZMESSAGE appears to be custom field (at least I cannot find it on ECC 6.0). If this field was added using include CI_EABL then you probably can get these values into the BAPI using the EXTENSIONIN parameter.
    Check routine CHECK_UPLOADRECORDS in the BAPI which allows two extension structures:
    - BAPI_TE_EABL
    - BAPI_TE_EOSB
    Not surprisingly BAPI_TE_EABL contains the include CI_EABL.
    Regards
      Uwe

  • VBKD-TRATY in BAPI_SALESORDER_CREATEFROMDAT2

    Hi Experts,
    Please confirm how to pass the value of Means of Transport(VBKD-TRATY) to the BAPI BAPI_SALESORDER_CREATEFROMDAT2?
    Thanks in Advance,
    Ajith

    Hi
    I think u need to use the EXTENSIONIN table: if it's an header data u can assign it to header structure else to the item structure.
    Then u need to develop the user-exit USEREXIT_MOVE_FIELD_TO_VBKD (MV45AFZZ) in order to transfer it to VBKD
    Max

  • Reg:BAPI_INQUIRY_CREATEFROMDATA2

    Hi,
    Which is  the field  name for UNIT_PRICE in  the
    bapi BAPI_INQUIRY_CREATEFROMDATA2.
    Its urgent.
    Regards,
    Charu

    Hi Jonathan,
    I don't find price time in my system?  Are you perhaps on an IS solution?  IS Oil perhaps?
    Anyway, the way you can send extra data to this BAPI using the EXTENSIONIN parameter.
    First, find the dictionary table which holds the field you want to send (I would guess VBKD).  Then, add the field you want to send (using an append structure in transaction SE11) to the structure bape_<table_name> (for example bape_vbkd).
    Then, when you call the BAPI, add a row to the EXTENSIONIN parameter as follows:
    1. For the STRUCTURE field, just fill in with the text BAPE_<table_name> (for example BAPE_VBKD).
    2. For the VALUEPART1 field, you need to move the contents of the structure bape_<table_name>.  So first, load up the structure with data (for example 0000000000000000101501 for inquiry 0000000000 and item 000000 and price time 10:15 and 1 second using structure bape_vbkd), and then transfer it to VALUEPART1.
    The code within the BAPI will transfer the data from this extension to the appropriate ABAP table (note the field names in the actual table and the bape_<table_name> structure need to match).
    Hope that helps.
    Cheers,
    Brad

  • Adding custom fields to BAPI_MATERIAL_SAVEDATA

    With the DFPS module, SAP has added the NSNID field to the MARA table.
    However, BAPI_MATERIAL_SAVEDATA makes use of structure BAPI_MARA, which does not have the same field included.
    When consulting SAP about this difference, we get the answer that we can use the EXTENSIONIN tables in the BAPI to add this field. Not the best solution ever, but if it works, it works.
    So I've appended our field NSNID to the BAPI_TE_MARA and BAPI_TE_MARAX structures (one with the actual type and another with the default bapiupdate type). Next I add those to the EXTENSIONIN and EXTENSIONINX tables, all exactly as shown by SAP.
    When the BAPI is called, I see that the values from those tables are copied to the internal table tmara_ueb. However, no actual update takes place.
    As a check, I've also added a regular MARA field to the BAPI... it gets updated without a problem. So the BAPI itself works, just not with semi-custom fields. Semi-custom because the field in the MARA is standard SAP, but we have to manually add it here.
    What I've found so far is that the name of the field is of no influence (also added ZZTEST, no update either). In various posts I read about table T130F in which the field also has to be declared. The NSNID is already in there, the addition of ZZTEST does not help either.
    Is there something abvious I'm missing here? Thanks in advance for the help!

    Thanks for the replies Mayank and Suhas. To answer to both:
    @Mayank:
    Yes, both structures are declared in the code and filled. Afterwards, I assign 'BAPI_TE_MARA' to the structure part of the EXTENSIONIN and fill the valuepart1 field with the values from the declared BAPI_TE_MARA structure. That system works as it should, the values are correctly copied to the internal tmara_ueb table.
    * Check field to see if there was a MARA change
    ls_clientdata-document  = 'TEST6'.
    ls_clientdatax-document = 'X'.
    * The added field we want to change
    ls_bapi_te_mara-material = ls_headdata-material.
    ls_bapi_te_mara-nsnid    = '222222222'.
    ls_bapi_te_marax-material = ls_headdata-material.
    ls_bapi_te_marax-nsnid = 'X'.
    ls_extensionin-structure = 'BAPI_TE_MARA'.
    PERFORM transfer_to_extensionin USING ls_bapi_te_mara CHANGING ls_extensionin.
    APPEND ls_extensionin TO lt_extensionin.
    ls_extensioninx-structure = 'BAPI_TE_MARAX'.
    PERFORM transfer_to_extensionin USING ls_bapi_te_marax CHANGING ls_extensioninx.
    APPEND ls_extensioninx TO lt_extensioninx.
    <execute BAPI>
    FORM transfer_to_extensionin USING    is_bapi_extensionin TYPE any
                                 CHANGING cs_bapiparex        TYPE bapiparex.
      DATA l_distance_characters TYPE i.
      FIELD-SYMBOLS <any> TYPE any.
      DESCRIBE DISTANCE BETWEEN cs_bapiparex-structure
                AND cs_bapiparex-valuepart1
                INTO l_distance_characters
                IN CHARACTER MODE.
      ASSIGN cs_bapiparex+l_distance_characters(*) TO <any>
        CASTING LIKE is_bapi_extensionin.
      <any> = is_bapi_extensionin.
    ENDFORM.                    "transfer_to_extensionin
    BDC is the very very very last thing I want to think about here... even more since - in my opinion - SAP should have updated the BAPI_MARA structure and working of the BAPI to accomodate the addition of the NSNID field.
    @Suhas:
    Yup, except for the material number field of course, that's the actual number as key.
    The NSNID field is already available on screen, on the 'Basic Data 2' tab. So that shouldn't be a problem.

  • Re:bapi

    Hi All,
    can u pls help me out in the following issue?
    iam very new to using bapi, i got the requirement to upload time data into sap using standard bapi BAPI_CATIMESHEETMGR_INSERT .
    in this bapi the data import table have the fileds similar to the fields of catsdb table.but catsdb table also contains some customer fields, these fields doesnot exists in bapi's  data import table.
    so my question is i need to upload these customer fields also  into sap using the same bapi,
    how to use the extension in parameter to upload customer fields?
    if possible send me the sample mcode also....
    thanks in advance..
    rahul

    Hello Rahul
    Customer-specific data are imported into the BAPI using the EXTENSIONIN parameter.
    Within the BAPI you can see the following coding (on ECC 6.0):
      LOOP AT extensionin.
        CALL FUNCTION 'MAP2I_BAPICATS7_TO_CATS_EXT'
          EXPORTING
            extensionin = extensionin
          TABLES
            catsrecords = l_tcats_ext
          EXCEPTIONS
            error_line  = 1
            OTHERS      = 2.
        IF sy-subrc <> 0.
          CLEAR return.
          PERFORM bapi_return2_get
                  USING
                     sy-msgty sy-msgid sy-msgno
                     sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4
                     param_name_in l_tabix space
                  CHANGING
                     return.
          APPEND return.
        ENDIF.
      ENDLOOP.
    This mapping function module has the following coding:
    FUNCTION MAP2I_BAPICATS7_TO_CATS_EXT.
    *"*"Lokale Schnittstelle:
    *"  IMPORTING
    *"     REFERENCE(EXTENSIONIN) LIKE  BAPICATS7 STRUCTURE  BAPICATS7
    *"  TABLES
    *"      CATSRECORDS STRUCTURE  CATS_EXT
    *"  EXCEPTIONS
    *"      ERROR_LINE
      DATA: CUSTOM LIKE BAPI_TE_CATSDB.
      IF EXTENSIONIN-STRUCTURE = 'BAPI_TE_CATSDB'.
    *    MOVE EXTENSIONIN+C_LENSTRUC TO CUSTOM. YCY
        PERFORM move_extension_to_custom
                    USING
                       extensionin
                    CHANGING
                       custom.
        READ TABLE CATSRECORDS INDEX CUSTOM-ROW.
        CATCH SYSTEM-EXCEPTIONS CONVERSION_ERRORS  = 1.
          MOVE-CORRESPONDING CUSTOM TO CATSRECORDS.
        ENDCATCH.
        IF SY-SUBRC <> 0.
          MESSAGE E327(LR) WITH CUSTOM-ROW RAISING ERROR_LINE.
        ENDIF.
        MODIFY CATSRECORDS INDEX CUSTOM-ROW.
      ENDIF.
    ENDFUNCTION.
    Thus, the structure for the EXTENSIONIN parameter is BAPI_TE_CATSDB (containing the customer include CI_CATSDB).
    Most likely your custom fields need to be included into structure CATS_EXT, too, otherwise the MOVE-CORRESPONDING statement is useless.
    The way how EXTENSIONIN parameters need to be filled is standardized and you should find useful documentation in the SAP online help.
    Further reading: [BAPI Conventions|http://www.sap-img.com/abap/bapi-conventions.htm]
    Regards
      Uwe

  • Update "Additional data b" tab.

    Hi all,
    I have a requirement to change SD Orders in background. Function module BAPI_SALESORDER_CHANGE is working fine, but I need to update u201Cnotification number fieldu201D at Sales Order header. In transaction VA02 notification number appears in the tab u201Cadditional data bu201D (field VBAK-QMNUM). However, I canu2019t find this field to be updated through BAPI_SALESORDER_CHANGE. Has anyone faced this issue before? Is there any technique to update vbak-qmnum in background?
    Thanks,
    Marcos Vilela.

    Hi Marcos,
    I can suggest 3 alternatives for what you want:
    (1) use fm SD_SALES_DOCU_MAINTAIN instead:
          It is more complicated to use, cause you have to populate all the
          relevant structures and internal tables with SO data. However it can handle
          VBAK-QMNUM in I_VBAKKOM
    (2) use the EXTENSIONIN parameter of the BAPI
          To do this, you should first create append structures for BAPE_VBAK and BAPE_VBAKX
          Introduce the QMNUM field in append str. for BAPE_VBAK with data element QMNUM (12chars),
          in append str. for BAPE_VBAKX with data element BAPIUPDATE (1 char)
          Then populate the EXTENSIONIN parameter with 2 lines:
          1. extensionin-structure = 'BAPE_VBAK'
              extensionin-valuepart1 = vbak-vbeln(10 chars) + vbak-qmnum(12 chars)
          2. extensionin-structure = 'BAPE_VBAKX'
              extensionin-valuepart1 = vbak-vbeln(10 chars) + 'X'(1 char)
    (3) simply update VBAK-QMNUM with SQL statement UPDATE.
    BR,
    Barna

  • Userexit_move_field_to_vbkd effects when run via BAPI_SALESORD_CHANGE

    Hi developers,
                 I have the following problem.
    I implemented the user exit "userexit_move_field_to_vbkd" in "MV45AFZZ" to set the field VBKD-VALDT when I use "VA02" transaction. It works fine when I edit
    the sales order using the transaction, but when I edit it via "BAPI_SALESORD_CHANGE" it does not work.
    I mean: the source code that sets the value of the field is run and fills the internal table xvbkd with
    the right field value (the same found out when using the transaction), but it has no effects. When I display the order (using VA03) the field is blank (let me tell you I
    use BAPI_TRANSACTION_COMMIT after I call the bapi to edit the order.)
    Have you got any ideas?
    Thanx to all of you

    User exits should work as they work in regular transactions. Did you add a new Z field to the structure and moving the value in the user exit? If so, you may need to use the  EXTENSIONIN structure. Here is the documentation related to it.
    Customer Enhancement for VBAK, VBAP, VBEP
    Description
    You can use this parameter to transfer user-specific enhancments to a BAPI. The customer has to complete the EXTENSION structure and the system automatically continues processing it. If you have not defined any user-specific fields, then you can transfer a blank EXTENSIONIN structure.
    Technical information about Customer Enhancements
    The following description uses an example to explain how to proceed with customer enhancements to the SD tables VBAK, VBKD, VBAP and VBEP.
    The customer has added their own fields to table VBAP using the INCLUDE structure CUTEST. This structure contains 2 fields:
    CFIELD1, CHAR 10
    CFIELD2, CHAR 3.
    The customer also requires that these two fields can be maintained with the BAPI.
    1. Maintain structure CUTEST in table VBAP
    2. Because the BAPIs work with checkboxes, you must also define a CUTESTX checkbox for the customer structure. It should be structured like this:
    Field name       Data element
    CFIELD1            CHAR1
    CFIELD2          CHAR1
    3. Define these customer structures in the structures VBAPKOZ und VBAPKOZX using INCLUDE or APPEND.
    4. Add the customer structures to the BAPE_VBAP and BAPE_VBAPX BAPI structures using the APPEND technique.
    5. Adjust the following structures for customer enhancements to table VBAK:
    a) VBAKKOZ
    b) VBAKKOZX
    c) BAPE_VBAK
    d) BAPE_VBAKX
    6. Adjust the following structures for customer enhancements to table VBEK:
    a) VBEPKOZ
    b) VBEPKOZX
    c) BAPE_VBEP
    d) BAPE_VBEPX
    7. Generally, the data should be added to the BAPI interface in the internal communication structures (VBAKKOM, and so on). There, you can process the data in the SD tables (VBAK, and so on).
    8. If the EXTENSIONIN parameter contains customer data, you must complete at least the key fields in the relevant standard parameters.
    For example:
    You want to change customer field VBAP-CFIELD2 for item 20 to "XYZ" in order 4711.
    The following entries are expected:
    Import:     BAPIVBELN-VBELN       = '0000004711'  Document number
                BAPISDHD1X-UPDATEFLAG = 'U'           UPDKZ for doc header
    Tables:     BAPISDITM-ITM_NUMBER  = '000020'      Item number
                BAPISDITMX-ITM_NUMBER = '000020'      Item number
              + BAPISDITMX-UPDATEFLAG = 'U'           UPDKZ for item
    You must complete the EXTENSION table as follows:
    STRUCTURE                          VALUEPART1       1234561234567890123
    BAPE_VBAP                       0000004711000020                 XYZ
    BAPE_VBAPX                      0000004711000020       X
    Further Information
    You can find more information in the BAPI programming guide in the chapter for enhancements to BAPIs.
    Notes
    You must complete the STRUCTURE field with the name of the relevant enhancement structure (BAPE_VBAK, BAPE_VBAP, BAPE_VBEP). You can complete the remaining fields with the append structures from the enhancement structures.
    At the moment, you can use the BAPI to store enhancements in the following structures:
    VBAK : An enhancement to header data requires an append structure to BAPE_VBAK and an enhancement to structure VBAKKOZ.
    VBAP : An enhancement to item data requires an append structure to BAPE_VBAP and an enhancment to structure VBAPKOZ.
    VBEP : An enhancement to schedule line data requires an append structure to BAPE_VBEP and an enhancement to structure VBEPKOZ.
    VBKD : If you are using an enhancement for header data, you must add an append structure to BAPE_VBAK. You also need to enhance structure VBAKKOZ. If it is for item data, you need to add an append structure to BAPE_VBAP. You must also enhance structure VBAPKOZ.
    If you also want to work with checkboxes, each X-structure must also contain an append structure.
    For example:
    A customer has created an order and wants to include the material long text (50 digits long).
    The EXTENSIONIN structure must be completed with BAPE_VBAP. Two fields have fixed definitions in this structure. These are in the VBAP host key (VBELN, POSNR). The customer sets up an append structure that contains field ZMAT50.
    Because the VBELN is normally blank when you create an order, the data can look like this:
    STRUCTURE   |BAPE_VBAP
    VALUEPART1  |          000010Customermateriallongtext50
                  VBELN     POSNR ZMAT50

  • BAPI_BUS2001_CREATE customer fields

    Hi Experts,
    I am trying to use BAPI_BUS2001_CREATE to create project definition. We also have customer fields defined in CI_PROJ. I am not sure how to use table ExtensionIn of this bapi to pass customer fields data. Can someone guide me please.
    Thanks,
    Apps

    Hi Poorna Chandrasekhar,
    I am first time interacting with BAPi so please help me out urgent.
    I am using BAPI_BUS2001_CREATE for creating project, I have created structure and now I have pass the data from internal table to this BAPI for project creation
    My structure is:
    types:begin of t_header,
    PSPID TYPE PROJ-PSPID, "Project Definition
    POST1 TYPE PROJ-POST1, " Description .
    PROFL TYPE PROJ-PROFL, " Project Profile.
    VKOKR type PROJ-VKOKR, "Controlling Area
    VBUKR TYPE PROJ-VBUKR, " Company Code.
    VERNR TYPE PROJ-VERNR, " Responsible Person.
    PLFAZ TYPE PROJ-PLFAZ, " Start Date.
    PLSEZ TYPE PROJ-PLSEZ, " Finish date.
    TXJCD TYPE PROJ-TXJCD, " Tax Jurisdiction.
    END OF t_header.
    Please elaborate it well and how to check:
    Before the project definition is created, the following is checked:
    Is another project already being processed in the LUW (Logical Unit of Work)?
    Does another project with the same project definition already exist?
    Is the transferred data consistent (do the company code and the controlling area match)?
    If all checks are successful, then the project definition is created in the document tables.
    Please help me out. Thanks in advance.
    Regards,
    Vikash

Maybe you are looking for

  • Big iPod Nano Issues

    Well, after my brother got a new iPod for Christmas I kept asking him why he didn't use it, he just said because his computer is very slow and can't be bothered to put it on, so I told him I would set it all up so he only has to sync it. I plugged it

  • Flashmediaplayback only working in certain browsers?

    I am having a problem with a flash media playback on my website. I have installed the flashmediaplayback.swf on my server and embedded the relevant code and the videos were playing great on my video site -  no problems at all. However I got a couple

  • Why can't I turn on my iPhone 3Gs after a full discharge?

    My phone recently discharged until shutoff.  When I tried to charge the phone, I got the red battery charge indicator and a possitive charge symbol right below that, furthermore, my phone did not respond to any actions such as holding down the power

  • Why did my delete button stop working suddenly in mail?

    I updated my Mail toolbar's icons this morning and now suddenly delete button won't work in Mail.

  • Vibe 3.4 SSL link shutting down after 2-3 minutes of use

    I have a strange issue on a vibe 3.4 installation on SLES 11.3 Vibe is installed using the default configuration and the port mapping is also configured as standard and works well for internal and external access. However the https:// secure link onl