{"id":4324,"date":"2018-08-07T23:57:04","date_gmt":"2018-08-08T05:57:04","guid":{"rendered":"http:\/\/www.designandexecute.com\/designs\/?p=4324"},"modified":"2018-08-11T23:18:09","modified_gmt":"2018-08-12T05:18:09","slug":"how-to-use-business-objects-prompt-variable-to-build-flexible-universes-and-webintelligence-webi-reports","status":"publish","type":"post","link":"https:\/\/www.designandexecute.com\/designs\/how-to-use-business-objects-prompt-variable-to-build-flexible-universes-and-webintelligence-webi-reports\/","title":{"rendered":"How to use business objects @Prompt Variable to build flexible universes and webIntelligence (webi) Reports"},"content":{"rendered":"<p>Legacy Business Object v3.x to v6.5 introduced the @prompt variable to parameterize the universe and reports.\u00a0 This design gave rise to reporting flexibility.\u00a0 Many users built very creative reporting solutions with the use of the @Prompt variable across declarative reporting templates.\u00a0 This variable code can look very confusing at first but over time it will be easy to read.\u00a0 An example would look like<\/p>\n<p>report_country = @Prompt(&#8216;enter Country&#8217;,&#8217;A&#8217;,&#8217;Location\/Country&#8217;, Multi, Free)<\/p>\n<p>The general format of the original prompt is<\/p>\n<p><strong>@Prompt(&#8216;Parm1&#8242;,&#8217;parm2&#8242;,&#8217;parm3&#8217;, parm4, parm5)<\/strong><\/p>\n<p><a href=\"http:\/\/www.designandexecute.com\/designs\/wp-content\/uploads\/2018\/08\/business-objects-prompt-example.gif\" rel=\"attachment wp-att-4327\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-large wp-image-4327\" src=\"http:\/\/www.designandexecute.com\/designs\/wp-content\/uploads\/2018\/08\/business-objects-prompt-example-1024x194.gif\" alt=\"business-objects-prompt-example\" width=\"696\" height=\"132\" srcset=\"https:\/\/www.designandexecute.com\/designs\/wp-content\/uploads\/2018\/08\/business-objects-prompt-example-1024x194.gif 1024w, https:\/\/www.designandexecute.com\/designs\/wp-content\/uploads\/2018\/08\/business-objects-prompt-example-300x57.gif 300w, https:\/\/www.designandexecute.com\/designs\/wp-content\/uploads\/2018\/08\/business-objects-prompt-example-768x145.gif 768w, https:\/\/www.designandexecute.com\/designs\/wp-content\/uploads\/2018\/08\/business-objects-prompt-example-696x132.gif 696w, https:\/\/www.designandexecute.com\/designs\/wp-content\/uploads\/2018\/08\/business-objects-prompt-example-1068x202.gif 1068w\" sizes=\"auto, (max-width: 696px) 100vw, 696px\" \/><\/a><\/p>\n<p><strong>Parm1 =<\/strong> &#8216;<strong><span style=\"color: #c0504d;\">Prompt Text:<\/span> <\/strong>Enter the text that will be displayed for the end user when prompted<\/p>\n<p><strong>Parm2 =<\/strong> &#8216;<strong><span style=\"color: #993300;\">Prompt Type<\/span><\/strong>&#8216; (i.e. A,N,D,U) <strong><br \/>\n<\/strong><\/p>\n<p>A= Character, N= Number, D= Date, U= Unit.<\/p>\n<p><strong>Parm3 =<\/strong> &#8216;<span style=\"color: #993300;\"><strong>Class Name\/ Object Name<\/strong><\/span>&#8216;<strong> or {&#8216;static value1&#8242;,&#8217;static value2&#8217; }<br \/>\n<\/strong><\/p>\n<p><strong>Parm4 = <\/strong>&#8216;<span style=\"color: #993300;\"><strong>Multi\/ Mono<\/strong><\/span>&#8216;<\/p>\n<p>Multi allows user to select Multiple: Example year IN (2018,2005,2000)<\/p>\n<p>Mono allows the user to make one selection ( Example year = 2020)<strong><br \/>\n<\/strong><\/p>\n<p><strong>Parm5 = <span style=\"color: #993300;\">Free\/Constrain <\/span><\/strong><\/p>\n<p>The user is allowed to <strong>Type a value<\/strong> OR the user must <strong>select value in LOV<\/strong><\/p>\n<p>The user will be able to select one or multiple value instead of entering them manually.<\/p>\n<p>Today you can use the prompt wizard that has some extended prompt features.<\/p>\n<p><a href=\"http:\/\/www.designandexecute.com\/designs\/wp-content\/uploads\/2018\/08\/prompt-wizard.jpg\" rel=\"attachment wp-att-4330\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-full wp-image-4330\" src=\"http:\/\/www.designandexecute.com\/designs\/wp-content\/uploads\/2018\/08\/prompt-wizard.jpg\" alt=\"prompt-wizard\" width=\"439\" height=\"386\" srcset=\"https:\/\/www.designandexecute.com\/designs\/wp-content\/uploads\/2018\/08\/prompt-wizard.jpg 439w, https:\/\/www.designandexecute.com\/designs\/wp-content\/uploads\/2018\/08\/prompt-wizard-300x264.jpg 300w\" sizes=\"auto, (max-width: 439px) 100vw, 439px\" \/><\/a><em><u>Keep Last Value selected:<\/u><\/em> Will keep the last value entered by the end user selected.<\/p>\n<p><em><u>Select only from list:<\/u><\/em> end user will not be able to enter any data manually and he will just forced to select from the list of values. of course this option will be enabled only of we selected the prompt with list of values option.<\/p>\n<p><em><u>Optional prompt:<\/u><\/em> If this option is selected the end use will be able to skip this prompt. the value will be considered only if the end user selected a value for this prompt.<\/p>\n<p><strong>Advanced Side Notes:<\/strong><\/p>\n<ul>\n<li>Universe Design Tool (UDT) or AKA legacy BO designer will work best with the 5 main parameters.\u00a0 If you do not use these extra parameters in the designer that will parse OK. Infact sometimes it might not recognize all the 8 parameters so it is best to stick to the main 5 at the universe level but it will work fine with all 8 Parameters.<\/li>\n<\/ul>\n<p>Example @Prompt(\u20181) Enter Country Name\u2019,\u2019A\u2019,\u2019Country Dimension\\Country Name\u2019,multi,free<strong>,[Not_Persistent],[&lt;{default_value(s)or leave_blank}&gt;],[User:#]<\/strong>)<\/p>\n<p><span style=\"text-decoration: underline;\"><strong>Prompt Persistence:<\/strong> <\/span>Default value is \u201cPersistent\u201d; however, the value \u201cNot_Persistent\u201d is needed on the prompt value for any Personally Identifying Information (PII). WebI report writers want to use this syntax but the designer might fault this as a parameter issue in UDT or Designer.\u00a0 Using \u201cNot_Persistent\u201d removes the last prompted value in the report parameter.\u00a0 It force purges the value.\u00a0 This can be very important for security and regulatory reasons.\u00a0 Leaving values especially if it is personal data can open up possible General Data Protection Regulation (GDPR) issues.<\/p>\n<p><span style=\"text-decoration: underline;\"><strong>Default Value(s):<\/strong><\/span> If left blank no default value used.\u00a0 If a value or values is desired then the set should be surrounded by { } characters and separated by commas (much like hard-coded LOV values earlier in the @Prompt parameters).\u00a0 This optional parameter can serve as a manual override to the values coming from the database and short list the values to do so row level security or simplification in your Web Intelligence report prompt.\u00a0 Some Report Developers find that using this option with the \u201cNot_Persistent\u201d option provides business value in the workflow of the webi reports.<\/p>\n<p><span style=\"text-decoration: underline;\"><strong>User:#:<\/strong> <\/span>This is very useful when you have more than 1 prompt that appears when the refresh is invoked.\u00a0 It allows the business objects universe\u00a0 developer to define the relative order of the prompt.\u00a0 If two prompts have the same \u201cUser:#\u201d value then they are sorted alphabetically.\u00a0 This is typically coded at the report level since the UDT might complain about the prompt values depending on which part of the SQL predicate the prompt parameters is being evaluated.<\/p>\n<ul>\n<li>As of BO v4.1.x usage of LOV parameter ie Parm3 if <strong>used in a derived table will not parse.<\/strong> I suspect the SQL regeneration will parse the @Prompt in the FROM clause instead of the WHERE predicate.\u00a0 While it can do so without error if the LOV (parm3) is blank or with static default values, it will fail while trying to parse a valid LOV &#8216;class\/object&#8217; in the derived table.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Legacy Business Object v3.x to v6.5 introduced the @prompt variable to parameterize the universe and reports.\u00a0 This design gave rise to reporting flexibility.\u00a0 Many users built very creative reporting solutions with the use of the @Prompt variable across declarative reporting templates.\u00a0 This variable code can look very confusing at first but over time it will [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":4330,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[30],"tags":[],"class_list":["post-4324","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-bi-business-objects"],"jetpack_featured_media_url":"https:\/\/www.designandexecute.com\/designs\/wp-content\/uploads\/2018\/08\/prompt-wizard.jpg","_links":{"self":[{"href":"https:\/\/www.designandexecute.com\/designs\/wp-json\/wp\/v2\/posts\/4324","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.designandexecute.com\/designs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.designandexecute.com\/designs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.designandexecute.com\/designs\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.designandexecute.com\/designs\/wp-json\/wp\/v2\/comments?post=4324"}],"version-history":[{"count":6,"href":"https:\/\/www.designandexecute.com\/designs\/wp-json\/wp\/v2\/posts\/4324\/revisions"}],"predecessor-version":[{"id":4390,"href":"https:\/\/www.designandexecute.com\/designs\/wp-json\/wp\/v2\/posts\/4324\/revisions\/4390"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.designandexecute.com\/designs\/wp-json\/wp\/v2\/media\/4330"}],"wp:attachment":[{"href":"https:\/\/www.designandexecute.com\/designs\/wp-json\/wp\/v2\/media?parent=4324"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.designandexecute.com\/designs\/wp-json\/wp\/v2\/categories?post=4324"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.designandexecute.com\/designs\/wp-json\/wp\/v2\/tags?post=4324"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}