OOQL language form

input/search form for the user interface


define - create new form definition

  form define   AdminName { Form_DefineOption } [overwrite] [force];

clone - duplicate a form and set the properties for the new instance

  form clone  AdminName define AdminName {Form_EditOption} [overwrite] [force];

edit - update the form properties

  form edit   AdminName {Form_EditOption} [force];

show - print the form properties

  form show   AdminName [Form_GetOption] [Program_ArgsOption] [Token_Option] [ExportFile_Option] ;

compose - generate the form for the current user: all items are computed on the basis of user rights;                              the result is a list of FormUserItems

  form compose   AdminName [for Form_ComposeOption] [field] [Program_ArgsOption] [xml / text]                               [ExportFile_Option] ;

check - execute the check program (performs all checks on input fields)

  form check   AdminName [Program_ArgsOption] ;

action - execute the action program (performs extended actions on form submit)

  form action   AdminName [Program_ArgsOption];

select - extract forms on the base of query filters

  form list
AdminPatternList {Filter_Option} [Form_GetOption] [Token_Option] [ExportFile_Option] ;

undefine
- remove a form from the database

  form undefine AdminName ;


Form_DefineOption
description GenericValue
application AdminName
image  FileName
imagedata GenericString
format GenericString
[! /not] search
range program AdminName
check program AdminName
action program AdminName
params GenericString
Form_ItemListOption
[! /not] hidden

Form_EditOption
name AdminName
description GenericValue
application AdminName
svnrev NUMBER
image  FileName
imagedata GenericString
format GenericString
[! /not] search
range program AdminName
check program AdminName
action program AdminName
params GenericString
Form_ItemEditListOption
[! /not] hidden

Form_ComposeOption
object ObjectIdName
link IDVAL
class AdminName
linktype AdminName

Form_GetOption
get [Form_GetBasicOption]
   
  Form_GetBasicOption
  { Form_GetBasicToken [as IDENTIFIER] { Form_GetBasicToken [as IDENTIFIER] } }
  Form_GetBasicToken [as IDENTIFIER]
     
    Form_GetBasicToken
    Common_GetBasicOption  
    search  
    format  
    range.program [ . Program_GetBasicOption ]
    range[ AdminName ]  
    check.program [ . Program_GetBasicOption ]
    action.program [ . Program_GetBasicOption ]
    params  
    item.visible [ . Form_GetItemBasicOption ]
    item.editable [ . Form_GetItemBasicOption ]
    item.required [ . Form_GetItemBasicOption ]
    item.disabled [ . Form_GetItemBasicOption ]
    item [ . Form_GetItemBasicOption ]
    item[] [ . Form_GetItemBasicOption ]
    item[ AdminName ] [ . Form_GetItemBasicOption ]


KEYWORDs
action.program performs additional actions on form submit
application the associated application menu
check.program performs all checks on input fields
description the form description
field extract only form items associated to fields
for compute the form data for a specific object / link or generic class / linktype
format defines form styles and properties
force this flag allows to ignore errors during the creation/update (for example, some actors or programs not yet defined)
hidden administration hidden objects are not visible/usable
image local path for the form icon to upload
imagedata base64 code for the form icon
item a single item of the form or the full item list
item.disabled list of disabled items
item.editable list of editable items
item.required list of mandatory items
item.visible list of visible items
moddate last modification date
name the form name
overwrite drop the form if exists before to create the new one
params list of parameters used to filter the items for the context user
range.program the program used to compute the item-field ranges
range[ name] executes the range program and returns the ranges for the specified field or item
search whether or not the form is used for queries (items are query filters)
svnrev SVN repository revision number
text use the query for composing the body of a mail message

form - item

Form_ItemListOption
item AdminName  Form_ItemTypeOption { Form_ItemOption }
       
    Form_ItemOption
   
description GenericValue
    format  GenericString
    width   GenericNumber
    height   GenericNumber
    program   AdminName event Form_ItemEvent
    access FormItem_Access { FormItem_Access }

Form_ItemEditListOption
item  Edit_AddOperator   AdminName    Form_ItemTypeOption   { Form_ItemOption }
item  change  AdminName { Form_ItemModOption } [ Form_ItemTypeOption ]
item  remove  AdminName 
item  Edit_MoveOperator   AdminName 
       
    Form_ItemModOption
   
name AdminName
   
description GenericValue
    format  GenericString
    width   GenericNumber
    height   GenericNumber
    program Edit_Operator  AdminName event Form_ItemEvent
    access FormItem_Access { FormItem_Access }

