U-Bar Syntax

The U-Bar supports a defined syntax for navigating to specific objects, and locations within objects.

{Type:Object{/Type:Object{/Type:Object}}{/prop:propId{/pos:Line{,Col}}} {Option=Value}N

cpt:COMPONENT window=2 
ent:ENTITY.MODEL/fld:FIELD/prop:USCRIPT 
cpt:COMPONENT/ent:ENTITY.MODEL/fld:FIELD/prop:USCRIPT/pos:5,2
Argument Meaning
Type:Object Object type and name that identify a development object, where Type is an abbreviation and Object is the object name. See Types of Object.

The first object specifies a main development object and is valid on its own, but all other objects form part of a hierarchical path that begins with the main object.

propId Literal object property name as used in the Repository, for example, UDESC for Description.

For properties that are code containers, you can also specify a line and column position in the code. See Types of Object and Editor Locations.

Option Parameter that specifies an editor location. Valid only in the Main U-Bar; one of:
  • worksheet=Value
  • window=Value

See Editor Locations.

Types of Object

Object Types
Type:Name Remarks/Example
prj:ProjectName prj:MyTempProj
ent:EntityName The entity name must include the model name: ENTITY.MODEL

ent:Orders.Sales

Note: When specifying entity segments, you only need to specify the target entity. If it is an inner component entity or a modeled subentity, there is no need to specify the hierarchical path of outer entities or modeled super entities.

For Subtype entities, you can enter ent:Subtype.Model to open the editor of the Supertype.

For component entities, you can enter cpt:Component/ent:Entity to open the component editor with the target entity selected.

fld:FieldName The field name must not be qualified with the entity and model name.

ent:Orders.Sales/fld:Order_Num

lbl:LableName ent:Orders.Sales/lbl:Order_Num
key:KeyNumber ent:Orders.Sales/key:1
rel:OneEntityName The complete URL of a relationship is specified as ent:ManyEntity/rel:OneEntity

ent:Orderline.Sales/rel:Orders.Sales

cpt:ComponentName | ModeledComponentName For components and component templates, the object type can be cpt or a code that specifies the type of component:
  • cpt: for any type of component or component template
  • cptdsp for Dynamic Server Pages
  • cptfrm for Forms
  • cptrpt for Reports
  • cptsvc for Services
  • cptesv for Entity Services
  • cptssv for Session Service
  • cptusp for Static Server Pages
libsnp:SnippetLibraryName libsnp:MyLibrary
libinc:IncludeProcLibraryName libinc:MyLibrary
libprc:GlobalProcLibraryName libprc:MyLibrary
snp:SnippetName libsnp:MyLibrary/snp:vtable.html
inc:IncludeScriptName libinc:MyLibrary/inc:errorHandler
prc:GlobalProcScript libprc:MyLibrary/prc:calcVat
prop:LiteralName Literal object property name. For properties representing code containers, you can also specify a position.

Property names for code containers are:

  • UDECLARATIONS—Declarations container for defining constants
  • USCRIPT—Script container for writing ProcScript modules
  • UCOLL_SCRIPT—Collection Script container; only for entities
  • UOCC_SCRIPT—Occurrence Script container; only for occurrences
  • HTMLSKELETON | LAYOUT—HTML layout of dynamic or static server page
  • UTEXT—Script container for IncludeScripts and Global ProcScripts

For example: ent:ORDERS.SALES/prop:UCOLL_SCRIPT

pos:Line,Column Position in a code container. For example:

cpt:ORDERFRM/ent:ORDERS.SALES/fld:BTN_ADD_LINE/prop:USCRIPT/pos:3,4

Editor Locations

When given a URL, the Uniface IDE determines the target editor and worksheet in which to open the object based on the type of the main object and on the target object. For example, the following URL is for a script module in a modeled entity:

ent:ARTICLE.SALES/prop:UOCC_SCRIPT/pos:5,6

This URL opens the ARTICLE.SALES in the Write Script worksheet of the Entity Editor, and places the cursor at the requested position.

It is possible to influence the target location using the editor location options. This can be useful when you want to open an object in a specific window. For example:

ent:ARTICLE.SALES window=2

The resource specified by the URL determines whether the object can be opened in a specific window or worksheet.

window

Specifies which of the two possible Uniface IDE windows in which to open the target resource.

Valid Values of window
Value Target
0 | current Window that has focus
-1 | toggle Window that does not have focus
1 | main | primary Main Window
2 | alt | alternative | secondary Alternative Window

worksheet

Influences the worksheet that is opened for the object, depending on the editor and the Type of the URL segment.

Valid Values of worksheet
Value Meaning
"" Optimal worksheet for the requested property (if specified); otherwise the current worksheet
current Current worksheet, if valid; otherwise the optimal worksheet for the URL
1| 2 | 3 | 4 Worksheet number; the actual worksheet depends on the Type

Alternatively, specify the exact worksheet using one of the following values.

structure Define Structure worksheet
frames Define Frames worksheet (Component Editor for Form components only)
script Write Script worksheet
layout Design Layout worksheet (Component Editor for dynamic and static server pages only)
keys Define Keys worksheet (Entity Editor only)
relationships Define Structure worksheet (Entity Editor only)