This article has multiple issues. Please help  improve it  or discuss these issues on the  talk page . (Learn how and when to remove these messages) 
 
  | 
| Paradigm | multi-paradigm: object-oriented, imperative | 
|---|---|
| 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.<nowiki/>    Private      Instance DataType &InstanceName;      Constant &Constant = {Number | String | True | False | Null };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.<nowiki/> get Propertyname Return &Value; end-get;
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.PeopleCode Functions , retrieved 2008-12-14