Number of days.

BKPF-BUDAT + [BSEG-ZBD1T u2013 day of today = days in arrears (invoice was due)
above logic how i will put in my sap script using subroutine.
BKPF-BUDAT + [BSEG-ZBD1T u2013 day of today = days in arrears .
EX:  20.04.2009 + 30 - 15.05.2005 = 24
How can i show above logic in my script using subroutines.

HI,
/: PERFORM <form> IN PROGRAM <prog>
/: USING &BKPF-BUDAT&
/: USING &BSEG-ZBD1T &
/: CHANGING &W_DATE&
/: ENDPERFORM
FORM <form> TABLES IN_TAB STRUCTURE ITCSY
OUT_TAB STRUCTURE ITCSY.
DATA :
BUDAT TYPE SY-DATUM,
ZBD1T TYPE SY-DATUM,
W_DATE TYPE I.
READ TABLE IN_PAR WITH KEY u2018BKPF-BUDATu2019.
CHECK SY-SUBRC = 0.
BUDAT = IN_PAR-VALUE.
READ TABLE IN_PAR WITH KEY u2018BSEG-ZBD1T' .
CHECK SY-SUBRC = 0.
ZBD1T = IN_PAR-VALUE.
w_date =  BUDAT  +  ZBD1T - SY-DATUM.
READ TABLE IN_PAR WITH KEY u2018W_DATE' .
CHECK SY-SUBRC = 0.
MODIFY OUT_PAR INDEX SY-TABIX
ENDFORM.
For more help refer to this link..http://help.sap.com/saphelp_40b/helpdata/en/d1/803279454211d189710000e8322d00/content.htm

Similar Messages

  • Prorate absence Quota monthly based on number of days worked.

    Hi All,
    I need to Generate Absence Quota Prorated Monthly on the following criteria.
    4.5 days Per month.
    0 - 5 day = 0.5
    6-10 days = 1.5days
    11- 15 days = 2.5 days
    16-20days = 3 days
    21 - 25 = 3.5 days
    26 and above = 4.5 days
    54 Quota Yearly entitlement
    Negative Time evaluation -
    Time evaluation run at end of the month.
    If use Base Entilement as .15 / days and daily accural in Table T559L ,
    then without any PCR quota is generated but for 31 days it generates 4.65 days and people joining middle of the month is not as per the criteria mentioned above ie as per number of day worked.
    Can any one guide me with the steps and PCR's required if any.
    Thanks
    Sethu

    Hi Dinesh,
    Thanks for your response. I have already created and  assigned it in T559L. The below is the Rounding rule.
    Lower inc     Upper     Target     Rollout
    0.00000 X     0.75000      0.15000 X
    0.90000 X     1.50000      1.50000 X
    1.65000 X     2.25000      2.50000 X
    2.40000 X     3.00000      3.00000 X
    3.90000 X     4.65000      4.50000 X
    As per my earlier thread description when i make it daily accural and assign this rounding rule then for 31 days it calculates 4.65 days and for people joining middle or last week of the month it is not prorating as per the requirement,
    Thanks
    Sethu

  • "No limit" not displaying for number of days to sync email

    I recently purchased 16GB iPad w/ retina display (MD513LL) running IOS 6.0.1
    I successfully set up MS Exchange email account, but it does not give me the option of "no limit" under number of days to sync.
    I read in a few prior posts that deleting the email accounting and setting it up again works, but I tried that at least 6 times (it worked for my new iPhone 5, but not the iPad).

    I might be wrong but I don't think so because I set up the same account on my iPhone 5 which allowed for the "no limit" option.

  • How to get PO and vendor payment term number of days??

    Hi Experts,
    I want to have a) Purchase order payment term number of days as well as
    b) vendor Payment term number of days.
    For  a) For  Purchase order payment term number of days I am using table EKKO and taking ZBD1T field which is giving payment
               term number of days.
              Is it correct??
          b) vendor Payment term number of days I am using table LFB1 field Zterm to take payment term key not number of days.
               Based on this key i will go to table T052 and find corresponding number of days as told MM consultants .
               But this is not BW work. We need one single table from which we can take the field or enhance the current extractor
              with that field.
    So is there any other option for (b)
    and Whether steps for (a) is correct???
    Please confirm this.
    Thanks in Advance,
    Uday Shankar.

    For a) For Purchase order payment term number of days I am using table EKKO and taking ZBD1T field which is giving payment
    term number of days.
    Is it correct??
    Payment terms for purchasing doesn't come delivered as part of the R3/ECC tables and is usually is added as a custom field to EKKO and populated via a User Exit. That looks to be the instance in your case because the field that you show as being the payment terms begins with a Z (custom fields begin with Y or Z). That appears, without being able to actually validate in your R3/ECC environment, to be the correct field to use. You would have to validate, however, with the end customer or your MM function consultant to be 100% certain. If this is the correct one to use, you're going to have to enhance the 2LIS_02_HDR extractor by enhancing the extraction structure and creating the User Exit to read it from EKKO and populate into the DataSource.
    b) vendor Payment term number of days I am using table LFB1 field Zterm to take payment term key not number of days.
    Based on this key i will go to table T052 and find corresponding number of days as told MM consultants .
    But this is not BW work. We need one single table from which we can take the field or enhance the current extractor
    with that field.
    You can enhance the 2LIS_02_HDR extractor with the Vendor Payment Terms by joining the following in your User Exit:
    EKKO-LIFNR = LFB1-LIFNR
    EKKO-BUKRS = LFB1-BUKRS
    LFB1-ZTERM = T052-ZTERM
    This could either be done in a SELECT statement in the User Exit to do this equi join, or you could create a view on your R3/ECC environment and SELECT from that view.

  • How to calculate the number of days until your next birthday. Only using current month, day and birth month and day.

    I'm trying to calculate the number of days until your next birthday. Only using current month, day and birth month and day. I can get close but i'm way off. When i enter in the next day, the amount of days is supposed to be 364. This is where I am having problems. I know my code is way off. I just need some guidance please!
    Attachments:
    D5.7_1.vi ‏8 KB

    I just had a little fun with the Time Record...
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines
    Attachments:
    D5.7_1_BD.png ‏19 KB

  • Credit Check on Open Items number of day

    Hi
    We have setup automatic credit control and all seems to work fine,  we now want to expandon this to include open items. So we have created a static block on open items.
    The next step was to only include open itesm that have been open for longer than 60 day, sowe have entered 60 in the number of day box.  But order are stillgoing on block due to this statoc check.
    We have 0 set in the max open items box.
    Do we need to enter anything in this box.  We want the check to only include open items older than 60 days and the credit limit not to go over the main customers credit limit
    Thanks
    Barry

    Hi,
    Could you please share the answer?
    Tawsif Chogle

  • Number of days customer is due to be maped in dunning notice PLD

    Hi All,
    In the Dunning Reprt PLD I want to print the number of days the Customer is due to company as the number of days due varries from customer to customer please give a solution. So that i want to map number of days from dunning wizard report in to the PLD.
    Regards & thanks for advance,
    Mobin.

    Hi Mobin
    One question first, the due days per customer does not make sense as there may be more than one document owing. I assume then that the oldest invoice must be used to calculate? This would be true at header level, but it will not be possible to place a field here to calculate from the rows. It might be possible to include a BP master UDF field here at print time, but this field would have to be updated manually on the BP masters with a query to get the maximum due date of open invoices and calculate their days overdue.
    For row level each document could have a number of days overdue and this should be rather easy to achieve. Add an extra column as formula field and use the following formula:
    ToNumber(F_203)-ToNumber(F_089)
    F_203 is my own hidden field at row level with the formula Date() in it. F_089 is the value date or due date on the row. You can also add a hidden field and refer to the database field you want to use for this date.
    I am still of course assuming that the dunning report you are referring to is the SAP standard dunning letter(s). If you are referring to a custom report, please let me know.
    Kind regards
    Peter Juby

  • 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.

  • Is it possible to add number of days to date?

    I am working on a form where I need to add number of days to a date and come up with a date.
    Header 1
    Header 2
    example date:  March 1, 2013
    + 30
    = march 31 2013                
    1. is this possible? Header1/cell 1 is a date field. Header 2/cell 1 is a dropdown field (30, 60, 90,120, custom),.
    Header2 cell2 not sure what field to use date or text?
    thank you

    Never mind I figured it out. Thanks

  • How to calculate the number of days worked for a given period

    I need to calculate the number of days worked by contractor employees for a time period to be entered by a user. I am building a query on an infoset which contains employee information including contract start date and contract end date for the employee.
    Ideally I'd like the user to enter the time period which should be reported on e.g. 01.08.2009 to 31.08.2009
    The report should then identify all the contractor employees which were working during this period and to work out how many days they worked during this period. Obviously the contract start and end dates could fall both inside and outside the reporting period.
    Can this be done and if so, do you have any suggestions as to how to do it?
    Thanks.

    hi
    So here you will first have to load the master data table employee in one internal table and read this table with the variables entries.
    Your code in the reporting exit should look like that.
    bye
    data : wa_employee type /bi0/pemployee.
    When 'ZDATE1'
    if i_step = 2.
    LOOP AT i_t_var_range INTO loc_var_range WHERE vnam = 'ZDATE2'.
    clear l_s_range.
    clear wa_employee
    1- select the entries from table employees
    select single employee dateto datefrom
    from /bi0/pemployee
    into corresponding fields of wa_employee
    where dateto le loc_var_range-low
    and datefrom ge loc_var_range-high.
    if sy-subrc eq 0.
    CALL FUNCTION 'FIMA_DAYS_BETWEEN_TWO_DATES'
       EXPORTING
           i_datum_von  = wa_employee-datefrom
           i_kz_ult_von = 'X'
           i_datum_bis  = wa_employee-dateto
           i_kz_ult_bis = 'X'
           i_szbmeth    = '1'
       IMPORTING
          e_tage       = no_days.
           l_s_range-low  = no_days.
           l_s_range-sign = 'I'.
           l_s_range-opt  = 'EQ'.
          APPEND l_s_range TO e_t_range.
              ENDIF.
            ENDIF.
    endloop.
    ENDIF.
    Boujema

  • How to avoid crosstab - Show number of days according to groups

    Morning all,
    I think you all would agree with me that even having crosstab as a great tool in Crystal 2008, there are still quite allot of limitations to it.
    I have created a report using crosstab which shows number of days and jobs according to those days grouped by account number, product code, sales area. This report is working fine until my director asked me to further group those days according to sub categories of lenses.
    For example
    Crosstab shows
    Number of days - Day 1,day 2, day 3
    Number of jobs - 111----123--1213
    Percentage - -
    12%---34% 60%
    Now if you look at the example it says day 1, 111 jobs went out. What the director would like to see is those jobs being sub divided into types of lenses.
    So out of 111 jobs, 25 would be Finished lenses, 30 could be uncut lenses and so on.
    The new report should be like this
    Number of days -
    Day1---Day2---Day3
    Number of Jobs:-
    Finished -
    25--34-----23
    Uncut--3045-----23
    AR--7056-----76
    Total----125135----122
    Percentage:-
    Finished -
    25%--34%-----23%
    Uncut--30%45%-----23%
    AR--70%56%-----76%
    Total----100%100%----100%
    Now if we look at the above criteria it seems that I have to use groups even further down the report where I am using crosstab at the moment. This means I have to get rid of the crosstab and run a report manually.
    However the big question is, how to get the report calculating number of days and jobs according to customer account number, product code and sales area manually?
    I tried the following formula but this requires to write way too many formulas, for example some of the jobs have taken more than 60 days and if i use this formula I have to write 60 formulas for number of days which is not feasable.
    **//provided by IIbas in another forum**
    whileprintingrecords;
    numbervar day0;
    numbervar day1;
    numbervar day2;
    if {@workingdays} = 0 then
    day0 := day0 + 1 else
    if {@workingdays} = 1 then
    day1 := day1 + 1 else
    if {@workingdays} = 2 then
    day2 := day2 + 1 else //up to the maximum number of days.
    Then in the report footer, reference the days in separate formulas, and identify them with text boxes, e.g.,
    //{@day0};
    whileprintingrecords;
    numbervar day0;
    I can sort out the Finished, uncut,AR by grouping them however I am wondering how to create a manual running total of jobs complying with number of days without using crosstab.
    Any ideas?
    Many thanks
    Regards
    Jehanzeb

    no answer closing

  • How to get "Number of days" in a report on 0PM_DS02

    Dear BI Gurus,
    I need to build  a query on the PM DSO - 0PM_DS02 (MTTR/MTBR).
    The query has 0Equipment in the rows
    The fields Available Time | Breakdown TIme | Utilised Time in the columns for the time granularity selected.
    The field Breakdown Time is the calcaulted key figure Actual Outage Time from the DSO.
    The field Utilised Time  is a formula = Available Time - Breakdown Time.
    The issue I am facing is regarding the field Available Time.
    In the report the user needs time granularity in Month and Year.
    Basically the logic for the field Available Time = Number of days in the time period selected * 24
    where 24 = number of hours in a day.
    Now my issue is when the time granularity is month , the field should have the number of days in the month the user selects from the selection screen and when the time granularity is year, the field should have number of days in that year.
    Also during the query execution period, when the user changes the time granularity the report should also change the calculation for this field.
    (I can bring an extra field to the DSO, which will bring the available number of days in a month for each record)
    Can you please guide me how to map this scenario.
    Many Thanks in Advance,
    With Warm Regards,
    Vineeth

    Hi All,
    Waiting for your suggestion on this?
    With Warm Regards,
    Vineeth

  • I want to repeat an event on a set number of days.

    I work shift work and my schedule repeats every 28 days.  For example, I work day shift today and in 28 days I will work day shift.   I want to input my work schedule into iCal, but it doesn't let me create a repeatable event for a certain number of days. I would manually have to enter my work schedule every month.  Can we get this changed.   I know several of my co-workers have iPhones and would like to have this feature.  We would like to deal with just one calander, versus several.  Google calender has this feature, and that is what we currently use, but we want to use the iCal app.  Thanks for the help and input.

    I found a work around.  iCal in iCloud will let you customize your iCal entries; so I inputed my custom work schedule and then it just updates your iPhone.

  • How to get total number of days

    Hi All,
    how to get total number of days , for example if month eq 05 then need to get total number of days until MAY 31.
    and how to get total number of days in a month.
    Thank You,,
    Sriii..

    Hi Sridhar,
    Pls Try to search before posting general questions.
    Try this,
    CALL FUNCTION 'DAYS_BETWEEN_TWO_DATES'
        EXPORTING
          i_datum_bis                   = p_lv_date1
          i_datum_von                   = p_lv_date2
       IMPORTING
         e_tage                        = p_e_date_difference
       EXCEPTIONS
         days_method_not_defined       = 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.
    Regards,
    Sunil kairam.

  • FM to get the number of days in Year,month and days by giving number of day

    Hi ALL,
    This is quit differnt.
    I need to give input the 'start date' and the 'number of days' and get the total days from the start date in year,month and day format.
    for example.
    start date :01.01.2009
    number of days as 32
    then i should get
    years:0
    months :1
    days :1
    Pleas help me out.

    hi Anusha,
    first u pass the date and the days to the following fm you will get the result date....
    data:date type sy-datum,
          r_date(10) type c.
    date = sy-datum.
    CALL FUNCTION 'CALCULATE_DATE'
    EXPORTING
       DAYS              = '32'
       MONTHS            = '0'
       START_DATE        = date
    IMPORTING
       RESULT_DATE       = r_date
    write:/ r_date.
    then you need to pass the result date and the date to the following fm to get the required output...
    CALL FUNCTION 'HR_HK_DIFF_BT_2_DATES'
        EXPORTING
          date1                   = r_date
          date2                   = date
        IMPORTING
          years                   = v_years
         months                 = v_months
        days                     = v_days
        EXCEPTIONS
          invalid_dates_specified = 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.
    here u will get the difference in days,  months and year...
    i hope u wil get help from this...
    regards
    Ashu  Singh

  • How to get the number of days of a month belonging to a date interval

    Hi, i am getting mad around a problem, i have 2 dates and a month, i wanto to retrieve the number of days belonging to the month that are in the interval.
    eg:
    month january 2011 . begin_date = 11/JAN/2011, END_DATE 30/MAY/2011 result is 21
    month january 2011 . begin_date = 11/DEC/2010, END_DATE 10/JAN/2011 result 10
    month january 2011 .begin_date = 02/FEB/2011 , END_DATE 25/may/2011 result 0
    month january 2011. begin_date = 03/JAN/2011 , END DATE 05/JAN/2011 result 3
    and so on ...
    i appreciate any suggestion
    thank you
    Andrea

    Oh, I didnt see your result.
    SQL> with t as
      2  (select  to_date('11/01/11','dd/mm/yy') from_dt,
      3           to_date('30/05/11','dd/mm/yy') to_dt,
      4           'Jan-11' mnth from dual
      5           union all
      6           select  to_date('11/12/10','dd/mm/yy') from_dt,
      7           to_date('10/01/11','dd/mm/yy') to_dt,
      8           'Jan-11' mnth from dual
      9           union all
    10           select  to_date('02/02/11','dd/mm/yy') from_dt,
    11           to_date('25/05/11','dd/mm/yy') to_dt,
    12           'Jan-11' mnth from dual
    13           union all
    14           select  to_date('03/01/11','dd/mm/yy') from_dt,
    15           to_date('05/01/11','dd/mm/yy') to_dt,
    16           'Jan-11' mnth from dual
    17           )
    18  select from_dt,to_dt,mnth,
    19         greatest(
    20              least(last_day(to_date(mnth,'Mon-yy')),to_dt)
    21              -
    22              greatest(to_date(mnth,'Mon-yy'),from_dt)+1
    23                 ,0) cnt
    24  from t;
    FROM_DT   TO_DT     MNTH          CNT
    11-JAN-11 30-MAY-11 Jan-11         21
    11-DEC-10 10-JAN-11 Jan-11         10
    02-FEB-11 25-MAY-11 Jan-11          0
    03-JAN-11 05-JAN-11 Jan-11          3

Maybe you are looking for