Payment Terms based on Value Date (UDF)

Hi, is it possible and if how? I want to create a new Payment Term based on a value date which is maybe months ahead. So the docduedate is after this value date but the document shall already go into accounting.
how is this easily possible?

Hello,
If you mean that the payment due date in the payment terms should be calculated on the basis of some date specified in a udf, it is not possible.
But what you can do is use formatted search to calculate the due date based on the udf. apply this formatted search in due date field.
Rahul

Similar Messages

  • Payment terms based on specific dist.channel, division and Plant but not from customer master.

    Dear All
    I have a requirement,
    Generally payments terms from customer master will flow to sales order. but here my requirement is to get a different payment terms based on specific distribution channel, division, customer  and plant those are there in sales order but not from customer master. is there any user exit or functional module to fulfill this requirement, or any other suggestion appreciated.
    Thanks,
    Reddy

    This Problem you can solve without user exit too.
    The Customer master data itself can solve the problem.
    You can maitain diffrent Payment Term as per the sales area (Dist.Ch+Div+S.org) of customer master.
    and each sales are wise u can change the plant also.
    You just need to set your logic with the combination of sales are and plant. And need to assign which payment term should determine to sales order.
    If you are rasing sales order with X sales area relavent to that payment term will trigger.
    Hope above logic will work, otherwise you can go with user exit.

  • How to set Custom screen in ME21N when Payment Terms as particular value ?

    Dear ABAP Experts,
                                         I created one Custom Tab under Header level in me21n using screen exit MM06E005.
                     It's working fine. but  My requirement is, whenever  user will select Payment term as '0001' in Delivery / Invoice Tab then my Custom tab will open in ME21N t-code . My Custom tab will have different input fields which are entered manually, those values will store in Custom table(Z-table) when the user  press save button.
    So, How to do this?

    Hi,
    The ME2xN transactions reads the user settings from table ESDUS using function module ES_READ_USER_SETTINGS, and save them at the end of the transaction using function module ES_APPEND_USER_SETTINGS.
    You need to overwrite the displayed header tab number using  ES_APPEND_USER_SETTINGS just at the beginning of the transaction. I think that a godd point to do this is in the subroutine INIT_TRANSACTION of report RM_MEPO_GUI. You can do this using the enhacement framework. I have tested it and it works for me. This is the code you should insert:
    FORM init_transaction CHANGING ch_document        TYPE mepo_document
                                   ch_exit            TYPE mmpur_bool
                                   ch_requisitions    TYPE mereq_t_eban_mem
                                   ch_requisition_acc TYPE mereq_t_ebkn.
    """""""""""""""""""""""""""""$"$\SE:(1 ) Forma INIT_TRANSACTION, Inicio                                                                                D
    *$*$-Start: (1 )-----------------------------$*$*
    ENHANCEMENT 1  ZTEST.    "active version
    *Expand header------
        CALL FUNCTION 'ES_APPEND_USER_SETTINGS'
          EXPORTING
            iaction  = 'PurchaseOrder'
            ielement = 'DYN_4000-BUTTON     TOGGLE_STATE'
            iactive  = '2'.
    *Move to 2nd tab ----
        CALL FUNCTION 'ES_APPEND_USER_SETTINGS'
          EXPORTING
            iaction  = 'PurchaseOrder'
            ielement = 'HEADER-TABSTRIP     SUBVIEW_INDEX'
            iactive  = '2'.
    ENDENHANCEMENT.
    *$*$-End:   (1 )-----------------------------$*$*
      DATA: l_ebeln  TYPE ekko-ebeln,
            l_ebelp  TYPE ekpo-ebelp,

  • MATCHCODE ON PAYMENT TERMS IN CUSTOMER MASTER DATA

    HI,
    Could you please help me on the point described below ?
    When I use the Transaction XD03 on customer master data, the matchcode on the field "payment terms" ( in the sales area data)  only displays the current value of the field.
    It is not possible to have all the possible values; only the value written in the field is displayed in the matchcode; It is also the same thing if i use the transaction XD02.
    The others values are displayed if I delete the current entry...
    Could you please explain me how I could retrieve all the possible entries ( in display mode)  of the field without  deleting any entry ?
    NB : it seems that This is linked to the sales area; when I display the same customer on different sales areas, the result is not the same. On some sales areas, I can have the other possible entries...
    Thanks in advance for your help.

    Hi,
    I remember there is a way to do this, but forgot. Please discuss with your developers. They should be able to do this for you. Its a small thing on the screen which pops up, but I forgot what is that.

  • Payment term based discount or surcharge

    Client have requirement of Payement term based discount or surcharge. Conditions are like below:
    1. 10% discount to customer if he is paying cash.
    2. 5% discount if he is paying with in 15 days by cash, check or wire transfer.
    3. 5% surcharge on all other Payment terms other than above two mentioned.
    4. There are many payment terms  that's why We do not want to create several conditions record for surcharge.
    Please help & advice how to solve this using Standard SAP (With out writing any ABAP program or new routine).
    thanks

    Hi Jitender
    Please correct me if I am wrong.Looks like you have better Idea on this!
    why do You think that the issue is more of factoring discount?
    If he maitain 3 condion records for the 3 different payment terms, the system checks the payment terms from the customer master data in the order - Right?
    condtion record  EX:sales org, D.c, payment terms( for cash) - 10%( = $10)
    like that he will maitain 3 condition records for 3 payment terms.
    The moment I enter cystomer(systmem checks from customer master) in the sales order the sytem will picks up the $10 from condition record and it will display as a discount.
    whats wrong in that?
    Please can you clarify me.
    Thanks

  • Cursor and Update rows based on value/date

    SQL Server 2012
    Microsoft SQL Server Management Studio
    11.0.3128.0
    Microsoft Analysis Services Client Tools
    11.0.3128.0
    Microsoft Data Access Components (MDAC)
    6.1.7601.17514
    Microsoft MSXML 3.0 4.0 5.0 6.0 
    Microsoft Internet Explorer
    9.11.9600.16518
    Microsoft .NET Framework
    4.0.30319.18408
    Operating System
    6.1.7601
    The objective of this is to test the Cursor and use it on a production environment after this is fixed. What I would like to do is update rows in a column i duplicated originally called 'HiredDate' from AdventureWorks2012 HumanResources.Employee table. I
    made a duplicate column called 'DateToChange' and would like to change it based on a date I have picked, which returns normally 2 results (i.e. date is '04/07/2003'). The code runs but will not change both dates. It did run however with an error but changed
    only 1 of the 2 rows because it said ['nothing available in next fetch'].
    The code to add the columns and perform the query to get the results I am running this against:
    -- ADD column 'DateToChange'
    ALTER TABLE [HumanResources].[Employee] ADD DateToChange Date NOT NULL;
    -- Copy 'HireDate' data to 'DateToChange'
    UPDATE HumanResources.Employee SET DateToChange = HireDate;
    -- Change 'DateToChange' to NOT NULL
    ALTER TABLE [HumanResources].[Employee] ALTER COLUMN DateToChange Date NOT NULL;
    SELECT BusinessEntityID,HireDate, CONVERT( char(10),[DateToChange],101) AS [Formatted Hire Date]
    FROM HumanResources.Employee
    WHERE [DateToChange] = '04/07/2003';
    Code:
    USE AdventureWorks2012;
    GO
    -- Holds output of the CURSOR
    DECLARE @EmployeeID INT
    DECLARE @HiredDate DATETIME
    DECLARE @HiredModified DATETIME
    DECLARE @ChangeDateTo DATETIME
    --Declare cursor
    -- SCROLL CURSOR ALLOWS "for extra options" to pul multiple records: i.e. PRIOR, ABSOLUTE ##, RELATIVE ##
    DECLARE TestCursor CURSOR SCROLL FOR
    -- SELECT statement of what records going to be used by CURSOR
    -- Assign the query to the cursor.
    SELECT /*HumanResources.Employee.BusinessEntityID, HumanResources.Employee.HireDate,*/ CONVERT( char(10),[DateToChange],101) AS [Formatted Hire Date]
    FROM HumanResources.Employee
    WHERE DateToChange = '01/01/1901'
    /*ORDER BY HireDate DESC*/ FOR UPDATE OF [DateToChange];
    -- Initiate CURSOR and load records
    OPEN TestCursor
    -- Get first row from query
    FETCH NEXT FROM TestCursor
    INTO @HiredModified
    -- Logic to tell the Cursor while "@@FETCH_STATUS" 0 the cursor has successfully fetched the next record.
    WHILE (@@FETCH_STATUS = 0 AND @@CURSOR_ROWS = -1)
    BEGIN
    FETCH NEXT FROM TestCursor
    IF (@HiredModified = '04/07/2003')/*05/18/2006*/
    -- Sets @HiredModifiedDate data to use for the change
    SELECT @ChangeDateTo = '01/01/1901'
    UPDATE HumanResources.Employee
    SET [DateToChange] = @ChangeDateTo --'01/01/1901'
    FROM HumanResources.Employee
    WHERE CURRENT OF TestCursor;
    END
    -- CLOSE CURSOR
    CLOSE TestCursor;
    -- Remove any references held by cursor
    DEALLOCATE TestCursor;
    GO
    This query is run successfully but it does not produce the desired results to change the dates
    04/07/2003 to 01/01/1901.
    I would like the query to essentially be able to run the initial select statement, and then update and iterate through the returned results while replacing the necessary column in each row.
    I am also open to changes or a different design all together. 
    For this query I need:
    1. To narrow the initial set of information
    2. Check if the information returned, in particular a date, is before [i.e. this current month minus 12 months or
    12 months before current month]
    3. Next replace the dates with the needed date
    [Haven't written this out yet but it will need to be done]
    4. After all this is done I will then need to update a column on each row:
    if the 'date' is within 12 months to 12 months from the date checked
    NOTE: I am new to TSQL and have only been doing this for a few days, but I will understand or read up on what is explained if given enough information. Thank you in advance for anyone who may be able to help.

    The first thing you need to do is forget about cursors.  Those are rarely needed.  Instead you need to learn the basics of the tsql language and how to work with data in sets.  For starters, your looping logic is incorrect.  You open
    the cursur and immediately fetch the first row.  You enter the loop and the first thing in the loop does what?  Fetches another row.  That means you have "lost" the values from the first row fetched.  You also do not test the success of
    that fetch but immediately try to use the fetched value.  In addition, your cursor includes the condition "DateToChange = '01/01/1901' " - by extension you only select rows where HireDate is Jan 1 1901.  So the value fetched into @HiredModified will
    never be anything different - it will always be Jan 1 1901.  The IF logic inside your loop will always evaluate to FALSE.  
    But forget all that.  In words, tell us what you are trying to do.  It seems that you intend to add a new column to a table - one that is not null (ultimately) and is set to a particular value based on some criteria.  Since you intend the
    column to be not null, it is simpler to just add the column as not null with a default.  Because you are adding the column, the assumption is that you need to set the appropriate value for EVERY row in the table so the actual default value can be anything.
     Given the bogosity of the 1/1/1901 value, why not use this as your default and then set the column based on the Hiredate afterwards.  Simply follow the alter table statement with an update statement.  I don't really understand what your logic
    or goal is, but perhaps that will come with a better description.  In short: 
    alter table xxx add DateToChange date default '19010101'
    update xxx set DateToChange = HireDate where [some unclear condition]
    Lastly, you should consider wrapping everything you do in a transaction so that you recover from any errors.  In a production system, you should consider making a backup immediately before you do anything - strongly consider and have a good reason not
    to do so if that is your choice (and have a recovery plan just in case). 

  • Payment terms in Vendor Master data and purchasing info record

    Hi, all, I met one trouble. While I create Purchase Order. In the header item, payment terms is automatically pop up from the data maintaining the vendor master data or purchasing info record if there is difference payment terms between in vendor master data and in purchasing info record. What happend?
    Sometimes, When you create purchase order, payment terms is not automatically pop up even you maintained in the vendor master data or purchasing info record. Why? Is it meaning that I can manually to input payment terms while create each purchase order which can be difference data with vendor master data or purchase info record?
    Thank you very much in advance,

    Hi,
    The payment terms is usually defaulted from either vendor master or purchasing master data record such as contract/outline agreement.  Unless it is set through configuration that the payment terms be set as mandatory, any failure to maintain payment terms won't stop you from posting your PO as this information will only be useful during invoice receipt maintenance.  Having said that if you are setting up your system with discount condition type as part of your PO pricing schema then it is necessary that the payment terms shall be maintained during PO creation.
    Cheers,
    HT

  • Payment terms in PO header data

    Hi,
    How the Payment Terms is fetched In PO Header data under tab Delivery/Invoice? In case if a PO is created for 10 line items with different Vendor Sub range, which payment terms will be fectched in PO?
    Thanks & Regards!
    Aniruddha

    HI,
    U grp certain materials and for these u maintain the payment terms in vendor subrange then the pymt terms maintained in VSR
    will be only picked and not from vendor master.
    murugan

  • Payment terms in customer master data

    Hi,
    How can I customize that the paymennt terms will come to the order from the company master data and not from the sales data of the  customer?
    Thanks!!

    Hi
    The Terms of Payment maintained in CoCode Data is not related to sales and the one maintained in Sales Area Data of CMR is related to sales and hence there is no chance to use this.
    Instead maintain the same payment terms in both the place of Customer Master. It will meet your requirement.
    Thanks,
    Ravi

  • DQS Term-based relations value contains white space is not allowed

    Hi
    SQL Server 2012:
    I have a term 'R & D' which i would like to replace with 'Research and Development'. How do i incorporate it in the DQS 2012 cleansing?
    I want to replace 'I C G E B' with 'International Centre for Genetic Engineering and Biotechnology'. I created a Domain values. On cleasning, it corrected the source value 'Centre for Genetic Engineering
    and Biotechnology, Cuba' with 'International Centre for Genetic Engineering and Biotechnology' with Confidence score was 81%. Not sure, why is it replacing. I have only one domain value. I have
    no other rules or term-based relations during my testing. Probably it took the initials of 'I C G E B' and partially matched in 'Centre for Genetic Engineering and Biotechnology, Cuba'.
    Any solution how to solve this.
    Any help much appreciated.
    Nikesh Shah
    Nikesh Shah

    Hi Nikesh, 
    If I understood you correctly, it is correcting your string because you gave it a domain value and no rules to guide the correction behavior. This way, DQS is comparing everything with that domain value to check if it is similar, and that stringwas similar
    enough, so DQS corrected it to the value you said "it was the only one valid in the domain"
    You can implement that correction in two ways
    - Using a term-based relation, specifying that every time DQS encounters the string "I C G E B" (even inside other strings) it will replace it with International Centre for Genetic Engineering and Biotechnology
    - Specifying a correction in your domain values. Manually insert the value "I C G E B", mark it as an error and specify its correction with International Centre for Genetic Engineering and Biotechnology. 
    Given your case, I'd rather take the first option, because we are talking about a replacement of initial letters, not about a correction. If you take the second option, you will get weird corrections as you have encountered already. 
    Regards. 
    Pau.

  • Payment term based on Period

    We are creating schedule agreement for vendor with Rate and Term of Payment.
    I have got requirement from the client that they want to change the Term of Payment at vendor master but the system should function in below manner.
    Say we have created the Agreement on 01.08.2011 and the same time the Terms of Payment at Vendor master was 0001, i have partial receipt agaist the said order. further user has modified the payment term to 0002 at vendor master as on 16.08.2011 and received the balance material.
    Currently while MIRO system is considering the payment term 0001 for both receipt as the same was at the time of creation of order but i want that the system should pick 0001 for 1st receipt and 0002 for second receipt.
    Please advice

    hi,
    1. There is nothing period based Payment term.You can go to transaction code "OBB8". you will find the details of configuration regarding Payment term.
    2. Payment terms maintained at Vendor master and while doing transaction ( SA/P.O ) system will propose the Payment term, on creation of P.O/S.A, system automatically don't change the payment term.
    On confirmation from vendor  you need to change it in P.O  and then proceed for creating MIRO.
    If version Management is active upon changing Payment term  in P.O , may need to complete  the version also.
    or else change directly at MIRO under Payment tab.
    Thanks & Regards
    Sudhansu

  • Payment terms based on working days

    Dear colleagues
    I would like to base payment terms on, for example, the last working day of the month, or the last working day of the trimester instead of working with fixed days.
    Would someone know if this is possible and if so, how can that be arranged?
    Thanks and regards,
    Marlies

    Dear,
    as far as I know, this is not possible into the SAP Standard System.
    I'm sorry about it.
    Mauri

  • Payment Term based on weekday

    Hi all,
    Please let me know, if payment term like  - The 2nd Friday of 1st. Month  is possible in SAP?
    If yes, let me know the steps please.
    Regards,
    Sridevi

    Hi,
    Pls. let me know if it is possible or not?
    Regards,
    Sridevi

  • Payment terms on delivery date

    Hi Gurus,
    1. Can we create payment terms based on delivery date instead of posting date or document date?
    My client has requirement to create payment term based on delivery date.
    2. Can we have assign payment terms on billing level?
    Please guide me.
    Regards
    Rakesh

    Hello Rakesh;
    This is a rule not common, not used. In the standard way we can't.
    The function of t-code OBB8 and OBB9 is very limited. Please, read note 112385
    As you can see, the baseline date of billing posted from SD to FI, is always the billing date.                                        
    Also, if you matained a terms of payment at billing item level, the system create a split
    Best regards
    Ruiy Castro

  • 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

Maybe you are looking for

  • Free finish goods for certain level of sales order amount.

    Hi Gurus, I want to add some free finish goods if the sales order amount is greather than a certain amount for OR sales order type For example : if the sales order net amount is greather than 1000 - I want to automaticaly add a FG - 347234FG . Is it

  • Error Dynpro_not_found

    using this code to call me22 but getting error dynpro_not_found FORM transaction_bdc .   DATA :   wf_number type i,   wf_trans type i,   v_cnt(2) TYPE n,   v_bst(2) TYPE n,   v_bn TYPE i,   v_bstpo(25),   v_ebtyp(25),   v_menge(25),   v_eeind(25),  

  • Folder Redirection policy is not applied to a user, when the server target is changed, but works after resetting the windows profile.

    Folder Redirection policy is not applied to a user, when the server target is changed.  After server target is changed via group policy, when user login  (roaming profile)first time, the the new server target has not been applied, instead it's pointi

  • Printing in unix,  problem displaying printers

    Hello, i'm using the java awt based printing, this works fine on Windows. On the other hand when using this on UNIX only gives me the possibility to choose lp as a printer. When i choose this, its been printed to the default printer. How can i make h

  • Dramatic drop in file size - please help?

    My CR2 files of about 25MB are being reduced to about 1MB jpg's after going through ACR and PS CC and being saved. Sometimes I crop and sometimes I don't, this is not the reason.  Also I choose the save as max file size always. Where am I going wrong