Boolean 'and' 'or' interpretation of the parameter values

It seems that when you enter a value in the parameter field, it is interpreted as a Boolean expression. For example, if the user enters "Analyst" in a parameter field, Pub BI deals "or" at the end of the main as a Boolean 'or '. For some reason, it does not, and then the defaultvalue is substituted for the value of the parameter. The same problem occurs with words that end with 'and '.

I've created a minimum report using the following datatemplate to illustrate this problem. The .rtf report itself includes a field for the parameter MyParm and the value of "sysdate" of the sql statement. When the user enters "Analyst" in the parameter, the report is generated with a ' *' according to the defaultValue specified in the data model rather the status of value "analyst."

< name of dataTemplate = than one dataSourceRef 'DATA' = "OPTDev" >
< Parameters >
< = "MyParm" dataType = "character" defaultValue = parameter name "*" / >
< / Parameter >
< dataQuery >
< SQLStatement instance name = 'MYSQL' >
<! [CDATA]
Select sysdate double
[]] >
< / sqlStatement >
< / dataQuery >
< dataStructure >
< name of group = "G_MYSQL" source = "MYSQL" >
< element name = "sysdate" value = "sysdate" / >
< / Group >
< / dataStructure >
< / dataTemplate >

I use BI Publisher 10.1.3.4.

Its a bug, reported to Oracle.

If they find a GOLD or AND in the value of the parameter, they reject as invalid value, as they say, it could lead way for SQL injection.

I would ask you to go to the support of Oracle or Log SR for that.

Tags: Business Intelligence

