Po date in me21n

here i am able to give any doc date while creating Purchase order.
buy requirement is date should be today's date or before todays date. it should never be greater  than todays date.
any idea how to get it done??
regards
chandramani

Ck,
See this sampla code which i used once:
METHOD if_ex_me_process_po_cust~process_header .
DATA : he_data TYPE mepoheader.
CALL METHOD im_header->get_data
RECEIVING
he_data = he_data.
he_header = he_data.
IF ( he_data-bsart NE 'SER' AND re_data-bsart NE 'POL' ).
MESSAGE ID 'ZM_MSG' TYPE 'E' NUMBER '000' WITH 'Use
ENDIF.
ENDMETHOD.

Similar Messages

  • Fast change for statistical delivery date in me21n

    hi
    need fast change for statistical delivery date in me21n
    in me21n when i enter on to fast change screen i doesn't find statistical delivery date
    can anyone tell me the process
    thanks

    Dear Anudeep,
    You cannot change this via "Fast Change".
    Please see the usage of this field.
    Calculation of the delivery time is an element in the determination of a vendor's adherence to delivery dates (that is, the vendor's delivery timeliness, or on-time delivery performance) in MM Vendor Evaluation.
    If it becomes known that the vendor can only deliver ordered goods some days later than originally stipulated, for instance, you can change the delivery date accordingly for materials planning and control purposes. However, the statistics-relevant delivery
    date remains unchanged.
    As a result, the vendor's "on-time delivery performance" score worsens. At the same time, it is ensured that materials planning and control works on the basis of the right date.
    Regards,
    ian, Wong Loke Foong

  • Creating additional customised tabscreen under header data for me21n

    hi all.
    i have a requirement for adding extra tabscreen (subscreen) undr headr data of me21n purchase requisitions .
    and other thing is i want to know how we can raise an eror message if the user has filled all data in me21n except in customised tab screen that i am going to create.
    waiting for great answwr.
    bye.
    sita ram,

    Hi,
    you can find tons of general info BADIs on this forum. So basically go to transaction SE18 and enter name of your BADI - ME_GUI_PO_CUST. Please read carefully documentation. There is button for documentation. In documentation you can find following statement:
    The Business Add-In (BADI) ME_GUI_PO_CUST enables you to integrate your own subscreens into the Enjoy purchase order at both eader and item levels.
    So it looks like what you need. You have description for each method of BADI in documentation as well.Definitely you will have to implement method SUBSCRIBE. You will define your own screen in this method. Then you have to implement PBO and PAI logic (check methods TRANSPORT_TO_DYNP and TRANSPORT_FROM_DYNP). SAP provides examples for each BADI. You can read the example of BADIs implementation in Goto->Sample Code->Display. These examples are very well commented. I am pasting just example of SUBSCRIBE implementation
    DATA: ls_subscriber LIKE LINE OF re_subscribers.
    * we want to add a customer subscreen on the item detail tab
      CHECK im_application = 'PO'.
      CHECK im_element     = 'ITEM'.
    * each line in re_subscribers generates a subscreen. We add one subscreen in this example
      CLEAR re_subscribers[].
    * the name is a unique identifier for the subscreen and defined in this class definition
      ls_subscriber-name = subscreen1.
    * the dynpro number to use
      ls_subscriber-dynpro = '0001'.
    * the program where the dynpro can be found
      ls_subscriber-program = 'SAPLMEPOBADIEX'.
    * each subscreen needs his own DDIC-Structure
      ls_subscriber-struct_name = 'MEPO_BADI_STRUCT'.
    * a label can be defined
      ls_subscriber-label = text-001.
    * the position within the tabstrib can be defined
      ls_subscriber-position = 5.
    * the height of the screen can be defined here. Currently we suport two screen sizes:
    * value <= 7 a sevel line subscreen
    * value > 7  a 16 line subscreen
      ls_subscriber-height = 7.
      APPEND ls_subscriber TO re_subscribers.
    So basically you will define your new sub screen in this method. Do not forget that the BADI ME_PROCESS_PO_CUST is compulsatory for BADI ME_GUI_PO_CUST.
    Cheers

  • Add new column in ITEM data of ME21N/ME22N/ME23N

    Hi Experts,
    We have a requirement to add a custom field in ITEM data of transactions ME21N, ME22N and ME23N. A new column is required that would appear as checkbox. We have already tried screen exit MM06E005 but it is adding a new tab and the new field under the ITEM DETAIL data. We have also read that BADI ME_GUI_PO_CUST would do the job but it will be under the ITEM DETAIL as well.
    <<text removed>>
    Thanks
    Edited by: Matt on Mar 9, 2009 11:06 AM - expressions of urgency can be perceived as rudeness

    Hi,
        If you want to make the new field to appear as check box...Go to the screen layout from its module pool program --> right click on that field and Convert it to Check Box. This would help you.
    Regards,
    Swapna.

  • User exit for component data in ME21n/ME22n

    Hello,
    I have a requirement to issue an error message if a component quantity is not evenly divisible by the end item quantity.  The component data (BOM) is entered after clicking the components button on ME21n/ME22n at the item level detail.  I need to evaluate the data after a user clicks save, but I cannot find a user exit where the data is passed into, or where it is defined as global data where I can reference it in a user exit.  The data is stored on the screen in structure MDPM and stored in the database in table RESB.
    I appreciate any help,
    David

    Thanks for pointing me in the right direction.
    I was able to put my code in EXIT_SAPMM06E_012 and retrieve the component data through (SAPLEINK)XMDPM[]
    Below is the code I used to assign the data to be able to evaluate it.
    FIELD-SYMBOLS: <z_mdpm_x> TYPE ANY.
    DATA: i_mdpm_x TYPE STANDARD TABLE OF MDPM_X.
    Fetching Component data
      ASSIGN ('(SAPLEINK)XMDPM[]') to <z_mdpm_x>.
      CHECK sy-subrc = 0.
    Assigning data into an internal table
      i_mdpm_x[] = <z_mdpm_x>.
      CHECK i_mdpm_x[] IS NOT INITIAL.
    David
    Edited by: David Herrema on Oct 20, 2010 3:03 PM

  • Delivery date in ME21n??

    Hi all,
    While reading the help.sap.com for me21n, i have understood that
    Delivery date
    You can either enter the desired delivery date or leave the field empty. If the field is empty, the system determines the delivery date from the current date plus the planned delivery time for the material.
    My Question is about bold part. I debug the standard ME21n and understood that this delivery date is determine in following order.
    1 if RFQ is maintain then planned delivery days will be pick from RFQ and added to current date
    2 if PIR is maintain then planned delivery days will be pick from PIR and added to current date
    3 if PR is maintain then planned delivery days will be pick from PR and added to current date
    4 if planned delivery days are maintain at plant level in material master.
    Now, this above rules are in above order under if and else if condition. But is it possible to control from
    IMG config, that i change this rule , rather 4th point should be checked first.
    I know this is possible from user exit, but that would be last option. Please suggest.

    No it is not possible through the config, but the PIR delivery date is normally reflect form the material master only
    so you can use the PIR plan deli time
    but if oyu have diff than use user exit.

  • How to input my own Validity Start and End Dates in ME21N

    Hi All,
    I have to change the Validity Start and Validity End date in Addiitional Data Tab of ME21 transaction( PO Create ) using default Customer Values.How Can i accomplish it?
    I have used the BAdI ME_PROCESS_PO_CUST and implemented it, I have coded in the method PROCESS_HEADER.First I retrieved the data using get_data( ) method, changed the values with Customer Values and called the method set_data( ).
    However my validity start and End Dates and not changing.
    Even in ME21N if I create the PO with my own Validity Start and End dates, and go to ME23N to display the created PO, still in the additional data tab, the start and End dates are current date and Next date respectively.why its happening?
    Thanks in advance

    Hi,
    Can you please let us know in which business scenario this is required.
    SAP has provided separate functionality of Outline Agreement for considering validity period.
    If you let us know the business scenarion some solution/workaround can be suggested.
    Regards

  • To freez PO Doc date  In ME21n

    Hi expert ,
    My Requirement is , i want to freez PO Doc date in Tcode ME21n Only show current date  while creating a new PO . Means no one could make the PO in previous or future date from current date . Date should come just like sy-date but not in changable format.
    Thanks
    Chandra shekhar singh

    Dear Chandra,
    Basically Screen variants will be prepared by ABAPERS.
    But i will brief you about this.
    Go to Tcode SHD0.
    Enter tansaction ME21N..
    Then it will take you to PO screen..There you have to scheck the check box for PO date as display.
    Save and come out.
    After saving it will ask you Package. Save it in your package.
    Now try it will work.
    PS: Kindly do it with help of Abaper.
    Also if above solution doesn't work, then ask Abaper to write a code for that.
    It will be small code.
    regards
    Utsav

  • Set Dynamic Default Delivery Date in ME21n

    Hi!
    Under personal settings in ME21n, it is possible set a default delivery date. However, as I see it one can only set a fixed date like 2011-08.-12, which would quite useless in a couple of weeks. Is there any way to set this date dynamically as it is possible in normal selection variants.
    I am grateful for all input.

    yes this field is pretty useless, except for hundreds of items within one PO.
    usually delivery dates are defined by the requisitioners  and not by a default value of a buyer.

  • Run time data of ME21N

    Hello People,
    I need to check whether the user has inputted the print parameters in message box of me23n.
    where do i get these print data on run time.
    thanks in advance.
    regards,
    roshan.

    Sorry, None of them exists...
    is there any Fm which gives run time data?
    regards,
    roshan.

  • Data Passing from ME21N to ME22N or ME23N

    Hi,
    I'm using screen exit to add some custom fields in PO Creation screen. I used the enhancement MM06E005. I have to add fields in Header hence, I added those in CI_EKKODB. Then, I designed 0101 screen of SAPMM06E.
    Further I used EXIT_SAPMM06E_008 to Pass data from Subscreen to Structure for storage of data entered in customer-screen.
    Till this point, it is working fine.
    My issues are --
    1). When I press Change button on the screen, customer-screen does not change its mode of display as with rest of the screen.
    2). After saving data using ME21N, it is not being reflected in ME22N and ME23N; while other data from standarad screen are coming.
    Can you please guide me what to do and which exit is to be used for the purpose..?
    Kumar Saurav.

    Issue resolved.
    Kumar Saurav.

  • Control amount value based on payment terms in obb9 and me21n

    Dear Sapgurus,
    In OBB8 Create Payment Terms.
    Create 4 Payment terms PT , PT1, PT2, PT3.
    For the 1st one PT you select Installment Payment CheckBox.
    For PT1, PT2 & PT3 give the no of days as per your requirement.
    Go to OBB9 and assigned.
    PT -- PT1 -- 20% (Document Date)
    PT -- PT2 -- 50% (Posting date)
    PT -- PT3 -- 30% (Posting date) in me21n i assign pt payment terms based on this one i want control amount in f-48 like first accroiss 20% is not allowed 1000 rs total value 200 allowed in f-48 how do i make logic, if i assigned in me21n payment terms i want ot check this payment terms in assigned obb9 if i take first payment terms if document date is their i want to take advance payment if payment date is their its normal payment. Whther it is correct or not & If i given any payment terms in  me21n i want check background how many payment terms is assigned in this one if payment terms is document date i want to check in f-48 and if posting date in payment terms i want to check in f-53 control how do i prepare logic please give me suggessions.
    Regards
    Umi

    Hi Sridhar,
      it would be helpful if you could share with us as how you did?.
    Regards,
    Siva

  • Payment terms control in me21n (Logic)

    Dear Sapgurus,
    In OBB8 Create Payment Terms as per your requirement.
    Create 4 Payment terms PT , PT1, PT2, PT3.
    For the 1st one PT you select Installment Payment CheckBox.
    For PT1, PT2 & PT3 give the no of days as per your requirement.
    Go to OBB9 and assign like this.
    PT -- PT1 -- 20% (Document Date)
    PT -- PT2 -- 50% (Posting date)
    PT -- PT3 -- 30% (Posting date) in me21n i assign pt payment terms based on this one i want control amount in f-48 like first accroiss 20% is not allowed 1000 rs total value 200 allowed in f-48 how do i make logic, if i assigned in me21n payment terms i want ot check this payment terms in assigned obb9 if i take first payment terms if document date is their i want to take advance payment if payment date is their its normal payment. Whther it is correct or not & If i given any payment terms in  me21n i want check background how many payment terms is assigned in this one if payment terms is document date i want to check in f-48 and if posting date in payment terms i want to check in f-53 control how do i prepare logic please give me suggessions.
    Regards
    Umi

    Hi,
    I don't know how practical is your requirement. Will a vendor accept differential payment for line item in a PO ?
    If you want to process each GR with different payment term, then
    1. Mark GR based invoice verification in PO & vendor
    2. Payment tab. Vendor has to give different invoice for each goods delivery because the payment term is different. Change the payment term at the time of processing invice of each line.
    Anand.

  • Payment terms problem in me21n

    Dear Sapgurus,
    In OBB8 Create Payment Terms as per your requirement.
    Create 4 Payment terms PT , PT1, PT2, PT3.
    For the 1st one PT you select Installment Payment CheckBox.
    For PT1, PT2 & PT3 give the no of days as per your requirement.
    Go to OBB9 and assign like this.
    PT -- PT1 -- 20% (Document Date)
    PT -- PT2 -- 50% (Posting date)
    PT -- PT3 -- 30% (Posting date) in me21n i assign pt payment terms based on this one i want control amount in f-48 like first accroiss 20% is not allowed 1000 rs total value 200 allowed in f-48 how i make logic,  if i assigned in me21n payment terms i want ot check this payment terms in assigned obb9 if i take first payment terms if document date is their i want to take advance payment if payment date is their its normal payment. Whther it is correct or not
    Regards
    Umi

    Hi,
    You are require to use the BAPI using the function module test sequense.
    Goto> se37  menu> function module --> test --> test sequence --> enter the bapi name BAPI_SALESORDER_CHANGE and second line enter BAPI_TRANSACTION_COMMIT.
    Execute the test sequence with the same data and test again
    data will got updated into the sales order.

  • Custom screen for ME21n - BADI issue

    hi,
    I had implemented BADI ME_GUI_PO_CUST for ME21n/me22n. The control is going to Subscribe and Map Dynpro methods but the control is not going to other methods like TRANSPORT_FROM_MODEL, TRANSPORT_TO_DYNP, TRANSPORT_FROM_DYNP and TRANSPORT_TO_MODEL.
    Please explain how we can make the control to move to these methods. not sure what is missing in the implementation

    "Customer Data" on ME21N/ME22N uses the SMOD enhancement MM06E005. Screen 0101 is used for Header Customer Data. So, when you navigate through this screen it doesn't go through the TRANSPORT* methods.
    You can also use the BADI ME_GUI_PO_CUST to add your additional tabs in ME21N. You need to use the method SUBSCRIBE to set the Program, Subscreen number and other details. When you do the subscribe method, it would call the TRNSPORT* methods. Check the example code given in the class CL_EXM_IM_ME_GUI_PO_CUST.
    Regards,
    Naimesh Patel

Maybe you are looking for