OOQL language program

java program (event trigger, object method, range program and more)



define - create new program definition

  program define   AdminName {Program_DefineOption} ] [force];

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

  program clone  AdminName define AdminName {Program_EditOption} [force];

edit - update the program properties / source

  program edit   AdminName {Program_EditOption} [force];

show - print the program properties / source

  program show   AdminName [Program_GetOption] [Token_Option] [ExportFile_Option] ;

select - extract programs on the base of query filters

  program select AdminPatternList {Filter_Option} [top] [Program_GetOption]
                                     [Token_Option] [ExportFile_Option] ;

compile - compile program(s)

  program
compile  AdminPatternList [force] ;

execute - execute a program or a program-method

  program
execute  AdminName  [method AdminName] [Program_ArgsOption] ;

undefine - remove a program from the database

  program undefine AdminName ;

Program_DefineOption
description GenericValue
application AdminName
image  FileName
imagedata GenericString
source GenericString
file   FileName
[! /not] hidden

Program_EditOption
name AdminName
description GenericValue
application AdminName
svnrev NUMBER
image  FileName
imagedata GenericString
source GenericString
file   FileName
[! /not] hidden

Program_ArgsOption
input Program_Args { Program_Args }
       
    Program_Args
   
GenericString
    GenericNumber
    DATETIME
    BOOLEANVAL
    IDENTIFIER

Program_GetOption
get [Program_GetBasicOption]
   
  Program_GetBasicOption
  { Program_GetBasicToken [as IDENTIFIER] { Program_GetBasicToken [as IDENTIFIER] } }
  Program_GetBasicToken [as IDENTIFIER]
     
    Program_GetBasicToken
    Common_GetBasicOption  
    source  
    superprogram [ . Program_GetBasicOption ]
    subprogram [ . Program_GetBasicOption ]
    subprogram[] [ . Program_GetBasicOption ]
    subprogram[ AdminName ]  
    ownsubprogram [ . Program_GetBasicOption ]
    ownsubprogram[] [ . Program_GetBasicOption ]
    ownsubprogram[ AdminName ]  
    javaclass  


KEYWORDs
application the associated application menu
description the program description
file local path for the program source file to upload
force re-compiles the program even if already compiled / ignore errors during the creation/update
hidden administration hidden objects are not visible/usable
image local path for the program icon to upload
imagedata base64 code for the program icon
input program input argument(s)
javaclass the compiled class name (includes timestamp if debugger is turned off)
moddate last modification date
name the program name
ownsubprogram list of directly derived subprograms in the hierarchy
source the program source code (java code)
subprogram list of all subprograms (derived programs) in the hierarchy
superprogram parent java class (program)
svnrev SVN repository revision number
top filter top programs only (without parent program)


SAMPLES


program define Library file "C:\Oberon\source\Library.java" description "Library program" ;

program define PRG01 file "C:\Oberon\source\MioCodiceExt.java" description "Extended PRG" !hidden ;

program clone PRG01 define PRG02 description "Ext PRG2" source "import com.oberon.ooql.sdk.*;
import java.util.*;
public class <CLASSNAME> <EXTEND=Library> {
public Framework OberonMain(Vector vArgs,Framework framework) throws OberonException { ... }";

program show PRG02 token xml exportfile "C:\Oberon\xml\PRG02.xml";

program show PRG01 get { description source feature.{ name value to.name to.type } } token { "|" "," ";" } ;

program compile P* force;

program select * get { name description javaclass superprogram.{name description} } token { "|" ";" "," } ;



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