Month parameter between

My main dataset has the following query:
SELECT         INDICATOR_NAME, count(*) as cnts
FROM            CDW_SHR.TF_AUTO_INDICATOR_TABLE
WHERE        (RULE_ID IN (274, 310, 311, 315, 316, 
                         320, 330, 331, 332, 333, 334, 335)) and Extract(year from (TO_DATE(Reported_Dt, 'YYYYMMDD'))) Between (:FrmYear) AND (:ToYear) and Extract(month from (TO_DATE(Reported_Dt,
'YYYYMMDD'))) Between (:FrmMnt) AND (:ToMnt)
group by INDICATOR_NAME
now I have a 2 datasets for year and month, the month dataset has the following query:
select 1 as mnt from dual
union all select 2 from dual
union all select 3 from dual
union all select 4 from dual
union all select 5 from dual
union all select 6 from dual
union all select 7 from dual
union all select 8 from dual
union all select 9 from dual
union all select 10 from dual
union all select 11 from dual
union all select 12 from dual
Now, when I select from year 2001 and to year 2002 and
From month 1 and to month 3, it gives me the proper result
BUT when i do from month 4 and to month 3 it does not give me a result.
This is because to month becomes smaller than from month.
Is there any work around for this issue that anyone is aware of?
P.S. (I am using oracle database that is why the query syntax is the way that it is, and REPORTED_DT is integer YYYYMMDD hence the conversion)
Dhananjay Rele

Vicky and Visakh16,
First of all, thank you for your replies...
its not a date parameter, its two separate params, one for selecting month from 1-12 and one to select year from 1975-2015...
so in total there are 4 params namely, @FrmYr, @ToYr, @FrmMnt, @ToMnt
I can understand if I select @ToYr < @FrmYr then the query does not work, this is perfectly fine...
now I am facing issue for @FrmMnt and @ToMnt, let me explain using a scenario...
so if I want to see data from 1999 June to 2000 April then it becomes an issue...
because now here @ToMnt = 4 and @FrmMnt = 6...
and in my query there is a filter 
"Extract(month from (TO_DATE(Reported_Dt, 'YYYYMMDD'))) Between (:FrmMnt) AND (:ToMnt)"
So, I tried Visakh16's solution and defined the parameters as he suggested, the end result is that the result for
1999 June to 2000 April is same as result for 1999 April to 2000 June...
let me know if you need more information...
Dhananjay Rele
I think what you need to do is to take date as a whole and do comparison with month & year parameters together rather than individually
ie like this
TO_DATE(Reported_Dt, 'YYYYMMDD') >=
CAST((:FrmYear) AS varchar2(4)) + CAST((:FrmMnt) AS varchar2(2)) + '01'
AND TO_DATE(Reported_Dt, 'YYYYMMDD') < CAST((:ToYear) AS varchar2(4)) + CAST((:ToMnt)+1 AS varchar2(2)) + '01'
Please Mark This As Answer if it solved your issue
Please Vote This As Helpful if it helps to solve your issue
Visakh
My Wiki User Page
My MSDN Page
My Personal Blog
My Facebook Page

