Cannot modify purchase order

Hello experts,
Do you have any idea about the following issue:
In SAP 2007, I cannot modify any information in the purchase order (contents tab) even
if the order is still open. And if I copy this order to a Goods Receipt PO, I  cannot also change the items' information in the goods receipt. In addition, the icons "target document" and "base document " are grayed out.
Thank you.
Nadia.

Hi Nadia,
"I cannot modify any information in the purchase order (contents tab) even if the order is still open" maybe the PO was created through approval steps? If yes, that's the reason it can't be amended
Best Regards,
Hendry Wijaya

Similar Messages

  • Modify purchase order to include company logo

    Hi,
           How to Modify purchase order to include company logo

    Modfying is  nothing but copying the existing form to new name.
    For example MEDRUCK  is standard one .
    Copy this to new one as follows.
    1.In SE71 Utilities -> Copy from Client
    2. Mandatory fields
    Form Name:MEDRUCk
    Source Client:Depends upon ur client
    TArget form:ZMEDRUCK
    Check both the check boxes there
    3 .Click Save button
    4.New form will be created
    5.Now do ur changes.
    Niow u have to add the program and the modified form in the NACE to an output type.
    Next using the new out put type, in the transaction mee2n give a po number.
    Next in the tool bar u have Goto -> Messages
    In that screen u have to give the new out put type and medium and partner.
    Once this is done u can save and go back check the print preview.
    Follow the above steps and let me know if u face any problem,
    Regards
    Ravi

  • Cannot close purchase order

    Hello,
    We have an purcharse order with several lines.
    Only 2 lines remain opened because open quantity is greater than 0.
    We would like to close one of the lines through Data/Close Row. That line had a initial quantity of 1000 units, and 800 were delivered. The 200 units wont be delivered, so we need to close the line. However, when trying to update the purchase order this message is appearing:
    "Another user-modified table" (POR1)
    We have make sure noone else was connected to that purchase order.
    Thank you in advance for your ideas!
    PD: We run SAP2005ASP1PL43

    Hi Vanessa
    We occcasionally got this problem and I would go home and try again in the morning and the problem had gone away. I am not sure why but it did. It may have something to do with all users having to log off.
    We also had a lot of problems with a patch level and I think it was 43. We could not close lines on sales orders or update business partner records, I cannot recall trying to close PO lines at the time. The problem went away when we went to 44.
    We have not had any of these problems with 2007.
    Regards
    Stewart Clark

  • Modify purchase order

    Hi,
    After a purchase order is created, I have to modify it but only one field ekpo-idnlf from table ekpo;  ekpo-idnlf must have same value like ekpo-mfrpn;
    Which is the best method to solve this problem? It would be very simple with a select and update but i heard that modifying data from standard sap table with update it's not so good.

    Hi,
    plz refer to below code this will surely help you.
    tables : zvtls_sap.
    *C-- Types Declarations
    TYPES : BEGIN OF tp_flatfile_vtls,
            ebeln(10),
            ebelp type ekpo-ebelp,
            END OF tp_flatfile_vtls.
    *=====================================================================
    *                   INTERNAL TABLES DECLARATION
    *=====================================================================
    DATA:  t_flatfile_vtls TYPE tp_flatfile_vtls OCCURS 0 WITH HEADER LINE.
    data : begin of t_sapdata occurs 0,
           po like zvtls_sap-posap,
           item like zvtls_sap-itemsap,
           end of t_sapdata.
    data : begin of t_flatfile_vtls1 occurs 0,
           po(10),
           item like zvtls_sap-itemsap,
           end of t_flatfile_vtls1.
    data : begin of t_update occurs 0,
           mandt like zvtls_sap-mandt,
           povtls like zvtls_sap-povtls,
           itemvtls like zvtls_sap-itemvtls,
           posap like zvtls_sap-posap,
           itemsap like zvtls_sap-itemsap,
           aedat like zvtls_sap-aedat,
           paedt like zvtls_sap-paedt,
           loekz like zvtls_sap-loekz,
           end of t_update.
    data : begin of t_poheader occurs 0,
           po like zvtls_sap-posap,
           end of t_poheader.
    data : begin of t_poitem occurs 0,
           po like zvtls_sap-posap,
           item like zvtls_sap-itemsap,
           end of t_poitem.
    DATA : BEGIN OF T_MESSAGE OCCURS 0,
           MSGTY,
           MSGID(2),
           MSGNO(3),
           MSGTX(100),
           PO like zvtls_sap-povtls,
           item like zvtls_sap-itemvtls,
           END OF T_MESSAGE.
    DATA : BEGIN OF t_bapi_poheader OCCURS 0.
            INCLUDE STRUCTURE bapimepoheader.
    DATA : END OF t_bapi_poheader.
    DATA : BEGIN OF t_bapi_poheaderx OCCURS 0.
            INCLUDE STRUCTURE bapimepoheaderx.
    DATA : END OF t_bapi_poheaderx.
    DATA : BEGIN OF t_bapi_poitem OCCURS 0.
            INCLUDE STRUCTURE bapimepoitem.
    DATA : END OF t_bapi_poitem.
    DATA : BEGIN OF t_bapi_poitemx OCCURS 0.
            INCLUDE STRUCTURE bapimepoitemx.
    DATA : END OF t_bapi_poitemx.
    DATA : BEGIN OF t_bapireturn OCCURS 0.
            INCLUDE STRUCTURE bapiret2.
    DATA : END OF t_bapireturn.
    *=====================================================================
    *                   V A R I A B L E S
    *=====================================================================
    DATA: w_success(6)  TYPE n,
          w_bklas like t023-bklas,
          w_curryear(4),
          w_begda like sy-datum,
          w_endda like sy-datum,
          w_begyr(4),
          w_endyr(4),
          w_currmon(2),
          w_assetclass like ankt-anlkl,
          w_price type p,
          w_recordsap type i,
          w_povtls(10),
          w_count type i.
    DATA:  w_filepath TYPE rlgrap-filename,
           w_rc TYPE sy-subrc,
           w_sscrfields_ucomm1   TYPE sscrfields-ucomm,
           w_file1 TYPE string,
           w_file2 TYPE FILENAME-FILEINTERN.
    *=====================================================================
    *                   C O N S T A N T S
    *=====================================================================
    CONSTANTS: c_x              TYPE  c         VALUE 'X',
               c_hyp            TYPE  c         VALUE '-',
               c_err            TYPE  bdc_mart  VALUE 'E'.
    CONSTANTS:  c_slash(1)            TYPE c VALUE '/',
                c_hash(1)             TYPE c VALUE '#',
                c_pipe                TYPE c VALUE '|',
                c_1                   TYPE i VALUE 1,
                c_zero                TYPE n VALUE '0',
                c_rg1(3)              TYPE c VALUE 'rg1',
                c_gr3(3)              TYPE c VALUE 'GR3',
                c_gr2(3)              TYPE c VALUE 'GR2',
                c_e(1)                TYPE c VALUE 'E',
                c_filepath(8)         TYPE c VALUE '/interf/',
                c_filetype(10)        TYPE c VALUE 'ASC'.
    CONSTANTS : c_bapimepoheaderx   TYPE x030l-tabname
                                   VALUE 'bapimepoheaderx',
               c_bapimepoitem      TYPE  x030l-tabname
                                   VALUE 'bapimepoitem',
               c_bapimepoaccount   TYPE  x030l-tabname
                                   VALUE 'bapimepoaccount',
               c_t_bapi_poheader(15)        TYPE c
                                            VALUE 't_bapi_poheader',
               c_t_bapi_poitem(13)          TYPE c
                                            VALUE 't_bapi_poitem',
               c_t_bapi_poitemx(14)         TYPE c
                                            VALUE 't_bapi_poitemx',
               c_t_bapi_poheaderx(16)       TYPE c
                                            VALUE 't_bapi_poheaderx'.
    CLASS cl_abap_char_utilities DEFINITION LOAD.
    CONSTANTS:con_tab  TYPE c VALUE cl_abap_char_utilities=>horizontal_tab.
    *======================================================================
    *                        SELECTION SCREEN
    *======================================================================
    SELECTION-SCREEN BEGIN OF BLOCK inputpath WITH FRAME TITLE text-001.
    SELECTION-SCREEN : BEGIN OF BLOCK blk2 WITH FRAME TITLE text-002.
    PARAMETERS : p_fore RADIOBUTTON GROUP rg1
                        USER-COMMAND pc,
                 p_back RADIOBUTTON GROUP rg1 DEFAULT 'X'.
    SELECTION-SCREEN : END OF BLOCK blk2.
    SELECTION-SCREEN : BEGIN OF BLOCK blk1 WITH FRAME TITLE text-003.
    PARAMETERS :  p_file1 LIKE rlgrap-filename OBLIGATORY MODIF ID gr2.
    PARAMETERS :  p_afile1 LIKE rlgrap-filename OBLIGATORY MODIF ID gr3.
    SELECTION-SCREEN : END OF BLOCK blk1.
    SELECTION-SCREEN END OF BLOCK inputpath.
    *C-- Initialization Event
    INITIALIZATION.
      CLEAR w_filepath.
      CONCATENATE c_filepath sy-sysid c_slash sy-mandt c_slash INTO
      w_filepath.
      CONDENSE w_filepath NO-GAPS.
      p_file1 = text-008.
      p_afile1 = text-009.
    *======================================================================
    *                        SELECTION SCREEN EVENTS
    *======================================================================
    *C-- Selection Screen Output
    AT SELECTION-SCREEN OUTPUT.
      IF p_fore = c_x.
        w_sscrfields_ucomm1 = space.
      ELSE.
        w_sscrfields_ucomm1 = c_rg1.
      ENDIF.
      LOOP AT SCREEN.
    *C--Modify selection screen if presentation
    *C--or application server radio button is chosen
        IF w_sscrfields_ucomm1 = space.
          IF screen-group1 = c_gr3.
            screen-active = c_zero.
          ENDIF.
        ELSE.
          IF screen-group1 = c_gr2.
            screen-active = c_zero.
          ENDIF.
        ENDIF.
        if screen-name = 'P_AFILE1'.
          screen-input = 0.
        ENDIF.
        MODIFY SCREEN.
      ENDLOOP.
    *C-- Selection Screen VALUE-REQUEST FOR File path
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file1.
      IF p_fore EQ c_x.
        CALL FUNCTION 'F4_FILENAME'
          EXPORTING
            program_name  = syst-cprog
            dynpro_number = syst-dynnr
          IMPORTING
            file_name     = p_file1.
      ENDIF.
    *C-- At Start of the Selection Process
    START-OF-SELECTION.
      IF p_fore EQ c_x.
        w_file1 = p_file1.
      ELSE.
        w_file2 = p_afile1.
      ENDIF.
      IF p_fore EQ c_x. " Presentaion Server
    *C--Validations for the input files
        PERFORM validate_pre_file USING p_file1.
    *C-- Load the contents of the input file into the internal table
        PERFORM upload_file TABLES t_flatfile_vtls
                            USING w_file1
                            CHANGING w_rc.
        IF w_rc <> 0.
          MESSAGE s006 DISPLAY LIKE c_e.
        ENDIF.
      ELSE. " Application Server
    *C--Validations for the input files
        PERFORM validate_app_file USING  w_file2.
    *C-- Load the contents of the input file into the internal table
        PERFORM upload_file_app TABLES t_flatfile_vtls
                                USING w_file2
                                CHANGING w_rc.
      ENDIF.
      loop at t_flatfile_vtls.
        CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
          EXPORTING
            input  = t_flatfile_vtls-ebeln
          IMPORTING
            output = t_flatfile_vtls1-po.
        CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
          EXPORTING
            input  = t_flatfile_vtls-ebelp
          IMPORTING
            output = t_flatfile_vtls1-item.
        append t_flatfile_vtls1.
        clear t_flatfile_vtls1.
      endloop.
      perform get_podata.
      loop at t_poheader.
        perform move_to_bapi.
        perform call_bapi.
      endloop.
      PERFORM STORE_MESSAGES TABLES T_MESSAGE.
    *&      Form  validate_pre_file
    *     Routine to validate presentation server file path.
    *      -->fp_name  text
    FORM validate_pre_file USING fp_name TYPE rlgrap-filename.
      DATA : l_result,
             l_filename TYPE string.
      l_filename = fp_name.
      CLEAR l_result.
      CALL METHOD cl_gui_frontend_services=>file_exist
        EXPORTING
          file                 = l_filename
        RECEIVING
          result               = l_result
        EXCEPTIONS
          cntl_error           = 1
          error_no_gui         = 2
          wrong_parameter      = 3
          not_supported_by_gui = 4
          OTHERS               = 5.
      IF sy-subrc <> 0.
        MESSAGE s007 DISPLAY LIKE c_e.
        LEAVE LIST-PROCESSING.
      ELSEIF l_result IS INITIAL.
        MESSAGE s008 DISPLAY LIKE c_e.
        LEAVE LIST-PROCESSING.
      ENDIF.
    ENDFORM.                    " validate_pre_file_hdr
    *&      Form  validate_app_file
    *       text - Checks if the path entered and filename is correct
    FORM validate_app_file USING  fp_file  TYPE FILENAME-FILEINTERN.
      data : l_fname(60).
      CALL FUNCTION 'FILE_GET_NAME'
        EXPORTING
          LOGICAL_FILENAME = FP_FILE
          OPERATING_SYSTEM = SY-OPSYS
        IMPORTING
          FILE_NAME        = L_FNAME
        EXCEPTIONS
          FILE_NOT_FOUND   = 1
          OTHERS           = 2.
      IF SY-SUBRC = '0'.
        OPEN DATASET  L_FNAME FOR INPUT IN TEXT MODE ENCODING DEFAULT.
        IF sy-subrc NE 0.
          MESSAGE s007 DISPLAY LIKE c_e.
        ELSE.
          CLOSE DATASET l_fname.
        ENDIF.
      ENDIF.
    ENDFORM.                    " validate_app_file
    *&      Form  upload_file
    *       Routine to upload data from file to tables.
    *      -->P_fp_flatfile
    *      -->P_fp_file
    *      <--P_fp_rc
    FORM  upload_file TABLES   fp_flatfile
                      USING    fp_file TYPE string
                      CHANGING fp_rc TYPE sy-subrc.
      IF fp_flatfile[] IS INITIAL.
        CALL FUNCTION 'GUI_UPLOAD'
          EXPORTING
            filename                = fp_file
            filetype                = c_filetype
            has_field_separator     = c_x
          TABLES
            data_tab                = fp_flatfile
          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.
        MOVE sy-subrc TO fp_rc.
      ENDIF.
    ENDFORM.  " upload_file
    *&      Form  upload_file_app
    *       text
    *      -->FP_FLATFILEtext
    *      -->FP_FILE    text
    *      -->FP_RC      text
    FORM  upload_file_app TABLES   fp_flatfile
                          USING    fp_file TYPE FILENAME-FILEINTERN
    CHANGING fp_rc TYPE sy-subrc.
      DATA: l_string TYPE tedata-data.
      DATA: wa_data_file TYPE tp_flatfile_vtls,
            l_wllength TYPE i,
            FNAME(60).
      CALL FUNCTION 'FILE_GET_NAME'
        EXPORTING
          LOGICAL_FILENAME = FP_FILE
          OPERATING_SYSTEM = SY-OPSYS
        IMPORTING
          FILE_NAME        = FNAME
        EXCEPTIONS
          FILE_NOT_FOUND   = 1
          OTHERS           = 2.
      IF SY-SUBRC = 0.
        OPEN DATASET  FNAME FOR INPUT IN TEXT MODE ENCODING DEFAULT.
        IF sy-subrc NE 0.
    * *C-- commented by Bikash
    *      MESSAGE s107(yaero_ps) DISPLAY LIKE c_e.
          message e008.
        ELSE.
          DO.
            CLEAR: l_string.
            READ DATASET  FNAME INTO l_string LENGTH l_wllength.
            IF sy-subrc NE 0.
              EXIT.
            ELSE.
              SPLIT l_string AT con_tab INTO   wa_data_file-ebeln
                                               wa_data_file-ebelp.
              APPEND wa_data_file TO fp_flatfile.
            ENDIF.
          ENDDO.
          CLOSE DATASET  FNAME.
        ENDIF.
      ENDIF.
    ENDFORM.  " upload_file_app
    *&      Form  get_podata
    *       text
    form get_podata.
      select *
      into table t_update
      from zvtls_sap
      for all entries in t_flatfile_vtls1
       where itemvtls = t_flatfile_vtls1-item
      and povtls = t_flatfile_vtls1-po.
      sort t_update by posap itemsap.
      loop at t_update.
        at new posap.
          t_poheader-po = t_update-posap.
          append t_poheader.
          clear t_poheader.
        endat.
        t_poitem-po = t_update-posap.
        t_poitem-item = t_update-itemsap.
        append t_poitem.
        clear t_poitem.
        t_update-paedt = sy-datum.
        t_update-loekz = 'X'.
        modify t_update.
      endloop.
      modify zvtls_sap from table t_update.
    endform.                    "get_podata
    *&      Form  move_to_bapi
    *       text
    form move_to_bapi.
      t_bapi_poheader-po_number = t_poheader-po.
      CLEAR t_bapi_poheaderx.
      PERFORM fill_check_structure USING c_bapimepoheaderx
                                         c_t_bapi_poheader
                                         c_t_bapi_poheaderx
                                         c_x.
      refresh : t_bapi_poitem,t_bapi_poitemx.
      loop at t_poitem where po = t_poheader-po.
        clear t_bapi_poitem.
        t_bapi_poitem-po_item = t_poitem-item.
        t_bapi_poitem-delete_ind = 'X'.
        CLEAR t_bapi_poitemx.
        PERFORM fill_check_structure USING c_bapimepoitem
                                           c_t_bapi_poitem
                                           c_t_bapi_poitemx
                                           c_x.
        t_bapi_poitemx-po_item = t_poitem-item.
        t_bapi_poitemx-po_itemx = c_x.
        APPEND t_bapi_poitem.
        APPEND t_bapi_poitemx.
        clear t_bapi_poitem.
        clear t_bapi_poitemx.
      endloop.
    endform.                    "move_to_bapi
    *&      Form  call_bapi
    *       This form Routine is used to commit the data records
    FORM call_bapi .
      DATA : l_msgty      TYPE c,
             l_msgid(2)   TYPE c,
             l_msgno(3)   TYPE c,
             l_msgtx(100) TYPE c,
             l_errflag    TYPE c.
      CLEAR: t_bapireturn.
      REFRESH: t_bapireturn.
      CALL FUNCTION 'BAPI_PO_CHANGE'
        EXPORTING
          PURCHASEORDER = T_POHEADER-PO
          POHEADER      = T_BAPI_POHEADER
          POHEADERX     = T_BAPI_POHEADERX
        TABLES
          RETURN        = T_BAPIRETURN
          POITEM        = T_BAPI_POITEM
          POITEMX       = T_BAPI_POITEMX.
      READ TABLE t_bapireturn WITH KEY type = c_err TRANSPORTING NO FIELDS.
      IF sy-subrc NE 0.
        CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
          EXPORTING
            wait = c_x.
      ENDIF.
    *C-- Write messages
      WRITE: / 'PO Number', t_poheader-po.
      clear : t_update,w_povtls.
      read table t_update with key posap = t_poheader-po.
      w_povtls = t_update-povtls.
      CLEAR l_errflag.
      LOOP AT t_bapireturn.
        CLEAR: l_msgty, l_msgid, l_msgno, l_msgtx.
        l_msgty = t_bapireturn-type.
        l_msgid = t_bapireturn-id.
        l_msgno = t_bapireturn-number.
        l_msgtx = t_bapireturn-message.
        WRITE: / l_msgty, l_msgid, l_msgno, l_msgtx.
        if l_msgtx cs t_poheader-po.
          w_count = w_count + 1.
          loop at t_update.
            if sy-tabix = w_count.
              t_message-item = t_update-itemvtls.
            endif.
          endloop.
        endif.
        t_message-msgty = l_msgty.
        t_message-msgid = l_msgid.
        t_message-msgno = l_msgno.
        t_message-msgtx = l_msgtx.
        t_message-po = w_povtls.
        append t_message.
        clear t_message.
        IF l_msgty EQ c_err.
          l_errflag = c_x.
        ENDIF.    " l_msgty EQ 'E'
      ENDLOOP.
      ULINE.
      IF l_errflag NE c_x.
        w_success = w_success + 1.
      ENDIF.    " l_errflag NE C_X
    endform.                    "call_bapi
    *&      Form  fill_check_structure
    *       This form Routine will check whether the specified structure
    *       exist/active
    FORM fill_check_structure  USING    fp_tabname TYPE any
                                        fp_orgtabname TYPE any
                                        fp_chktabname TYPE any
                                        fp_check TYPE c.
      FIELD-SYMBOLS : <fs_chk>, <fs_org>.
      DATA:    l_char1(61)  TYPE c,
               l_char2(61)  TYPE c.
      DATA:    BEGIN OF tl_nametab OCCURS 60.
              INCLUDE STRUCTURE x031l.
      DATA:    END OF tl_nametab.
      REFRESH tl_nametab.
      CALL FUNCTION 'RFC_GET_NAMETAB'
        EXPORTING
          tabname          = fp_tabname
        TABLES
          nametab          = tl_nametab
        EXCEPTIONS
          table_not_active = 1
          OTHERS           = 2.
      IF sy-subrc <> 0.
        CLEAR tl_nametab.
      ENDIF.
      LOOP AT tl_nametab.
        CLEAR: l_char1, l_char2.
        CONCATENATE fp_chktabname c_hyp tl_nametab-fieldname INTO l_char1.
        ASSIGN (l_char1) TO <fs_chk>.
        CONCATENATE fp_orgtabname c_hyp tl_nametab-fieldname INTO l_char2.
        ASSIGN (l_char2) TO <fs_org>.
        IF <fs_org> IS NOT INITIAL.
          <fs_chk> = fp_check.
        ENDIF.
      ENDLOOP.
    ENDFORM.                    " fill_check_structure
    *&      Form  STORE_MESSAGES
    *       text
    *      -->FP_MESSAGEStext
    FORM STORE_MESSAGES TABLES FP_MESSAGES STRUCTURE T_MESSAGE.
      DATA: wl_output_data LIKE t_MESSAGE.
      DATA: l_catstr TYPE string.
      DATA: l_fieldvalue TYPE string.
      DATA: l_index TYPE i VALUE 1.
      DATA: L_FNAME(60).
      FIELD-SYMBOLS <fs>.
      CLEAR l_catstr.
      CALL FUNCTION 'FILE_GET_NAME'
        EXPORTING
          LOGICAL_FILENAME = '/USR/SAP/VTLS/POCHANGE/LOG'
          OPERATING_SYSTEM = SY-OPSYS
        IMPORTING
          FILE_NAME        = L_FNAME
        EXCEPTIONS
          FILE_NOT_FOUND   = 1
          OTHERS           = 2.
      IF SY-SUBRC = '0'.
        IF fp_messages[] IS NOT INITIAL.
          OPEN DATASET L_FNAME FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
          IF sy-subrc NE 0.
            LEAVE LIST-PROCESSING.
          ELSE.
            LOOP AT fp_messages INTO wl_output_data.
              DO.
               ASSIGN COMPONENT l_index OF STRUCTURE wl_output_data TO <fs>.
                IF sy-subrc <> 0.
                  EXIT.
                ENDIF.
                MOVE <fs> TO l_fieldvalue.
                IF l_catstr IS NOT INITIAL.
                  CONCATENATE l_catstr l_fieldvalue INTO l_catstr SEPARATED
                  BY con_tab.
                ELSE.
                  MOVE l_fieldvalue TO l_catstr.
                ENDIF.
                l_index = l_index + c_1.
                CLEAR l_fieldvalue.
                CLEAR <fs>.
              ENDDO.
              l_index = c_1.
              TRANSFER l_catstr TO L_FNAME .
              CLEAR wl_output_data.
              CLEAR l_catstr.
            ENDLOOP.
            CLOSE  DATASET L_FNAME.
          ENDIF.
        ENDIF.
      ENDIF.
    ENDFORM.                    "STORE_MESSAGES
    hope this helps you.
    thanks,
    dhanashri.

  • Modify purchase order - EAN

    Hi experts,
    I have created a program which modify a purchase order using function BAPI_PO_CHANGE.
    But it modify only Vendor Material No field. Everything is OK.
    But now, i have to modify EAN field... but i didn't find this field in BAPIMEPOITEM structure.
    What should i do? Is there a way to solve this problem?
    Any idea/clue/link would be appreciated.
    Many thanks.

    Any clue?

  • Cannot receive Purchase Order in SCM/SNC system

    Dear all,
    I'm implementing Purchase Order Collaboration scenario of SNC Collaboration within the following system landscape:
    ECC 6.0 <-> PI 7.1 <-> SCM 7.0
    What I need to do is to create Purchase Order in ECC and then receive it in SCM. The flow looks like:
    1. Create PO in ECC using me22n,
    2. Send it as IDoc (PORDCR1.PORDCR102) to PI
    3. Transform this IDoc into "ReplenishmentOrderNotification" XML Message in PI
    4. Send the "ReplenishmentOrderNotification" XML to SCM
    5. Finally receive/access PO in SCM
    Can you please specify the configuration to be made in PI to send this XML message to SCM (step 4)? I tried
    Communication Channels of type RFC and XI cinfigured as Receiver for SCM system but it didn't work out. So
    I cannot send the "ReplenishmentOrderNotification" XML Message from PI and then receive it in SCM.
    Thank you in advance for your kind suggestions.
    Best regards,
    Igor Keshishian

    Dear Nihil,
    That's exactly the document that I used to build the scenario. And I found it in your another reply on this forum.
    So the page 36 is the beginning of the configuration section for PI system that is done by me, no problems to
    configure PI's Repository objects. The real problem happens, as I've already explained, on runtime.
    Receiver Communication Channels to send XML files to SCM system are configured as XI adapter type with
    RFC destination of connection type H. This RFC destination is created in PI system and is pointing to SCM system.
    It has "/sap/xi/engine?type=entry" path prefix, so when I do its Connection test I got response code 500 "Empty
    HTTP request received". Still messages sent from ECC to SCM via PI are blocked in PI.
    What do you think I can check in configurations of PI and SCM systems?
    Thank you in advance.
    Regards,
    Igor

  • Modify purchase order item before to save

    Hi all,
    I'm trying to modify EKPO-RETPO field from purchase order item before save it.
    I've done it in the user exit: EXIT_SAPMM06E_013, but I've seen it coudl be use for update customer fields.
    Anybody knows which user exit can I use to do that?
    Thanks in advance.
    Pat.

    Hello,
    You can use the BADI *MEPROCESS_PO_CUST* to suffice the requirement.
    In this structure IM_ITEM has field RETPO. Please pass value to it
    Hope this will help.
    Thanks
    Eswar

  • Cannot save Purchase order when there is Warning Message

    Hi,
    I have this problem where system do not allow to Save the Purchase order (ME21N) when there is a warning message, for example "W:  Can the delivery date be met?".  By right I can just click enter and save the PO but now the system do not allow to save the PO until all warning message is resolved?? Why.
    Pelase help.

    Hi,
    I believe that for warning message, you just need to press enter and it will go through.
    Thanks.

  • DTW cannot link Purchase Orders to Sales Orders

    Despite giving the right values to the BaseEntry, BaseLine and BaseType fields of the PO lines, dtw import or update will fail, claiming "Base document card and target document card do not match".
    Sure, they are different as SO is linked to a customer while PO to a supplier.
    Is that a bug, or am I misundernstanding something?

    Thanks for your prompt answer.
    Yes, after importing the sales orders I am importing the purchase orders. It is working as expected for the other links (like sales orders to quotations and purchase delivery notes to purchase orders), but it fails for purchase orders to sales orders.

  • Cannot add Purchase Orders?

    We have found an issue which is not happening consistently.  When trying to add a Purchase Order against certain Vendors, the PO does not get added however we do not get an error either.  We have identified the problem be the default setting for Payment Method. 
    Our vendors are all set with the default setting of check.  However when we go into the PO document and change the Payment Method to Blank then the PO gets added.
    Again this is not happening consistenly.  Has anyone ever come across this issue.  Please advise.

    Hi Rene,
    If this is somthing that you can reproduce I suggest to take a backup of the db and restore it in a test environment.
    In the test db do the following and in this order:
    - Uninstall and remove everything related to addons.
    - Remove/disactivate any transaction notifications.
    - Check if the issue is the same for all users.
    - Remove all formatted searches and udfs in the form.
    - Upgrade the db to the latest patch available.
    After this you might have a clearer picture of where the issue is coming from.
    Hope it helps,
    Jesper

  • Mass transaction :Unable to modify purchase order

    Hello. i wish to assign a contract number and item to my line item in my PO through the transaction MASS. It is not modifying the PO. the object type is BUS2012. I have tried it in another environment and it works. Is there any customising related to it?

    hi,
    mass transaction is depends up on different scenorios .. better use LSMW or BDC to change the data .

  • Modifying an Approved Purchase Order

    Is it possible to make modifications to a purchase order once it is approved?  If so, we would want the modified purchase order to go through the approval process again.  Is all of this possible?

    For some reason, when a PO is approved, we are unable to modify it.  Any ideas what settings we should be looking at that will open the fields in the PO so that we can modify it and resubmit it for approval?
    Thank you so much for your help.

  • Auto creation of Purchase order by heuristic

    Hello Experts,
    In my project, Heuristic is creating "Purchase orders" automatically, which should have been created by planners only.
    Sometimes, it creates it without even creating "Purchase requisitions" and sometimes with PurReq.
    Has any one faced similar kind of issue earlier ?
    Thanks.

    Hi Pratiksha,
    SNP Heuristics cannot create Purchase orders. It can only create purchase requisitions, or planned orders (in case of production).
    Unless you are using Deployment or TLB and convert the Purchase Requisition to Purchase Order with the same, you should not be getting Purchase Orders from APO. (Assuming you don't use PPDS - I don't know much about PPDS aspect)
    If the supply is not sufficient to meet the demand, then Heuristics would create the receipts to meet the demand as per your settings. This is the expected behaviour.
    Could you please explain if you have a different expectation of the behaviour?
    For whatever Purchase requisitions/Purchase Orders you have the doubt that they are created by APO, go to ME23N in R/3 and see in the changes from the menu path Environment-> Header changes (or item changes). This could give you some information.
    Also, for purchase Order the header itself gives information on who created the PO.
    For purchase requisition, you could select an item and click on the tab "contact person" to find out who created the PReq.
    This could help you in cross-checking whether the PO/Preq was indeed created by APO or by someone in R/3 itself.
    Thanks - Pawan

  • SRM Purchase order History Screen Modification

    Hi All,
    We have requirement to modify Purchase order's History table to modify. To be precise When User clicks on Purchase order details tab and go to Follow-on document at header tab There will be two option to view the follow-on document. One is graphical and other is Table view.
    Standard SRM history tab you will get Purchase order number, Goods Receipt number both in SRM and backend system as well as status. Can over here we add Goods Receipt Quantity and Amount as well as Invoice Amount? We are using Extended Classic Scenario.
    Please advise.
    Thank you
    Ritesh

    Hi
    Pl find the content of the notes.
    Note 1524928 - History: Order of related document is not consistent.
    Symptom
    In some cases, when you go to the shopping cart item history, the system displays follow-on documents in a wrong order.
    Other terms
    History.
    Reason and Prerequisites
    Program Error.
    Solution
    Implement the attached correction instructions or apply the relevant Support Package.
    If  the note is not released , pl raise a OSS to get this note released.
    Regards
    velu

  • Purchase Order Tax Code

    Dear Experts,
    I just run MRP Procedure and generate Order Recommendations. In Order Recommendation created Purchase Order and got message as P.O. sent to approval. All is going well but there is one thing I just want to clarify that How can we update Tax Code in Purchase Order form hence In Approval Procedure we cannot update Purchase Orders Rows as well.
    Thanks in advance.
    Ravi

    closed.
    get it by Tax Code Determinaiton.
    Ravi

Maybe you are looking for