Business Object Keys - User Documentation

Overview

Various extensions will use a key map for an object.

The key can be used in the following way

Document Number ${number}

The following are available

Watermark version: 2.0+

String key can be modified user Freemarker syntax

e.g.

${changetaskwfuser@Formal_Drawing_Check!""}

Diagnostics

From Watermarking 3.17 all keys are available via the diagnostics page.

You must enter a document or CAD number

file

Example

An simple date format example

${now?string["dd/MM/YYYY"]}

file

Object Keys

Key Description Type Example
number Number of the object
name Name of the object
oid Unique id of the object
creator Full name of the creator
creator-id User id of the creator
modifier Full name of the last modifier
modifier-id User id of the last modifier
user Full name of current user
user-id User id of the current user
revision Revision e.g. A
iteration Current iteration
state-internal Internal state
state-display State display name
pseudo-state (WM specific) State as defined in WM Pseudo State Map in Configuration.
filename Filename of PDF
primary-filename Primary Content Filename
pbo-number Number of the seed business object e.g. Promotion
pbo-oid Unique id for the seed business object.
pbo-name Name of the seed business object e.g. Promotion
pbo-state-internal Internal state of the seed business object e.g. Promotion
pbo-state-display Internal state of the seed business object e.g. Promotion
context-name Name of context aka Container
context-desc Description of context aka Container
context-iba IBA associated to context aka Container
curr-page (Watermark only, display current watermarked page, starting at 1).
nopage-with-cov Number of pages including coversheet (Use in Watermark to show total pages)
nopage-without-cov Numer of pages excluding coversheet (Not available for Watermark)
security-label: Label values for a given Security Label String ${securitylabel:CUI}
security-labels: Label values for a mapped security labels or use empty for all Label Values String ${securitylabels:TEST_LABELS}
bo-type Type of BO (wt.doc.Document|com.wincomplm.SoftTypeDocument) String
bo-type-internal Internal name for type of BO (com.wincomplm.SoftTypeDocument) String
bo-type-display Display name for type of BO (SoftTypeDocument) String

Dates

Formatted via Extension Configuration (Deprecated)

Key Description
create-date Date of creation*
create-date-time Date and time of creation*
modify-date Last modified date*
modify-date-time Last modified date and time*

Formatted via Freemarker syntax (as shown below). Can be directly hardcoded into template.

Key Description Type Example
created Date of creation Date ${created?string["dd/MM/yyyy"]}
modified Last modified date Date ${modified?string["dd/MM/yyyy"]}
enter-state-date Date of last entered state Date ${enterstatedate?string["dd/MM/yyyy"]}
pbo-state-date Date the PBO enter a given state (States: OPEN, REJECTED, APPROVED, UNDERREVIEW) Date ${pbo-state-date@APPROVED?string["dd/MM/YYYY hh:mm:ss"]}
state-date: Date the object enter a given state (States: CANCELLED, INWORK, RELEASED) Date ${statedate:RELEASED?string["dd/MM/YYYY hh:mm:ss"]}

Instance Based Attributes

iba:internal name - String representation of value, multivalues will become a comma separated list

Examples
Key Description
${iba:myiba} The attribute value of the document/part/etc iba with the internal name myiba
${pbo-iba:myiba} The attribute value of the promotion/change/etc iba with the internal name myiba
${context-iba:myiba} The attribute value of the product/library/etc with the internal name myiba
${calculated-iba:myiba} The calculated attribute value of the product/library/etc with the internal name myiba

General Keys

Keys not associated with the object, but are system and extensions specific

Formatted via Extension Configuration (Deprecated)

Key Description
now-date Date now*
now-date-time Date and time now*

Formatted via Freemarker syntax (as shown below). Can be directly hardcoded into template.

Key Description Type Example
now Date now Date ${now?string["dd/MM/YYYY"]}
sql-now Date now sql.Date ${sql-now?string["dd/MM/YYYY"]}
sql-time-now Time now sql.Time ${sql-time-now?string["dd/MM/YYYY"]}
Key Description
now-year Current year e.g. 2019
client-id PTC client id
client-name PTC Client Name
user-data Date provided by the user when generating the coversheet

Task Keys

These keys are only rendered under the task sections on coversheet.

Key Description
task-userid User ID of the user that completed the task
task-fullname Full name of the user that completed the task
task-assignee User ID of the assigned user to complete the task
task-assignee-fullname Full name of the assigned user to complete the task
task-role Role
task-date Date of the action*
task-date-time Date and Time of the action*
task-vote Vote that user used
task-comments Comments
task-priority Priority
task-required Required
task-complete Complete
task-obj-number Process Object Number
task-obj-name Process Object Name
task-obj-type Process Object Type
task-signature Signature of the user
task-icon-signature Windchill Signature icon
task-item-name Task name

Change Keys

Key Description
change-need-date Need Date*
change-need-date-time Need Date and Time*
change-resolved-date Resolved Date*
change-resolved-date-time Resolved Date and Time*
change-complexity Change Complexity
change-description Change Description

Variance Keys

Key Description
variance-category Category
variance-reason Reason (plain text)
variance-description Description (plain text)
variance-recurring Recurring (boolean)
variance-approved-quantity Approved Qty
variance-effect-on-cost Effect on cost
variance-effect-on-schedule Effect on schedule
variance-effect-on-support Effect on support
variance-cycle-time Cycle time

Workflow Keys

Note that this values will only be populated if the watermarked Object is part of a ChangeActivity, according to the latest ChangeNotice that object is part of.

Key Description Type Example
change-task-number Number of the Change Task (ChangeActivity2) String ${changetasknumber}
change-task-name Name of the Change Task (ChangeActivity2) String ${changetaskname}
change-notice-number Number of the Change Notice (ChangeOrder2) String ${changenoticenumber}
change-notice-name Name of the Change Notice (ChangeOrder2) String ${changenoticename}
change-task-wf-user:xxxx User id of actioner String ${changetaskwfuser@Review_Change_Notice_Task!""}
change-task-wf-user-full:xxxx Full user name of actioner String
change-task-wf-date:xxxx Date of the action Date <#if changetaskwfuser@Review_Change_Notice_Task??>${changetaskwfdate@Review_Change_Notice_Task?string["dd/MM/yyyy"]}</#if>
change-notice-wf-user:xxxx User id of actioner
change-notice-wf-user-full:xxxx Full user name of actioner String
change-notice-wf-date:xxxx Date of the action Date

Resource Bundle keys

When installing Watermark or Coversheet, Windchill classloaders are scanned to find all custom Resource Bundles. This is done by analyzing all classes that belong to package ext.*, where normaly custom Resource Bundles are placed. To use a Resource Bundle key, follow this syntax:

${<Resource Bundle Full Name>_<Key>}

where:

  • Resource Bundle Full Name: Full name of RB, using dashes as package separators (Ex: ext-custom-resources-WincomRB)
  • Key: A resource bundle key. (Ex: USER_NAME)

Full example: $\{ext-custom-resources-WincomRB_USER_NAME}


*All date and time formats are typically set by the configurtion of the extension (Deprecated) Dates can be formatted using Freemarker syntax

Note some keys in SVG will need to be surrounded by a CDATA tag

If you require a new key, not shown here, please contact wincom support
Was this article helpful? Votes: 4
Article details:
Published date: 02/02/2021 10:12PM
Last updated: 27/02/2024 2:32PM (simonh@wincom-plm.com - simonh@wincom-plm.com)
Share article: 
Author: simonh@wincom-plm.com (simonh@wincom-plm.com)
Permalink: https://windchill-extensions.ptc.com/kb/articles/extension-business-object-key