SlideShare una empresa de Scribd logo
1 de 10
Descargar para leer sin conexión
Idoc Script Syntax
 Idoc Script Tags
Idoc Script commands begin with <$ and end with $> delimiters. For example:
<$dDocTitle$>
<$if UseGuiWinLook and isTrue(UseGuiWinLook)$>
Idoc Script Comments
You can use standard HTML comments or Idoc Script comments in Idoc Script code. An Idoc Script comment
begins with [[% and closes with %]] delimiters. For example:
<!-- HTML Comment -->
[[%My Comment%]]
----------------------------------------------------------------------------------------------------
Variables
A variable enables you to define and substitute variable values.
 A value can be assigned to a variable using the structure:
 <$variable=value$>
For example, <$i=0$> assigns the value of 0 to the variable i.
 Variable values can also be defined in an environment resource (CFG) file using the following
name/value pair format:
variable=value
Idoc Script supports multiple clauses separated by commas in one script block.
For example, you can use <$a=1,b=2$> rather than two separate statements: <$a=1$> and <$b=2$>.
Referencing a Variable in a Conditional
The following structure can be used to evaluate the existence of a variable:
<$if variable_name$>
If the variable is defined, this conditional is evaluated as TRUE. If the variable is not defined or it is defined as an
empty (null) string, it is evaluated as FALSE.
--------------------------------------------------------------------------------------------------------
Functions
Idoc Script has many built-in global functions. Functions perform actions, including string comparison and
manipulation routines, date formatting, and ResultSet manipulation. Some functions also return results, such as
the results of calculations or comparisons.
Information is passed to functions by enclosing the information in parentheses after the name of the function.
Pieces of information that are passed to a function are called parameters. Some functions do not take
parameters; some functions take one parameter; some take several. There are also functions for which the
number of parameters depends on how the function is being used.
Personalization functions refer to user properties that are defined in personalization files, also called user topic
files. Each user's User Profile settings, personal links in the left navigation bar, and workflow in queue information
are all defined in user topic files, which are HDA files located in
the WC_CONTENT_ORACLE_HOME/data/users/profiles/us/username/ directories.
The following global functions reference user topic files:
 "utGetValue"
 "utLoad"
 "utLoadResultSet"
For example, the Portal Design link in a user's left navigation bar is generated from the following code in
the pne_nav_userprofile_links include (located in
the WC_CONTENT_ORACLE_HOME/shared/config/resources/std_page.htm resource file). If
the portalDesignLink property in
the WC_CONTENT_ORACLE_HOME/data/users/profiles/us/username/pne_portal.hda file is TRUE, the link is
displayed:
<$if utGetValue("pne_portal", "portalDesignLink") == 1$>
<$hasUserProfileLinks=1$>
<tr>
<td colspan=2 nowrap align="left">
<a class=pneLink
href="<$HttpCgiPath$>?IdcService=GET_PORTAL_PAGE&Action=GetTemplatePage&Page=PNE_PO
RTAL_DESIGN_PAGE">
<$lc("wwPortalDesign")$></a>
<td>
</tr>
<$endif$>
---------------------------------------------------------------------------------------------------------------
Conditionals
A conditional enables you to use if and else clauses to include or exclude code from an assembled page.
 Use the following Idoc Script keywords to evaluate conditions:
o <$if condition$>
o <$else$>
o <$elseif condition$>
o <$endif$>
 Conditional clauses use this general structure:
 <$if conditionA$>
 <!--Code if conditionA is true-->
 <$elseif conditionB$>
 <!--Code if conditionB is true-->
 <$else$>
 <!--Code if neither conditionA nor conditionB are true-->
 <$endif$>
 A condition expression can be any Idoc Script function or variable.
For more information, see Section 2.3.2.5, "Referencing a Variable in a Conditional."
 Boolean Operators can be used to combine conditional clauses. For example, you can use
the and operator as follows:
 <$if UseBellevueLook and isTrue(UseBellevueLook)$>
 If the condition expression is the name of a ResultSet available for inclusion in the HTML page, the
conditional clause returns true if the ResultSet has at least one row. This ensures that a template page
presents information for a ResultSet only if there are rows in the ResultSet.
 A conditional clause that does not trigger special computation is evaluated using
the XXXXXXXXXXXX_cannot_cross-reference to a marker on a para in
a bable_XXXXXXXXXXXXXX prefix. The result is true if the value is not null and is either a nonempty
string or a nonzero integer.
For an example of conditional code, see Section 2.3.4.1, "Conditional Example."
2.3.4.1 Conditional Example
In this example, a table cell <td> is defined depending on the value of the variable xDepartment:
<$if xDepartment$>
<td><$xDepartment$></td>
<$else$>
<td>Department is not defined.</td>
<$endif$>
<$xDepartment=""$>
 If the value of xDepartment is defined, then the table cell contains the value of xDepartment.
 If the value of xDepartment is not defined or is an empty (null) string, a message is written as the
content of the table cell.
 The last line of code clears the xDepartment variable by resetting it to an empty string.
Looping
Loop structures allow you to execute the same code a variable number of times. Looping can be accomplished in
two ways with Idoc Script:
ResultSet Looping
ResultSet looping repeats a set of code for each row in a ResultSet that is returned from a query. The name of
the ResultSet to be looped is specified as a variable using the following syntax:
<$loop ResultSet_name$>
code
<$endloop$>
 The code between the <$loop$> and <$endloop$> tags is repeated once for each row in the
ResultSet.
 When inside a ResultSet loop, you can retrieve values from the ResultSet using the getValue function.
Substitution of values depends on which row is currently being accessed in the loop.
 When inside a ResultSet loop, that ResultSet becomes active and has priority over other ResultSets
when evaluating variables and conditional statements.
 You cannot use the <$loop$> tag to loop over a variable that points to a ResultSet. Instead you must
loop over the ResultSet manually using the rsFirst and rsNext functions.
For example, you cannot use the following code to loop over a ResultSet:
<$name="SearchResults"$>
<$loop name$>
<!--output code-->
<$endloop$>
Instead, you must use the following code:
<$name="SearchResults"$>
<$rsFirst(name)$>
<$loopwhile getValue(name, "#isRowPresent")$>
<!--output code-->
<$rsNext(name)$>
<$endloop$>
ResultSet Looping Example
In this example, a search results table is created by looping over the SearchResults ResultSet, which was
generated by the GET_SEARCH_RESULTS service.
<$QueryText="dDocType <matches> 'ADACCT'"$>
<$executeService("GET_SEARCH_RESULTS")$>
<table>
<tr>
<td>Title</td><td>Author</td>
</tr>
<$loop SearchResults$>
<tr>
<td><a href="<$SearchResults.URL$>"><$SearchResults.dDocTitle$></a></td>
<td><$SearchResults.dDocAuthor$></td>
</tr>
<$endloop$>
</table>
While Looping
While looping enables you to create a conditional loop. The syntax for a while loop is:
<$loopwhile condition$>
code
<$endloop$>
 If the result of the condition expression is true, the code between
