Вы находитесь на странице: 1из 261
Data Organization
Data Organization
Data Organization Presenter PeopleSoft Technical Guru

Presenter PeopleSoft Technical Guru

Data Organization 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.

or more data categories in columns. Each row contains a unique instance of data for the

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 Student’s Experience

and a Student’s 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

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

their relationships. • It is often helpful to have a map illustrating the various tables and

Relational Database, Metadata

and PeopleSoft

Relational Database, Metadata and PeopleSoft SYSOBJECTS SYSCOLUMNS PSRECDEFN PSPNLDEFN PS_PSU_STUDENT_TBL

SYSOBJECTS

SYSCOLUMNS

Database, Metadata and PeopleSoft SYSOBJECTS SYSCOLUMNS PSRECDEFN PSPNLDEFN PS_PSU_STUDENT_TBL PS_PSU_INSTR_TBL

PSRECDEFN

PSPNLDEFN

PS_PSU_STUDENT_TBL

PS_PSU_INSTR_TBL

Database, Metadata and PeopleSoft SYSOBJECTS SYSCOLUMNS PSRECDEFN PSPNLDEFN PS_PSU_STUDENT_TBL PS_PSU_INSTR_TBL

Relational Database, Metadata

and PeopleSoft

System Catalog

System catalog tables are analogous to a table of contents for a book, or to File Allocation Tables on a hard drive. The structure and table names vary depending on which RDBMS is being used, but the function is the same. The system catalog tables

keep track of all of the objects that reside in the database

instance, including non - PeopleSoft systems

e.g. SYSOBJECTS, SYSCOLUMNS

Relational Database, Metadata

and PeopleSoft

PeopleTools Tables

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.

PSDBFIELD - fields in application data tables

PSRECDEFN - application data table s, indexes, views

PSPNLDEFN - Values used to generate the HTML pages received by the browser

PSPRSDEFN - Contents of the portal registry, which builds the user navigation

PSXLATITEM - Values used to validate data for specific fields

Relational Database, Metadata

and PeopleSoft

Application Data Tables

The Application Data tables contain data entered for use by your organization. The specific tables and their structure are

determined by the application

installed or by the definitions you create as a part of your

development

The naming convention used for Application Data tables is

PS_*.

e.g.

PS_PSU_STUDENT_TBL

PS_PSU_INSTR_TBL

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]

SELECT [COLUMNS],GROUP FUNCTIONS FROM

[TABLE_NAME] WHERE [COLUMN1] = [CONDITION] GROUP BY [COLUMNS]

Group Functions Max/Min/Count/Sum

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

Online Page Action Command Resulting SQL Retrieve data from the search page in an Update mode.
Online Page Action Command Resulting SQL Retrieve data from the search page in an Update mode.

Retrieve data from the search page in an Update mode.

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

Use Alt + 8 (Row Delete) in an Update mode.

DELETE

Undo changes if errors occur during PeopleCode processing at Save time

Modify data on existing rows in an Update mode

ROLLBACK

UPDATE

PIA – Peoplesoft Internet Architecture
PIA – Peoplesoft Internet Architecture

PeopleSoft Internet Architecture

(2 TIER Connectivity)

Client

ODBC CONNECTIVITY

PeopleSoft Internet Architecture (2 TIER Connectivity) Client ODBC CONNECTIVITY Database Server

Database Server

PeopleSoft Internet Architecture (2 TIER Connectivity) Client ODBC CONNECTIVITY Database Server

