PeopleCode | |
Paradigm: | multi-paradigm |
Developer: | Oracle Corporation |
PeopleCode is a proprietary object-oriented programming language used to express business logic for PeopleSoft applications. Syntactically, PeopleCode is similar to other programming languages, and can be found in both loosely-typed and strongly-typed forms. PeopleCode and its run-time environment is part of the larger PeopleTools framework. PeopleCode has evolved over time and its implementation through the PeopleSoft applications lack consistency. PeopleCode offers some interoperability with the Java programming language. Definition name references, for example, enable you to refer to PeopleTools definitions, such as record definitions or pages, without using hard-coded string literals.[1] Other language features, such as PeopleCode data types and metastrings, reflect the close interaction of PeopleTools and Structured Query Language (SQL). Dot notation, classes and methods in PeopleCode are similar to other object oriented languages, like Java. Object syntax was an important feature of PeopleTools 8.[2]
PeopleCode supports the following types of functions:[3]
In addition, PeopleCode supports methods. The main differences between a built-in function and a method are:
Import PackageName:Superclassname;
Class Classname [Extends SuperClassname] [Method_declarations] [Property_declarations] [Private [Method_declaration] [Instance_decalarion] [[Constant declaration]] End-class;
Property datatype PropertyName [get][set]; Method MethodName ([parameter_list])
Private
.end-class
follows the declarations of properties, methods, instances, and constants.end-class
keyword and before get
and set
definitions or method definitions, declare any variable and functions that will be used by methods.get
method definition to execute PeopleCode that will return a value.set
method definition to execute PeopleCode that will change a value.set PropertyName end-set;
method Methodname statements; end-method;
constructor
.SQLExec
(built-in function) only delivers a single row, using the SQL
class you can retrieve and process multiple rows.CreateSQL
built-in function.CreateSQL("SQLString")
to pass a text string to your SQL object.GetSQL(SQL.sqlname)
to get the SQL from a SQL definition.&SQL = CreateSQL("SQL Statement",[bind values]);The values for the bind variables can be omitted and supplied later. For Insert, Update, or Delete commands these values would be supplied using
Execute
method.(If all the necessary input values are supplied, the SQL is executed immediately.)&SQL = CreateSQL("SQL Statement"); &SQL.Execute([bind_values]);
Fetch
method is used to retrieve the next row from the cursor.