Add 45 or 90 days to an input date, depending on date

I'm a newbie - I want to add 45 days to an input date if it is before 01/01/2012 and add 90 days to the input date if it is after 01/01/12. So far, i have the following:
if (LEOPDate100B_RequestedBOE.rawValue ne null) then
Num2Date(Date2Num(LEOPDate100B_RequestedBOE.formattedValue,"MMM D, YYYY")+ 90,"MMM D, YYYY")
else
     null
endif
I'm not sure how to add the qualifier date. I've looked in all the forums i can find and can't find any help. Any assistance is greatly appreciated!

Hi Paul,
I modified code TextField1.rawValue = TextField1.rawValue + 365
to TextField1.rawValue = TextField1.rawValue + 365 * 24 * 60 * 60
I enter in EffectDate 08/30/2010 and get in ExpDate field wrong date like 4/19/8353. How to fix it? How to make ExpDate field empty if EffecDate is empty?
Thanks.

Similar Messages

  • FM which gives the date if we add 'x' number of days to the current date.

    Hi all,
    can you plz tell me the FM which will give me the exact date if i add some ' X ' number of days to the present date.
    in detail -->my inputs would be    1)DATE
                                                    2)no of days
    i need--> the exact date which comes after those days get added to the given date.
    PLZ HELP ASAP.
    Rgds,
    REDDY.

    Hi,
    You can use FM RP_CALC_DATE_IN_INTERVAL.
    data: wa_date  like sy-datum.
    *Add 21 days to current date.
    call function 'RP_CALC_DATE_IN_INTERVAL'
             exporting
                  date      = sy-datum
                  days      = 21
                  months    = 0
                  signum    = '+'
                  years     = 0
             importing
                  calc_date = wa_date.
    write: / wa_date.
    Regards,
    Ferry Lianto

  • Function Module to get days by putting input dates

    Hi All,
    could anybody tell me which Function Module can be used to get the number of days by giving two dates.
    for ex: suppose if i will substract 04.01.2008 - 03.01.2008 = 1 day.
    Please reply ASAP.
    Thanks,
    Madhu

    Hello,
    Check this sample:
    DATA: G_F_DIFF TYPE I.
    CLEAR G_F_DIFF.
    CALL FUNCTION 'DAYS_BETWEEN_TWO_DATES'
    EXPORTING
    I_DATUM_BIS = ENDATE
    I_DATUM_VON = STARTDATE
    IMPORTING
    E_TAGE = G_F_DIFF
    EXCEPTIONS
    DAYS_METHOD_NOT_DEFINED = 1
    OTHERS = 2.
    Cheers,
    Vasanth
    Edited by: Vasanth M on Jan 25, 2008 10:41 PM

  • Select non-consecutive days in Calendar input

    Hi Experts,
    I designed a form in WD and have a requirement, where I need to show up a calendar display of months in which an user should be allowed to select only non-consecutive days from it.
    Also I need to get all those selected days at run-time.
    Is it possible?? I know that calendar is a standard input of date UI element and totally confused as how I can restrict an user to select only non-consecutive days.
    Please clarify and help me in this.
    BR,
    RAM.

    Hi RAM,
    Unfortunately, with the date navigator ui element, we cannot select multiple dates except the date ranges.
    Work around solution:
    I suggest you to go for row repeater, in which you can place date navigator ui element and user can add multiple rows: also you he can input dates by selecting single dates.
    Here you can also restrict the user to select only non-consecutive dates.
    Pls refer the wiki for an example:
    steps to create row repeater ui element - Web Dynpro ABAP - SCN Wiki
    Try to convince the user with this or you can also for a table with single row.
    Hope this helps you.
    Regards,
    Rama

  • Add minutes to a day

    Hi,
    I have a requirement to add minutes to a day.
    For e.g the input parameters will be date(10/10/2006) + time(10:22:36) + mins(480) and the output has to be date + time.
    I tried to use the function module "CATT_ADD_TO_TIME"  ...but seems the end time is not calculated correctly.
    Thanks again,
    Rajib

    Hi Rajib Das,
                    Please see the following code
    DATA : MYDT LIKE SY-DATUM.
    CALL FUNCTION 'CATT_ADD_TO_TIME'
      EXPORTING
        idate         =  vbdkl-wadat_ist " 20060731
        itime         =  v_transittime  "     240000 (having 5 spaces before)
        stdaz         =  0
    IMPORTING
       EDATE         = MYDT
    Iam getting error as
    <b>
    The call to the function module "CATT_ADD_TO_TIME" is incorrect:                                                                               
    The function module interface allows you to specify only fields                 
    of a particular type under "ITIME". The field "'24:00:00'" specified here       
    has a different field type.                                                     </b>                                                                               
    Can you please rectify my error
                                                                                    Ranjith

  • Need to add number of days to users end date.

    Hi,
    I have a code where we are adding number of days(30) to current date and then updating user's end date in IDM DB.
    Now we have a requirement where we need to add number of days(30) to existing end date of user instead of adding to current date.
    *public String incrementDate(int daysToAdd)
         // Start date
         log.info("NotifyLastDayOfService::incrementDate(): Enter");
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd 00:00:00");
         Calendar c = Calendar.getInstance();
         c.add(Calendar.DATE, daysToAdd); // number of days to add
         String newDate = sdf.format(c.getTime());
         log.info("NotifyLastDayOfService::incrementDate(): Exit");
         return newDate;
    Have any body implemented this scenario?
    Please suggest.
    Thanks,
    Kalpana.

    Hi Nayan,
    Here is the code:
    System.out.println("----inside increment date method-----");     
              HashMap<String, String> hm = new HashMap<String, String>();
              HashMap<String,Date> modifyMap=new HashMap<String,Date>();
              SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd 00:00:00");
              tcResultSet usrList = null;
         String enddate = null;
         hm.put("Users.Key",usrKey );
         try {
         usrList = this.usrIntf.findUsers(hm);
         usrList.goToRow(0);
         Date endDate =usrList.getDate("Users.End Date");
         System.out.println("-----users end date-----"+endDate);
         String userEndDate=sdf.format(endDate);
         System.out.println("-----String value of users end date-----"+userEndDate);
         Calendar cal=null;
         System.out.println("-----Calender date-----"+cal);
         cal.setTime(endDate);
         System.out.println("-----end date-----"+endDate);
    cal.add(Calendar.DATE, Integer.parseInt(daysToAdd)); // number of days to add
    Date newEnddate = cal.getTime();
    System.out.println("-----new end date-----"+newEnddate);
    //usrList.setEndDate(Edate);
    modifyMap.put(userEndDate,newEnddate);
    usrIntf.updateUser(usrList, modifyMap);
    System.out.println("updated user's end date in OIM DB");
    //System.out.println("-----updated user's end date in OIM DB-----");
    logger.info("NotifyLastDayOfService::incrementDate(): Exit");
         System.out.println("-----new date-----");
         } catch (tcAPIException e) {
         logger.error("Error in finding end date for user" + e);
         } catch (tcColumnNotFoundException e) {
         logger.error("Error in finding end date for user" + e);
    In th log file, I can see that the code is not executing this line:
    cal.setTime(endDate);
    end date is of type Date and stores users end date from DB. Please help in resolving this issue.
    Thakns,
    Kalpana.

  • Add number of business days to date field

    Hello, I noticed that there is not much discussion in the forum surrounding u201Cbusiness daysu201D so I hope this post/discussion/solution contributes to the content of this forum.
    I am using the following 3 formulas to try to Add number of business days (based upon a table field) to a specified date:
    1. Variable name = SetVar
    //Set Variable for Add Business Days:
    DateVar Array Holidays;
    DateVar Target:= CDate({TMS_MOVEMENT_EVT.EVT_DATE}); // Put your field name in here
    NumberVar Add:=  {DTCI_DOD_TRANS.TRANS}; // put the number of days here to add (a positive number)
    NumberVar Added := (0);
    2. Variable name = AddBizDays
    //Adding Business Days:
    EvaluateAfter({@SetVar});
    WHILE Added < Add
    Do (target := target +1;
        if dayofweek (target) in 2 to 6 and not (target in holidays)
            then Added:=Added+1
            else Added:=Added);
    Target
    3. Variable name = HOLIDAYS
    //Holiday Array Formula for the report Header:
    BeforeReadingRecords;
    DateVar Array Holidays := [
    Date (2003,12,25),   // you can put in as many lines for holidays as you want. 
    Date (2003,12,31)
    0
    I am successfully getting my data needed to make the necessary calculations and variable assignmentsu2026 I believe that my ISSUE is that I am not sure where to place these formulas into my report so they assign the variables and execute properly when previewing my report. I am curious if that is my issue, and if so, can someone provide me direction on where to put each of these formulas in my report.
    Currently, when I try to preview the report, I get the following Crystal Reports Error:  -u201CA number, currency amount, Boolean, date, time, date-time, or string is expected here.u201D
    Then Crystal automatically opens the AddBizDays formula and highlights the word added, see below RE: u201CWHILE Addedu201D
    For reference, my report has 3 groups, and I am displaying all of my output information (and locating my formulas) in the group footer #3 report section. I have moved them around to other report sections/groups/placements, but to no success.
    Thanks so much.
    Best, Matt

    I worked this out... FYI - for the benefit of all forum users:
    ADDING BUSINESS DAYS TO A CERTAIN DATE (excluding weekends and holidays)
    1. Variable name = AddBizDays
    //Adding Business Days:
    WhileReadingRecords;
    DateVar Array Holidays;
    DateVar Target:= CDate(); // Put your field name in here
    NumberVar Add:=  ; // put the number of days here to add (a positive number)
    NumberVar Added := (0);
    WHILE Added < Add
    Do (target := target +1;
        if dayofweek (target) in 2 to 6 and not (target in holidays)
            then Added:=Added+1
            else Added:=Added);
    Target
    2. Variable name = HOLIDAYS
    //Holiday Array Formula for the report Header:
    BeforeReadingRecords;
    DateVar Array Holidays := [
    Date (2003,12,25), // you can put in as many lines for holidays as you want.
    Date (2003,12,31)
    0
    ...too bad i don't get forum points for sharing this solution.
    Special thanks to KenHamady.com -- for sharing this solution.
    Sincerely,
    Matt

  • Last day of each month in a year based on a Input date?

    Hi all,
    I have a request from a customer who wants to have a yearly report created in BEx Query Designer which starts in January up to December and they want to have a Month To Date (MDT) and Year to Date (YTD) calculation of a key figure. This report will only show one year at the time based on the date the user give as input at the Variable Screen.
    This key figure should be calculated by using the last date of each month for input when performing the MTD and YTD calculation and summarizations.
    Example:
    January: 31.01.2008  Key Figure = 1000. MTD = 1000 and YTD = 1000
    February: 29.02.2008  Key Figure = 2500. MTD = (2500-1000) 1500 and YTD = 2500
    March: 31.03.2008  Key Figure = 6000. MTD =(6000-2500)=3500 and YTD = 6000
    Etcu2026.
    This means that I have to have a lot of hidden Key figures which gets restricted on the different month end dates and formulas to calculate the different MTD and YTD results for the months as the year progresses.
    The way I have solved it now is that I have a Customer Exit which gives me the Last day of last year (Exp: 31.12.2007) based on input date and use a Offset on the last day of last year date to get the different last dates of each month.
    Since we have a leap year (one extra day in February) this year, the offset to calculate the end month dates will be different for 2007 and next year (2009). This solution is not very flexible, and it will not give the correct MTD and YTD if the customer wants to go back to 2007 and off course next year (2009).
    One solution is to create 12 Customer Exits that gives me the different month end dates (January-December), and also takes in account leap year for February for the different years. These Exits will be based on the Input date the Customers put in at the variable screen.
    I would rather want to avoid making 12 new customer exits and want your advice and expertise to find out if this is possible in any other way (maybe with only 1 customer exit) to get the last date of each month based on an input date.
    Thanks for all your advices on beforehand.
    Regards
    Oddmar Lid

    Hi,
    Thanks for you replay and documentation, but it doesn't give me excatly the functionality I'm after. The only MTD calculation code the document provides is the calculation of the following functionality:
    "Month to Date (MTD) u2013 From the 1st of month to u201CKey Dateu201D - for current year." This doesn't give the the functionality I want, which is to retrieve a given vaule for a Key Figure for the last dates of the months in a year to calculate MTD and YTD.
    This way I have created the query is to have multiple hidden Key Figures that calculates the MTD and YTD.
    In Columns in Query Designer it will look something like this:
    Selection: MTD January--> Date = 31.01.2008, Key Figure (Always Show)
    Selection: YTD January --> Date= 31.01.2008, Key Figure (Always Show)
    Selection: MTD February --> Date= 29.02.2008, Key Figure (Always Hide)
    Formula: MTD February --> MTD February - MTD January (Always Show)
    Selection YTD February --> Date = 29.02.2008, Key Figure (Always Show)
    And so on....
    This is off course a simplified version, but it shows the core of the solution. What I want to achive here is that the dates used to get the Key Figures (last date of a month) is calculated as flexible as possible, so that the users can go back and forth in time without worrying about the leap year problem and so on. I have now used an offset from the last date of last year and this is good for all the normal years, but when it is a leap year the query will use wrong dates to get the key figure vaule for the last date of each month.
    Any ideas on how to achieve this without creating 12 different Customer Exit variables (one for each end date of each month)?
    Thanks
    Regards
    Oddmar Lid

  • How to add get Day value in a Date object?

    Hi,
    I am writing a sql statement that has two date values. One I am getting it from the database. The format in the database is MM/DD/YYYY. My first question is how do I convert the format into the java date format, YYYY-MM-DD. The second question is I need to find out what the day is and add 1 to it. How do I get Day value in a Date object?
    Thanks.

    Look at "SimpleDateFormat" and "parse" in the archives.

  • Add one day to the current date

    Hi all,
    A stupid question...
    How can I add one day to the current date in a select. I want something similar to add one month to current date, but with days:
    something like:
    select TO_CHAR (ADD_MONTHS (SYSDATE, -1), 'DD-MM-YYYY')
    from dual
    Thanks

    select sysdate+1 "add one day" from dual;

  • How to add 15 days to the current date

    Hi everyone,
    I have the following doubt.
    I stored the current system date in to a variable.Now I want to store the date which is 15 days after the current date in to a new variable.
    ie current date:1-aug-09
    later date:1-aug-09 + 15 days ie 16-aug-09.
    Plz help me in solving this problem.
    Thanks & Regards,
    srinivas

    jaligamasrinivas wrote:
    I used String variable to store the current Date.
    Now in new string variable i want to store the date after 15 days from current dateSee reply #2. String is not the right type, to be doing date arithmetic, just like it wouldn't be the right type to do numeric arithmetic. You wouldn't store integer values as strings and ask how to add them up, would you?

  • How to Add 15 Days to the current Date in eCATT

    Hello eCATT Guru's,
    How to add 15 days to the current date in eCATT.
    I have changed the Date format to mm/dd/yyyy.
    now i want to add 15 days to the sy-datum.
    How to do that.do any one know?
    Thanks in Advance,
    Raj

    Check out this link -
    http://help.sap.com/saphelp_46c/helpdata/en/d7/e21a50408e11d1896b0000e8322d00/frameset.htm
    It gives details about DATE variables in CATT. Hope this will help you out.
    ashish
    Reward points if you find this helpful.
    Message was edited by: Ashish Gundawar

  • EPM add-in problem with input data,retrieve dimension or members

    Hello everyone,
    I am trying to use data write back (input data) function with EPM add-in in Dashboards. I managed successfully bringing results of an EPM report. I've created a local connection at EPM, and created a  connection at data manager for"Planning and consolidation, version for SAP netweaver platform". And i could get the values via refreshing connection at preview mode, so far so good. Now i want to add a connection which will serve as data write back function to a specific BPC cube. The problem is,  I can retrieve data source name and environment name. But when i click to retrieve model names, it retrieves empty results. The problem exist in, "retrieve dimension" and"retrieve dimension members" functionalities too. I realized that i could retrieve model names for only one specific environment, but even i could get these, when i try to retrieve "cell definition" i am facing an error. You can see related screenshots below.
    I am using Dashboards 4.1 SP2,  EPM connector 10 SP 17.  I created two connections as local and business planning and consolidation for netweaver. I selected same environment and model name for these connections. Neither did work.  Any ideas?
    Update: The reason i could see some model names and some others not  was i didn't specified the model as data source at: 
    Enable BPC Model as reporting data source
               Logon to BPC 10.0 NW web client -> Planning and Consolidation Administration -> Dimensions and Models -> Models -> Select the Model -> Edit -> Features Used with the Model -> mark check box 'Use as Source of Data' -> Save.
    I will update here if i could find a solution for the other issue. (First screenshot).
    Update_2: The problem was occuring because i wasn't connecting to transient cube, created automatically by applying the step at Update_1. While creating a local connection, you shouldn't connect to the original cube, but to the transient one instead to use input data functionality.
    Regards,
    Onur
    Message was edited by: Onur Göktaş

    HI,
    I believe it is definitely the support pack. I posted an issue on this forum and I saw your post.  Your issue is very similar to mine. I saw Andy's reply to you about the SP 18 and looked into it.  Thanks Andy.  SP 18 resolved my issue.  See my post.  Kathy

  • Add-On expiry; 30 days or next billing day (rolling 1-month data only contract).

    I'm on a rolling monthly data-only sim/contract. I was running low on my data allowance for this month, so I've added a 10Gb add-on. At each point during the buying process it stated this add-on would expire at my next billing date (about 5 days time) - i.e.even if not used up. However after buying it, the 'thank you' notification and also the subsequent details in 'my account' claim it expires in 30 days (and of course the system is fully aware that my billing day is sooner). It can't be both, and I've found conflicting information when searching for the answer too. I would use the add-on very differently if I had 30 days instead of 5 to use it! Can anyone tell me for sure which it actually is?  CheersKev

    Well its gone past the date my rolling months allowance usually begins on. The good news is that (on this occasion anyway) the addon didn't expire as some parts of the system suggested. Thats assuming by 'billing date' they mean the date of the bill, not the date they subsequently collect payment. Oddly though, the addon is now showing (in 'my account') as 'data left in your plan' rather than as an addon to the plan. And my plan's allowance isn't showing up for this month yet, as if buying the addon has somehow prevented the monthly data contract rolling on (I definately bought an 'add-on', not an 'instead-off'!). So I'm hoping this month's plan is just being queued until the existing addon expires. Which would be completely sensible, but theres nothing (that I can see) to indicate if its the case; currently it looks like there will be nothing left once the small addon runs out. I guess I'll (again) just have to wait to see what actually happens in practice. I'm new to this and so its inevitably a learning curve, but I can't help feel the 'my account' system could be a bit more illuminating :-/ CheersKev

  • FM WHICH adds leading zeroes to a non numeric input

    hi i need the<b> fm name</b> which will add leading zeroes to anu non numeric input
    say
    input is <b>ABC</b>
    SO MY OUTPUT SHOULD BE
    <b>000000000000ABC</b>
    URGENT
    NEED A FUNCTIOJN MODULE NAME

    i think no fn module is there for non numeric values to add zero do like this..
    data : text(20) value 'ABC',
           len type i.
    compute len = strlen( text ).
    len = 20 - len.
    do len times.
    concatenate '0' text into text.
    enddo.
    write : / text.
    regards
    shiba dutta

Maybe you are looking for