PeopleSoft Internet Architecture (2 TIER 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.

PeopleSoft Internet Architecture:

Definition

PIA stands for PeopleSoft Internet Architecture.

It is the runtime architecture used to deploy and

execute

the pure Internet applications of PeopleSoft 8. Its

called pure since it follows the thin client model

Executes the applications built with PeopleTools development environment.

Features of PIA

Pure Internet

Server-centric

Component-centric

Four-tier Architecture

Advantages of PIA Over

Client/Server

Thin Client:

No executables on the client side Low Cost

No Processing at client side

Network Protocol The protocol used is HTTP

Security - SSL security can be implemented in

PIA

PeopleSoft Internet Architecture

(3 TIER Connectivity)

PeopleSoft Internet Architecture (3 TIER Connectivity)

PeopleSoft Internet Architecture

(3 TIER Connectivity)

Advantages

Internet Architecture (3 TIER Connectivity) • Advantages • Reduced network traffic. • Improved WAN performance.

Reduced network traffic.

Improved WAN performance.

Reduced maintenance of client workstation configuration,

since database connectivity is not required on the client.

Enabling Web Client connections

Ability to scale the system, as needed, to meet rising user demands by reconfiguring application servers, by installing application server(s) on more powerful machines, and by using multiple application servers

Web Browser

Uses HTTP protocol

Receives only:

HTML / XML

Java script

Cookie

Browse r HTTP/HTTPS
Browse
r HTTP/HTTPS
Web Jolt/Tuxedo server
Web
Jolt/Tuxedo
server
Application SQL server
Application
SQL
server
DB server
DB
server

Web Server

Web services HTTP, XML, SOAP, WSDL, and UDDI

Servlet Engine

Java Servlets:

Page Servlets: Content Retrieval and Page Assembly

Portal Servlets: Content Retrieval and Page Assembly

Integration Gateway Servlets: Listener Connectors

Report Repository Servlets

Web Jolt/Tuxedo Application SQL Server Server
Web
Jolt/Tuxedo
Application
SQL
Server
Server
Browser HTTP/HTTPS
Browser
HTTP/HTTPS
DB Server
DB
Server

Web Server (Contd.)

Web Server (Contd.) This figure depicts the PIA architecture. • Client request are made through the

This figure depicts the PIA architecture.

Client request are made through the web browser.

These requests move to the Web Server

From the Webserver the request is passed to the

Application server which communicates with the database. The response to request follows the reverse path

Application Server

It is the “Heart” of PIA - contains all application logic / HTML / XML generation

Supports Lightweight Directory Access Protocol (LDAP)

integration

Browser HTTP/HTTPS
Browser
HTTP/HTTPS
Web Server
Web Server
Jolt/Tuxedo
Jolt/Tuxedo
LDAP Applicatio SQL n Server
LDAP
Applicatio
SQL
n Server
DB Server
DB Server

Application Server Domain

Collection of server processes, supporting processes, and resource managers

A domain advertises a set of “services” (such as

build a page and save a page)

Process scheduler also built around “domains”

You can have more than one domain per

machine (server)

Each domain only connects to one database.

Multiple domains can connect to the same

database.

Application Server Domain (Contd.)

Example: One domain on one application server machine.

BROWSER

Example: One domain on one application server machine . BROWSER WEB SERVER APPLICATION SERVER HR Domain

WEB

SERVER

APPLICATION SERVER HR Domain
APPLICATION
SERVER
HR
Domain
Example: One domain on one application server machine . BROWSER WEB SERVER APPLICATION SERVER HR Domain
HR Database
HR
Database

Application Server Domain (Contd.)

BROWSER

Application Server Domain (Contd.) BROWSER WEB SERVER APPLICATION SERVER FS Domain HR Domain FS Database HR

WEB

SERVER

APPLICATION SERVER FS Domain HR Domain
APPLICATION
SERVER
FS
Domain
HR
Domain
FS Database
FS
Database
HR Database
HR
Database

Application Server Domain (Contd.)

Domain: Collection of server processes, supporting processes, and resource managers

Server Processes Manages different types of requests that

reach the application server

Tuxedo/JOLT Jolt provides the connection between the Web Server and App server. Tuxedo is BEA software that

gears the PS App Server

Application Server Domain (Contd.)

Application Server Domain (Contd.)

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
Browser
HTTP/HTTPS
Web Server
Web
Server
Jolt/Tuxedo Application SQL server
Jolt/Tuxedo
Application
SQL
server
DB Server
DB Server

Batch Server (Process Scheduler)

Batch Server

RDBMS
RDBMS

SQL

Browser

Web Server

App Server

Batch Server RDBMS SQL Browser Web Server App Server • Components of Process Scheduler: – Process
Batch Server RDBMS SQL Browser Web Server App Server • Components of Process Scheduler: – Process

Components of Process Scheduler:

Process Scheduler Server Agent

Distributed Agent

The Process Scheduler is used to schedule the

processes in PeopleSoft. It can be consider as a

part of the Application Server and communicates with the DB directly.

Logging in PIA

Sign In

User Id

Password

Navigate to a Component

Page Layout

Header

Menu Pagelet

Target Area

Searching Through PIA

PIA URL

Web Server PS Portal Component Portal Menu Servlet Node App Server Domain Ref Type
Web
Server
PS Portal
Component
Portal
Menu
Servlet
Node
App Server
Domain
Ref
Type

Hot Keys

Hot Keys

Access Keys

Access Keys

Question???

XML Publisher and Reporting to Excel Duncan Davies, Jay Jorgensen and Adam Clark Allinity

XML Publisher

and Reporting to Excel

Duncan Davies, Jay Jorgensen and Adam Clark Allinity

XML Publisher and Reporting to Excel Duncan Davies, Jay Jorgensen and Adam Clark Allinity
Who are we? Duncan Davies - Technical Consultant (Allinity) Email: Duncan@Allinity.com Adam Clark - Technical
Who are we? Duncan Davies - Technical Consultant (Allinity) Email: Duncan@Allinity.com Adam Clark - Technical
Who are we? Duncan Davies - Technical Consultant (Allinity) Email: Duncan@Allinity.com Adam Clark - Technical

Who are we?

Who are we? Duncan Davies - Technical Consultant (Allinity) Email: Duncan@Allinity.com Adam Clark - Technical Consultant

Duncan Davies - Technical Consultant (Allinity) Email: Duncan@Allinity.com

Adam Clark - Technical Consultant (Allinity) Email: Adam@Allinity.com

Jay Jorgensen - External Consultant Email: Jay@GlobalWalkabout.com

Consultant (Allinity) Email: Adam@Allinity.com Jay Jorgensen - External Consultant Email: Jay@GlobalWalkabout.com

What are we covering today?

1. XML Publisher - Duncan

2. Reporting to Excel Overview - Adam

3. Reporting to Excel Deep-Dive - Jay

4. Questions

1. XML Publisher - Duncan 2. Reporting to Excel Overview - Adam 3. Reporting to Excel
What is XML Publisher? “Publisher is the only Reporting Platform for Fusion Apps”

What is XML

Publisher?

“Publisher is the only

Reporting Platform

for Fusion Apps”

What is XML Publisher? “Publisher is the only Reporting Platform for Fusion Apps”

How does it work?

Technical Task

XML Data Source
XML
Data Source
XML Report Publisher Output Engine
XML
Report
Publisher
Output
Engine

Business Task

Template Layout
Template
Layout
Step 1 Create an App Engine to supply: 1. XML Sample Data File 2. XSD

Step 1

Create an App Engine to supply:

1. XML Sample Data

File

2. XSD Schema File

Step 1 Code Populate Rowset

Step 1 Code – Populate Rowset
Step 1 Code – Populate Rowset

Step 1 Code Output Files

Step 1 Code – Output Files
Step 1 Code – Output Files

Step 2

Create an RTF template in Word

using the XML

Sample data file.

Step 2 Create an RTF template in Word using the XML Sample data file.
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 3

Within PeopleSoft,

create:

1. Data Source Defn

2. Report Defn

3. Process Defn

Step 3 Data Source Definition

Step 3 – Data Source Definition
Step 3 – Data Source Definition

Step 3 Report Definition

Step 3 – Report Definition
Step 3 – Report Definition

Step 4

Update your App Engine to output full

data, then run it.

Step 4 Update your App Engine to output full data, then run it.
Step 4 Update your App Engine to output full data, then run it.

Step 4 Code Code Changes

Step 4 Code – Code Changes
Step 4 Code – Code Changes
Advanced Use • Bursting • Content Library • Translations

Advanced Use

Bursting

Content Library

Translations

Advanced Use • Bursting • Content Library • Translations

What’s good?

Single Toolset

Business users don’t

need a techie to layout a report

Highly Flexible

Easier upgrade to

Fusion

Quick and easy

users don’t need a techie to layout a report • Highly Flexible • Easier upgrade to
users don’t need a techie to layout a report • Highly Flexible • Easier upgrade to
What’s not good? • XML/XSL knowledge needed for complex reports • Excel output very basic

What’s not good?

XML/XSL knowledge

needed for complex reports

Excel output very basic

No update until 2008

(Tools 8.50)

Need to use

Report Mgr

needed for complex reports • Excel output very basic • No update until 2008 (Tools 8.50)

What other tips

can we give?

Make sure all rowset levels are filled in sample data.

RTFs not shown in

Process Monitor, so set

up Report Manager.

Limit the size of the

rowset for sample data.

Sort data in Code

in Process Monitor, so set up Report Manager. • Limit the size of the rowset for
in Process Monitor, so set up Report Manager. • Limit the size of the rowset for

AEXLS

Overview

AEXLS Overview

Why?

Client required a reporting solution

Output to Microsoft Excel

Must be a PeopleTools solution

Why? • Client required a reporting solution – Output to Microsoft Excel – Must be a
Why? • Client required a reporting solution – Output to Microsoft Excel – Must be a

Output onto Multiple

Sheets

Complete control of

individual cells

Formatting of individual rows/columns/cells

Formulas

Client specific Branding/Formatting

individual cells – Formatting of individual rows/columns/cells – Formulas • Client specific Branding/Formatting
individual cells – Formatting of individual rows/columns/cells – Formulas • Client specific Branding/Formatting

Options

XMLP

SQRXLS

nVision

XSLT for XMLP

Options • XMLP • SQRXLS • nVision • XSLT for XMLP
Options • XMLP • SQRXLS • nVision • XSLT for XMLP

The Solution

Application Package

Kept within

PeopleSoft

Standard PeopleSoft APIs

Classes and

Methods

The Solution • Application Package – Kept within PeopleSoft – Standard PeopleSoft APIs – Classes and
The Solution • Application Package – Kept within PeopleSoft – Standard PeopleSoft APIs – Classes and

Benefits

Rapid development

Standard

PeopleCode

Object oriented API

Simply pass a

RowSet to the

constructor

• Rapid development – Standard PeopleCode – Object oriented API – Simply pass a RowSet to
• Rapid development – Standard PeopleCode – Object oriented API – Simply pass a RowSet to

Example

Example
Example

Summary

Client

Requirements

Flexibility

Rapid Development

Summary • Client Requirements • Flexibility • Rapid Development
Summary • Client Requirements • Flexibility • Rapid Development

AEXLS The Internals

AEXLS The Internals

What Have We Done

Formatting text,

cell and sheet

Print and Page

Settings

Formulas and Functions

Multiple sheets

Named Ranges

– text, cell and sheet • Print and Page Settings • Formulas and Functions • Multiple
– text, cell and sheet • Print and Page Settings • Formulas and Functions • Multiple
– text, cell and sheet • Print and Page Settings • Formulas and Functions • Multiple

What Can be Done

Short answer – everything but Macro’s

and Passwords For Example

Pivot Tables

Charts

Hyperlinks (drill-down like nVision)

Data Functions filters, sorting etc

Smart Tags and Comments

– Hyperlinks (drill-down like nVision) – Data Functions – filters, sorting etc – Smart Tags and

Components

Excel/XML

XMLDOC Object

Application

Packages

Components • Excel/XML • XMLDOC Object • Application Packages
Components • Excel/XML • XMLDOC Object • Application Packages
Components • Excel/XML • XMLDOC Object • Application Packages
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 Schema’s of some use

Cascade - Worksheet/Column/ Row/Cell • Styles used like CSS • Namespaces and Schemas • MS Schema’s

XMLDoc

PeopleSoft’s XML Parser

Provides random access

to the xml document

Like a Database

random access to the xml document – Like a Database • Based on W3C standards –

Based on W3C standards

Uses XPath

XPath is like a directory structure

Examples

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

much faster/easier to maintain. • Model your classes on the excel objects – sheets, cells etc
much faster/easier to maintain. • Model your classes on the excel objects – sheets, cells etc

Problems

Namespaces and XMLDoc

Other XMLDoc Issues

Performance

Problems • Namespaces and XMLDoc • Other XMLDoc Issues • Performance

Tips

Plan your object model first

Remove namespaces and add them in by

string manipulation after XMLDoc is finished

Consider generating large chunks of data by other methods (e.g. SQL)

Leverage PeopleSoft Metadata (e.g. Field labels, translate and prompts)

Apply a template (like the report class)

Finish

Time estimates

2 man months for the Excel generator 1 man month for the template overlay Much of this is learning curve

Time is easily recouped in developing

reports etc that use it.

Thanks for listening.

Does anyone have a

Question?

Thanks for listening. Does anyone have a Question?
Introduction Mbtechnosolutions- App Designer Fundamental - I

Introduction

Mbtechnosolutions- App Designer Fundamental - I

By. Md. Sayeed

Mbtechnosolutions- App Designer Fundamental - I By. Md. Sayeed Copyright © 2013, mbtechnosolutions. All rights reserved.

Copyright © 2013, mbtechnosolutions. All rights reserved.

Lesson Objectives

After completing this lesson, you should be able to do

the following:

List the features of Application Designer

Discuss the theoretical and physical aspects of a

relational database and App Designer Definitions

Describe the integrated Platform for various PeopleSoft tasks

Understand the goals of the course

PeopleSoft tasks • Understand the goals of the course I-2 Copyright © 2013, mbtechnosolutions. All rights

I-2

Copyright © 2013, mbtechnosolutions. All rights reserved.

Goals of the Course

After completing this course, you should be able to do

the following:

Identify the major structural components of App Designer

Understand field, Record, Page, Component and

Menu

Registration wizard and its features

Creating ‘Hello World’ Project by using 8 steps

Accessibility Pages in PIA

Project by using 8 steps • Accessibility Pages in PIA I-3 Copyright © 2013, mbtechnosolutions. All

I-3

Copyright © 2013, mbtechnosolutions. All rights reserved.

App Designer’s(Integrated Tool) Important

definitions/technologies

People code
People code
Application Package
Application
Package
definitions/technologies People code Application Package Component Component Interface App Engine File Layout I-5
Component
Component
Component Interface
Component
Interface
App Engine
App Engine
File Layout
File Layout
Component Component Interface App Engine File Layout I-5 Copyright © 2013, mbtechnosolutions. All rights

I-5

Copyright © 2013, mbtechnosolutions. All rights reserved.

App Designer Definitions (ALL)

1.

Activity

2.

Analytic Model

3.

Analytic Type

4.

App Engine Program

5.

Application Package

6.

Approval Rule Set

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

21. Record 22. SQL 23. Style sheet I-6 Copyright © 2013, mbtechnosolutions. All rights

I-6

Copyright © 2013, mbtechnosolutions. All rights reserved.

Field

Field I-7 Copyright © 2013, mbtechnosolutions. All rights reserved.
Field I-7 Copyright © 2013, mbtechnosolutions. All rights reserved.

I-7

Copyright © 2013, mbtechnosolutions. All rights reserved.

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

A field can be shared across all record definitions Types of Field Field Type Field Length

Types of Field

Field Type Field Length Field Labels Field Formats

Field Properties

General Translate values

Formats Field Properties General Translate values I-8 Copyright © 2013, mbtechnosolutions. All rights

I-8

Copyright © 2013, mbtechnosolutions. All rights reserved.

I-9 Copyright © 2013, mbtechnosolutions. All rights reserved.

I-9

Copyright © 2013, mbtechnosolutions. All rights reserved.

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

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.

numbers

type to hold the contents of a file attachment. numbers I-10 Copyright © 2013, mbtechnosolutions. All

I-10

Copyright © 2013, mbtechnosolutions. All rights reserved.

Field Properties

Field Properties I-11 Copyright © 2013, mbtechnosolutions. All rights reserved.

I-11

Copyright © 2013, mbtechnosolutions. All rights reserved.

Field Properties

General Properties

Field Definition: We can specify purpose of this field Owner ID: Application Module like HR, Base Benefit

Last Update by:

Date/Time: System takes current date and time By User: System take Logged-in username as updated by user

Auto insertion (cannot be changed)

Translate Values

The Translate Values tab is available only for character fields.

The Translate table is a prompt table, which is similar to an all-purpose data dictionary, to store values for fields that don’t need individual prompt tables of their own. A Universal table(PSXLATITEM) can be used across all PeopleSoft Environment to populate Pre-defined drop down values

Environment to populate Pre-defined drop down values I-12 Copyright © 2013, mbtechnosolutions. All rights

I-12

Copyright © 2013, mbtechnosolutions. All rights reserved.

Translate Value window

Translate Value window I-13 Copyright © 2013, mbtechnosolutions. All rights reserved.
Translate Value window I-13 Copyright © 2013, mbtechnosolutions. All rights reserved.

I-13

Copyright © 2013, mbtechnosolutions. All rights reserved.

Translate Value Fields

Field Value: Use to enter the translate value for the field. The system automatically sorts values in ascending order as you enter them.

Effective date: Enter the date on which you want this value to take effect.

The default value is today’s date.

Long Name: Enter up to 30 characters

Short Name : Enter up to 10 characters, and if this field left blank, Peoplesoft will take first 10 Character from Long Name (Automatically)

will take first 10 Character from Long Name (Automatically) I-14 Copyright © 2013, mbtechnosolutions. All rights

I-14

Copyright © 2013, mbtechnosolutions. All rights reserved.

Querying PSXLATITEM TABLE

Querying PSXLATITEM TABLE I-15 Copyright © 2013, mbtechnosolutions. All rights reserved.
Querying PSXLATITEM TABLE I-15 Copyright © 2013, mbtechnosolutions. All rights reserved.

I-15

Copyright © 2013, mbtechnosolutions. All rights reserved.

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

Record Field Properties

Use

Edit

General Use Record Field Properties Use Edit I-16 Copyright © 2013, mbtechnosolutions. All rights
General Use Record Field Properties Use Edit I-16 Copyright © 2013, mbtechnosolutions. All rights

I-16

Copyright © 2013, mbtechnosolutions. All rights reserved.

Purpose of record Type

An SQL : (Structured Query Language table) A physical SQL table in the database. An View
An

SQL:

(Structured Query Language table)

A physical SQL table in the database.

An Language table) A physical SQL table in the database. View : (Structured Query Language view) Select
An