Form_ItemTypeOption
basic  Form_ItemObjectBasics  { Form_ItemFieldOption }
field  AdminName   { Form_ItemFieldOption }
xfield  AdminName   { Form_ItemFieldOption }
action  AdminName  { Form_ItemFieldOption }
hidden  GenericString
get Object_GetBasicToken
getlink Link_GetBasicToken
section  GenericString
spacer
button GenericString
href  GenericString
label  GenericString
img  GenericString
embed  GenericString
navigate GenericString
form AdminName  { formtype Form_ItemFormType }
     
    Form_ItemObjectBasics
    class
    name
    revision
    description
    origdate
    moddate
    locker
    locked
    holder
    objectspace
    lifecycle
    currentstage
       
    Form_ItemFieldOption
   
fieldtype Form_ItemFieldType
    [! /not] multiple
       
    Form_ItemFieldType
    select
    listbox
    text
    textarea
    checkbox
    radio
    date
    hidden
    popup
       
    Form_ItemFormType
   
default
   
objclass
    dynamic

Form_ItemEvent
visible
editable
required
disabled

FormItem_Access
community FormItem_AccessOption { , FormItem_AccessOption }
user AdminName FormItem_AccessOption { , FormItem_AccessOption }
team AdminName FormItem_AccessOption { , FormItem_AccessOption }
assignment AdminName FormItem_AccessOption { , FormItem_AccessOption }
   
  FormItem_AccessOption
  everything  
  nothing  
  [! /not] visible  
  [! /not] editable  
  [! /not] required  
  [! /not] disabled  


Form_GetItemBasicOption
{ Form_GetItemBasicToken [as IDENTIFIER] { Form_GetItemBasicToken [as IDENTIFIER] } }
Form_GetItemBasicToken [as IDENTIFIER]
   
  Form_GetItemBasicToken
  name  
  description  
  format  
  width  
  height  
  multiple  
  program  
  program[ Form_ItemEvent ] [. Program_GetBasicOption]
  user [. User_GetBasicOption]
  user[] [. User_GetBasicOption]
  user[ AdminName ]  
  team [. Team_GetBasicOption]
  team[] [. Team_GetBasicOption]
  team[ AdminName ]  
  assignment [. Assignment_GetBasicOption]
  assignment[] [. Assignment_GetBasicOption]
  assignment[ AdminName ]  
  access[ Form_ItemEvent ]  
  type  
  fieldtype  
  formtype  
  typevalue  


KEYWORDs
access[ event] check if the current user has access to the specified item condition/event
assignment user roles enabled for item conditions
assignment[name] list of conditions enabled for specific assignment name
community conditions valid to all application users
description the item description
event defines a item condition associated to a filter program
disabled the item is showed as disabled
editable the item is editable (only for control-items)
required the item is required (only for control-items)
visible the item is visible
fieldtype the type of control for a input-item (select/text/textarea/checkbox ....)
format defines item styles and properties
formtype the type of nested form:
default use the declared form name
objclass retrieve the default form associated with the object class / linktype
dynamic the name of the form is computed with a program
height the item height (when supported)
multiple when the item represents a selector, enables or not the multiple selection
name the item name
program program used to filter items for a specific condition (or action/event)
team user groups enabled for item conditions
team[ name] list of conditions enabled for specific team name
type the item type:
basic input-control connected to an object/link basic parameter (like class, name, description, currentstage, linktype ...)
field input-control connected to an object/link field
xfield input-control connected to an extra object/link field
action input-control used to compute other properties like basic or field values
hidden hidden parameter with a fixed value
get static text - extract data from the object (see the object show OOQL command)
getlink static text - extract data from the link (see the link show OOQL command)
section section separator: starts a new block with a given title
spacer line break: introduces a blank space with a specific height
button

button: used to perform any form action

href HTML Link / URL
label static label/text
img image object with a specific source URL
embed embedded object (like flash, shockwave, applets) with a specific source URL
navigate navigation table: navigates the object with given parameters and presents the list of connected objects
form include another (sub) form
typevalue the field name /the basic name / the hidden value .... depending on the item type
user specific user enabled for item conditions
user[ name] list of conditions enabled for specific user name
width the item width (when supported)


SAMPLES


form define 'FM01' description 'First Form' hidden program 'ComputeRanges'
    item 'Field1' field 'Currency' fieldtype text editable !disabled required !multiple
     description 'Currency input field' width 60.0 height 1.0 format 'X20'
     access assignment 'SR-SupportAnalysis' user 'name.surname'
    item 'Field2' section 'Section1' description 'Section line' width 100.0 height 1.0 ;

form edit 'FM01' description 'Edited Desc' image 'C:\Images\00.gif' program 'Compute_Ranges' !hidden ;

form edit 'FM01'
    item change 'Field1' access remove user 'name.surname'
    item change 'Field2' description 'Section line end' access add team 'TM01'
    item addbefore 'Field2' define 'LineBR' linebreak width 30.0 height 1.0 ;
    item append 'Field3' get description description 'Show obj Description' width 30.0 height 1.0 ;