the <$loopwhile$> and <$endloop$> tags is executed.
 After all of the code in the loop has been executed, control returns to the top of the loop, where
the condition expression is evaluated again.
o If the result is true, the code is executed again.
o If the code if the result is false, the loop is exited.
While Looping Example
In this example, a variable named abc is increased by 2 during each pass through the loop. On the sixth pass
(when abc equals 10), the condition expression is no longer true, so the loop is exited.
<$abc=0$>
<$loopwhile abc<10$>
<$abc=(abc+2)$>
<$endloop$>
Ending a Loop
There are two Idoc Script tags that will terminate a ResultSet loop or while loop:
 <$endloop$> returns control to the beginning of the loop for the next pass. All loops must be closed
with an <$endloop$> tag.
 <$break$> causes the innermost loop to be exited. Control resumes with the first statement following
the end of the loop.
Workflow Admin
In the Workflow Admin tool, you can use Idoc Script to define the following:
 step events
 jump messages
 extra exit conditions
 tokens
 custom effects for jumps
For example, the following step entry script sends documents in the Secure security group to the next step in
the workflow:
<$if dSecurityGroup like "Secure"$>
<$wfSet("wfJumpName", "New")$>
<$wfSet("wfJumpTargetStep", wfCurrentStep(1))$>
<$wfSet("wfJumpEntryNotifyOff", "0")$>
<$endif$>
--------------------------------------------------------------------------------------------------------------------------------------
#active <$#active.variable$> Retrieves the value of the specified variable from the DataBinder,
searching in the following default order:
1. Active ResultSets
2. Local data
3. All other ResultSets
4. Environment
Does not send an error report to the debug output if the variable is not
found.
#local <$#local.variable$> Retrieves the value of the specified variable from the local data. Does not
send an error report to the debug output if the variable is not found.
#env <$#env.variable$> Retrieves the value of the specified variable from the environment
settings. Does not send an error report to the debug output if the variable
is not found.
exec <$exec expression$> Executes an expression and suppresses the output (does not display the
expression on the page).
In earlier versions of Idoc Script, the exec keyword was required to
suppress the value of any variable from appearing in the output file. In
the current version, the exec keyword is needed only to suppress
an expression from appearing in the output file.
include <$include ResourceName$> Includes the code from the specified resource. For more information,
see Section 2.3.1, "Includes."
super <$include
super.<include>$>
Starts with the existing version of the include code. For more information,
see Section 2.3.1.2, "Super Tag."
- exec Keyword
The exec keyword executes an Idoc Script expression and suppresses the output (does not display the
expression on the page). It is primarily used to set variables without writing anything to the page.
In earlier versions of Idoc Script, the exec keyword was required to suppress the value of any variable from
appearing in the output file. In the current version, the exec keyword is needed only to suppress an expression
from appearing in the output.
For example, the first line below is equivalent to the last two lines:
<$varA="stringA", varB ="stringB"$>
<$exec varA="stringA"$>
<$exec varB="stringB"$>
eval Function
The eval function evaluates an expression as if it were actual Idoc Script.
In the following example, a variable named one is assigned the string Company Name, and a variable
named two is assigned a string that includes variable one.
<$one="Company Name"$>
<$two="Welcome to <$one$>"$>
<$one$><br>
<$two$><br>
<$eval(two)$>
In the page output, variable one presents the string Company Name, variable two presents the string Welcome
to <$one$>, and the function eval(two) presents the string Welcome to Company Name.
Note that the string to be evaluated must have the Idoc Script delimiters <$ $> around it, otherwise it will not be
evaluated as Idoc Script.
Also note that too much content generated dynamically in this manner can slow down page display. If
the eval function is used frequently on a page, it may be more efficient to put the code in an include and use
the inc Function in conjunction with the eval function.
Metadata Field Naming
Each metadata field has an internal field name, which is used in code. In addition, many fields have descriptive
captions which are shown on web pages.
 All internal metadata field names begin with either a d or an x:
o Predefined field names begin with a d. For example, dDocAuthor.
o Custom field names begin with an x. For example, xDepartment.
Workflow Functions
 wfSet
Sets a key with a particular value in the companion file.
Parameters
Takes two parameters:
 The first parameter is the key.
 The second parameter is the value.
Example
Sets the key wfJumpName to MyJump:
<$wfSet("wfJumpName", "MyJump")$>
--------------------------------------------------------------------------------------------------------------------------------------
 WfStart
Sends the revision to the first step in the current workflow. Note that this variable begins with an
uppercase W.
Example
Sets the target step for a jump to restart the workflow:
<$wfSet("wfJumpTargetStep",WfStart)$>
--------------------------------------------------------------------------------------------------------------------------------------
 wfCurrentSet
Sets the local state value of a key in the companion file.
Parameters
Takes two parameters:
 The first parameter is the key.
 The second parameter is the value.
Example
Sets the key <step_name>@<workflow_name>.myKey to myValue:
<$wfCurrentSet("myKey", "myValue")$>
wfCurrentGet
Retrieves a local state value from the companion file.
Parameters
The only parameter is the key.
Output
Returns the local state value from the companion file.
Example
Returns the value of the local key <step_name>@<workflow_name>.myKey:
<$wfCurrentGet("myKey")$>
--------------------------------------------------------------------------------------------------------------------------------------
wfAddUser
Adds a user, alias, or workflow token to the list of reviewers for a workflow step. This function can only be used
inside a token.
Parameters
Takes two parameters:
 The first parameter indicates the user name, alias, or token name.
 The second parameter indicates the type, either user or alias.
Example
Adds the user mjones as a reviewer:
<$wfAddUser("mjones", "user")$>
Adds the original author token and the hr alias as reviewers:
<$wfAddUser(dDocAuthor, "user")$>
<$wfAddUser("hr", "alias")$>
wfComputeStepUserList
Computes the list of users from the current step in the workflow.
Returns a comma-delimited list of users.
wfExit
Exits a workflow step. This function moves the revision to a particular step in a workflow according to the
function parameters and resets the parent list information. To completely exit a workflow,
use wfExit(100,100) or any parameters that ensure that the revision returns to the parent workflow and then
gets moved past the last step in that workflow.
Parameters
Takes two parameters:
 The first parameter indicates the number of jumps to rewind.
 The second parameter indicates the target step relative to the step determined by the first parameter.