View:

(Structured Query Language view)

Select to define a record definition that corresponds to a SQL view, which is not a physical SQL table in the database

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 recordsa record definition that corresponds to a SQL view, which is not a physical SQL table

actually stored as a SQL view. Dynamic views can provide superior performance in some situations, such
performance in some situations, such as search records I-17 Copyright © 2013, mbtechnosolutions. All rights

I-17

Copyright © 2013, mbtechnosolutions. All rights reserved.

Purpose of record Type…2

Derived/Work: :
Derived/Work :

Select to define the record definition as a temporary workspace to use during online page processing.

5
5
temporary workspace to use during online page processing. 5 Sub Record : subrecord — a group
Sub Record : subrecord — a group of fieldsthat are commonly used in multiple record

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.

6
6
PeopleSoft Query tool. Before we create the view, PeopleSoft Application Designer prompts you to save the
Designer prompts you to save the definition. 6 I-18 Copyright © 2013, mbtechnosolutions. All rights

I-18

Copyright © 2013, mbtechnosolutions. All rights reserved.

Purpose of record Type…3

7
7

Temporary Table:

To define the record definition as a temporary table. Temporary

To define the record definition as a temporary table. Temporary

tables are used for running PeopleSoft Application Engine batch

 

processes.

Non Standard SQL:

