BAPI to upload line items from a flat file to VA01

Hi guys,
I have a requirement wherein i need to upload data containing line items from a flat file to VA01.Please tell me how do i go about this.
Thanks and regards,
Frank.

Hi
Frank this code might help u and this is the BAPI to create sales document BAPI_SALESDOCU_CREATEFROMDATA1 if i am helpful to u in any way plzz reward and dont forget to reward me plzzz
for any further quiries my mail id [email protected]
    Include           YCL_CREATE_SALES_DOCU                         *
     Form  salesdocu
     This Subroutine is used to create Sales Order
     -->P_HEADER           Document Header Data
     -->P_HEADERX          Checkbox for Header Data
     -->P_ITEM             Item Data
     -->P_ITEMX            Item Data Checkboxes
     -->P_LT_SCHEDULES_IN  Schedule Line Data
     -->P_LT_SCHEDULES_INX Checkbox Schedule Line Data
     -->P_PARTNER  text    Document Partner
     <--P_w_vbeln  text    Sales Document Number
DATA:
  lfs_return like line of t_return.
FORM create_sales_document changing P_HEADER  like fs_header
                                   P_HEADERX like fs_headerx
                                   Pt_ITEM   like t_item[]
                                   Pt_ITEMX  like t_itemx[]
                                   P_LT_SCHEDULES_IN  like t_schedules_in[]
                                   P_LT_SCHEDULES_INX like t_schedules_inx[]
                                   Pt_PARTNER  like t_partner[]
                                   P_w_vbeln  like w_vbeln.
This Perform is used to fill required data for Sales order creation
  perform sales_fill_data changing p_header
                                   p_headerx
                                   pt_item
                                   pt_itemx
                                   p_lt_schedules_in
                                   p_lt_schedules_inx
                                   pt_partner.
Function Module to Create Sales and Distribution Document
  perform sales_order_creation using p_header
                                     p_headerx
                                     pt_item
                                     pt_itemx
                                     p_lt_schedules_in
                                     p_lt_schedules_inx
                                     pt_partner.
  perform return_check using p_w_vbeln .
ENDFORM.                                 " salesdocu
    Form  commit_work
    To execute external commit                                    *
FORM commit_work .
  CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
   WAIT          = c_x
ENDFORM.                                 " Commit_work
Include ycl_sales_order_header          " To Fill Header data and Item data
Include ycl_sales_order_header.
     Form  return_check
    To validate the sales order creation
FORM return_check using pr_vbeln type vbeln.
if pr_vbeln is initial.
    LOOP AT t_return into lfs_return .
      WRITE / lfs_return-message.
      clear lfs_return.
    ENDLOOP.                             " Loop at return
  else.
    perform commit_work.                 " External Commit
    Refresh t_return.
    fs_disp-text = text-003.
    fs_disp-number = pr_vbeln.
    append fs_disp to it_disp.
  if p_del eq c_x or p_torder eq c_x or
    p_pgi eq c_x or p_bill eq c_x.
    perform delivery_creation.           " Delivery order creation
    endif.                               " If p_del eq 'X'......
  endif.                                 " If p_w_vbeln is initial
ENDFORM.                                 " Return_check
*&      Form  sales_order_creation
      text
     -->P_P_HEADER  text
     -->P_P_HEADERX  text
     -->P_PT_ITEM  text
     -->P_PT_ITEMX  text
     -->P_P_LT_SCHEDULES_IN  text
     -->P_P_LT_SCHEDULES_INX  text
     -->P_PT_PARTNER  text
FORM sales_order_creation  USING    P_P_HEADER like fs_header
                                    P_P_HEADERX like fs_headerx
                                    P_PT_ITEM like t_item[]
                                    P_PT_ITEMX like t_itemx[]
                                    P_P_LT_SCHEDULES_IN like t_schedules_in[]
                                    P_P_LT_SCHEDULES_INX like t_schedules_inx[]
                                    P_PT_PARTNER like t_partner[].
    CALL FUNCTION 'BAPI_SALESDOCU_CREATEFROMDATA1'
    EXPORTING
      sales_header_in     = p_p_header
      sales_header_inx    = p_p_headerx
    IMPORTING
      salesdocument_ex    = w_vbeln
    TABLES
      return              = t_return
      sales_items_in      = p_pt_item
      sales_items_inx     = p_pt_itemx
      sales_schedules_in  = p_p_lt_schedules_in
      sales_schedules_inx = p_p_lt_schedules_inx
      sales_partners      = p_pt_partner.
ENDFORM.                    " sales_order_creation