Example
Exits to the parent step in the workflow:
<$wfExit(0,0)$>
Returns to the previous jump step:
<$wfExit(1,0)$>
Returns to the previous jump step and moves to the next step in that workflow:
<$wfExit(1,1)$>
--------------------------------------------------------------------------------------------------------------------------------------
wfGet
Retrieves a state value from the companion file.
Parameters
The only parameter is the state key.
Output
Returns the state value from the companion file.
Example
Returns the current jump name:
<$wfGet("wfJumpName")$>
--------------------------------------------------------------------------------------------------------------------------------------
WfStart
Sends the revision to the first step in the current workflow. Note that this variable begins with an uppercase W.
Example
Sets the target step for a jump to restart the workflow:
<$wfSet("wfJumpTargetStep",WfStart)$>
--------------------------------------------------------------------------------------------------------------------------------------
wfUpdateMetaData
Defines a metadata value for the current content item revision in a workflow.
The wfUpdateMetaData function can be used only for updating custom metadata fields. You cannot use this
function to update standard, predefined fields
Type and Usage
 Section 3.8.1.1, "Workflow Functions"
 Section 4.33, "Workflow"
Example
Defines "This is my comment." as the value of the Comments field:
<$wfUpdateMetaData("xComments", "This is my comment.")$>
--------------------------------------------------------------------------------------------------------------------------------------
wfNotify
Sends an e-mail message to a specified user, alias, or workflow token.
The wfMailSubject and wfMessage variables can be set to customize the notification message.
Parameters
Takes two parameters and an optional third parameter:
 The first parameter specifies the user name, alias, or token to be notified.
 The second parameter indicates the type, either user, alias or token.
 The optional third parameter specifies the name of the e-mail template to use for constructing the
message. (See the IdcHomeDir/resources/core/templates/templates.hda file for template definitions.)
Example
Notifies the original author:
<$wfNotify(dDocAuthor, "user")$>
Notifies all users in the myAlias alias, using the IdcHomeDir/resources/core/templates/reject_mail.htm file as a
template:
<$wfNotify("myAlias", "alias", "WF_REJECT_MAIL")$>

Más contenido relacionado

La actualidad más candente

Gestão Financeira - Novo modelo de baixa
Gestão Financeira - Novo modelo de baixaGestão Financeira - Novo modelo de baixa
Gestão Financeira - Novo modelo de baixaTOTVS Connect
 
Scheduling agreement output message configuration
Scheduling agreement output message configurationScheduling agreement output message configuration
Scheduling agreement output message configurationLokesh Modem
 
Fch9 how to cancel an issued cheque in sap
Fch9     how to cancel an issued cheque in sapFch9     how to cancel an issued cheque in sap
Fch9 how to cancel an issued cheque in sapAmith Sanghvi
 
R12 New Features In Order Management
R12 New Features In Order ManagementR12 New Features In Order Management
R12 New Features In Order Managementravisagaram
 
Master data distribution in SAP: implementation guide
Master data distribution in SAP: implementation guideMaster data distribution in SAP: implementation guide
Master data distribution in SAP: implementation guideJonathan Eemans
 
Triton rl1600-atm-owners-manual
Triton rl1600-atm-owners-manualTriton rl1600-atm-owners-manual
Triton rl1600-atm-owners-manualpdfshearing
 
Crr presentation
Crr presentationCrr presentation
Crr presentationnaojan
 
Database Administration
Database AdministrationDatabase Administration
Database AdministrationBilal Arshad
 
Svetlin Nakov - Database Transactions
Svetlin Nakov - Database TransactionsSvetlin Nakov - Database Transactions
Svetlin Nakov - Database TransactionsSvetlin Nakov
 
On hand quantities import
On hand quantities importOn hand quantities import
On hand quantities importMuhammad Luqman
 
Concurrency Control Techniques
Concurrency Control TechniquesConcurrency Control Techniques
Concurrency Control TechniquesRaj vardhan
 
Customizig sap - img do material ledger
Customizig sap - img do material ledgerCustomizig sap - img do material ledger
Customizig sap - img do material ledgerrenata villela
 
LSMW - Multiple Line of Material Master Long Text
LSMW - Multiple Line of Material Master Long TextLSMW - Multiple Line of Material Master Long Text
LSMW - Multiple Line of Material Master Long TextRidzuan
 
Sap tm enhancement guide
Sap tm enhancement guideSap tm enhancement guide
Sap tm enhancement guidezhijian yu
 
Query processing and optimization (updated)
Query processing and optimization (updated)Query processing and optimization (updated)
Query processing and optimization (updated)Ravinder Kamboj
 
SAP PS Certification Overview (mindmap edition)
SAP PS Certification Overview (mindmap edition)SAP PS Certification Overview (mindmap edition)
SAP PS Certification Overview (mindmap edition)Benedict Yong (杨腾翔)
 

La actualidad más candente (20)

Gestão Financeira - Novo modelo de baixa
Gestão Financeira - Novo modelo de baixaGestão Financeira - Novo modelo de baixa
Gestão Financeira - Novo modelo de baixa
 
Scheduling agreement output message configuration
Scheduling agreement output message configurationScheduling agreement output message configuration
Scheduling agreement output message configuration
 
Using idoc method in lsmw
Using idoc method in lsmwUsing idoc method in lsmw
Using idoc method in lsmw
 
Fch9 how to cancel an issued cheque in sap
Fch9     how to cancel an issued cheque in sapFch9     how to cancel an issued cheque in sap
Fch9 how to cancel an issued cheque in sap
 
R12 New Features In Order Management
R12 New Features In Order ManagementR12 New Features In Order Management
R12 New Features In Order Management
 
Master data distribution in SAP: implementation guide
Master data distribution in SAP: implementation guideMaster data distribution in SAP: implementation guide
Master data distribution in SAP: implementation guide
 
Triton rl1600-atm-owners-manual
Triton rl1600-atm-owners-manualTriton rl1600-atm-owners-manual
Triton rl1600-atm-owners-manual
 
Crr presentation
Crr presentationCrr presentation
Crr presentation
 
Database Administration
Database AdministrationDatabase Administration
Database Administration
 
Order to cash cycle
Order to cash cycleOrder to cash cycle
Order to cash cycle
 
Svetlin Nakov - Database Transactions
Svetlin Nakov - Database TransactionsSvetlin Nakov - Database Transactions
Svetlin Nakov - Database Transactions
 
