ExtensionIn for BAPI_OUTB_DELIVERY_CREATE_STO

Hello,
After succesfully creating a PO using BAPI_PO_CREATE1, then I need to create a delivery using BAPI_OUTB_DELIVERY_CREATE_STO.
How do I pass the WBS number ( LIPS-PS_PSP_PNR ) using the ExtentionIn?
Thanks in advance.
Abel.
Edited by: Abel Isaac Polo on Feb 18, 2009 6:56 PM

Hi Polo ,
I have come up with same requirenments what u mentioned in POST.
could u please guide me, how  to use  BAPI_PO_CREATE1, then I need to create a delivery using BAPI_OUTB_DELIVERY_CREATE_STO.
kindly explain what approcah I have to follow.
I am new to BAPI screnario.
your suggestion are always welcome
Regards
Vivek

Similar Messages

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

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

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

  • Custom fields updation in EBAN Table for bapi_pr_create - Extensionin

    Hi all,
    My requirement is PR creation by BAPI_PR_CREATE Function Module .
    for pr item level customer added 10 fields in the EBAN table append structure CI_EBANDB. .
    i am creating PR by using Funcation module BAPI_PR_CREATE.
    In this Function Module I have to pass the structure name and field values in the EXTENTIONIN .
    what is the structure name I have to pass and how populate data in to the EBAN table.
    after that i have to create PR and updating 10 two custom field values in the EBAN Table.
    how to proceed for updating the customer field values in the eban table.
    thanks in advance.
    sri

    In the Extensionin pass the values
    Structure - EBAN
    VALUEPART1 - Pass the value for customer fields.
    Please reward if useful.

  • 'BAPI_GOODSMVT_CREATE'  for ExtensionIN in documentation tab no structures

    Hello Friends,
    I am doing GR posting with BAPI 'BAPI_GOODSMVT_CREATE' but i need to enhance this BAPI to add some custom field with the help of EXTENSIONIN... kindly help me if any one have already work on that.
    For this bapi in the documentation tab there are no axulliray structures given as i early worked with bapi_po_create1 where they provided the structure names in the bapi documentation based on that i filled all the necessary data.
    If you can send to some sample code it would be highly appreciate.
    Thanks.

    Hi,
    I think that SAP Note 143580 - Information on SD BAPIs and customer enhancement concept will help you
    Regards,
    Eduardo
    PD: I'm sorry, I forgot the SAP Note 700795 - Enhancement category of BAPI enhancement structures
    Edited by: E_Hinojosa on Nov 9, 2010 6:29 PM

  • Delivery Document creation for STO using BAPI_OUTB_DELIVERY_CREATE_STO

    Hi Experts,
    Am Cretaing Delivery DOC for the STO (PO) as the reference document using the bapi BAPI_OUTB_DELIVERY_CREATE_STO.
    my problem is, the bapi is not picking the stogare location(LGORT)  from the STO doc storage location. Please help me to find way, if its possible to pass the storage location to Bapi or any Badi exists for the bapi  to pass the storage location based on some condition.
    Have found below BADI's for the BAPI in my initial investigation, but not sure to use which one, pls suggest
    LE_SHP_PRICING
    BADI_HU_MAIN
    BADI_HU_PACKING_ALWD
    BADI_HU_PACKING_QTY
    BADI_HU_SAVE
    BADI_HU_AUTOPACK
    DELIVERY_PUBLISH
    Pls find below code for reference.
    WA_STOCK_TRANS_ITEMS-REF_DOC    = STO no
    WA_STOCK_TRANS_ITEMS-REF_ITEM   = Item.
    WA_STOCK_TRANS_ITEMS-DLV_QTY    = quantity.
    WA_STOCK_TRANS_ITEMS-SALES_UNIT = 'EA'.
    APPEND WA_STOCK_TRANS_ITEMS TO STOCK_TRANS_ITEMS.
    CALL FUNCTION 'BAPI_OUTB_DELIVERY_CREATE_STO'
              IMPORTING
                DELIVERY          = DELIVERY
                NUM_DELIVERIES    = NUM_DELIVERIES
              TABLES
                STOCK_TRANS_ITEMS = STOCK_TRANS_ITEMS
                DELIVERIES        = DELIVERIES
                RETURN            = RETURN3.
    thanks in advance.

    Hi Venkat,
    If you check the Function Module Documentation, there is a note which mentions:
    Order (SALES_ORDER_ITEMS-REF_DOC)
    Unless specified otherwise, the entire order is delivered. This means that it is not necessary to list all the order items. It is sufficient to specify the order number.
    Please try this.
    Regards,
    Pranav.

  • How to use Extensionin, Extensionout FOR BAPI ENHANCEMENT

    Hi,
    I need to do the enhancemen for BAPI. I don't know how to do it.
    if there is any good procedure plz give me.
    Thanks in Advance,
    NV

    Hi ,
    In the EXTENSIONIN param Structure should be BAPI_TE_XXXXX(Which has the custom fields) .
    If you don't know one in se11 search with BAPI_TE_* , I am sure you will one which has ur fields.
    And then in Value part1 should have your data.
    For Ex. you want to send company code , asset no.
    first4 will be your comp code , Next 12 will ur Asset no .
    Please revert back if more help required.
    Also Check for similar work
    [Thread|Re: How to use BAPI]
    Rhea.

  • 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

  • Which BAPI meets my req. for creation of Pur Order - PO??

    Hi Experts,
    User enters a Sales Order on the selection screen, say Order_1.
    So, my requirement is to create the Purchase Order - PO, by pulling the data of Order_1.
    1 - I need to focus the to populate the Order Customer # into PO's HEADER TEXT
    2 - After pulling the Order line items, I need to do small manipulation to them & then, I need to create them as line items of creating PO.
    So, pls. let me know that, Which BAPI is good/correct for me to create a PO.
    I did F4 in SE37 for PO , but found amny!!
    thanq

    Hi,
    You can take help of this code.
    DATA : po_header LIKE bapiekkoc,
           po_items LIKE bapiekpoc OCCURS 0 WITH HEADER LINE,
           po_item_schedules like bapieket occurs 0 with header line,
           wa_po_add_header TYPE bapiekkoa,
           return LIKE bapireturn OCCURS 0 WITH HEADER LINE,
           pno like bapiekko-po_number.
    *POPULATE ITEM DATA.
    CLEAR po_items.
    REFRESH po_items.
    po_items-po_item = '00010'.
    po_items-material = '0000000000000G0001'.
    po_items-pur_mat = 'G0001'.
    po_items-short_text = 'PO created by HIRAL'.
    po_items-net_price = '10'.
    po_items-plant = '0001'.
    *po_items-ACCTASSCAT = ' '.
    po_items-unit = 'EA'.
    APPEND po_items.
    *POPULATE SCHEDULES DATA
    clear po_item_schedules.
    refresh po_item_schedules.
    po_item_schedules-po_item = '00010'.
    po_item_schedules-deliv_date = sy-datum.
    po_item_schedules-quantity = '100'.
    append po_item_schedules.
    *POPULATE HEADER DATA
    po_header-DOC_DATE = SY-DATUM .
    po_header-purch_org = '0001' .
    po_header-pur_group = '001' .
    po_header-vendor = 'ABCD' .
    po_header-doc_type = 'NB'.
    po_header-co_code = '0001'.
    po_header-doc_cat = 'F'.
    po_header-created_by = sy-uname.
    po_header-langu = 'E'.
    po_header-langu_iso = 'EN'.
    CALL FUNCTION 'BAPI_PO_CREATE'
      EXPORTING
        po_header                        = po_header
        PO_HEADER_ADD_DATA               = wa_po_add_header
    *   HEADER_ADD_DATA_RELEVANT         = '1'
    *   PO_ADDRESS                       =
    *   SKIP_ITEMS_WITH_ERROR            = 'X'
    *   ITEM_ADD_DATA_RELEVANT           = '1'
    *   HEADER_TECH_FIELDS               =
    IMPORTING
       PURCHASEORDER                     = pno
       tables
        po_items                         = po_items
    *   PO_ITEM_ADD_DATA                 =
        po_item_schedules                = po_item_schedules
    *    PO_ITEM_ACCOUNT_ASSIGNMENT       =
    *   PO_ITEM_TEXT                     =
       RETURN                            = return
    *   PO_LIMITS                        =
    *   PO_CONTRACT_LIMITS               =                                                                                "
    *   PO_SERVICES                      =                                                                                !                               !
    *   PO_SRV_ACCASS_VALUES             =
    *   PO_SERVICES_TEXT                 =
    *   PO_BUSINESS_PARTNER              =
    *   EXTENSIONIN                      =
    *   POADDRDELIVERY                   =
    LOOP AT return.
        WRITE:/ pno, return-message.
    ENDLOOP.
    Hope this helps to solve your problem.
    Plz reward if useful.
    Thanks,
    Dhanashri.

  • Service PO for Multiple Acct Assig is not created using BAPI_PO_CREATE1

    Hi,
    Im unable to create the Service po with multiple acct assiignment using BAPI_PO_CREATE1
    Header Data
          w_poheader-comp_code = w_src-bukrs.  "Company Code
          w_poheader-doc_type = w_src-bsart.   "Document type
         w_poheader-delete_ind = w_src-vrtkz. "Deletion Indicator
          CLEAR: lv_date.
          CALL FUNCTION 'CONVERT_DATE_TO_INTERNAL'
            EXPORTING
              date_external            = w_src-aedat
            IMPORTING
              date_internal            = lv_date
            EXCEPTIONS
              date_external_is_invalid = 1
              OTHERS                   = 2.
          w_poheader-creat_date = lv_date.    "Creation Date
          w_poheader-created_by = sy-uname.    "Creator Name
          w_poheader-vendor = w_src-lifnr.     "Vendor
          w_poheader-pmnttrms = w_src-zterm.   "Payment Terms
          w_poheader-purch_org = w_src-ekorg.  "Purchase Organization
          w_poheader-pur_group = w_src-ekgrp.  "Purchase Group
          w_poheader-ref_1    = w_src-ihrez.   "OLD PO
          w_poheaderx-comp_code = 'X'.  "Company Code
          w_poheaderx-doc_type = 'X'.   "Document type
         w_poheaderx-delete_ind = 'X'.      "Deletion Indicator
          w_poheaderx-creat_date = 'X'.    "Creation Date
          w_poheaderx-created_by = 'X'.
          w_poheaderx-vendor = 'X'.
          w_poheaderx-pmnttrms = 'X'.   "Payment Terms
          w_poheaderx-purch_org = 'X'.  "Purchase Organization
          w_poheaderx-pur_group = 'X'.  "Purchase Group
          w_poheaderx-ref_1 = 'X'.
    Item Data
          w_poitem-po_item = w_src-ebelp.
          IF NOT w_src-elikz IS INITIAL.
            w_poitem-delete_ind = w_src-elikz.
          ENDIF.
          IF NOT w_src-txz01 IS INITIAL.
            w_poitem-short_text = w_src-txz01.
          ENDIF.
          IF NOT w_src-werks IS INITIAL.
            w_poitem-plant = w_src-werks.
          ENDIF.
    Material group
          IF NOT w_src-matkl IS INITIAL.
            w_poitem-matl_group = w_src-matkl.
          ENDIF.
    Open or Partial Qty
          IF w_src-opqty IS  NOT INITIAL.
            w_poitem-quantity = w_src-opqty.
          ELSEIF NOT w_src-paqty IS INITIAL.
            w_poitem-quantity = w_src-paqty.
          ENDIF.
          IF NOT w_src-meins IS INITIAL.
            w_poitem-po_unit = w_src-meins. "Base Unit of Measure
          ENDIF.
          IF NOT w_src-netpr IS INITIAL.
            w_poitem-net_price = w_src-netpr.  "Net Price
          ENDIF.
          IF NOT w_src-mwskz IS INITIAL.
            w_poitem-tax_code = w_src-mwskz.
          ENDIF.
          IF NOT w_src-pstyp IS INITIAL.
            w_poitem-item_cat = w_src-pstyp.
          ENDIF.
          IF NOT w_src-knttp IS INITIAL.
            w_poitem-acctasscat = w_src-knttp.
          ENDIF.
          w_src-vrtkz = '2'.    "Added
          IF NOT w_src-vrtkz IS INITIAL.
            w_poitem-distrib = w_src-vrtkz.
          ENDIF.
    Package No
          IF w_src-srv_line_no EQ '2'.
            w_poitem-pckg_no = 0000000001. "Assign dummy package no "w_src-packno.  "Package no
          ELSEIF w_src-srv_line_no EQ '3'.
            w_poitem-pckg_no = 0000000004. "Assign dummy package no "w_src-packno.  "Package no
          ENDIF.
          IF w_poitem-delete_ind IS INITIAL AND
             w_poitem-short_text IS INITIAL AND
             w_poitem-plant IS INITIAL AND
             w_poitem-matl_group IS INITIAL AND
             w_poitem-quantity IS INITIAL AND
             w_poitem-po_unit IS INITIAL AND
             w_poitem-net_price IS INITIAL AND
             w_poitem-tax_code IS INITIAL.
            CLEAR lv_item.
          ELSE.
            APPEND w_poitem TO i_poitem.
            CLEAR: w_poitem.
            lv_item = 'X'.
          ENDIF.
          w_poitemx-po_item = w_src-ebelp.
          w_poitemx-delete_ind = 'X'.
          w_poitemx-short_text = 'X'.
          w_poitemx-plant = 'X'.
          w_poitemx-matl_group = 'X'.
          w_poitemx-quantity = 'X'.
          w_poitemx-po_unit = 'X'.
          w_poitemx-net_price = 'X'.
          w_poitemx-tax_code = 'X'.
          w_poitemx-item_cat = 'X'.
          w_poitemx-acctasscat = 'X'.
          w_poitemx-distrib = 'X'.
          w_poitemx-pckg_no = 'X'.
          IF lv_item = 'X'.
            APPEND w_poitemx TO i_poitemx.
            CLEAR: w_poitemx,
                   lv_item.
          ENDIF.
    PO Deliery Address
          w_poaddrdelivery-po_item = w_src-ebelp.
          IF NOT w_src-adrn2 IS INITIAL.
            w_poaddrdelivery-addr_no = w_src-adrn2.
            APPEND w_poaddrdelivery TO i_poaddrdelivery.
            CLEAR w_poaddrdelivery.
          ENDIF.
    POschedule
          w_poschedule-po_item = w_src-ebelp.
       w_poschedule-SCHED_LINE = w_src-
          CLEAR: lv_date.
          CALL FUNCTION 'CONVERT_DATE_TO_INTERNAL'
            EXPORTING
              date_external            = w_src-eindt
            IMPORTING
              date_internal            = lv_date
            EXCEPTIONS
              date_external_is_invalid = 1
              OTHERS                   = 2.
          IF NOT lv_date IS INITIAL.
            w_poschedule-del_datcat_ext = 'D'. "Delivery Date in Day Format
            w_poschedule-delivery_date = lv_date.
            w_poschedule-quantity = w_src-menge.
            APPEND w_poschedule TO i_poschedule.
            CLEAR w_poschedule.
            lv_schd = 'X'.
          ENDIF.
          w_poschedulex-po_item = w_src-ebelp.
       w_poschedule-SCHED_LINE = 'X'.
          w_poschedulex-del_datcat_ext = 'X'.
          w_poschedulex-delivery_date = 'X'.
          w_poschedulex-quantity = 'X'.
          IF lv_schd = 'X'.
            APPEND w_poschedulex TO i_poschedulex.
            CLEAR : w_poschedulex,
                    lv_schd.
          ENDIF.
    PO Account Assignment
          w_poaccount-po_item = w_src-ebelp.
          w_poaccount-serial_no = w_src-zekkn.
    Distribution Indicator is 1
          IF w_src-vrtkz EQ '1'.
            w_poaccount-distr_perc = w_src-vproz.
            IF NOT w_src-menge IS INITIAL.
              CLEAR lv_menge.
              lv_menge = w_src-menge.
            ENDIF.
            lv_acct_qty = lv_menge * w_src-vproz / 100.
    Get Round value of Quanity
            frac = FRAC( lv_acct_qty ).
            IF frac EQ 0.
              lv_acct_qty = FLOOR( lv_acct_qty ).
            ELSE.
              lv_acct_qty = CEIL( lv_acct_qty ).
            ENDIF.
            w_poaccount-quantity = lv_acct_qty.
          ELSEIF w_src-vrtkz IS INITIAL.
            w_poaccount-quantity = w_src-menge.
          ENDIF.
      w_poaccount-quantity = w_src-menge.    "added
          w_poaccount-gl_account = w_src-saknr.
          w_poaccount-costcenter = w_src-kostl.
          w_poaccount-asset_no = w_src-anln1.
          w_poaccount-wbs_element = w_src-wbs.
          w_poaccount-network = w_src-nplnr.
          w_poaccount-tax_code = w_src-mwskz.
          w_poaccount-activity = w_src-vornr.
          APPEND w_poaccount TO i_poaccount.
          CLEAR w_poaccount.
          w_poaccountx-po_item = w_src-ebelp.
          w_poaccountx-serial_no = w_src-zekkn.
          IF w_src-vrtkz EQ '1'.
            w_poaccountx-distr_perc =  'X'.
          ENDIF.
          w_poaccountx-quantity = 'X'.
          w_poaccountx-gl_account = 'X'.
          w_poaccountx-costcenter = 'X'.
          w_poaccountx-wbs_element = 'X'.
          w_poaccountx-network = 'X'.
          w_poaccountx-tax_code = 'X'.
          w_poaccountx-activity = 'X'.
          w_poaccountx-cmmt_item = 'X'.
          APPEND w_poaccountx TO i_poaccountx.
          CLEAR w_poaccountx.
    Extension for ZZSub
          IF NOT w_src-zzsub IS INITIAL.
            w_extensionin-structure = 'BAPI_TE_MEPOACCOUNTING'.
            w_extensionin-valuepart1+0(5) = w_src-ebelp.
            w_extensionin-valuepart1+5(2) = '01'.
            w_extensionin-valuepart1+28(5) = w_src-zzsub.
            APPEND w_extensionin TO i_extensionin.
            CLEAR w_extensionin.
            w_extensionin-structure = 'BAPI_TE_MEPOACCOUNTINGX'.
            w_extensionin-valuepart1+0(5) = w_src-ebelp.
            w_extensionin-valuepart1+5(2) = '01'.
            w_extensionin-valuepart1+11(1) = 'X'.
            APPEND w_extensionin TO i_extensionin.
            CLEAR w_extensionin.
          ENDIF.
    Extension to add Expense Type only
          IF NOT  w_src-zzexptype IS INITIAL.
            w_extensionin-structure = 'BAPI_TE_MEPOHEADER'.
            w_extensionin-valuepart1+10(4) = w_src-zzexptype.
            APPEND w_extensionin TO i_extensionin.
            CLEAR w_extensionin.
            w_extensionin-structure = 'BAPI_TE_MEPOHEADERX'.
            w_extensionin-valuepart1+10(4) = 'X'.
            APPEND w_extensionin TO i_extensionin.
            CLEAR w_extensionin.
          ENDIF.
          EXPORT i_extensionin[] TO MEMORY ID 'SUB'.
    PO Services( One Line Iem)
          IF w_src-srv_line_no EQ '2'.
            w_poservices-pckg_no = 0000000001.  "w_src-packno. "(assign package no as a dummy number)
            w_poservices-line_no = 0000000001.  "w_src-srv_line_no.    "Line item
            w_poservices-outl_ind = 'X'.
            w_poservices-subpckg_no = 0000000003.  "w_src-sub_packno. "(Dummy No.) "Sub package no
         w_poservices-quantity = w_src-srqty.  "Service Quantity
         w_poservices-base_uom = w_src-srmeins.  "Service Basic unit of Measure
         w_poservices-price_unit = '1'.
            w_poservices-from_line = '1'.
         w_poservices-gr_price  = w_src-brtwr.  "GR Price
         w_poservices-short_text = w_src-sh_text1.    "Service Short Text
            APPEND w_poservices TO i_poservices.
            CLEAR w_poservices.
    PO Services(Second Line Item )
            w_poservices-pckg_no = 0000000003.  "w_src-sub_packno. "(Dummy No.) "Sub package no
            w_poservices-line_no = 0000000002.
            w_poservices-ext_line = w_src-extrow.    "External line
            w_poservices-quantity = w_src-srqty.  "Service Quantity
            w_poservices-base_uom = w_src-srmeins.  "Service Basic unit of Measure
            w_poservices-price_unit = '1'.
            w_poservices-gr_price  = w_src-brtwr.  "GR Price
            w_poservices-short_text = w_src-sh_text1.    "Service Short Text
            APPEND w_poservices TO i_poservices.
            CLEAR w_poservices.
    PO Service Access values
            w_posrvacc-pckg_no = 0000000003.  "w_src-sub_packno.  "Sub package no
            w_posrvacc-line_no = 0000000002.  "w_src-srv_line_no. "Line item
            w_posrvacc-serno_line = w_src-zekkn.                "'01'.
            IF w_src-vproz IS INITIAL.
              w_posrvacc-percentage = '100.0'.
            ENDIF.
            w_posrvacc-serial_no = '01'.
            w_posrvacc-quantity = w_src-srqty.  "Service Quantity
            APPEND w_posrvacc TO i_posrvacc.
            CLEAR w_posrvacc.
          ELSEIF w_src-srv_line_no EQ '3'.
    PO Services
            if w_src-srv_line_no EQ '2'.
            w_poservices-pckg_no = 0000000004.  "(assign package no as a dummy number)
            w_poservices-line_no = 0000000001.  "Line item
            w_poservices-outl_ind = 'X'.
            w_poservices-subpckg_no = 0000000005.  "(Dummy No.) "Sub package no
            w_poservices-from_line = '1'.
            APPEND w_poservices TO i_poservices.
            CLEAR w_poservices.
            w_poservices-pckg_no = 0000000005.  "w_src-sub_packno. "(Dummy No.) "Sub package no
            w_poservices-line_no = 0000000002.
            w_poservices-ext_line = w_src-extrow.    "External line
            w_poservices-quantity = w_src-srqty.  "Service Quantity
            w_poservices-base_uom = w_src-srmeins.  "Service Basic unit of Measure
            w_poservices-price_unit = '1'.
            w_poservices-gr_price  = w_src-brtwr.  "GR Price
            w_poservices-short_text = w_src-sh_text1.    "Service Short Text
            APPEND w_poservices TO i_poservices.
            CLEAR w_poservices.
            endif.
            if  w_src-srv_line_no EQ '3'.
            w_poservices-pckg_no = 0000000005.  "w_src-sub_packno. "(Dummy No.) "Sub package no
            w_poservices-line_no = 0000000003.
            w_poservices-ext_line = w_src-extrow.    "External line
            w_poservices-quantity = w_src-srqty.  "Service Quantity
            w_poservices-base_uom = w_src-srmeins.  "Service Basic unit of Measure
            w_poservices-price_unit = '1'.
            w_poservices-gr_price  = w_src-brtwr.  "GR Price
            w_poservices-short_text = w_src-sh_text1.    "Service Short Text
            APPEND w_poservices TO i_poservices.
            CLEAR w_poservices.
            endif.
    PO Service Access values
           if  w_src-srv_line_no EQ '2'.
            w_posrvacc-pckg_no = 0000000005.  "w_src-sub_packno.  "Sub package no
            w_posrvacc-line_no = 0000000002.  "w_src-srv_line_no. "Line item
            w_posrvacc-serno_line = '01'.
            w_posrvacc-percentage = '100.0'.
            w_posrvacc-serial_no = '01'.    "w_src-zekkn.
            w_posrvacc-quantity = w_src-srqty.  "Service Quantity
            APPEND w_posrvacc TO i_posrvacc.
            CLEAR w_posrvacc.
            endif.
            if  w_src-srv_line_no EQ '3'.
            w_posrvacc-pckg_no = 0000000005.  "w_src-sub_packno.  "Sub package no
            w_posrvacc-line_no = 0000000003.  "w_src-srv_line_no. "Line item
            w_posrvacc-serno_line = '01'.
            w_posrvacc-percentage = '100.0'.
            w_posrvacc-serial_no = '02'.  "w_src-zekkn.  "'01'.
            w_posrvacc-quantity = w_src-srqty.  "Service Quantity
            APPEND w_posrvacc TO i_posrvacc.
            CLEAR w_posrvacc.
            endif.
          ENDIF.
        ENDIF.
    ***Create a NEW PO
    Call BAPI
          CALL FUNCTION 'BAPI_PO_CREATE1'
            EXPORTING
              poheader          = w_poheader
              poheaderx         = w_poheaderx
              TESTRUN           = ' '
            IMPORTING
              exppurchaseorder  = gv_ebeln
            TABLES
              return            = i_return
              poitem            = i_poitem[]
              poitemx           = i_poitemx[]
              poaddrdelivery    = i_poaddrdelivery[]
              poschedule        = i_poschedule[]
              poschedulex       = i_poschedulex[]
              poaccount         = i_poaccount[]
              poaccountx        = i_poaccountx[]
              poservices        = i_poservices[]
              posrvaccessvalues = i_posrvacc[]
              extensionin       = i_extensionin[].
    Commit the Transaction
          CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
            EXPORTING
              wait = 'X'.
    Regards,
    Deepthi.

    it is solved

  • Sample Bapi code for creating orders

    HI all,
    ive been working on creating an order using idoc_input_orders and couldnt do it because of 2 fields. now changed my decission and thinking of writing a bapi to do the same. has anybody got the sample code for mapping and filling in the bapis before calling bapi for creating an order. Could somebody help me with a sample code and i could use it as a reference before starting coding.
    thanks,
    Kiran

    See if this helps.
            one order with total sum of effort
              clear:   l_order_header,
                       l_salesdocument,
                       l_order_partners,
                       l_order_items,
                       l_order_schdl.
              refresh: it_order_items,
                       it_order_partners,
                       it_order_schdl,
                       it_return.
    ???????? get from material ...
            Order header
              l_order_header-doc_type          = 'ZQBV'.
              l_order_header-distr_chan        = '10'.
              l_order_header-division          = '00'.
              if g_qals-werk eq '1100'.
                l_order_header-sales_org         = '1000'.
              else.
                if g_qals-werk eq '3100'.
                  l_order_header-sales_org         = '3000'.
                else.
                  message i001(00) with text-005.
                endif.
              endif.
              l_order_header-purch_no_c        = g_qals-prueflos.  " <= lot
            Partner data
              l_order_partners-partn_role      = 'AG'.
              l_order_partners-partn_numb      = g_qals-kunnr.
              append l_order_partners to it_order_partners.
            Order items => only one
              l_order_items-itm_number         = 10.
              l_order_items-material           = g_qals-matnr.
              l_order_items-target_qty         = 1.
              append l_order_items to it_order_items.
            Schedules for quantity
              l_order_schdl-itm_number         = 10.
              l_order_schdl-req_qty            = 1.        " <=  only 1 !
              append l_order_schdl to it_order_schdl.
            Conditions for value
              l_order_conditions-itm_number    = 10.
              l_order_conditions-cond_type     = 'PR00'.
              l_order_conditions-cond_value    = g_effort_sum.
              l_order_conditions-currency      = g_effort_unit.
              append l_order_conditions to it_order_conditions.
            BAPI to create sales order
              CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT2'
                EXPORTING
               SALESDOCUMENTIN               =
                  ORDER_HEADER_IN               = l_order_header
               ORDER_HEADER_INX              =
               SENDER                        =
               BINARY_RELATIONSHIPTYPE       =
               INT_NUMBER_ASSIGNMENT         =
               BEHAVE_WHEN_ERROR             =
               LOGIC_SWITCH                  =
               TESTRUN                       =
               CONVERT                       = ' '
                IMPORTING
                  SALESDOCUMENT                 = l_salesdocument
                TABLES
                  RETURN                        = it_return
                  ORDER_ITEMS_IN                = it_order_items
               ORDER_ITEMS_INX               =
                  ORDER_PARTNERS                = it_order_partners
                  ORDER_SCHEDULES_IN            = it_order_schdl
               ORDER_SCHEDULES_INX           =
                  ORDER_CONDITIONS_IN           = it_order_conditions
               ORDER_CONDITIONS_INX          =
               ORDER_CFGS_REF                =
               ORDER_CFGS_INST               =
               ORDER_CFGS_PART_OF            =
               ORDER_CFGS_VALUE              =
               ORDER_CFGS_BLOB               =
               ORDER_CFGS_VK                 =
               ORDER_CFGS_REFINST            =
               ORDER_CCARD                   =
               ORDER_TEXT                    =
               ORDER_KEYS                    =
               EXTENSIONIN                   =
               PARTNERADDRESSES              =
              if not l_salesdocument is initial.
              order successfully created
                message i001(00) with text-001 l_salesdocument.
              endif.
            endif.

  • Bapi for open PO

    Hi!
    Can anyone let me know where to find the bapi for open po and how to use it in my report program.
    Thanks in advance.
    Note: Mr Anji Reddy vangala has answered me for which iam very much thankful to him, but i need to know about the concerned bapi.
    Regards,
    Parwez.

    Hi,
    Refer the sample code below which creats PO using BAPI_PO_CREATE1.
    Hope this helps your querry.
    *& Report  YDM_PO_CREATE                                               *
    REPORT  ydm_po_create.
    *-- Input File Declaration
    TYPES: BEGIN OF ty_input_file,
           column1 TYPE char50,
           column2 TYPE char50,
           column3 TYPE char50,
           column4 TYPE char50,
           column5 TYPE char50,
           column6 TYPE char50,
           column7 TYPE char50,
           column8 TYPE char50,
           column9 TYPE char50,
           column10 TYPE char50,
           column11 TYPE char50,
           column12 TYPE char50,
           column13 TYPE char50,
           column14 TYPE char50,
           column15 TYPE char50,
           column16 TYPE char50,
           column17 TYPE char50,
           column18 TYPE char50,
    END OF ty_input_file.
    DATA: i_input_file  TYPE STANDARD TABLE OF ty_input_file,
          wa_input_file TYPE ty_input_file.
    CONSTANTS: c_path     TYPE char20 VALUE 'C:\',
               c_mask     TYPE char9  VALUE ',*.*,*.*.',
               c_mode     TYPE char1  VALUE 'O',
               c_filetype TYPE char10 VALUE 'ASC',
               c_x        TYPE char01 VALUE 'X'.
    PARAMETERS : p_fname   LIKE rlgrap-filename.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_fname.
    *-- Browse Presentation Server
      PERFORM f4_presentation_file.
    START-OF-SELECTION..
    *-- Read presentation server file
      PERFORM f1003_upload_file.
      IF NOT i_input_file[] IS INITIAL.
        PERFORM split_data.
      ENDIF.
    *&                  Form  f4_presentation_file
    *&                F4 Help for presentation server
    FORM f4_presentation_file .
      CALL FUNCTION 'WS_FILENAME_GET'
        EXPORTING
          def_path         = c_path
          mask             = c_mask
          mode             = c_mode
          title            = text-001
        IMPORTING
          filename         = p_fname
        EXCEPTIONS
          inv_winsys       = 1
          no_batch         = 2
          selection_cancel = 3
          selection_error  = 4
          OTHERS           = 5.
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
    ENDFORM.                    " f4_presentation_file
    *&                      Form  f1003_upload_file
    *&                         Upload File
    FORM f1003_upload_file .
      DATA: lcl_filename TYPE string.
      lcl_filename = p_fname.
      CALL FUNCTION 'GUI_UPLOAD'
        EXPORTING
          filename                = lcl_filename
          filetype                = c_filetype
          has_field_separator     = c_x
        TABLES
          data_tab                = i_input_file
        EXCEPTIONS
          file_open_error         = 1
          file_read_error         = 2
          no_batch                = 3
          gui_refuse_filetransfer = 4
          invalid_type            = 5
          no_authority            = 6
          unknown_error           = 7
          bad_data_format         = 8
          header_not_allowed      = 9
          separator_not_allowed   = 10
          header_too_long         = 11
          unknown_dp_error        = 12
          access_denied           = 13
          dp_out_of_memory        = 14
          disk_full               = 15
          dp_timeout              = 16
          OTHERS                  = 17.
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
        EXIT.
      ENDIF.
    ENDFORM.                    " f1003_upload_file
    *&      Form  split_data
          Collect data for creating Purchase Order
    FORM split_data .
      DATA: i_poitem        TYPE STANDARD TABLE OF bapimepoitem,
            i_poitemx       TYPE STANDARD TABLE OF bapimepoitemx,
            i_poitem_sch    TYPE STANDARD TABLE OF bapimeposchedule,
            i_poitem_schx   TYPE STANDARD TABLE OF bapimeposchedulx,
            i_acct_***      TYPE STANDARD TABLE OF bapimepoaccount,
            i_acct_assx     TYPE STANDARD TABLE OF bapimepoaccountx,
            i_services      TYPE STANDARD TABLE OF bapiesllc ,
            i_srvacc        TYPE STANDARD TABLE OF bapiesklc,
            i_return        TYPE STANDARD TABLE OF bapiret2,
            wa_header       TYPE bapimepoheader,
            wa_headerx      TYPE bapimepoheaderx,
            wa_poitem       TYPE bapimepoitem,
            wa_poitemx      TYPE bapimepoitemx,
            wa_poitem_sch   TYPE bapimeposchedule,
            wa_poitem_schx  TYPE bapimeposchedulx,
            wa_acct_***     TYPE bapimepoaccount,
            wa_acct_assx    TYPE bapimepoaccountx,
            wa_services     TYPE bapiesllc,
            wa_srvacc       TYPE bapiesklc,
            wa_return       TYPE bapiret2,
            ws_po           TYPE bapimepoheader-po_number.
      break gbpra8.
      wa_services-pckg_no = 10.
      wa_services-line_no = 1.
      wa_services-outl_no = '0'.
      wa_services-outl_ind = c_x.
      wa_services-subpckg_no = 20.
      APPEND wa_services TO i_services.
      wa_srvacc-pckg_no = 10.
      wa_srvacc-line_no = 1.
      wa_srvacc-serno_line = 01.
      wa_srvacc-serial_no = 01.
      wa_srvacc-percentage = 100.
      APPEND wa_srvacc TO i_srvacc.
      LOOP AT i_input_file INTO wa_input_file.
        IF wa_input_file-column2 EQ 'HD'.
          wa_header-doc_type = wa_input_file-column3.
          wa_header-creat_date = sy-datum.
          wa_header-created_by = sy-uname.
          wa_header-vendor = wa_input_file-column4.
          PERFORM conversion_output USING wa_header-vendor
                                    CHANGING wa_header-vendor.
          wa_header-comp_code = 'DE03'.
          wa_header-purch_org = 'DE03'.
          wa_header-pur_group = 'DE1'.
          wa_header-vper_start = wa_input_file-column9.
          wa_header-vper_end = wa_input_file-column10.
          wa_headerx-comp_code = c_x.
          wa_headerx-doc_type = c_x.
          wa_headerx-creat_date = c_x.
          wa_headerx-created_by = c_x.
          wa_headerx-vendor = c_x.
          wa_headerx-purch_org = c_x.
          wa_headerx-pur_group = c_x.
          wa_headerx-vper_start = c_x.
          wa_headerx-vper_end = c_x.
        ENDIF.
        IF wa_input_file-column2 EQ 'IT'.
          wa_poitem-po_item = wa_input_file-column3.
          wa_poitem-short_text = wa_input_file-column6.
          wa_poitem-plant = wa_input_file-column8.
          wa_poitem-quantity = '1'.
          wa_poitem-tax_code = 'V0'.
          wa_poitem-item_cat = 'D'.
          wa_poitem-acctasscat = 'K'.
          wa_poitem-matl_group = wa_input_file-column7.
          wa_poitem-pckg_no = '10'.
          APPEND wa_poitem TO i_poitem .
          wa_poitemx-po_item = wa_input_file-column3.
          wa_poitemx-po_itemx = c_x.
          wa_poitemx-short_text = c_x.
          wa_poitemx-plant = c_x.
          wa_poitemx-quantity = c_x.
          wa_poitemx-tax_code = c_x.
          wa_poitemx-item_cat = c_x.
          wa_poitemx-acctasscat = c_x.
          wa_poitemx-matl_group = c_x.
          wa_poitemx-pckg_no = c_x.
          APPEND wa_poitemx TO i_poitemx.
          wa_poitem_sch-po_item = wa_input_file-column3.
          wa_poitem_sch-delivery_date = sy-datum.
          APPEND wa_poitem_sch TO i_poitem_sch.
          wa_poitem_schx-po_item = wa_input_file-column3.
          wa_poitem_schx-po_itemx = c_x.
          wa_poitem_schx-delivery_date = c_x.
          APPEND wa_poitem_schx TO i_poitem_schx.
          wa_acct_***-po_item = 10.
          wa_acct_***-serial_no = 01.
          wa_acct_***-gl_account = '0006360100'.
          wa_acct_***-co_area  = '1000'.
          wa_acct_***-costcenter = 'KC010000'.
          APPEND wa_acct_*** TO i_acct_***.
          wa_acct_***-po_item = 10.
          wa_acct_***-serial_no = 02.
          wa_acct_***-gl_account = '0006360100'.
          wa_acct_***-co_area  = '1000'.
          wa_acct_***-costcenter = 'KC010000'.
          APPEND wa_acct_*** TO i_acct_***.
          wa_acct_assx-po_item = 10.
          wa_acct_assx-serial_no = 01.
          wa_acct_assx-po_itemx = c_x.
          wa_acct_assx-serial_nox = c_x.
          wa_acct_assx-gl_account = c_x.
          wa_acct_assx-co_area  = c_x.
          wa_acct_assx-costcenter = c_x.
          APPEND wa_acct_assx TO i_acct_assx.
          wa_acct_assx-po_item = 10.
          wa_acct_assx-serial_no = 02.
          wa_acct_assx-po_itemx = c_x.
          wa_acct_assx-serial_nox = c_x.
          wa_acct_assx-gl_account = c_x.
          wa_acct_assx-co_area  = c_x.
          wa_acct_assx-costcenter = c_x.
          APPEND wa_acct_assx TO i_acct_assx.
          wa_services-pckg_no = 20.
          wa_services-line_no = 2.
          wa_services-service = wa_input_file-column9.
          wa_services-quantity = '100'.
          wa_services-gr_price = '100'.
          wa_services-userf1_txt = wa_input_file-column13.
          APPEND wa_services TO i_services.
          wa_srvacc-pckg_no = 20.
          wa_srvacc-line_no = 1.
          wa_srvacc-serno_line = 02.
          wa_srvacc-serial_no = 02.
          wa_srvacc-percentage = 100.
          APPEND wa_srvacc TO i_srvacc.
        ENDIF.
      ENDLOOP.
      CALL FUNCTION 'BAPI_PO_CREATE1'
        EXPORTING
          poheader                     = wa_header
          poheaderx                    = wa_headerx
      POADDRVENDOR                 =
      TESTRUN                      =
      MEMORY_UNCOMPLETE            =
      MEMORY_COMPLETE              =
      POEXPIMPHEADER               =
      POEXPIMPHEADERX              =
      VERSIONS                     =
      NO_MESSAGING                 =
      NO_MESSAGE_REQ               =
      NO_AUTHORITY                 =
      NO_PRICE_FROM_PO             =
       IMPORTING
         exppurchaseorder             = ws_po
      EXPHEADER                    =
      EXPPOEXPIMPHEADER            =
       TABLES
         return                       = i_return
         poitem                       = i_poitem
         poitemx                      = i_poitemx
      POADDRDELIVERY               =
         poschedule                   = i_poitem_sch
         poschedulex                  = i_poitem_schx
         poaccount                    = i_acct_***
      POACCOUNTPROFITSEGMENT       =
         poaccountx                   = i_acct_assx
      POCONDHEADER                 =
      POCONDHEADERX                =
      POCOND                       =
      POCONDX                      =
      POLIMITS                     =
      POCONTRACTLIMITS             =
         poservices                   = i_services
         posrvaccessvalues            = i_srvacc
      POSERVICESTEXT               =
      EXTENSIONIN                  =
      EXTENSIONOUT                 =
      POEXPIMPITEM                 =
      POEXPIMPITEMX                =
      POTEXTHEADER                 =
      POTEXTITEM                   =
      ALLVERSIONS                  =
      POPARTNER                    =
      break gbpra8.
      LOOP AT i_return INTO wa_return.
      ENDLOOP.
    ENDFORM.                    " split_data
    *&      Form  conversion_output
          Conversion exit input
    FORM conversion_output  USING    p_ip
                            CHANGING p_op.
      CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
        EXPORTING
          input  = p_ip
        IMPORTING
          output = p_op.
    ENDFORM.                    " conversion_output
    <b>Reward points if this helps.
    Manish</b>

  • 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

  • LSMW me51n, how to create one PR document for all the records in the  file

    HI all,
    I need to create LSMW for t-code me51n -Create Purchase Requisition. I`m using Bapi BUS2105, method CREATEFROMDATA, idoc message type PREQCR, basic type PREQCR03. The problem is that the LSMW is creating different idoc and different PR document for every record in the source file. My requirement is to create one PR document for one source file (Every source file is different Purchase Requisition) . I`m trying to do this with writing some code(global functions ) in the 'Mapping and conversion rules'  events - BEGINOF_TRANSACTION_, ENDOF_TRANSACTION__..., but i`m not very sure what exactly i`m doing .
    Please help me resolve this problem, any help will be appreciated .
    Best regards, Emil Milchev.

    Thank you for you answer.
    But I have found faster way of doing it - two source structures, one HEADER and ONE ITEM.
    HEADER: one empty text field and identificator for it.
    ITEM: everything else.
    Then everything was just fine, i`ve mapped the different IDOC segments by PREQ_ITEM fields (equal values in the source file : 10-10-10..., 20-20-20,.... etc.) and put all required fields for my LSMW
    SOURCE FIELDS:
    Z_ME51N_V2 - MASS_UPLOAD - CREATE create
    Source Fields
    UPFILE                    upload file
                IDENT                          C(010)    ident
                                               Identifing Field Content: header
                TEXT                           C(001)
                UPFILE2                   123
                    IDENT                          C(010)    ident
                                                   Identifing Field Content: item
                    BSART                          C(004)    Document type
                    BANFN                          C(010)    Purchase requisition number
                    BNFPO_FOR_MAP                  N(005)    Item number of purchase req. for MAPPING acc.
                    BNFPO                          N(005)    Item number of purchase requisition
                    KNTTP                          C(001)    Account assignment category
                    PSTYP                          C(001)    Item category in purchasing document
                    MATNR                          C(018)    Material Number
                    WERKS                          C(004)    Plant
                    LGORT                          C(004)    Storage Location
                    MENGE                          N(013)    Purchase requisition quantity
                    EKGRP                          C(003)    Purchasing group
                    KONNR                          C(010)    Number of principal purchase agreement
                    KTPNR                          N(005)    Item number of principal purchase agreement
                    LIFNR                          C(010)    Desired Vendor
                    FLIEF                          C(010)    Fixed Vendor
                    AFNAM                          C(012)    Name of requisitioner/requester
                    PREIS                          AMT4(011) Price in purchase requisition
                    ABLAD                          C(025)    Unloading Point
                    WEMPF                          C(012)    Goods Recipient
                    PS_POSID                       C(024)    Work Breakdown Structure Element (WBS Element)
                    KOSTL                          C(011)    COST_CTR v bapito ?
                    NAME1                          C(040)    Name1 - Name of an address
                    NAME2                          C(040)    Name2 - Name of an address 2
                    STREET                         C(060)    Street
                    DELIVERY_DATE                  C(008)    Date on which the goods are to be delivered
                    TEXT                           C(132)    item text
    STRUCTURE RELATIONS :
    Structure Relations
    E1PREQCR              Header segment                                               <<<< UPFILE  upload file
               E1BPEBANC             Transfer Structure: Create Requisition Item                  <<<< UPFILE2 123
               E1BPEBKN              Transfer Structure: Create/Display Requisition Acct Assgt    <<<< UPFILE2 123
               E1BPEBANTX            BAPI Purchase Requisition: Item Text                         <<<< UPFILE2 123
               E1BPESUHC             Communication Structure: Limits                              <<<< UPFILE2 123
               E1BPESUCC             Communication Structure: Contract Limits                     <<<< UPFILE2 123
               E1BPESLLC             Communication Structure: Create Service Line                 <<<< UPFILE2 123
               E1BPESKLC             Create Comm. Structure: Acct Assgt Distr. for Service Line   <<<< UPFILE2 123
               E1BPESLLTX            BAPI Services Long Text                                      <<<< UPFILE  upload file
               E1BPMERQADDRDELIVERY  PO Item: Address Structure BAPIADDR1 for Inbound Delivery    <<<< UPFILE2 123
                   E1BPMERQADDRDELIVERY1 PO Item: Address Structure BAPIADDR1 for Inbound Delivery    <<<< UPFILE2 123
               E1BPPAREX             Ref. Structure for BAPI Parameter EXTENSIONIN/EXTENSIONOUT   <<<< UPFILE2 123
    MAINTAIN FIELD MAPPING AND... :
    the MAPPING between two IDOC`s segments:
    In first segment:
    E1BPEBANC                      Transfer Structure: Create Requisition Item
             Fields
                 PREQ_NO                      Purchase requisition number
                                     Source:  UPFILE2-BANFN (Purchase requisition number)
                                     Rule :   Transfer (MOVE)
                                     Code:    E1BPEBANC-PREQ_NO = UPFILE2-BANFN.
                 PREQ_ITEM                    Item number of purchase requisition
                                     Source:  UPFILE2-BNFPO (Item number of purchase requisition)
                                     Rule :   Transfer (MOVE)
                                     Code:    E1BPEBANC-PREQ_ITEM = UPFILE2-BNFPO.
    In second segment :
    E1BPEBKN                       Transfer Structure: Create/Display Requisition Acct Assgt
               Fields
                   PREQ_NO                      Purchase requisition number
                   PREQ_ITEM                    Item number of purchase requisition
                                       Source:  UPFILE2-BNFPO_FOR_MAP (Item number of purchase req. for MAPPING
                                       Rule :   Transfer (MOVE)
                                       Code:    E1BPEBKN-PREQ_ITEM = UPFILE2-BNFPO_FOR_MAP.
    After that everything was OK .

Maybe you are looking for

  • Can software updates be shared on other computers?

    I thought I read somewhere that Software Updates could be downloaded on one computer and then shared on another. We have 3 Macs in the house and the software updates are chewing through my allocated data, at least it is a part of the problem I believ

  • File adapter/JDBC adapter processing

    Hi, I have scenarion as below > XI gets an IDOC message from R/3 > Based on that message XI uses a fileadapter to call a UNIX shell script in the other system (system B - non SAP)for pre-processing. > The script call returns no errors.. So, XI/BPM no

  • How can I delete the Auto-Fill Cache For My Email in Snow Leopard?

    When I start to type an email in Snow Leopards Mail program I am getting the Auto-Fill selection but it contains email addresses that are no longer valid and have been deleted from my contacts.  It must be getting the information from a cache file is

  • Flash Player Hanging while Droping Object at Edge of Canvas

    Hi, I had a problem with Drag and Drop operation, While i am droping object at edge of canvas flash player is hanging, if i drop object center of canas it's working fine. can any one please healp on this issue.

  • Audition cs6 with pp cs5.5

    following the discussions in the forum I'm going to wait with installing the upgrade from cs5.5. to ppcs6. however I have ordered with the pprcs6 the audition cs6 (I didn't have audition before). should I be concerned about installing it with the pp