ME21N modification

Hi experts,
Please help me on this.
I have modified me21n item overview table control with access key and added
a field in table control, screen no. 1211. Added field is mepo1211-extwg (external material
group). In the structure MEPO1211, I have added field extwg. How to populate that field when matnr is
entered while creating po?

Hi,
  To created a screen exit you can use either a BADI or a USER EXIT.
1)USER EXIT: MM06E005
2)BADI : ME_GUI_PO_CUST
1) GO to transaction SMOD
and type MM06E005 and press display.
once inside the user exit, click on components, there you have function Module exits, screen exits and includes.
On the screen exits, you have to decide where you want to add the screen field, whether its on header or item level.
THE go to SE80, type the screen name as the program name. IT will give you all the objects for the particular program.
Choose screens, and then the relevent screen. Go to layout and add the field you want. Save and activate.
You also need to add the field in the Cl_include so that you could pass data and retrive data.
Write the relevant code in Function Modulte Exits.
ITEM LEVEL:
EXIT_SAPMM06e_016
EXIT_SAPMM06e_017
EXIT_SAPMM06e_018
Now you have to add the relevant code in the PAI and PBO module.
2) You inserted tabstrip in me22n with BADI ME_GUI_PO_CUST
Now activate ME_PROCESS_PO_CUST to process the data.
Regards
Kiran Sure