On hand quantities import
On hand quantities importOn hand quantities import
On hand quantities import
 
Order to cash cycle
Order to cash cycleOrder to cash cycle
Order to cash cycle
 
Concurrency Control Techniques
Concurrency Control TechniquesConcurrency Control Techniques
Concurrency Control Techniques
 
Customizig sap - img do material ledger
Customizig sap - img do material ledgerCustomizig sap - img do material ledger
Customizig sap - img do material ledger
 
Chapter18
Chapter18Chapter18
Chapter18
 
LSMW - Multiple Line of Material Master Long Text
LSMW - Multiple Line of Material Master Long TextLSMW - Multiple Line of Material Master Long Text
LSMW - Multiple Line of Material Master Long Text
 
Sap tm enhancement guide
Sap tm enhancement guideSap tm enhancement guide
Sap tm enhancement guide
 
Query processing and optimization (updated)
Query processing and optimization (updated)Query processing and optimization (updated)
Query processing and optimization (updated)
 
SAP PS Certification Overview (mindmap edition)
SAP PS Certification Overview (mindmap edition)SAP PS Certification Overview (mindmap edition)
SAP PS Certification Overview (mindmap edition)
 

Destacado

Creating Next-Generation ADF Mobile Applications
Creating Next-Generation ADF Mobile ApplicationsCreating Next-Generation ADF Mobile Applications
Creating Next-Generation ADF Mobile ApplicationsBrian Huff
 
Deep Dive: Oracle WebCenter Content Tips and Traps!
Deep Dive: Oracle WebCenter Content Tips and Traps!Deep Dive: Oracle WebCenter Content Tips and Traps!
Deep Dive: Oracle WebCenter Content Tips and Traps!Brian Huff
 
Seamless Integrations between WebCenter Content, Site Studio, and WebCenter S...
Seamless Integrations between WebCenter Content, Site Studio, and WebCenter S...Seamless Integrations between WebCenter Content, Site Studio, and WebCenter S...
Seamless Integrations between WebCenter Content, Site Studio, and WebCenter S...Brian Huff
 
Integrating ADF Mobile with WebCenter
Integrating ADF Mobile with WebCenterIntegrating ADF Mobile with WebCenter
Integrating ADF Mobile with WebCenterBrian Huff
 
FatWire Tutorial For Site Studio Developers
FatWire Tutorial For Site Studio DevelopersFatWire Tutorial For Site Studio Developers
FatWire Tutorial For Site Studio DevelopersBrian Huff
 
Creating a Global E-Commerce Website With E-Business Suite and Fusion Middleware
Creating a Global E-Commerce Website With E-Business Suite and Fusion MiddlewareCreating a Global E-Commerce Website With E-Business Suite and Fusion Middleware
Creating a Global E-Commerce Website With E-Business Suite and Fusion MiddlewareBrian Huff
 
Ale Idoc Edi
Ale Idoc EdiAle Idoc Edi
Ale Idoc Edishesagiri
 
Integrating ECM (WebCenter Content) with your Enterprise! 5 Tips to Try, 5 Tr...
Integrating ECM (WebCenter Content) with your Enterprise! 5 Tips to Try, 5 Tr...Integrating ECM (WebCenter Content) with your Enterprise! 5 Tips to Try, 5 Tr...
Integrating ECM (WebCenter Content) with your Enterprise! 5 Tips to Try, 5 Tr...Brian Huff
 
Ale edi i_doc.sapdb.info
Ale edi i_doc.sapdb.infoAle edi i_doc.sapdb.info
Ale edi i_doc.sapdb.infoIvs Naresh
 
I doc creation documentation
I doc creation documentationI doc creation documentation
I doc creation documentationDolly Mahandwan
 

Destacado (11)

Creating Next-Generation ADF Mobile Applications
Creating Next-Generation ADF Mobile ApplicationsCreating Next-Generation ADF Mobile Applications
Creating Next-Generation ADF Mobile Applications
 
Deep Dive: Oracle WebCenter Content Tips and Traps!
Deep Dive: Oracle WebCenter Content Tips and Traps!Deep Dive: Oracle WebCenter Content Tips and Traps!
Deep Dive: Oracle WebCenter Content Tips and Traps!
 
Seamless Integrations between WebCenter Content, Site Studio, and WebCenter S...
Seamless Integrations between WebCenter Content, Site Studio, and WebCenter S...Seamless Integrations between WebCenter Content, Site Studio, and WebCenter S...
Seamless Integrations between WebCenter Content, Site Studio, and WebCenter S...
 
Integrating ADF Mobile with WebCenter
Integrating ADF Mobile with WebCenterIntegrating ADF Mobile with WebCenter
Integrating ADF Mobile with WebCenter
 
FatWire Tutorial For Site Studio Developers
FatWire Tutorial For Site Studio DevelopersFatWire Tutorial For Site Studio Developers
FatWire Tutorial For Site Studio Developers
 
Creating a Global E-Commerce Website With E-Business Suite and Fusion Middleware
Creating a Global E-Commerce Website With E-Business Suite and Fusion MiddlewareCreating a Global E-Commerce Website With E-Business Suite and Fusion Middleware
Creating a Global E-Commerce Website With E-Business Suite and Fusion Middleware
 
Ale Idoc Edi
Ale Idoc EdiAle Idoc Edi
Ale Idoc Edi
 
SAP ALE Idoc
SAP ALE IdocSAP ALE Idoc
SAP ALE Idoc
 
Integrating ECM (WebCenter Content) with your Enterprise! 5 Tips to Try, 5 Tr...
Integrating ECM (WebCenter Content) with your Enterprise! 5 Tips to Try, 5 Tr...Integrating ECM (WebCenter Content) with your Enterprise! 5 Tips to Try, 5 Tr...
Integrating ECM (WebCenter Content) with your Enterprise! 5 Tips to Try, 5 Tr...
 
Ale edi i_doc.sapdb.info
Ale edi i_doc.sapdb.infoAle edi i_doc.sapdb.info
Ale edi i_doc.sapdb.info
 
I doc creation documentation
I doc creation documentationI doc creation documentation
I doc creation documentation
 

Similar a Idoc script beginner guide

Fpga 06-data-types-system-tasks-compiler-directives
Fpga 06-data-types-system-tasks-compiler-directivesFpga 06-data-types-system-tasks-compiler-directives
Fpga 06-data-types-system-tasks-compiler-directivesMalik Tauqir Hasan
 
VPN Access Runbook
VPN Access RunbookVPN Access Runbook
VPN Access RunbookTaha Shakeel
 
