Subtitution of application substitution string only in uppercase?

Dear Apex users,
I am working on a specific template for a company. I would like to use a substitution string for the application name, so that the template need not be adapted for each application.
It works when I create a substitution parameter APP_TITLE and I reference it in the body using &APP_TITLE. The only problem is that I entered a mixed case string and on the page I see an only uppercase string.
Is there a way to use mixed case substitution strings?
Greetings,
Dik

No, lower case is reserved for HTML expressions and the like.
Scott

Similar Messages

  • Modifying a Application Substitution String in Run-time

    Hello all,
    I have a substitution string defined in an application (under application definition) that needs to be different based on whether the application is on a development server or a test server. Is there a way that I can alter the value of that subsitution string on my test run-time instance after I've brought the application in from development? Perhaps an API call? APEX_INSTANCE_ADMIN doesn't appear to have anything for this.
    Or do I have to either do a test in code and set an application item when the application starts up, or pull it from a database table or constant?
    Thanks!
    John

    Shane,
    SubVersion works with files, so everything you do has to be a file, including all of your PL/SQL procs / functions / packages. If you have "cowboy coders" editing packages in the database with SQL Developer or TOAD, that's the first thing that needs to change. I regularly export my APEX apps and check them in. I also make a DDL-only backup of any schemas I'm working on at major mile-stones or before upgrades.
    There's a server and client component. The sever houses the repository and everyone checks projects out from and commits projects to the server. On the client-side, the TortoiseSVN client is by far the most popular Windows client. It perfectly integrates with Windows so you can right-click a file and lock, update, commit it.
    To work on a project, you:
    - check it out from the repository. you typically only do this once as you keep a working copy on your client pc.
    - get a lock on a file you want to edit. This is optional, but it's my preferred method. Now you are the only one that can commit the file back to the repository.
    - make your changes to the file, once you are happy, simply right-click and select commit. you can then enter comments on the file.
    - now, anyone else who wants to edit that file will see your changes when they request a lock or issue the "update" command.
    You can review every version of the file, diff versions, "Tag" a version of your code, and the list goes on.
    After a few hours you'll be comfortable with the client process. I think the server component of it deters most people as you have a number of choices to make and it can be slightly complicated to install. For this reason, I STRONGLY recommend trying one of the hosting providers as then all you have to worry about is the client-side. Additionally, your code is now backed-up off-site.
    I don't have any personal experience with these services, but here are a few reasonably priced ones. The first one has a free option which is where I would start with a test project just to get a feel for it.:
    - https://www.projectlocker.com
    - http://svnrepository.com/
    For what it's worth, the APEX team uses SubVersion, as do many dev teams inside Oracle (not the DB dev team though). Also, the new https://samplecode.oracle.com uses Subversion as part of an offering from CollabNet. My 1st project hosted there is called logger . You can brows the logger subversion repository here: https://logger.samplecode.oracle.com/source/browse/logger/
    Links:
    - [TortoiseSVN Client|http://tortoisesvn.tigris.org/]
    - [SubVersion Server|http://subversion.tigris.org/]
    Tyler Muth
    http://tylermuth.wordpress.com
    [Applied Oracle Security: Developing Secure Database and Middleware Environments|http://sn.im/aos.book]
    Edited by: Tyler on Nov 17, 2009 2:57 PM

  • Using default application date format substitution string

    I'd like to reference something like ":app_default_date_format" to set date formats in sql statements.
    Does a substitution string exist that returns the default application date format?
    Thanks,
    -Ken

    Hello Ken,
    >> I'd like to reference something like ":app_default_date_format" to set date formats in sql statements.
    Isn’t the whole point of defining an application date format to avoid the need to specifically reference date formats?
    >> Does a substitution string exist that returns the default application date format?
    I’m not familiar with an official substitution string for the application date format but you can use wwv_flow.g_date_format .
    Regards,
    Arie.
    ♦ Please remember to mark appropriate posts as correct/helpful. For the long run, it will benefit us all.
    ♦ Author of Oracle Application Express 3.2 – The Essentials and More

  • Bug report:on application import: page template substitution strings double

    apex version: 4.2.0.00.27
    We encounter an issue when we import an application export. In all the page templates we see that the standard substitution strings in the HEADER and FOOTER area have been added for a second time.
    EXPORTED CODE:
    wwv_flow_api.create_template (
    p_id => 32176400365879390 + wwv_flow_api.g_id_offset
    ,p_flow_id => wwv_flow.g_flow_id
    ,p_theme_id => 20
    ,p_name => '_vo_One Level Tabs_Simple'
    ,p_is_popup => false
    ,p_header_template => '<html lang="&BROWSER_LANGUAGE." xmlns:htmldb="http://htmldb.oracle.com">'||unistr('\000a')||
    '<head>'||unistr('\000a')||
    '<title>#TITLE#</title>'||unistr('\000a')||
    '<script type="text/javascript" src="#IMAGE_PREFIX#app/common/js/app_common2.js"></script>'||unistr('\000a')||
    '<script type="text/javascript" src="#IMAGE_PREFIX#app/common/js/datepicker.js"></script>'||unistr('\000a')||
    '<script type="text/javascript" src="#IMAGE_PREFIX#app/common/js/datepicker-ext.js"></script>'||unistr('\000a')||
    '<script type="text/javascript" src="#IMAGE_PREFIX#app/common/js/app_show_hide_region.js"></script>'||unistr('\000a')||
    '<script type="text/javascript" src="#IMAGE_PREFIX#app/common/js/app_desktop_all.js"></script>'||unistr('\000a')||
    '<script type="text/javascript" src="#IMAGE_PREFIX#app/common/js/app_legacy.js"></script>'||unistr('\000a')||
    '<link rel="stylesheet" href="#IMAGE_PREFIX#app/pbh/css/pbh.css" type="text/css" />'||unistr('\000a')||
    '<!--[if IE]><link rel="stylesheet" href="#IMAGE_PREFIX#themes/theme_20/ie.css" type="text/css" /><![endif]-->'||unistr('\000a')||
    '#APEX_CSS#'||unistr('\000a')||
    '#TEMPLATE_CSS#'||unistr('\000a')||
    '#THEME_CSS#'||unistr('\000a')||
    '#PAGE_CSS#'||unistr('\000a')||
    '#TEMPLATE_JAVASCRIPT#'||unistr('\000a')||
    '#APPLICATION_JAVASCRIPT#'||unistr('\000a')||
    '#PAGE_JAVASCRIPT#'||unistr('\000a')||
    '#HEAD#'||unistr('\000a')||
    '</head>'||unistr('\000a')||
    '<body #ONLOAD#>#FORM_OPEN#'
    ,p_box =>
    '<div id="t20Tabs">#TAB_CELLS##NAVIGATION_BAR#</div>'||unistr('\000a')||
    '<table border="0" cellpadding="0" cellspacing="0" summary="" id="t20PageBody" width="100%">'||unistr('\000a')||
    '<td width="100%" valign="top" id="t20ContentBody">'||unistr('\000a')||
    '<div id="t20BreadCrumbsLeft">#REGION_POSITION_01#</div>'||unistr('\000a')||
    '<div id="t20Messages">#GLOBAL_NOTIFICATION##SUCCESS_MESSAGE##NOTIFICATION_MESSAGE##REGION_POSITION_02#</div>'||unistr('\000a')||
    '<div id="t20ContentMiddle">#BOX_BODY##R'||
    'EGION_POSITION_03##REGION_POSITION_04##REGION_POSITION_05##REGION_POSITION_06#</div>'||unistr('\000a')||
    '</td>'||unistr('\000a')||
    '</tr>'||unistr('\000a')||
    '</table>'
    ,p_footer_template =>
    '<div class="smallfont">PBH Versie: #APP_VERSION#</div>'||unistr('\000a')||
    '#FORM_CLOSE# '||unistr('\000a')||
    '#DEVELOPER_TOOLBAR#'||unistr('\000a')||
    '#GENERATED_CSS#'||unistr('\000a')||
    '#GENERATED_JAVASCRIPT#'||unistr('\000a')||
    '</body>'||unistr('\000a')||
    '</html>'
    ,p_success_message => '<table summary="" border="0" cellpadding="0" cellspacing="0" id="t20Notification">'||unistr('\000a')||
    '<tr><td class="L"></td><td width="100%">#SUCCESS_MESSAGE#</td><td class="R"></td></tr>'||unistr('\000a')||
    '</table>'
    ,p_current_tab => '#TAB_LABEL#'
    ,p_non_current_tab => '#TAB_LABEL#'
    ,p_notification_message => '<table summary="" border="0" cellpadding="0" cellspacing="0" id="t20Notification">'||unistr('\000a')||
    '<tr><td class="L"></td><td width="100%">#MESSAGE#</td><td class="R"></td></tr>'||unistr('\000a')||
    '</table>'
    ,p_navigation_bar => '#BAR_BODY#'
    ,p_navbar_entry => '#TEXT#'
    ,p_region_table_cattributes => ' summary="" cellpadding="0" border="0" cellspacing="5" align="left"'
    ,p_breadcrumb_def_reg_pos => 'REGION_POSITION_01'
    ,p_theme_class_id => 1
    ,p_grid_type => 'TABLE'
    ,p_grid_always_use_max_columns => false
    ,p_grid_has_column_span => true
    ,p_grid_emit_empty_leading_cols => true
    ,p_grid_emit_empty_trail_cols => false
    ,p_has_edit_links => true
    ,p_translate_this_template => 'N'
    ,p_template_comment => ''
    RESULT IN APEX for the HEADER
    <html lang="&BROWSER_LANGUAGE." xmlns:htmldb="http://htmldb.oracle.com">
    <head>
    <title>#TITLE#</title>
    <script type="text/javascript" src="#IMAGE_PREFIX#app/common/js/app_common2.js"></script>
    <script type="text/javascript" src="#IMAGE_PREFIX#app/common/js/datepicker.js"></script>
    <script type="text/javascript" src="#IMAGE_PREFIX#app/common/js/datepicker-ext.js"></script>
    <script type="text/javascript" src="#IMAGE_PREFIX#app/common/js/app_show_hide_region.js"></script>
    <script type="text/javascript" src="#IMAGE_PREFIX#app/common/js/app_desktop_all.js"></script>
    <script type="text/javascript" src="#IMAGE_PREFIX#app/common/js/app_legacy.js"></script>
    <link rel="stylesheet" href="#IMAGE_PREFIX#app/pbh/css/pbh.css" type="text/css" />
    <!--[if IE]><link rel="stylesheet" href="#IMAGE_PREFIX#themes/theme_20/ie.css" type="text/css" /><![endif]-->
    #APEX_CSS#
    #TEMPLATE_CSS#
    #THEME_CSS#
    #PAGE_CSS#
    #TEMPLATE_JAVASCRIPT#
    #APPLICATION_JAVASCRIPT#
    #PAGE_JAVASCRIPT#
    *#APEXCSS#*_
    *#TEMPLATECSS#*_
    *#THEMECSS#*_
    *#PAGECSS#*_
    *#APEXJAVASCRIPT#*_
    *#TEMPLATEJAVASCRIPT#*_
    *#APPLICATIONJAVASCRIPT#*_
    #HEAD#
    </head>
    <body #ONLOAD#>#FORM_OPEN#
    The added substitution strings are bold + underlined.
    Is there a parameter (application, export, template, instance level) that we can set to prevent this ?
    Edited by: Karel C on 12-feb-2013 5:32
    Edited by: Karel C on 12-feb-2013 5:32

    Hi Patrick,
    The version info is: wwv_flow_api.set_version(p_version_yyyy_mm_dd=>'2009.01.12');
    This should be wwv_flow_api.set_version(p_version_yyyy_mm_dd=>'2012.01.01');
    ... but this error is due to a manual modification of the export file.
    We parameterise some values, so that the we can use the old-school DEFINE variables in our deploy process via SQL/plus.
    One of the developers made a copy-paste error when doing that ...
    So there is no bug !
    Thanks for the tip !!
    Kind regards,
    Karel

  • Why substitution strings are keeping old value in translated application even after seed/publish?

    Hi,
    Recently I have notice a small but from the point of view of our customer "big" issue. We have defined in our application some substitution strings to keep more detailed information about the version of the application. They are later used in page templates to show mentioned info to the end users. Recently I had to update value of one of the substitution strings. The change is immediately visible in main application. Unfortunately it is not the case for the translated application. For some reason old value is kept. Even after doing "Seed" -> "Apply translation file" -> "Publish". It is still preserving the old value. I have tried to use "Translatable" checkbox in the template. In the translation file it is showing properly substitution string in the "source" and "target" tags but still it is resolved to the old value.
    We are using APEX 4.2.2.00.11 running on 11g.
    Waiting for any suggestions as maybe it is me forgetting about ticking somewhere additional "checkbox". Thank you in advance.
    Greetings,
    kempiak

    It was my mistake. Value of the substitution string is included in the translation file. I have changed it there and it works perfectly.
    Greetings,
    kempiak

  • Can substitution strings be used for table name references?

    Hi,
    I was wondering if it's possible to use substituion strings for table names in SQL queries. This would allow for me to edit all references to a table at one location. For instance, if a table name or dblink changed, I could edit the substitution string or application item to ensure all the queries reference the new table.
    For example:
    select * from &table1.
    table1 would be the substitution string for the actual table name
    I know this is possible if I used a pl/sql function returning a query, but I would much rather use a substition string in a SQL query.
    Thanks in advance.
    Brian

    i think not
    because how create the fields of * in this case
    in the other because all is dynamic, i think that you obtain only an error

  • Possible bug in 3.1.1 with APP_ALIAS substitution string?

    Hello team,
    this morning we carried out the migration to 3.1.1 however i noticed that the only translated application i have doesn't correctly handle the APP_ALIAS substitution string any more.
    I had to manually replace all the occurrences of APP_ALIAS in the application to get it back to work when using a translated version.
    The primary language app works ok and correctly substitutes the application alias, but the mapped application throws errors saying it cannot locate the page alias being referenced.
    If i look at the resulting links of a mapped application i see that the application alias is not the expected string but a system generated string beginning with letter A followed by several digits.
    I seeded and published the application several times with no improvements.
    Does this sound as a known problem?
    Bye,
    Flavio
    http://www.oraclequirks.com

    Ok,
    i can now provide some more details on the problem:
    see the problem by connecting to:
    http://www.yocoya.com/pls/apex/f?p=601
    if you navigate the application without changing language, everything works fine.
    Now switch to english by clicking on the button on the upper right side of the page, then
    click on any link, you will get a message like:
    Error      ERR-1412 Unable to resolve page alias (NEWS)
    If you hover with the pointer on the links, you can see that the application alias is a string like "A2549821011244062".
    In the primary language application is instead YOCOYA601.
    Until version 3.0.1 the application alias of a translated application was equal to the alias of the primary application.
    I hope is now clear what i meant with my first message.
    Bye,
    Flavio
    http://www.oraclequirks.com

  • Variable or Substitution String in Interactive Report Filter

    Background: I have an application that has a number of customized Interactive Reports where the Filter on the reports is set to a custom company name. When I install the application, I do not want to go through the reports and change the filter for the new company's name. The filters I need to change are all set by LOVs.
    Question: Is there a way that I can do one of the following:
    - associate a Filter with a Variable or Substitution String such that I can set that variable or string on login and then the user always sees the correct Filter displayed in the Interactive Report?
    - or is there a code method to update a sql apex table behind the scenes to reset the Filter to the new value. So that I could run that after installation as part of a customization / set-up time?
    System Info: 4.1.0.00.32
    Thanks,
    Stephen
    I used the IR_FILTER function, and while it allowed for a new filter to be set. It did not save the filter after logout or for other users accessing the Primary report. I could not find a SAVE Interactive Report function. So, my question still stands on looking for a method to set and save Filters programatically.
    Edited by: slsmith on Apr 19, 2012 8:07 PM

    Hi,
    I don't have access to an Apex 3 environment to check this, but I think that the Apex 4 Interactive Reports save the filters slightly differently and an attempt to mimic that functionality using IR conditions would fail.
    The only alternative I can think of right now is to have an additional column that returns 0 or 1 - eg:
    SELECT FIELD1,
    FIELD2,
    FIELD3,
    CASE WHEN (FIELD1 IS NULL OR FIELD2 IS NULL OR FIELD3 IS NULL) THEN 1 ELSE 0 END INCLUDE_NULLS
    FROM YOURTABLEand then apply a filter to INCLUDE_NULLS = 1
    Andy

  • Substitution string used in custom Report column name does not display in PDF version of report

    I am using Apex 4.2.6.00.03, Apex Listener 2 via Glassfish4 and have set up all my applications and reports on this system.  We previously used Oracle 10.2, with Apache with a custom fopping document.
    My issue is that I have a report that has custom column headings using a substitution string to pull in the begin or end date for the report.  When the report is run and displayed, the column headings appropriately display the date.  However, when I try to set up the Print to PDF option, the column headings are not displaying correctly.
    Is it possible to use a substitution string in the column heading?  I am able to use the substitution string in the Page Header and Page Footer and those display correctly.
    In the Report Attributes setup I have set the "Strip HTML" to Yes and I have four columns that are using the &"ITEM NAME". string.  See below for actual display:
    The report column headings in APEX displays correctly (bold is the substitution detail): 
    Fund    Account Description          Balance 07/01/2014     Budget/Goal FY 14-15     YTD Actual 02/28/2015         Ending Balance 02/28/2015
    In the Print Attributes setup, when I get to the Report Columns section, the Heading column displays the headings as set up in the Report Attributes custom and I am not able to edit these names.  See below:
    In the version of the report that is Printed to PDF I get the following for display:
    Fund           Account Description           Balance %26amp;P347_BEGIN_DATE.     Budget/Goal %26amp;P347_FY.     YTD Actual %26amp;P347_END_DATE.     Ending Balance %26amp;P347_END_DATE.
    Any assistance would be greatly appreciated.
    Thanks,
    Pat

    First, the misspelled word is a test object and not data.
    Second, all data display correctly.
    Third, text object is displaying the old misspelled word.
    Fourth, I have eliminated the possibility that problems in of my pdf export routine cause this issue by exporting directly from Crystal Reports Viewer. I print the report to the crystal report viewer. The report looks good. The text object is spelled correctly. Then I click the Crystal Reports viewer's export button in the left upper corner and I export to both EXCEL and PDF. The excel export looks good. The pdf export is misspelled. All the export occurs internally in Crystal reports.
    Fifth, I found outthat all users who have this problem have the ADOBE PDF writer installed. I am just suspicious that ADOBE writer is interferring with Crystal export
    Sixth, I cannot recreate this problem on any of our development and test machines. It only happens on end-user laptops.
    Seventh, I changed the name of the report that had this problem and created a new version and installed on end-user laptop. The behaviour still persists. User saved the report as both RPT and PDF. RPT export looks good. PDF version has the spelling problem. Data on both reports is up-to-date and good. I copied the same RPT export to my PC and exported it to PDF, the pdf looks good. That is why I think something on the end-users laptops is causing the export to use some cached template.
    One more thing I did was to change the report name in VB.NET project, recreated a new package and installed on end-user's laptop. The same exact problem is still there.
    I have worked with Crystal Reports more than 15 years and I have never such a weird behaviour before. I know this sounds very weird. We are all baffled by what is happening.

  • Dynamic substitution strings.

    Hello Marvel team,
    I need to calculate 3 values using an SQL query, theses values will be used with a lot of pages.
    I am asking, how and where can I create theses fields like substitution string but not static.
    Can I use page0 ?
    Thanks for any help.
    Jina.

    Jina - Create a page or application item and a create a computation that sets the item. It could fire once per session (on new instance) or based on some other condition so that it fires only once, e.g., when the item is null. Then reference the item like any other item (&ITEM., :ITEM, or v('ITEM')).
    Scott

  • Can substitution strings be changed at runtime?

    I need to deploy my application such that it can run with different sets of tables, which are otherwise identical in design.
    My client has multiple versions of the tables. For instance, they may have
    CHICAGO.EMPLOYEES
    CHICAGO.DEPARTMENTS
    or
    LONDON.EMPLOYEES
    LONDON.DEPARTMENTS
    or even
    CHICAGO.EMPLOYEES_V01
    CHIGAGO.DEPARTMENTS_V01
    I can of course create a separate installation for each one of these, but this is neither elegant nor efficient.
    Is there I way I can have a UNIQUE APEX application installation and then use substitution strings to switch between variants?
    Ideally, I should modify the LOGIN screen adding two new fields, Location and Version and then designate the tables as
    $LOCATION..EMPLOYEES_$VERSION.
    $LOCATION..DEPARTMENTS_$VERSION
    This means that I need to retrieve the two variables at login and then use them to help point to the right tables.
    I know about substitution strings, but as far as I am aware they can only be changed statically during the development. Is it possible to change them at runtime? If yes, how?
    I would greatly appreciate any response.
    Mike

    Hello Mike,
    If your location is equivalent to the parsing schema you can use the APEX built-in substitution string *#OWNER#*.
    You still need to resort to Peter’s advices where dynamic table names are concerned. Bear in mind that in this case, you won’t be able to use the APEX built-in DML processes, and you’ll need to write your own fetch/insert/update/delete processes, which might be a lot of work. Working in a multi-user environment adds the complexity factor of concurrency control (lost updates).
    Regards,
    Arie.
    &diams; Please remember to mark appropriate posts as correct/helpful. For the long run, it will benefit us all.
    &diams; Author of Oracle Application Express 3.2 – The Essentials and More

  • Report template substitution strings?  (APEX 2.2.0)

    Hi all,
    I am trying to customize a report template. I would like to know if there is a way to get the sort link that goes into the column headers. The next page and previous page links have the #LINK# substitution string. #COLUMN_HEADER# doesn't give me enough flexibility.
    Would I have to use a named column template for this? (I don't have much idea what that is. I read about it on Scott Spendolini's blog entry on "Click in a Row".)
    Cheers!

    Hello,
    >> I could using JavaScript rewrite the column header to be what I want after the page renders, but I'd rather it show up the way I want in the first place
    Can you be more specific about what is it that you want? The report engine allows you to use custom headings. Can’t that feature help you achieve what you want?
    >> Is there a list of the substitutions strings that are available to the column header?
    The substitution strings you see on the templates populated by the APEX engine with snippets of code you can’t control. You can define your own substitution strings, in the application definition page (under shared components), set them with the code you need, and use them throughout the application, including in templates. The way to use them is a bit different – instead of the “#STRING# syntax, you need to use the “&STRING.” Syntax.
    Regards,
    Arie.

  • Feature Request - show substitution string values in session state display

    Hi!
    I would like to request that in addition to page and application items and session state values that the value of substitution string values be shown. Another option would be to have a separate link (like session) to display them. This would allow developers to see all of the available substitution values and how they change across pages, etc.
    Thanks!
    Dave Venus

    Dave - What are some examples of values that you are not seeing in the session state report that would be useful?
    Scott

  • Footer navigation using pl/sql - substitution strings

    Hi
    I want to make a footer navigation (a BLAF like footer with the same captions and links that appear in the Tabs and the Navigation Bar) using a PL/SQL region. The code I want to use should work for any HTML DB application.
    The procedure could be defined like this:
    PROCEDURE prb_footer_navigation( p_application_id VARCHAR2
    , p_page_id VARCHAR2
    , p_session_id VARCHAR2);
    p_application_id will be used to get the caption and links of the specific application and p_page_id will be used to know which tab is selected.
    I'm using this query in the procedure:
    SELECT t.tab_text caption
    , t.tab_target link
    , t.tab_sequence num
    FROM flows_010600.wwv_flow_toplevel_tabs t
    WHERE t.flow_id = p_application_id
    ORDER BY t.tab_sequence
    (the user has been granted select from flows_010600.wwv_flow_toplevel_tabs)
    The problem is:
    tab_target has substitution strings like '&XXX.' or '&PX_XXX.', so how can I get the real link with resolved substitution strings using pl/sql?
    Something like function_resolve_string(p_string, p_session_id) would be appreciated...
    Thanks in advance!

    A.U.,
    Have you considered looking at how the navigation bar gets onto your page by examining the page template? You'll find something like this in the body section: 
      <table width="100%" cellpadding="0" cellspacing="0" border="0" summary="">
        <tr>
          <td valign="top" class="t1Logo">#LOGO#</td>
          <td align="right" valign="top">#NAVIGATION_BAR#</td>
        </tr>
      </table>Just copy and paste that onto the end of the body section, or into the footer section of the template, although the footer might not support all the same substitution patterns.
    If that's the kind of result you have in mind, do the same thing for the (html) tables that contain #PARENT_TAB_CELLS# and #TAB_CELLS#. I don't guarantee this will work, but it's worth experimenting with.
    Scott

  • Substitution String in Row Template order dependant

    Hi Folks,
    This questions is related to an earlier Complex Detail Report Layout: Can it be done? about building a complex row template (thanks for your help, Vikas!).<br><br>
    Having built the row template (Named Columns) and tested it in a separate application, I have been preparing to incorporate it into the target application. (Here's a screen shot of the work in progress.) I decided to see if I could use column aliases with the substitution strings and so added an alias to the query for the report.<br><br>
    Strange values appeared (like a "Y" for a Project Name) and initially I thought the aliases wouldn't work, so I backed the change out. However, it was now quite apparent that the substitution strings were not taking their values from the column names, as I expected. I was able to put the values in the correct place by modifying the order of the columns selected in the query.<br><br>
    Am I misunderstanding? Shouldn't the order of the columns in the select statement be irrelevant when named columns are used? <br><br>
    Since the order in the query is NOT the order displayed in the template, and I have nearly 30 fields, (many of which are dates, and I couldn't possible guess which is which if the substitution doesn't work properly), it seems important to understand how to ensure the proper values appear in the report.<br><br>
    Many thanks for your help,<br><br>
    Petie

    I take it back. This is whacked. Please take a look at the picture (http://tinypic.com/view/?pic=nygyu0)
    OK, I had a select statement:
    select ps.project_name, ps.project_manager,  ps.gts_dependant, ps.gxp_relevant from project_status ps, eprs_program p
    where
    ps.program_id = p.id and
    p.program_number = :P6_PROGRAM_NUMBERThis populated the fields #PROJECT_NAME#, #PROJECT_MANAGER#, etc. properly.
    I even switched the order around and put the ps.project_manager ahead of the ps.project_name and template still worked.
    I restored the order and checked again. All is good.
    I changed the query and added an alias like so:
    select ps.project_name as "PROJ_NAME", ps.project_manager,  ps.gts_dependant, ps.gxp_relevant from ...The report showed the substitution string "#PROJECT_NAME#" (as expected, because the column was now aliased.) So this is good.
    I went to the row template definition and changed the substitution string #PROJECT_NAME# to #PROJ_NAME# to match the query -- and the substitution strings broke again!
    The report template now behaves as described earlier; being position dependant. Now I suspect that this is a bug, and not something caused by my mucking around.
    I would greatly appreciate your thoughts on the matter and potential workaround. At this point, I will likely delete the region and try creating a new region. I would hate to loose the whole page, the top part was a lot of effort. <sigh>
    Thanks,
    Petie

Maybe you are looking for