OOQL language process

workflow running instance and workflow monitor


start - generated new workflow running instance (called process)

  process start AdminName  [startdate DATETIME] [holder AdminName] [primaryobject ObjectIdName]                                {object ObjectIdName} [Workflow_Parameters] [logfile FileName] ;

update - update the process or the process-step status and/or information

  process update   GenericString { Process_EditOption } ;

  process update   GenericString step  AdminName { Process_StepEditOption };

complete - complete the user action / decision step

  process complete   GenericString step  AdminName [ choice GenericValue { GenericValue } ];

show - print the process properties

  process show   GenericString [Process_GetOption] [Token_Option] [ExportFile_Option] ;

list - list active processes and print their properties

  process
list  [Process_GetOption] [Token_Option] [ExportFile_Option] ;

suspend - suspend the process execution (suspend all action/decision steps)

  process
suspend GenericString ;

resume - resume the process execution after suspension (resume all suspended steps)

  process
resume GenericString ;

stop - stop the process execution

  process
stop GenericString ;

monitor - manage the process monitor (if monitor is off all processes are stopped)

  process monitor
( start | stop | restart ) ;

Process_EditOption
params Process_Parameter { Process_Parameter }

Process_Parameter
AdminName = GenericValue
remove AdminName
remove all

Process_GetOption
get [Process_GetBasicOption]
   
  Process_GetBasicOption
  { Process_GetBasicToken [as IDENTIFIER] { Process_GetBasicToken [as IDENTIFIER] } }
  Process_GetBasicToken [as IDENTIFIER]
     
    Process_GetBasicToken
    id  
    application  
    workflow [. Workflow_GetBasicOption]
    startdate  
    user  
    logfile  
    primaryobject [ . Object_GetBasicOption ]
    params  
    params[]  
    params[ AdminName ]  
    step [. Process_GetStepBasicOption]
    step[] [. Process_GetStepBasicOption]
    step[ AdminName ] [. Process_GetStepBasicOption]
    runstep [. Process_GetStepBasicOption]
    runstep[] [. Process_GetStepBasicOption]


KEYWORDs
application the associated application menu
holder the process holder assigned the the START step
id the process ID
logfile declares a log files where all process execution logs will be registered
object create association between the START step and one or more objects
params process global parameters
runstep list of running process steps
startdate the process start date (timestamp)
step a single process step or a list of process steps
user the name of user that has started the process
workflow the associated workflow

process - step

Process_StepEditOption
status Process_StepStatus
percentage NUMBER
holder AdminName
startdate  DATETIME
expiredate DATETIME
params Process_StepParameter { Process_StepParameter }
object  Edit_Operator   ObjectIdName { Edit_Operator  ObjectIdName }
execute  Edit_Operator   AdminActor { Edit_Operator AdminActor }
to  Edit_Operator AdminActor { Edit_Operator AdminActor }
cc  Edit_Operator AdminActor { Edit_Operator AdminActor }
bcc  Edit_Operator AdminActor { Edit_Operator AdminActor }

Process_StepStatus
queued
completed
error
expired
suspended
skipped
terminated

Process_StepParameter
AdminName = GenericValue
remove AdminName
remove all

Process_GetStepBasicOption
{ Process_GetStepBasicToken [as IDENTIFIER] { Process_GetStepBasicToken [as IDENTIFIER] } }
Process_GetStepBasicToken [as IDENTIFIER]
   
  Process_GetStepBasicToken
  name  
  type  
  process [ . Process_GetBasicOption ]
  admin . Workflow_GetStepBasicOption
  status  
  percentage  
  holder  
  object [ . Object_GetBasicOption ]
  startdate  
  enddate  
  expiredate  
  params  
  params[]  
  params[ AdminName ]  
  label  
  href  
  choice  
  subject  
  body  
  to  
  cc  
  bcc  
  choice[ AdminName ]  
  access[ AdminName ]  
  execute  


KEYWORDs
access check if the given user has access to execute this step action
bcc blind carbon copy recipients (users / teams /assignments) for notification steps
body the mail body text for notification steps; also used for decision and action steps when the notify options is enabled
cc carbon copy recipients (users / teams /assignments) for notification steps
enddate the step end date (timestamp)
execute list of actors enabled to execute this running step (can see the link in activity list)
expiredate updates/gets the step expire date (normally set as startdate+workflow_step duration)
hoder the step holder for holder execution access (see workflow step)
href the resolved hyperlink to user interface function associated to the step
label the resolved action label (keywords and dictionary labels replaced)
name the step name
object manage association between the running step and objects
params sets / updates / retrieves parameters needed for the step execution
percentage updates / gets the step execution percentage
primaryobject the primary object related to the running process
process returns the process ID
startdate the step start date (timestamp)
status sets / retrieves the step status
completed the step execution was correctly finished
error the step execution has generated an error
expired the current date is after the expiredate
suspended the step was suspended
terminated the step was terminated in forced way
queued the step is queued and will be executed soon
subject the mail subject for notification steps; also used for decision and action steps when the notify options is enabled
to message recipients (users / teams /assignments) for notification steps
type the step type

SAMPLES

process start WF001 startdate 2011-02-21 params P1 = 'Value1' P2 = 20 logfile "c:/FileLog.txt" ;

process update 0A93C023 step Step1 percentage 50 P3 = 'Value3' P2 = 30 expiredate 2011-02-27;

process complete 0A93C023 step Step1 choice 'Transition1' "Transition5";

process show 0A93C023 get { startdate user step.{name status} } token xml ;

process list get { id startdate user object } token "|" logfile "c:/Processes.txt" ;

process stop 0A93C023 ;

process monitor start ;


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