Twig Brief, Tips&Tricks
Twig Brief, Tips&TricksTwig Brief, Tips&Tricks
Twig Brief, Tips&TricksAndrei Burian
 
Vaadin Components @ Angular U
Vaadin Components @ Angular UVaadin Components @ Angular U
Vaadin Components @ Angular UJoonas Lehtinen
 
Geek Moot '09 -- Smarty 101
Geek Moot '09 -- Smarty 101Geek Moot '09 -- Smarty 101
Geek Moot '09 -- Smarty 101Ted Kulp
 
Oracle APEX Performance
Oracle APEX PerformanceOracle APEX Performance
Oracle APEX PerformanceScott Wesley
 
Synapse india complain sharing info about php chaptr 26
Synapse india complain sharing info about php chaptr 26Synapse india complain sharing info about php chaptr 26
Synapse india complain sharing info about php chaptr 26SynapseindiaComplaints
 
AEM Sightly Template Language
AEM Sightly Template LanguageAEM Sightly Template Language
AEM Sightly Template LanguageGabriel Walt
 
Web-based application development part 31MINIMIZE .docx
Web-based application development part 31MINIMIZE .docxWeb-based application development part 31MINIMIZE .docx
Web-based application development part 31MINIMIZE .docxcelenarouzie
 
Mysqlppt
MysqlpptMysqlppt
MysqlpptReka
 
Javascript variables and datatypes
Javascript variables and datatypesJavascript variables and datatypes
Javascript variables and datatypesVarun C M
 

Similar a Idoc script beginner guide (20)

Fpga 06-data-types-system-tasks-compiler-directives
Fpga 06-data-types-system-tasks-compiler-directivesFpga 06-data-types-system-tasks-compiler-directives
Fpga 06-data-types-system-tasks-compiler-directives
 
Broadleaf Presents Thymeleaf
Broadleaf Presents ThymeleafBroadleaf Presents Thymeleaf
Broadleaf Presents Thymeleaf
 
VPN Access Runbook
VPN Access RunbookVPN Access Runbook
VPN Access Runbook
 
Twig Brief, Tips&Tricks
Twig Brief, Tips&TricksTwig Brief, Tips&Tricks
Twig Brief, Tips&Tricks
 
Vaadin Components @ Angular U
Vaadin Components @ Angular UVaadin Components @ Angular U
Vaadin Components @ Angular U
 
Pl sql using_xml
Pl sql using_xmlPl sql using_xml
Pl sql using_xml
 
Module04
Module04Module04
Module04
 
Managing states
Managing statesManaging states
Managing states
 
Alfredo-PUMEX
Alfredo-PUMEXAlfredo-PUMEX
Alfredo-PUMEX
 
Alfredo-PUMEX
Alfredo-PUMEXAlfredo-PUMEX
Alfredo-PUMEX
 
Alfredo-PUMEX
Alfredo-PUMEXAlfredo-PUMEX
Alfredo-PUMEX
 
Alfredo-PUMEX
Alfredo-PUMEXAlfredo-PUMEX
Alfredo-PUMEX
 
Geek Moot '09 -- Smarty 101
Geek Moot '09 -- Smarty 101Geek Moot '09 -- Smarty 101
Geek Moot '09 -- Smarty 101
 
Oracle APEX Performance
Oracle APEX PerformanceOracle APEX Performance
Oracle APEX Performance
 
Synapse india complain sharing info about php chaptr 26
Synapse india complain sharing info about php chaptr 26Synapse india complain sharing info about php chaptr 26
Synapse india complain sharing info about php chaptr 26
 
AEM Sightly Template Language
AEM Sightly Template LanguageAEM Sightly Template Language
AEM Sightly Template Language
 
Web-based application development part 31MINIMIZE .docx
Web-based application development part 31MINIMIZE .docxWeb-based application development part 31MINIMIZE .docx
Web-based application development part 31MINIMIZE .docx
 
Tt subtemplates-caching
Tt subtemplates-cachingTt subtemplates-caching
Tt subtemplates-caching
 
Mysqlppt
MysqlpptMysqlppt
Mysqlppt
 
Javascript variables and datatypes
Javascript variables and datatypesJavascript variables and datatypes
Javascript variables and datatypes
 

Más de Vinay Kumar

Modernizing the monolithic architecture to container based architecture apaco...
Modernizing the monolithic architecture to container based architecture apaco...Modernizing the monolithic architecture to container based architecture apaco...
Modernizing the monolithic architecture to container based architecture apaco...Vinay Kumar
 
Kafka and event driven architecture -apacoug20
Kafka and event driven architecture -apacoug20Kafka and event driven architecture -apacoug20
Kafka and event driven architecture -apacoug20Vinay Kumar
 
Kafka and event driven architecture -og yatra20
Kafka and event driven architecture -og yatra20Kafka and event driven architecture -og yatra20
Kafka and event driven architecture -og yatra20Vinay Kumar
 
Extend soa with api management Sangam18
Extend soa with api management Sangam18Extend soa with api management Sangam18
Extend soa with api management Sangam18Vinay Kumar
 
Extend soa with api management Doag18
Extend soa with api management Doag18Extend soa with api management Doag18
Extend soa with api management Doag18Vinay Kumar
 
Roaring with elastic search sangam2018
Roaring with elastic search sangam2018Roaring with elastic search sangam2018
Roaring with elastic search sangam2018Vinay Kumar
 
Extend soa with api management spoug- Madrid
Extend soa with api management   spoug- MadridExtend soa with api management   spoug- Madrid
Extend soa with api management spoug- MadridVinay Kumar
 
Expose your data as an api is with oracle rest data services -spoug Madrid
Expose your data as an api is with oracle rest data services -spoug MadridExpose your data as an api is with oracle rest data services -spoug Madrid
Expose your data as an api is with oracle rest data services -spoug MadridVinay Kumar
 
Modern application development with oracle cloud sangam17
Modern application development with oracle cloud sangam17Modern application development with oracle cloud sangam17
Modern application development with oracle cloud sangam17Vinay Kumar
 
award-3b07c32b-b116-3a75-8974-d814d37026ca
award-3b07c32b-b116-3a75-8974-d814d37026caaward-3b07c32b-b116-3a75-8974-d814d37026ca
award-3b07c32b-b116-3a75-8974-d814d37026caVinay Kumar
 
award-3b07c32b-b116-3a75-8974-d814d37026ca
award-3b07c32b-b116-3a75-8974-d814d37026caaward-3b07c32b-b116-3a75-8974-d814d37026ca
award-3b07c32b-b116-3a75-8974-d814d37026caVinay Kumar
 
