Function Module to Calculate Due Date from Payment Terms?

I'm writing an aged debtor report as the SAP standard one isn't quite right for our requirements.  Is there a function module that will calculate the payment due date if I give it the payment terms and the base line date?
I did a search in SE37 but couldn't see one which fitted my requirements (I was searching on CALCDUEDATE and variantions of).
Any suggestions welcome, thanks.
Gill

Hi,
Use the FM FI_TERMS_OF_PAYMENT_PROPOSE for calculating the Payment due date
call function 'FI_TERMS_OF_PAYMENT_PROPOSE'
  exporting
    i_bldat         = gv_bldat
    i_budat         = gv_budat
    i_cpudt         = sy-datum
    i_zfbdt         = gv_zfbdt
    i_zterm         = gv_terms_paym
    i_bukrs         = gv_comp_code
  importing
    e_zbd1t         = gv_zbd1t
    e_zbd1p         = gv_zbd1p
    e_zbd2t         = gv_zbd2t
    e_zbd3t         = gv_zbd3t.
Regards,
Dwaraka.S

Similar Messages

  • Function module to calculate due date of FI document

    Hi All
    I need a function module to calculate the due date of FI document considering BSId Zterm ( Payment terms ) Document date , Basline date .
    Regards,
    chitra

    call function 'FI_TERMS_OF_PAYMENT_PROPOSE'
      exporting
        i_bldat         = gv_bldat
        i_budat         = gv_budat
        i_cpudt         = sy-datum
        i_zfbdt         = gv_zfbdt
        i_zterm         = gv_terms_paym
        i_bukrs         = gv_comp_code
      importing
        e_zbd1t         = gv_zbd1t
        e_zbd2t         = gv_zbd2t
        e_zbd3t         = gv_zbd3t.
    faede-shkzg = 'H'.
      faede-koart = 'K'.
      faede-zfbdt = gv_zfbdt.
      faede-zbd1t = gv_zbd1t.
      faede-zbd2t = gv_zbd2t.
      faede-zbd3t = gv_zbd3t.
      faede-bldat = gv_bldat.
      call function 'DETERMINE_DUE_DATE'
        exporting
          i_faede = faede
        importing
          e_faede = faede.
    *    if sy-subrc eq 0.
      duedate = faede-netdt. <<<<<< ------

  • Function Module to determine due date in BI form Payment Terms

    Hi to all,
    Can any one tell me what is the Function Module to determine due date in BI, form ZTERM ( Payment Terms ).
    I am working on Accounts Receivable (AR). and need to calculate Due date.
    I shall be thankful to you for this.
    Regards
    Pavneet Rana

    Thanks For reply,
    I have to do aging for Receivables and report format is like that.
                    1 - 10      11 - 30        31 - 60         61 - 90       > 90     Notoverdue   Overdue
    North
    East
    south
    West
    According to client requirement in first 5 bucket i need to display Receivables according to aging
    and for  Notoverdue   Overdue  bucket condition is like that.
    if sy-datum - vbrk-fkdat  > 0NETDUEDATE then it is under Overdue bucket
    if sy-datum - vbrk-fkdat  < 0NETDUEDATE then it is under notOverdue bucket
    there i have created 2 DSO , one for sales which have North,East,south,West and vbrk-fkdat using 2LIS_13_VDHDR,2LIS_13_VDITM
    and other  DSO which will have 0NETDUEDATE from 0FI_AR_4 .
    for Notoverdue   Overdue how i will calculate aging at query level.
    also is 0p_keydt is variable for 0CALDAY which will take user entery and should i applied offcet, to get firts 5 bucket Receivables data for aging.
    i shall be thankful to you for this.
    Regards
    Pavneet Rana

  • Function module to get the dates from the year and the period

    Is there a function Module to get the dates from the year and the period

    Check with :
    To get last day of period use .
    LAST_DAY_IN_PERIOD_GET.
    To get last of month Use :
    RE_LAST_DAY_OF_MONTH
    HRVE_LAST_DAY_OF_MONTH
    LAST_DAY_OF_MONTHS
    ISB_PREVIOUS_PERIOD_DATE_GET
    Thanks
    Seshu

  • ABAP Function Module Example to move data from one Cube into Another

    Hi experts,
    Can any please help out in this ..?
    A Simple ABAP Function Module Example to move data from one Cube into Another Cube
    (How do i send the data from one client to another client using Function moduel).
    Thanks
    -Upen.
    Moderator message: too vague, help not possible, please describe problems in all technical detail when posting again, BI related? ("cube"), also search for information before asking.
    Edited by: Thomas Zloch on Oct 29, 2010 1:19 PM

    This is the start routine to duplicate records in two currencies.
    DATA: datew   TYPE /bi0/oidateto,
          datew2  TYPE rsgeneral-chavl,
          fweek   TYPE rsgeneral-chavl,
          prodhier TYPE /bi0/oiprod_hier,
          market  TYPE /bic/oima_seg,
          segment TYPE /bic/oizsegment.
    DATA: BEGIN OF S_DATA_PACK OCCURS 0.
            INCLUDE STRUCTURE /BIC/CS8ZSDREV.
    DATA: END OF S_DATA_PACK.
    S_DATA_PACK[] = DATA_PACKAGE[].
      REFRESH DATA_PACKAGE.
      LOOP AT S_DATA_PACK.
        move-corresponding s_data_pack to DATA_PACKAGE.
        if DATA_PACKAGE-loc_currcy = 'EUR'.
          DATA_PACKAGE-netval_inv = DATA_PACKAGE-/bic/zsdvalgrc.
          DATA_PACKAGE-CURRENCY = 'USD'.
          APPEND DATA_PACKAGE.
          DATA_PACKAGE-netval_inv = DATA_PACKAGE-/bic/zsdvalloc.
          DATA_PACKAGE-CURRENCY = 'EUR'.
          APPEND DATA_PACKAGE.
        else.
          DATA_PACKAGE-netval_inv = DATA_PACKAGE-/bic/zsdvalgrc.
          DATA_PACKAGE-CURRENCY = 'USD'.
          APPEND DATA_PACKAGE.
        endif.
      ENDLOOP.
    This is to load Quantity field
    RESULT = COMM_STRUCTURE-BILL_QTY.
    This is to load Value field
    RESULT = COMM_STRUCTURE-NETVAL_INV.
    UNIT = COMM_STRUCTURE-currency.

  • Function module for access OM Data from infotype 1001

    We had a function module for accessing OM data viz. Infotype 1001. Could you let me know.
    Advanced thanks,
    Dasaradh kosana

    Hi Dasaradh,
          Do you want the fm which fetches the data from HRP1001 , if this is the case you can use this FM RH_READ_INFTY_1001.
    Reward Points if it is helpful
    Regards,
    Kiran I

  • Calendar date & net due date (FI) PAYMENT TERMS - OBB8 Vendor Invoice

    I read many posts on SDN forum about the topic.
    Anyway, I didn't find a simple solution for that.
    My aim is is to calculate a net due date based on working days.
    So, If I've got a 30 days document days payment term  ("Deafult for baseline date" = Document date ; Additional Months = '2'), a Vendor Invoice (document date = 12.05.2011), by standard net due date will be 12.06.2011.
    FROM 12.05.2011 to 12.06.2011 =
    32 CALENDAR  DAYS         
    22 WORKDAYS (32 minus  10 holyday - 2 weekends)
    WORKDAYS PAYMENT TERMS  Within 30 workdays Due net
    Vendor Invoice  document date = 12.05.2011
    plus   30 workdays   =  DUE DATE  22.06.2011  (and not 12.06.2011)
    Can I obtain that with a standard functionality?
    Edited by: Roberto Buono on Jul 1, 2011 2:29 PM

    Hi,
    Sadly this is not available as standard.  As per your need the Net due date should be worked out by using a factory calendar; but what this does is it delinks the direct correlation between the number of days in the payment terms with the difference between the due date and baseline date.  I hope you are aware that Net Due date is not stored but is a variable calculated during run time in reports.
    There are four things you can try:
    1.  The simplest to do is: As the number of weekends are fixed; and if the intention is to give a 30 working day term, then add on the number of weekends and make the payment term effectively for say 40 days.  There will be marginal variations over what you want. Best part here is that config remains standard.
    2. All the receivable reports will use a function module (usually the same one) to calculate the net due date; enhance the FM and make it consider a factory calendar for calculating due date.
    3. Enhance the accounting interface, and in runtime; modify the days that are coming from the payment term; based on a factory calendar, and update the accounting document. This delinks the days mentioned in the payment term and the accounting document and may not be palatable.
    4. Enhance the accounting interface, and in runtime; calculate the due date and update the baseline date with it and make the payment term as "Immediate" yielding the desired due date. Not very elegant.  Alternatively add to the baseline date days equivalent to holidays and weekends and keep the days from payment terms constant and update the accounting document. Better...
    All four options have somes pros and cons.  I do not see any other means of acheiving what you want.  Maybe you could restrict users to a custom receivables/due date/ageing report which delivers what you want and lock the standard reports.
    Cheers..

  • Function module to get due date by terms of payment

    Hi,
    Is there any function module which can give me the due date when I pass
    1) Terms of payment
    2) Baseline date
    Read the terms of payment and use the properties of the terms of payment ( Like Fixed date )  to get to the due date.
    Thanks in advance.,
    Raj

    Hi,
    I had the same problem, as J_1A_SD_CI_DUEDATE_GET does not work when FI document is not created yet.
    This is the way I used and it works:
        CALL FUNCTION 'FI_TERMS_OF_PAYMENT_PROPOSE'
          EXPORTING
            i_bldat               = sy-datum        "if baseline is filled, value here is ignored
            i_budat               = sy-datum
            i_cpudt               = sy-datum
            i_zfbdt               = vbdkr-zfbdt    "baseline due date
            i_zterm               = vbdkr-zterm   "payment terms
          IMPORTING
            e_zbd1t               = lv_zbd1t
            e_zbd2t               = lv_zbd2t
            e_zbd3t               = lv_zbd3t
            e_zfbdt               = lv_zfbdt
          EXCEPTIONS
            terms_not_found       = 1
            OTHERS                = 2.
        IF sy-subrc <> 0.
        ELSE.
          CALL FUNCTION 'J_1B_FI_NETDUE'
               EXPORTING
                    zfbdt   = lv_zfbdt
                    zbd1t   = lv_zbd1t
                    zbd2t   = lv_zbd2t
                    zbd3t   = lv_zbd3t
               IMPORTING
                    duedate = z_duedate.
        ENDIF.
    Hope it helps.
    Regards,
    Fernando

  • Function module to get order data from delivery

    hi ,
    is there any function module to which i can pass the delivery number and get the order number (s) and other data .
    basically i want the order currency.
    pls help.
    <removed by moderator>
    Edited by: Mike Pokraka on Aug 21, 2008 9:44 AM

    Hi Surendra,
    If your requirement is just to retreive the Order number for a given delivery then you can go with following:
    Just go to LIPS table, there you can get the Order Number and ITEM from VGBEL and VGPOS fields for given Delivery Number VBELN.
    You can also do the same by using VBFA table.
    Also have a look to the following thread:
    Re: Getting sales order number against Delivery Number
    Hope this will help.
    Regards,
    Nitin.

  • Is there any function module to get the data from st06?

    Hi,
    I'm new to this forum.
    I would like to know if there is a way (maybe some function modules) to collect information like system architecture, and databases as displayed in transaction st06?
    I would like to call it from external program in order to view part of the data available in st06.
    Thanks,
    Erez Gordon.

    have a look at function group SMON.
    Not sure if these are remote enabled, otherwise create a wrapper function module (RFC).
    Edited by: Micky Oestreich on Dec 11, 2008 9:37 AM

  • Any function module to calculate delivery date?

    Hello all,
    I think BAPI_PO_CREATE doesn't have ability to determine the delivery date by itself and needs delivery date be fed to it instead. I have a requirement to create a STO with a feed from a 3rd party system that doesn't specify the delivery date at the receiving plant. Could anyone help me identify a function module that returns the delivery date?
    Thanks,
    Rohit

    Hi Rohit,
    It is the same function module that is also called by the form MEPO_DEFAULT_DELIVERY_DATE. I thought that it would be better to call the whole form, since it performs more checks than just calling MD_CHECK_DELIVERY_DATE.
    MD_CHECK_DELIVERY_DATE is called with E_DISPODATUM = sy-datlo, i.e. the local date of the user.
    BR
    Raf

  • FUnction Module to Calculate future date after 'x' years

    Hi Gurus,
    Can anyone tell me the Standard Function Module which will take today's date as i/p & return the date after 10 years.
    e.g say input date is 18.05.2010 & input year is 10.
                 output = 17.05.2020
    Regards,
    Rohit.

    why would it be in 10 years 17.05.2010 and not 18.05.2010 ??
    which logic do you want to use to calculate the 10 years after ?
    kind regards
    arthur

  • Fixed day limit to calculate Due date for payments

    Dear Gurus,
    My Management wants to regulate its cash flows and want to use terms of payment in such a way that customer invoicing should be due on whole month evenly
    Proposed payment plan is that
    if invoices are created with 01 to 15th of the month, term of payment should be 40 days due net
    if invoices are created with 16 to 25th of the month, term of payment should be 30 days due net
    if invoices are created with 26 to 30th of the month, term of payment should be 25 days due net
    so according to above scenario, plan should be
    Invoice date     Payment terms     payment due date
    9/1/2011     40     10/11/2011
    9/15/2011     40     10/25/2011
    9/16/2011     30     10/16/2011
    9/25/2011     30     10/25/2011
    9/26/2011     25     10/21/2011
    9/30/2011     25     10/25/2011
    Requirement,
    Please advice how to cater it through OBB8 or should we have to look towards ABAP solution
    BR
    Sajida

    Hi
    Create the payment terms like
    1)
    Payment Terms           Z01
    Day Limet                    15
    In Payment Terms TAB
    Term      Percentage            No,of.days
    1             0.00                          40
    2)
    Payment Terms           Z01
    Day Limet                    25
    In Payment Terms TAB
    Term      Percentage            No,of.days
    1             0.00                          30
    3)
    Payment Terms           Z01
    Day Limet                    30
    In Payment Terms TAB
    Term      Percentage            No,of.days
    1             0.00                          25
    This will resolve your issue,we can create multiple levels with same payment term with different day limit
    Thanks
    Kameshwar Rao

  • Function module to get posting date from posting year and posting period

    Hi all,
    I need a function module which will return posting date when posting period and fiscal year is passed to it..
    Thanks and regards,
    Puja.

    Hi puja
    try this FM
    this will solve ur problem
    G_POSTING_DATE_OF_PERIOD_GET
    G_POSTING_DATE_OF_YEAR_GET
    FCJ_CHECK_POSTING_DATE
    Cheers
    Snehi Chouhan

Maybe you are looking for