Input parameters in view statement.

Hi SAP gurus,
i created a view for inventory ZINV_VIEW in sql server 2008,  in that view i  used 3 UNION ALL statement..
then executing query ON  ZINV_VIEW   in SAP Query Generator...
now i have a requirement to prompt the user to enter 'From Date' and 'To Date' in  ZINV_VIEW query..
does any one know how to create a view that accept user input value..?
i appreciate your help...
Thanks and Regards,
kaviprashu

Hello
Note: The view has no parameters, the result set of the view (like a table) can be filtered by conditions in the where cause of SQL statement.
it is an very old trick in SAP B1. Use the following code, please note: sql comments  are used to get parameters from standard table !
/*select top 1* from OINM t0 where t0.DocDate >= [%0] and t0.DocDate <= [%1]*/
select * from ZINV_VIEW where YOUR_DATE_FIELD between [%0] and [%1]
Regards
János

Similar Messages

  • Hierarchy on HANA Calculation View with Optional Input Parameters Fails

    Hi,
    Has anyone succeeded in building a hierarchy on top of a calculation view with optional input parameters, where an input parameter is not filled?
    The original requirement came from the wish to create a parent child hierarchy on a calculation view that was copied into the customer space from a HANA Live Financial Statement query view, but I have found the following when creating a simple level hierarchy on a calculation view that consumes one table. The Calculation View has one Input Parameter where the 'mandatory' box is unchecked.
    Calculation view reads ECC table FAGLFLEXT
    Simple level based hierarchy on fields PRCTR, RACCT and SEGMENT
    Input parameter is used as a filter for PRCTR with logic ("EMPTY" = '$$P_PROFITCTR$$' or "PRCTR" = '$$P_PROFITCTR$$')
    When I run the view I see the following behaviour in HANA Studio and Analysis for Excel
    Before building the hierarchy I could run the view with or without the Input Parameter
    After building the hierarchy I can run the view with the Input Parameter filled, but it fails when the Input Parameter is not filled.
    Error message is "error: search table error:  [2426] missing placeholder; missing value for mandatory parameter P_PROFITCTR"
    P_PROFITCTR is not a mandatory parameter, but the selection for the hierarchy view thinks it should be. I don't find any notes around this issue, so I don't think it's version related, however the version I have used for this test is 1.00.70.
    It's a shame we can't currently build the hierarchy as the parent child relationship is provided in HANA Live view NewGLFinancialStatementQuery.
    Thanks,
    Ken

    Hi Ken,
    We have been facing similar issue. We have even tried to set default value and as optional parameter. View still fails to create hierarchy (we are not using HANA live). As mentioned on page 97 of HANA modelling guide input parameter is mandatory from engine point of view. Hierarchy is generated as column view during the initial activation of calculation view and therefore expect a value by caller.
    This seems to be a product error. Some one from HANA development team should explain this issue in detail. I would expect someone like Thomas Jung reply to us.
    At the moment, we cant use input parameter for date prompt which gives us calendar popup feature for date selection. Hierarchies just don't work with input parameter. We are missing something.
    Regards
    Angad

  • Is it possible to use a case statement when joining different tables based on input parameters?

    Hi,
    I have a scenario where my stored procedure takes 5 parameters and the users can pass NULL or some value to these parameters and based on the parameters, I need to pull data from various tables.
    Is it possible to use a case statement in the join, similar the one in the below example. I'm getting error when I use the below type of statement.
    select a.*
    from a
    case
    when parameter1=1 then
    inner join a on a.id = b.id
    when parameter1=2 then
    inner join a on a.id = c.id
    end;
    Please let me know, if this type of statement works, and if it works will it create any performance issues?. If the above doesn't work, could you please give me some alternate solutions?
    Thanks.

    Here's a technique for joining A to B or C depending on the input parameters. In theory, you are joining to both tables but the execution plan includes filters to skip whichever join is not appropriate. The drawback is that you have to do outer joins, not inner ones.
    CREATE TABLE A AS SELECT LEVEL ak FROM dual CONNECT BY LEVEL <= 100;
    CREATE TABLE b AS SELECT ak, bk
    FROM A, (SELECT LEVEL bk FROM dual CONNECT BY LEVEL <= 10);
    CREATE TABLE c(ak, ck) AS SELECT ak, bk*10 FROM b;
    variable p1 NUMBER;
    variable p2 NUMBER;
    exec :p1 := 1;
    exec :p2 := 20;
    SELECT /*+ gather_plan_statistics */ A.ak, nvl(b.bk, c.ck) otherk FROM A
    LEFT JOIN b ON A.ak = b.ak AND :p1 IS NOT NULL AND b.bk = :p1
    LEFT JOIN c ON A.ak = c.ak AND :p1 is null and :p2 IS NOT NULL and c.ck = :p2
    WHERE A.ak <= 9;
    SELECT * FROM TABLE(dbms_xplan.display_cursor(NULL,NULL,'IOSTATS LAST'));
    | Id  | Operation             | Name            | Starts | E-Rows | A-Rows |   A-Time   | Buffers |
    |   0 | SELECT STATEMENT      |                 |      1 |        |      9 |00:00:00.01 |       7 |
    |*  1 |  HASH JOIN OUTER      |                 |      1 |      9 |      9 |00:00:00.01 |       7 |
    |*  2 |   HASH JOIN OUTER     |                 |      1 |      9 |      9 |00:00:00.01 |       7 |
    |*  3 |    TABLE ACCESS FULL  | A               |      1 |      9 |      9 |00:00:00.01 |       3 |
    |   4 |    VIEW               | VW_DCL_5532A50F |      1 |      9 |      9 |00:00:00.01 |       4 |
    |*  5 |     FILTER            |                 |      1 |        |      9 |00:00:00.01 |       4 |
    |*  6 |      TABLE ACCESS FULL| B               |      1 |      9 |      9 |00:00:00.01 |       4 |
    |   7 |   VIEW                | VW_DCL_5532A50F |      1 |      9 |      0 |00:00:00.01 |       0 |
    |*  8 |    FILTER             |                 |      1 |        |      0 |00:00:00.01 |       0 |
    |*  9 |     TABLE ACCESS FULL | C               |      0 |      9 |      0 |00:00:00.01 |       0 |
    Predicate Information (identified by operation id):
       1 - access("A"."AK"="ITEM_0")
       2 - access("A"."AK"="ITEM_1")
       3 - filter("A"."AK"<=9)
      5 - filter(:P1 IS NOT NULL)
       6 - filter(("B"."AK"<=9 AND "B"."BK"=:P1))
       8 - filter((:P2 IS NOT NULL AND :P1 IS NULL))
       9 - filter(("C"."AK"<=9 AND "C"."CK"=:P2))
    You can see that table C was not really accessed: the buffer count is 0.
    exec :p1 := NULL;
    SELECT /*+ gather_plan_statistics */ A.ak, nvl(b.bk, c.ck) otherk FROM A
    LEFT JOIN b ON A.ak = b.ak AND :p1 IS NOT NULL AND b.bk = :p1
    LEFT JOIN c ON A.ak = c.ak AND :p1 is null and :p2 IS NOT NULL and c.ck = :p2
    WHERE A.ak <= 9;
    SELECT * FROM TABLE(dbms_xplan.display_cursor(NULL,NULL,'IOSTATS LAST'));
    Now table B is not accessed.
    | Id  | Operation             | Name            | Starts | E-Rows | A-Rows |   A-Time   | Buffers | Reads  |
    |   0 | SELECT STATEMENT      |                 |      1 |        |      9 |00:00:00.02 |       7 |      2 |
    |*  1 |  HASH JOIN OUTER      |                 |      1 |      9 |      9 |00:00:00.02 |       7 |      2 |
    |*  2 |   HASH JOIN OUTER     |                 |      1 |      9 |      9 |00:00:00.01 |       3 |      0 |
    |*  3 |    TABLE ACCESS FULL  | A               |      1 |      9 |      9 |00:00:00.01 |       3 |      0 |
    |   4 |    VIEW               | VW_DCL_5532A50F |      1 |      9 |      0 |00:00:00.01 |       0 |      0 |
    |*  5 |     FILTER            |                 |      1 |        |      0 |00:00:00.01 |       0 |      0 |
    |*  6 |      TABLE ACCESS FULL| B               |      0 |      9 |      0 |00:00:00.01 |       0 |      0 |
    |   7 |   VIEW                | VW_DCL_5532A50F |      1 |      9 |      9 |00:00:00.01 |       4 |      2 |
    |*  8 |    FILTER             |                 |      1 |        |      9 |00:00:00.01 |       4 |      2 |
    |*  9 |     TABLE ACCESS FULL | C               |      1 |      9 |      9 |00:00:00.01 |       4 |      2 |

  • Error while creating a BO Universe (using IDT) on top of SAP HANA Calculation View with Input Parameters

    Hi All..
          We are trying to create a Universe (using IDT-Version4.0) on top of the HANA Calculation view. The Calculation view has 4 input parameters, So
    in Universe side we have created the respective prompts. For the creation of derived table we have used the following code
    SELECT *
    FROM "_SYS_BIC"."<schema_name>.<CV_Calculation_View_test>"
    'PLACEHOLDER'=('$$IP_A$$','@Prompt(A)'),
    'PLACEHOLDER'=('$$IP_B$$','@Prompt(B)'),
    'PLACEHOLDER'=('$$IP_C$$','@Prompt(C)'),
    'PLACEHOLDER'=('$$IP_D$$','@Prompt(D)')
    While validating the above code we are getting an error.
    I have attached the snapshot of that error for your reference. Please find the attachment and help me in resolving it.
    Thanks in advance.

    Hello George,
    I don't have any personalization set on the info space. Also I am using mapped Account in BI to connect to HANA. The confusing part is that it is able to validate the infospace with the input parameters and index it. However query does not return any results. I even tried running the same query which explorer sends to HANA in the SQL editor and there too the same results,the query does not return anything. The model does return data when I do a data preview and if accessed from other tools like AAO.
    Also when I use SSO connection to HANA, indexing of the infospace fails. Where can I see the error log?
    Thanks,

  • Error when using Analytic view with Input Parameters

    Hi,
    I am trying to create an info space based on my Analytic view which has input parameters. The infospace is validated and indexed without any issue. However when I ran the view, I get an error (50011) as it is unable to fetch any results. I tried using an infospace based on Calculation view with input parameters and the explorer view works without any issue.
    Has anyone faced similar issues?
    We are using HANA SP 6 rev 67 and BI 4.0 SP 4.
    Also is there a way to enable input prompts for the users when they refresh the BO Explorer view? If not currently available is there any work around ?
    Thanks

    Hello George,
    I don't have any personalization set on the info space. Also I am using mapped Account in BI to connect to HANA. The confusing part is that it is able to validate the infospace with the input parameters and index it. However query does not return any results. I even tried running the same query which explorer sends to HANA in the SQL editor and there too the same results,the query does not return anything. The model does return data when I do a data preview and if accessed from other tools like AAO.
    Also when I use SSO connection to HANA, indexing of the infospace fails. Where can I see the error log?
    Thanks,

  • Using calculation view in excel with input parameters

    Hello
    I have a calculation view which receives 2 input parameters for a range of dates, when i create the connecction with Excel i get the error "sql processing error: Hierarchy source query: SQL: column store error: search table error: [34092] search on calculation model requires parameters: Required variable $$MyVariable$$ is not set"
    I would like to know how can i pass the parameteres from excel to my calculation view??
    Thanks

    I doubt this can be achieved with a native Excel connection. Try SAP Advanced Analysis for Office. (I believe it may now just be called Analysis for Office).

  • Questions on CDS Views with input parameters

    Dear Experts,
    1. Can we call a CDS View (or generated database view) with input parameters inside an AMDP? I am looking for something similar to the feature in HANA where we can consume calculation view with filters inside SQL Script?
    2. I understand we can next CDS Views, but how we can next (call) a CDS View with input parameters inside another CDS View?
    Thanks,
    Giri

    Hi Thomas,
    I get the below error that the CDS View's generated table function cannot take field from AMDP.
    I have a requirement to query the CDS View using 2 timestamps (start & end). So, in AMDP I have used the TIME_STAMP and try to pass it to the CDS View
    View code:
    define view Z_Ngi_Cag_A
    with parameters start_ts:abap.dec( 15, 0 ) , end_ts:abap.dec( 15, 0 )
    as select from table {
    resource_key
    where
    (begtstmp > $parameters.start_ts or endtstmp > $parameters.start_ts )
    and
    (begtstmp < $parameters.end_ts or endtstmp < $parameters.end_ts )
    I am calling using the below AMDP:
    DECLARE iv_start_date TIMESTAMP;
    DECLARE iv_end_date TIMESTAMP;
    SELECT CURRENT_TIMESTAMP INTO iv_start_date from dummy;
    SELECT ADD_DAYS(CURRENT_TIMESTAMP, 30) INTO iv_end_date from dummy;
    et_data =      SELECT * FROM ZMR_H_CA ( start_ts => iv_start_date, end_ts =>  iv_end_date );
    What could be wrong ? Is this not supported?
    Thanks,
    Giri

  • Call a Graphical Calc view with input Parameters from a Script Based Calc View

    Hi All.
    I am trying to call a graphical calculation view with input parameters from a script based calculation view as below but getting syntax error:
    SESSION_SAMPLE = SELECT SESSION_CREATE_DATE,SHA256,CA_MEASURE
                                 FROM "_SYS_BIC"."WILDFIRE/CV_SESSION_SAMPLE"
                                 WITH PARAMETERS  ('PLACEHOLDER' = ('$$IP_START_DATE$$',:START_DATE),
                                     'PLACEHOLDER' = ('$$IP_END_DATE$$',:END_DATE));
    START_DATE  and END_DATE are input parameters of the script based calculation view.
    Can anyone please help me with the correct syntax for accomplishing this?
    Thanks,
    Goutham

    Hi Gautham,
    One more option  what i would like you to try is the below option , here i have just changed the order of passing nothing else.
    SESSION_SAMPLE = SELECT SESSION_CREATE_DATE,SHA256,CA_MEASURE
                                 FROM "_SYS_BIC"."WILDFIRE/CV_SESSION_SAMPLE"
                                   ('PLACEHOLDER' = ('$$IP_END_DATE$$','$$END_DATE$$'),
                                  'PLACEHOLDER' = ('$$IP_START_DATE$$','$$START_DATE$$'))
    Regards,
    Vinoth

  • Calculated view with input parameters

    Hello there.
    I've created a calculated view with input parameters, which I am going to call  it  'VIEW_A'.
    This view has been working just fine.
    But now I have to create another calculated view and import the last one(VIEW_A) in a projection.
    But I got a error when trying to see the data content. 
    It says :
    Error: SAP DBTech JDBC: [2048]: column store error: search table error:  [6968] Evaluator: syntax error in expression string;expected TK_ID,parsing '"DT_DOC_MES_ANO" >= [here]and "DT_DOC_MES_ANO" <='
    At the 'Problems' panel it says the all the input parameters are unmapped.
    What Am I doing wrong?  Sorry but I am kind new at SAP world.

    http://scn.sap.com/message/15489475Hello Tiago,
    Could you please let me know if you're able to resolve your issue, I'm getting the similar error when I'm passing alpha numeric values as parameter via my SP.
    Thanks for your help in advance!
    Regards,
    Sathish

  • Calculation view with input parameters

    Hello there.
    I got a calculation with that expects 2 input parameters.
    But now I have to created another calculation view that import this calculation view.
    How can I pass these 2 parameters using sqlscript?
      My script so far
      cv1 = CE_CALC_VIEW("_SYS_BIC"."calc_1",["CR"],'"COMPANY"=''7000''');
    I must pass 2 parameters in this  "_SYS_BIC"."calc_1" table

    Hi Tiago,
    as I am aware, you cannot pass input parameters to CE function.
    You can try using regular SQL syntax:
    SELECT "CR" FROM "_SYS_BIC"."calc_1"
    WHERE "COMPANY" = 7000
    (PLACEHOLDER."$$PARAM_1$$" => VALUE_1,
    PLACEHOLDER."$$PARAM_2$$" => VALUE_2)

  • Locale Input changes on Mac OS X Lion when changing the view state

    On Mac OS X Lion, the following code results of changing the locale input when changing the view state. If you set the input locale to Pynin, then run the application, then click on "go to the test 2", the input locale changes back to english. This is obviously not the correct behavior (the input locale should stay the same as defined on the computer).
    <?xml version="1.0" encoding="utf-8"?>
    <s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
                           xmlns:s="library://ns.adobe.com/flex/spark"
                           xmlns:mx="library://ns.adobe.com/flex/mx">   
        <fx:Script>
            <![CDATA[
                protected function gototest2(event:MouseEvent):void
                    this.currentState = "test2";
                protected function gototest(event:MouseEvent):void
                    this.currentState = "test";
            ]]>
        </fx:Script>
        <s:states>
            <s:State name="test" />
            <s:State name="test2" />
        </s:states>
        <s:Button label="go to test" includeIn="test2" click="gototest(event)" />
        <s:Button label="go to test2" includeIn="test" click="gototest2(event)" />
        <s:TextInput includeIn="test2" />
    </s:WindowedApplication>

    Could you please open a new bug report on this over at bugbase.adobe.com?  Please post back with the URL so that others affected can add their comments and votes.

  • Duplicating Data Sets depending on input parameters

    I originally posted this question as part of Oracle Reports but I think its not really an Oracle Report issue, its more an SQL Issue. I am on Oracle 9i.
    I need to generate a Report that is based on a maximum of 6 input parameters.
    Three of them belong to Customer ID# and 3 belong to Number of Copies that need to be printed on the Report.
    Parameters for Customers: P_CUST_ID1, P_CUST_ID2, P_CUST_ID3
    Parameters for the Number of Copies: P_N1, P_N2, P_N3
    So, at any given point, there could be a maximum of 3 Customer ID's passed to the main query. Here is an example of what the input parameters could look like.
    User chose to enter values for Customer ID's 1 and 2 and left it blank for Customer 3.
    Customer ID1   1001         Number of Copies   2
    Customer ID2   1002         Number of Copies   3
    Customer ID3   ----         Number of Copies   -The Query that retrieves data looks something like this. The query below is intended to fetch Customer Home and Office Addresses.
    Of course, it is possible that there might be No home or Office Address or both.
    SELECT    c.cust_no,
              c.saln||c.first_name||' '||c.last_name cust_name,
              a.address_type,
              a.street,
              a.city||' '||a.province||' '||a.postal_code city,
              '('||a.tel_area||') '||a.tel_number telephone
    FROM      customer c, customer_address a
    WHERE     c.cust_no = a.cust_no
    AND       c.cust_no IN (:P_CUST_ID1, :P_CUST_ID2, :P_CUST_ID3);Based on my query:
    Customer ID 1001 has 3 Addresses (2 Home and 1 Office) --> Total number of Records = 3
    Customer ID 1002 has 2 Addresses (1 Home and 1 Office) --> Total number of Records = 2
    The output should be something like this. I have put a Label Copy1, Copy2 and Copy3 to show
    how the data will appear for readability.
    Cust No Customer Name      Address Type    Address Line 1         Address Line 2        Telephone
    Copy1
    1001    Mr Robert Green    H               2100 Picket Fences     Vancouver BC V6E 2C9 (604)726-5555
    1001    Mr Robert Green    H               2300 Happy Valley      Vancouver BC V6G 2N8 (604)308-5555
    1001    Mr Robert Green    O               1200 Davie Street      Vancouver BC V1V 1X1 (604)211-5555
    Copy2
    1001    Mr Robert Green    H               2100 Picket Fences     Vancouver BC V6E 2C9 (604)726-5555
    1001    Mr Robert Green    H               2300 Happy Valley      Vancouver BC V6G 2N8 (604)308-5555
    1001    Mr Robert Green    O               1200 Davie Street      Vancouver BC V1V 1X1 (604)211-5555
    Copy1
    1002    Ms Cynthia Brown   H               261 King Street W      Calgary AB M5A 1N1   (416)432-5555
    1002    Ms Cynthia Brown   O               150 Bloor St W         Calgary AB M1W 1S3   (416)321-5555
    Copy2
    1002    Ms Cynthia Brown   H               261 King Street W      Calgary AB M5A 1N1   (416)432-5555
    1002    Ms Cynthia Brown   O               150 Bloor St W         Calgary AB M1W 1S3   (416)321-5555
    Copy3
    1002    Ms Cynthia Brown   H               261 King Street W      Calgary AB M5A 1N1   (416)432-5555
    1002    Ms Cynthia Brown   O               150 Bloor St W         Calgary AB M1W 1S3   (416)321-5555Scripts for the table creation and INSERTs
    CREATE TABLE CUSTOMER
        "CUST_NO"    VARCHAR2(4 BYTE) NOT NULL,
        "SALN"       VARCHAR2(4 BYTE),
        "FIRST_NAME" VARCHAR2(20 BYTE),
        "LAST_NAME"  VARCHAR2(20 BYTE),
        CONSTRAINT "CUSTOMER_PK" PRIMARY KEY ("CUST_NO")
    Insert into CUSTOMER values ('1001','Mr','Robert','Green');
    Insert into CUSTOMER values ('1002','Ms','Cynthia','Brown');
    Insert into CUSTOMER values ('1003','Dr','David','Taylor');
    CREATE TABLE CUSTOMER_ADDRESS
        "CUST_NO"      VARCHAR2(4 BYTE) NOT NULL ENABLE,
        "ADDRESS_TYPE" VARCHAR2(1 BYTE) NOT NULL ENABLE,
        "STREET"       VARCHAR2(20 BYTE),
        "CITY"         VARCHAR2(20 BYTE),
        "PROVINCE"     VARCHAR2(2 BYTE),
        "POSTAL_CODE"  VARCHAR2(10 BYTE),
        "TEL_AREA"     VARCHAR2(3 BYTE),
        "TEL_NUMBER"   VARCHAR2(10 BYTE)
    Insert into CUSTOMER_ADDRESS values ('1001','H','2100 Picket Fences','Vancouver','BC','V6E 2C9','604','726-5555');
    Insert into CUSTOMER_ADDRESS values ('1001','H','2300 Happy Valley','Vancouver','BC','V6G 2N8','604','308-5555');
    Insert into CUSTOMER_ADDRESS values ('1001','O','1200 Davie Street','Vancouver','BC','V1V 1X1','604','211-5555');
    Insert into CUSTOMER_ADDRESS values ('1002','H','261 King Street W','Calgary','AB','M5A 1N1','416','432-5555');
    Insert into CUSTOMER_ADDRESS values ('1002','O','150 Bloor St W','Calgary','AB','M1W 1S3','416','321-5555');
    Insert into CUSTOMER_ADDRESS values ('1003','O','435 Richmond Street','Calgary','AB','M5A 4T6','416','453-5555');Any help or pointers in this regard would be great.
    I could have adopted a procedure to use Temporary tables but I really would prefer not going in that direction as there could be quite a few reports that need to be generated in this manner.
    Thanks and have a great weekend.

    Hi,
    Roxyrollers wrote:
    Hi Frank,
    Here is my piece of code that I was working on Friday... Okay, but what's wrong with the solution I posted on Saturday?
    WITH     report_parameters     AS
         SELECT  :p_cust_no_1 AS cust_no, :p_no_copies_1 AS no_copies  FROM dual  UNION ALL
         SELECT  :p_cust_no_2 AS cust_no, :p_no_copies_2 AS no_copies  FROM dual  UNION ALL
         SELECT  :p_cust_no_3 AS cust_no, :p_no_copies_3 AS no_copies  FROM dual
    ,     cntr          AS
         SELECT     LEVEL     AS n
         FROM     (
                   SELECT  MAX (no_copies)     AS max_no_copies
                   FROM     report_parameters
         CONNECT BY     LEVEL     <= max_no_copies
    SELECT    c.cust_no,
              c.saln||c.first_name||' '||c.last_name cust_name,
              a.address_type,
              a.street,
              a.city||' '||a.province||' '||a.postal_code city,
              '('||a.tel_area||') '||a.tel_number telephone
    ,       t.n                -- If wanted
    FROM      customer           c
    ,        customer_address   a
    ,       report_parameters  p
    ,       cntr               t
    WHERE     c.cust_no           = a.cust_no
    AND       c.cust_no           = p.cust_no
    AND       p.no_copies          >= t.n
    ORDER BY  c.cust_no
    ,       t.n
    ,            a.address_type
    ;Output, given your sample data and parameters:
    CUST CUST_NAME       A STREET               CITY                      TELEPHONE                 N                                                    
    1001 MrRobert Green  H 2100 Picket Fences   Vancouver BC V6E 2C9      (604) 726-5555            1                                                    
    1001 MrRobert Green  H 2300 Happy Valley    Vancouver BC V6G 2N8      (604) 308-5555            1                                                    
    1001 MrRobert Green  O 1200 Davie Street    Vancouver BC V1V 1X1      (604) 211-5555            1                                                    
    1001 MrRobert Green  H 2100 Picket Fences   Vancouver BC V6E 2C9      (604) 726-5555            2                                                    
    1001 MrRobert Green  H 2300 Happy Valley    Vancouver BC V6G 2N8      (604) 308-5555            2                                                    
    1001 MrRobert Green  O 1200 Davie Street    Vancouver BC V1V 1X1      (604) 211-5555            2                                                    
    1002 MsCynthia Brown H 261 King Street W    Calgary AB M5A 1N1        (416) 432-5555            1                                                    
    1002 MsCynthia Brown O 150 Bloor St W       Calgary AB M1W 1S3        (416) 321-5555            1                                                    
    1002 MsCynthia Brown H 261 King Street W    Calgary AB M5A 1N1        (416) 432-5555            2                                                    
    1002 MsCynthia Brown O 150 Bloor St W       Calgary AB M1W 1S3        (416) 321-5555            2                                                    
    1002 MsCynthia Brown H 261 King Street W    Calgary AB M5A 1N1        (416) 432-5555            3                                                    
    1002 MsCynthia Brown O 150 Bloor St W       Calgary AB M1W 1S3        (416) 321-5555            3                                                     WITH DOES work in Oracle 9.1, and higher. Are you getting an error message that starts with "SP"? Those are SQL*Plus errors, that occur before your code is even sent to the database. In extremely old versions of SQL*Plus, a statement cannont begin with the keyword WITH. The best solution is to upgrade SQL*Plus, but you could also re-wqrite the query so WITH is not the first word of the statement. In this case, you could also use in-line views instead of WITH.
    I tried to generate duplicate data sets as a Sub-Query like RP suggested and it seems to be working except the ordering seems to be messed up for Mr Robert Green. The correct order should have been Home, Home, Office and then Home, Home, Office again...The order above seems to be what you want, but there are many different reasons why a small set of sample data might just happen to appear in the right order.
    Explain why you want that order. If you can say what you want in English, somebody can help you code it in SQL.
    I don't recommend any solution that uses UNION. It will be inefficient, and difficult to debug and to maintain.

  • How to write XSJS Select Query with input parameters

    Hello Experts,
    I am creating a xsjs file and in that file I am trying to write a Select Query based on a Calculation View
    I have tried it the following way:
    var query = 'SELECT TOP 100 \"Name\", \"Address\", \"City\", \"Country\" FROM \"_SYS_BIC\".\"Test.HL/AddressView\"'
        + 'WITH PARAMETERS(\'PLACEHOLDER\' = (\'$$P_Name$$\', \' Akhil \'),'
      + '\'PLACEHOLDER\' = (\'$$P_City$$\', \' Lucknow \'))';
    But it gives me the "Mixed spaces and tabs error".
    How should I write XSJS Select Query with input parameters?
    Regards,
    Rohit

    >But it gives me the "Mixed spaces and tabs error".
    Mixed spaces and tabs has nothing to do with the syntax of the statement. You used both spaces and the tab in the content - which JSLint doesn't like.  Remove the beginning spaces of each line and use only one or the other.
    The actual syntax of your statement doesn't look right.  The problem is that you are escaping the \ when you don't need to if you are using ' instead of " for your string.  You escape with \" in the first line but then escape with \' in the 2nd and 3rd line.  That is going to cause serious parsing problems with the command.

  • How to bind/pass multiple input parameters to sql query in BPEL Process

    Hi,
    I have a requirement to invoke a query on a database table to fetch the records based on the few input values or bind variables?
    I have created a Partner link using the DBAdapter service and have used custom SQL, how can i bind and pass multiple bind/input parameters for these queries.
    foreg: if i have to query employee records based on name , desgination and age, these three params would be my input parameter that i will pass when i invoke the BPEL process, bow how can i pass these parameters to the partner link using DBADAPTER service.
    Please help
    Regards

    If the parameter-value is not known beforehand and cannot be determined based on the process instance data at that time, there are 2 options. Either invoke the PL/SQL procedure you named using a DB adapter service to get the value and pass it to the other DB adapter service. Or create a single service (e.g. PL/SQL procedure) that determines the parameter value, executes the query and returns the result. However, this is more a design issue. Does it makes sense to combine these actions in a separate service and use it or are these actions not related? You furthermore state that additional (DB adapter) services make the process heavier. Do you have strict requirements on the time process-instances may run or other such requirements? If not, I think the design-choice on whether combining these actions in a single service should have more priority.

  • How to make input parameters as optional in the function definition

    I have created a function for a data service which is at the Normalized layer and has 3 input parameters.
    This function is called at the Integration layer in which we have to pass only one parameter. But for the remaning 2 parameters it is throwing an error as we cannot pass those parameters.
    Is it possible that we can pass less number of parameters in the higher layer.
    I had also made those parameters as optional in the function definition(by applying '?' while defining the arguments-e.g. $x as xs:string?), but error was thrown while generating the query plan.
    I have attached a Demo project, in which i have defined a function at the normalized layer and this function is been called at the integration layer.
    Thanks,
    Kinjal

    Thanks mreiche for the reply
    But the problem is that while writing
    function myfunction( arg1 as xs:string, $arg2 as xs:string?) { ... }
    in function definition in the normalized layer, the query plan is throwing following error:-
    com.bea.ld.QueryException: Cannot generate XQuery for the function {ld:DemoProject/Normalized/TestGeo}getGeo:3
    at weblogic.rjvm.BasicOutboundRequest.sendReceive(BasicOutboundRequest.java:108) at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:290)
    at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:248) at com.bea.ld.Server_ydm4ie_EOImpl_816_WLStub.executeFunction(Unknown Source)     at workshop.liquiddata.xds.views.queryplan.QueryPlanPanel.compileFunction(QueryPlanPanel.java:583) at workshop.liquiddata.xds.views.queryplan.QueryPlanPanel.access$900(QueryPlanPanel.java:39) at workshop.liquiddata.xds.views.queryplan.QueryPlanPanel$5.run(QueryPlanPanel.java:469) at java.lang.Thread.run(Thread.java:534)
    Caused by: com.bea.ld.QueryException: Cannot generate XQuery for the function {ld:DemoProject/Normalized/TestGeo}getGeo:3 at com.bea.ld.EJBRequestHandler.invokeFunction(EJBRequestHandler.java:720) at com.bea.ld.EJBRequestHandler.executeFunction(EJBRequestHandler.java:339) at com.bea.ld.ServerBean.executeFunction(ServerBean.java:95) at com.bea.ld.Server_ydm4ie_EOImpl.executeFunction(Server_ydm4ie_EOImpl.java:312)
    at com.bea.ld.Server_ydm4ie_EOImpl_WLSkel.invoke(Unknown Source)
    at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:491)
    at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:120)
    at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:434)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:147)
    at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:429)
    at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:35)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183)
    Caused by: com.bea.ld.server.FunctionCallQueryBuilder$QueryBuilderException: The following parameter type is not supported: {http://www.w3.org/2001/XMLSchema}string?
    at com.bea.ld.server.FunctionCallQueryBuilder.addParameter(FunctionCallQueryBuilder.java:257)
    at com.bea.ld.server.FunctionCallQueryBuilder.buildQuery(FunctionCallQueryBuilder.java:99)
    at com.bea.ld.EJBRequestHandler.invokeFunction(EJBRequestHandler.java:716)
    But no error is thrown when I call this function at the Integration layer,using
    for $f in mfunction( 'test', () )
    and the output which i get is as expected.

Maybe you are looking for