PeopleCode Syntax Quick Reference
Typographical Conventions
The following topic describes typographical conventions that apply to PeopleCode and are used throughout PeopleSoft documentation:Typographical Conventions
PeopleCode Syntax
The following table describes the complete syntax for the PeopleCode language:
Term |
Syntax |
---|---|
Program |
ImportList (DeclList TopStList | ClassDefn ) |
ImportList |
[ ImportDecl ‘;’ ]... |
ImportDecl |
‘import’ PackageName [ ‘:’ ‘*’ ] |
PackageName |
Id [ ‘:’ Id ]... |
ClassDefn |
ClassDecl [ ‘;’ ExtDecls ] [ ‘;’ MethodDefns ] |
ClassDecl |
‘class’| ‘interface’' Id [ Extends ] [ ClassPublics ] [ ClassProtecteds ] [ ClassPrivates ] ‘end-class’ | ‘end-interface’ |
Extends |
‘extends’ | ‘implements’ QualifiedId |
QualifiedId |
[ PackageName ‘:’ ] Id |
ClassPublics |
ClassPublic [ ‘;’ ClassPublic ]... |
ClassPublic |
MethodDecl | PropertyDecl |
MethodDecl |
‘method’ Id ‘(’ [ MethodParameters ] ‘)’ [ 'abstract' ] [ ‘returns’ PeopleCodeType ] |
MethodParameters |
MethodParameter [ ‘,’ MethodParameter ]... |
MethodParameter |
‘&’ Id ‘as’ PeopleCodeType [ ‘out’ ] |
PropertyDecl |
‘property’ PeopleCodeType Id [ (‘get’ [ ‘set’ ] | 'abstract' ) | ‘readonly’ ] |
ClassPrivates |
‘private’ [ ClassPrivate [ ‘;’ ClassPrivate ]... ] |
ClassPrivate |
MethodDecl | InstanceDecl | ConstantDecl |
ClassProtecteds |
‘protected’ [ ClassProtected [ ‘;’ ClassProtected ]... ] |
ClassProtected |
MethodDecl | InstanceDecl | ConstantDecl |
InstanceDecl |
‘instance’ VarDeclare |
ExtDecls |
ExtDecl [ ‘;’ ExtDecl ]... |
MethodDefns |
MethodDefn [ ‘;’ MethodDefn ]... |
MethodDefn |
MethodMethod | GetMethod | SetMethod |
MethodMethod |
‘method’ Id StList ‘end-method’ |
GetMethod |
‘get’ Id StList ‘end-get’ |
SetMethod |
‘set’ Id StList ‘end-set’ |
TopStList |
TopStmt [ ‘;’ TopStmt ]... |
TopStmt |
Stmt |
StList |
Stmt [ ‘;’ Stmt ]... |
Stme |
[ LValue [ Assign ] | If | Evaluate | While | Repeat | For | Accept | Break | Return | Exit | Error | Warning | Try | Throw | LocalDecl ] |
Assign |
‘=’ Expression |
If |
‘if’ LogicalExpression ‘then’ StList [ ‘else’ StList ] ‘end-if’ |
Evaluate |
‘evaluate’ Expression [ WhenExpr... StList ]... [ ‘when-other’ StList ] ‘end-evaluate’ |
WhenExpr |
‘when’ [ RelOp ] Expression |
While |
‘while’ LogicalExpression StList ‘end-while’ |
Repeat |
‘repeat’ StList ‘until’ LogicalExpression |
For |
‘for’ Variable ‘=’ Expression ‘to’ Expression [ ‘step’ Expression ] StList ‘end-for’ |
Accept |
‘accept’ |
Return |
‘return’ [ Expression ] |
Break |
‘break' |
Exit |
‘exit’ [ Expression ] |
Warning |
‘warning’ Expression |
Error |
‘error’ Expression |
Try |
‘try’ StList ( ‘catch’ QualifiedId ‘&’ Id StList )... ‘end-try’ |
Throw |
‘throw’ Expresssion |
LocalDecl |
‘local’ PeopleCodeType ‘&’ Id [ ( ',' ‘&’ Id)... | ‘=’ Expression ] |
Continue |
'Continue' |
LogicalExpression |
LogicalTerm [ ‘or’ LogicalTerm ]... |
LogicalTerm |
Relation [ ‘and’ Relation ]... |
Relation |
‘not’ Relation | Expression [ Relop Expression ] |
Relop |
‘not’ Relop | ‘<’ | ‘<=’ | ‘=’ | ‘>=’ | ‘>’ | ‘!=’ | ‘<>’ |
Expression |
Term [ ( ‘+’ | ‘-’ | ‘|’ ) Term ]... |
Term |
Power [ ( ‘*’ | ‘/’ ) Power ]... |
Power |
Primary [ ‘**’ Primary ]... |
Primary |
LValue [ ‘as’ QualifiedId ] | Number | String | ‘true’ | ‘false’ | 'null' | ‘-’ Primary | ‘create’ QualifiedId Call |
LValue |
LValueStart [ LValueObject | LValueSubscript ]... |
LValueStart |
Variable | Id Call | '@' Primary | '%' BuiltinVar | ‘(’ LogicalExpression ‘)’ |
LValueObject |
'.' Id [ Call ] | Call |
LValueSubscript |
'[' Expression [ ',' Expression ]... ']' |
Variable |
‘&’ Id | Id [ ‘.’ ( Id | String ) ] | ‘^’ |
Call |
‘(’ [ Expression [ ‘,’ Expression ]... ] ‘)’ |
Constant |
Number | String | ‘true’ | ‘false’ | 'null' | QualifiedId ‘:’ Id |
DecList |
[ Decl ‘;’ ]... |
Decl |
‘local’ VarDeclare | ‘function’ Function | ConstDecl | ExtDecl |
VarDeclare |
PeopleCodeType ‘&’ Id [ ‘,’ ‘&’ Id ]... |
Function |
Id [ ‘(’ InternalParameters ‘)’ ] [ ‘returns’ PeopleCodeType ] [ ‘noexport’ ] [ ‘doc’ String ] TopStList ‘end-function’ |
InternalParameters |
[ InternalParameter [ ‘,’ InternalParameter ]... ] |
InternalParameter |
‘&’ Id [ ‘as’ PeopleCodeType ] |
ConstDecl |
‘constant’ ‘&’ Id ‘=’ ( Number | String | ‘true’ | ‘false’ | 'null' ) |
ExtDecl |
‘global’ VarDeclare | ‘component’ VarDeclare | ‘declare’ Declare |
Declare |
‘function’ Id ( ‘library’ DeclareLibrary | ‘peoplecode’ DeclarePC ) |
DeclareLibrary |
String [ ‘alias’ String ] [ ‘(’ ExternalParameters ‘)’ ] [ ‘returns’ ExternalType [ ‘as’ PeopleCodeType ] ] |
ExternalParameters |
[ ExternalParameter [ ‘,’ ExternalParameter ]... ] |
ExternalParameter |
ExternalType [ ‘value’ | ‘ref’ ] [ ‘as’ PeopleCodeType ] |
DeclarePC |
Variable EventType |
PeopleCode Type |
[ ‘array’ ‘of’ ]... ( ‘number’ | ‘string’ | ‘date’ | ‘time’ | ‘datetime’ | ‘any’ | ‘boolean’ | ‘object’ | ‘array’ | ‘integer’ | ‘float’ | QualifiedId ) |
ExternalType |
‘boolean’ | ‘integer’ | ‘long’ | ‘uinteger’ | ‘ulong’ | ‘string’ | ‘lstring’ | ‘ustring’ | ‘float’ | ‘double’ |