How to reference template substitution string in PL/SQL condition

hi -- I need to conditionally display an item based on the value of #TITLE#. I'm currently trying a pl/sql expression function body returning boolean
DECLARE
page_type VARCHAR2(1000);
BEGIN
page_type := lower(substr(:TITLE,instr(:TITLE,'Query')));
if (page_type = 'query') then
return TRUE;
else
return FALSE;
end if;
END;
There are no errors, but the condition is not being met when it should be.
I tried setting some app items to the value of #TITLE# and I'm obviously not referencing it correctly; they're all null:
:TEST_VALUE := &TITLE.;
:TEST_VALUE2 := :TITLE;
:TEST_VALUE3 := V('TITLE');
Help?
Thanks,
Carol

Hi,
You can use javascript on page HTML header
<script>
function getDocTitle(pItem){
  $x_Value(pItem, document.title);
</script>And page body
onload=" getDocTitle('Px_YOUR_ITEM');"Br, Jari

Similar Messages

  • How to edit #BODY# substitution string?

    Hi All,
    I have an issue where I would like to set the border="1" in region where I have placed some select lists and buttons.
    In the region template I can see:
    <td class="t10RegionBody">#BODY#</td>
    From the HTML source of the output page I can see that this is resolved to something begining with:
    <td class="t10RegionBody"><table class="formlayout" summary="" >...
    Now how can I add or change the table definition which seems to be a part of #BODY# substitution string?
    How can I view the contents behind #BODY# string?
    Regards,
    Pawel.

    See http://i14.tinypic.com/2nu7i95.jpg
    That "HTML Table attributes" in the Region Template might be what you are looking for.

  • 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.

  • 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

  • Substitution string inside PL/SQL generated content (single column source)

    Hi! I have a contents table that contains the HTML source (using the HTML Editor Standard item) stored on a single varchar2 column like this.
    -- some other HTML source here ---
    href="f?p=&APP_ID.:17:&APP_SESSION."
    -- other HTML source here --
    (Sorry, this forum is parsing my HTML source but it's just as simple as that)
    I'm using a PL/SQL Dynamic Content region to select and display my contents using the htp.p procedure. But the problem is the built-in substitution strings in the URL of my content is just displayed as it is. I know that this maybe because htp.p will treat the parameters just like a regular string and the Application Express Engine don't have a chance to parse it. But can somebody show me an alternative solution for this?
    Right now, I'm just using a static HTML region as a temporary solution. But I really am curious on how can this be done using PL/SQL dynamic content region. Or what design is best on content management-like application.
    Thanks!
    Mertz

    Mertz,
    I'm not sure I understand but say your database table's column contains 'Hello the session id is &APP_ID. ...'. Using a PL/SQL region you could emit that column thus:for c1 in (select content_col from content_tab) loop
      htp.p(replace(c1.content_col, '&' || 'APP_ID.', :APP_ID));
    end loop;Splitting up the substitution item name into concatenated strings avoids problems with the Builder doing substitutions when you don't want it to.
    Scott

  • How to reference LEVEL in a TREE's SQL code

    Is it possible to somehow reference LEVEL in a tree's sql code so that you can use a decode statement to selectively create links on specific levels only i.e. NOT on the root level?
    e.g.
    select "CHILD_ID" id,
    "PARENT_ID" pid,
    "NAME" name,
    decode( LEVEL, 1, null,'f?p=' || :APP_ID || ':43:' || :APP_SESSION || '::::P43_CHILD_ID:' || CHILD_ID) link,
    null a1,
    null a2
    from TREETABLE
    order by name
    one solution I've implemented is to create a DB function e.g.
    create or replace function get_tree_level(v_child_id number) return number
    is
    v_level number(2);
    begin
    select level
    into v_level
    from TREETABLE
    where child_id=v_child_id
    start with child_id=1
    connect by prior child_id= parent_id;
    return v_level;
    end;
    and then use
    decode( get_tree_level(child_id) 1, null,'f?p=' || :APP_ID || ':43:' || :APP_SESSION || '::::P43_CHILD_ID:' || CHILD_ID) link,
    but this is too slow as I have quite a few records in the tree and takes too long to render
    regards
    Paul P

    OK I found a workaround after reading
    How to add URL to tree
    The view my tree is build on is constructed out of 3 unions and 4 "selects" ( the first select creates the ROOT NODE where "1" is also used as a hard coded foreign key (Parent_id), in the company table.)
    I just added a new column called tree_level to the query which is hard coded wrt its level on the hierarchy.
    e.g.
    CREATE OR REPLACE FORCE VIEW COMCONSTUTREE ("CHILD_ID", "PARENT_ID", "NAME","TREE_LEVEL") AS
    select 1 as child_id,to_number(null) as parent_id ,'Company' as name,*1 as tree_level* from dual
    UNION
    select COM_ID, 1, COM_NAME,2
    from company
    UNION
    select CON_ID,CON_COMPANY_ID, substr(con_name,instr(con_name,' ')+1) ||', '||substr(con_name,1,instr(con_name,' ')-1),3
    from contact
    UNION
    select STU_ID,STU_CONTACT_ID, STU_LAST_NAME||', '||STU_FIRST_NAME ,4
    from student;
    the tree code now becomes
    select "CHILD_ID" id,
    "PARENT_ID" pid,
    "NAME" name,
    decode( tree_level,1, null,'f?p=' || :APP_ID || ':43:' || :APP_SESSION || ':TREE:::P43_CHILD_ID:' ||CHILD_ID) link,
    null a1,
    null a2
    from COMCONSTUTREE"
    order by name

  • Substitution strings in chart sql query

    Hi Guys,
    I am creating line charts and bar charts based on a query in HTML DB 1.5. I am using substitution strings in the query. Though I can use substitution strings in the line chart, I cannot do it in the bar chart. I am using almost the same sql query in both line and bar charts.
    The sql query in line chart is
    SELECT null, TO_CHAR(t1.extract_date, 'W-MON-YYYY') extractdate,
    MIN_OF_AVERAGES(AVG(&P40_METRICS.),:P40_REGION_LIST,:P40_SUBREGION_LIST,NULL,:P40_METRICS,'ind') orgid
    FROM ind t1,geography t2
    WHERE t1.country_id = t2.country_id(+)
    AND t2.region_name like
    DECODE(:P40_REGION_LIST,'ALL REGIONS','%',:P40_REGION_LIST)
    AND t2.subregion_name like
    NVL(:P40_SUBREGION_LIST,'%')
    GROUP BY TO_CHAR(extract_date, 'W-MON-YYYY')
    order by to_date(extractdate,'DD-MON-YY')
    The sql query in bar chart is
    SELECT null, TO_CHAR(t1.extract_date, 'W-MON-YYYY') extractdate,AVG(&P40_METRICS.) orgid
    FROM ind t1,geography t2
    WHERE t1.country_id = t2.country_id(+)
    AND t2.region_name like
    DECODE(:P40_REGION_LIST,'ALL REGIONS','%',:P40_REGION_LIST)
    AND t2.subregion_name like
    NVL(:P40_SUBREGION_LIST,'%')
    GROUP BY TO_CHAR(extract_date, 'W-MON-YYYY')
    order by to_date(extractdate,'DD-MON-YY')
    The min_of_averages function in the line chart query is some function I am calling. Even if I cut-paste the line chart query in the bar chart I get the error.
    The substitution string which is giving the problem is "&P40_METRICS."
    The error I am getting is
    Query cannot be parsed, please check the syntax of your query. (ORA-00909: invalid number of arguments)
    The only difference I see is that line chart query is inside a series and bar chart is not, does this make a difference??? Or is it because I am using the substitution string in choosing the column??? Please help!!!!
    Thanks,
    Swaroop

    Swaroop,
    You might be using an HTML bar chart and an SVG line chart, I can't tell, but their implementations differ. You won't be able to use a substitution string to replace a column name in the query in the situation you found, you'd have to figure out a way to construct the query string before it gets executed and I'm not sure the chart pages will let you do that.
    Scott

  • How to reference dynamic parameters in the PL/SQL script

    The meaning of dynamic parameter is the position and name of parameters will be changed based on the data structure of a referenced text file reading by the concerned PL/SQL script. Anybody can post a sample code will be very appreciated.

    The SQL and PL/SQL discussion forum is a good source for this kind of information.
    The URL is:
    PL/SQL

  • Apex substitution strings cross reference chart

    Hi everybody,
    i finally managed to publish the (full?) list of Apex template substitution strings, in form of cross reference chart.
    Errors, omissions and comments are welcome.
    See the Apex template substitutions xref chart at:
    http://oraclequirks.blogspot.com/2007/07/apex-substitution-strings-cross.html
    Hope it helps
    Flavio

    Hello Scott!
    thanks for you comment, i appreciate it.
    Flavio
    PS: in case you are going to add or change substitution string support in future releases, it'd help a lot to have them listed in a "What's new in this release" section of the accompanying documentation.

  • 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

  • Conditional column display in report using column substitution string

    Hi everone,
    I was wondering if it's possible to display a column conditionally, based on a values in another column of the same report.
    Can you use the column substitution strings or does the condition strictly require SQL, PL/SQL
    or page item values?
    kind regards,
    Cleo

    I dont think we can add a condition to display the column in a report based on the other column of the same report,
    Just add a (CASE WHEN <your condition satisfies> THEN column ELSE null END) in your report source for the column you want to display conditionally.
    --Mahesh                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • How to reference the Instance name using Substitution string or SQL

    All:
    We have an Application that will be replicated in multiple Apex instances and would like to display the current Oracle Apex Instance name ( Similar to the &APP_USER. on the Welcome portion of the page ) .
    Is there a substitution string for this ?
    We plan on using a Show/Hide region on the splash page titled [About], that when clicked displays an HTML region with the subsitution strings.
    If no substitution strings, can someone help with an SQL that returns the Instance name ?
    Thanks for all the help.
    Aubrey Fernandes

    Aubrey Fernandes wrote:
    I currently have 3 URLs to get to my Development, QA and Production servers & will have many more production servers with different Application Ids.
    Development = http://canqa101:7777/pls/ngcrmd01/apex
    QA = http://canqa101:7777/pls/ngcrmq01/f?p=100:1
    Production = http://cancs105:7777/pls/ngcrmp01/f?p=100:1
    What I need are the portions before the final forward slash ( canqa101:7777/pls/ngcrmd01 ) which I assumed is the Oracle Apex instance.That information is determined by the web server configuration (e.g. the DADs when using OHS) rather than through APEX itself. There are no built-in substitution strings for this. Create an application item and an On New Instance (new session) computation to set the value using the function<tt>owa_util.get_cgi_env</tt> function to get the CGI environment variables <tt> HTTP_HOST</tt> and <tt>SCRIPT_NAME</tt>. You can then reference the value in the region using substitution string syntax.

  • 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

  • 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

  • Inconsistent substitution string expansion in email templates - SCSM 2012 R2

    Coming to the conclusion that email templates should not be stored in a custom MP ?
    I'm seeing odd begaviour where only some fields are expanded when the email is created. See below example where ID in the subject line has not been expanded but it has been expanded in the body of the email. If I store the custom template in "Service
    Manager Incident Management Configuration Library" then it works as expected.
    In the following notification, Subject has not been expanded yet when ID is used in a subsequent field in the email body it is expanded (Fault No.)
    Also Affected User Firstname has not been expanded.
    Subject: Your call has been closed.  ID: $Context/Property[Type='WorkItem!System.WorkItem']/Id$
    Fault No: IR223
    Fault Description: Testing Open, resolve & close notifications
    Dear $Context/Path[Relationship='WorkItem!System.WorkItemAffectedUser' SeedRole='Source' TypeConstraint='System!System.Domain.User']/Property[Type='System!System.Domain.User']/FirstName$,
    Please be advised that this call has now been marked as closed.
    Ian Moran

    it should be noted that those substitution strings are contingent on the MP that stores the notification template. for example, 'System!System.Domain.User' is only valid if the
    MP Reference "System" points to an MP that contains the element System.WorkItemAffectedUser, and that element is a relationship class definition.
    to break it down:
    $Context/Path[Relationship='WorkItem!System.WorkItemAffectedUser' SeedRole='Source' TypeConstraint='System!System.Domain.User']/Property[Type='System!System.Domain.User']/FirstName$
    $ starts and ends a variable.
    Context is one of the keywords that control the behavior of the variable, but in this case, you can read it as the target of the notification template.
    Path[] means we are going down the projections path \
    Relationship modifies path by specifying which relationship to follow in the brackets with the Relationship element.
    SeedRole modifies path by setting which side of the relationship the starting objects is on, in this case, the "context" is the source of the relationship.
    TypeConstraint filters path based on what's on the other side of the relationship, in this case, it must be a user.
    Property[] means we're reading data from a property of this user, as opposed to pathing again
    Type modifies property by controling which class to get the property set from
    the last entry is the property name to get data from, i.e. the
    FirstName property.
    Consider http://technet.microsoft.com/en-us/library/ff719642.aspx and
    http://msdn.microsoft.com/en-us/library/ee533748.aspx, thou Context is new for service manager and is largely undocumented, I suspect it was added to address related classes, as (also speculation)
    Target may refer only to the target entity without its relationships.

Maybe you are looking for

  • Fetch the netprice from the validity period which always matches with the

    Let me describe the same. Suppose the PO creation date is 04.07.2007 The conditions for an item in a contract for the PO are as follows; 1. Validity from 04.07.2007 validity to 04.07.2007 Netprice = 100.00 2. Validity from 05.07.2007 validity to 31.1

  • Creating Forms in Acrobat Pro

    I have created a form in Acrobat Pro. I want to be able to email it out to my clients, have them fill it out, save it and email it back to me. I've got the form created. I looks great and works well if you've got ACrobat Pro. But all my clients just

  • How to make the Wallet opened automatically?

    Hi All, I want any wallet that I created to be opened automatically without executing an order to do it. How Plz?

  • Opening iPhoto Library in Mavericks

    Hi, I just upgraded my hard disk to a SDD and the OS to Mavericks and like to import my old iPhoto library from my external HDD onto my MBP. I previously installed the latest version of iPhoto (9.5.1), but it said that I had to upgrade my old library

  • WebLogic Server Administration Console shows EPM servers in ADMIN State

    Hello everyone, We have a distibuted environment for Oracle EPM: Server 1 - Foundation Services, Essbase Server 2 - Reporting and Analysis Framework We are trying to replicate one of our customer's environment and as part of that we have done multipl