Similar Questions

  • Default for the parameter value date

    We use Oracle bi apps 7.9.5. In that when an organization dimension that we don't pass any value of loading
    setting $$ SRC_EFF_TO_DT. It is supported as on 01/01/1753. When the default value of 01/01/1753 is set?

    Is there a way we can define the parameter value globally for all dimensions in Informatica or DAC?

    01/01/1753 is Informatica's default date value. It uses this value when the parameter is passed to the parameter file and no default is mentioned in Informatica. To set the default value in Informatica, you may need to change all the mappings of one by one.

    Easy by default is to set this parameter to DAC - Design-> tab settings of the Source System. This will last for all workflows walked through the DCA during execution.

    Ash

  • How to get the parameter values of a step type custom when I create file and adding a type of step seq

    I use lv 8.5 and teststand 4.0.

    I did a step type custom and recorded at the MyTypes.ini in pallets of type.

    I specified a default module by opening the properties of the custom step of *.ini type window, then I put some values of the parameters.

    T1) when I open teststand and I add the custom step type manaully in seq file, the labview module parameter values are represented.

    But, if to use file (create and add support prototype stage), the labview module parameter values has the default value.

    Using joint file, how to get the setting custom step type values I put in *.ini?

    Q2) each type of step are automatically by name through the use of LoadTypePaletteFilesEx. When I open teststand and I add the custom step type manaully in seq file, the module is loaded automatically. Inside the attachment, I use a prototype of charge and a fixed path where the module labview is to load the labview module.

    Can I load module automatically without using a prototype of charge or how can I get a dynamic path of type step?

    I solved Q1 for myself by using the mapping tab of the parameter within the configuration to the default module window.

    Everyone knows Q2?

    Thank you.

  • Explain the plans differ as the parameter value changes

    Hi all

    My colleague posted a similar question a few days before. Happened because of some bad index. But now we are in a strange situation.

    DB:
    SQL> select * from v$version;
    
    BANNER
    ----------------------------------------------------------------
    Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
    PL/SQL Release 10.2.0.1.0 - Production
    CORE    10.2.0.1.0      Production
    TNS for 32-bit Windows: Version 10.2.0.1.0 - Production
    NLSRTL Version 10.2.0.1.0 - Production
    We use the query below and was working fine until 13.
    SQL> explain plan for
      2  SELECT *
      3    FROM gacc_dtl_v1  acc,
      4         gcus_dtl_v1  cus,
      5         gtxn_dtl_v1  txn
      6   WHERE txn.customer_id = cus.customer_number(+)
      7   AND txn.batch_id = cus.batch_id(+)
      8   AND txn.account_number = acc.id
      9   AND acc.batch_id = '130609'
     10   AND cus.batch_id(+) = '130609'
     11   AND txn.batch_id = '130609' AND cus.target IN ('30');
    
    Explained.
    
    SQL> select * from table(dbms_xplan.display);
    
    PLAN_TABLE_OUTPUT
    -------------------------------------------------------------------------------------------------------------
    Plan hash value: 566819363
    
    -------------------------------------------------------------------------------------------------------------
    | Id  | Operation                     | Name                | Rows  | Bytes |TempSpc| Cost (%CPU)| Time     |
    -------------------------------------------------------------------------------------------------------------
    |   0 | SELECT STATEMENT              |                     |     1 |   947 |       | 16963   (1)| 00:03:24 |
    |   1 |  NESTED LOOPS                 |                     |     1 |   947 |       | 16963   (1)| 00:03:24 |
    |*  2 |   HASH JOIN                   |                     |    41 | 26322 |  9136K| 16799   (1)| 00:03:22 |
    |*  3 |    TABLE ACCESS BY INDEX ROWID| GTXN_DTL_V1         | 31055 |  8764K|       |  2430   (1)| 00:00:30 |
    |*  4 |     INDEX RANGE SCAN          | GTXN_V1_BATCHID_NDX | 60524 |       |       |   156   (2)| 00:00:02 |
    |*  5 |    TABLE ACCESS BY INDEX ROWID| GCUS_DTL_V1         |   176K|    59M|       | 10869   (1)| 00:02:11 |
    |*  6 |     INDEX RANGE SCAN          | IDX_CUS2_V1         |   198K|       |       |   527   (2)| 00:00:07 |
    |   7 |   TABLE ACCESS BY INDEX ROWID | GACC_DTL_V1         |     1 |   305 |       |     4   (0)| 00:00:01 |
    |*  8 |    INDEX RANGE SCAN           | GACC_DTL_V1_IDX     |     1 |       |       |     3   (0)| 00:00:01 |
    -------------------------------------------------------------------------------------------------------------
    
    Predicate Information (identified by operation id):
    ---------------------------------------------------
    
       2 - access("TXN"."CUSTOMER_ID"="CUS"."CUSTOMER_NUMBER" AND "TXN"."BATCH_ID"="CUS"."BATCH_ID")
       3 - filter("TXN"."CUSTOMER_ID" IS NOT NULL)
       4 - access("TXN"."BATCH_ID"='130609')
       5 - filter("CUS"."TARGET"='30')
       6 - access("CUS"."BATCH_ID"='130609')
       8 - access("TXN"."ACCOUNT_NUMBER"="ACC"."ID" AND "ACC"."BATCH_ID"='130609')
           filter(SUBSTR("TXN"."ACCOUNT_NUMBER",1,3)=SUBSTR("ACC"."ID",1,3))
    
    26 rows selected.
    It shows a hash join and nested with cost 16963 loops and gives the result in 2-3 seconds. It gives the same plan to explain even now if we use batch_id = '130609'

    Now all of a sudden from yesterday it gives different explain the plan below. Only difference in the query below is the value of batch_id
    SQL> explain plan for
      2  SELECT *
      3    FROM gacc_dtl_v1  acc,
      4         gcus_dtl_v1  cus,
      5         gtxn_dtl_v1  txn
      6   WHERE txn.customer_id = cus.customer_number(+)
      7   AND txn.batch_id = cus.batch_id(+)
      8   AND txn.account_number = acc.id
      9   AND acc.batch_id = '150609'
     10   AND cus.batch_id(+) = '150609'
     11   AND txn.batch_id = '150609' AND cus.target IN ('30');
    
    Explained.
    
    SQL> select * from table(dbms_xplan.display);
    
    PLAN_TABLE_OUTPUT
    ------------------------------------------------------------------------------------------------------------
    Plan hash value: 773603995
    
    --------------------------------------------------------------------------------------------------------
    | Id  | Operation                     | Name                   | Rows  | Bytes | Cost (%CPU)| Time     |
    --------------------------------------------------------------------------------------------------------
    |   0 | SELECT STATEMENT              |                        |     1 |   947 |    77   (0)| 00:00:01 |
    |   1 |  NESTED LOOPS                 |                        |     1 |   947 |    77   (0)| 00:00:01 |
    |   2 |   NESTED LOOPS                |                        |     1 |   594 |    73   (0)| 00:00:01 |
    |   3 |    TABLE ACCESS BY INDEX ROWID| GACC_DTL_V1            |     1 |   305 |     4   (0)| 00:00:01 |
    |*  4 |     INDEX RANGE SCAN          | GACC_DTL_BATCH_ID_INDX |     1 |       |     3   (0)| 00:00:01 |
    |*  5 |    TABLE ACCESS BY INDEX ROWID| GTXN_DTL_V1            |     1 |   289 |    69   (0)| 00:00:01 |
    |*  6 |     INDEX RANGE SCAN          | IDX_TXN2_V1            |   125 |       |    12   (0)| 00:00:01 |
    |*  7 |   TABLE ACCESS BY INDEX ROWID | GCUS_DTL_V1            |     1 |   353 |     4   (0)| 00:00:01 |
    |*  8 |    INDEX RANGE SCAN           | IDX_CUS3_V1            |     1 |       |     3   (0)| 00:00:01 |
    --------------------------------------------------------------------------------------------------------
    
    Predicate Information (identified by operation id):
    ---------------------------------------------------
    
       4 - access("ACC"."BATCH_ID"='150609')
       5 - filter("TXN"."CUSTOMER_ID" IS NOT NULL AND "TXN"."BATCH_ID"='150609')
       6 - access("TXN"."ACCOUNT_NUMBER"="ACC"."ID")
           filter(SUBSTR("TXN"."ACCOUNT_NUMBER",1,3)=SUBSTR("ACC"."ID",1,3))
       7 - filter("CUS"."TARGET"='30')
       8 - access("CUS"."BATCH_ID"='150609' AND "TXN"."CUSTOMER_ID"="CUS"."CUSTOMER_NUMBER")
           filter("TXN"."BATCH_ID"="CUS"."BATCH_ID")
    
    26 rows selected.
    It shows two loops nested with cost 77, but works for hours. Very very slow.. No idea what's going on...
     select i.table_name,i.index_name,index_type,c.column_name,c.column_position,e.column_expression
       from all_indexes i, all_ind_columns c,all_ind_expressions e
       where c.index_name = i.index_name
       and e.index_name(+) = i.index_name
       and i.table_name in ('GCUS_DTL_V1','GACC_DTL_V1','GTXN_DTL_V')
       order by 1,2,4
    
    TABLE_NAME     INDEX_NAME          INDEX_TYPE          COLUMN_NAME     COLUMN_POSITION     COLUMN_EXPRESSION
    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    GACC_DTL_V1     GACC_DTL_BATCH_ID_INDX     NORMAL               BATCH_ID          1     
    GACC_DTL_V1     GACC_DTL_V1_IDX          NORMAL               BATCH_ID          2     
    GACC_DTL_V1     GACC_DTL_V1_IDX          NORMAL               ID               1     
    GACC_DTL_V1     GACC_DTL_V1_IDX2     FUNCTION-BASED NORMAL     SYS_NC00101$          1     SUBSTR("ID",1,3)
    GACC_DTL_V1     IDX_ACC1_V1          NORMAL               CATEGORY          1     
    GACC_DTL_V1     IDX_ACC3_V1          FUNCTION-BASED NORMAL     SYS_NC00099$          1     "CUSTOMER_NUMBER"||'.'||"LIMIT_REF"
    GACC_DTL_V1     IDX_ACC4_V1          FUNCTION-BASED NORMAL     SYS_NC00100$          1     "CUSTOMER_NUMBER"||'.000'||"LIMIT_REF"
    GACC_DTL_V1     IDX_ACC5_V1          NORMAL               POSTING_RESTRICT     1     
    GACC_DTL_V1     IDX_CUS5_V1          NORMAL               CUSTOMER_NUMBER          1     
    GACC_DTL_V1     IDX_CUS6_V1          NORMAL               LIMIT_REF          1     
    GCUS_DTL_V1     GCUS_DTL_V1_IDX1     NORMAL               CUSTOMER_NUMBER          1     
    GCUS_DTL_V1     IDX_CUS2_V1          NORMAL               BATCH_ID          1     
    GCUS_DTL_V1     IDX_CUS3_V1          NORMAL               BATCH_ID          1     
    GCUS_DTL_V1     IDX_CUS3_V1          NORMAL               CUSTOMER_NUMBER          2     
    GCUS_DTL_V1     IDX_CUS3_V1          NORMAL               INDUSTRY          4     
    GCUS_DTL_V1     IDX_CUS3_V1          NORMAL               SECTOR               3     
    GCUS_DTL_V1     IDX_CUS4_V1          FUNCTION-BASED NORMAL     SYS_NC00078$          1     SUBSTR("DATE_STAMP",1,6)
    We are also do not understand why the filter (SUBSTR ("TXN". ""»(, 1, 3) ACCOUNT_NUMBER = SUBSTR ("VAC". " ID", 1, 3)) is used in both queries.

    All tables are analyzed today.

    Please share your thoughts on this.

    Thanks in advance,
    Jac

    Jac says:

    L     H     NUM_BUCKETS     LAST_ANALYZED     SAMPLE_SIZE     HISTOGRAM
    ------------------------------------------------------------------------------------------------------------------------------------------------
    010109     311208     235     13/Jun/2009     5,343     FREQUENCY
    

    You have a histogram of frequencies on the BATCH_ID column missing at least 2 values according to your index statistics (235 buckets vs 237 separate keys).

    If the value that you use in the query is missing then this could be the explanation for the estimation of cardinality bad (since you're on pre - 10.2.0.4. In 10.2.0.4 that this behavior changes).

    The size of the sample of 5 300 lines is also very low, given the 57,000,000 lines according to the index statistics.

    You have two options (which can be combined):

    -Increase the size of the sample using a parameter explicitly estimate_percent, for example at least 10 percent

    exec DBMS_STATS. GATHER_TABLE_STATS (null, 'GACC_DTL_V1', estimate_percent-online 10, method_opt => 'FOR COLUMNS SIZE 254 BATCH_ID,' waterfall-online fake)

    -Get rid of the histogram

    exec DBMS_STATS. GATHER_TABLE_STATS (null, 'GACC_DTL_V1', method_opt-online 'FOR BATCH_ID COLUMNS SIZE 1', cascade-online fake)

    Note: Is there a particular reason why you store numbers in varchar columns? This might be the reason why Oracle believes that it must generate a histogram using the AUTO SIZE option.

    I tend to promote to remove from the histogram, but you must first verify the data if the BATCH_ID values are spread out and the histogram is reasonable:

    select
            batch_id
          , count(*)
    from
            gacc_dtl_v1
    group by
            batch_id;
    

    No constarints are at the DB level. All are processed Application level.

    Have you checked this in DBA/ALL/USER_CONSTRAINTS?

    It's also a good idea to have constraints at the level of the DB. It keeps your data consistent and quite often helps the optimizer. It allows even 10.2 and later to make things like the elimination of a join table that can make a huge difference in performance.

    Kind regards
    Randolf

    Oracle related blog stuff:
    http://Oracle-Randolf.blogspot.com/

    SQLTools ++ for Oracle (Open source Oracle GUI for Windows):
    http://www.sqltools-plusplus.org:7676 /.
    http://sourceforge.NET/projects/SQLT-pp/

    Published by: Randolf Geist on June 16, 2009 11:48

    Comment added constraints

  • Reset Windows Picture and FAX viewer as the default value for jpeg files after loading of Corel

    I put Windows Picture and FAX Viewer by default to open jpeg, tiff and other pictures, so it appeared as an option in the drop-down list to view attachments that have been downloaded. After loading the software Corel Draw, it is now the only option to open photo files even if Windows Picture and FAX viewer is always defined as the default value. How to restore Windows Picture and FAX Viewer as a choice?

    Have you looked into the Corel software preferences to see if you can cancel these associations?

    There is usually backup keys are created in order to return to the previously used application.

  • Where the parameter value RepriceOrderChainId as repriceOrder in ExpressCheckoutF

    Guys,

    Do you have any ideas on below concern. Please share with us.

    PurchaseProcessFormHandler is an abstract class.

    ATG OOTB:
    ExpressCheckoutFormHandler extends PurchaseProcessFormHandler {}
    handleExpressCheckout () {}
    runRepricingProcess();
    }
    }

    RepriceOrderChainId property has getters and setters to PurchaseProcessFormHandler.

    No RepriceOrderChainId value in the PurchaseProcessFormHandler and ExpressCheckoutFormHandler component.

    But when I logdebug, RepriceOrderChainId values shows "repriceOrder".
    Here, I have a problem where the RepriceOrderChainId value defined as repriceOrder in the flow of
    ExpressCheckoutFormHandler - > PurchaseProcessFormHandler.

    Thank you

    Yes, because PurchaseProcessFormHandler is initialized to repriceOrder of the PurchaseProcessConfiguration.repriceOrderChainId. This happens in his doStartService(). PurchaseProcessConfiguration is located in ExpressCheckoutFormHandler.properties

    If you want to change the mechanism, change it in PurchaseProcessConfiguration and it will reflect PurchaseProcessFormHandler and therefore ExpressCheckoutFormHandler.

    -Kiss

  • Replace repeating lines with white and don't show the distinct values

    Hi all

    I have a SQL query that looks like this:

    SELECT Item_id, item_details, category, group INC.
    OF my_items
    WHERE THE...

    The results are as follows:

    Item_id item_details category group

    001 keyboard PC - 1 Grp1
    001 keyboard PC - 2 Grp1
    003 monitor PC - 1 Grp 1
    003 monitor PC - 2 Grp 2


    What I really want, it's like to have repeated as a draft values and keep only the distinct values. I want the output to be like this:

    Item_id item_details category group

    001 keyboard PC - 1 Grp1
    PC-2
    003 monitor PC - 1 Grp 1
    PC - 2 Grp 2


    Is there a way we can do that? Help, please

    Here's a way using the Lag as mentioned by Tubby...

    SQL> ed
    Wrote file afiedt.buf
    
      1  with t as (select '001' as item_id, 'keyboard' as item_details, 'PC-1' as category, 'Grp1' as grp from dual union all
      2             select '001', 'keyboard', 'PC-2', 'Grp1' from dual union all
      3             select '003', 'monitor', 'PC-1', 'Grp1' from dual union all
      4             select '003', 'monitor', 'PC-2', 'Grp2' from dual)
      5  -- end of test data
      6  select decode(item_id, lag(item_id) over (partition by item_id order by category, grp), null, item_id) as item_id
      7        ,decode(item_details, lag(item_details) over (partition by item_id order by category, grp), null, item_details) as item_details
      8        ,decode(category, lag(category) over (partition by item_id order by category, grp), null, category) as category
      9        ,decode(grp, lag(grp) over (partition by item_id order by category, grp), null, grp) as grp
     10  from t
     11* order by t.item_id, t.category, t.grp
    SQL> /
    
    ITE ITEM_DET CATE GRP
    --- -------- ---- ----
    001 keyboard PC-1 Grp1
                 PC-2
    003 monitor  PC-1 Grp1
                 PC-2 Grp2
    
    SQL>
    
  • How the parameter values can be passed to OBIEE reports of the user interface

    Hello

    Does anyone have an idea on how to pass parameters to the UI (user interface of a java application) to
    OBIEE report page. Based on the value of the parameter passed, the report page should be displayed for ex: the product
    name must be selected in the user interface, then the page of the report must show sales for this product
    Alone.can u please let me know how this can be achieved. Any help would be appreciated.

    Thank you
    Leela

    Hi Leela,
    What you're looking for can be accomplished with GO URL, see here:
    http://download.Oracle.com/docs/CD/E12096_01/books/AnyWebAdm/AnyWebAdm_APIWebIntegrate6.html#wp1005251

    Kind regards
    Alastair

    Published by: AlastairB_UK on October 26, 2009 15:27

  • How can I navigate another feature of a local html and remote html url and transmit data or the key, value pair?

    Hello

    I'm trying to integrate a local html file and a remote url base html file MAF 2.0.1 based app. I want to access another device (based amx) on click of a button on the html pages. How can I achieve the same?

    Already tried with the below which fails with call javascript directly on the page html itself.

    -HTML-

    <! DOCTYPE html >

    < html >

    < head >

    < meta http-equiv = "Content-Type" content = text/html"; charset = windows-1252 "/ >"

    Home < title > < /title >

    < script type = "text/javascript" >

    document.addEventListener ("deviceready", callfeature, false);

    function callfeature() {}

    Alert ("callfeature called to map");

    adf.mf.api.gotoFeature ("sni.gps.demo.locationFeature", function (req, res) {})

    Alert ("full gotoFeature");

    },

    function (req, res) {}

    Alert ("gotoFeature failed with" + adf.mf.util.stringify (res));

    });

    Alert ("callfeature called to map closed");

    }

    < /script >

    < / head >

    < body >

    Simple mobile Web Page < h1 > < / h1 > < form method = "get" >

    < input id = "ip1" name = "name" / >

    <!-a href = "mycustomurlscheme://somedata" id = "myurl" > map < / a->

    < button type = "button" id = 'mybtn' name = "gpsbtn" onclick = "callfeature ()" >

    go to the feature

    < / button >

    < / make >

    < / body >

    < / html >

    Hello

    update to 2.1 MAF gives you , that can be added to HTML files the and remote access to the MAF since JavaScript API. Deepak mentioned "adf.mf.api.gotoFeature" and I can confirm it works HTML distance (and so it should be using local HTML). For the transmission of data, not sure whether the request URL object it. I would try here EL referencing a managed bean of application-scope defined in the scope of application (?). I tried beans controlled but so far has not tried to access the managed beans to a feature local or remote HTML using EL (although the EL is here)

    Frank

  • Change the parameter value in RTF model

    Hello
    Sorry if possible change a setting value of RTF model?
    Thank you for the ideas!

    Why can't use you the variable xdoxslt changed for her?
    Initialize the variable with a value of parameter.
    Reset the condition variable and use it.

  • Illustrator 282C pantone color numbers different for example RBG, CMYK, Web color compared indesign colors and photoshops which has the same values of color for the two C. 282 I typed in a different color and the same issue. Why would it be different in a

    This is illustrator

    It's photoshop

    Libraries are the same? The two RGB colors are different and they have different look on the screen.

    None of this has to do if you are not working with color management and conversion of spot color to a CMYK process color, which seems to be the case here...

    Mylenium

  • Add the parameter value total page

    Hello
    I want to add a parameter of total pages value, possible? Thanks in advance.

    You can't do that.

  • Query to find the setting and add it to the minimum value

    Hi, I need a query to run under operation
    I have a table as shown below

    chg tax code Bill rec_no r_cost d_cost
    12345 1 114,35 100.30 1.00 1.00 234
    2 12345 114,35 2.00 1.00 1.00 201
    3 12345 114,35 14.00 1.00 1.00 600
    4 23412 120.90 110,40 1.00 1.05 700
    5 23412 120.90 12,50 1.00 1.05 900


    In this table, I need to find the setting for each rec_no as
    (r_cost + chg + taxes)-sum (d_cost) for rec_no = 12345
    (114.35 + 1.00 1.00)-(100.30+2.00+14.00) plus 0.05
    This 0.05 must be added to the minimum (code) for the rec_no 12345.
    If the d_cost of the code, with rec_no = 12345 201 should be (2.00 + 0.05 = 2.05).

    and,
    (120.90 + 1.00 1.05)-(110.40+12.50) plus 0.05
    This 0.05 must be added to the minimum (code) for the rec_no 23412.
    If the d_cost of the code, with rec_no = 23412 700 should be (110,40 + 0.05 = 110.45).

    Kindly help me in writing of an oracle application to perform the above operation.
     with tab as (
        select 1 invoice,12345 rec_no,114.35 r_cost,100.30 d_cost,1.00 chg,1.00 tax,234 code from dual union all
        select 2 invoice,12345 rec_no,114.35 r_cost,2.00 d_cost,1.00 chg,1.00 tax,201 code from dual union all
        select 3 invoice,12345 rec_no,114.35 r_cost,14.00 d_cost,1.00 chg,1.00 tax,600 code from dual union all
        select 4 invoice,23412 rec_no,120.90 r_cost,110.40 d_cost,1.00 chg,1.05 tax,700 code from dual union all
        select 5 invoice,23412 rec_no,120.90 r_cost,12.50 d_cost,1.00 chg,1.05 tax,900 code from dual
    )
     SELECT tab.*,
      CASE
        WHEN DENSE_RANK() OVER (partition BY rec_no ORDER BY code)=1
        THEN r_cost + chg +tax-SUM(d_cost) over (partition BY rec_no)+MIN(d_cost) keep (DENSE_RANK FIRST
       ORDER BY code) over (partition BY rec_no)
        ELSE d_cost
      END adj
       FROM tab
    ORDER BY invoice
    

    Find out what...

    Ravi Kumar

  • How to pass the value entered for the parameter IN a function

    Hello
    I'm new to pl/sql programming.
    The function below is used inside a package and the package is called in visual studio.
    The function uses the input parameters 2.
    Out what "in_report_parameter_id" value comes through the application of service job processor.
    The second IN the parameter values are hard coded into the function.
    I am not able to understand this.
    If the values are hard coded, how to ensure that only the hard coded values are the right ones?
    Please could someone explain?
    I don't really have good idea on how to move the INPUT parameter to the function or procedure
    Is there any nice document that could give me good understanding about what are the ways or types we could transmit values to the input in the subprogrammes parameter?

    Thanks in advance.

    CREATE OR REPLACE FUNCTION get_class_text_str
    (
         in_report_parameter_id IN NUMBER,
         in_which                IN VARCHAR2 DEFAULT 'SELECT'
    )
    RETURN VARCHAR2
    IS
             end_text            VARCHAR2 (50)   := ''; 
             my_class_text_str  VARCHAR2(10000) := '';
             my_class_value_str VARCHAR2(10000) := '';
     
         CURSOR class_text(c_1_text VARCHAR2, c_2_text VARCHAR2) IS
         SELECT c_1_text || report_parameters.report_parameter_value 
                               || c_2_text
                               || report_parameters.report_parameter_value 
                               || '" '
          FROM report_parameters
         WHERE report_parameters.report_parameter_id     = 3690
           AND report_parameters.report_parameter_group  = 'CLASS'
           AND report_parameters.report_parameter_name   = 'CLASS'
     GROUP BY report_parameters.report_parameter_value
     ORDER BY CAST(report_parameters.report_parameter_value AS NUMBER);
     
    BEGIN
    
         IF (in_which = 'SUM') THEN     
      
              OPEN class_text ( 'SUM(NVL("Class ', '", 0)) "Class ' );
        
         ELSIF (in_which = 'PERC')THEN
      
              OPEN class_text ( 'ROUND((("Class ', '" / "Total") * 100), 2) "Class ' );
              end_text := ', DECODE("Total", -1, 0, 100) "Total" ';
        
         ELSE
      
              OPEN class_text ( 'SUM(DECODE(bin_id, ', ', bin_value, 0)) "Class ' );
        
         END IF;
     
         LOOP
              FETCH class_text INTO my_class_value_str;
              EXIT WHEN class_text%NOTFOUND;
     
              my_class_text_str := my_class_text_str || ', ' || my_class_value_str;
         END LOOP;
     
         CLOSE class_text;
      
         my_class_text_str := my_class_text_str || end_text;
     
         RETURN my_class_text_str;
         
    END get_class_text_str;
    /
    Published by: user10641405 on November 19, 2009 08:16

    Published by: user10641405 on November 19, 2009 08:30

    This is not a conception I would use, but should work if coded correctly. I would probably create a reference text cursor query and use a fetch of open and close.

    You have 2 input parameters, in_report_parameter_id and in_which. I could not find where in_report_parameter_id has been used in the program, but the value passed to in_which is used in the logic of the FI to decide on opening the cursor. After the cursor is opened lines are to be read and possibly the cursor is closed.

    The in_which values are compared to the are hard-coded. It is the programming interface to ensure that the values are the values and the measures taken are also correct. Your program is assuming that if the first 2 values are not met the third listed is the one you want.

    To pass values of entry in a procedure you simply provide the values as a literal or something like variable in the call,

    whatever := get_class_text_str(1,'SELECT');
    
  • Need to display negative amounts, amounts positive based on the value of the parameter.

    Hi all

    I have a requirement in rdf as follows:

    I have two or three lines of the SELECT statement. An amount column having both negative and and postivie values.

    Based on the value of the parameter I need to take these records.

    Say, if the value of the parameter = "Credit amount", then I have to choose the records, the amount column value is negative.

    If the value of the parameter = "Debit amounts" then I have to choose the records, which the column value is positive.

    If the parameter Value = "All", then I must take all records, including both positive and negative.

    Please suggest how to achieve this scenario.

    Thank you
    Abdul

    In your where clause to add the following
    and ((& paramètre = "Débit" et montant > 0) or)
    (& parameter = 'Crédit' and the amount<0)>
    (& parameter = 'All'))

    Hope that answers your question
    Sandeep Gandhi
    Independent consultant
    513-325-9026.

