ROWS BETWEEN 12 PRECEDING AND CURRENT ROW

I have a report with the last 12 months and for each month, I have to show the sales sum of the last 12 months. For example, for 01/2001, I have to show the sales sum from 01/2000 to 12/2000.
I have tried this:
SUM(sales)
OVER (PARTITION BY product, channel
ORDER BY month ASC
ROWS BETWEEN 12 PRECEDING AND CURRENT ROW)
The problem is: this calculation only considers the data that are in the report.
For example, if my report shows the data from jan/2001 to dec/2001, then for the first month the calculation result only returns the result of jan/2001, for feb/2001, the result is feb/2001 + jan/2001.
How can I include the data of the last year in my calculation???

Hi,
I couldn't solve my problem using Discoverer Plus functions yet...
I used this function to return the amount sold last year:
SUM("Amount Sold SUM 1") OVER(PARTITION BY Products.Prod Name ORDER BY TO_DATE(Times."Calendar Year",'YYYY') RANGE BETWEEN INTERVAL '1' YEAR PRECEDING AND INTERVAL '1' YEAR PRECEDING )
The result was: it worked perfectly well when I had no condition; so it showed three months (1998, 1999, 2000) and two data points (Amount Sold, Amount Sold Last Year). The "Amount Sold Last Year" was null for 1998, as there aren't data for 1997.
Then I created a condition to filter the year (Times."Calendar Year" = 1999), because I must show only one year in my report. Then I got the "Amount Sold" with the correct result and the "Amount Sold Last Year" with null values. As I do have data for 1998, the result didn't return the result I expected.
Am I doing something wrong??