To override the standard convention of prefixing PS_ to the record name.

the standard convention of prefixing PS_ to the record name. I-19 Copyright © 2013, mbtechnosolutions. All

I-19

Copyright © 2013, mbtechnosolutions. All rights reserved.

PeopleTools table to store Record

definition Attributes

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.

the Number of PeopleCode events for the record field. I-20 Copyright © 2013, mbtechnosolutions. All rights

I-20

Copyright © 2013, mbtechnosolutions. All rights reserved.

Record…3

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

PSKEYDEFN:This table contains all record field that compose

the index are stored with key sequence

field that compose the index are stored with key sequence I-21 Copyright © 2013, mbtechnosolutions. All

I-21

Copyright © 2013, mbtechnosolutions. All rights reserved.

Naming Convention for Records

_TBL: Identifies an edit or prompt table that contains data that is used for validation,

_VW: Identifies a record definition that is physically implemented by defining a SQL view.

_DVW: Identifies a dynamic view.

_WRK: Identifies derived work records.

_SBR: Identifies subrecords.

_QVW Identifies a query view.

_SBR: Identifies subrecords. _QVW Identifies a query view. I-22 Copyright © 2013, mbtechnosolutions. All rights

I-22

Copyright © 2013, mbtechnosolutions. All rights reserved.

Naming Convention for Records

_WL: Identifies the record as a worklist record definition

_R: Identifies work record definitions for Structured Query

Report reports.

AUDIT_: Identifies record definitions that store audit information for other record definitions in the database

WEBLIB_: Identifies record definitions that store internet

scripts. Internet scripts are generally located in FieldFormula

PeopleCode events.

FUNCLIB_: Identifies record definitions that contain written PeopleCode functions, as opposed to built-in functions.

PeopleCode functions, as opposed to built-in functions. I-23 Copyright © 2013, mbtechnosolutions. All rights

I-23

Copyright © 2013, mbtechnosolutions. All rights reserved.

Naming Convention for Record

DERIVED_ Identifies shared record definitions (across an

application module or group)that have fields for PeopleCode events.

module or group)that have fields for PeopleCode events. I-24 Copyright © 2013, mbtechnosolutions. All rights

I-24

Copyright © 2013, mbtechnosolutions. All rights reserved.

Page

Page serves as user interface to the Application

Page is collection of record fields with certain purpose

Page vary from simple page, pages with scroll bar,

subpages and secondary pages

page, pages with scroll bar, subpages and secondary pages I-25 Copyright © 2013, mbtechnosolutions. All rights

I-25

Copyright © 2013, mbtechnosolutions. All rights reserved.

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

at the bottom of a page  Toolbar at the bottom of a page I-26 Copyright

I-26

Copyright © 2013, mbtechnosolutions. All rights reserved.

Search(component’s feature)

Search (component’s feature) I-27 Copyright © 2013, mbtechnosolutions. All rights reserved.
Search (component’s feature) I-27 Copyright © 2013, mbtechnosolutions. All rights reserved.

I-27

Copyright © 2013, mbtechnosolutions. All rights reserved.

Toolbar

Toolbar I-28 Copyright © 2013, mbtechnosolutions. All rights reserved.
Toolbar I-28 Copyright © 2013, mbtechnosolutions. All rights reserved.

I-28

Copyright © 2013, mbtechnosolutions. All rights reserved.

Catalog table for component

Catalog table for component I-29 Copyright © 2013, mbtechnosolutions. All rights reserved.
Catalog table for component I-29 Copyright © 2013, mbtechnosolutions. All rights reserved.

I-29

Copyright © 2013, mbtechnosolutions. All rights reserved.

PSPNLGROUP