Adf spotlight-webcenter task flow-customzation
Adf spotlight-webcenter task flow-customzationAdf spotlight-webcenter task flow-customzation
Adf spotlight-webcenter task flow-customzationVinay Kumar
 
Personalization in webcenter portal
Personalization in webcenter portalPersonalization in webcenter portal
Personalization in webcenter portalVinay Kumar
 
Custom audit rules in Jdeveloper extension
Custom audit rules in Jdeveloper extensionCustom audit rules in Jdeveloper extension
Custom audit rules in Jdeveloper extensionVinay Kumar
 
File upload in oracle adf mobile
File upload in oracle adf mobileFile upload in oracle adf mobile
File upload in oracle adf mobileVinay Kumar
 
Webcenter application performance tuning guide
Webcenter application performance tuning guideWebcenter application performance tuning guide
Webcenter application performance tuning guideVinay Kumar
 
Tuning and optimizing webcenter spaces application white paper
Tuning and optimizing webcenter spaces application white paperTuning and optimizing webcenter spaces application white paper
Tuning and optimizing webcenter spaces application white paperVinay Kumar
 
Oracle adf performance tips
Oracle adf performance tipsOracle adf performance tips
Oracle adf performance tipsVinay Kumar
 
JSR 168 Portal - Overview
JSR 168 Portal - OverviewJSR 168 Portal - Overview
JSR 168 Portal - OverviewVinay Kumar
 
Spring framework in depth
Spring framework in depthSpring framework in depth
Spring framework in depthVinay Kumar
 

Más de Vinay Kumar (20)

Modernizing the monolithic architecture to container based architecture apaco...
Modernizing the monolithic architecture to container based architecture apaco...Modernizing the monolithic architecture to container based architecture apaco...
Modernizing the monolithic architecture to container based architecture apaco...
 
Kafka and event driven architecture -apacoug20
Kafka and event driven architecture -apacoug20Kafka and event driven architecture -apacoug20
Kafka and event driven architecture -apacoug20
 
Kafka and event driven architecture -og yatra20
Kafka and event driven architecture -og yatra20Kafka and event driven architecture -og yatra20
Kafka and event driven architecture -og yatra20
 
Extend soa with api management Sangam18
Extend soa with api management Sangam18Extend soa with api management Sangam18
Extend soa with api management Sangam18
 
Extend soa with api management Doag18
Extend soa with api management Doag18Extend soa with api management Doag18
Extend soa with api management Doag18
 
Roaring with elastic search sangam2018
Roaring with elastic search sangam2018Roaring with elastic search sangam2018
Roaring with elastic search sangam2018
 
Extend soa with api management spoug- Madrid
Extend soa with api management   spoug- MadridExtend soa with api management   spoug- Madrid
Extend soa with api management spoug- Madrid
 
Expose your data as an api is with oracle rest data services -spoug Madrid
Expose your data as an api is with oracle rest data services -spoug MadridExpose your data as an api is with oracle rest data services -spoug Madrid
Expose your data as an api is with oracle rest data services -spoug Madrid
 
Modern application development with oracle cloud sangam17
Modern application development with oracle cloud sangam17Modern application development with oracle cloud sangam17
Modern application development with oracle cloud sangam17
 
award-3b07c32b-b116-3a75-8974-d814d37026ca
award-3b07c32b-b116-3a75-8974-d814d37026caaward-3b07c32b-b116-3a75-8974-d814d37026ca
award-3b07c32b-b116-3a75-8974-d814d37026ca
 
award-3b07c32b-b116-3a75-8974-d814d37026ca
award-3b07c32b-b116-3a75-8974-d814d37026caaward-3b07c32b-b116-3a75-8974-d814d37026ca
award-3b07c32b-b116-3a75-8974-d814d37026ca
 
Adf spotlight-webcenter task flow-customzation
Adf spotlight-webcenter task flow-customzationAdf spotlight-webcenter task flow-customzation
Adf spotlight-webcenter task flow-customzation
 
Personalization in webcenter portal
Personalization in webcenter portalPersonalization in webcenter portal
Personalization in webcenter portal
 
Custom audit rules in Jdeveloper extension
Custom audit rules in Jdeveloper extensionCustom audit rules in Jdeveloper extension
Custom audit rules in Jdeveloper extension
 
File upload in oracle adf mobile
File upload in oracle adf mobileFile upload in oracle adf mobile
File upload in oracle adf mobile
 
Webcenter application performance tuning guide
Webcenter application performance tuning guideWebcenter application performance tuning guide
Webcenter application performance tuning guide
 
Tuning and optimizing webcenter spaces application white paper
Tuning and optimizing webcenter spaces application white paperTuning and optimizing webcenter spaces application white paper
Tuning and optimizing webcenter spaces application white paper
 
Oracle adf performance tips
Oracle adf performance tipsOracle adf performance tips
Oracle adf performance tips
 
JSR 168 Portal - Overview
JSR 168 Portal - OverviewJSR 168 Portal - Overview
JSR 168 Portal - Overview
 
Spring framework in depth
Spring framework in depthSpring framework in depth
Spring framework in depth
 

Último

Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 

Último (20)

Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 