Maybe you are looking for

  • Problem w / Airplay of MBP when the TV is turned off

    I just got a new 4 k TV. My previous TV was an LCD and this set up worked well.  I plugged my ATV to my receiver and connected the output of my cable box to my TV.  Let me to transmit using Apple TV and also listen to the music of itunes libraries fr

  • Portege R600 - display problem device change Utility

    We started to use computers laptop Toshiba Portege R600 series on my place of work. All laptops are home in a Toshiba Slim Port Replicator II. Laptops are all running a version of Windows XP Professional with Service Pack 2 applied (and of course a f

  • Satellite A300-16W - now blue screen on system

    I have Satellite A300-16W 21 months and so far my cooler was also changed HDD, screen was dead (had to be changed to), was to motherboard, then I had the problem with the battery charging and which had to be fixed too. Now, the whole system cracked,

  • Satellite P750-114 - disk space to the critical level

    Hello I recently bought by Satellite P750-114 and now I get a message from toshiba Tempro my partition is cricial level as it reached 90% or more. Could someone help me with this please? Why did I get this? something wrong?

  • water damage to x201t

    Hi people. To keep it simple, 2 L + water all over the keyboard, dry disassembled for 3-4 days in a bag with silica gel + immediate blow dry for 30 minutes just after contact with water. Fortunately the portable lights after waiting 2-4 minutes from