PSPNLGROUP I-30 Copyright © 2013, mbtechnosolutions. All rights reserved.
PSPNLGROUP I-30 Copyright © 2013, mbtechnosolutions. All rights reserved.

I-30

Copyright © 2013, mbtechnosolutions. All rights reserved.

Menu

Menus work as gateway to the application. Menus store

(collection of pages)

Components

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

Used to create Application Panel

Used to create context-menu to page fields(user can access by right click)

Pre-Define Menu item File , Edit, View, Go, Language and Help

Useful to bring help when the user needs it.

We can specify menu group, sequence of that Menu

needs it. We can specify menu group, sequence of that Menu I-31 Copyright © 2013, mbtechnosolutions.

I-31

Copyright © 2013, mbtechnosolutions. All rights reserved.

PSMENUDEFN

This catelog table stores the menu attributes. It contains

This catelog table stores the menu attributes. It contains I-32 Copyright © 2013, mbtechnosolutions. All rights
This catelog table stores the menu attributes. It contains I-32 Copyright © 2013, mbtechnosolutions. All rights

I-32

Copyright © 2013, mbtechnosolutions. All rights reserved.

PSMENUITEM

This catalog table stores the individual items in standard or pop-ups menu. It contains

individual items in standard or pop-ups menu. It contains I-33 Copyright © 2013, mbtechnosolutions. All rights
individual items in standard or pop-ups menu. It contains I-33 Copyright © 2013, mbtechnosolutions. All rights

I-33

Copyright © 2013, mbtechnosolutions. All rights reserved.

Registration Process

Registration Process I-34 Copyright © 2013, mbtechnosolutions. All rights reserved.

I-34

Copyright © 2013, mbtechnosolutions. All rights reserved.

PS Security

PS Security By Deviprasad

By Deviprasad

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

• Security is the degree of protection against danger, damage, loss, and crime. • In

Security is the degree of protection

against danger, damage, loss, and crime.

In people soft we can implement security in 6 ways Sign on and Time-out ,Page and dialog ,Batch environment ,Definition,

Application data, PIA

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

Creating User Profiles:

-->Open the PS Sign On page. -->Click on People Tools. -->Click On security.

-->Click on User Profiles.

-->Click on user profiles. -->Click on Roles Tab.

-->Click On +

-->Select the Role Name and select it. -->Click on Save

Creating Roles (Role is a collection of user

profiles) -->Open the PS SignOn page.

-->Click on People Tools.

-->Click On security. -->Now Click on Roles -->Click on Add New Role. -->Select the Permission List (Ex:Devi) -->Click On save

Dynamic role rules

• The assignment of roles to User Profiles

based on your business rules

• Business rule data can reside in a number of places:

PeopleSoft data 3rd party systems

LDAP

• The dynamic role rule process removes and grants access to User Profiles

Methods - Assigning dynamic

role rules

There are three technologies you can use to execute your business rules:

PS/Query

LDAP Plug-in

PeopleCode

Static role assignments

• Roles are assigned to User Profiles

manually

• All security changes require manual

intervention

• High administration costs

• High margin for human error

Building Role Rules -

PS/Query

• PeopleSoft recommends using PS/Query

to build role rules if the membership data resides in your PeopleSoft database

• Access is removed or granted based on

the User Profile IDs retrieved by the query • Business rules can be built into the View and/or Query

Assigning Roles - LDAP

LDAP is an Internet protocol used to access

a directory listing. Organizations typically store user profiles in a central repository,

or directory server, that serves user

information for all of the programs that require it.

Userid : It is an id we enter at PS sign on

dialog box. It is stored with in an LDAP directory server

A directory server enables the maintenance of centralized user profile that can be used across all of the PeopleSoft and non-PeopleSoft applications. This approach reduces

redundant maintenance of user

information stored separately throughout the enterprise, and reduces the possibility

of user information getting out of

synchronization. Also, enabling the user profiles to be easily created and

maintained and authenticated.

Assigning Roles - PeopleCode

• Membership data not contained within the PS database

• Data might exist on other 3rd party

systems

• Extremely flexible

SQL Exec functions

Business Interlinks

Component Interfaces

IB- Integration Broker

BI- Business Interlinks (call from PS to other application). Using this technology,

we can use/call other application business

logic from PS.

CI- Component Interface (Call from other application to PS) using this technology, other application can use/call PS business

logic in the form of DLL.

IB- Integration Broker - Peoplesoft's Hub. Heart of PIA. It's a middleware which is used to establish this connection between PS applications and 3rd party trade

partners.In Architecture level,IB contains

two major parts 1. Integration Gateway(in web server)

2. Integration Engine(in App server)

View the Dynamic Members

• Dynamic members attached to the role can

be viewed when looking at the role

definition

• Navigate to PeopleTools Maintain Security

Use Roles

• Click on the Dynamic Members tab

View the user profile

View the user profile

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

Implementing security in PS

Start Here

Determine

Component

Component Processor Flow Chart

Reset State 2 Search Actions Error/ Warning: Cancel Search Key SQL SearchInit Add ? SearchSave
Reset
State
2 Search Actions
Error/ Warning:
Cancel
Search
Key
SQL
SearchInit
Add ?
SearchSave
Page
Select
Yes
Add Mode
7 component build and
page display events
Processing
No
More
Rows
PreBuild *
Yes
Record
Select
Defaults
Row
FieldDefault
FieldFormula
RowSelect
Yes
RowInit
1 st time
displayed
Add Row
Stop
Discard
?
to Buffer
Fetching
Row
No
Accept
PostBuild *
* PreBuild and
Build Execute once
during Component
Build
Add Row
to Buffer
Activate **
**Activate executes
whenever the page
is in focus
Display Page
and wait for
User action
Waiting for
User Action
Save
Cancel
Field Changed
Content
Row Insert
Row Delete
by User
reference
SaveEdit
Provisionally
Add
Row
Error
Standard
Delete Row
Accept
Warning:
?
System edits
Warning:
User selects
Cancel
OK
new Content
RowInsert
Row Delete
reference
Error
?
SavePreChange
Error
Accept
Warning:
Warning:
Workflow
FieldEdit
?
Cancel
OK
Reject
Provisionally Update
Tables (SQL Insert,
Delete,Update)
Delete
Accept
Error
Delete
?
SavePostChange
Accept
FieldChange
Display Page
and wait for
User action
4 save action events
2 field
SQL Commit
events
Display Page
and wait for
User action
Accept Field
2 row action events
Change
Adrian
Mansard

Application Engine

D. Sree lakshmi EnvyTee InfoSoutions

Application Engine D. Sree lakshmi EnvyTee InfoSoutions
• Introduction to Application Engine. • Structure & Flow of an Application Engine Program. •

Introduction to Application Engine.

Structure & Flow of an Application Engine Program.

Executing Application Engine Programs

Difference b/n AE and SQR

& Flow of an Application Engine Program. • Executing Application Engine Programs • Difference b/n AE
• Application Engine is used for BATCH or ONLINE processing where you have a large