Idoc script beginner guide

  • 1. Idoc Script Syntax  Idoc Script Tags Idoc Script commands begin with <$ and end with $> delimiters. For example: <$dDocTitle$> <$if UseGuiWinLook and isTrue(UseGuiWinLook)$> Idoc Script Comments You can use standard HTML comments or Idoc Script comments in Idoc Script code. An Idoc Script comment begins with [[% and closes with %]] delimiters. For example: <!-- HTML Comment --> [[%My Comment%]] ---------------------------------------------------------------------------------------------------- Variables A variable enables you to define and substitute variable values.  A value can be assigned to a variable using the structure:  <$variable=value$> For example, <$i=0$> assigns the value of 0 to the variable i.  Variable values can also be defined in an environment resource (CFG) file using the following name/value pair format: variable=value Idoc Script supports multiple clauses separated by commas in one script block. For example, you can use <$a=1,b=2$> rather than two separate statements: <$a=1$> and <$b=2$>. Referencing a Variable in a Conditional The following structure can be used to evaluate the existence of a variable: <$if variable_name$> If the variable is defined, this conditional is evaluated as TRUE. If the variable is not defined or it is defined as an empty (null) string, it is evaluated as FALSE. -------------------------------------------------------------------------------------------------------- Functions Idoc Script has many built-in global functions. Functions perform actions, including string comparison and manipulation routines, date formatting, and ResultSet manipulation. Some functions also return results, such as the results of calculations or comparisons. Information is passed to functions by enclosing the information in parentheses after the name of the function. Pieces of information that are passed to a function are called parameters. Some functions do not take
  • 2. parameters; some functions take one parameter; some take several. There are also functions for which the number of parameters depends on how the function is being used. Personalization functions refer to user properties that are defined in personalization files, also called user topic files. Each user's User Profile settings, personal links in the left navigation bar, and workflow in queue information are all defined in user topic files, which are HDA files located in the WC_CONTENT_ORACLE_HOME/data/users/profiles/us/username/ directories. The following global functions reference user topic files:  "utGetValue"  "utLoad"  "utLoadResultSet" For example, the Portal Design link in a user's left navigation bar is generated from the following code in the pne_nav_userprofile_links include (located in the WC_CONTENT_ORACLE_HOME/shared/config/resources/std_page.htm resource file). If the portalDesignLink property in the WC_CONTENT_ORACLE_HOME/data/users/profiles/us/username/pne_portal.hda file is TRUE, the link is displayed: <$if utGetValue("pne_portal", "portalDesignLink") == 1$> <$hasUserProfileLinks=1$> <tr> <td colspan=2 nowrap align="left"> <a class=pneLink href="<$HttpCgiPath$>?IdcService=GET_PORTAL_PAGE&Action=GetTemplatePage&Page=PNE_PO RTAL_DESIGN_PAGE"> <$lc("wwPortalDesign")$></a> <td> </tr> <$endif$> --------------------------------------------------------------------------------------------------------------- Conditionals A conditional enables you to use if and else clauses to include or exclude code from an assembled page.  Use the following Idoc Script keywords to evaluate conditions: o <$if condition$> o <$else$> o <$elseif condition$> o <$endif$>  Conditional clauses use this general structure:  <$if conditionA$>  <!--Code if conditionA is true-->  <$elseif conditionB$>  <!--Code if conditionB is true-->  <$else$>  <!--Code if neither conditionA nor conditionB are true-->  <$endif$>
  • 3.  A condition expression can be any Idoc Script function or variable. For more information, see Section 2.3.2.5, "Referencing a Variable in a Conditional."  Boolean Operators can be used to combine conditional clauses. For example, you can use the and operator as follows:  <$if UseBellevueLook and isTrue(UseBellevueLook)$>  If the condition expression is the name of a ResultSet available for inclusion in the HTML page, the conditional clause returns true if the ResultSet has at least one row. This ensures that a template page presents information for a ResultSet only if there are rows in the ResultSet.  A conditional clause that does not trigger special computation is evaluated using the XXXXXXXXXXXX_cannot_cross-reference to a marker on a para in a bable_XXXXXXXXXXXXXX prefix. The result is true if the value is not null and is either a nonempty string or a nonzero integer. For an example of conditional code, see Section 2.3.4.1, "Conditional Example." 2.3.4.1 Conditional Example In this example, a table cell <td> is defined depending on the value of the variable xDepartment: <$if xDepartment$> <td><$xDepartment$></td> <$else$> <td>Department is not defined.</td> <$endif$> <$xDepartment=""$>  If the value of xDepartment is defined, then the table cell contains the value of xDepartment.  If the value of xDepartment is not defined or is an empty (null) string, a message is written as the content of the table cell.  The last line of code clears the xDepartment variable by resetting it to an empty string. Looping Loop structures allow you to execute the same code a variable number of times. Looping can be accomplished in two ways with Idoc Script: ResultSet Looping ResultSet looping repeats a set of code for each row in a ResultSet that is returned from a query. The name of the ResultSet to be looped is specified as a variable using the following syntax: <$loop ResultSet_name$> code <$endloop$>  The code between the <$loop$> and <$endloop$> tags is repeated once for each row in the ResultSet.  When inside a ResultSet loop, you can retrieve values from the ResultSet using the getValue function. Substitution of values depends on which row is currently being accessed in the loop.  When inside a ResultSet loop, that ResultSet becomes active and has priority over other ResultSets when evaluating variables and conditional statements.  You cannot use the <$loop$> tag to loop over a variable that points to a ResultSet. Instead you must loop over the ResultSet manually using the rsFirst and rsNext functions.
  • 4. For example, you cannot use the following code to loop over a ResultSet: <$name="SearchResults"$> <$loop name$> <!--output code--> <$endloop$> Instead, you must use the following code: <$name="SearchResults"$> <$rsFirst(name)$> <$loopwhile getValue(name, "#isRowPresent")$> <!--output code--> <$rsNext(name)$> <$endloop$> ResultSet Looping Example In this example, a search results table is created by looping over the SearchResults ResultSet, which was generated by the GET_SEARCH_RESULTS service. <$QueryText="dDocType <matches> 'ADACCT'"$> <$executeService("GET_SEARCH_RESULTS")$> <table> <tr> <td>Title</td><td>Author</td> </tr> <$loop SearchResults$> <tr> <td><a href="<$SearchResults.URL$>"><$SearchResults.dDocTitle$></a></td> <td><$SearchResults.dDocAuthor$></td> </tr> <$endloop$> </table> While Looping While looping enables you to create a conditional loop. The syntax for a while loop is: <$loopwhile condition$> code <$endloop$>  If the result of the condition expression is true, the code between the <$loopwhile$> and <$endloop$> tags is executed.  After all of the code in the loop has been executed, control returns to the top of the loop, where the condition expression is evaluated again. o If the result is true, the code is executed again. o If the code if the result is false, the loop is exited. While Looping Example In this example, a variable named abc is increased by 2 during each pass through the loop. On the sixth pass (when abc equals 10), the condition expression is no longer true, so the loop is exited. <$abc=0$> <$loopwhile abc<10$> <$abc=(abc+2)$> <$endloop$> Ending a Loop There are two Idoc Script tags that will terminate a ResultSet loop or while loop:
  • 5.  <$endloop$> returns control to the beginning of the loop for the next pass. All loops must be closed with an <$endloop$> tag.  <$break$> causes the innermost loop to be exited. Control resumes with the first statement following the end of the loop. Workflow Admin In the Workflow Admin tool, you can use Idoc Script to define the following:  step events  jump messages  extra exit conditions  tokens  custom effects for jumps For example, the following step entry script sends documents in the Secure security group to the next step in the workflow: <$if dSecurityGroup like "Secure"$> <$wfSet("wfJumpName", "New")$> <$wfSet("wfJumpTargetStep", wfCurrentStep(1))$> <$wfSet("wfJumpEntryNotifyOff", "0")$> <$endif$> -------------------------------------------------------------------------------------------------------------------------------------- #active <$#active.variable$> Retrieves the value of the specified variable from the DataBinder, searching in the following default order: 1. Active ResultSets 2. Local data 3. All other ResultSets 4. Environment Does not send an error report to the debug output if the variable is not found. #local <$#local.variable$> Retrieves the value of the specified variable from the local data. Does not send an error report to the debug output if the variable is not found. #env <$#env.variable$> Retrieves the value of the specified variable from the environment settings. Does not send an error report to the debug output if the variable is not found. exec <$exec expression$> Executes an expression and suppresses the output (does not display the expression on the page). In earlier versions of Idoc Script, the exec keyword was required to suppress the value of any variable from appearing in the output file. In the current version, the exec keyword is needed only to suppress an expression from appearing in the output file. include <$include ResourceName$> Includes the code from the specified resource. For more information, see Section 2.3.1, "Includes." super <$include super.<include>$> Starts with the existing version of the include code. For more information, see Section 2.3.1.2, "Super Tag."
  • 6. - exec Keyword The exec keyword executes an Idoc Script expression and suppresses the output (does not display the expression on the page). It is primarily used to set variables without writing anything to the page. In earlier versions of Idoc Script, the exec keyword was required to suppress the value of any variable from appearing in the output file. In the current version, the exec keyword is needed only to suppress an expression from appearing in the output. For example, the first line below is equivalent to the last two lines: <$varA="stringA", varB ="stringB"$> <$exec varA="stringA"$> <$exec varB="stringB"$> eval Function The eval function evaluates an expression as if it were actual Idoc Script. In the following example, a variable named one is assigned the string Company Name, and a variable named two is assigned a string that includes variable one. <$one="Company Name"$> <$two="Welcome to <$one$>"$> <$one$><br> <$two$><br> <$eval(two)$> In the page output, variable one presents the string Company Name, variable two presents the string Welcome to <$one$>, and the function eval(two) presents the string Welcome to Company Name. Note that the string to be evaluated must have the Idoc Script delimiters <$ $> around it, otherwise it will not be evaluated as Idoc Script. Also note that too much content generated dynamically in this manner can slow down page display. If the eval function is used frequently on a page, it may be more efficient to put the code in an include and use the inc Function in conjunction with the eval function. Metadata Field Naming Each metadata field has an internal field name, which is used in code. In addition, many fields have descriptive captions which are shown on web pages.  All internal metadata field names begin with either a d or an x: o Predefined field names begin with a d. For example, dDocAuthor. o Custom field names begin with an x. For example, xDepartment. Workflow Functions  wfSet Sets a key with a particular value in the companion file. Parameters Takes two parameters:
  • 7.  The first parameter is the key.  The second parameter is the value. Example Sets the key wfJumpName to MyJump: <$wfSet("wfJumpName", "MyJump")$> --------------------------------------------------------------------------------------------------------------------------------------  WfStart Sends the revision to the first step in the current workflow. Note that this variable begins with an uppercase W. Example Sets the target step for a jump to restart the workflow: <$wfSet("wfJumpTargetStep",WfStart)$> --------------------------------------------------------------------------------------------------------------------------------------  wfCurrentSet Sets the local state value of a key in the companion file. Parameters Takes two parameters:  The first parameter is the key.  The second parameter is the value. Example Sets the key <step_name>@<workflow_name>.myKey to myValue: <$wfCurrentSet("myKey", "myValue")$> wfCurrentGet Retrieves a local state value from the companion file. Parameters The only parameter is the key. Output Returns the local state value from the companion file. Example
  • 8. Returns the value of the local key <step_name>@<workflow_name>.myKey: <$wfCurrentGet("myKey")$> -------------------------------------------------------------------------------------------------------------------------------------- wfAddUser Adds a user, alias, or workflow token to the list of reviewers for a workflow step. This function can only be used inside a token. Parameters Takes two parameters:  The first parameter indicates the user name, alias, or token name.  The second parameter indicates the type, either user or alias. Example Adds the user mjones as a reviewer: <$wfAddUser("mjones", "user")$> Adds the original author token and the hr alias as reviewers: <$wfAddUser(dDocAuthor, "user")$> <$wfAddUser("hr", "alias")$> wfComputeStepUserList Computes the list of users from the current step in the workflow. Returns a comma-delimited list of users. wfExit Exits a workflow step. This function moves the revision to a particular step in a workflow according to the function parameters and resets the parent list information. To completely exit a workflow, use wfExit(100,100) or any parameters that ensure that the revision returns to the parent workflow and then gets moved past the last step in that workflow. Parameters Takes two parameters:  The first parameter indicates the number of jumps to rewind.
  • 9.  The second parameter indicates the target step relative to the step determined by the first parameter. Example Exits to the parent step in the workflow: <$wfExit(0,0)$> Returns to the previous jump step: <$wfExit(1,0)$> Returns to the previous jump step and moves to the next step in that workflow: <$wfExit(1,1)$> -------------------------------------------------------------------------------------------------------------------------------------- wfGet Retrieves a state value from the companion file. Parameters The only parameter is the state key. Output Returns the state value from the companion file. Example Returns the current jump name: <$wfGet("wfJumpName")$> -------------------------------------------------------------------------------------------------------------------------------------- WfStart Sends the revision to the first step in the current workflow. Note that this variable begins with an uppercase W. Example Sets the target step for a jump to restart the workflow: <$wfSet("wfJumpTargetStep",WfStart)$> -------------------------------------------------------------------------------------------------------------------------------------- wfUpdateMetaData Defines a metadata value for the current content item revision in a workflow.
  • 10. The wfUpdateMetaData function can be used only for updating custom metadata fields. You cannot use this function to update standard, predefined fields Type and Usage  Section 3.8.1.1, "Workflow Functions"  Section 4.33, "Workflow" Example Defines "This is my comment." as the value of the Comments field: <$wfUpdateMetaData("xComments", "This is my comment.")$> -------------------------------------------------------------------------------------------------------------------------------------- wfNotify Sends an e-mail message to a specified user, alias, or workflow token. The wfMailSubject and wfMessage variables can be set to customize the notification message. Parameters Takes two parameters and an optional third parameter:  The first parameter specifies the user name, alias, or token to be notified.  The second parameter indicates the type, either user, alias or token.  The optional third parameter specifies the name of the e-mail template to use for constructing the message. (See the IdcHomeDir/resources/core/templates/templates.hda file for template definitions.) Example Notifies the original author: <$wfNotify(dDocAuthor, "user")$> Notifies all users in the myAlias alias, using the IdcHomeDir/resources/core/templates/reject_mail.htm file as a template: <$wfNotify("myAlias", "alias", "WF_REJECT_MAIL")$>