Similar Messages

  • How to calculate the month difference between two date char. in Query?

    Customers would like to see how many months passed between two date type of characteristics (e.g., the month difference between the current date and the scheduled delivery date in the record) and put the result into the column as KF. 
    We would have to grab the fiscal year/period kind of value and then do the subtraction, e.g., if the current date value is 2/28/2008 and the scheduled delivery date value in the record is 12/01/2007, the correct result should be 2 month difference between these two date values, but could someone here give us the technical light on how to make this happen in query design?
    Thanks and we will give you reward points for the correct anwsers!

    Hi Kevin,
    The Badi is RSR_OLAP_BADI.
    You can create an implementation using Transaction  SE18.
    The implementation is per cube and is defined in the filters.
    In the Implementation you have the following methods :
    1. Define : Here you will provide the Keyfigure you need as a virtual one.
    2. Initilialize : Any Init Function you want to do.
    3. Compute. This is called per datarecord and here you can cimpute your value.
    Hope this helps.
    Pralay Ahluwalia

  • Pass parameter between programs

    Hi,
    I need to pass one parameter between 3 programs :
    That is the actual flow of my parameter.
    SAPF110V -> RFFOBE_I -> which include ZRFFORI99B)
    get param   <- RFFOBE_I <- set param
    with statments
    SET PARAMETER ID 'ZDBL' FIELD p_doublon.
    GET parameter ID 'ZDBL' FIELD p_doublons.
    But unfortunatly it doesn't work :/  (value of my param = 0)
    I can run the include program in debug because it is run in background...
    I can't use a Ztable
    Any idea to pass value between this flow ?
    Thanks,

    Hello,
    The value which you want to pass between the programs can be stored in the SAP memory space by using the IMPORT and EXPORT to MEMORY ID statement.
    EXPORT <internal table/variable> to MEMORY-ID 'MY MEMORY'.
    Above statement will keep the value in SAP memory by creating a memory named as 'MY MEMORY'.
    IMPORT <internal table/variable> from MEMORY-ID 'MY MEMORY'.
    Above statement will get the value from SAP memory space.
    But while using the above statement please consider that all the three programs should be run in the same session because the Memory that you are using will automatically be cleaned up by the Garbage collector as the session ends.
    Hope it helps.
    Thanks,
    Jayant.
    <<text removed - don't ask for points>>
    Edited by: Matt on Nov 19, 2008 7:48 PM

  • Passing data parameter between SWF files

    Hello Xcelsius Gurus,
    Is it possible to pass data parameter between SWF files?
    If possible, how to achieve it?
    Thank you.
    Justine

    Hi,
    Thank you for the reference.  Little bit confused, please let me clarify. 
    I do not understand how the receiver SWF receieved the data parameter and process.
    For example, I have a parent dashboard and a child dashboard.  In the parent dashboard, I have set up combo box to filter the data.  And I want the data that I have selected in combo box to the child dashboard.
    To do this, first I need to setup the flash variable at the parent dashboard to fetch the data I selected.
    After this, how to link this data to the child dashboard?
    Furthermore, after the child dashboard received the data parameter, I need this data to insert into the spreadsheet so I can filter the data.  Is this possible?
    Thanks.
    Edited by: Justine Liu on Jan 19, 2010 3:11 PM

  • Passing Parameter between Methods

    I have some problems because i don't really know how to pass parameter between methods in a java class.
    How can i do that? below is the code that i did.
    I want to pass in the parameter from a method called dbTest where this method will run StringTokenizer to capture the input from a text file then it will run storeData method whereby later it will then store into the database.
    How can i pass data between this two methods whereby i want to read from text file then take the value to be passed into the database to be stored?
    Thanks alot
    package com;
    import java.io.*;
    import java.util.*;
    import com.db4o.ObjectContainer;
    import com.db4o.Db4o;
    import com.db4o.ObjectSet;
      class TokenTest {
           private final static String filename = "C:\\TokenTest.yap";
           public String fname;
         public static void main (String[] args) {
              new File(filename).delete();
              ObjectContainer db=Db4o.openFile(filename);
         try {
            String fname;
            String lname;
            String city;
            String state;
             dbStore();
            storeData();
         finally {
              db.close();
         public String dbTest() {
            DataInputStream dis = null;
            String dbRecord = null;
            try {
               File f = new File("c:\\abc.txt");
               FileReader fis = new FileReader(f);
               BufferedReader bis = new BufferedReader(fis);
               // read the first record of the database
             while ( (dbRecord = bis.readLine()) != null) {
                  StringTokenizer st = new StringTokenizer(dbRecord, "|");
                  String fname = st.nextToken();
                  String lname = st.nextToken();
                  String city  = st.nextToken();
                  String state = st.nextToken();
                  System.out.println("First Name:  " + fname);
                  System.out.println("Last Name:   " + lname);
                  System.out.println("City:        " + city);
                  System.out.println("State:       " + state + "\n");
            } catch (IOException e) {
               // catch io errors from FileInputStream or readLine()
               System.out.println("Uh oh, got an IOException error: " + e.getMessage());
            } finally {
               // if the file opened okay, make sure we close it
               if (dis != null) {
                  try {
                     dis.close();
                  } catch (IOException ioe) {
                     System.out.println("IOException error trying to close the file: " +
                                        ioe.getMessage());
               } // end if
            } // end finally
            return fname;
         } // end dbTest
         public void storeData ()
              new File(filename).delete();
              ObjectContainer db = Db4o.openFile(filename);
              //Add data to the database
              TokenTest tk = new TokenTest();
              String fNme = tk.dbTest();
              db.set(tk);
        //     try {
                  //open database file - database represented by ObjectContainer
        //          File filename = new File("c:\\abc.yap");
        //          ObjectContainer object = new ObjectContainer();
        //          while ((dbRecord = bis.readLine() !=null))
        //          db.set(fname);
        //          db.set(lname);
        //          db.set(city);
            //          db.set(state);
    } // end class
         Message was edited by:
    erickh

    In a nutshell, you don't "pass" parameters. You simply call methods with whatever parameters they take. So, methods can call methods, which can call other methods, using the parameters in question. Hope that makes sense.

  • Passing parameter between two applets

    hi all,
    i want to pass parameter between two applets. in other words, when user clicks the button; close the running applet, pass parameter to another applet and run another applet.
    now i think that could be, ( creating a parameter table in database, when user click on button write parameters to table and stop active applet and run other applet. when other applet runs in init methot it takes parameter from table). but it will be very indirect way.
    if you have an idea or information, plesae tell me.
    thanks for your interest

    Hi ,
    Plz pay a visit to this wonderful website,
    http://www.rgagnon.com/javadetails/java-0022.html / http://www.rgagnon.com/howto.html
    Best Wishes,
    Gaurav
    PS : Thanks to Real Gagnon. This is all I can do at this stage, but wanted to say you are doing a wonderful job.

  • In jsp file, how to transfer parameter between two javabean?

    In jsp file, how to transfer parameter between two javabean?
    for example
    Bean1 has a attribute A
    Bean2 has a attribute B
    how to transfer the value of A to B

    Have you tried something like...
    <jsp:setProperty name="Bean2" property="B" value="<jsp:getProperty name="Bean1" property="A" />" />

  • Find year,month & day between dates

    Hi,
       I need to find a number of years, months & day between a given dates. For example If a employee joined on 31.01.2003 and left on 01.06.2006, I need to find in between how many years, months & days he has worked. Is there any function module available .

    DATA: EDAYS LIKE VTBBEWE-ATAGE,
    EMONTHS LIKE VTBBEWE-ATAGE,
    EYEARS LIKE VTBBEWE-ATAGE.
    PARAMETERS: FROMDATE LIKE VTBBEWE-DBERVON,
    TODATE LIKE VTBBEWE-DBERBIS DEFAULT SY-DATUM.
    Call Function 'FIMA_DAYS_AND_MONTHS_AND_YEARS'
      exporting
        i_date_from          = FROMDATE
        i_date_to            = TODATE
    *   I_FLG_SEPARATE       = ' '
      IMPORTING
        E_DAYS               = EDAYS
        E_MONTHS             = EMONTHS
        E_YEARS              = EYEARS.
    WRITE:/ 'Difference in Days   ', EDAYS.
    WRITE:/ 'Difference in Months ', EMONTHS.
    WRITE:/ 'Difference in Years  ', EYEARS.
    INITIALIZATION.
    FROMDATE = SY-DATUM - 60.
    Using teh abiove u can get difference but when u pass previous year u wont get the exact.
    There is no seperate FM for this, u have to use three FM.
    If possible using these three FM code u can create an FM.
    <b>For years and months between two days:</b>
    DATA:   EYEARS  LIKE VTBBEWE-ATAGE.
    PARAMETERS: FROMDATE LIKE PREL-BEGDA,
                     TODATE   LIKE PREL-BEGDA DEFAULT SY-DATUM.
    CALL FUNCTION 'COMPUTE_YEARS_BETWEEN_DATES'
      EXPORTING
        first_date                        = fromdate
    *   MODIFY_INTERVAL                   = ' '
        second_date                       = todate
    IMPORTING
       YEARS_BETWEEN_DATES               =  EYEARS
    * EXCEPTIONS
    *   SEQUENCE_OF_DATES_NOT_VALID       = 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.
    Write:/ eyears.
    DATA:       EMONTHS LIKE VTBBEWE-ATAGE.
    PARAMETERS: FROMDATE LIKE SY-DATUM,
                TODATE   LIKE SY-DATUM
    DEFAULT SY-DATUM.
    CALL FUNCTION 'MONTHS_BETWEEN_TWO_DATES'
      EXPORTING
        i_datum_bis         = fromdate
        i_datum_von         = todate
    *   I_KZ_INCL_BIS       = ' '
    IMPORTING
       E_MONATE            = emonths
    write:/ emonths
    CALL FUNCTION 'DAYS_BETWEEN_TWO_DATES'
    EXPORTING
    I_DATUM_BIS = x_faede-zfbdt
    I_DATUM_VON = p_fdat
    I_KZ_EXCL_VON = '0'
    I_KZ_INCL_BIS = '0'
    I_KZ_ULT_BIS = ' '
    I_KZ_ULT_VON = ' '
    I_STGMETH = '0'
    I_SZBMETH = '1'
    IMPORTING
    E_TAGE = dias_v.
    IF SY-SUBRC <> 0.
    ENDIF.
    x_faede-zfbdt -> 20050915
    p_fdat -> 20050811
    dias_v = 4
    try this and let me know.
    Message was edited by:
            Judith Jessie Selvi

  • To get last date of all the month in between year 2000 to 2100

    Hi all
    how we can make view that list last date of all the month in between year 2000 and 2100
    Thanks & regards
    vivek

    You would use the LAST_DAY() function:
    WITH months AS
         SELECT      TO_DATE('01/01/2000','MM/DD/YYYY') AS dt1
         ,     TO_DATE('12/31/2100','MM/DD/YYYY') AS dt2
         FROM     DUAL
    SELECT LAST_DAY(ADD_MONTHS(dt1,level-1)) LST_DAY_MONTHS
    FROM     months
    CONNECT BY LEVEL <= MONTHS_BETWEEN(dt2,dt1)+1Sample of results (too many to post):
    LST_DAY_MONTHS
    01/31/2000 00:00:00
    02/29/2000 00:00:00
    03/31/2000 00:00:00
    04/30/2000 00:00:00
    05/31/2000 00:00:00
    06/30/2000 00:00:00
    07/31/2000 00:00:00
    08/31/2000 00:00:00
    09/30/2000 00:00:00
    10/31/2000 00:00:00
    11/30/2000 00:00:00
    12/31/2000 00:00:00
    01/31/2001 00:00:00
    02/28/2001 00:00:00
    03/31/2001 00:00:00
    04/30/2001 00:00:00
    05/31/2001 00:00:00
    06/30/2001 00:00:00
    07/31/2001 00:00:00
    08/31/2001 00:00:00
    09/30/2001 00:00:00
    10/31/2001 00:00:00
    11/30/2001 00:00:00
    12/31/2001 00:00:00
    01/31/2002 00:00:00
    02/28/2002 00:00:00
    03/31/2002 00:00:00

  • Month in between

    Hi all, i have a procedure in pl/sql that is passing two dates, startdate and enddate
    what i am trying to figure out is how many month end date are in between the two dates.
    for example, here are some values and what the result. result represents the number of month end date between two dates
    start date     end date      result
    3/31/10       3/31/10          1    --3/31/10 is month end    
    3/28/10       4/1/10          1    --3/31/10 is month end between these two dates
    3/28/10       3/31/10          1     --same as above
    3/25/10       3/28/10          0    --no month end date between these two dates
    4/1/10         6/1/10          2    --4/30  and 5/31 are the two month end dates bet. these two dates
    4/1/10         5/6/10          1  -4/30 is the month end for these two datesas you from the above output, i have start and end date, the result column tells you the number of month end dates between them.
    3/31/10 and 3/31/10 is same date but 3/31 is months end so the count is 1.
    i wrote a query such as
    select trunc(month_between(end date, start date)) into l_count from dual;
    this only works for some of the dates above but it doesnt work for others like 3/31/10 - 3/31/10. it will return 0.
    can someone help me write a pl/sql block or a query like the one above that given two dates, it will return the number of month end date between those two dates? thanks

    Hi,
    You're on the right track, using MONTHS_BETWEEN, but you'd better calculate it from the beginning of the month. If start_date is any time in April, 2010, and end_date is any point in May, 2010, there will be one month between them.
    The exception is when end_date is the last day of the month; then you have to count an extra month. The query below does a separate test for end_date being the end of its month.
    SELECT     MONTHS_BETWEEN ( TRUNC (end_date,   'MONTH')
                     , TRUNC (start_date, 'MONTH')
                     ) + CASE
                                 WHEN  end_date = LAST_DAY (end_date)
                          THEN  1
                          ELSE  0
                             END          AS month_end_cnt
    FROM     table_x
    ;

  • I need FM calc. days/months/years between 2 dates but computes the work day

    I need FM calc. days/months/years between 2 dates but computes the work day.
    someone knows ?

    Hi,
    The FM is 'FIMA_DAYS_AND_MONTHS_AND_YEARS'
    Check the following example:
    DATA: EDAYS   LIKE VTBBEWE-ATAGE,
          EMONTHS LIKE VTBBEWE-ATAGE,
          EYEARS  LIKE VTBBEWE-ATAGE.
    PARAMETERS: FROMDATE LIKE VTBBEWE-DBERVON,
                TODATE   LIKE VTBBEWE-DBERBIS DEFAULT SY-DATUM.
    call function 'FIMA_DAYS_AND_MONTHS_AND_YEARS'
      exporting
        i_date_from          = FROMDATE
        i_date_to            = TODATE
      I_FLG_SEPARATE       = ' '
      IMPORTING
        E_DAYS               = EDAYS
        E_MONTHS             = EMONTHS
        E_YEARS              = EYEARS.
    WRITE:/ 'Difference in Days   ', EDAYS.
    WRITE:/ 'Difference in Months ', EMONTHS.
    WRITE:/ 'Difference in Years  ', EYEARS.
    INITIALIZATION.
    FROMDATE = SY-DATUM - 60.
    Regards,
    Bhaskar

  • Passing parameter between OAF pages

    Hi,
    Im calling a custom page from a button destination URI property.
    OA.jsp?page=/oracle/apps/ont/orderstatus/webui/INT_SUMM_PAGE&HeaderId={!HeaderId}&retainAM=Y&addBreadCrumb=Y
    When I use {!HeaderId}, null value is passed
    When I use {@HeaderId}, '@HeaderId' is passed as such.
    What is the difference between two formats?

    When you specify URL parameters in your declarative page definitions, you can specify both literal and token-substituted values that obtain their data from associated view object attributes at rendering time
    {!Attr} - encrypts the attribute value while leaving the {!} in the URL (for example, OA.jsp?...&ssn={!SSN}&...). Using OAPageContext.getParameter("ssn") will return the decrypted value.
    {@Attr} - encodes the attribute value while leaving the {@} in the URL (for example, OA.jsp?...&addr={@EmpAdd}&...). Using OAPageContext.getParameter("addr") to get the parameter value will return the decoded value.
    --Shiv                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • Passing parameter between JSF pages

    I need to pass a parameter value between 2 different JSF pages.
    The reason I need to do this is to be able to know which JavaBean (A or B) called the other JavaBean (C).
    Can I somehow set a parameter within the JSF page and retrieve it in the second JSF page for my backing bean to read?
    Thanks in advance.

    A co-worker of mine helped me fix my code to make it work!
    Here is the final solution in case someone else needs to do the same thing in the future:
    In the main JSF page that calls the second JSF page, the following code was added at the beginning of the page in the JavaScript section:
    <% session.setAttribute"className", "CcmReassignEmployeeBean");
    And in the Backing Bean of the second JSF page, the following code was used in the action listener used to transfer the data:
    HttpSession session = (HttpSession) context.getExternalContext().getSession(true);
    String className=(String) session.getAttribute("className");
    It works great! Thanks!

  • Month filter between two ranges based on user response inIDT

    Hi,
    I am working on SAP BO4.0.I have a requirement of creating a month filter on a date which will be between two ranges.The first range is the user response and the second range will be 6 months added to that user response.For eg:-If a user enters 1 as the response for month prompt then the date will be filtered between 1 and (1+6)=7.The database used is SAP HANA.
    Please let me know if further clarifications are required.
    Any help on this will be appreciated.
    Thanks in advance.

    Hi Riddhi ,
    afaik this is not doable in UDT/IDT .Only thing we can make is to run the report for last month by using magic dates concept.
    Check below logic if it helps.
    For a requirement to run a report for  fiscal year starting date to last month if nothing selected .
    @Select(Time\Yr-Mth Key)  between@Prompt('From Date','A','Time\Month / Year',mono,primary_key,,{'JUL 2013'}) and   
    (case when @Prompt('To Date','A','Time\Month / Year',mono,primary_key,,{'JAN 1999'})='JAN 1999' then to_char(add_months(sysdate,-1),'YYYYMM')  
    else  
    @Prompt('To Date','A','Time\Month / Year',mono,primary_key,,{'JAN 1999'}) end)
    This is on Oracle Database.
    When you run webi report
    From Date : JUL 2013 (fiscal year start date)
    To date : JAN 1999( without changing this you can refresh the report for last month , else it'll refresh for selected month)

  • Parameter to Parameter - between 2 BSP-Application

    Hello,
    we have a problem between transfer Parameters from a BSP-Application-Site to a another BSP-Application Site.
    How can we realizing this matter?
    Thank you in advanced
    Alexander

    Hi
    Please use this below method,
    DATA: URL TYPE STRING.
    CALL METHOD RUNTIME->GET_URL_SAME_SESSION
      EXPORTING
       APPLICATION_URL
    = '/sap/bc/bsp/sap/<BSP Application>/<page.htm>'
       RECEIVING
       URL             = URL.
       CONCATENATE URL '?<variable>=' <CLASS_NAME>->Variable> INTO URL.
        CONDENSE URL.
        CALL METHOD NAVIGATION->GOTO_PAGE
          EXPORTING
            URL = URL.
    Here, <variable> is parameter which you have to pass the next BSP application.
    OR user Server side cookies.
    Example.
    Set the cookie use this below method,
    CALL METHOD CL_BSP_SERVER_SIDE_COOKIE=>SET_SERVER_COOKIE
    Get the cookis,
    CALL METHOD CL_BSP_SERVER_SIDE_COOKIE=>GET_SERVER_COOKIE
    Hopeful it will work.
    Thanks
    Suriya.

Maybe you are looking for