Application Engine is used for BATCH or ONLINE processing

where you have a large (or small) amount of data that needs to be

processed without user intervention.

Technical Definition:

An AE program is a set of SQL statements, People Code, and Program Control Actions defined in Application Designer that performs a business process.

statements, People Code, and Program Control Actions defined in Application Designer that performs a business process.
• Application Engine programs reside completely within your database . • No Compilation required. •

Application Engine programs reside completely within your database.

No Compilation required.

Database Flexibility.

Does not generate SQL or PeopleCode.

Built in Re-Start Logic.

Mostly used for SET based processing.

PeopleCode can be written.

• AE program can be called from People Code.
• AE program can be called from People Code.
Mostly used for SET based processing . • PeopleCode can be written. • AE program can
• Program • Sections • Steps o Actions

Program

Sections

Steps

o Actions

• Program • Sections • Steps o Actions
• Section Name (e.g. MAIN, etc) and Description • Market • Platform • Effective Date
• Section Name (e.g. MAIN, etc) and Description • Market • Platform • Effective Date
• Section Name (e.g. MAIN, etc) and Description
Market
Platform
• Effective Date and Status
• Auto Commit and Access Type
• Section Name (e.g. MAIN, etc) and Description • Market • Platform • Effective Date

Section Name (e.g. MAIN, etc) and Description

Market

Platform

Effective Date

Effective Status : Active & Inactive

Auto Commit

Access Type

•
Market • Platform • Effective Date • Effective Status : Active & Inactive • Auto Commit
• A Step represents the smallest unit of work that can be committed in a

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.

at least one Section, all Sections should contain at least one Step, and all Steps should
Commit After • Default • Later • After Step On Error Abort Ignore Suppress Frequency

Commit After

Default

Later

After Step

On Error Abort Ignore Suppress

Frequency

Commit After • Default • Later • After Step On Error Abort Ignore Suppress Frequency
Commit After • Default • Later • After Step On Error Abort Ignore Suppress Frequency
• Contains all the code of Application Engine Program. • There are eight types of

Contains all the code of Application Engine Program.

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.

within a single Step. • The only mutually exclusive Actions within a single Step are Call
Program Flow Actions Program Flow Actions are used to control the execution of your program.

Program Flow Actions

Program Flow Actions are used to control the execution of your program. With these Action types you can control the execution of subsequent Sections, Action(s), or SQL statements depending on the results of a "Do" SQL statement in the form of a SELECT.

Below are the four types of Program Flow Actions

Do When

Do While

Do Select

Do Until

form of a SELECT. Below are the four types of Program Flow Actions • Do When
• The DO When Action is a SELECT statement that allows subsequent actions to be

The DO When Action is a SELECT statement that allows subsequent actions to be executed if any rows of data are returned.

This Action is similar to a COBOL "IF" statement.

A DO When statement runs before any other actions in the Step.

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.

not executed. • Your program executes a DO When Action only once when the owning Step
not executed. • Your program executes a DO When Action only once when the owning Step

www.itwisesolutions.com

• The DO Select Action is a SELECT statement that executes subsequent Actions once for

The DO Select Action is a SELECT statement that executes subsequent Actions once for every row of data that the Do Select returns.

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.

statement. The subsequent Actions within the Step are executed in a loop based on the results
2.Do Select Type : • Select/Fetch Performs a Fetch for each iteration of the loop

2.Do Select Type :

Select/Fetch Performs a Fetch for each iteration of the loop to get each row from the SELECT.

Re-Select It opens a cursor and fetches the first row.

Restartable It performs a Fetch on each iteration of the loop to get each row from the SELECT. It can be Restarted.

Restartable It performs a Fetch on each iteration of the loop to get each row from
Use a Do Until if you want the "processing actions" to execute at least once

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.

at least once , and to execute over and over until a certain condition is true,
PeopleCode Actions allow you to take advantage of IF-THEN logic, messaging, File Layouts, Component Interface

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

Use this Action if you want to perform the following SQL commands on multiple rows:

UPDATE

INSERT

DELETE

SELECT

Action if you want to perform the following SQL commands on multiple rows: • UPDATE •
Configurable Properties 2.No Rows In the event that the SQL (INSERT, UPDATE, and DELETE) associated

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.

Abort The program terminates.

Section Break Application Engine exits the current Section immediately, and control returns to the calling Step.

Continue The program continues processing.

• Skip Step Application Engine exits the current Step immediately and moves on to the
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

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
• Call Section is the only supported way to call Application Engine programs or
Sections from other Application Engine programs or Sections.
only supported way to call Application Engine programs or Sections from other Application Engine programs or
• Use this type of Action to write a message to the Message Log. •

Use this type of Action to write a message to the Message Log.

The Message Log refers to the PeopleTools table PS_MESSAGE_LOG where execution messages reside.

Configurable Properties

Message Set Identifies a message set within the Message Catalog.

Number Identifies a particular message within a Message Set.

Parameters A list of comma-delimited values to substitute for %1, %2, and so on markers in the message text.

Set. • Parameters A list of comma-delimited values to substitute for %1, %2, and so on
• The Application Engine State Record is the method by which you allocate variables for

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.

Only one record can be the default State Record

Record Types as SQL and Derived/Work Records

Process Instance is the only key Field and is used for maintaining session