form select ?M* get { moddate hidden item[Field1].{name description width height format editable disabled required multiple program access type fieldtype typevalue} } token xml ;



common syntax

Common_GetBasicOption
Common_GetBasicToken [ as IDENTIFIER ]

Common_GetBasicToken
id  
name  
origdate  
moddate  
moduser  
description  
svnrev  
hidden  
image  
imagedata  
feature[ AdminName ] [. Feature_GetBasicOption]
feature[] [. Feature_GetBasicOption]
feature [. Feature_GetBasicOption]
application [. Menu_GetBasicOption]
super  
admintype  

Edit_Operator
add
remove

Edit_RefOperator
addbefore AdminName set
addafter AdminName set
add
remove
movebefore
moveafter

Edit_AddOperator
addbefore AdminName define
addafter AdminName define
append

Edit_MoveOperator
movebefore
moveafter

Event_Type
action
check

AdminPatternList
AdminNamePattern {, AdminNamePattern}

AdminNamePattern
*
PATTERNIDENTIFIER
STRINGVAL
AdminName

GenericPatternList
GenericPattern {, GenericPattern}

GenericPattern
*
IDENTIFIER
PATTERNIDENTIFIER
GenericValue

AdminActor
user AdminName
team AdminName
assignment AdminName

AdminName
IDENTIFIER
QUOTED_STRING
SQUOTED_STRING

GenericValue
DATETIME
GenericNumber
GenericString
BOOLEANVAL

GenericString
STRINGVAL
QUOTED_STRING
SQUOTED_STRING

GenericNumber
NUMBER
REALNUMBER

Filter_Option
moddate Date_Range
application AdminNamePattern

Date_Range
=  DATETIME  
!= DATETIME
 
<  DATETIME
 
>  DATETIME
 
<= DATETIME
 
>= DATETIME
 
in [ DATETIME , DATETIME ]
 
in ( DATETIME , DATETIME ]
 
in [ DATETIME , DATETIME )
 
in ( DATETIME , DATETIME )  

Token_Option
token { Token_Separator { Token_Separator } }
token Token_Separator

Token_Separator
QUOTED_STRING
SQUOTED_STRING
IDENTIFIER
STRINGVAL
json
json-
json+
xml
xml-
xml+

ExportFile_Option
exportfile FileName [append] [xml | json ]

ImportFile_Option
importfile FileName [xml | json |emxxml]

LogFile_Option
logfile FileName [append]

FileName
QUOTED_STRING
SQUOTED_STRING

basic elements
grammar rules
[ ] = optional element - only one item is allowed : ( 0 or 1 )
{ } = optional element - more than one is allowed : ( 0 or N )
/ = alternative
= one of ...
   
  all bold texts represent keywords or command syntax

IDVAL
#<5 dec digits [ 0-9 ]>-<8 hex digits [ 0-9 A-F ]>
  example:
  #00020-34F2A80E

COMMENT
// <any character until the end of the line(\n \r)>
  example:
  // My single line comment

LONGCOMMENT
/* <any character> */
 

example:
  /* My multi line comment starts here
  continue here
  and finish here */


DATETIME
<year 4 digits>[ - /. ]<month 2 digits>[ - /. ]<day 2 digits>
  examples:
   2009-12-23    2009/03/19   2009.11.14
<year 4 digits>[ - /. ]<month 2 digits>[ - /. ]<day 2 digits> <hours>:<minutes>:[<seconds>]
  examples:
   2009-12-23 10:23   2009/03/19 16:03:34  2009.11.14 00:20:04

NUMBER
[+-]<decimal digits [ 0-9 ]>
  examples:
   -1203   +276   25

BOOLEANVAL
true / false

REALNUMBER
[+-]<decimal digits [ 0-9 ]>.<decimal digits [ 0-9 ]>[E(+-)<esponent [0-9]>]
  example:
   -37.837   +2.3874   13.887   1.4862E-04

QUOTED_STRING
"<any character>"
  example:
   "my quoted string"

SQUOTED_STRING
'<any character>'
  example:
   'my single quoted string'

IDENTIFIER
<one or more of [ a-z A-Z ]><zero or more of [ a-z A-Z 0-9 _ ]>
  example:
   Var1    object_Name_02

VARIABLE
$<one o more of [ a-z A-Z 0-9 ]><zero or more of [ a-z A-Z 0-9 _ ]>
 

example:
   $1   $var_02    $1b


STRINGVAL
<one or more of [ a-z A-Z 0-9 -_ $ ? @ | ~ % & / = : + \ # ' ]>
  a string not recognized as identifier

PATTERNIDENTIFIER
<a string with * (match 0 or more characters) and ? (match 1 character) wildcards>
  example:
   mypa*er?_ide?ti*

© 2008-2015 MS Enterprise Solutions | Website Templates by IceTemplates.com
Please Read: Privacy Policy and Terms of Use