Beruflich Dokumente
Kultur Dokumente
Presenter
PeopleSoft Technical Guru
Relational Databases
A relational database is a collection of data
items organized as a set of formally-described
tables from which data can be accessed or
reassembled in many different ways without
having to reorganize the database tables.
It stores all its data inside tables, and nothing
more. All operations on data are done on the
tables themselves or produces another tables
as the result.
Relational Databases
Table Structure
A table is a set of rows and columns.
It has a set of tables containing data fitted into predefined
categories.
Each table (which is sometimes called a relation) contains
one or more data categories in columns. Each row
contains a unique instance of data for the categories
defined by the columns.
Relational Databases
Normalization
Normalization is the process of efficiently
organizing data in a database.
Advantages of the normalization process
Eliminating redundant data (for example, storing the
same data in more than one table)
Ensuring data dependencies make sense (only storing
related data in a table).
Relational Databases
Key Fields
Key fields uniquely identify each row of data on a
relational database table.
If there can be only one ID per student, then the key
would be STUDENT_ID on the
PSU_STUDENT_TBL.
If a student can have more than one recorded skill and
more than one degree, then we would need two
additional tables, each with STUDENT_ID as a key
plus at least one more key field to uniquely identify
rows of data.
Relational Databases
Parent Child Tables
During normalization, the breakdown of data based on a
single field that occurs multiple times indicates a
parent/child relationship .
The table holding basic Student information and the tables
constructed to hold data about a Students Experience
and a Students Educational background represent
parent/child relationships.
A child table must have all the key fields of the
parent table in the same order plus at least one
additional key field.
Relational Databases
Parent Child Tables
Data Model
It is a diagram of the underlying database tables and their
relationships.
It is often helpful to have a map illustrating the
various tables and their interrelationships
SYSOBJECTS
SYSCOLUMNS
PSRECDEFN
PSPNLDEFN
PS_PSU_STUDENT_TBL
PS_PSU_INSTR_TBL
PeopleTools tables hold metadata about the PeopleSoft application that is installed on
the
database.
The PeopleTools tables contain the structure that the applications use to define the user
interface. The structure of the tables is the same for all applications. Each application
enters data into the PeopleTools tables when it is installed.
Query Analyzer
SQL SELECT Syntax
SELECT [COLUMNS] FROM [TABLE_NAME]
SELECT [COLUMNS] FROM [TABLE_NAME] WHERE [COLUMN1] =
[CONDITION]
SELECT [COLUMNS] FROM [TABLE_NAME] WHERE [COLUMN1] =
[CONDITION] ORDER BY [COLUMNS] [DESC/ASC]
Query Analyzer
SQL INSERT/UPDATE/DELETE Syntax
INSERT INTO [TABLE_NAME] [COLUMNS]
VALUES[VALUE1,VALUE2]
UPDATE [TABLE_NAME] SET [COLUMN] = [VALUE]
WHERE [COLUMN1] = [CONDITION]
DELETE FROM [TABLE_NAME] WHERE [COLUMN1] =
[CONDITION]
Query Analyzer
Online Page Action
Command
Resulting SQL
SELECT
Use the Add action to add a new search key to a control table
INSERT
Use Alt + 7 (Row Insert) to add a row with an existing search key to a INSERT
transaction tab le in an Update mode.
Save a page.
COMMIT
DELETE
ROLLBACK
UPDATE
(2 TIER Connectivity)
Database Server
Client
ODBC CONNECTIVITY
Advantages
Simpler architecture requiring only client
workstation and database server components to
be installed.
System administrators are not required to invest
time learning application server administration.
No need to consider purchasing either an
additional machine or upgrading an existing
machine to use as an application server.
Features of PIA
Pure Internet
Server-centric
Component-centric
Four-tier Architecture
(3 TIER Connectivity)
Web Browser
Uses HTTP protocol
Receives only:
HTML / XML
Java script
Cookie
Browse
r
HTTP/HTTPS
Web
server
Jolt/Tuxedo
Application
server
DB
SQL
server
Web Server
Web services HTTP, XML, SOAP, WSDL, and
UDDI
Servlet Engine
Java Servlets:
Web
Server
Jolt/Tuxedo
Application
Server
SQL
DB
Server
Application Server
It is the Heart of PIA - contains all application logic /
HTML / XML generation
Supports Lightweight Directory Access Protocol (LDAP)
integration
LDAP
Browser
HTTP/HTTPS
Web Server
Jolt/Tuxedo
Applicatio
n Server
SQL
DB Server
APPLICATION
SERVER
BROWSER
WEB
SERVER
HR
Domain
HR
Database
APPLICATION
SERVER
FS
Domain
BROWSER
FS
Database
WEB
SERVER
HR
Domain
HR
Database
Database Server
Consists of application data and metadata
Contains three types of PeopleSoft tables:
System Catalog Tables
PeopleTools Tables
Application Data Tables
Browser
HTTP/HTTPS
Web
Server
Jolt/Tuxedo
Application
server
SQL
DB Server
Web Server
Logging in PIA
Sign In
User Id
Password
Navigate to a Component
Page Layout
Header
Menu Pagelet
Target Area
PIA URL
Web
Server
PS Portal
Servlet
Portal
Menu
Node
App Server
Domain
Ref
Type
Component
Hot Keys
Access Keys
Question???
XML Publisher
and Reporting to Excel
Duncan Davies, Jay Jorgensen and Adam Clark
Allinity
What is XML
Publisher?
Publisher is the only
Reporting Platform
for Fusion Apps
Business Task
Template
Layout
XML
Publisher
Engine
Report
Output
Step 1
Create an App Engine
to supply:
Step 2
Create an RTF
template in Word
using the XML
Sample data file.
Step 3
Within PeopleSoft,
create:
1. Data Source Defn
2. Report Defn
3. Process Defn
Step 4
Update your App
Engine to output full
data, then run it.
Advanced Use
Bursting
Content Library
Translations
Whats good?
Single Toolset
AEXLS
Overview
Why?
Client required a
reporting solution
Output to Microsoft
Excel
Must be a PeopleTools
solution
Client specific
Branding/Formatting
Options
XMLP
SQRXLS
nVision
XSLT for XMLP
The Solution
Application Package
Kept within
PeopleSoft
Standard PeopleSoft
APIs
Classes and
Methods
Benefits
Rapid development
Standard
PeopleCode
Object oriented API
Simply pass a
RowSet to the
constructor
Example
Summary
Client
Requirements
Flexibility
Rapid Development
AEXLS
The Internals
Components
Excel/XML
XMLDOC Object
Application
Packages
Excel/XML
Need to learn XML
Simple Cascade Worksheet/Column/
Row/Cell
Styles used like CSS
Namespaces and
Schemas
MS Schemas of
some use
XMLDoc
PeopleSofts XML Parser
Provides random access
to the xml document
Like a Database
Get a Sheet
Findnode(Workbook\Worksheet
[@Name=Sheet1] )
Get a Cell
Findnode(Workbook\Worksheet
[@Name=Sheet1]\Row\Cell
[@Index=4]\Data\Text()
App Packages
Object Oriented
Approach Classes
Makes things more
complex but so much
faster/easier to
maintain.
Model your classes
on the excel objects
sheets, cells etc
Quicker debugging
Problems
Namespaces and XMLDoc
Other XMLDoc Issues
Performance
Tips
Plan your object model first
Finish
Time estimates
2 man months for the Excel generator
1 man month for the template overlay
Much of this is learning curve
Introduction
Lesson Objectives
I-2
I-3
People code
Component
Application
Package
App Engine
I-5
Component
Interface
File Layout
1.
2.
3.
4.
Activity
Analytic Model
Analytic Type
App Engine
Program
5. Application
Package
6. Approval Rule
Set
I-6
7. Business
Interlink
8. Business
Process
9. Component
10. Component
Interface
11. Field
12. File Layout
13. File Reference
14. HTML
15. Image
16. Menu
17. Message
18. Mobile Page
19. Page
20. Project
21. Record
22. SQL
23. Style sheet
Field
I-7
Field
Fields are the lowest level units in PeopleSoft. Fields are Individual objects defined in PeopleSoft . One or more
Fields grouped to form a record definition. A field can be shared across all record definitions
Types of Field
Field Type
Field Length
Field Labels
Field Formats
Field Properties
General
Translate values
I-8
I-9
Field Type
Character (Char): Used for codes in PeopleSoft
Long Character (Long): Used to store comments in PeopleSoft
Number(Nbr) :to hold positive integers and decimal numbers
Signed Number (Sign): holds negative integers and decimals
Date (Date) :hold dates in (MM/DD/YYYY) format
Time(Time) : holds time in (HH:MI:SS.99999) format
Datetime (DtTm) :holds both date and time
Image (Img): to store pictures in PeopleSoft (Jpeg, Bitmap format)
Image Reference(Iref): to change an image dynamically at runtime
using PeopleCode.
Attachment:Maps to a BLOB database type to hold the contents of a
file attachment.
I-10
Field Properties
I-11
Field Properties
General Properties
Field Definition: We can specify purpose of this field
Owner ID: Application Module like HR, Base Benefit
Last Update by: Auto insertion (cannot be changed)
Date/Time: System takes current date and time
By User: System take Logged-in username as updated by user
Translate Values
I-12
I-13
Short Name : Enter up to 10 characters, and if this field left blank, Peoplesoft will
take first 10 Character from Long Name (Automatically)
I-14
I-15
Record
A Record is a collection of Fields. A Record definition can be an SQL table,
an SQL View, a Sub record..
Record Types
SQL
SQL View
Dynamic View
Derived/Work
Sub Record
Query View
Temporary Table
Record Properties
General
Use
I-16
An SQL:
An View:
Dynamic View:
Select to define a record definition that can be used like a view in
pages and PeopleCode, but is not actually stored as a SQL view.
Dynamic views can provide superior performance in some situations,
such as search records
I-17
Derived/Work:
Select to define the record definition as a temporary workspace to
use during online page processing.
Sub Record:
subrecorda group of fieldsthat are commonly used in multiple record
definitions. We can change a group of fields in one place, as opposed to
changing each record definition in every record
Query View:
To define the record definition as a view that is constructed using
the PeopleSoft Query tool. Before we create the view, PeopleSoft
Application Designer prompts you to save the definition.
I-18
Temporary Table:
To define the record definition as a temporary table. Temporary
tables are used for running PeopleSoft Application Engine batch
processes.
I-19
PSRECDEFN: Record definitions are stored in a this table. This table stores all
attributes of a Record definition. Like Record type, Audit Record name, Parent
record name, index count, field count. SQL table and SQL View are data based
objects and stored with PS_ prefix in database
PSREFIELD: This table stores the fields that the record definition contains. Each
field with its own edit properties. It may translate value edit, prompt table edit. Or
Yes or no edit
PSPROGCOUNT: contains the Number of PeopleCode events for the record field.
I-20
Record3
PSINDEXDEFN: This table contains a row for each index for the record definition.
And populated only if the record definition is an SQL table or an SQL view
I-21
I-22
I-24
Page
I-25
Component
A component compromises either a single page or a set
of pages that are meant to be served
purpose of functionality and processed as one.
We can manage through Component Definition
Grouping of pages
Search Record (to retrieve data)
Tab Navigations
Links at the bottom of a page
Toolbar at the bottom of a page
I-26
Search(components feature)
I-27
Toolbar
I-28
I-29
PSPNLGROUP
I-30
Menu
Menus work as gateway to the application. Menus store Components
(collection of pages)
Menu items are hold a component and provide access to an application panel.
End user has to be given access to a menu item to access it.
Standard
Pop-Ups
File , Edit, View, Go, Language and Help user needs it.
We can specify menu group, sequence
of that Menu
I-31
PSMENUDEFN
This catelog table stores the menu attributes. It contains
I-32
PSMENUITEM
This catalog table stores the individual items in standard or
pop-ups menu. It contains
I-33
Registration Process
I-34
PS Security
By Deviprasad
Agenda
Components of PS Security
Security Model
User Profiles
Roles
Permission List.
Dynamic Roles
Static Roles
Building Roles/Rules Using PS Query
Assigning Roles LDAP
Assigning Roles to PeopleCode
View The Dynamic Members
Conclusion
Implementing security in ps
Components of PS Security
Three major building blocks used when
defining your PeopleSoft security
Permission Lists
Roles
User Profiles
Permission List
Lowest level of PeopleSoft security
It is a list of authorizations we assign to
roles
Grants access to pages, People Tools, and
sign-on times ,like application designer
Multiple Permission Lists can be assigned
to a single role
Roles
Roles are assigned to User Profiles
Intermediate objects that link User Profiles
to Permission Lists
Multiple roles can be assigned to a single
User Profile
Roles can be assigned to User Profiles
manually or dynamically
User Profiles
Defines the individual users of your
PeopleSoft system
Information about the user such as e-mail
address, language code, and password
User Profiles are linked to Roles to grant
access to specific areas within the
PeopleSoft application
Summary
Define your business rules
Develop your dynamic roles based on the
business rules defined by your organization
Three technologies used to develop dynamic
roles
PS/Query
PeopleCode
LDAP
Implementing security in PS
Determine
Component
Start Here
Reset State
2 Search Actions
SearchInit
Search
Page
Add ?
Error/ Warning:
Cancel
SearchSave
SQL
Select
Key
Yes
Add Mode
Processing
No
More
Rows
PreBuild *
Yes
Record
Defaults
Select
Row
FieldDefault
FieldFormula
1st time
displayed
Stop
Fetching
Add Row
to Buffer
**Activate executes
whenever the page
is in focus
Discard
Row
Accept
No
* PreBuild and
Build Execute once
during Component
Build
PostBuild *
Add Row
to Buffer
Activate **
Display Page
and wait for
User action
Adrian Mansard
Yes
RowInit
RowSelect
Cancel
Content
reference
Field Changed
by User
SaveEdit
Error
Warning:
Cancel
Accept
Warning:
OK
SavePreChange
User selects
new Content
reference
Workflow
Standard
System edits
Error
Add Row
Provisionally
Delete Row
RowInsert
Row Delete
Reject
Delete
Error
SavePostChange
SQL Commit
Row Delete
Error
Warning:
Cancel
FieldEdit
Provisionally Update
Tables (SQL Insert,
Delete,Update)
Accept
Row Insert
FieldChange
2 field
Display Page
and wait for
User action
events
Display Page
and wait for
User action
Accept Field
Change
Accept
Warning:
OK
Accept
Delete
Application Engine
D. Sree lakshmi
EnvyTee InfoSoutions
Technical Definition:
No Compilation required.
Database Flexibility.
Program
Sections
Steps
o
Actions
Market
Platform
Market
Platform
Effective Date
Auto Commit
Access Type
A Step represents the smallest unit of work that can be committed in a program.
When you first create a program, you have a default MAIN Section and Step,
initially named Step01.
All programs require at least one Section, all Sections should contain at least one
Step, and all Steps should contain at least one Action.
Commit After
Default
Later
After Step
On Error
Abort
Ignore
Suppress
Frequency
There are eight types of Actions that you can include within a Step, and a Step
can contain multiple Actions.
You can only include one of each Action type within a single Step.
The only mutually exclusive Actions within a single Step are Call Section and
SQL Statement.
If the DO When statement returns any rows, the next Action will be executed.
If the Do When conditions are not met, the remaining Actions within that Step
are not executed.
Your program executes a DO When Action only once when the owning Step
executes.
www.itwisesolutions.com
DO Select can execute a SQL statement for each row returned from the
SELECT statement. The subsequent Actions within the Step are executed in a
loop based on the results of the SELECT statement.
Restartable It performs a Fetch on each iteration of the loop to get each row
from the SELECT. It can be Restarted.
Use a Do Until if you want the "processing actions" to execute at least once, and to
execute over and over until a certain condition is true, such as until a SELECT
returns some rows.
PeopleCode Actions allow you to take advantage of IF-THEN logic, messaging, File
Layouts, Component Interface and various other features all from within your Application
Engine programs.
Configurable Properties
On Return :
If your PeopleCode program provides a false result, you can have Application Engine
respond by doing one of the following:
Abort The program issues an error and exits immediately.
Break The program exits the current Step and Section, and control returns to the
calling Step.
Skip Step The program exits the current Step, and continues processing at the next
Step in the Section.
Use this Action if you want to perform the following SQL commands on multiple rows:
UPDATE
INSERT
DELETE
SELECT
Configurable Properties
2.No Rows
In the event that the SQL (INSERT, UPDATE, and DELETE) associated with the SQL
Action does not return any rows, you need to specify what your Application Engine
program should do.
Section Break Application Engine exits the current Section immediately, and control
returns to the calling Step.
Skip Step Application Engine exits the current Step immediately and moves on to the
next Step.
Use the Call Section Action to Call Another Section defined in an Application
Engine program.
You can call a (local) Section defined within your current program, otherwise
Section MAIN would be the only Section executed.
Also you can make external calls to a Section defined in another Application
Engine program.
The external Section you intend to call must have its Access property set to Public.
If a Section's Access property is set to Private, that Section can only be called from
within the same program.
Call Section is the only supported way to call Application Engine programs or
Sections from other Application Engine programs or Sections.
Configurable Properties
The Application Engine State Record is the method by which you allocate variables
for your Application Engine program.
It is also the method by which Section, Steps, and Actions pass values to
subsequent program steps.
You can think of State Records in Application Engine as global variables without
scope limiting rules.
Process Instance is the only key Field and is used for maintaining session
PeopleSoft batch applications employ the technique of SET processing, and set
processing (in most cases) involves extensive use of temporary tables.
Improve performance
Any Program
Application Engine has the built-in ability to save a program state and restart
where it stopped processing in the case of an abend.
Process Scheduler
People Code
Command Line
CallAppEngine
AE Run
Application
Engine
Process
Process Scheduler
PSAE.exe
Execute
AE Constructs
Peoplecode
Program Files
Push Button
Process
Command
Peoplecode Call
Logon
Retrieve
AE Program
Definitions
Issue AE program
SQL
PS
Database
Restart Facility
Inbuilt Tool
Graphical User Interface
COMPONENT INTERFACE
By,
Mr. Srinivas.
PeopleSoft pages.
It exposes a PeopleSoft component for synchronous access from
Architecture(Contd..)
Fundamental elements to the component interface architecture.
Components
Component Interface
Elements of ComponentInterface
Every component interface has the following four main attributes
1)Name
2)Keys
GetKeys
Findkeys
CreateKeys
Generated in CI when the Use tab on the Component Properties dialog allows
the Add action
Elements of ComponentInterface(contd)
3) Properties and collections (fields and records)
Provide access to both component data and component interface settings.
Two types of properties: Standard and User-defined.
Standard properties can be set to true or false.
Examples : InteractiveMode, GetHistoryItems, EditHistoryItems.
Userdefined methods
4)Methods
A method is a function that performs a specific task on a component interface at runtime.
Standard methods
Standard methods are those that are available for all component interfaces.
1.Cancel: Cancels any changes made since the last save.
2.Create: Creates new instance of CI
3.Find :Performs partial key search on the particular instance of the CI
using search key at level zero.
4.Get :Retrieves a particular instance of CI.
5.Save : Saves an instance of the CI.
6.GetPropertyByName:Returns the value of the property specified by name.
7.SetPropertyName: Sets the value to the property specified by name.
Userdefined Methods
Those that you can create to meet the requirements of an individual component
interface.
A method is simply a PeopleCode function that you wish to make accessible through
the component interface
Each method maps to a single People Code function
The Component Interface object, instantiated from a session object, is created at
runtime as a way to access the data specified by the Component Interface.
&oSession = %Session;
&oSIdn1Ci = &oSession.GetCompIntfc(CompIntfc.S_IDN1_CI);
When you populate a Component Interface with data, the first thing you fill out
are its keys, as you would in a component. These can be keys for getting an
existing instance of the data or for creating a new instance of the data.
Select the Component Interface object type from the New dialog.
Select the component on which this component interface will be based.
Save the component interface.
Add properties, collections, or methods to the component interface.
Set the security.
Test the component interface.
Example
In this example, you are getting an existing instance of data for the EMPL_CHECK_CI
Component Interface, which is based on the EMPL_CHECKLIST component, for the
Update/Display mode.
Component Interface
Working with a CI Setting Security
Setting Security(contd..)
2)Application Designer
To make individual property =Read Only
Runtime considerations
WinMessage Unavailable
You cannot use WinMessage in a component that will be used to build a
component interface. Use MsgGet() instead.
Email from a Component Interface
To use a component interface to send email, use TriggerBusinessEvent
People Code event, not SendMail.
Related Display
Related display fields are not available for use in a component interface
as they are not held in the buffer context that the component interface uses.
Row Inserts
If RowInserts have been disabled for a page, you must take care when
calling inserts against the corresponding component interface.
Any PeopleCode associated with push buttons used on the page to add
rows will not be invoked by the component interface when an insert is
done.
Benefits of CI
Access to all business logic
Delivered PeopleSoft logic
Your customizations Insulated from complexities of application
Data relationships
Data Integrity
Thank you
PRESENTED BY,
P.S.S.SWAMY.
Class :
Class is a blueprint of the object .It consists of variable and methods.
class doesnt occupy any memory.
ex: Class is a map for building the house.
Object :
Object is a real entity any thing physically exists in the world is called an object.
But in programming languages object is instance of a class .It occupies some
memory.
ex: Object is house.
Encapsulation :
Its came from the word capsule . It is a property to bind the variable and
methods and also it hides the internal structure. It prevents clients from
seeing the inside view. We can achieve abstraction through encapsulation.
ex : car driver doesnt know what is the functionality when gear is changed
one level to another level . But he change the gear against to the speed.
Abstraction :
Abstraction is process it allows to show the essential object information to the user i.e
hide the non essential object information. We can achieve this through encapsulation.
Inheritance:
It is one of the most important feature of Object Oriented Programming. It is the
concept that is used for reusability purpose. Inheritance is the mechanism through which
we can derived classes from other classes. The derived class is called as child class or
subclass. The class from which the subclass is derived is called a superclass (also
a base class or a parent class).
Polymorphism :
A method having different forms is called polymorphism i.e method having the same
name but we can perform different tasks by using this polymorphism.
We have to concepts here
1.method overloading.
2.method overriding.
ex :1.pack1A.class
2.pack1pack2A.class
Here ex1 fully qualified name A. class is different from ex2
Before calling any method in a class you must import the package.
Import class
Class name
Class extensions
Declaration of public external interface
Declaration variables and methods
Definition of methods
class MyFormulaCruncher
method MyFormulaCruncher();
method AddNumbers(&a As number, &b As number) Returns number;
method AddNumbers2();
property number FirstNumber;
property number SecondNumber;
property number MySum readonly;
protected
property number MySumProtected;
end-class;
method MyFormulaCruncher
end-method;
method AddNumbers
Local number &c;
&c = &a + &b;
MessageBox(0, "", 0, 0, "My AddNumbers result is: " | &c);
Return &c;
end-method;
method AddNumbers2
&MySum = &FirstNumber + &SecondNumber;
&MySumProtected = &FirstNumber + &SecondNumber;
MessageBox(0, "", 0, 0, "My AddNumbers2 result is: " | &MySumProtected);
end-method;
t
Conventional data types include number, date, string. Use them for basic
computing. Object data types instantiate objects from PeopleTools class.
Conventional
data types.
Object data types.
and
Example:
class Fruit
method DoFruit();
property number FruitNum instance;
end-class;
class Banana extends Fruit
method DoBanana();
property number BananaNum instance;
end-class;
A subclass inherits all of the public methods and properties of the class it
extends. These members can be overridden by declarations of methods and
properties in the subclass.
Note. Application classes have no multiple inheritance
Public
Protected
Private
ex: class A
property number a1;
method number a1;
protected:
property number a2;
method number a2;
private:
property number a3;
method number a3;
Sample code:
class MyInterface
method MyMethod1() abstract;
method MyMethod2() Returns string abstract;
method MyMethod3();
property string myproperty1 abstract readonly;
property number myproperty2 abstract;
property number myproperty3 abstract;
end-class;
method MyMethod3
/*body
end-method;
The constructor for a class is the public method with the same name as the
(short name of the) class. The statements contained in this method (if any)
provide the initialization of the class.
This constructor is always executed when an object of the class is
instantiated
class a
method a();
end-class;
Import Fruit:*;
Import Fruit:Banana;
Import Fruit:Drinks:*;
Here any import classes having same short name we must use full
name of the class for creating or initiating object to that class.
A method can refer to the current object using the %This system variable.
%This is an object of either the method's class or a subclass of the method's
class.
%THIS :
Ex:1
class FactorialClass
method factorial(&I as number) returns number;
end-class;
method factorial
if &I <= 1 then
return 1;
end-if;
return &I * factorial(&I - 1); /* error - factorial undefined */
return &I * %This.factorial(&I - 1); /* okay */
end-method;
class BuildingAsset
method DisasterPrep();
end-class;
method DisasterPrep
/* some body*/
end-method;
class VancouverBuilding extends BuildingAsset
method DisasterPrep();
end-class;
method DisasterPrep
%Super.DisasterPrep(); /* call superclass method */
end-method;
local BuildingAsset &Building = Create VancouverBuilding();
&Building. DisasterPrep();
class xxx
property string StringProp get set;
end-class;
get StringProp
return "string"; /* Get the value from somewhere. */
end-get;
set StringProp
/* Do something with &NewValue. */
end-set;
Get Astring
return String(%This.Anum);
end-get;
Get Astring2
return String(&Anum);
end-get;
class B extends A
property number Anum;
end-class;
local B &B = Create B();
&B.Anum = 2;
&MyValue = &B.Astring;
/* &MyValue is "2" */
&MyValue = &B.Astring2;
/* &MyValue is now "0" */
Instance variables.
Global variables.
Overriding variables and properties.
This section discusses some ways you can design application classes.
Base data classes
Abstract base classes
Generic base classes
Utility classes
-by
by surya
9/20/2016
Advantages
2
9/20/2016
Advantages
3
by surya
9/20/2016
Prerequisites
4
SMTP
by surya
9/20/2016
WorkFlow Tools
5
WorkFlow Tools
Worklists : Consists of lists of the work items that a person (or group of
people) has to do.
Application Designer: Used to design Business Processes, WorkFlow rules
and Routing.
PeopleCode : Used to detect when the business rule need to be triggered, who
should act and used to route it to appropriate users.
Workflow Administrator : Used to access, monitor, analyze, and control
workflow.
Work Items
Business Event: This is a condition that tells the system that an activity is
complete.
Routing: Tells the system to forward information to the next step in the
business process. It specifies what information to forward and where to forward
it.
WorkFlow Triggers
Any Event that triggers PeopleCode can trigger a WorkFlow Event like
Users Working on PS Pages.
3rd Party Application sending data to PeopleSoft component Using CI.
Batch programs or queries sending information to a PeopleSoft component
through a component interface.
by surya
9/20/2016
Routing :Routings specify where the information goes and what form it takes
by surya
9/20/2016
by surya
Define users roles when you give them their user IDs. Roles are important in PeopleSoft
Workflow.
Roles are used to ensure that work flows to the correct person .
9/20/2016
Testing WorkFlow
by surya
Make sure to test under a variety of conditions, both usual and unusual.
9/20/2016
Another advantage of route controls is that the factors controlling routing are
stored in a database table instead of in query definitions or PeopleCode.
by surya
9/20/2016
10
Enterprise Integration Points (EIPs).
There are three PeopleSoft Workflow-related EIPs that you might use:
The Worklist Entry EIP (component interface WORKLISTENTRY) enables third-party
applications to access existing worklist entries, mark items as selected or worked, or
reassign items to other users.
The Worklist Synchronization EIP consolidates worklist data from multiple PeopleSoft
databases using the application engine program WL_REPLICATE, which publishes
worklist data using WORKLIST_MSG.
The Worklist EIP (component interface WORKLIST) enables third-party applications to
add new entries to PeopleSoft worklists.
by surya
9/20/2016
Activity Guides.
This is used if a single users work across several pages. This do not involve routings
like those found in a regular workflow application. Rather, the activity guide leads a
user through a multistep task.
These are particularly appropriate for guiding untrained users through self-service
transactions.
This uses only activities but not business process.
by surya
9/20/2016
Notification Features.
This can be done using a Mail or a Worklist.
Notification templates enable functional users to configure unique message text for
each component.
The combination of generic templates and PeopleCode application classes can be used
by application developers to extend the delivered notification features for an
application
by surya
9/20/2016
WorkFlow Maps
These are visual representations of your organization's
business processes and they can also be used as navigational
aids for users.
Navigator Maps
This is an alternative to the standard portal navigation.
by surya
9/20/2016
14
Map Hierarchies
by surya
9/20/2016
Defining Maps
15
Icon Desc : If you leave this field blank, the map name appears by
default.
by surya
9/20/2016
Work Flow.
This is used to automate the worklist users to send
mails and messages. If the work list is too huge than
we can route the request to the Administrator.
by surya
9/20/2016
Query Roles
17
These are used to identify the approver of the work list, to whom the
by surya
9/20/2016
Route Control
18
by surya
9/20/2016
WorkList Records
19
the system stores for each work item and in what order the
work items appear.
The below are some rules for creation of worklist record
by surya
9/20/2016
20
The below are the list of fields that need to be included in the WorkList record. these fields
to link the items in the worklist with their tracking information, which is stored in the
PeopleSoft-defined table PSWORKLIST.
WORLKIST_URL: The text that links to the page where the user can work on the item.
Appropriate values might include the key data for the record in which the item will be
worked. For example, for a work item directing a manager to approve an expense report,
the text might be the name of the employee who submitted the report.
WORKLIST_DESCR: A text comment that appears in the users worklist. The presence
of this field automatically suppresses the display of any application fields, although the
key fields are still used to bypass the search page of the target page.
by surya
9/20/2016
Routing
This is used to link activities with workflow and automate
the delivery of information to other activities and other
users.
This delivers the data in two forms : Email and WorkList.
Events
Events are conditions that have associated routings.
Define the condition in PeopleCode, which is attached to
the record definition underlying a step in a step map.
by surya
9/20/2016
Event Triggers
22
Workflow PeopleCode
PeopleCode is written on WorkFlow event of the record to trigger the business event.
The below function is only used for normal workflow but not for Virtual Approval.
GetWLFieldValue Function: When you open a page from a worklist this function
enables you to get the value from one of the fields in the current items worklist record.
by surya
Virtual_Approver: This checks the approval rules that you defined in the approval rules sets
and determines whether an item must be routed for approval.
Virtual_Router : This routes items to the next step in the approval process.
9/20/2016
by surya
9/20/2016
24
END
?
Thanks You.
by surya
9/20/2016