• Notice the _AET naming convention
• Notice the _AET naming convention
• PeopleSoft batch applications employ the technique of SET processing , and set processing (in

PeopleSoft batch applications employ the technique of SET processing, and set processing (in most cases) involves extensive use of temporary tables.

Temp Tables are used to store transient or intermediate results

Improve performance

Any Program

tables. • Temp Tables are used to store transient or intermediate results • Improve performance •
• Making batch temp tables parallel processing aware o Instance count is the number of
• Making batch temp tables parallel processing aware o Instance count is the number of
• Making batch temp tables
parallel processing aware
o
Instance count is the
number of concurrent
instances
o
Batch Temp tables = Sum
of the instance count for
each program a table is
used
o
Naming convention
PS_NAME_TMPnn
• Set processing is a SQL technique used to process groups, or sets, of rows

Set processing is a SQL technique used to process groups, or sets, of rows at one time rather than processing each row individually

is a SQL technique used to process groups, or sets, of rows at one time rather
• Application Engine has the built-in ability to save a program state and restart where

Application Engine has the built-in ability to save a program state and restart where it stopped processing in the case of an abend.

Engine has the built-in ability to save a program state and restart where it stopped processing
• To invoke or run an Application Engine program: • Process Scheduler • People Code

To invoke or run an Application Engine program:

Process Scheduler

People Code

Command Line

• To invoke or run an Application Engine program: • Process Scheduler • People Code •
• CallAppEngine • To call a particular Application Engine program synchronously from a page using

CallAppEngine

To call a particular Application Engine program synchronously from a page using PeopleCode, you need to use the CallAppEngine() function in your SavePreChange or SavePostChange PeopleCode.

The basic syntax for CallAppEngine() is as follows:

CallAppEngine(applid [, statereclist ]);

PeopleCode. • The basic syntax for CallAppEngine() is as follows: CallAppEngine(applid [, statereclist ]);
Application Push Button AE Run Engine Process Process Process Scheduler Command Peoplecode Call PSAE.exe Logon
Application Push Button AE Run Engine Process Process Process Scheduler Command Peoplecode Call PSAE.exe Logon
Application
Push Button
AE Run
Engine
Process
Process
Process Scheduler
Command
Peoplecode Call
PSAE.exe
Logon
Execute
AE Constructs
Peoplecode
Program Files
Retrieve
AE Program
Definitions
PS
Database
Issue AE program
SQL
• Restart Facility • Inbuilt Tool • Graphical User Interface

• Restart Facility

• Inbuilt Tool

• Graphical User Interface

• Restart Facility • Inbuilt Tool • Graphical User Interface

COMPONENT INTERFACE

COMPONENT INTERFACE By, Mr. Srinivas.

By,

Mr. Srinivas.

COMPONENT INTERFACE By, Mr. Srinivas.

What is Component Interface?

What is Component Interface?  A means to access the PeopleSoft application without using the PeopleSoft

A means to access the PeopleSoft application without using the

PeopleSoft pages.

It exposes a PeopleSoft component for synchronous access from external application(peoplecode,c/cpp, java).

External applications need not be concerned with the details of page structures and component definitions in order to access the underlying data and business logic through component interfaces.

and component definitions in order to access the underlying data and business logic through component interfaces.
Architecture of Component Interface
Architecture of Component Interface

Architecture(Contd )

Architecture(Contd ) Fundamental elements to the component interface architecture. • Components • Component

Fundamental elements to the component interface architecture.

Components

Component Interface

Component Interface API

elements to the component interface architecture. • Components • Component Interface • Component Interface API

Elements of ComponentInterface

Elements of ComponentInterface Every component interface has the following four main attributes 1)Name 2)Keys GetKeys

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

GetKeys Findkeys CreateKeys Generated in CI when the Use tab on the Component Properties dialog allows
GetKeys Findkeys CreateKeys Generated in CI when the Use tab on the Component Properties dialog allows

Elements of ComponentInterface(contd…)

Elements of ComponentInterface(contd…) 3) Properties and collections (fields and records) Provide access to both

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.

• Standard properties can be set to true or false. Examples : InteractiveMode, GetHistoryItems, EditHistoryItems .
• Standard properties can be set to true or false. Examples : InteractiveMode, GetHistoryItems, EditHistoryItems .

Userdefined methods

Userdefined methods • User-defined properties map to record fields on the PeopleSoft component and are displayed

User-defined properties map to record fields on the PeopleSoft component and

are displayed in the PeopleSoft Application Designer.

A component interface collection is a special type of property that corresponds to a scroll.

4)Methods

A method is a function that performs a specific task on a component interface at runtime.

Two main types of methods: standard and user-defined.

a specific task on a component interface at runtime. • Two main types of methods: standard

Standard methods

Standard methods • Standard methods are those that are available for all component interfaces. 1.Cancel: Cancels

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.

:Retrieves a particular instance of CI. : Saves an instance of the CI.

4.Get

5.Save

6.GetPropertyByName:Returns the value of the property specified by name. 7.SetPropertyName: Sets the value to the property specified by name.

the value of the property specified by name. 7.SetPropertyName: Sets the value to the property specified

Userdefined Methods

Userdefined Methods • Those that you can create to meet the requirements of an individual component

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);

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

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.

Component Interface properties provide access to the data in a component buffer.

Component Interface methods are functions that can be called to perform

operations on a Component Interface.

Component Interface can map to only one component.

A component can have any number of CIs.

Component Interface . • Component Interface can map to only one component. • A component can
Component Interface Definition
Component Interface Definition

Developing & Implementing CI

Developing & Implementing CI Design Define Fields Record Definition Build Record Defines Pages Define Components

Design

Define Fields

Record Definition Build Record Defines Pages

Define Components

Define the Component Interface Link the Component to the Menu Authorize User Access (Security) Test your Component Interface

A component interface is a PeopleTools object that you create in Application Designer.

Add individual objects, or groups of objects, to the component interface by dragging objects from the component view into the component interface view.

of objects, to the component interface by dragging objects from the component view into the component

Creating & Working with a CI

Creating & Working with a CI  To create a new component interface  Select File,

To create a new component interface

Select File, New from the Application Designer menu.

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.

properties, collections, or methods to the component interface.  Set the security.  Test the component

Working with Component Interface

Working with Component Interface Declaring a Component Interface Object  Component Interfaces are declared as type

Declaring a Component Interface Object

Component Interfaces are declared as type ApiObject. For

example: Local ApiObject &TESTCI;

Scope of a Component Interface Object

A Component Interface can be instantiated from PeopleCode, from a Visual

Basic program, from COM and C/C++.

Variables defined at Component and Global are only for Component Interface

Visual Basic program, from COM and C/C++.  Variables defined at Component and Global are only

Example

Example  In this example, you are getting an existing instance of data for the EMPL_CHECK_CI

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.

Local ApiObject &TESTSESSION; Local ApiObject &TESTCI;

&TESTSESSION = GetSession();

&TESTSESSION.Connect(1, "EXISTING", "", "", 0); &TESTCI = &TESTSESSION.GetCompIntfc(COMPINTFC.EMPL_CHECK_CI); &TESTCI.EMPLID= "8001"; &TESTCI.Get();

/* Get checklist Code */

&CHECKLIST_CD = &TESTCI.CHECKLIST_CD; /* Set Effective date */ &TESTCI.EFFDT = "01-01-1990";

Code */ &CHECKLIST_CD = &TESTCI.CHECKLIST_CD; /* Set Effective date */ &TESTCI.EFFDT = "01-01-1990";
Component Interface Working with a CI – Setting Security  Two ways to Secure Component
Component Interface
Working with a CI – Setting Security
Two ways to Secure Component Interfaces
1) Can be used to restrict access to individual methods or entire Component Interface

Setting Security(contd

Setting Security(contd ) 2)Application Designer • To make individual property =Read Only‘

)

2)Application Designer

• To make individual property =Read Only‘

Setting Security(contd ) 2)Application Designer • To make individual property =Read Only‘
Setting Security(contd ) 2)Application Designer • To make individual property =Read Only‘
Using the CI Tester
Using the CI Tester

Using the CI Tester(contd

Using the CI Tester(contd ) • Specify whether to run in Interactive mode. In noninteractive mode,

)

Specify whether to run in Interactive mode.

In noninteractive mode, if you set a property, the property is not validated

until you perform the save. However, in interactive mode the property is validated immediately.

Specify whether to get or edit history items. Selecting Get History Items retrieves history data Selecting Edit History Items enables editing and saving of history data. These options apply to effective-dated fields only