Similar Messages

  • Any USER EXIT or BADI  for modification in ME21N Asset Creation

    Hi Guyz,
    We have a requiremnt where we need to put some validaion/check in Asset Creation of ME21N,
    Any possible BADIs or USER EXIT available for this modification.
    Pease help.
    Thanks
    Jaif

    Hi Jaif,
    For BADIs please go to SE24 put cl_exithandler diplay it and put the break-point execute the transaction for which you want to find out badi you will get the badi name in exit name parameter.
    Regards
    Sagar

  • Screen modification in ME21N

    Hello people,
    I am facing a problem when creating Customer Screen in ME21N.
    I am able to create the customer screen and added my fields in the customer screen at item level in transaction ME21N. However, my problem is that i m not able to retrieve the value i put in my custom fields.
    I have a date field, when i input a date and press enter, the value disappears from the screen. What i want to do is that when i input the date, i should be able to pass the value to my custom table when the PO is saved.
    Any help would be appreciated and awarded.
    Regards,
    Sandeep Salaria

    Hi Sandeep ,
    Write the table population logic in the below BADI
    ME_PROCESS_PO_CUST :   Enhancements for Processing Enjoy Purchase Order: Customer
    Thanks.
    Note:Reward Points if you find useful.

  • Field modification in ME21N

    Hi,
    I would like to concatenate material description and material size and to display the result in the field short text after material number in transaction me21n. Which UE should I use?

    [Examples >>>|https://www.sdn.sap.com/irj/scn/advancedsearch?cat=sdn_all&query=badi+me_process_po_cust&adv=true&sdn_author_name=&sdn_category=&sdn_forum=&sdn_updated_on_comparator=ge&sdn_updated_on=&sortby=cm_rnd_rankvalue&start=1]

  • PO language modification in ME21N

    Hello,
    I would like to change the language when creating a purchase order with ME21N transaction.
    I am using screen layout "NBF" in which language is set as "Optional Entry" (selection group Administrative data, header).
    When creating a purchase order and entering only vendor and administrative data, if I go to Communication tab, language is not modifiable.
    Note 89899 (see hereunder) explains that it should work if I do not enter any item...
    Note : when creating a PO with ME21 transaction, it is OK, field is modifiable.
    Could somebody help me on this point ?
    Thank you,
    Laetitia
    NOTE 89899 :
    Symptom
    The number and the type of message output for each purchasing document is defined for output of purchasing documents via message determination.
    When you maintain message master data, a language key can also be defined for each message.
    This is then ignored for output and the message is printed in the vendor language (document language).
    Other terms
    ME90, ME91, ME92, message determination, EKKO-SPRAS, NAST-SPRAS, ME21, ME21N, ME22, ME22N, ME9F, ME9K, ME9L, ME9A, ME9A, RM06ENDR_ALV, RM06ENDR, messages condition, MN04, MN05.
    Reason and Prerequisites
    The language key in the master record of the vendor is dominant for message output. This language key is transferred as a document language in the document header when you create the purchasing document.
    Before you entered the first item, you can changed this language in the document header (ME21) or in the header tabstrip "Communications data" (Enjoy ME21N).
    The material descriptions are then transferred from the material master in this language. The long texts in the document header or in the item are also maintained in this language.
    These texts cannot be printed if the message is to be printed in another language because they only exist in the document language. The material master is not read for output, and as a result the material descriptions are also only available in the document language.
    An output in another language than the document language is therefore not useful.

    When I launch the transaction ME21N, if I leave the default PO type and go in communication tab, then language field is not greyed.
    But as soon as I am changing an information (for example the PO type), then it is greyed out (and I have a first error message about missing Purch Org). Login language is retrieved.
    Then if I put a vendor, vendor language is retrieved, but field is still grey.

  • Adding new field in ME21N items level NO ADDITIONAL TAB or SUBSCREEN

    Hello Gurus!!
    I have a requirement where I am just trying to add a new field ZZ*** at Item level in ME21N (and no new tabs please)
    I got the modification key and now wat i see is that in screen 1211 SAP has some field mappings with metadata.
    Refer to Include LMEMFSF0T.
    Can you please help me how sud i proceed or  wat can be an alternate way out to solve.
    regards,
    Prasenjit Singh Bist

    Hi,
         Another way of doing the same is to use screen-exits for the transaction. You can use the standard enhancement MM06E005 in SMOD for the Purchasing related custom fields. You can add the fields in the screens 0101, 0111 of program SAPLXM06 to get the fields in the tab 'Customer Data' at header level and item level for ME* transactions.
    EXIT_SAPMM06E_006 
    EXIT_SAPMM06E_007 
    EXIT_SAPMM06E_008 
                        are the function modules where u need to do the coding.
    and the fields u have added need to be included in the  includes
    CI_EKKODB
    CI_EKPODB
    of EKKO and EKPO for header level and item level respectively.
    Regards,
    Vishnu Priya
    Message was edited by:
            Vishnu priya
    Message was edited by:
            Vishnu priya

  • 'Exchange rate Fixed'  ticked by default in PO [Me21N]

    HI
    The requirement is to tick 'Exchange rate Fixedu2019 at PO header for all PO's as default for specific plant/Company code
    Screen selection layout can be defined at PO Document type level, is it possible to check this 'fixed indicator at plant level screen layout?
    last option we can think of is making this indicator ticked as default for users[buyers]
    Please suggest

    Hi sasibhushan334 ,
    In standard system it is not possible to set the field 'Exch rate fixed'
    (EKOO-KUFIX) in Me21N by default. You would need a modification to
    change this. In OMF4 you can see for the field selection group
    "Terms of delivery and payment" there is no entry for "fixed indicator"
    or field EKKO-KUFIX. This is because there is no entry in table
    T162X for FAUGR = 2 or "Terms of delivery and payment". So this
    has to be always set manually if desired.
    However, in OMF4 You can make the selection of the exchange fix
    indicator mandatory by clicking the currency and exchange rate as reqd
    entry within 'Terms of delivery and payment',it will enforce the
    user to tick the PO exchange rate indicator in ME21n during PO
    creation.
    Hope you find this useful.
    Adam.

  • Pls sugg.modification of an orded prod is sevice or std purchase

    hi dear frds,
    we have raised one po against the butterfly valve manufacturer(vendor).according to PO they have manaufactured and made it ready.but before delivery of valves,we have noticed that some modifications to be done in this design of valves.so for that they are asking extra cost for doing modification in the valve.so for this which order we have to make either PO or service order.our project dept has raise one PR with short text modification without mentioning material code.
    kindly give your valuable suggestions.
    Regards,
    G.V.Krishnan
    9790986271

    Hi,
    You can do it in following ways;
    1. Go to same PO (in ME22N), there add a 2nd line item w.r.t. PR (there will be a column of entering PR No, just enter the PR No there and press enter, as a result it will copy all the details from PR to PO)
    Here use Account Assignment Category and Account Assignment Object similar to the 1st line item of PO (i.e. of Butterfly valve), so that Cost of Servicing will get loaded on the Account Assignment Object of Butterfly valve during GR in MIGO.
    2. Otherwise, create a new PO for Service Cost w.r.t. PR in ME21N and use same Account Assignment Category and Account Assignment Object of Butterfly Valve as in case of first PO.
    MIGO - GR w.r.t. PO and Cost of Servicing will get loaded on the Account Assignment Object of Butterfly valve.
    MIRO - LIV for the Cost of Servicing of Butterfly valve

  • ME21 / ME21N BDC Codes

    Hi All,
    while recording( in ME21) atlast im gettin an error like netprice is grtr than 0, eventhough netprice is positive value only,
    while using me21n, cant craete prog, dunno why,
    im getin hectic with this one,
    I need code for ME21 / ME21N (purchase order create),
    plz anyone help me,
    thanks in advance,
    hema.p

    hi
    check this code
    report zgmimm_me21 no standard page heading line-size 255.
    tables: t100.
    type-pools: truxs.
    types: begin of i_upload,
            lifnr    like ekko-lifnr,         "Vendor Number
            bukrs    like ekko-bukrs,         "Order type
            bedat    like ekko-bedat,         "Purchase Order Date
            ekorg    like ekko-ekorg,         "Purchasing organization
            ausnr    like ekko-ausnr,         "Purchase order
            ekgrp    like ekko-ekgrp,         "Purchasing group
            eddat    like ekko-bedat,         "Delivery date
            werks    like ekpo-werks,         "Plant
            lgort    like ekpo-lgort,         "Storage location
            zterm    like ekko-zterm,         "Payment terms
            ematn    like ekpo-ematn,         "Material
            menge    like ekpo-menge,         "PO Quantity
            lewed    like ekpo-lewed,          "Latest GR Date
          end of i_upload.
    data: begin of i_input occurs 0,
          pbg(10) type c,
          bldat(07) type c,         "001
         BLDAT like BKPF-BUDAT,
          hkont(10) type c,
          kostl(10) type c,
          wrbtr(11) type c,
          dbcrflag(01) type c,
           sgtxt(32) type c,
       end of i_input.
    data: v_counter(2) type n.
    data: v_mod        type i.
    data: v_ebelp      like ekpo-ebelp.
    data: v_fname(132) type c.
    data: v_fname1(132) type c.
    data: v_tabix      like sy-tabix.
    data : ws_text(200) type c.
    data : wa_mag(1).
    data: begin of int_msg occurs 0,
           cnt type i,
           massage(1) type c,
           text(200) type c,
          end of int_msg.
    data : begin of i_final occurs 0,
            lifnr    like ekko-lifnr,         "Vendor Number
            bukrs    like ekko-bukrs,         "Order type
            bedat(10),
            ekorg    like ekko-ekorg,         "Purchasing organization
            ausnr    like ekko-ausnr,         "Purchase order
            ekgrp    like ekko-ekgrp,         "Purchasing group
            eddat(10),
            werks    like ekpo-werks,         "Plant
            lgort    like ekpo-lgort,         "Storage location
            zterm    like ekko-zterm,         "Payment terms
            ematn    like ekpo-ematn,         "Material
            menge    type char15,             "PO Quantity
            lewed(10),
            TAX_CODE type mwskz,
            GR_BASEDIV,
          end of i_final.
    data: it_datatab type standard table of i_upload,
          wa_datatab type i_upload.
    data: it_raw type truxs_t_text_data.
    data: begin of bdcdata occurs 0.
            include structure bdcdata.
    data: end of bdcdata.
    data: begin of messtab occurs 0.
            include structure bdcmsgcoll.
    data: end of messtab.
    data: begin of t_input occurs 0.
            include structure i_input.
    data:  end of t_input.
    data: begin of i_local_output occurs 0,
             text(2800) type c,
          end of i_local_output.
    data: begin of i_error occurs 0.
            include structure i_input.
    data:    text(50) type c.
    data: end of i_error.
    data : _datum1(10).
    data :  t_datum1(10).
    data:  msgno like sy-msgno,
           msgid like sy-msgid,
           msgty like sy-msgty,
           message like message.
    *Data : TEXT(50) Type c value 'File Shoud be in Excel Format'.
    data: wa_head     type bapimepoheader,
          wa_headx    type bapimepoheaderx,
          i_return    type bapiret2            occurs 0 with header line,
          i_item      type bapimepoitem        occurs 0 with header line,
          i_itemx     type bapimepoitemx       occurs 0 with header line,
          i_sch       type bapimeposchedule    occurs 0 with header line,
          i_schx      type bapimeposchedulx    occurs 0 with header line.
                  SELECTION SCREEN
    parameters: p_file type  rlgrap-filename obligatory modif id app.
               Write : /3 Text.
             START OF SELECTION
    at selection-screen on value-request for p_file.
      call function 'F4_FILENAME'
           exporting
                field_name = 'P_FILE'
           importing
                file_name  = p_file.
    start-of-selection.
      perform data_from_excel_to_sap.
      perform pass_data_to_final_int_tab.
    perform fill_bdc_data.
      perform fill_bapi_parameters.
      perform call_po_create_bapi.
    *&      Form  DATA_FROM_EXCEL_TO
          text
    -->  p1        text
    <--  p2        text
    form data_from_excel_to_sap.
      call function 'TEXT_CONVERT_XLS_TO_SAP'
          exporting
        I_FIELD_SEPERATOR        =
            i_line_header            =  'X'
            i_tab_raw_data           =  it_raw       " WORK TABLE
            i_filename               =  p_file
          tables
            i_tab_converted_data     = it_datatab[]    "ACTUAL DATA
         exceptions
            conversion_failed        = 1
            others                   = 2.
      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.                    " DATA_FROM_EXCEL_TO
    *&      Form  PASS_DATA_TO_FINAL_INTERNAL_TA
          text
    -->  p1        text
    <--  p2        text
    form pass_data_to_final_int_tab.
      loop at it_datatab into wa_datatab.
        move wa_datatab-lifnr to i_final-lifnr.  "Vendor Number
        move wa_datatab-bukrs to i_final-bukrs.  "Order type
        move wa_datatab-bedat to i_final-bedat.  "Purchase Order Date
        concatenate i_final-bedat6(2) '.' i_final-bedat4(2) '.20'
                         i_final-bedat+2(2) into _datum1.
        i_final-bedat = _datum1.
        move wa_datatab-ekorg to i_final-ekorg.  "Purchasing organization
        move wa_datatab-ausnr to i_final-ausnr.  "Purchase order
        move wa_datatab-ekgrp to i_final-ekgrp.  "Purchasing group
        move wa_datatab-eddat to i_final-eddat.  "Delivery date
        concatenate i_final-eddat6(2) '.' i_final-eddat4(2) '.20'
                         i_final-eddat+2(2) into _datum1.
        i_final-eddat = _datum1.
        move wa_datatab-werks to i_final-werks.  "Plant
        move wa_datatab-lgort to i_final-lgort.  "Storage location
        move wa_datatab-zterm to i_final-zterm.  "Payment terms
        move wa_datatab-ematn to i_final-ematn.  "Material
        move wa_datatab-menge to i_final-menge.  "PO Quantity
        move wa_datatab-lewed to i_final-lewed.  "Latest GR Date
    ***Value Hard coaded considering this Program is only for Import.
        I_FINAL-TAX_CODE   = 'V0'.
        I_FINAL-GR_BASEDIV = ' '.
        concatenate i_final-lewed6(2) '.' i_final-lewed4(2) '.20'
                         i_final-lewed+2(2) into _datum1.
        i_final-lewed = _datum1.
        append i_final.
      endloop.
    endform.                    " PASS_DATA_TO_FINAL_INTERNAL_TA
    *&      Form  FILL_BDC_DATA
          text
    -->  p1        text
    <--  p2        text
    form fill_bdc_data.
      read table i_final index 1.
      perform f0510_bdcdata using :
                 'X'          'SAPMM06E'   '0100',
                 ' '          'BDC_CURSOR' 'RM06E-MATKL',
                 ' '          'BDC_OKCODE' '=KOPF',
                 ' '          'EKKO-LIFNR'  i_final-lifnr,
                 ' '          'RM06E-BSART' i_final-bukrs,
                 ' '          'RM06E-BEDAT' i_final-bedat,
                 ' '          'RM06E-BSTNR' i_final-ausnr,
                 ' '          'EKKO-EKORG'  i_final-ekorg,
                 ' '          'EKKO-EKGRP'  i_final-ekgrp,
                 ' '          'RM06E-EEIND' i_final-eddat,
                 ' '          'RM06E-LPEIN' 'T',
                 ' '          'RM06E-WERKS' i_final-werks,
                 ' '          'RM06E-LGORT' i_final-lgort.
      perform f0510_bdcdata using :
                 'X'          'SAPMM06E'   '0101',
                 ' '          'BDC_OKCODE' '=AB',
                 ' '          'EKKO-ZTERM' i_final-zterm.
      move: '01' to v_counter.
      loop at i_final.
        move: sy-tabix to v_tabix.
        concatenate 'EKPO-EMATN(' v_counter ')' into v_fname.
        concatenate 'EKPO-MENGE(' v_counter ')' into v_fname1.
        perform f0510_bdcdata using :
                   'X'           'SAPMM06E'    '0120',
                   ' '           'BDC_OKCODE'  '=DETZ',
                ' '           'RM06E-EBELP' '5',
                   ' '           v_fname       i_final-ematn,
                   ' '           v_fname1      i_final-menge.
        perform f0510_bdcdata using :
                        'X'            'SAPMM06E'   '0112',
                        ' '            'BDC_CURSOR' 'EKPO-LEWED',
                        ' '            'BDC_OKCODE' '/00',
                        ' '            'EKPO-LEWED' i_final-lewed,
                        ' '            'EKPO-PRDAT' i_final-bedat.
                      ' '            'EKPO-IPRKZ' 'D'.
        v_mod = v_counter mod 5.
        if v_mod eq 0.
          clear v_ebelp.
          move: v_tabix to v_ebelp.
          perform f0510_bdcdata using :
                     'X'           'SAPMM06E'    '0120',
                     ' '           'BDC_OKCODE'  '/00',
                     ' '           'RM06E-EBELP'  v_ebelp.
          v_counter = '02'.
        else.
          v_counter = v_counter + 1.
        endif.
      endloop.
    loop at i_final.
       clear: v_fname.
       v_counter = sy-tabix.
       v_ebelp = sy-tabix.
       concatenate 'RM06E-TCSELFLAG(' '01' ')' into v_fname.
       perform f0510_bdcdata using :
                       'X'             'SAPMM06E'    '0120',
                       ' '             'RM06E-EBELP' v_ebelp,
                       ' '             'BDC_OKCODE'  '/00'.
       perform f0510_bdcdata using :
                       'X'             'SAPMM06E'    '0120',
                       ' '             'BDC_CURSOR'  'RM06E-BSTPO(01)',
                       ' '             'BDC_OKCODE'  '=DETZ',
                        ' '             'RM06E-EBELP' v_ebelp,
                       ' '             v_fname       'X'.
       perform f0510_bdcdata using :
                       'X'            'SAPMM06E' '0112',
                       ' '            'BDC_CURSOR'  'EKPO-LEWED',
                       ' '            'BDC_OKCODE' '/00',
                       ' '            'EKPO-PLIFZ' '91',
                       ' '            'EKPO-GEWEI' 'KG',
                       ' '            'EKPO-PRDAT' i_final-bedat,
                       ' '            'EKPO-IPRKZ' 'D',
                       ' '            'EKPO-LEWED' i_final-lewed.
    endloop.
      perform f0510_bdcdata using :
                  'X'          'SAPMM06E' '0120',
                  ' '          'BDC_CURSOR' 'RM06E-BSTPO(10)',
                  ' '          'BDC_OKCODE' '=BU',
                  ' '          'RM06E-EBELP' '1'.
      perform f0510_bdcdata using :
               'X'        'SAPLSPO1'   '0300',
               ' '        'BDC_OKCODE' '=YES'.
      call transaction 'ME21' using bdcdata messages into messtab
                          mode 'A' update 'S'.
      perform f000_process_errors.
      clear: bdcdata, messtab.
      refresh: bdcdata, messtab.
      loop at int_msg.
        write:/ int_msg-text.
      endloop.
    endform.                    " FILL_BDC_DATA
    *&      Form  F0510_BDCDATA
          text
         -->dynbegin   text
         -->name       text
         -->value      text
    form f0510_bdcdata using    value(dynbegin)
                          value(name)
                          value(value).
      if dynbegin = 'X'.
        clear bdcdata.
        move: name to bdcdata-program,
             value to bdcdata-dynpro,
               'X' to bdcdata-dynbegin.
        append bdcdata.
      else.
        clear bdcdata.
        move: name to bdcdata-fnam,
              value to bdcdata-fval.
        append bdcdata.
      endif.
    endform.                    " F0510_BDCDATA
    *&      Form  F000_PROCESS_ERRORS
          text
    -->  p1        text
    <--  p2        text
    form f000_process_errors.
      loop at messtab.
        clear t100.
        select single * from t100 where sprsl = messtab-msgspra
                                  and   arbgb = messtab-msgid
                                  and   msgnr = messtab-msgnr.
        ws_text = t100-text.
        wa_mag  = messtab-msgtyp.
        if ws_text cs '&1'.
          replace '&1' with messtab-msgv1 into ws_text.
          replace '&2' with messtab-msgv2 into ws_text.
          replace '&3' with messtab-msgv3 into ws_text.
          replace '&4' with messtab-msgv4 into ws_text.
        else.
          replace '&' with messtab-msgv1 into ws_text.
          replace '&' with messtab-msgv2 into ws_text.
          replace '&' with messtab-msgv3 into ws_text.
          replace '&' with messtab-msgv4 into ws_text.
        endif.
        condense ws_text.
        move ws_text to int_msg-text.
        move wa_mag to int_msg-massage.
        append int_msg.
      endloop.
      delete int_msg where massage = 'W'.
    endform.                    " F000_PROCESS_ERRORS
    *&      Form  fill_bapi_parameters
          Subroutine to fill BAPI Parameters
    form fill_bapi_parameters.
      clear: wa_head, wa_headx, i_return, i_item, i_itemx, i_sch, i_schx.
      perform fill_bapi_header.
      perform fill_bapi_items.
    endform.                    " fill_bapi_parameters
    *&      Form  fill_bapi_header
          Subroutine to fill the bapi header
    form fill_bapi_header.
      read table i_final index 1.
      check sy-subrc eq 0.
      move: i_final-ausnr          to wa_head-po_number,
            i_final-bukrs          to wa_head-doc_type,
            i_final-zterm          to wa_head-pmnttrms,
            i_final-ekorg          to wa_head-purch_org,
            i_final-ekgrp          to wa_head-pur_group,
            'FOB'                  to wa_head-incoterms1,
            'Free On Board'        to wa_head-incoterms2.
      call function 'CONVERSION_EXIT_ALPHA_INPUT'
           exporting
                input  = i_final-lifnr
           importing
                output = i_final-lifnr.
      move:         i_final-lifnr  to wa_head-vendor.
      concatenate i_final-bedat+6(4)
                  i_final-bedat+3(2)
                  i_final-bedat(2) into wa_head-doc_date.
      move: 'X'                    to wa_headx-po_number,
            'X'                    to wa_headx-doc_type,
            'X'                    to wa_headx-vendor,
            'X'                    to wa_headx-pmnttrms,
            'X'                    to wa_headx-purch_org,
            'X'                    to wa_headx-pur_group,
            'X'                    to wa_headx-doc_date,
            'X'                    to wa_headx-incoterms1,
            'X'                    to wa_headx-incoterms2.
    endform.                    " fill_bapi_header
    *&      Form  fill_bapi_items
          Subroutine to fill the bapi items
    form fill_bapi_items.
      loop at i_final.
        call function 'CONVERSION_EXIT_ALPHA_INPUT'
             exporting
                  input  = i_final-ematn
             importing
                  output = i_final-ematn.
        move: sy-tabix          to i_item-po_item,
              i_final-ematn     to i_item-material,
              i_final-werks     to i_item-plant,
              i_final-lgort     to i_item-stge_loc,
              i_final-menge     to i_item-quantity.
                I_ITEM-TAX_CODE   = I_FINAL-TAX_CODE.
                I_ITEM-GR_BASEDIV = I_FINAL-GR_BASEDIV.
        concatenate i_final-lewed+6(4)
                    i_final-lewed+3(2)
                    i_final-lewed(2) into i_item-gr_to_date.
        move: sy-tabix          to i_itemx-po_item,
              'X'               to i_itemx-po_itemx,
              'X'               to i_itemx-material,
              'X'               to i_itemx-plant,
              'X'               to i_itemx-stge_loc,
              'X'               to i_itemx-quantity,
              'X'               to i_itemx-gr_to_date.
        move: 'X'     TO        i_itemx-TAX_CODE ,
              'X'     TO        i_itemx-GR_BASEDIV.
        append: i_item, i_itemx.
        move: sy-tabix          to i_sch-po_item,
              '0001'            to i_sch-sched_line,
              'D'               to i_sch-del_datcat_ext.
            i_final-menge     to i_sch-quantity.
        concatenate i_final-eddat(2)
                    i_final-eddat+3(2)
                    i_final-eddat+6(4) into i_sch-delivery_date.
        move: sy-tabix          to i_schx-po_item,
              '0001'            to i_schx-sched_line,
              'X'               to i_schx-po_itemx,
              'X'               to i_schx-sched_linex,
            'X'               to i_schx-quantity,
              'X'               to i_schx-delivery_date,
              'X'               to i_schx-del_datcat_ext.
        append: i_sch, i_schx.
      endloop.
    endform.                    " fill_bapi_items
    *&      Form  call_po_create_bapi
          Subroutine to call PO CREATE BAPI
    form call_po_create_bapi.
      call function 'BAPI_PO_CREATE1'
           exporting
                poheader    = wa_head
                poheaderx   = wa_headx
           tables
                return      = i_return
                poitem      = i_item
                poitemx     = i_itemx
                poschedule  = i_sch
                poschedulex = i_schx.
      read table i_return with key type = 'S'
                                   id   = '06'
                                   number = '017'.
      if sy-subrc eq 0.
        call function 'BAPI_TRANSACTION_COMMIT'
             exporting
                  wait = 'X'.
        write:/ i_return-message.
      else.
        delete i_return where type = 'S'.
        delete i_return where type = 'I'.
        delete i_return where type = 'W'.
        write:/ 'Following Errors occured in PO Creation:'.
        skip.
        loop at i_return.
          write:/ i_return-message.
        endloop.
      endif.
    endform.                    " call_po_create_bapi
    thanks
    sitaram

  • ME21n - Purchase order field exit??

    Hi
    Does anybody know what the ME21n (enter purchase order) field exit would be so that I can default a particular G/L account (HKONT) when the account assignment group is 'F' & the purchasing org is a particular value?
    If you can also confirm if that is going to be possible with coding in that field exit I would appreciate it....
    Thanks all for your time...

    Screen Exit
    Please remove the TDS-related input fields on the PO entry screen on the customer data tab  (PO line details).
    - TDS account
    - TDS cost code
    - TDS sub code
    1.     Goto Transaction Code Me21n
    Fill the following fields
    Enter
    Give the input values in following fields from  ORGDATA TAB
    Purchasing org
    Purchasing group
    Company code
    Vendor
    Enter
    Select Customer Data tab like following
    USER EXIT  : MM06E005 (Customer fields in purchasing document )
    &#61664;  Goto  : T.Code : SMOD
    &#61664;     Give the Enhacement Name : MM06E005
    &#61664;     Click on Display
    &#61664;     Click on Components Push Button
    &#61664;     Double click on function module EXIT_SAPMM06E_016( Export Data to Customer Subscreen for Purchasing document item)
    &#61664;     Double click on Include ZXM06O01.
    &#61664;     Insert the following coding in that include
    SET PARAMETER ID 'BUK' FIELD g_ekko-bukrs.
      LOOP AT SCREEN.
        IF screen-name = 'EKPO_CI-ISMSUBTITLE1'.
          screen-input = '0'.
          MODIFY SCREEN.
        ENDIF.
    *>>>>>>>>>>>>>>>>>>>>>> Begin of insert CR336/BG1 >>>>>>>>>>>>>>>>>>>>>>
        IF screen-name = 'G_EAN11'.
          screen-input = '0'.
          MODIFY SCREEN.
        ENDIF.
    *<<<<<<<<<<<<<<<<<<<<<<< End of insert CR336/BG1 <<<<<<<<<<<<<<<<<<<<<<<
    *>>>>>>>>>>>>>>>>>> Begin of Changes for K896570/501411945 <<<<<<<<<<<<<
    IF screen-name = 'EKPO_CI-TDSACCOUNT'.
          screen-input = '0'.
          MODIFY SCREEN.
        ENDIF.
    IF screen-name = 'EKPO_CI-TDSCOST'.
          screen-input = '0'.
          MODIFY SCREEN.
        ENDIF.
    IF screen-name = 'EKPO_CI-TDSSUB'.
          screen-input = '0'.
          MODIFY SCREEN.
        ENDIF.
    *>>>>>>>>>>>>>>>>>> End of Changes for K896570/501411945 <<<<<<<<<<<<<
    *>>>>>>>>>>>>>>>>>>>>>> Begin of insert SM1 >>>>>>>>>>>>>>>>>>>>>>
        IF ( screen-name = 'EKPO_CI-TDSACCOUNT'
          OR screen-name = 'EKPO_CI-TDSCOST'
          OR screen-name = 'EKPO_CI-TDSSUB'
          OR screen-name = 'TDS_TXT_1'
          OR screen-name = 'TDS_TXT_2'
          OR screen-name = 'TDS_TXT_3'
          OR screen-name = 'TDSACCOUNT-DESC'
          OR screen-name = 'TDSCOST-DESC'
          OR screen-name = 'TDSSUB-DESC'  ).
          IF g_ekko-bukrs(2) <> 'U6'.       "not a theatrical company
            screen-invisible = '1'.
            screen-input     = '0'.
          ELSEIF g_flag = 0.                "display only
            screen-invisible = '0'.
            screen-input     = '0'.
          ELSEIF g_flag = 1.                "change
            screen-invisible = '0'.
    *>>>>>>>>>>>>>>>>>> Begin of Changes for K896570/501411945 <<<<<<<<<<<<<
           screen-input     = '1'.       "Fharook Syed
            screen-input     = '0'.        "Fharook Syed
    *>>>>>>>>>>>>>>>>>> End of Changes for K896570/501411945 <<<<<<<<<<<<<
          ENDIF.
          IF screen-name = 'EKPO_CI-TDSACCOUNT'.
            screen-required  = '1'.
          ENDIF.
          MODIFY SCREEN.
        ENDIF.
    *>>>>>>>>>>>>>>>>>>>>>> End of insert SM1 >>>>>>>>>>>>>>>>>>>>>>
    &#61664; save & activate.
    &#61664; Repeat the above process in ME21N to see customer data fileds in CUSTOMER DATA tab
    After the above Modifications CUSTOMER DATA is   displaying like this
    rewars if useful

  • Enhancement/BAdi/User Exit for ME21N

    Hi
    i am looking for a modification/enhancement/BAdi or userexit that would  be triggered when the document type is changed on purchase order type in transaction ME21N.
    can anyone help?
    i have seen there are lots of many exits available, but i am after something more specific....
    if anyone could help and point me in the right direction it would be much appreciated.
    i found enhancement MEQUERY1, but not sure if i could utilise this for my needs.
    thanks

    i used the BAdi ME_PROCESS_PO_CUST and method PROCESS_ITEM
    with this code:
    METHOD if_ex_me_process_po_cust~process_item.
      DATA: ls_mepoitem   TYPE mepoitem,
            ls_mepoheader TYPE mepoheader.
      DATA: header_obj TYPE REF TO if_purchase_order_mm.
    * get header data
      header_obj = im_item->get_header( ).
      ls_mepoheader = header_obj->get_data( ).
    * get item data
      ls_mepoitem = im_item->get_data( ).
      IF ls_mepoheader-bsart = 'ZPSC' AND ls_mepoitem-umson IS INITIAL.
    * Message: PSC Order requires 'Free' indicator selected
        MESSAGE e017(zenhance_msgcl).
      ENDIF.
    ENDMETHOD.

  • Regarding sd module modification in va01/va02/va03

    as per we can configure the screen of <u><b>mm01,mm02,mm03</b></u> in spro by modifying the datascreen and assining the data screen to <b><u>mm01/mm02/mm03</u></b>.teis requirement i executed. but now i need to modify th screen of <u><b>va01/va02/va03</b></u> with specific order type.in the screen i have to include some fields which i used to call from<u><b> zee</b></u> table and when ever the data modification is done these table should get updated.
    it is not possible through any kind of exits and badi implementation.
    even it may be possible through badi implementation.but i dont know the procedure and steps to follow how to implement this senario.ie. the screen related to one perticular order type like <u><b>zso in va01/va02/va03</b></u>
    as i request the requirement is very urgent so suggest me as early as possible.
    thanx with warm regards,,,,,
    hareesh tadepalli

    Try screen/transaction variants - tcode SHD0.  The order entry screens do not seem to have a config way of determining what fields are hidden/displayed ala ME21N.
    Or you could try using GuiXT.

  • Changing error message for mandatory field in me21n

    Hi,
    We had made the field "Collective no." of the additional data tab of the me21n transaction mandatory.
    We also change the name of that field to a custom name.
    Now if the user doesn't enter text in that field we get the error "Please enter Collective no.".
    I want to change the message to match our new field name.
    I checked in T100 for that message, but it's not there.
    Can anyone tell me from were that message come from, and how to change it.
    Thanks

    Hello,
    Tell us class and msg no so that we can find out coz it is pecular requirement.
    I suggest do not make it mandotary and dont change to custom field - give information message, place the cursor in field so user get message when he dont enter any value.
    yesterday we have discussed same we do not have any userexit - SAP direct modification required.
    PAI of the SAPMEGUI 1229 and MEPO1229-SUBMI field it contains value of collection no so just write your code there.
    *****Poorna********

  • How to know if iam in tcode  creation or modif  inside abap  prog ?

    hello ,
    i  want  to  know if there  is any things  that can  help  me to know  if  iam  in tcode  of creation (ME21N) o  modification (ME22N/ME23N) for  PO,  without using  sy-tcode inside a program of smartforms edition.
    thanks ,
    karim

    >
    karim sefiani sefiani wrote:
    > hello ,
    >  
    > i  want  to  know if there  is any things  that can  help  me to know  if  iam  in tcode  of creation (ME21N) o  modification (ME22N/ME23N) for  PO,  without using  sy-tcode inside a program of smartforms edition.
    >
    >  thanks ,
    > karim
    Please check the value of the variable T180-TRTYP
    T180-TRTYP = H - Create - ME21N
    T180-TRTYP = V - Change - ME22N
    generally 'A' in case of display transactions, however the table T180 shows the value 'V' in case of ME23N also, kindly check

  • Modify standard screen for ME21N/ME22N

    i need to modify ME21N/ME22N's Invoice Tab.
    The requirement is to make the invoice tab's tax code and jurisdiction code modifiable at certain conditions.
    how to do that?
    i've read some posts that suggests some badis and userexits, but it mostly pertains to custom screens.
    this has already taken me too long.
    pls help

    As you said making screen fields modifiable pertaining to Custom screens. 
    In your code written for custom screens, you can use following syntax to make the fields visible (modifiable) or grayed out (not modifiable) for the fields.  use this syntax based on your conditions. 
    You can modify SCREEN in your ABAP program during the PBO event of a screen. Its contents override the static attributes of the screen fields for a single screen call. The only statements that you can use with SCREEN are:
    LOOP AT SCREEN.
    MODIFY SCREEN.
    ENDLOOP.
    for more details of this topic pls follow the links.
    http://help.sap.com/saphelp_nw04/helpdata/EN/9f/dbab6f35c111d1829f0000e829fbfe/frameset.htm
    The following example is selection screen based. but you can use the similar logic in ur program
    DATA: d_ucomm LIKE sy-ucomm.
    PARAMETERS: p_grpa1(10) MODIF ID A,
    p_grpa2(5) MODIF ID A,
    p_grpb1(2) MODIF ID B.
    PARAMETERS: p_actA RADIOBUTTON GROUP rad1 USER-COMMAND ACT DEFAULT 'X',
    p_actB RADIOBUTTON GROUP rad1.
    AT SELECTION-SCREEN.
    d_ucomm = sy-ucomm.
    AT SELECTION-SCREEN OUTPUT.
    LOOP AT screen.
    IF p_actA = 'X'.
    IF screen-group1 = 'B'.
    screen-active = 0.
    ENDIF.
    ELSEIF p_actB = 'X'.
    IF screen-group1 = 'A'.
    screen-active = 0.
    ENDIF.
    ENDIF.
    MODIFY screen.
    ENDLOOP.

Maybe you are looking for

  • Safari quit unexpectedly and wont open, please help

    My safari wont open, and below s the error report, can someone please help me?? Process: Safari [309] Path: /Applications/Safari.app/Contents/MacOS/Safari Identifier: com.apple.Safari Version: 5.0.4 (6533.20.27) Build Info: WebBrowser-75332027~1 Code

  • My Mac will not boot up!!!

    Hi! My iMac 10.7.5 desktop will not boot up, I just get a white screen after the apple logo. It will only start in safe mode. Will not go into recovery mode either. I just get a white screen. I have tried:   Removing all cables and trying to start in

  • My thinkpad t420s doesn't last 2 hours

    hardware and software: * thinkpad t420s, brand new with standard battery * CPU: i7-2640M CPU @ 2.80GHz, 4 cores. frequency scaling is enabled, they all usually run at 800MHz (ondemand governor) * intel SSD, no HDD * wifi: iwlwifi: Intel(R) Centrino(R

  • Email Not generated from VF06 - more than one invoice created same BP

    Customer is creating invoice in VF01, they need a email output (medium 5) along with SAP Script attached . I coded the logic in subroutine Entry of the print program. Email is getting generated successfully . But it production the customer is creatin

  • Question Demo tenant S&OP

    One of my parnters would like to have access to a demo tenant for S&OP (on demand). How can I arrange this? Thank you in advance. Kind Regards, Djoekie Klein