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’ |