Similar Messages

  • Please help me on UNBOUNDED PRECEDING and CURRENT ROW

    Helllo Experts,
    Kindly help me on below query..
    SELECT
       SUM(n) AS month_amount,
      SUM(SUM(n)) OVER
        (ORDER BY n ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
        AS cumulative_amount
      FROM t1
      GROUP BY n
      ORDER BY n;Here i need explanation over(what it does) over() and (ORDER BY n ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)And if you have any Docs over ANALYTICAL functions please help with them.
    Ur help ll be appreciated..
    Thanks
    Basav

    http://download.oracle.com/docs/cd/E11882_01/server.112/e26088/functions004.htm#SQLRF06174
    Regards
    Etbin

  • After installing lion, my computer switches constantly between dashboard and current screen

    I installed lion this morning and my screen switches rapidly between the dashboard and current screen, initially i thought it was my mouse, but after changing mouse I still get this issue and when my computer has been out of use for a while, i have to "erase" the screen to get to my login, any ideas?

    After restarting your computer, try booting into the "recovery HD" by holding down Option at startup and try re-installing Lion. I had the Same problem when I installed Lion but that fixed it.
    Rember: back up your data first through time machine so you can restore to the backup once you get Lion reinstalled.

  • Select previous max(date) and current max(date) in trigger

    Good mroning fellows!
    I am trying to develop a row level trigger that inserts data into another table after insert.
    Within the trigger I need to calculate a couple of averages based on dates. Therefore I need to select the date of the previously entered record and calculate the days between this last record and the current entry that was just saved.
    Is it possible to write it like that in the trigger?
    create or replace
    TRIGGER borki.set_tageswerte
      AFTER INSERT
      ON borki.fangzahlen
      FOR EACH ROW
    -- WHEN (NEW.qb_nr > 0 AND NEW.lrt_fl_id > 0) 
    DECLARE
    old_date        date;
    latest_date     date;
    days            number;
    avergae_amount  integer;
    BEGIN
    old_date := (SELECT max(:old.date_datum)
         FROM borki.fangzahlen
         WHERE lng_falle = :new.lng_falle
         AND int_fallennummer = :new.int_fallennummer
         AND lng_schaedling = :new.lng_schaedling);
    latest_date :=  (SELECT max(:new.date_datum)
         FROM borki.fangzahlen
         WHERE lng_falle = :new.lng_falle
         AND int_fallennummer = :new.int_fallennummer
         AND lng_schaedling = :new.lng_schaedling);
    days := latest_date - old_date;
    average_amount := (SELECT CASE
                       WHEN f.int_volumen > 0 AND f.lng_schaedling = 1 THEN f.int_volumen * 40
                       WHEN f.int_volumen > 0 AND f.lng_schaedling = 2 THEN f.int_volumen * 550
                       WHEN f.int_anzahl > 0 THEN f.int_anzahl
                       END
                 / days AS tagesfang
            FROM borki.fangzahlen f
            WHERE f.lng_falle = :new.lng_falle
             AND f.int_fallennummer = :new.int_fallennummer
             AND f.lng_schaedling = :new.lng_schaedling
             AND days > 0
             AND ((f.int_anzahl > 0) OR (f.int_volumen > 0)))
         INSERT
             INTO fangzahlen_tageswerte
              lng_falle, date_datum, int_fallennummer, lng_schaedling, int_volumen, int_anzahl, lng_fangzahlen
            VALUES
            (SELECT f.lng_falle,
                       :new.date_datum, :new.int_fallennummer,
                       :new.lng_schaedling, :new.int_volumen,
                       :new.int_anzahl - ((y-1)*rec.tagesfang),
                       :new.objectid
    END;thanks for sharing your wisdom mith me! :-)
    Sebastian
    Edited by: skahlert on 07.04.2010 07:04

    Hello Tubby!
    You're correct!
    I'll take the time and show you what I got and what I need!
    I am working with an Apex frontend where users enter scientific data for beetle monitoring.
    The data entered consists of --> date_datum: date when last trap was emptied
    --> int_volumen: the volume of the trap (used to calculate found specimen when int_anzahl is null)
    --> int_anzahl: amount of found beetles
    --> lng_schaedling: type of beetle (1 or 2)
    --> lng_falle:trap number
    --> int_fallennummer: sub-trap type (1 or 2)
    Background info: Data is entered once or twice a week for each trap. After the data has been entered I need to calculate the mean average depending on the volume or amount.
    Therefore I need to sum the colume or amount and divide it by the period of days since the current and last trap removal (that's when the bugs are counted and data is manually entered to the DB). For each day between the last and current trap removal I need to add one record in table fangzahlen_tageswerte (in my proc still called "test" for obvious reasons) that contains the mean average value of found beetles.
    I hope I could point out my demand without confusing you!
    PS: my problem --> very little background info concerning the entomological monitoring of this beetle type ;-), limited pl/sql skills and the problem that I need to run this procedure for each new record only. If you could show me how to make sure that data is not stored in table fangzahlen_tageswerte multiple times, I could called it directly in APEX.
    Otherwise I'd suggest to create a trigger that launches this procedure below and parses the :new.parameters into my pocedure.
    Another problem: this might work for insert statements. However, obviously I have to correct the mean values if raw data in table fangzahlen has been updated. Should I call another procedure after update on tbl fangzahlen or integrate that part into the procedure below? Doesn't matter I guess, right?
    create or replace
    PROCEDURE             "PR_FANGZAHLEN_TW_SK" (
       pr_falle          NUMBER,
       pr_fallennummer   NUMBER,
       pr_schaedling     NUMBER
    IS
       old_date                  DATE;
       diff_days                 NUMBER (10);
       tagesfang                 NUMBER (12);
       y                         NUMBER (10);
    BEGIN
       /*Query date of previous record and store it into variable old_date*/
        select date_datum into old_date from
        (select f.date_datum, row_number() over (order by f.date_datum desc) rn
        from borki.fangzahlen f where f.lng_falle = pr_falle
        and f.int_fallennummer = pr_fallennummer
        and f.lng_schaedling = pr_schaedling) where rn=2;
        select max(f.date_datum) - old_date into diff_days from borki.fangzahlen f
         where (f.lng_falle = pr_falle)
         and (f.int_fallennummer = pr_fallennummer)
         and (f.lng_schaedling = pr_schaedling);
       FOR rec IN (select sum((case
                       when f.int_volumen > 0 and f.lng_schaedling = 1
                          then f.int_volumen * 40
                       when f.int_volumen > 0 and f.lng_schaedling = 2
                          then f.int_volumen * 550
                       when f.int_anzahl > 0
                          then f.int_anzahl
                    end
                 / (f.date_datum - to_date(old_date))) as tagesfang
            from borki.fangzahlen f
            where (f.lng_falle = pr_falle)
             and (f.int_fallennummer = pr_fallennummer)
             and (f.lng_schaedling = pr_schaedling)
             and ((f.date_datum - to_date(old_date)) > 0)
             and ((f.int_anzahl > 0) or (f.int_volumen > 0))) 
          LOOP
                y := 1;
          WHILE y < diff_days + 1
          LOOP
          /* Insert FANGZAHLEN_TAGESWERTE*/
           IF  y < diff_days
           THEN
             INSERT INTO test
                         (lng_falle, date_datum, int_fallennummer,
                          lng_schaedling, int_volumen, int_anzahl,
                          lng_fangzahlen)
                SELECT f.lng_falle,
                       old_date + y, f.int_fallennummer,
                       f.lng_schaedling, f.int_volumen, rec.tagesfang,
                       f.objectid
                  FROM fangzahlen f
                 WHERE     f.lng_falle = pr_falle
                       AND f.int_fallennummer = pr_fallennummer
                       AND f.lng_schaedling = pr_schaedling
                       AND (f.date_datum - old_date) > 0
                       AND ( (f.int_anzahl > 0)
                    OR (f.int_volumen > 0) );
           END IF;
             y := y + 1;
          END LOOP;
    END LOOP; -- end of cursor
    EXCEPTION
       WHEN NO_DATA_FOUND
       THEN
          NULL;
       WHEN OTHERS
       THEN
          -- Consider logging the error and then re-raise
          RAISE;
    END "PR_FANGZAHLEN_TW_SK";regards,
    Seb

  • Acquiring multiple voltage and current sine waveforms, and log them along with the respective time stamp in a file."

    "I am doing a data acquisition project using a 16 channel N.I. series 6020E card where I want to capture respective current and voltage sinusoidal signals. I am planning on capturing four pairs of matching current and voltage signals. I planned on taking one reading across the channels every fifteen minutes. This reading will need to be 60 data points per period or 3600 readings per second per channel in order for me to recreate the sine signal to determine the phase angle difference between the voltage and current. I was able to get one channel to capture a signal but could not get more than one working at a time. I am also trying to sycronize the data collection so all samples are with respect to each other. Thanks for any help."
    -posted by cappy on 2/11/2002
    John N on 2/12/2002 answered:
    "Hi Cappy,
    Could you post this question to the Hardware > Counter/Timer or Hardware > Multifunction I/O forums? I think you will get more responses there. Here is a link.
    The hardware is usually a better differentiation since software can support such a huge range of functionality.
    The data rates you are talking about sound reasonable. Are you using the USB or the AT interface?
    One other thing to be aware of is that the samples taken will not be simultaneous due to the multiplexed nature of the MIO board measurements. However if you know the channel clock rate(output from one of the VI's), then you can calculate the time difference between each measurement and correct your phase measurements by that amount.
    If you have more questions, please post this to the other forum and copy all of our discussion to let everyone know what we have talked about already.
    Best Regards,
    John Nieri
    Applications Engineer
    National Instruments"
    I am using the USB connection. If anyone can help with or has a similar VI for this, it owuld be appreciated so I can work on the larger aspect of the total project.

    The easiest VI to use for this acquisition is AI Acquire Waveforms in the data acquisition palette in LabVIEW. This VI allows you to perform a finite acquisition from multiple channels on your DAQ board. As John mentioned the acquisition from individual channels will not be truly simultaneous. There will be a slight time shift from one channel to the next on the order of the maximum acquisition speed of the card, 100kHz or 10 microseconds in your case. By accounting for this 10 microsecond delay between consecutive channels you can properly calculate the phase shift between voltage and current.
    Christian L
    NI Consulting Services
    Christian Loew, CLA
    Principal Systems Engineer, National Instruments
    Please tip your answer providers with kudos.
    Any attached Code is provided As Is. It has not been tested or validated as a product, for use in a deployed application or system,
    or for use in hazardous environments. You assume all risks for use of the Code and use of the Code is subject
    to the Sample Code License Terms which can be found at: http://ni.com/samplecodelicense

  • Can we hide the lines between the columns and rows of an alv in wd abap

    HI all ,
      I know that we can colour cell/column/row in an alv in wd abap.
       but, can we hide the lines between the columns and rows of an alv in wd abap.
         i have checked this link [hiding lines b/n rows and columns of an  alv|http://help.sap.com/saphelp_nw04/helpdata/en/91/e7eb40c4f8712ae10000000a155106/content.htm]
         but didn't  understand, can please anybody provide some example or any material..? it will be very helpful.
                                                                         THANK  YOU.
    Edited by: arfat111 on Feb 15, 2010 7:05 AM

    Code some like this in the WDDOINIT method of your view which defines the ALV component as used component.
    instansiate the ALV component
    data lo_cmp_usage type ref to if_wd_component_usage.
    lo_cmp_usage = wd_this->wd_cpuse_usage_alv().
    if lo_cmp_usage->has_active_component() is initial.
       lo_cmp_usage->create_component().
    endif.
    data lo_interfacecontroller type ref to iwci_salv_wd_table.
    lo_interfacecontroller = wd_this->wd_cpifc_usage_alv().
    data lo_value type ref to cl_salv_wd_config_table.
    lo_value = lo_interfacecontroller->get_model().
    hide the grid lines
    lo_value->if_salv_wd_table_settings~SET_GRID_MODE( value = '01' ).
    Thanks,
    Abhishek

  • Setting the ALV Hierarchy tree with grid line between the columns and rows

    Hi Experts,
    I would like to ask if there is any suggestion on setting the ALV hierarchy tree to be separated by grid line between the columns and rows just like how it is display the same way in normal ALV grid.
    Thanks in advance.

    Hi Lin,
    The requirement which you have stated is not possible.
    Lin,
    Also i have a query regarding BADI ZME_PROCESS_REQ_CUST, which you had raised on SDN. You have marked the question as solved/answered.
    Changing the data of a customize field in purchase requisition
    Could you please let me know, the steps you did to update the screen fields through the BADI.
    I would really appreciate your reply, because i am facing exactly the same problem which you have mentioned.
    Thanks,
    Best regards,
    Prashant

  • Update Failed for Sum of previous row and current row

    Hi i need to update the column length of the previous row and current row so i followed this method but i'm unable to update what is problem in my syntax
    SQL> begin
    2 DECLARE Total number = 0;
    3 UPDATE StringOutput set Total = SumOfLength = Total + ColLength;
    4 end;
    5 /
    DECLARE Total number = 0;
    ERROR at line 2:
    ORA-06550: line 2, column 22:
    PLS-00103: Encountered the symbol "=" when expecting one of the following:
    := . ( @ % ; not null range default character
    if i update without the variable total then my command is succeeded
    UPDATE StringOutput set SumOfLength = ColLength;
    but i need the previous row+current row count in SumOfLength
    Thanks!

    Getting this error now
    SQL> begin
    2 DECLARE Total number := 0;
    3 UPDATE StringOutput set Total = SumOfLength = Total + ColLength;
    4 end;
    5 /
    UPDATE StringOutput set Total = SumOfLength = Total + ColLength;
    ERROR at line 3:
    ORA-06550: line 3, column 1:
    PLS-00103: Encountered the symbol "UPDATE" when expecting one of the following:
    begin function pragma procedure subtype type <an identifier>
    <a double-quoted delimited-identifier> current cursor delete
    exists prior
    The symbol "begin" was substituted for "UPDATE" to continue.
    ORA-06550: line 3, column 46:
    PLS-00103: Encountered the symbol "=" when expecting one of the following:
    . ( , * @ % & - + ; / at mod remainder rem return returning
    <an exponent (**)> where || multiset
    The symbol ". was inserted before "=" to continue.
    ORA-06550: line 4, column 4:
    PLS-00103: Encountered the symbol "end-of-file" when expecting one of the
    following:
    ( begin case declare end exception exit for goto if loop mod
    null pragma raise return select update while with
    <an identifier> <a double-quoted

  • Defference between select single and select upto 1 row?

    What is the Defference between select single and select upto 1 row?

    Hi,
    Difference Between Select Single and Select UpTo One Rows
    According to SAP Performance course the SELECT UP TO 1 ROWS is faster than SELECT SINGLE because you are not using all the primary key fields.
    select single is a construct designed to read database records with primary key. In the absence of the primary key, it might end up doing a sequential search, whereas the select up to 1 rows may assume that there is no primary key supplied and will try to find most suitable index.
    The best way to find out is through sql trace or runtime analysis.
    Use "select up to 1 rows" only if you are sure that all the records returned will have the same value for the field(s) you are interested in. If not, you will be reading only the first record which matches the criteria, but may be the second or the third record has the value you are looking for.
    The System test result showed that the variant Single * takes less time than Up to 1 rows as there is an additional level for COUNT STOP KEY for SELECT ENDSELECT UP TO 1 ROWS.
    The 'SELECT SINGLE' statement selects the first row in the database that it finds that fulfils the 'WHERE' clause If this results in multiple records then only the first one will be returned and therefore may not be unique.
    Mainly:  to read data from
    The 'SELECT .... UP TO 1 ROWS' statement is subtly different. The database selects all of the relevant records that are defined by the WHERE clause, applies any aggregate, ordering or grouping functions to them and then returns the first record of the result set.
    Regards,
    Priya.

  • Diff between select single and select upto 1 rows.

    Hello aLL,
    PL tell what is technical diff between select single and select upto 1 rows and how it is affecting the performance.
    Rushikesh

    Hi
    Knowing when to use SELECT SINGLE or SELECT ... UP TO 1 ROWS
    A lot of people use the SELECT SINGLE statement to check for the existence of a value in a database. Other people prefer to use the 'UP TO 1 ROWS' variant of the SELECT statement.
    So what's the difference between using 'SELECT SINGLE' statement as against a 'SELECT .... UP TO 1 ROWS' statement ?
    If you're considering the statements
    SELECT SINGLE field INTO w_field FROM table.
    and
    SELECT field INTO w_field FROM table UP TO 1 ROWS. ENDSELECT.
    then looking at the result, not much apart from the extra ENDSELECT statement. Look at the run time and memory usage and they may be worlds apart.
    Why is this ?? The answer is simple.
    The 'SELECT SINGLE' statement selects the first row in the database that it finds that fulfils the 'WHERE' clause If this results in multiple records then only the first one will be returned and therefore may not be unique.
    The 'SELECT .... UP TO 1 ROWS' statement is subtly different. The database selects all of the relevant records that are defined by the WHERE clause, applies any aggregate, ordering or grouping functions to them and then returns the first record of the result set.
    Get the difference ??
    If not, here is a good example, credit for this example goes to Richard Harper, a friend of mine on sapfans.com :
    Create a Ztable called ZDifference with 2 fields in it, MANDT of type MANDT and POSNR of type POSNR. Make sure both of these are keys. Also create a table maintenance dialog for it (SE11->Utilities->Table Maintenance Generator). Fill the table with ten rows 000001-000010.
    Then run the program shown below:
    Code:
    Program: Z_Difference
    Purpose: A program that demonstrates the difference
    between SELECT SINGLE and SELECT UP TO n ROWS.
    This program requires the data table Z_DIFFERENCE
    to have been created according to the structure
    outlined in the text above and populated with
    at least 10 records.
    Creation Date: 21/04/2004
    Requested By:
    Reference Doc:
    Author: R Harper
    Modification History:
    Date Reason Transport Who
    Report Z_Difference
    Message-id 38
    Line-Size 80
    Line-Count 0
    No Standard Page Heading.
    Start-Of-Selection.
    Data: w_Single type Posnr,
    t_Rows type standard table of Posnr
    initial size 0
    with header line.
    Select single Posnr
    from zDifference
    into w_Single.
    Select Posnr
    into table t_Rows
    from zDifference
    up to 1 rows
    order by Posnr descending.
    Write :/ 'Select single:', w_Single.
    Skip 1.
    Write :/ 'Up to 1 rows :'.
    Loop at t_Rows.
    Write t_Rows.
    EndLoop.
    You should see the output:
    Select single: 000001
    Up to 1 rows : 000010
    The first 'SELECT' statement selected the first record in the database according to any selection criterion in the 'WHERE' clause. This is what a 'SELECT SINGLE' does. The second 'SELECT' has asked the database to reverse the order of the records before returning the first row of the result.
    In order to be able to do this the database has read the entire table, sort it and then return the first record. If there was no ORDER BY clause then the results would have been identical (ie both '000001') but the second select if given a big enough table to look at would be far slower.
    Note that this causes a problem in the Extended Program Check if the full key is not specified in a 'SELECT SINGLE'. Replacing the 'SELECT SINGLE' by an "UP TO 1 ROWS" will give the same exact results without any warning but the program will run slower and consume more memory. This is a good example of a warning that we should ignore... considering you are sure of what you are doing !!

  • My battery if you charge provided that is connected to the electric current, I believe is a false contact between the battery and the electric current

    my battery if you charge provided that is connected to the electric current, I believe is a falsecontact between the battery and the electric current

    what problems are you experiencing?  It is difficult to understand your English

  • Need sql querry for records between Current Year First day and Current Day

    Hi,
    I have a table like this...
    Empid     Empname     DOJ
    TEST1     ERDDF     19-Jun-2011
    TEST2     AA     22-Mar-2011
    TEST3     SS     22-Oct-2011
    TEST4     VV     01-Jan-2012
    TEST5     HH     01-Apr-2012
    TEST6     AS     18-Jun-2012
    TEST7     ER     26-Jun-2012
    TEST8     ERDDF     28-Jun-2012
    My output like this...
    Empid     Empname     DOJ
    TEST4     VV     01-Jan-2012
    TEST5     HH     01-Apr-2012
    TEST6     AS     18-Jun-2012
    TEST7     ER     26-Jun-2012
    Logic:
    records between Current Year First day and Current Day(sysdate)

    937506 wrote:
    Hi,
    I have a table like this...
    Empid     Empname     DOJ
    TEST1     ERDDF     19-Jun-2011
    TEST2     AA     22-Mar-2011
    TEST3     SS     22-Oct-2011
    TEST4     VV     01-Jan-2012
    TEST5     HH     01-Apr-2012
    TEST6     AS     18-Jun-2012
    TEST7     ER     26-Jun-2012
    TEST8     ERDDF     28-Jun-2012
    My output like this...
    Empid     Empname     DOJ
    TEST4     VV     01-Jan-2012
    TEST5     HH     01-Apr-2012
    TEST6     AS     18-Jun-2012
    TEST7     ER     26-Jun-2012
    Logic:
    records between Current Year First day and Current Day(sysdate)Probably you are looking for :
    where DOJ between trunc(sysdate,'YYYY') and sysdateRead {message:id=9360002} and always provide details mentioned in this thread.

  • I am currently on the Photoshop and lightroom cc bundle, but for my coarse i need InDesign, if i upgrade to full package ($600) do i get that aswell? is it a dramatic difference between the cc and Cs6? would it be better to invest in it, and can i do a pa

    I am currently on the Photoshop and lightroom cc bundle, but for my coarse i need InDesign, if i upgrade to full package ($600) do i get that aswell? is it a dramatic difference between the cc and Cs6? would it be better to invest in it, and can i do a payment plan?

    The complete CC has indesign included in it.
    Regarding your second question: CC is the advanced version of CS6 with advanced & additional features & functions.
    The payment plan for education will suit you the best since you are studying.
    Please refer to Adobe Creative Cloud for students and teachers | Adobe
    Student software discounts, student eligibility | Adobe
    Regards
    Rajshree

  • Using a 2-D array Single Process Shared Variable w/ RT FIFO for comm between a Deterministic and non-deterministic loop on an RT Target

    Our problem is that we currently use a 2D array to store CAN data on a Real-time Target. The array is 20 elements of 3 byte elements as so:
                    0              1              2
    0              [byte]   [byte]   [byte]
    19           [byte]   [byte]   [byte]
    These values are passed between a Deterministic Timed (DT) loop where they are set and a Non-Deterministic Timed (NDT) loop where they are read and passed into a Network Published Shared Variable (NPSV) for communication across the network to a Host PC. I have insrted an image for illustration, pardon the size.
    Currently to pass the data between the DT and NDT loop we are using a Global Variable (GV). To improve the system we have attempted to replace these GVs with Single Process Shared Variables (SPSV) with an RT FIFO enabled.
    To create the shared variable I simply right clicked the GV of interest and selected create Shared Variable Node form the drop downs. At this point LabVIEW presented me with a 2D NPSV within a new Library hosted on the RT Target. I then selected this new NPSV from the Project, changed it to a SPSV, and enabled a single element FIFO. This variable was initialized with a default value for the size described above and then used in our code for the DT to NDT communication, and conversion to a corresponding NPSV for sending to the Host.
    When I went to run the code I noticed that the variable was in fact 2D, however its size was only 2 elements of three bytes each, in other words only two of the row indices were populated and the other appeared as uninitialized. in addition, this data had no resemblance to the set initilazation value. This was also how the variable was presented on the host side of the network after tranfer into a NPSV.
    The peculiar part is that If I change this SPSV to a NPSV and then try to change it back, I receive an error saying the type is not supported for SPSV with an RT FIFO enabled. I have to disable the FIFO (which defeats the entire purpose) in order to successfully compile! I am unclear as to what is the bug in this case. Should I not be allowed to create the original 2D SPSV with a single element RT FIFO enabled without receiving an error? Or if this is okay how do I fix the problems associated with the variable after being allowed to create it?
    I have found the following discussion in which a user states “The only limitations for custom controls is the ability to use it with RT FIFO enabled on a network-published shared variable”. Is this also true for SPSV? I have not found any documentation explicitely stating this for SPSV, though it is stated for the NPSVs.

    Martin,
    RT FIFOs don't support Multi-Dimensional Arrays, which would corroborate the issues you're seeing.  You can break up the 2D array into 1D arrays by reshaping the array, then you'll be able to use the RT FIFO enabled variable, just set the array size to the total number of elements (20*3 = 60).
    You can also pass the 2D array via pre-allocated queue, or using a Functional Global.  We have a reference example for a circular buffer using Functional Globals here.

  • PPR between the MessageLOVInput and the SubTabs

    Hi,
    I need information of how i can achieve the PPR action between a messageLOVInput and the tab. From the dev guide i have come to know that the MessageLOVInput doesn't have Enable PPR option so we need to capture the event and handle it manually.
    This is what i have done currently :-
    1. Captured the Event for the LOV in the page controller as
    if (pageContext.isLovEvent()) {
    2. Passed the variables using Serializable[] param = { plant, plc }; and called AM.invokeMethod(...).
    3. In the AM i am executing the query which is connected to the table in the subtab.
    After doing this i am able to successfully generate the event but somehow the region is not refreshing.
    Do i need to create a seperate controller for each SubTab and call the Super. processFormRequest(...) inside the AM for doing so?
    Any help on this would be great.
    Thanks,
    Ankit

    Ankit,
    Check the Vo attached to ur table, does it generate any rows after u attach dynamic where clause. For this print row count of the VO after ur code for dynmaic where clause is executed.For this u don't need even redirection to same page, even post event would do.
    Also check when ur re-directing to same page, is there any code in process request, which makes no of rows 0.
    Essentially print the number of rows both in process and process form request after ur where clause code is executed.
    --Mukul                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

Maybe you are looking for

  • Vendor master - Partner functions

    Hello Team, There is a vendor master with partner functions maintained for OA (Ordering address) There are 4 different ordering address vendors maintained in this vendor master. Let us say Vendor A ---> has OA's - 1,2,3,4 Now when a PO is created a s

  • How to set cashe '0' in fixed assets

    Hi guys well i am facing a problem in fixed assest numbers,when we insert a data manualy from application then we have 20 numbers forwarded number. for example we have sequence in asset number (1 2 3 4 22 23 24 25 26 36 37 38 39 and so on i want to s

  • Networking 2 Macs Together

    Hi, Is there an easy way to network a MDD G4 Mac to a new Mac Pro? I'm trying to decide whether to sell my old Mac or whether I might could use it for "storage" purposes (have some hefty hard drives in it)... Thanks! Jacki

  • Zones with sam-qfs

    Does anyone have experience is using sam-qfs in a container/zone environment, where, for example, two non-global zones can share the same sam-qfs filesystem? Seems to be a lack of documentation, at least so far as I can find, other than a couple of b

  • Smart Playlists not syncing correctly to iPhone/iPad with iTunes Match

    My manual playlists are syncing correctly to both devices, but smart playlists are a mess.  They don't seem to match any criteria that they are created with, especially song limits.  However, smart playlists are syncing correctly in iTunes on multipl