Edit History Items enables editing and saving of history data. These options apply to effective-dated fields

Runtime considerations

Runtime considerations  WinMessage Unavailable You cannot use WinMessage in a component that will be used

WinMessage Unavailable You cannot use WinMessage in a component that will be used to

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

build a

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.

with push buttons used on the page to add rows will not be invoked by the

Benefits of CI

Benefits of CI  Access to all business logic  Delivered PeopleSoft logic  Your customizations

Access to all business logic

Delivered PeopleSoft logic

Your customizations Insulated from complexities of application

Data relationships

Data Integrity

Upgradeable PeopleTools object

Result: Saves Time & Money

 Data relationships  Data Integrity  Upgradeable PeopleTools object  Result: Saves Time & Money

Thank you

Thank you
PRESENTED BY, P.S.S.SWAMY .

PRESENTED BY, P.S.S.SWAMY.

PRESENTED BY, P.S.S.SWAMY .
PRESENTED BY, P.S.S.SWAMY .
PRESENTED BY, P.S.S.SWAMY .
PRESENTED BY, P.S.S.SWAMY .
PRESENTED BY, P.S.S.SWAMY .
 What is an application package.  What is an application class.  Object oriented

What is an application package.

What is an application class.

Object oriented concepts.

Understanding application packages &classes.

Process for creating packages and classes in Application designer.

Application class structure.

How to use this packages and classes in people code.(import declaration).

Access controls.

Definition of methods.

Abstract methods and properties.

Interfaces.

Constructors.

Get/set methods &read only read write.

Exception Handling.

properties.  Interfaces.  Constructors.  Get/set methods &read only read write.  Exception Handling.
properties.  Interfaces.  Constructors.  Get/set methods &read only read write.  Exception Handling.
properties.  Interfaces.  Constructors.  Get/set methods &read only read write.  Exception Handling.
properties.  Interfaces.  Constructors.  Get/set methods &read only read write.  Exception Handling.
 Application package is a container for application subpackages and application classes, which will provide

Application package is a container for application subpackages and application classes, which will provide a hierarchical structure to your People Code programs and help you extend the common functionality of existing People Code classes (Rowset, Array, and so on) from one application to another.

the common functionality of existing People Code classes (Rowset, Array, and so on ) from one
the common functionality of existing People Code classes (Rowset, Array, and so on ) from one
the common functionality of existing People Code classes (Rowset, Array, and so on ) from one
the common functionality of existing People Code classes (Rowset, Array, and so on ) from one
 App Class is a People Code Program at base level  Application classes are

App Class is a People Code Program at base level

Application classes are mainly used for reusability.

Application classes people code supports object oriented programming. i .e it supports:

Classes and Objects. Encapsulation. Abstraction. Polymorphism.

Inheritance.

i .e it supports:  Classes and Objects.  Encapsulation.  Abstraction.  Polymorphism.  Inheritance.
i .e it supports:  Classes and Objects.  Encapsulation.  Abstraction.  Polymorphism.  Inheritance.
i .e it supports:  Classes and Objects.  Encapsulation.  Abstraction.  Polymorphism.  Inheritance.
i .e it supports:  Classes and Objects.  Encapsulation.  Abstraction.  Polymorphism.  Inheritance.
Class : Class is a blueprint of the object .It consists of variable and methods.

Class :

Class is a blueprint of the object .It consists of variable and methods. class doesn’t 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 :

It’s 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 doesn’t know what is the functionality when gear is changed one level to another level . But he change the gear against to the speed.

what is the functionality when gear is changed one level to another level . But he
what is the functionality when gear is changed one level to another level . But he
what is the functionality when gear is changed one level to another level . But he
what is the functionality when gear is changed one level to another level . But he
Abstraction : Abstraction is process it allows to show the essential object information to the

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.

perform different tasks by using this polymorphism. We have to concepts here 1 . method overloading.
perform different tasks by using this polymorphism. We have to concepts here 1 . method overloading.
perform different tasks by using this polymorphism. We have to concepts here 1 . method overloading.
perform different tasks by using this polymorphism. We have to concepts here 1 . method overloading.
Application classes have a fully qualified name that is formed hierarchically by the name of

Application classes have a fully qualified name that is formed

hierarchically by the name of the top-level package. It means we can give

the same name of different classes but the fully qualified name of the class

must be unique.

ex :1.pack1A.class

2.pack1pack2A.class

Here ex1 fully qualified name A. class’ is different from ex2

:1.pack1  A.class 2.pack1  pack2  A.class Here ex1 fully qualified name ‘ A. class’
:1.pack1  A.class 2.pack1  pack2  A.class Here ex1 fully qualified name ‘ A. class’
:1.pack1  A.class 2.pack1  pack2  A.class Here ex1 fully qualified name ‘ A. class’
:1.pack1  A.class 2.pack1  pack2  A.class Here ex1 fully qualified name ‘ A. class’
Import MY_TEST : MyFormulaCruncher; Local MY_TEST : MyFormulaCruncher & My_Nbr = create MY_TEST : MyFormulaCruncher();

Import MY_TEST : MyFormulaCruncher;

Local MY_TEST : MyFormulaCruncher & My_Nbr = create MY_TEST :

MyFormulaCruncher(); Local number &Result;

&Result = &My _ Nbr.AddNumbers(2, 1);

Before calling any method in a class you must import the package.

&Result = &My _ Nbr.AddNumbers(2, 1);  Before calling any method in a class you must
&Result = &My _ Nbr.AddNumbers(2, 1);  Before calling any method in a class you must
&Result = &My _ Nbr.AddNumbers(2, 1);  Before calling any method in a class you must
&Result = &My _ Nbr.AddNumbers(2, 1);  Before calling any method in a class you must
 You can create Application Packages in Application Designer. These packages contain application classes (and

You can create Application Packages in Application Designer.

These packages contain application classes (and may contain other

packages also). An application class, at its base level, is just a People Code

program. However, using the Application Packages, you can create your own classes, and extend the functionality of the existing People Code classes.

Easier to debug because all the pieces are separate

Easier to maintain because functionality is gathered into a single place

Extensible by subclass.

are separate  Easier to maintain because functionality is gathered into a single place  Extensible
are separate  Easier to maintain because functionality is gathered into a single place  Extensible
are separate  Easier to maintain because functionality is gathered into a single place  Extensible
are separate  Easier to maintain because functionality is gathered into a single place  Extensible

Import class

Class name

Class extensions

Declaration of public external interface

Declaration variables and methods

Definition of methods

extensions  Declaration of public external interface  Declaration variables and methods  Definition of methods
extensions  Declaration of public external interface  Declaration variables and methods  Definition of methods
extensions  Declaration of public external interface  Declaration variables and methods  Definition of methods
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;

class MyFormulaCruncher method MyFormulaCruncher(); method AddNumbers(&a As number, &b As number) Returns number; method AddNumbers2(); property number FirstNumber;