Similar Messages

  • BAPI to upload data from a flat file to VA01

    Hi guys,
    I have a requirement wherein i need to upload data  from a flat file to VA01.Please tell me how do i go about this.
    Thanks and regards,
    Frank.

    Hi
    previously i posted code also
        Include           YCL_CREATE_SALES_DOCU                         *
         Form  salesdocu
         This Subroutine is used to create Sales Order
         -->P_HEADER           Document Header Data
         -->P_HEADERX          Checkbox for Header Data
         -->P_ITEM             Item Data
         -->P_ITEMX            Item Data Checkboxes
         -->P_LT_SCHEDULES_IN  Schedule Line Data
         -->P_LT_SCHEDULES_INX Checkbox Schedule Line Data
         -->P_PARTNER  text    Document Partner
         <--P_w_vbeln  text    Sales Document Number
    DATA:
      lfs_return like line of t_return.
    FORM create_sales_document changing P_HEADER  like fs_header
                                       P_HEADERX like fs_headerx
                                       Pt_ITEM   like t_item[]
                                       Pt_ITEMX  like t_itemx[]
                                       P_LT_SCHEDULES_IN  like t_schedules_in[]
                                       P_LT_SCHEDULES_INX like t_schedules_inx[]
                                       Pt_PARTNER  like t_partner[]
                                       P_w_vbeln  like w_vbeln.
    This Perform is used to fill required data for Sales order creation
      perform sales_fill_data changing p_header
                                       p_headerx
                                       pt_item
                                       pt_itemx
                                       p_lt_schedules_in
                                       p_lt_schedules_inx
                                       pt_partner.
    Function Module to Create Sales and Distribution Document
      perform sales_order_creation using p_header
                                         p_headerx
                                         pt_item
                                         pt_itemx
                                         p_lt_schedules_in
                                         p_lt_schedules_inx
                                         pt_partner.
      perform return_check using p_w_vbeln .
    ENDFORM.                                 " salesdocu
        Form  commit_work
        To execute external commit                                    *
    FORM commit_work .
      CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
    EXPORTING
       WAIT          = c_x
    ENDFORM.                                 " Commit_work
    Include ycl_sales_order_header          " To Fill Header data and Item data
    Include ycl_sales_order_header.
         Form  return_check
        To validate the sales order creation
    FORM return_check using pr_vbeln type vbeln.
    if pr_vbeln is initial.
        LOOP AT t_return into lfs_return .
          WRITE / lfs_return-message.
          clear lfs_return.
        ENDLOOP.                             " Loop at return
      else.
        perform commit_work.                 " External Commit
        Refresh t_return.
        fs_disp-text = text-003.
        fs_disp-number = pr_vbeln.
        append fs_disp to it_disp.
      if p_del eq c_x or p_torder eq c_x or
        p_pgi eq c_x or p_bill eq c_x.
        perform delivery_creation.           " Delivery order creation
        endif.                               " If p_del eq 'X'......
      endif.                                 " If p_w_vbeln is initial
    ENDFORM.                                 " Return_check
    *&      Form  sales_order_creation
          text
         -->P_P_HEADER  text
         -->P_P_HEADERX  text
         -->P_PT_ITEM  text
         -->P_PT_ITEMX  text
         -->P_P_LT_SCHEDULES_IN  text
         -->P_P_LT_SCHEDULES_INX  text
         -->P_PT_PARTNER  text
    FORM sales_order_creation  USING    P_P_HEADER like fs_header
                                        P_P_HEADERX like fs_headerx
                                        P_PT_ITEM like t_item[]
                                        P_PT_ITEMX like t_itemx[]
                                        P_P_LT_SCHEDULES_IN like t_schedules_in[]
                                        P_P_LT_SCHEDULES_INX like t_schedules_inx[]
                                        P_PT_PARTNER like t_partner[].
        CALL FUNCTION 'BAPI_SALESDOCU_CREATEFROMDATA1'
        EXPORTING
          sales_header_in     = p_p_header
          sales_header_inx    = p_p_headerx
        IMPORTING
          salesdocument_ex    = w_vbeln
        TABLES
          return              = t_return
          sales_items_in      = p_pt_item
          sales_items_inx     = p_pt_itemx
          sales_schedules_in  = p_p_lt_schedules_in
          sales_schedules_inx = p_p_lt_schedules_inx
          sales_partners      = p_pt_partner.
    ENDFORM.                    " sales_order_creation
    plzz reward if i am usefull plzz

  • Problem in the BDC program to upload the data from a flat file.

    Hi,
    I am required to write a BDC program to upload the data from a flat file. The conditions are as mentioned below:-
    1) Selection Screen will be prompted to user and user needs to provide:- File Path on presentation server (with F4 help for this obligatory parameter) and File Separator e.g. @,#,$,%,... etc(fields in the file will be separated by using this special character) or fields may be separated by tab(tab delimited).
    2) Finally after the data is uploaded, following messages need to be displayed:-
    a) Total Number of records successfully uploaded.
    b) Session Name
    c) Number of Sessions created.
    Problem is when each record is fetched from flat file, the record needs to be split into individual fields separated by delimiter or in case tab separated, then proceeding in usual manner.
    It would be great if you provide me either the logic, pseudocode, or sample code for this BDC program.
    Thanks,

    Here is an example program,  if you require the delimitor to be a TAB, then enter TAB on the selection screen, if you require the delimitor to be a comma, slash, pipe, whatever, then simply enter that value.  This example is simply the uploading of the file, not the BDC, I assume that you know what to do once you have the data into the internal table.
    REPORT zrich_0001.
    TYPES: BEGIN OF ttab,
            rec TYPE string,
           END OF ttab.
    TYPES: BEGIN OF tdat,
           fld1(10) TYPE c,
           fld2(10) TYPE c,
           fld3(10) TYPE c,
           fld4(10) TYPE c,
           END OF tdat.
    DATA: itab TYPE TABLE OF ttab.
    data: xtab like line of itab.
    DATA: idat TYPE TABLE OF tdat.
    data: xdat like line of idat.
    DATA: file_str TYPE string.
    DATA: delimitor TYPE string.
    PARAMETERS: p_file TYPE localfile.
    PARAMETERS: p_del(5) TYPE c.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
      DATA: ifiletab TYPE filetable.
      DATA: xfiletab LIKE LINE OF ifiletab.
      DATA: rc TYPE i.
      CALL METHOD cl_gui_frontend_services=>file_open_dialog
        CHANGING
          file_table = ifiletab
          rc         = rc.
      READ TABLE ifiletab INTO xfiletab INDEX 1.
      IF sy-subrc = 0.
        p_file = xfiletab-filename.
      ENDIF.
    START-OF-SELECTION.
      TRANSLATE p_del TO UPPER CASE.
      CASE p_del.
        WHEN 'TAB'.
          delimitor = cl_abap_char_utilities=>horizontal_tab.
        WHEN others.
          delimitor = p_del.
      ENDCASE.
      file_str = p_file.
      CALL METHOD cl_gui_frontend_services=>gui_upload
        EXPORTING
          filename = file_str
        CHANGING
          data_tab = itab.
      LOOP AT itab into xtab.
        CLEAR xdat.
        SPLIT xtab-rec AT delimitor INTO xdat-fld1
                                         xdat-fld2
                                         xdat-fld3
                                         xdat-fld4.
        APPEND xdat to idat.
      ENDLOOP.
      LOOP AT idat into xdat.
        WRITE:/ xdat-fld1, xdat-fld2, xdat-fld3, xdat-fld4.
      ENDLOOP.
    Regards,
    Rich Heilman

  • Uploading the data from a flat file into ztable

    Hi,
    I have a requirement where I have to upload the data from 2 flat files into 2 z tables(ZRB_HDR,ZRB_ITM).From the 1st flat file only data for few fields have to be uploaded into ztable(ZRB_HRD) .Fromthe 2nd flat file data for all the fields have to me uploaded into ztable(ZRB_ITM). How can I do this?
    Regards,
    Hema

    hi,
    declare two internal table with structur of your tables.
    your flat files should be .txt files.
    now make use of GUI_UPLOAD function module to upload your flatfile into internal tables.
    CALL FUNCTION 'GUI_UPLOAD'
        EXPORTING
          filename            = 'c:\file1.txt'
          has_field_separator = 'X'
        TABLES
          data_tab            = itab1
        EXCEPTIONS
          OTHERS              = 1.
    use this function twice for two tables.
    then loop them individually and make use of insert command.

  • Uploading Data from a Flat File

    Hi
    I am trying to Upload data from a Flat File to the MDS. I have a few questions on the Process.
    a) XI would be the Interface, and one end would be a file adapter with the Flat File format. On the other end, which Interface should I use - ABA Business Partner In or MDM Business Partner In. I do not understand the differences between them and where should which one be used?
    B) At the moment,I want to map the data to standard Object type, Business Partner  BUS1006. This also has a staging area already defined in the System. Can I view the data which is imported into the Staging area ? How so ?
    C) The struture (or data) that I wish to upload has few fields, and does not map to the BP structure easily. In such a scenario does it make sense to
    Create a new Object type
    (ii) Create a new Business Partner type with the appropriate fields only ..
    What I need to know is if either of these options is feasible and what are the pros & cons of doing this, in terms of effort, skillset & interaction with SAP Development ?
    Kindly do reply if you have any answers to these questions.
    Regards,
    Gaurav

    Hi Markus,
    Thanks for your inputs.
    I have tried uploading some dats from a Flat file to the Business Partner Onject type, BUS1006. I initially got some ABAP Parsing errors on the MDM side, but after correcting that, I find my message triggers a short dump - with the Method SET_OBJECTKEYS, not finding any keys in the BP structure that has been created.
    Q1 - How do I get around this problem ? Is it necessary for me to specify Keys in the PartyID node of the Interface ABABusinessPartnerIn. or is it something else ?
    Q2 - How is this general process supposed to work? I would assume that for staging, I would get incomplete Master data or data from flat files, which need not neccesarily contain keys. The aim is to use the matching strategies in the CI to identify duplicates and consolidate them.
    Thanks in advance for your reply.
    Regards,
    Gaurav

  • BAPI_PO_CREATE1 not able to create PO's for multiple rows from the flat fil

    Hi
    i am uploading PO's from a flat file into SAP using the BAPI_PO_CREATE1. Everything works fine if the flat file hast only one record.
    if the flat file has more than one record then while loading the second record the BAPI returns a error message. I am calling the BAPI in a loop.
    The strange thing is that if i load the second record individually the program is able to create the PO. So only when i have multiple records in the flat file i am unable to load the PO into SAP. I debugged and checked all the internal tables passed to the BAPI. All seems to have the data correctly but still the BAPI fails.
    any idea where i am going wrong?
    the code looks something like this.
    LOOP AT HEADER_ITAB.
       PERFORM FILL_HEADER_RECORDS.
    LOOP AT ITEM_ITAB WHERE EBELN eq HEADER_ITAB-EBELN.
         PERFORM FILL_ITEM_RECORDS.
    ENDLOOP.
      PERFORM CERATE_PO_VIA_BAPI.
    ENDLOOP.

    What is the error message. Are you trying something like this:
        LOOP AT T_DATA1.
          AT NEW LIFNR.
            READ TABLE T_DATA1 INDEX SY-TABIX.
            PERFORM INIT_TABLES.
            PERFORM FILL_DATA.
    --Call the BAPI to create PO
            PERFORM CREATE_PO.
          ENDAT.
        ENDLOOP.
    FORM CREATE_PO .
      CALL FUNCTION 'BAPI_PO_CREATE1'
        EXPORTING
          POHEADER                     =   POHEADER
          POHEADERX                    =   POHEADERX
        POADDRVENDOR                 =
        TESTRUN                      =
        MEMORY_UNCOMPLETE            =
        MEMORY_COMPLETE              =
        POEXPIMPHEADER               =
        POEXPIMPHEADERX              =
        VERSIONS                     =
        NO_MESSAGING                 =
        NO_MESSAGE_REQ               =
        NO_AUTHORITY                 =
        NO_PRICE_FROM_PO             =
       IMPORTING
         EXPPURCHASEORDER             =  EXPPURCHASEORDER
         EXPHEADER                    =  EXPHEADER
         EXPPOEXPIMPHEADER            =  EXPPOEXPIMPHEADER
       TABLES
         RETURN                       =  RETURN
         POITEM                       =  POITEM
         POITEMX                      =  POITEMX
        POADDRDELIVERY               =
         POSCHEDULE                   =  POSCHEDULE
         POSCHEDULEX                  =  POSCHEDULEX
         POACCOUNT                    =  POACCOUNT
        POACCOUNTPROFITSEGMENT       =
         POACCOUNTX                   =  POACCOUNTX
        POCONDHEADER                 =
        POCONDHEADERX                =
         POCOND                       =  POCOND
         POCONDX                      =  POCONDX
        POLIMITS                     =
        POCONTRACTLIMITS             =
        POSERVICES                   =
        POSRVACCESSVALUES            =
        POSERVICESTEXT               =
        EXTENSIONIN                  =
        EXTENSIONOUT                 =
        POEXPIMPITEM                 =
        POEXPIMPITEMX                =
        POTEXTHEADER                 =
          POTEXTITEM                   = POTEXTITEM
        ALLVERSIONS                  =
         POPARTNER                    =  POPARTNER
      CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
        EXPORTING
          WAIT   = 'X'
        IMPORTING
          RETURN = RETURN1.
      DATA: L_NAME TYPE LFA1-NAME1.
      CLEAR L_NAME.
      SELECT SINGLE NAME1
               FROM  LFA1
               INTO L_NAME
               WHERE LIFNR = POHEADER-VENDOR.
      LOOP AT RETURN.
        WRITE : / RETURN-TYPE,
                  RETURN-ID,
                  RETURN-MESSAGE.
        WRITE : '--> For vendor:',
                 POHEADER-VENDOR,
                 L_NAME.
      ENDLOOP.
    ENDFORM.                    " CREATE_PO

  • How to insert contract line item from file using any bapi

    Hi gurus,
    Just wanted to ask how can I insert new line item which were created from a file
    when updating/changing contract details.
    The requirement was to create new line item from a file and use those details in updating the contracts.
    What BAPI can I use to address this requirement?
    Thanks!

    Hi Rajvansh Ravi,
    This is for Service Contracts. Sorry for missing this detail.
    Hi Tarangini Katta,
    I have already used BAPI_CONTRACT_CHANGE, and it was good in updating existing line items,
    but it doesn't update the contract when a new line item is created in the file.
    To make a clearer view of the flow (requirement)
    First scenario:
          From the tcode (ME32K or ME33K), we can download contract details into an excel file for a particular service contract.
    Next scenario:
          That same excel file (downloaded) can be enhanced per line item (can also insert new line) and be saved locally.
    Next scenario:
          This same excel file can also be uploaded. And the changes done to the file have to overwrite or rather have to changed the details of the same contract and then will appear/reflect in the tcode.
    With this, if we had a new line item created (inserted) on the file (not change), we can not see the changes when we view the same contract in the tcode. (ME33K)
    Do you have any idea how the insertion from the file can be reflected on the tcode using an existing bapi?
    Hope this was clear enough...
    Thanks and hope to hear something from you soon.

  • BAPI FOR Deleting a Schedule Line Item from EKES and EKET tables

    Dear All,
    I would like to for deleting one of the line item from EKES (Po Confirmation ) and the respective line item from the EKET(PO Schedule Line Item Table).
    Assume that am allowing the user to select the lineitem from zprogram screen and collecting the PO and Its LIne Item details in an internal table.
    Can i Use
    <b>BAPI_PO_Change</b> , if so , can anybody tell me the steps to follow to use this bapi for deleting the PO lineItems, since i m going to try BAPI for First time.
    pls help me out
    Message was edited by: Raja K.P

    Hi raja ,
    loop at iekko1.
        w_index = sy-tabix.
        item-po_item   = itemx-po_item   = iekko1-ebelp.
        item-quantity  = iekko1-mng01.
        itemx-quantity = iekko1-mng01.
        if iekko1-wamng = iekko1-wemng.
        itemx-no_more_gr = item-no_more_gr = 'X'.
        else.
        itemx-no_more_gr = item-no_more_gr = ''.
        endif.
        append item.
        append itemx.
          clear return[].
          call function 'BAPI_PO_CHANGE'
               exporting
                    purchaseorder = iekko1-ebeln
               tables
                    return        = return
                    poitem        = item
                    poitemx       = itemx.
          if return[] is initial.
          commit work and wait.
          call function 'DEQUEUE_ALL'.
    search for deletion fields which u have to mark 'X'.
    before calling  this BAPi u have to lock the PO by using ENQUEUE.
    <b>
    FU BAPI_PO_CHANGE
    Text
    Change purchase order
    Functionality
    Function module BAPI_PO_CHANGE enables you to change purchase orders. The Change method uses the technology behind the online transaction ME22N.
    Alternatively, the IDoc type PORDCH1 is available. The data from this IDoc populates the interface parameters of the function module BAPI_PO_CHANGE.
    Functionality in Detail
    Authorization
    When you create (activity 02) an Enjoy purchase order, the following authorization objects are checked:
    M_BEST_BSA (document type in PO)
    M_BEST_EKG (purchasing group in PO)
    M_BEST_EKO (purchasing organization in PO)
    M_BEST_WRK (plant in PO)
    Controlling adoption of field values via X bar
    For most tables, you can use your own parameters in the associated X bar (e.g. PoItemX) to determine whether fields are to be set initial, values inserted via the interface, or default values adopted from Customizing or master records, etc. (for example, it is not mandatory to adopt the material group from an underlying requisition - you can change it with the BAPI).
    Transfer
    Purchase order number
    The PurchaseOrder field uniquely identifies a purchase order. This field must be populated in order to carry out the Change method.
    Header data
    The header data of the Enjoy purchase order is transferred in table PoHeader.
    Item data
    The item data of the Enjoy purchase order is stored in the tables PoItem (general item data). Changes regarding quantity and delivery date are to be made in the table PoSchedule.
    Use the table PoAccount to change the account assignment information.
    Services and limits
    Changes to existing items cannot be carried out with the Change method. It is only possible to create new items.
    Conditions
    Conditions are transferred in the table PoCond; header conditions in the table PoCondHeader. A new price determination process can be initiated via the parameter CALCTYPE in the table PoItem.
    Vendor and delivery address
    The vendor address in the table PoAddrVendor and the delivery address in the table PoAddrDelivery can only be replaced by another address number that already exists in the system (table ADRC). Changes to address details can only be made using the method BAPI_ADDRESSORG_CHANGE.
    Partner roles
    You can change all partners except the partner role "vendor" via the table PoPartner.
    Export/import data
    Export/import data can be specified per item in the table PoExpImpItem. Foreign trade data can only be transferred as default data for new items. Changes to the export/import data of existing items are not possible.
    Texts
    Header and item texts can be transferred in the tables PoTextHeader and PoTextItem. Texts for services are imported in the table PoServicesText. Texts can only be replaced completely.
    Version Management
    You can make use of the Version Management facility via the table AllVersions.
    Return
    If the PO was changed successfully, the header and item tables are populated with the information from the PO.
    Return messages
    Messages are returned in the parameter Return. This also contains information as to whether interface data has been wrongly or probably wrongly (heuristical interface check) populated. If a PO has been successfully created, the PO number is also placed in the return table with the appropriate message.
    Restrictions
    With this function module, it is not possible to:
    Create subcontracting components (you can only use existing ones)
    Create configurations (you can only use existing ones)
    Change message records (table NAST) and additional message data (this data can only be determined via the message determination facility (Customizing))
    Attach documents to the purchase order
    Change foreign trade data
    Change service data
    Change or reexplode BOMs
    A firewall prevents the manipulation of data that is not changeable in Purchasing according to the business logic of the purchase order (e.g. PO number, vendor, etc.).
    PO items with an invoicing plan cannot be created or changed using the BAPIs
    In this connection, please refer to current information in Note 197958.
    To change addresses with numbers from Business Address Services (cantral address management), please use the function module BAPI_ADDRESSORG_CHANGE.
    To change variant configurations, please use the function module BAPI_UI_CHANGE. More information is available in the BAPI Explorer under the Logistics General node.
    In the case of changes that are to be made via the BAPI_PO_CHANGE, a firewall first checks whether the relevant fields are changeable. This approach follows that of the online transaction. Here it is not possible to change the vendor or the document type, for example.
    Example
    Example of changes made to a purchase order with:
    1. Change in header data
    2. Change in item
    3. Change in delivery schedule
    4. Change in account assignment
    5. Change in conditions
    6. Change in partners
    Parameter: PURCHASEORDER 4500049596
    Parameter: POHEADER
    PMNTTRMS = 0002
    PUR_GROUP = 002
    Parameter: POHEADERX
    PMNTTRMS = X
    PUR_GROUP = X
    Parameter: POITEM
    PO_ITEM = 00001
    CONF_CTRL = 0001
    Parameter: POITEMX
    PO_ITEM = 00001
    PO_ITEMX = X
    CONF_CTRL =  X
    Parameter: POSCHEDULE
    PO_ITEM = 00001
    SCHED_LINE = 0001
    QUANTITY = 10.000
    PO_ITEM = 00001
    SCHED_LINE = 0003
    DELETE_IND =  X
    Parameter: POSCHEDULEX
    PO_ITEM =  00001
    SCHED_LINE =  0001
    PO_ITEMX =  X
    SCHED_LINEX =  X
    QUANTITY =  X
    PO_ITEM =  00001
    SCHED_LINE =  0003
    PO_ITEMX =  X
    SCHED_LINEX =  X
    DELETE_IND = X
    Parameter: POACCOUNT
    PO_ITEM = 00001
    SERIAL_NO = 01
    GL_ACCOUNT = 0000400020
    Parameter: POACCOUNTX
    PO_ITEM = 00001
    SERIAL_NO = 01
    PO_ITEMX = X
    SERIAL_NOX = X
    GL_ACCOUNT = X
    Parameter: POCOND
    ITM_NUMBER = 000001
    COND_TYPE = RA02
    COND_VALUE = 2.110000000
    CURRENCY = %
    CHANGE_ID = U
    Parameter: POCONDX
    ITM_NUMBER = 000001
    COND_ST_NO = 001
    ITM_NUMBERX = X
    COND_ST_NOX = X
    COND_TYPE = X
    COND_VALUE = X
    CURRENCY = X
    CHANGE_ID = X
    Parameter: POPARTNER
    PARTNERDESC =  GS
    LANGU =  EN
    BUSPARTNO = 0000001000
    Help in the Case of Problems
    1. Note 197958 lists answers to frequently asked questions (FAQs). (Note 499626 contains answers to FAQs relating to External Services Management.)
    2. If you have detected an error in the function of a BAPI, kindly create a reproducible example in the test data directory in the Function Builder (transaction code SE37). Note 375886 tells you how to do this.
    3. If the problem persists, please create a Customer Problem Message for the componente MM-PUR-PO-BAPI, and document the reproducible example where necessary.
    Customer Enhancements
    The following user exits (function modules) are available for the BAPI BAPI_PO_CREATE1:
    EXIT_SAPL2012_001 (at start of BAPI)
    EXIT_SAPL2012_003 (at end of BAPI)
    The following user exits (function modules) are available for the BAPI BAPI BAPI_PO_CHANGE:
    EXIT_SAPL2012_002 (at start of BAPI)
    EXIT_SAPL2012_004 (at end of BAPI)
    These exits belong to the enhancement SAPL2012 (see also transaction codes SMOD and CMOD).
    There is also the option of populating customer-specific fields for header, item, or account assignment data via the parameter EXTENSIONIN.
    Further Information
    1. Note 197958 contains up-to-date information on the purchase order BAPIs.
    2. If you test the BAPIs BAPI_PO_CREATE1 or BAPI_PO_CHANGE in the Function Builder (transaction code SE37), no database updates will be carried out. If you need this function, please take a look at Note 420646.
    3. The BAPI BAPI_PO_GETDETAIL serves to read the details of a purchase order. The BAPI cannot read all details (e.g. conditions). However, you can use the BAPI BAPI_PO_CHANGE for this purpose if only the document number is populated and the initiator has change authorizations for purchase orders.
    4. Frequently used BAPIs for purchase orders are BAPI_PO_CREATE, BAPI_PO_CREATE1, BAPI_PO_CHANGE, BAPI_PO_GETDETAIL, BAPI_PO_GETITEMS, BAPI_PO_GETITEMSREL, and BAPI_PO_GETRELINFO.
    5. For more information on purchase orders, refer to the SAP library (under MM Purchasing -> Purchase Orders) or the Help for the Enjoy Purchase Order, or choose the path Tools -> ABAP Workbench -> Overview -> BAPI Explorer from the SAP menu.
    Parameters
    PURCHASEORDER
    POHEADER
    POHEADERX
    POADDRVENDOR
    TESTRUN
    MEMORY_UNCOMPLETE
    MEMORY_COMPLETE
    POEXPIMPHEADER
    POEXPIMPHEADERX
    VERSIONS
    NO_MESSAGING
    NO_MESSAGE_REQ
    NO_AUTHORITY
    NO_PRICE_FROM_PO
    EXPHEADER
    EXPPOEXPIMPHEADER
    RETURN
    POITEM
    POITEMX
    POADDRDELIVERY
    POSCHEDULE
    POSCHEDULEX
    POACCOUNT
    POACCOUNTPROFITSEGMENT
    POACCOUNTX
    POCONDHEADER
    POCONDHEADERX
    POCOND
    POCONDX
    POLIMITS
    POCONTRACTLIMITS
    POSERVICES
    POSRVACCESSVALUES
    POSERVICESTEXT
    EXTENSIONIN
    EXTENSIONOUT
    POEXPIMPITEM
    POEXPIMPITEMX
    POTEXTHEADER
    POTEXTITEM
    ALLVERSIONS
    POPARTNER
    Exceptions
    Function Group
    2012
    </b>
    regards
    prabhu
    Message was edited by: Prabhu Peram

  • BAPI for Deletion of line Items from PR

    Hi Experts,
                    I need to delete line items from Purchase Requisition when user check the check box.Check box available on output display i.e check box to delete item.
    thanks,
    santhosh.

    Use "BAPI_REQUISITION_CHANGE". Existing list of LIne items should be filled in the structure "REQUISITION_ITEMS_OLD" & New list of line items should be included in the structure "REQUISITION_ITEMS_NEW"
    OLD - will contain the records currently in database.
    NEW - fresh list of records (in your case exclude the line item which is to be deleted)
    Regards
    Vinod
    Edited by: Vinod Kumar on Apr 14, 2010 3:36 PM

  • How to read data from a specified line from a flat file

    hi all
    im having a filat file like as follows
    (eg)
    1.aaa
    2.bbb
    3.ccc
    4.ddd
    5.eee
    using gui_upload i need to read the data from the flat file from the line number 2 into an internal table.
    (eg)
    2.bbb
    3.ccc
    etc
    can any one help with this

    Hi,
        First u upload the data from flat file into the internal table.Once u uploaded read the internal table.
    Read table itab index 2.
    Thank u,
    Manjula Devi.D

  • Delete line item from quotation

    Hi i am using bapi to copy quotation...my requirment is i want some material from  original quotation. so is there any bapi to delete materail from coyied quotation...
    thanks

    i  am sorry.actually i was in hurry. my requirement is that.I am Copying Quotation using bapi BAPI_SALESDOCUMENT_COPY. after that i want to delete some line items from copied quotation..i am trying to delete using  BAPI_CUSTOMERQUOTATION_CHANGE with D flag. but it is deleting Quantity from line items.
    but i want to delete whole line from quotation.

  • Error while uploading data from a flat file to the hierarchy

    Hi guys,
    after i upload data from a flat file to the hierarchy, i get a error message "Please select a valid info object" am loading data using PSA, having activated all external chars still get the problem..some help on this please..
    regards
    Sri

    there is o relation of infoobject name in flat file and infoobjet name at BW side.
    please check with the object in the BW and their lengths and type of the object and check your flat file weather u have the same type there,
    now check the sequence of the objects in the transfer rules  and activate them.
    there u go.

  • Copy line items from Master Agreement to SubAgreement

    Dear all,
    As a requirement, we need to create a dummy line item at master agreement and subagreement level to be able to publish them to ERP without need
    to complete line items (they are completed in ERP via a development).
    We have created master agreement templates with a dummy line item but at subagreement level, templates are not available.
    What we are trying to develop is a script on post_create at agreement level to copy line items from Master Agreement to SubAgreement. We are able to get Master Agreement line items and copy them to the SubAgreement, but the subagreement is not created. This is the code we are using:
    import com.sap.odp.api.doccommon.masterdata.ValueListValueIBeanHomeIfc;
    import com.sap.odp.api.doccommon.masterdata.ValueListValueIBeanIfc;
    import com.sap.odp.api.doccommon.masterdata.ValueListTypeIBeanHomeIfc;
    import com.sap.odp.api.doccommon.masterdata.ValueListTypeIBeanIfc;
    import com.sap.eso.api.contracts.ContractIBeanHomeIfc;
    Mst_agreementBean = doc.getParentIBean();
    lineItemCollectionSub = doc.getLineItems();
    lineItemCollection = Mst_agreementBean.getLineItems();
    collectionsize = lineItemCollection.size();
    colln = Mst_agreementBean.getCollectionMetadata("MA_LINEITEMS").get(Mst_agreementBean);
    colln2 = doc.getCollectionMetadata("MA_LINEITEMS").get(doc)
    newProject = Mst_agreementBean.getIBeanHomeIfc().createFromAnother(Mst_agreementBean);
    newMember = colln.get(1);
    //  Get Values Line Item
    assCat = newMember.getAcctAssignCategory();
    actLimP         = newMember.getActualLimitPercent();
    delAdCity       = newMember.getDeliveryAddressCity();
    delAdCount    = newMember.getDeliveryAddressCountryRef();
    delAdDist       = newMember.getDeliveryAddressDistrict();
    //... (all fields included in the script)
    // Create Line
    newMember2 = newMember;
    AgreementHome = IBeanHomeLocator.lookup(session, doc.getObjectReference());
    AgreementHome.upgradeToEdit(doc);
    // Set Values
    newMember2.setAcctAssignCategory(assCat);
    newMember2.setActualLimitPercent(actLimP);
    newMember2.setDeliveryAddressCity(delAdCity);
    newMember2.setDeliveryAddressCountryRef(delAdCount);
    newMember2.setDeliveryAddressDistrict(delAdDist);
    //... (all fields included in the script)
    try{
    colln2.add(newMember2);
    AgreementHome.save(doc);
    AgreementHome.downgradeToView(doc);
    collectionbean = colln2.get(0);
    logInfo("Value of  collectionbeanSub " + collectionbean );
    }catch (ApplicationException e){
    logInfo("Error " + e.getClass() + ". " + e.getMessage());
    When we try to create an Agreement under a Master Agreement (clicking Add on Agreement tab), following error message is shown related to the line in blue:
    Facility=local4;sessionid=4e73bb8e73304d6284816f93f4e04522a7c387b; tenantid=#tenant.ecb#;username=LUGUELL; exception=Sourced file: inline evaluation of: ``// **   import com.sap.odp.api.doccommon.masterdata.ValueListValueIBeanHomeI ... '' : Method Invocation AgreementHome.save : at Line: 164 : in file: inline evaluation of: ``// **    import com.sap.odp.api.doccommon.masterdata.ValueListValueIBeanHomeI ... '' : AgreementHome .save ( doc )
    Target exception: java.lang.NullPointerException: while trying to invoke the method com.sap.eso.contracts.ContractTypeBo.getVendorVisible()
    of a null object returned from com.sap.eso.contracts.ContractCommonBo.getTypeBo()
    ;stacktrace=Sourced file: inline evaluation of: ``// *JLA*    import com.sap.odp.api.doccommon.masterdata.ValueListValueIBeanHomeI ... '' : Method Invocation AgreementHome.save : at Line: 164 : in file: inline evaluation of: ``// *JLA*    import com.sap.odp.api.doccommon.masterdata.ValueListValueIBeanHomeI ... '' : AgreementHome .save ( doc )
    Target exception: java.lang.NullPointerException: while trying to invoke the method com.sap.eso.contracts.ContractTypeBo.getVendorVisible()
    of a null object returned from com.sap.eso.contracts.ContractCommonBo.getTypeBo()
    Any ideas what is causing the error? What are we missing on our code to copy line items?
    Many thanks,
    Marc Romagosa
    Message was edited by: Marc Romagosa de Riba

    We managed to create a line item at VALIDATE script, but not at POST_CREATE. Either it is a bug or it is not possible at POST_CREATE script.

  • Profit Center is not getting captured in Vendor line item from MIRO.

    Dear Friends,
    Profit Center is not getting captured in Vendor Line Items from MIRO Transaction for some New Business Users, where as for Old Users profit center is getting generated at Vendor Line Item.
    We have provided the same authorization of old Users to new business users. (i.e. New user is a copy of old user)
    Please help us how we can the get Profit Center in all transactions will be processed by New Business users.
    I think we need to maintain user based authorization to get the Profit center in vendor Line items processed from T.Code:MIRO in SAP.
    Looking forward for your kind cooperation in this matter
    Thanks & Regards,
    Naveen Kumar.

    Hello Naveen,
    I am not very sure about your query, as you might be knowing that the Profit Center is only updated in New GL tables (FAGLFLEXA, FAGLFLEXT) and hence the Vendor relavant tables would not.
    The profit center information in the split lines or the line of the 'General Ledger View' are only displayed within transaction FAGLL03 which read the 'new' table for the NewG/L.
    About profit center wise reporting, when New GL is active Please review attached consulting SAP note:
    - 826357     Profit Center Accounting and new general ledger in
    I hope this helps. If not, please provide an example of your requirement.
    Thanks and regards,
    Suresh Jayanthi.

  • Datasource for ISU business partner line items from DFKKOP & VBRK

    Gurus,
    I am looking for a datasource that will allow me to report on the individual line items from table DFKKOP. Basically credit/debit posting.
    Bill from VBRK
    Pay from DFKKOP
    My research has led me to 0FC_BP_ITEMS which lacks VBRK
    If there is another one please would you share with me.
    thank you
    Vijay

    Why don't you create your own function module, ensuring you get the best possible index use. There is an index for contract account as well as one for business partner (at least here in ECC 6.0).
    You just need to make sure your, or the standard function module's select statement has values for as many of the index fields as possible. If that's not fast enough you need to look at completely different possibilities.
    As I usually say at that point: CPU is cheap...

Maybe you are looking for

  • Changing background colour for a new Workspace page

    Hi everybody, can anybody help me? I want to create a new Workspace Page. When i create a new page in the workspace, the colour is white. How can i change the background colour? Thanks for any suggestion! Eddy

  • Missing "Export" in Bridge CC

    Previous versions of Bridge offered the option to quickly and easily create a PDF contact sheet to send to customers to preview or select photos. The current Brdige CC redirects the user to a Photoshop option which is far less user friendly (no heade

  • What's the maximum memory ram for Macbook Pro?

    Hello, May I know what's the maximum memory ram capacity for Macbook Pro? I am having Macbook Pro - 2.53GHz Intel Core 2 Duo Thank you! Alvin

  • Itunes sync: 44 items could not be synced see itunes for more information

    I have an Iphone 4s, itunes lates version 10.5.1.42 running on 32 bit widows 7 pro. I was having problems with my music playing on my phone after upgrading from the 4 to the 4s. My music would just refuse to play at times. One solution I tried was to

  • WF_EVENT.raise  performance issue

    Hi, We have built with JDeveloper an Extension for Applications. When we execute the function WF_EVENT.raise ... an event is raised that handles the backoffice execution of all data. The problem is that the process is waiting on the raise object as l