Pointer to substitution variable

I don't really know if this is a PLSQL or an APEX question but because I've encountered this problem in APEX so I'm going to ask it here.
I'm using APEX 3.2 (upgrade is in progress, you know how that goes)
In my DAO packages I refer to my apex application items so that I don't need to give them to the DAO as a parameter. (Hey they exist in the scope so why shouldn't I call them that way)
So I begin all my packages like:
  g_naam tbl_contact.naam%type := v('P1_NAAM');Now this works perfectly when I'm working in the page processeses but when I'm in validation g_naam would equal null.
The strange thing is that v('P1_NAAM') contains the correct value. Now my theorie is that g_naam is loaded before the P1_NAME substitution value had the correct value.
In other programming languages you would make a pointer variable. This way both variables are always the same. Even if P1_NAME would change the global variable would always contain the correct variable.
Is something like a pointer possible in Oracle. I know cursors can do it but I'm not really referin to a query.
Of course this can easily be resolved if you always use the v('P1_NAAM') method. But when the name of your application item would change you're in big troubles :p.
Any help is greatly appreciated.
Regards
Nico

Stupid me, the variable is not null because of the scope. The variable is null because on declaration an error would occur.
If name was a varchar2(50) and you would enter 51 characters then on declaration my variable would fail. Functions that are called in global blocks will never result in a error.
On error they will return null.
So the correct answer for my problem would be
  g_name varchar2(4000) := v('P1_NAME);Regards
Nico

Similar Messages

  • How to use substitution variables in Microsoft Word using Hyperion Smart view

    Can we use Substitution Variables in copy data points and refresh in Microsoft Word? I tried it and it does not work dynamically (copy data points only copies what was in excel cell at that point). It only copies the static value of that variable from that cell. I want to use it dynamically in Word so that if I change the value of that variable in Essbase, it is updated in Word upon refresh. Any idea??
    We need this feature for reporting in microsoft word and keep using the data points every year (instead of copying the cells from excel over again)
    Any help/suggestion is appreciated.
    Thanks

    you can't use substitution variables with copy data points. I had tried a while ago (post 111.1.2.1.102) and it wouldn't work.  I checked with Oracle development and they said it I not available

  • Substitution variable for multiple months

    Ideally, i would like to have a calc script with a substitution variable FIX(&Month) which points to specified months. I have tried setting the value for my substitution variable in different ways
    1.
    Variable = Month
    Value = "January""February"
    2.
    Variable = Month
    Value = "January","February"
    However, the script seems to be failing to pick up the second month as it returns no values for February. If i specify the months in the calc script, it works just fine. This suggests to me i'm getting the syntax wrong for the substitution variable.
    Any ideas?

    There is nothing strange it can behave. It will work.
    I am using this in production for years to genarate comma seperated scenario list with out any issues.
    What a substitution variable will do?
    It will store a string as a value for the variable and resolve at the time of calc. if the value is a valid member set it will work.
    I believe issue is not because of that.
    However, the script seems to be failing to pick up the second month as it returns no values for FebruaryIs it throwing any error in syntax check or in executing. Answer is No from the above statement. But you are not seeing the expected results in the calc.
    first check the application log whether the calc is happening for both jan and feb.
    Then why the calc is not as of expected for feb.

  • Substitution variable is not visible at Data Prep editor-creating rule file

    Hi,
    We are working on Essbase 9.3.1, Oracle as a database source for loading the data into Essbase.
    We have create a substitution variable at "server level" to use it in rule file as a DSN for data source. But this substitution variable is not visible in the drop down of substitution variable in 'Data prep editor' while creating the rule file.
    We restarted the Essbase server also but still it is not visible in 'data prep editor'.
    Any help will appreciated on this issue.
    Thanks & Regards,
    Mohit Jain

    Cameron-
    1) yes I've tried it on 2 different clients
    2) yes I've tried it on the server
    3) I haven't tried that, but don't normally use MaxL for anything
    4) I took a 'broken' rule, saved it locally, closed and reopened and it still didn't work
    5) I normally do files on the server, but I can't even get to that point because when I get the 'Open Data File' nothing happens, no dialog box pops up, so I don't get the chance to select the location
    6) This is a production server and EAS is running as a service, so I'd have to test this one afterhours.
    Because it happens on 3 separate PC's I'd eliminate bad EAS, since only some rules do it and others don't I'd think it could be corrupt rules, but it'll happen to new rules just as fast, and they still work just fine, so if that's the case I need to figure out what is corrupting them...
    Network issues wouldn't surprise me, I get TCP/IP errors regularly saying I have to increase my net retry count, but I've tweaked with those settings tons... looks like those are really the database server is running out of memory even though I have 4GB physical 16MB Virtual memory (32 bit environment though... I do have the /3GB switch turned on)... I've had to scale my caches way back to allow certain databases to even function.
    Thanks for your help.
    Edited by: Norton5150 on May 28, 2009 2:12 PM

  • Using Substitution variables in Range function in FR

    Hi,
    According to one of my report requirement, I want to show current quarter’s weeks till the current week. Just to elaborate more I am able to show current quarters all weeks but unable to show till current week. I had created Current quarters starting week (CurrQtrSW) as a substitution variable and CurrWeek as other substitution variable when I keep these two SV's in Range function it is throwing me error and my report is not running. Can anybody help me in this?
    It is urgent
    Thanks in Adv.

    If you're using the standard 13 week quarters and they are labeled that way, you can just use Week1 as the starting point (as opposed to having weeks 1-52 in your essbase cube).
    Have you restarted essbase/FR Studio since adding the sub vars? It can sometimes require one or both to fully recognize them.
    Hope this helps.
    Cheers, Iain

  • Substitution Variable across two dimensions

    Hello,
    I was wondering if we could define a single substitution variable across two dimensions. For instance, we have two dimensions Year (FY10,FY11,FY12, etc) and Period (QTR1, JAN, FEB, MAR, QTR2...)
    I understand we can define a range of values in a single subvar such as &period is Jan:Dec.
    However, given the above two dimensions we would like something like this Jan.FY10:Dec.FY13. I know this would be easier if years and months belonged to the same dimension but they are two different dimensions. So, essentially we want to define a single subvar involving two dimensions.
    Please let me know, if this is possible on Essbase 9.
    Thank you.
    Edited by: user10678366 on Sep 15, 2010 9:56 AM

    Thanks for all your responses. As Gary and Srinivas pointed out @XRANGE definitely works with a subvar with a few limitations;
    1. Cannot be used in a FIX statement
    2. For accurate months across different years, the order of the subvar should be FY11->FEB, FY13->DEC and not not FEB->FY11, DEC->FY13 since in my db, the Period dimension is DENSE and appears before the YEARS dimension in the outline.
    3. It works in a IF statement
    However one lingering issue I have is with a @PRIOR statement on conjunction with @XRANGE within my IF statement:
    Note: subvar &RANGE = FY11->FEB, FY13->DEC
    STAT1(
    IF(@ISMBR(@XRANGE(&RANGE)))
    IF(STAT1 = 20)
    STAT1 = @PRIOR(STAT1)
    ENDIF
    ENDIF
    The problem is STAT1 gets calculated accurately for all months for that year. However, all months the following year donot get calculated. So, essentially the BEGBALANCE (also at level 0) doesnt get calculated for the next year. Here an illustration of before and after:
              FY11     FY12     FY13
    Stat1     BegBalance               
         Jan     #MI     #MI     #MI
         Feb     #MI     #MI     #MI
         Mar     #MI     #MI     #MI
         Apr     #MI     #MI     #MI
         May     #MI     #MI     #MI
         Jun     20     #MI     #MI
         Jul     #MI     #MI     #MI
         Aug     #MI     #MI     #MI
         Sep     #MI     #MI     #MI
         Oct     #MI     #MI     #MI
         Nov     #MI     #MI     #MI
         Dec     #MI     #MI     #MI
    Stat1     BegBalance     #MI     #MI     #MI
         Jan     #MI     #MI     #MI
         Feb     #MI     #MI     #MI
         Mar     #MI     #MI     #MI
         Apr     #MI     #MI     #MI
         May     #MI     #MI     #MI
         Jun     20     #MI     #MI
         Jul     20     #MI     #MI
         Aug     20     #MI     #MI
         Sep     20     #MI     #MI
         Oct     20     #MI     #MI
         Nov     20     #MI     #MI
         Dec     20     #MI     #MI
    The expected result is:
    Stat1     BegBalance     #MI     20     20
         Jan     #MI     20     20
         Feb     #MI     20     20
         Mar     #MI     20     20
         Apr     #MI     20     20
         May     #MI     20     20
         Jun     20     20     20
         Jul     20     20     20
         Aug     20     20     20
         Sep     20     20     20
         Oct     20     20     20
         Nov     20     20     20
         Dec     20     20     20
    So, essentially though the @XRANGE takes into account BegBalance and calculates for each year based on prior year->dec, which is good. However, introducing the @PRIOR doesnt calculate BegBalance. Looks like I dont have any option other than using @MDSHIFT instead of @PRIOR when it comes to using @PRIOR with @XRANGE.
    Unless I am incorrectly using the @PRIOR statement with @XRANGE. Please suggest.

  • Adding Formulas to Substitution Variables

    Hi All,
    I am using EPM system 11. I have a classic planning application . On my dataform , I have Year in the Point Of View and Period on Column.
    I need to show Current Year,Next Year and Current Month (derived from system date) on the form.
    For achieving this I created three substitution variable in EAS *&CurYear,&NextYear,&CurMonth.*
    Say e.g if the System date is *10th October 2009* then CurYear would show FY09 , NextYear would show FY10 and CurMonth would show Oct.
    For the time being , I hardcoded these values..but I am trying to get through a way of deriving the above values from system date
    Can somebody please advice how i can proceed to get the variables to work ....
    Kind Regards.
    Mirka

    Hi,
    How about something like
    SET year=FY%DATE:~8,2%
    SET month=%DATE:~3,2%
    *:: Remove leading zero if it exists...*
    set /a month=1%month% - 100
    set monthstring=Jan@Feb@Mar@Apr@May@Jun@Jul@Aug@Sep@Oct@Nov@Dec
    for /f "tokens=%month% delims=@" %%j in ('echo.%monthstring%') do (
    set month=%%j
    echo %month%
    echo %year%
    Say the year is 2009, this would set year=FY09
    And month should be converted to a month name
    ok?
    Cheers
    John
    http://john-goodwin.blogspot.com/

  • Can we use Substitution variables in MAXL?

    Hi,
    Can we use substitution variables in MAXL script?
    I have to run this MAXL command for clearing a slice of ASO cube on V11.1.1.3.
    alter database Apname.DBname clear data in region 'CrossJoin({[2009]},{[Dec]})';
    I am planning to use Current_year & Current_month variables instead of hardcoding 2009 & Dec as I have to use this everymonth to clear the current months data.
    If it is allowed, what is the syntax?
    Is there any alternative apart from substitution variables?
    Appreciate your thoughts.
    Thanks,
    -Ethan.

    You would just use ampersand and the variable name instead of the hard coding e.g. &yearVar &periodVar.
    Not tried it on aso clears but in theory it should work as ...'CrossJoin({&yearVar},{&periodVar})';
    just change yearVar and periodVar for your substitution variable names.
    Cheers
    John
    http://john-goodwin.blogspot.com/

  • Use varialbe as a value in substitution variable

    Hi there,I incrementaly update my cube day by day.And I set a user variable in autoexec.bat to get the current date,eg '2003-06-23'.Could I use such variable as a variable's value in substition variable ?My platform is 6.5 on w2k.Regards,luau

    You can use that in a MAXL script to set the substitution variable.the MAXL script would be something like:Alter database $4 drop variable $5;alter database $4 add variable $5 $7 ;where: $4 is the app.cub $5 is the substitution variable name $7 is the value of the subs. variableRich Sullivan - Beacon Analytics

  • How to use a substitution variable in a load rule?

    I need to use a substitution variable in a load rule in a column, as I will receive a parameter to fix the Month and Year values within the data loading, could somebody tell me if this is possible. I put an expresion "&Yearproc" in the column value but it is not working.

    If you're a member of ODTUG (or even if not, you can sign up for an associate membership for free) you can download Glenn's presentation from 2009 Kaliedoscope "Little Used Features of Essbase (Like Data Mining and Triggers)" -- there is a section in that presentation on substitution variables -- he does a really good job in showing how this works.
    Go to: www.odtug.com, then Tech Resources, then Essbase/Hyperion, and search for Schwartzberg. Currently it's the ninth presentation on the list -- I think this changes based on popularity of downloads.
    Regards,
    Cameron Lackpour

  • Error When Prompting for Substitution Variable

    Hi - I'm receiving an error when I try to run the following using the substitution variable - but only when I enter a string; when I enter a numeric value it runs fine.
    DECLARE
        l_SCR_Info            VARCHAR2(50) := '''SCR'||&SCR_NUM||'-'||'''';
    begin
    dbms_output.put_line(l_SCR_Info);
    end;Here is the error I receive when I supply a string value when prompted:
    ORA-06550: line 3, column 52:
    PLS-00201: identifier 'AB' must be declared
    ORA-06550: line 3, column 27:
    PL/SQL: Item ignored
    ORA-06550: line 10, column 22:
    PLS-00320: the declaration of the type of this expression is incomplete or malformed
    ORA-06550: line 10, column 1:
    PL/SQL: Statement ignoredCan anyone shed some light on what I'm missing here?
    Thanks!
    Christine

    Hi,
    It looks like you just want one string there:
    l_SCR_Info            VARCHAR2(50) := '''SCR&SCR_NUM-''';Remeber how substitution variables work: SQL*Plus replaces them with values before sending the code to the back end to be compiled.
    If you give a value like AB for the variable, the code you posted is equivalent to:
         l_SCR_Info            VARCHAR2(50) := '''SCR'|| AB ||'-'||'''';by the time it reaches the compiler. AB is not inside quotes, so the compiler looks for a variable or function called AB.
    If you gave a number:
         l_SCR_Info            VARCHAR2(50) := '''SCR'|| 123 ||'-'||'''';there's no problem; the compile knows what the literal number 123 is.

  • Conditional suppression using substitution variable in Hyperion financial r

    Hi all,
    Is there a way that I can suppress a column using substitution variable in hyperion financial reporting?
    For eg, i want to suppress the column if the value of the substitution variable curr_mnth = jun.
    Is there a way to do this? In conditional suprression dialog box, I dont find this option.
    Please suggest.
    Your response is appreciated.
    Thanks,
    Sirisha.

    Hi Sirisha
    In my earlier reply I think I may have mislead you as I thought that you could set the member name equal to that in a row/column and I've managed to get into a HFR studio session this morning and realised that the conditional suppression only allows you to suppress where member name = 'XXX' (specific text) so that doesn;t meet your requirement.
    Different people will have different ways of achieving what you want and everyones requirements are different. If it helps my preferred way of conditionally suppressing periodic data (for Planning/Essbase) is to add a dynamic calc account member called 'TP-Index' into the database, set up a formula so that each period returns a numeric value from 1 to 12 to match the fiscal/calendar year as required.
    Then in reporting bring the account and period dimensions into rows/columns so that you are able to retrieve data for the TP-Index account and the period as defined in your substitution variable. You can then choose how the suppression works based on a numeric value, commonly you may want to suppress if greater than, e.g. you have a multi-period report where your actual data is to June so you want to suppress everything from July onwards.
    I'm sure that a similar thing could be achieved in HFM as well if that is your underlying system instead of Essbase.
    Does that help?
    Stuart

  • Using substitution variable in sql -- Issue

    Hello All
    I am trying to do a sql operation from command prompt of my system and that sql requires substitution variable which i am passing it but when i pass the variable ( there are two) the first one assign as " \c" and second gets both what i am passing.
    I am not sure what exactly happening here, i have done this on AIX but here its not working any ideas?
    System : uname -a
    Linux ## 2.6.18-128.1.1.el5 #1 SMP Mon Jan 26 13:58:24 EST 2009 x86_64 x86_64 x86_64 GNU/Linux

    AIX and Linux are not the same. An output of "\c" may indicate a compatibility issue of your shell script with your current command line interpreter (shell). A \c can be used to suppress a newline with the echo command. Bash understands both formats echo -n and echo \c, but other shells like Ksh don't. Try to run your script under a Bash, which is the default under Linux. If the problem persists you will need to post your script for any further analysis.

  • Problems using substitution variable in Web Analysis

    Dear all,
    I have a Web Analysis report that I need to show a raking table with the current month.
    For that I create a variable in Essbase that is updated with that date (E.g.: varCurrentMonth).
    After that I use it as my substitution variable to filter my date dimension in a report data source (E.g.: Scr5, row: product, column: date dimension & measure):
    2008 (current month)
    Product $ qty.
    AAA 100 10
    BBB 90 7
    CCC 80 5
    The problem is that in our cube we need to use an alias in every dimension not to have duplicate members (E.g.: DT.Date, MS.Measure, PD.Product, etc). And when we use it we need to set up the variable in Essbase using that alias (E.g.: DT.Feb/05/08). And if we use that variable as a substitution variable in the report data source the label displayed is the DT.2008 and not 2008 as expected.
    Does anybody have an idea how to solve that?
    Many thanks,
    Thiago Gabriel

    You usually get this error message if you are trying to assign a value from a sub var to a member that does not exist.
    e.g. trying to put FY08 which is a year member against a period dimension
    or trying to use a sub var of FY09 which does not yet exist in the essbase, so say you added a new year in planning FY09 and used the sub var in the form but have not refreshed the database then it would fail because the year would not have been pushed down to essbase yet.
    or the value of the subvar does not match a member name exactly
    or using a sub var name that does not exist in essbase, e.g. using &nextYear but the sub var has not been created in essbase.
    You can definitely use subsitution variables in columns in the version you are using and prior version.
    Cheers
    John
    http://john-goodwin.blogspot.com/

  • Error with define substitution variable in SQL

    Hi there,
    I am using PL/SQL developer and trying to define a substitution variable as follows:
    define freq = 'Weekly'
    Then later on, in my SQL statement, I used this variable in WHERE statement as follows:
    WHERE ... (&freq = 'Weekly') and ...
    But I got the "ORA-00904: "WEEKLY": invalid identifier" error.
    Where is the problem?
    Thanks in advance!

    I don't know about PL/SQL developer but in sqlplus you need single quotes around the variable.
    SQL> define freq = 'Weekly'
    SQL> select null from dual
      2  where &freq = 'Weekly';
    old   2: where &freq = 'Weekly'
    new   2: where Weekly = 'Weekly'
    where Weekly = 'Weekly'
    ERROR at line 2:
    ORA-00904: "WEEKLY": invalid identifier
    SQL> edi
    Wrote file afiedt.sql
      1  select null from dual
      2* where '&freq' = 'Weekly'
    SQL> /
    old   2: where '&freq' = 'Weekly'
    new   2: where 'Weekly' = 'Weekly'
    N
    SQL>

Maybe you are looking for

  • Setting datagrid column width according to itemrenderer.

    Hi all,      This is my first question ever in any forum i have visited, so if you find anything stupid about my way of asking question then Pls ignore. I have taken a datagrid and for one of the datagrid column I have an itemrendere which is an HBOX

  • Margin in Table cell is way too big

    First off, thanks again to Apple for Pages 2. I like having all the different functions, that is -- word processing, page layout, spreadsheet, charts, basic graphics, photo manipulation in one window. I mean, why open up a bunch of windows when it ca

  • QUERY EXPLAIN_PLAN

    Hello GURUS I am on 10.2.0.2.0. I am sorry for big query. It is running really slow. Also please look at the explain plan I am trying to fix the problem but still the same, runnig slow. THE SS_SKU_STORE_WEEK is big table with aroundf 1 million rows,

  • HT3775 I have an .avi file Quicktime is refusing to play, yet the information says Quicktime does play .avi files. Does anyone know what the problem is?

    I have an .avi file Quicktime is refusing to play, yet the information says Quicktime does play .avi files. Does anyone know what the problem is?

  • RMAN Report

    Hi, I am using ORACLE 10.2 G. I have done the following on my pc : ALTER TABLESPACE USERS BEGIN BACKUP; CREATE TABLE NOTBACKEDUP(ID INTEGER, STR VARCHAR(16)) TABLESPACE USERS; INSERT INTO NOTBACKEDUP VALUES(1, 'ROW 1'); INSERT INTO NOTBACKEDUP VALUES