You are on page 1of 122

Contents

Contents...........................................................................................................................................1 PeopleSoft Training Understanding ..............................................................................................3 ARCHITECTURE OF PEOPLESOFT AND ERP:........................................................................3 PeopleSoft Internet Architecture..................................................................................................3 PeopleSoft Database Architecture...............................................................................................3 Questions:........................................................................................................................7 PEOPLE CODE: .............................................................................................................................7 Events Types, Built in Functions.................................................................................................7 People Code Language................................................................................................................7 People Code, Application Process,..............................................................................................7 Debugging & Performance Tuning..............................................................................................7 People Code Classes....................................................................................................................7 Questions:........................................................................................................................7 PEOPLE TOOLS & DEVELOPMENT TOOLS :..........................................................................8 Application Designer...................................................................................................................8 Application Engine......................................................................................................................8 Work Flow...................................................................................................................................8 File Layout...................................................................................................................................8 Logical controls 27-5-2011.........................................................................................................20 Questions:......................................................................................................................52 SQR:...............................................................................................................................................53 SQR Reports, SQR process........................................................................................................53 Interfaces, SQCS.....................................................................................................................53 Error Handling, Testing & Debugging......................................................................................53 Performance Tuning...................................................................................................................53 Questions:......................................................................................................................93 ADMINISTRATION TOOLS: .....................................................................................................94 Security, Definition Security.....................................................................................................94 Portal Security............................................................................................................................94 Data Mover................................................................................................................................94 Questions:......................................................................................................................94 REPORTING & ANALYSIS TOOLS:.........................................................................................94 People Soft Query, N Vision.....................................................................................................94 Crystal Reports, SQR.................................................................................................................94 Tree Manager.............................................................................................................................94 Process Scheduler Manager.......................................................................................................94 Report Manager ........................................................................................................................94 Questions:......................................................................................................................94 INTEGRATION TOOLS...............................................................................................................94 Integration Broker......................................................................................................................94 Questions:......................................................................................................................94 FUNCTIONAL FINANCIAL MODULES:..................................................................................95 General Ledger...........................................................................................................................95

Account Receivables .................................................................................................................95 Account Payable........................................................................................................................95 Questions:....................................................................................................................122 SUPPLY CHAIN MANAGEMENT (SCM)...............................................................................122 Purchasing or Billing ..............................................................................................................122 Questions:....................................................................................................................122 FUNCTIONAL HRMS MODULES:..........................................................................................122 Administrator Workforce.........................................................................................................122 Base Benefits, Global pay Roll................................................................................................122 Questions:....................................................................................................................122

PeopleSoft Training Understanding ARCHITECTURE OF PEOPLESOFT AND ERP: PeopleSoft Internet Architecture PeopleSoft Database Architecture

PeopleSoft architecture
PeopleSoft architecture mainly consists of 4 components 1. Web browser 2. Web server 3. Application Server 4. Web Server

2-5-2011

The client can log into the PeopleSoft system using the web browser. This contains the interfac3e through which a user interacts with the application. The details and content of the html page are stored in the web server. Whenever the user connects with the server, web server sends the sign in window to the browser. The main work of web server is to manage the connections. The application server is the core of PeopleSoft architecture. Whenever a user sends a request to the web server, web server forwards the request to the application server. It executes PeopleSoft logic. The database is collection of tables. All the tables in PeopleSoft database are classified into 3 types. They are i. System catalogue tables ii. People tools iii. Application tables These tables are classified depending on the kind of tables they store i. System catalogue tables These system catalogue tables are created during the installation of ps. It contains information regarding the characteristics of tables, indexes, etc. These store database specific information.

The tables names in this database are prefixed sys. These are generally used by DBA. A developer cannot modify these tables.

ii. People Tool tables These tables store information regarding PeopleSoft definition and PeopleSoft objects. These store the Meta data regarding the tables. Using Meta data the tables can be accessed efficiently and faster. Any changes or updates made to the system are stored here. The data in the table cannot modified or created. Structure of existing people tools cannot be modified. These are used by technical people and system administrator.

iii. Application tables These tables get created during application installation. E.g. HRMS, FINANCE, CRM These tables store application data. The data in these tables can be created and modified. Structure of existing definitions can also be modified. The names of these tables are prefixed PS. These are generally used by functional and technical people. These tables are classified into 3 types. They are a) Control table b) Transaction tables c) Run control table a) Control tables : These are used to store control data. Control tables store information that defines the accounting structure and processing rules that are used when transactions are entered into PeopleSoft applications. SETID is high level key field in most of control tables. The data in these tables are modified rarely. b) Transaction tables : These tables store transaction data or day to day data. The data in these tables are frequently modified. BUSINESS_UNIT is a high level key field in most of transaction tables.

c) Run Control Tables: They are used to run any report or process in PeopleSoft. These are used to provide input parameter to report or process. The data in these tables are modified when required. OPRID & RUN_CNTL_ID are high level key fields in all run control tables. These are used in creation on automated tables.

People Tools

3-5-2011

These are used to create new PeopleSoft definitions or modify existing definitions. These are classified into three types. They are 1. Development tools 2. Administration tools 3. Reporting tools 1. Development tools

These are used to create new PeopleSoft definitions or modify existing PeopleSoft definitions. These consist of a) Application Designer: Used to create or modify most of PeopleSoft definitions. b) Application Engine: Used to perform background SQL processing. c) People Code: This is programming language used in PeopleSoft, used to implement business logic. d) Globalization: T The process of supporting multi languages or multi currencies. e) Workflow: This is used to automate time consuming business process. f) File layout: This is used to perform inbound as well as outbound integration to file system.

g) Component Interface: This is used to perform only inbound integration with external systems. h) Integration Broker: This is used to perform inbound as well as outbound integration to file system. 2. Administration tools:

These are used to manage data servers & security. These are of 3 types. a. Data Administration Tools i) Data mover: This is used to move data from one database to another. ii) Tree management: This is used to display data in hierarchy. iii) Cube manager: This is used to provide restricted access from external system. b. Server Administration Tools i) PeopleSoft Internet Architecture (PIA) ii) PeopleSoft administrator: Maintains Application Server & Backup Server. iii ) Configuration manager: This is used to setup required configuration to access People Tools. c. Security Administration Tools i) Maintain Security: This is used to maintain security to page or components in PeopleSoft. ii) Definition Security: This is used to provide security to PeopleSoft definitions in People tools. 3. Reporting tools:

These tools are used to generate reports. Reports are used to fetch data from database & display output. There are two types of reporting tools. a. PeopleSoft Query Manager This is a GUI tool which is used to generate select statement. b. PeopleSoft Nvision This is used to generate output on an excel sheet.

There are some third party tools which are used in PeopleSoft systems. Third party tools are not a proprietary of PeopleSoft. a. Structured Query Reporting b. Crystal Reports.

Questions:

PEOPLE CODE: Events Types, Built in Functions. People Code Language People Code, Application Process, Debugging & Performance Tuning People Code Classes Questions:

PEOPLE TOOLS & DEVELOPMENT TOOLS : Application Designer Application Engine Work Flow File Layout

Application Designer

4-5-2011

This is a development tool. It is a proprietary tool of PeopleSoft. This is used to create new PeopleSoft definitions.

Definitions List
1. Field: This is a column in a table. 2. Record: This is collection of fields. 3. Page/Panel: This is collection of records. This is used as user interface with which we can interact with database. 4. Component/Panel group: This is collection of pages. This is used to move pages application designer to front end. 5. Menu: This is collection of components. This is used to maintain security 6. SQL: This is used to store sql statements. 7. Style Sheet: This is used to change appearance of pages in front end. 8. Image: This is used to store pictures. 9. HTML: This is used to store HTML coding 10. Administration tools Project: This is collection of PeopleSoft definitions.

11. Activity: 12. Business Process: 13. Approval Rule set

Used to develop automated workflow

14. Workflow: Used to perform Inbound/outbound integration with internal systems. 15. Application Engine: This is used to perform back ground Sql Processing. 16. Component Interface: used to perform inbound integration with internal systems. 17. Application Package: this is used to store huge amount of people coding. 18. Analytic type Used to develop Integration Broker 19. Analytic model 20. Business Interlinks 21. Optimization Model 22. Message 23. Mobile Channel 24. Message Channel 25. File Reference: This is used to store file path Used to develop Integration Broker

FIELD
This is a column in a table. Field alone cannot store data, we must place it fields in table & create table. Then we can store data in that field. There are 10 types of fields. They are I. Character II. III. Long character Number

IV. V. VI. VII. VIII. IX. X.

Signed number Date Date time Time Image Image reference Attachment

Steps to create new field


1. Goto file-> new or ctrl+n. 2. Select field from list of definitions. 3. Select field type. 4. Specify length, label, field format. 5. Save field by specifying field name. File -> save or ctrl+ s

5-5-2011

Translate field
This field consists of acceptable values a field can hold (for example an employee can select present or absent or not available status in status field. He cannot specify any other status. In such situations we can use translate field.) This restricts the user to enter only the acceptable values while inserting data into PeopleSoft tables.

Conditions for creating translate fields


Field type must be character. The length of Field must be only 4 characters. PeopleSoft has suggested to use maximum of 40 translate values for better performance.

If no. of translate values> 40, then we use prompt table.

In order to create translate values, Goto field properties, We can see a text area called field definition. This is used to store comments and long description of field. Owner ID: To restrict field definition to specific module.

Customization means modifying existing people tool tables.

People tool tables for fields:


In order to view the fields in background, using Sql ,they are stored in following tables. PSDBFIELD -> FIELD DEFINITION TABLE PSDBFLDLABL-> FIELD LABEL VALUE TABLE PSXLATITEM -> TRANSLATE VALUE TABLE. In order to view field label along with its properties we created Using PeopleSoft, we have to run following query in Sql Select * from PSDBFLDLABL where fieldlabel=fieldname Similarly we can access other tables also. Note: We have to select HR database in order for that query to work.

Records
Records are collection of fields. There are 7 types of records. i. Sql Table

6-5-2011

ii. iii. iv. v. vi. vii. Sql Table

Sql view Dynamic view Query view Derived view Sub record Temporary table

This is the default record type. This is collection of fields, key fields, Index. This is to maintain default data. This is a database object (Build process required)

Sql View This is used to retrieve data from multiple tables. This is collection of fields, select statement. This is used to retrieve subset of data from tables. The select statement is manually written. This is a database object and build process is required.

Query View This is used to retrieve data from multiple tables. This is collection of fields, select statement. This is used to retrieve subset of data from tables. The select statement using PeopleSoft query manager( a GUI tool). This is a database object and build process is required.

Dynamic View

This is used to retrieve data from multiple tables. This is collection of fields, select statement. This is used to retrieve subset of data from tables. Select statement is manually written. This is a not a database object and build process is not required.

Derived /work record: This is a collection of fields. This is used for online page calculation *This is used as function library. This is a database object.

(This is used while dealing with people code. When we create some tables, certain set of code is used repeatedly. Rather than writing the code for each table, we store that repeated code in function library and call it when required. Function library stores such function codes.) Sub Record: This is collection of fields Reusability and easy maintenance. Sub record alone cannot store data; this is placed in other record types to store data. This is a database object.

(When we create multiple table containing addresses of customer, vendor, supplier, we specify some common fields and some different fields. After we create table we realize that particular field, which is common in all the fields is missing, rather than opening all the tables and editing them, we select the subset of fields which are common fields and add the missing fields to the Sub record. The database will reference sub record while accessing the table.) Temporary table This is collection of fields and key fields. This used only in application engine. Programs to increase performance. This is a database object

Conditions to create a) process_instance must be high level key field. b) The name of table must be prefixed _TAO/_TMP

Steps to create record


a) File -> or ctrl + n. b) Select record from list of definitions. c) Insert required list of fields into record i. ii. Insert fields Drag and drop from project space

d) Select key fields in record if required. e) Select record type from record table. f) Save the record by specifying its name. g) Design the required select statement and save. This is required for sql view/query view/dynamic view. h) Build the record. This is required for sql table, sql view, query view & temporary view.

STEPS TO PERFORM RECORD LEVEL AUDITING 1. Create a Audit record Conditions:

12-5-2011

a. The audit record must have the following fields as high level and key fields. i. AUDIT_OPRID :- this is used to capture the operator ID who has performed the data operation. ii. AUDIT_STAMP:- This is used to capture the date and time at which the data operation is being performed. iii.AUDIT_ACTN:- This is used to capture what data operation is being performed.

b. The name of the Audit record is post fixed by _ADT or _AUDIT 2. Place the rest of the other fields from actual table into audit record. 3. Select system maintained and auto update record field properties for AUDIT_SAMP field in audit record. 4. Specify the audit record name in the actual table record properties and select data operations that need to be monitored.

Record field properties USE

13-5- 2011

1. Search Key: this appears on search page to search for data from components. 2. Search edit: this restricts user to search only by exact values. 3. Alternate search key: this appears on advanced search page to make the search process easy. 4. List box item: this is used to make the search process easy. 5. List box item: this is used to view multiple values from single record field. 6. From/ Through search field: this is used to search for a range of data. 7. Default search field: this is used to specify defaultly which field should appear on search page. 8. Disable advance search option: this is used to restrict user to only begins with in advanced search. 9. Record field label id: this is used to select label for the record field on page. 10. Default value: this is used to default the record field values on page.

11. Default page controls: this is used to select the control for field eg: check box, drop down list etc.

Page controls
PeopleSoft supports different page controls, they are classified into: 1. Static controls 2. Data controls 3. Logical or processing controls 1. Static controls i. ii. Static text :

17-5-2011

This is used to place page headings or instruction messages on page Static image : This is used to place bitmap or jpeg file on page. e.g. used to display company logos.

iii.

Horizontal rule: This is used to place horizontal line on page. This is used to separate one set of fields from other.

iv.

Tab separator : This is used to design a good user interface when fields are placed horizontally on page. Group box : This is special page control, which acts both as static or logical control. This is used to place similar type of fields at one place on page to design an effective user interface. This is used to place radio buttons on pages.

v.

2. Data controls : i. ii. iii. iv. v. Edit box/ text box : This is used for most of field types. Long edit box : This is used for long character field type. Check box : This is used in yes/no table edit field. Image : This is used for image field type. Radio button : This is used in translate table with less no.of fields. vi. vii. Drop down list : This is used for translate tables as well as prompt tables. Html area : This is used to write html coding on pages, as well as used for long character field types. Push button/ hyperlink : This is used to perform an operation when push button is accessed. ix. Tree :

viii.

This is used to represent data in hierarchy. 3. Logical or processing control i. Grid/scroll area : These are used to maintain parent-child relationship between tables on pages. Sub-page : This is used to place sub page on other page types. Secondary pages : This is used to place secondary page on other page types. iv. Chart : This is used to represent data in graphical format. Scroll-bar Analytical grid Not used Active X control

ii. iii.

PAGE PROPERTIES
Adjust layout for hidden fields :

18-5-2011

This is used to remove the empty spaces where the fields are made as invisible on the page in front end, as well as adjust the borders on the page.

Deferred processing :
The process of by-passing system edits as well as people code written under field edits and people code written under field edits and field page till the user clicks on save button (or) makes a database transfer is called as deferred process. This is used to reduce the network traffic between the servers as well as networks to avoid frequent network breakages.

Interactive process:
The opposite of deferred processing is interactive processing.

System edits:
Key fields, field formats, required fields, reasonable date, table edit, data type, length etc.

Default mode is deferred mode.

STATIC TEXT:
Message catalogue:
This is a repository where all PeopleSoft messages are stored. All the PeopleSoft messages in the message catalogue are divided into message sets. Message set is a collection of messages. Every message set can have n number of messages. Each and every message set consists of unique message set numbers. Message set numbers from 1 to 20,000 are PeopleSoft delivered message sets. Each and every message in a message set consists of unique message number. Using the combination of message set number and message number; we can uniquely identify a message from message catalogue.

Navigation: People tool :-> utilities-> administration -> message catalog.

PROMPT TABLE WITH EDIT AND NO EDIT 1. Create a record (B55_DCF_RCF_TBL) EMPLID NAME COUNTRY BUSINESS_UNIT HIRE_DT B55_TRANS_FIELD 2. Create a page for the above record (B55_DCF_RCF_PG) 3. Create a component ( B55_DCF_RCF_CMPT) Page Search record 4. Register the component. B55_DCF_RCF_PG B55_DCF_RCF_TBL Key, search key alternate search key

24-5-11

DCF and RCF functionality This is used to design more descriptive and effective user interface. Steps: 1. Insert an edit box 2. Specify the record name and field name for the edit box from which the descriptions are retrieved. 3. Select label as none for the edit box. 4. Select DCF field. 5. Select related field. 6. Save the page.

Logical controls Scroll area Grid area

27-5-2011

1. Used to maintain parent-child relationship between tables 2. This is used to place fields from records where level not equal to zero and not equal to four 3. We can design our own page layout.

1. Used to maintain parent-child relationship between tables 2. This is used to place fields from records where level not equal to zero and equal to four. 3. We cannot design our own page layout. Fields are placed as columns 4. We can export data to excel files 5. We can sort data based on field values 6. We cannot place sub-pages

4. We cannot export data to excel file 5. We cannot sort data based on field values 6. We can place sub-pages 7. If the last level record consists of sub-record, then instead of grid area we can use scroll area.

SCROLL AREA PROPERTIES:

29,30,31 may 2011

Occurs level: This is used to specify level of record fields that are being placed in scroll area or grid area. Occurs count: Used to specify, by default how many rows to be viewed from scroll area or grid area. Unlimited occurs count: This ignores occurs count property and displays all the rows from scroll area or grid area.

Components / panel groups:


i. This is a collection of pages. ii. This is used to move the pages from application designer to front end. Component properties: Description used for short description. Comments- used for long description and companys commenting standards. Use tab: Search record: iii. This is a mandatory property for a component. The search keys and alternate search keys that appear on the search page of a component are called search records. These are used to search for data from the component. iv. This is used to obtain row level safety. Add search record: v. In the add keys that appear from the search page are from add search record. vi. This is used to add new set of data to the component. If add search record is not specified, then the system defaults search record as add search record. Force search processing: This avoids the user to ship the search page.

Component build: This is used to specify where the component buffer must be created. Components save: This is used to specify from which component buffer data need to be updated in the database when the component is saved. Effective dates: This is used to maintain data as current, history and future using an effective dated table. Effective dated table: A table which consists of EFFDT as one of the high level key fields is called as effective dated value. Current effective dated value: A row of data which is effective as of todays date is known as current effective dated table. History row: A row of data which was effective in the past Future row: A row of data where effective date value is greater than effective date value of current effective dated row is called as future row.

Effective dated query:

The SQL statement which is used to identify current effective dated row from an effective dated table is called as effective dated query. SELECT * FROM PS_EMPL_TBL A WHERE A.EMPLID= (SELECT MAX (B.EFFDT) FROM PS_EMPL_TBL B WHERE B.EMPLID = A.EMPLID AND B.EFFDT < = CURRENT DATE) Effective sequence: This is used to capture multiple transactions that are happening on the same effective data. SELECT * FROM PS_EMPL_TBL A WHERE A.EFFDT= (SELECT MAX (B.EFFDT) FROM PS_EMPL_TBL B WHERE B.EMPLID = A.EMPLID AND B.EFFDT < = CURRENT DATE) AND A.EFFSEQ= (SELECT MAX (C.EFFSEQ) FROM PS_EMPL_TBL C WHERE C.EMPLID = A.EMPLID AND C.EFFDT = A.EFFDT)

Action

history

current

future

ADD

Cannot add Cannot view Cannot update

Can add Cannot view Cannot update Can add Can view Can update Can add Can view Can update Can add Can view Can update

Cannot add Cannot view Cannot update Can add Can view Can update Can add Can view Can update Can add Can view Can update

UPDATE DISPLAY UPDATE DISPLAY ALL CORRECTION

Cannot add Cannot view Cannot update Cannot add Can view Cannot update Can add Can view Can update

Menu: i. ii. iii. This is a collection of components. This is used to register a component, as well as maintain security. Used to move from one component to the other.

2-6-2011

Menu types: There are two types of menus i. ii. Standard menu ( default type) Pop-up menu

Standard menu: This is a default menu type. This is used to register a component. This is used to maintain security. This appears in horizontal fashion. This cannot be used to register a component.

Pop-up menu:

We cannot maintain security. This is used to traverse from one component to the other. This appears in vertical fashion.

Overwrite: This is used to overwrite or change the search record provided in the component properties. Project File Backup: Steps to take project file Backup: i. Open the project in application designer which requires backup. ii. Go to tools, copy project, to tools. iii. Specify the project export directory. iv. Select the definition type from the project which requires backup. v. Click on copy. Note: Project file backup creates a folder with the project name at the specified export directory. The project file backup directory consists of two files as stated below .xml file . cfg file

Project recovery from the file is done using .cfg file STEPS TO RECOVER A PROJECT FROM THE BACKUP: i. ii. iii. iv. v. Open application designer. Tools copy to from file. Specify the file path of the project file backup location. Select the definition types by clicking the recovery. Click on copy. PROJECT MIGRATION: 3-6-2011

This is used to migrate the development work in a project from source database to target database.

Steps: i. ii. iii. iv. v. vi. Open the project in source database that need to be migrated. Run compare and report process between source and target database. Analyse the output of compare and report process. Select and deselect the objects that need to be migrated as well as not to be migrated respectively from the project upgrade tab. Migrate the project from source to target database. a. Path: tools copy project to database. Verify the project migration states. a. Option 1: verify the done flag in project upgrade tab. b. Run compare and report process.

SECURITY There are different levels of security as provided below I. Network security

6-6-2011

II. III. IV.

Operating system security Data base security Application security

Network security This is used to restrict company network to be accessed from external networks. This is maintained using routers and switches. This is maintained by network or technology department people. Operating system security This is used to restrict access to workstations in a company. This is obtained by network id / LAN id. This is maintained by technology or network department. Database security This is used to restrict the user to access the database. This is obtained using system administrator and read only user ID and password. This is maintained by DBA

Application security This is to maintain security to application data. This is maintained using application security tools.

7-6- 2011

This is maintained by security administrator. PEOPLESOFT APPLICATION SECURITY We have different types of application security in PeopleSoft, as stated below Row level security This is used to maintain security to few rows of data from a table. This is maintained using security views. Field level security This is used to restrict data in fields. This is maintained using People Code Menu level security This is used to maintain security to PeopleSoft component and pages in front end. This is maintained using definition security. Definition security This is used to maintain security to PeopleSoft definitions in people tools. This is maintained using definition security. Portal security This is used to maintain security to portal objects like folders and content referrals. This is maintained using security objects.

PERMISSION LIST Navigation:

People tools security permission lists and roles permissions. Advantages: Access to start application server. This is used to allow the password to be emailed. This is used to specify the time out time period. This is used to maintain security to pages and components and also provide display only access to the pages. This is used to maintain security to access people tools. This is used to maintain security to PeopleSoft reports or process. PEOPLESOFT QUERY MANAGER This is a reporting tool. This is a proprietary tool. This is a GUI tool This is used to generate select statements by performing GUI operations. The output is generated in the form of rows and columns, as well we can expect the output to an excel sheet. This is used for general reporting. This is used to create query view. This is used in crystal and nvision reporting. This is used in work flow tool to identify the approval. This is used in two tier and n tier. 14-6- 2011

SELECT TYPES

SIMPLE SELECT: This is used to select data from a single table. SELECT WITH DISTINTCT: This is used to remove duplicate rows from the output, i.e. retrieve unique data output set. SELECT WITH ORDER BY: This is used to align the output data in ascending or descending order with respect to field values. SELECT WITH WHERE: This is used to retrieve the output data based on the conditions. SELECT WITH JOINS: This is used to retrieve the data from multiple tables. This is of different types: Cartesian join / cross product: In this join each and every row from the Inner join / standard join: This is used to get the common data between Outer join: Left outer join: This retrieves the common data between the two tables as Right outer join: This retrieves the common data between the two tables Self join: This is used to retrieve the data by joining the same table. table A will be mapped with all the rows from table B two tables.

well as additional rows of data from the left hand side table. as well as additional rows of data from the right hand side table.

SELECT WITH SUB QUERY: This is used when the output of one select statement will act as the input to the other select statement. SELECT WITH PROMPTS: This is used to provide input parameters to the select statement. SELECT WITH UNIONS: This is used to combine the outputs of multiple select statements. SELECT WITH EXPRESSIONS: This is used to perform arithmetic or string operations in the Select statements SELECT WITH AGGREGATE FUNCTIONS: This is used to select functions with aggregate functions like MAX, MIN, SUM, AVERAGE etc.

SELECT BY GROUP BY AND HAVING: This is used to group the data and generate a output. SELECT AN EFFECTIVE DATE: This is used to generate select statement on an effective dated table.

Query manager
TABS IN QUERY MANAGER

15-6-2011

DATABASE: This is a place where we can see list of all tables available in PSDB. Here we can select the records which are required to design the select statement. QUERY: This is used to see the list of pages and fields that are selected to design select statement. CRITERIA: This is used to design required where conditions in the select statement. SQL: This is used to view system generated SQL statements. RESULTS: This is used to view the output of select statement. SAVING A QUERY OWNER i. Private : The query can be accessed and modified only by the user who created it. ii. Public : the query can be accessed and modified by all the user who have access to it. QUERY TYPE Query: This is also called auto query. This is the default query type. Role Query: This is used in workflow tool to identify approver. Process Query: this is used for reporting (Crystal reporting and nvision reporting) Archive: this is used to archive data from table. COMPONENT INTERFACE 23-6-2011

Keys: Get key: These are search keys of component, used to search for data (Base Search) Find keys: These are search keys and alternate search keys of component which are used to search for data (advanced search) Create view: These are the add keys of component which are used to add new set of data to the component (add a new value) Methods: These are used to perform operation on the component using component interface. i. ii. iii. iv. Get (): This uses get keys to perform basic search on component using component interface. Find (): This uses find keys to perform advance search on component using component interface. Create (): This uses create keys and add new set of data to the component using component interface. Cancel (): This is used to save the data changes on the component using component interface. Properties Each and every field on a component is a property. 1. Create a SQL table. ( B55_CI_DEST_TBL ) EMPLID NAME HIRE_DT AGE B55_TOTAL EMPL_STATUS COUNTRY 2. prompt table: COUNTRY_TBL key, search key Alternate Search key Reasonable date Required Not less than 5000

Create a page for the above table.

3. 4.

Create a component. Page: B55_CI_DEST_PG Register the record. Steps to create component interface 1. Go to file new 2. Select component interface from the list of definitions. 3. Specify the component which is used to create CI 4. Save the CI by providing a CI Name. 5. Add the CI to the permission list and provide access to the methods Navigation: People tools Security Permission rules permission lists component component interface. 6. Enter the CI name and click on Edit button. 7. Test CI. 8. In order to test, right click on CI and go to the test component. EXCEL TO CI i. ii. iii. This is used for data upload This is used to perform inbound integration from an excel sheet into the component. This integration requires the following two files ExceltoCI.xls : This is used to provide data that need to be uploaded to PSDB. ExceltoCI.vbs, this consists of required VB coding to connect the ExceltoCI.xls to PeopleSoft servers. Macro Settings Home Excel options Trust center Trust center Settings macro settings Enable all Macros Then save it and Reopen the excel file we find add-ins option. 24-6-2011 Search record: B55_CI_DEST_TBL

COVER SHEET

This is used to provide information about rest of the other sheets. CONNECT INFORMATION SHEET This is used to provide the required connection information which is used to connect this excel file to the PeopleSoft server. PeopleSoft URL <Protocol> : // <web server machine name> : <http port> / psp / <PeopleSoft site name> / <portal name> / <database name> ? Cmd= logout http: //hrms:8010 /psp/ps/EMPLOYEE/HRMS/?cmd=logout CHUNKING FACTOR This is used to specify after how many rows system must issue commit to the database. For better performance, PeopleSoft suggests 40 as chunking factor. ERROR THRESHOLD This specifies the number of acceptable errors for a given chunking factor. If the errors are greater than 5, it will stop processing. TEMPLATE SHEET This is a place where we create a template by selecting the list of fields that need to be inserted into the component using this ExceltoCI Steps: - Goto add-ins New Template PS/PS - Provide the component interface name and then click in OK. - Select the required list of fields into which the data need to be inserted using this excel to CI - Selecting and deselecting the fields - Adding new data input. APPLICATION ENGINE JUNE 25, 2011

vii. This is used in most of the integrated tools like file layout, integration broker, component interface etc. viii. We can write SQL and People code statements. ix. This consists of re-start facility. Restart facility means starting the program from the same point where it gets aborted. x. This is used to perform bulk processing. Bulk processing means operating on huge amount of data in a single database. xi. This is used to perform check processing. Check processing means executing the AE program directly on the database. xii. This consists of SQL and People code editor. IMPORTANT ELEMENTS Name Section Setup Action State record NAME xiii. xiv. SECTION xv. This is collection of steps. xvi. xvii. xviii. xix. One AE program can have n number of sections. Each and every section consists of unique section name in that AE program. The section name can be maximum of 8 characters. Every AE program must have a section name as MAIN. This is used to identify one AE program from the other in PeopleSoft systems. The name length can be maximum 12 characters.

xx. AE program execution starts from the MAIN section.

STEP xxi. xxii. xxiii. xxiv. xxv. ACTION xxvi. xxvii. xxviii. xxix. This is a place where the source code is written. One step consists of 8 actions. Each and every action consists of unique action name in that step. PeopleSoft has provided some list of actions, we can use only those actions in an This is collection of actions. In one section we can have 999 number of steps. Each and every step consists of a unique step name, in that section. The maximum length of step name is 8 characters. This is the smallest unit of work that can be committed in an AE program.

AE step. ACTION LIST PeopleSoft has provided the below list AE actions xxx. xxxi. xxxii. xxxiii. xxxiv. xxxv. xxxvi. xxxvii. xxxviii. Do When xxxix. This is used to implement IF logic in the AE program. xl. We can write select statements. Do when Do while Do select Do until SQL People code Call sections Log message XSLT

xli. If the select statement doesnt retrieve any rows then the condition is not satisfied and the action below DoWhen doesnt get executed in that step. xlii. If the select statement retrieves at least one row of data then the condition is satisfied and the actions below those lines get executed once. Do While xliii. xliv. xlv. xlvi. This is used to implement while looping in an AE program. We can write select statements. If the select statements dont retrieve any rows then the condition is not satisfied If the select statement retrieves n number of rows where n>10, then the number of

and the action below Do While in that step gets executed 0 times. times the action below Do While gets executed. Do Select xlvii. xlviii. xlix. This is used to implement FOR looping in an AE program. We can write select statements. If the select statements dont retrieve any rows then none of the actions below Do-

Select in that step gets executed. If the select statement retrieves n number of rows where n>0, then nu number of times the actions below Do-Select gets executed only for the selected data. Do- Until l. This is used to implement Do-While looping in an AE program. li. We can write SELECT statements. lii. If the select statement doesnt retrieve any rows, then one time the actions above DoUntil gets executed in that step, liii. If the select statement retrieves n number of rows, where n>0, then nu number of times the action above Do-Until gets executed.

SQL liv. This is used to write DML statements in an AE program like INSERT, UPDATE, DELETE, TRUNCATE People Code - This is used to write people code statements In an AE program. lv. The events used to write people code in an AE program is On-Executable. Call Sections lvi. This is used to call section from same AE or different AE programs. lvii. Log Message lviii. XSLT lix. This is used to write code related to integration broker tools only. Mutually exclusive actions SQL and call sections are called as mutually exclusive actions, that is, we can either use SQL or call sections in a step, but not both. These are mutually exclusive to avoid commit or commit problems or dead lock problems. EXECUTION SEQUENCE Do When Do While Do Select People code SQL / Call section Log message Do Until XSLT This is used to capture messages into log file during the program execution. We can call totally 100 sections in a single call section chain.

STATE RECORD Advantages lx. This is used to pass values between sections and steps. lxi. This is used to provide input parameters in an AE program. lxii. lxiii. lxiv. Note lxv. lxvi. lxvii. State record is not mandatory for an AE program. We can have n number of state records for an AE program in which one is default A state record can hold only one row of data while executing the program. This is required if a Do Action Is used in an AE program. This is required for dynamic calling of sections. This is required if the restart facility is used in an AE program.

state record and the other n-1 are non-default state records.

Conditions for state record lxviii. The state record, record type must be one of the following type (a) Derived / work record: this is used only if restart facility is not used in an AE program. (b) SQL table : this is required if restart facility is required in an AE program as well as when restart facility is not required in an AE program. lxix. lxx. PROCESS_INSTANCE must be the high level key field. The name of the state record must be post fixed by _AET.

STATE RECORD COMMANDS %SELECT SELECTINIT %BIND %select and %selectinit are used to insert data into state records. %bind is used to retrieve data from the state record.

%SELECT lxxi. lxxii. lxxiii. Syntax: %SELECT (<state record fields list>) SELECT <field list> FROM <table list> [WHERE <condition>] [ORDER BY] [GROUP BY [HAVING <condition>]] %SELECTINIT lxxiv. lxxv. lxxvi. Syntax: %SELECTINIT (<state record field list>) SELECT <field list> FROM<table list> [WHERE <condition>] [ORDER BY] [GROUP BY [HAVING <condition>]] %BIND lxxvii. lxxviii. lxxix. This is used to retrieve data from a state record field. This is used in Do actions, SQL action, Log message actions. We can only retrieve one field data from state record using the %BIND command. This is used to insert data into state record. This is used in Do actions and SQL actions. We can insert multiple fields data into state record using one %SELECTINIT This is used to insert data into state record. This is used in Do actions and SQL action. We can insert multiple fields data into state record using one %SELECT

command.

statement.

Syntax: %BIND(<state record field name>)

%SELECT Vs %SELECTINIT lxxx. lxxxi. If the select statement is retrieving data then, there is no difference between If this SELECT statement is not retrieving data then incase of %SELECT, the %SELECT and %SELECTINIT. previous value in the state record will remain unchanged, whereas, incase of %SELECTINIT the previous value in this state record will be made to null value. Default Vs non default state record lxxxii. Default state record field can be directly referred by field name, whereas, non default state record fields are referred by recordname.fieldname Properties Methods to execute an AE program We have different types of methods to execute an AE program, which are classified into (a) Online Execution Method (b) Batch only execution method ONLINE EXECUTION METHOD lxxxiii. lxxxiv. lxxxv. Using Application Designer Using command line prompt Using People code

BATCH ONLY EXECUTION METHOD lxxxvi. lxxxvii. Using user defined run control components. Using request AE run control component.

STAGING TABLES

lxxxviii. lxxxix.

These are used to perform complex calculation in the processes as well as avoid Temporary tables can be used as staging tables in AE program.

locking of actual tables for a longer period of time.

TEMPORARY TABLES xc. This is used as staging tables in an AE program. xci.This is used to implement parallel processing in an AE program. xcii. xciii. xciv. xcv. xcvi. Parallel Processing means running the same AE program by multiple users at the We can assign n number of temporary tables to a temporary table. Instance count specifies the number of copies of same table need to be created PeopleSoft suggests specifying the instance for better performance. Temporary tables are not mandatory for an AE program. same instance of time.

during program execution.

APPLICATION LIBRARY xcvii. xcviii. xcix. This is an AE program which consists of sections that can be reused in other AE Application library will not have MAIN section. App library alone cannot be executed. In order to execute the code in application programs.

library, we must call the sections in application library from other AE programs. PROGRAM TYPES c. Standard Program( Default type) These are normal AE programs. ci. Upgrade only These are the programs which are used to upgrade the versions Of people tools. cii. Import only These programs are used to perform inbound integration.

ciii.

Daemon only These are special type of programs which are executed only once

And this program keeps on executing. civ.Transform only These are the programs which are used for integration broker tools And these programs we can use XSLT actions. SECTION PROPERTIES Section Name: This is used to provide appropriate section name. Section description: This is used to provide proper descriptions what the section is doing. Market: This is used to write country specific coding. Platform: This is used to specify what backend database is. Effective date: This is used to maintain the section on a data base. Effective status: This is used to specify whether the section need to be executed or not when the AE program is executed. Section types (a) Prepare only: This is used when operating normal data. (b) Critical updates: This is used when operating on the critical data.

STEP PROPERTIES STEP NAME: Used to provide appropriate name to the step. STEP DESCRIPTION: Used to provide proper description what the step is performing. FREQUENCY: This is used to specify after operating how many rows system must issue commit to the database. ON ERROR (a) ABORT: Writes the error message to log file and steps the program execution. (b) IGNORE: Writes the error message to log file and continues the program execution. (c) SUPRESS: Doesnt write the error message to log file and continues the processing.

ACTIVE: This is used to select the status on the step. Only active step will be executed . SQL EXECUTION SEQUENCE Compilation Stage cv. Checks for syntax error cvi.Checks for DB connectivity cvii. Creates a cursor.

Execution Stage cviii. Executes the statement using the cursor. cix.Close the cursor. ACTION PROPERTIES ACTION NAME: We can use the action name provided by PeopleSoft. ACTION DESCRIPTION: This is used to specify proper description what this action is performing.

REUSE STATEMENT (a) No: Every time it will compile as well as execute. (b) Yes: Only once it will compile and rest of the other times it will execute. (c) Bulk Insert: This Is useful for bulk processing. SELECT TYPES (a) Select / Text (default): This updates the values in the state record for each and every row in the select. (b) Reselect: This updates the values only once in the state record and rest of the other times simply performs looping. This is used when the same values is inserted in the state record. (c) Restartable: All the view select types must be restartable if restart facility is used in the AE Program.

On-Return Abort: When People Code returns a value the program execution stops. Break: When People Code execution stops, then it comes to next action. Skip Step: If People Code returns a value then it stops the execution of entire step and jumps to the main step. No Rows Abort: If No Rows are operated by the statement, then the program execution is stopped. Section Name: If the SQL statements will not operate on any rows, then the current section is stopped and the execution jumps to the next statement. Continue: IF no rows are operated by the SQL statement, then it continues the normal processing with the next action. Skip Step: If No Rows are operated by the SQL statement, then the execution of current step is stopped and it jumps to the next step.

DYNAMIC CALL SECTIONS This is used to call different sections based on some data. Conditions: cx. The default state record must consist of PROGRAM_ID and SECTION_ID as the key fields. cxi.Before coming to call section execution appropriate program name and section name must be populated in the default state record table. EXECUTION FILE The executable file which is used to execute AE Program is PSAE.exe. USING COMMAND LINE PROMPT cxii. cxiii. CT dbtype CT server ex: Oracle, Microsoft, DB2 App server name

cxiv. cxv. cxvi. cxvii. cxviii. cxix. cxx. cxxi. cxxii. cxxiii. cxxiv. cxxv. cxxvi. cxxvii. cxxviii.

CD database_name CO oprid CP op.rpswd R run_control_id AI Program_ID I. Process_instance DEBUG DR(Y/N) TRACE TRACEVALUE DBFLAGS flagsvalue TOOLSTRACEPC value OT outtype OF out format FP filepath

HC, VP1, FIN, DEV, TST Ps, VP1 PS, VP1 any text AE Program name Any number y- debug, n- no debug y- no restart, n- restart tracing tracing tracing file, web .pdf .html output file path

TOOLSTRACESQL Value tracing

Using People Code Call AppEngine (<program > [<state record>]) Using user defined run control component. 1. Create required run control definitions. (a) Run control table: Condition: OPRID and RUN_CNTL_ID must be the high level key fields. Name must consists of RUN word in it. Required People Code (i) (ii) OPRID.RowInit <run control table>. OPRID value = % Operator ID; RUN_CNTL_ID.RowInit

<run control table>. RUN_CNTL_ID.Value = PRCSRUNCNTL.RUN_CNTL_ID.Value; Note: Run control table is created only if we need to pass input parameters to the AE program. (b) Run Control Page Must consists of PRCSRUNCNTL_SBP_subpage ( c) Run control component and register Page- run control page Search record = PSRCRUNCNTL ( or) PRCSRUNCNTL cxxix. Create Process definition.

Navigation: People tools Process scheduler processes This is used to link the run control component with the program. cxxx. cxxxi. Run the process from the run control component. Verify the process request status in Process monitor.

Navigation: People tools Process scheduler process monitor

DATA MOVER Navigation: Start programs PeopleSoft Data <Mover Go Data mover (from App designer) Command line (not a GUI) This is not a development tool. Uses: cxxxii. cxxxiii. cxxxiv. Move the application data from one database to another database. Move the database from one RDBMS to another RDBMS irrespective of Will support all SQL commands, can manipulate or update data.

operating systems.

cxxxv. cxxxvi. cxxxvii. cxxxix.

To install PeopleSoft database. To take logical backups. To apply patches, fixes and tax updates Maintain database security.

cxxxviii. Upgrades.

On clicking the run button, we can see the results in the output window. To write script, we need to learn about cxl.Data mover commands cxli. cxlii. SQL commands Non standard SQL commands

DATA MOVER COMMANDS These commands are portable to the RDBMS cxliii. cxliv. cxlv. cxlvi. cxlvii. cxlviii. cxlix. cl. RUN cli. SET clii. EXPORT EXPORT * (100% of the PeopleSoft data will be exported) We can take even backup of the data. We cannot export more than one record at a time. ENCRYPT-PASSWORD Export Import Replace-all Replace-view Replace-data REM, REMARK RENAME

EXPORT record name where SETID = SHARE We can use criteria to export the files. EXPORT DEPT_TBL / PS_DEPT_TBL We can export the structure of the table, data in the table, indexes of the table, views on the table, triggers on the data. IMPORT Import record name / * where <condition> REPLACE-ALL Replace-all record name / * where <condition> Drops the existing table and inserts new table REPLACE-DATA Only data in the table will be deleted and new data will be inserted. It doesnt change the structure, indexes etc. Only data will be updated.

REPLACE-VIEW To replace the views while importing the data. REM, REMARK For writing comments. Comments will not be executed. RENAME We can rename records and fields and record fields. We can do it from application designer. RUN Limitation When we execute z.dms will generate error. Only supports immediate level.

Encrypt_password * / user id SET Used for setting the environment to run the data mover script smoothly Set no records Set no indexes Set no data Set no triggers Set no views Set no commit Set commit number Set ignore groups Set no trace Set input Set output Set log Non standard SQL Commands Rules to be considered while using data mover cliii. cliv. clvi. clvii. clviii. Modes: Can be able to sign on into clix. Boot strap Start program PeopleSoft 8.4 data mover Each command must be ended with valid separator. Exception to the above rule is single line comment. You can use record name or table name. The separator can be placed at the end of each command line or first column of Run command supports only for immediate record.

clv.No problem with empty lines and blank spaces.

next line.

Few data mover commands are invalid. clx.Regular Once PSDB is ready, then we can use regular mode. Start programs PeopleSoft 8.4 data mover Each node represents a DB

Questions:

SQR: SQR Reports, SQR process Interfaces, SQCS Error Handling, Testing & Debugging Performance Tuning

STRUCTURED QUERY REPORTING


ADVANTAGES Used for Reporting. Used for background Sql processing Used to migrate/ move data from legacy system to PeopleSoft system. Used to perform file integration. Used where programming logic is more.

7-5-2011

This can be used as both GUI and CUI(character use interface)( GUI is supported only till 7.5 version, it is also called work bench).

COMMANDS IN SQR They are of three types 1. Sections 2. Paragraphs 3. Other commands 1. SECTIONS a. BEGIN-SETUP b. BEGIN HEADING c. BEGIN-FOOTING d. BEGIN-PROGRAM e. BEGIN-PROCEDURE SQR page

HEADING DATA/BODY FOOTING

a.

BEGIN-SETUP: etc. This is not mandatory This is used to perform output page setup like page size, margins, font size We can have only 1 setup section in SQR program The page setup done will be applied to all output pages.

Syntax: // THESE ARE SPACE SENSITIVE.THE CODE WILL BE TYPED IN NOTEPAD OR WORDPAD AND SAVED AS .SQR BEGIN-SETUP // THESE ARE SPACE OTHER COMMANDS SENSITIVE.THE CODE WILL BE TYPED IN NOTEPAD OR WORDPAD AND SAVED AS .SQR

END-SETUP

b. BEGIN-HEADING This is not a mandatory section. This is used to design heading region of O/p page. We can have only one heading region. The heading design will be applied to all the O/P pages.

Syntax: BEGIN-HEADING # PRINT COMMANDS END-HEADING c. BEGIN-FOOTING This is not a mandatory section. This is used to design footing region. We can have only 1 footing section.

# IS USED TO SPECIFY NO.OF LINES REQUIRED FOR HEADING REGION.

The footing design will be applied to all the O/P pages.

Syntax: BEGIN-FOOTING # PRINT COMMANDS END- FOOTING d. BEGIN-PROGRAM This is a mandatory section in SQL program.

This is used to design data region of O/p page. We can have only program section in SQR program The SQR program execution starts from program section.

Syntax:
BEGIN-PROGRAM/REPORT OTHER COMMANDS END-PROGRAM

e. BEGIN-PROCEDURE This is not a mandatory section. This is used to design data or body region on O/p page. We can have any number of procedures Every procedure has unique procedure name. Procedures are functions in SQR which can be re-used. We do not write actual coding in program section, instead we write it in procedure section & call them in program section.

Syntax: BEGIN-PROCEDURE <PROCEDURE NAME> OTHER COMMANDS END-PROCEDURE [<PROCEDURE NAME>] 2. PARAGRAPHS a. BEGIN-SELECT This is used to retrieve data from database which is required to generate output. This is used to implement for looping in SQR programs.

Syntax BEGIN-SELECT Field1 . From<table-list> [where<condition>] [group by[<having>]] [order by] END-SELECT

IF THERE MULTIPLE SQLSTATEMENTS, USING ; AT END OF EVERY STATEMENT.

B. BEGIN-SQL This is used to execute all SQL statements like DML,DDL,DCL statements except select. Syntax BEGIN-SQL SQL-STATEMENT END-SQL c. BEGIN-DOCUMENT This is used to combine static text with data from database.(EG:- while giving offer letter or any greetings, the text is same , only the name changes.) Syntax BEGIN-DOCUMENT (1,1) OTHER COMMANDS END-COMMANDS

SQR PROGRAMMING STRUCTURE


SECTIONS PARAGRAPH OTHER OTHER

OTHER COMMANDS. i) PRINT-COMMAND This is mandatory for any SQR report. They are of two types Formatting options - Center - Shape - Underline - Wrap Implicit: no commands required, used for printing static text. Explicit: print command is required.

Bold Box On-break

edit ( for specifying multiple formatting options)

ON-BREAK Used for redundancy of printing Group headings Group footings

Options: change,top-page,never,always,before,after,save ON-BREAK = NEVER ( NEVER CHANGE THE VALUE) = ALWAYS(PRINT VALUE ALWAYS) = AFTER (USED FOR GROUP FOOTING) SYNTAX: IMPLICIT PRINT &<VARIABLE NAME>(<ROWNO><COL NO>[<OPTIONS>]

EXPLICIT PRINT PRINT <STATIC TEXT> (<ROWNO><COL NO>[<LEN>])(<OPTIONS>) EG: PRINT DETAIL (1,20) ON-BREAK: REDUNDANCY OF PRINITNG & COUNTRY(1,1) ON-BREAK &CITY (1,5) ON-BREAK & EMPID(1,7)

DIFFERENT FILE TYPES .SQR -> SOURCE CODE FILE (EXECUTABLE FILE) .SQT-> INTERMEDIATE FILE .LIS-> LIST FILE o/p FILE .SQC-> FUNCTION LIBRARY FILE .SPF-> PORTABLE FILE FORMAT .INI-> INITIALIZATION/CONFIGURATION .MAX-> MAXIMAZATION FILE( INCREASE BUFFER FILE) .HTML .PDF O/P FILE FORMATS .CSV .ERR -> ERROR FILE .LOG-> LOG FILE DATA TYPES TEXT/ CHARACTER DATE NUMBER -> INTEGER, DECIMAL

VARIABLES - COLUMN VARIABLES : These are columns in database ie, fields from database tables. These variable names will be staring with & SQR VARIABLES : o USER DEFINED VARIABLES

o These are program specific variables


o Text values $ o Numeric variables # o Date variables $

Reserved variables o System variables


o Variable name consists of hyphen -

o Developer cannot use these names for user defined variables. Document markers o
o

These are used only in BEGIN-DOCUMENT paragraph. These variable names start with @.

Substitution variables oIn these variables, values are stored at start of program and remain till end of program.
o The variables are enclosed in { }

Scope of variable Global ( default scope is global) Local

TYPES OF RECORDS
TABULAR REPORTS: This is used to generate report from a single table. MASTER DETAIL REPORT: This is to generate reports from more than one table. FORM REPORTS: In this report, for each and every row we will have a separate output page. EG: PAY SLIPS MAILING LABELS: In this we partition the output page vertically and generate an output . EG: ADRESS PRINITNG LETTERS AND DOCUMENTS: In this report we combine static text. With the column variables. EG: OFFER LETTERS AND RELIEVING LETTERS CROSS TABULAR REPORTS: In this report we perform both row wise as well as column wise calculations. EG: FINDING ALL THE TOTALS IN BELOW TABLE TOTAL TA DA SALARY TOTAL TOTAL

TOTAL TOTAL

GRAPHICAL REPORTS: In this report, we represent the data in a graphical format.

THE EXECUTABLE FILE TO RUN AN sqr PROGRAM IS sqrw.EXE. THIS IS LOCATED AT

<DRIVE>:\ PEOPLETOOLS 8.X\bin\sqr\<DATABASE>\BINW\sqrw.exe

Simple program BEGIN-PROGRAM PRINT HELLO (3,10) BOLD BOX END-PROGRAM

! Tabular report
! This report gets the data from employee table and generates output for all employees. BEGIN - HEADING 2 PRINT Employee detail report (1, 20) BOLD BOX PRINT Employee id (2, 1) BOLD UNDERLINE PRINT EmpName (2, 15) BOLD UNDERLINE PRINT Country (2, 60) BOLD UNDERLINE PRINT Salary (2, 70) BOLD UNDERLINE END-HEADING BEGIN - FOOTING 2 PRINT ** Confidential information** (2, 10) BOLD END - FOOTING ! This is main section which calls tabular procedures. BEGIN - PROGRAM DO TABULAR END - PROGRAM ! This is a procedure to get the data and print BEGIN - PROCEDURE BEGIN -SELECT EMPLID (+1,1) ! +1: AUTO INCREMENTS ROWS NAME ( ,15) COUNTRY ( ,60) COMPRATE ( ,70)

FROM PS_EMPLOYEES END - SELECT END PROCEDURE789

MASTER DETAILS REPORT 1. USING JOINS 2. USING PROCEDURES 3. USING LOAD LOOKUP USED TO GENERATE REPORTS FROM MULTIPLE TABLES. !** master detail report using joins BEGIN-PROGRAM DO MAIN ! CALLING PROCEDURE END-PROGRAM BEGIN - PROCEDURE MAIN BEGIN - SELECT A. EMPLID (+1, 1) A. BIRTHDATE ( ,10) B. EMPLID ! IT WILL BE STORED IN BUFFER BUT WILL NOT BE PRINTED B. COUNTRY ( ,55) FROM PS_PERSON A, PS_ADDRESS B WHERE A.EMPLID= B.EMPLID AND B.ADDRESS-TYPE=HOME END - SELECT END - PROCEDURE MAIN ! MAIN IS PROCEDURES NAME

NEW Commands used in the above two programs: DO COMMAND- This is used to call a program. Syntax: DO <procedure name> COMMENTING: using ! we can write single line comments. Syntax:! <Comment> MOVE- This is used to move the data from one variable to the other. This is also used for typecasting # DEFINE- used to define the substitute variables. Syntax: # DEFINE <sub var name> <value> LET- this is used to assign values to variables. This is used to perform arithmetic or string operations.

!** Master detail report using global variables


BEGIN - PROGRAM DO GBL_VAR END - PROGRAM BEGIN - PROCEDURE GBL_VAR BEGIN - SELECT A. EMPLID(+1,1) B. BIRTHDATE ( ,10) MOVE &A.EMPLID TO $EMPLID VARIABLE NAME DO ADDR_DET FROM PS_PERSON A END - SELECT END - PROCEDURE BEGIN - PROCEDURE ADDR_DET BEGIN - SELECT B.EMPLID B.CITY (+1, 25) B.COUNTRY ( , 60) FROM PS-ADDRESS B WHERE B.EMPLID=$EMPLID AND B.ADDRESS-TYPE=HOME END - SELECT END - PROCEDURE !$EMPLID IS USER DEFINED

!**Master detail report using local variables


BEGIN-PROGRAM DO MAIN END-PROGRAM BEGIN - PROCEDURE MAIN BEGIN - SELECT A. EMPLID (+1,1) A. BIRTHDATE ( ,15) DO EMPL_DET (&A. EMPLID) PROCEDURE FROM PS_PERSON A END - SELECT END - PROCEDURE BEGIN - PROCEDURE EMPL_DET ($ EID) BEGIN - SELECT B.EMPLID B.CITY (+1, 40) B.COUNTRY ( , 60) FROM PS_ADDRESS B WHERE B.EMPLID=$EID AND B.ADDRESS-TYPE=HOME END - SELECT END PROCEDURE ! PASSING ARGUMENT TO $ EID IN EMP_DET

FORM REPORTS ! ** This is a form report** BEGIN - HEADING 1 PRINT FORM REPORT (1, 20) BOLD BOX END- HEADING BEGIN-PROGRAM DO FORM_REPORT END-PROGRAM BEGIN - PROCEDURE FORM_REPORT BEGIN - SELECT EMPLID NAME MONTHLY_RT MOVE &EMPLID T0 $SETID MOVE &NAME TO $ENAME MOVE &MONTHLY_RT TO $ SALARY DO PRINTING FROM PS_EMPLOYEES END - SELECT END - PROCEDURE BEGIN - PROCEDURE PRINTING PRINT EMPLID PRINT NAME PRINT SALARY PRINT $EID (1, 40) PRINT $SALARY (5, 40) NEW - PAGE END - PROCEDURE : (1 ,1) : (3, 1) : (5, 1)

MAILING LABELS #DEFINE MAX_LABEL_LINES 10 #DEFINE LINES_BETWEEN_LABELS 3 BEGIN-PROGRAM DO LABELS END-PROGRAM BEGIN - PROCEDURE LABELS LET #LABEL-COUNT=0 LET #LABEL-LINES=0 COLUMNS 1 30 60 BEGIN - SELECT EMPLID (1, 1, 29) ADDRESS1 (2, 1, 29) ADDRESS2 (3, 1, 29) ADDRESS3 ADDRESS4 CITY STATE COUNTRY LET $ADDR-LINE=&ADDRESS3 ll , ll &ADDRESS4 LET $LASTLINE= &CITY ll , ll&STATE ll , ll &COUNTRY PRINT $ADDR-LINE (4, 1, 29) PRINT $LASTLINE (5, 1, 29) NEXT-COLUMN AT-END=NEWLINE ADD 1 TO #LABEL-COUNT IF #CURRENT-COLUMN=1 ADD 1 TO LABEL-LINES IF #LABEL-LINES ={MAX-LABEL-LINES} NEW-PAGE LET #LABEL-LINES=0

ELSE NEXT-LISTING NO-ADVANCE SKIPLINES={LINES-BETWEEN-LABELS} END-IF FROM PS-ADDRESSES WHERE ADDRESS-TYPE= HOME END - SELECT USE COLUMN=0 NEW-PAGE PRINT TOTAL LABELS PRINTED : (+1, 1) PRINT #LABEL-COUNT ( ,30) END - PROCEDURE

ASK AND INPUT VARIABLES: 14-5-2011 This is used to provide input parameters to an SQR program in two tier execution, i.e from SQRW window. ASK COMMAND: This is used in setup section. This prompts for the values during compilation stage. This does not support all data types, length and format. INPUT COMMAND: This is used in program /procedure section. This prompts for the values during execution stage. This supports all data types, length and format. PROGRAM EXECUTION SEQUENCE Compilation stage: Checks the syntaxes of the SQR program. Checks the database connectivity. Executes the setup section Execution stage: Executes heading section. Executes footing section. Executes program section. Executes procedure section. RUNNING SQR FROM END-TIER/ SCHEDULING SQR i. Make the SQR, API aware. a. Include SETENV.sqc at the start of the program. b. Include stdapi.sqc at the end of the program. c. Call stdapi-init procedure at the start of execution stage. ii. iii. Move the SQR file to the SQR source code location. <drive>:\pt8.4x\SQR Create required RUN CONTROL definitions.

Record page component. Note: This is created only if the program consists of input or run control parameters. Conditions: 1. OPRID and RUN_CNTL_ID must be high level and key fields. 2. Place the fields which act as input parameters. 3. The name of the run control record must contain RUN word.

ERROR HANDLING Compilation stage: BEGIN SQL on _ERROR=skip/warn/stop. Execution stage: Begin-SELECT on-error=procedure name Begin SQL ON ERROR=procedure name -O: log file (.LOG) -E: error file (.ERR) -ZMF: error files (.DAT) LOAD-LOOKUP; Used to increase performance. This is an array. We can only select two fields, but by storing, we can select more than two fields. Used in setup and procedure sections. Size of the load lookup will increase automatically. We have a single command to create load lookup table and as well as populate the values. This supports character data type. ARRAYS:

This is a variable which is used to store multiple values of same data type. This is used to increase the performance. We can store more than two fields data in an array. This is used in setup and procedure section. Size of the array will not be increased automatically. This gets populated with data during execution stage. We have separate commands to declare an array and define an array. This supports all data types.

LOAD-LOOKUP: This is used to create a load lookup variable as well as populate data into the load lookup variable. LOOKUP: This is used to get the written value into a variable by providing the key value. UNSTRING: separator. This is used to break a string into pieces, based on the

!**load lookup program BEGIN-SETUP LOAD-LOOKUP NAME=EMPL_ADDR ROWS=100 TABLE=PS_ADDRESSES KEY=EMPLID RETURN-VALUE=COUNTRY ! ||*|| CITY END-SETUP BEGIN-PROGRAM DO MAIN END-PROGRAM BEGIN-PROCEDURE MAIN BEGIN-SELECT EMPLID(+1,1) BIRTHDATE ( , 10) LOOKUP EMPL_ADDR & EMPLID$VALUE PRINT $VALUE ( ,35) FROM PS_PERSON END-SELECT END-PROCEDURE BEGIN-SETUP CREATE-ARRAY NAME=EMPL SIZE=30 FIELD= SAL:NUMBER FIELD= COMM:NUMBER FIELD=TOTAL:NUMBER END-SETUP ! Array-Program BEGIN-HEADING 1

PRINT 'SALARY' (+1,1) bold underline PRINT 'COMMISSION' (,12) bold underline PRINT 'TOTAL' ( ,24) bold underline END-HEADING BEGIN-PROGRAM DO MAIN DO PRINT END-PROGRAM BEGIN-PROCEDURE MAIN BEGIN-SELECT SAL COM TOTAL LET #I =#I+1 ROW LET EMPL.SAL(#I)=&SAL LET EMPL.COMM(#I)=&COM LET EMPL.TOTAL(#I)=&SAL+&COM FROM PS_ASR_TRY SAL,COM,TOTAL FIELDS END-SELECT END-PROCEDURE BEGIN-PROCEDURE PRINT LET #COUNT=#I LET #I=1 WHILE #I<=#COUNT !LET #S= EMPL.SAL(#I) ! RECORD IN DB WITH ! INCREMENTING TO CAPTURE EACH

LET #C= EMPL.COMM(#I) LET #T= EMPL.TOTAL(#I) !print #S (+2,1) print &EMPL.SAL(#I) (+2,1) print #C (, 12) print #T (,24) let #I =#I+1 END-WHILE END-PROCEDURE

!**CROSS TABULAR REPORTS: BEGIN-SETUP CREATE-ARRAY NAME-EMPLOYEE SIZE=20 FIELD=EMPLID: CHAR FIELD=NAME: CHAR FIELD=NAME: CHAR FIELD=BASIC: NUMBER FIELD=TA: NUMBER FIELD=DA: NUMBER FIELD=HRA: NUMBER FIELD=TOTAL: NUMBER END-SETUP BEGIN-HEADING 1 PRINT EID (1, 1) BOLD UNDERLINE PRINT NAME (1, 5) BOLD UNDERLINE PRINT BASIC (1, 25) BOLD UNDERLINE PRINT TA (1, 60) BOLD UNDERLINE PRINT DA (1, 75) BOLD UNDERLINE PRINT HRA (1, 90) BOLD UNDERLINE PRINT TOTAL (1, 105) BOLD UNDERLINE END-HEADING BEGIN-PROGRAM DO INSERTING DO PRINTING END-PROGRAM BEGIN-PROCEDURE INSERTING BEGIN-SELECT B54_EMPLID B54_NAME

B54_BASIC B54_TA B54_DA B54_HRA LET #I=#I+1 LET EMPLOYEE. EMPLID (#I) =&B54_EMPLID LET EMPLOYEE. NAME (#I) =&B54_NAME LET EMPLOYEE. BASIC (#I) =&B54_BASIC LET EMPLOYEE. TA (#I) =&B54_TA LET EMPLOYEE. DA (#I) =&B54_DA LET EMPLOYEE. HRA (#I) =&B54_HRA LET EMPLOYEE. TOTAL (#I) =&B54_BASIC + &B54_TA + &B54_DA + &B54_ HRA FROM PS_B54_EMPL_TBL END-SELECT END-PROCEDURE BEGIN-PROCEDURE PRINTING LET #COUNT = #I LET #I = 1 WHILE #I <= #COUNT LET $EMPLID=EMPLOYEE.EMPLID (#I) LET $NAME=EMPLOYEE. NAME (#I) LET $BASIC=EMPLOYEE. BASIC (#I) LET $TA=EMPLOYEE. TA (#I) LET $DA=EMPLOYEE. DA (#I) LET $HRA=EMPLOYEE. HRA (#I) LET $TOTAL=EMPLOYEE. TOTAL (#I) PRINT $EMPLID (+1,1) PRINT $NAME ( ,5) PRINT $BASIC ( , 25) PRINT $TA (, 60)

PRINT $DA (,75) PRINT $HRA ( ,90) PRINT $TOTAL ( ,105) LET #I = I+1 END-WHILE END-PROCEDURE TESTING AND DEBUGGING Testing: This is used to reduce the execution time during testing of the program, while development. -tnn: pages (number of output pages -loops = nn Debugging: This is used to identify the programming and logical errors. Display: one variable Show: more than one variable.

!** MAILING REPORT USING JOINS BEGIN-PROGRAM DO MAIN END-PROGRAM

BEGIN - PROCEDURE MAIN BEGIN - SELECT A. EMPLID (+1,1) A. BIRTHDATE ( ,15) B.EMPLID B.CITY (+1, 40) B.COUNTRY ( , 60) #IFDEF DEBUGX DISPLAY &A, EMPLID #END-IF #IF-DEF DEBUGY SHOW &B.CITY &B, COUNTRY #END-IF FROM PS_ADDRESS A, PS_ADDRESS B WHERE A.EMPLID= B.EMPLID AND B.ADDRESS_TYPE=HOME END - SELECT END PROCEDURE

PERFORMANCE TUNING load-lookup, lookup using arrays cross tabular reports

multiple reports running on server using sqt files bnn proper programming logic sql tuning SQC This consists of code that can be reused in multiple SQR programs. SQC alone cant be executed, in order to execute SQC, we must include it in other SQR programs. SQC are basically created for easy maintenance. Types of SQCs Environment SQC These are used to make the SQR program portable to any OS or database. Eg: setenv.SQC Setup section SQC These SQC consist of reusable program section coding. Header SQC These consist of reusable header section coding. Footer SQC The SQC consist of common reusable footing section coding. API aware SQC These SQC are used to integrate SQR with PEOPLESOFT ASK SQC

These consist of reusable ask input commands Run control SQC These consist of reusable code to pass input parameter in n-tier. Functional SQC These are used for formatting data on output page Eg : datetime.SQC, string.SQC Module specific SQC These SQCs consist of reusable code, specific to the model. Command line flags:-Bnn : Bulk processing Ziv : compile and execute -e : error file -o : log file -c : cancel button -f : output path -rs : compile -rt : execute -tnn : no. of output pages -s : sql tracing

!** on-break
BEGIN-PROGRAM DO TAB END-PROGRAM BEGIN-PROCEDURE TAB BEGIN-SELECT COUNTRY (+!,1) ON-BREAK PRINT =CHANGE/TOP-PAGE LEVEL =1 AFTER CNTRY=END SAVE=$OLD_CNTRY EMP (,6) ON-BREAK PRINT=CHANGE/TOP-PAGE LEVEL=2 EMPID( ,35) NAME (,48) FROM PS_EMPLOYEES WHERE COUNTRY <> AND CITY <> END-SELECT END-PROCEDURE BEGIN-PROCEDURE CNTRY_END LET $FINAL_STATEMENT = PRINT END OF|| $OLD_COUNTRY||COUNTRY EMPLOYEES PRINT $FINAL_STATEMENT (+1,1) BOLD END-PROCEDURE

!** LETTERS AND DOCUMENTS


BEGIN-PROGRAM DO BONUSLETTER END-PROGRAM BEGIN-PROCEDURE BONUSLETTER BEGIN-SELECT NAME ADDR1 ADDR2 CITY COUNTRY DO LETTER FROM PS_EMPLOYEES END-SELECT END-PROCEDURE BEGIN-PROCEDURE BEGIN-PROCEDURE MAIN

BEGIN-DOCUMENT MAIN BEGIN-DOCUMENT (1,1) &NAME &ADDR1 &ADDR2 @CITY_STATE_COUNTRY .B .B DEAR &NAME .B THIS IS TO INFORM U THAT, ON OCCASION OF INDEPENDENCE DAY, &NAME HAS RECIEVD BONUS OF 500RS/.B REGARDS, XYZ END-DOCUMENT END-DOCUMENT POSITION () CITY_STATE_COUNTRY PRINT &CITY() PRINT;() PRINT &STATE() PRINT;() PRINT &COUNTRY() NEW-PAGE END-PROCEDURE

RUNNING SQR FROM FRONT END (N-TIER) 1. Make SQR program api aware At start of program include setenv.sqc At the end of program section include stdapi.sqc Call procedure in program section Do stdapi-init Do stdapi-term at end of program section. 2. Copy the program to sqr folder 3. Create run control definition Insert subpage : PRCSRUNCNTL_SBP Save Run control component Drag and drop run control component Provide search record : PRCSRUNCNTL 4. Register component 5. Front end : provide any run cntrl id: 6. In process definition: People type : SQR reports Process name : provide the record name Process definition: Cmpnt: componenet name Process groups -> all panels, all groups Server name -> PSNT + unique process id Passing parameters (n-tier) 1. Create run control record OPRID -> key

20-5-2011

RUN_CNTL_ID -> KEY !! ALSO PROVIDE INPUT FIELD..! PEOPLE CODE: a) B55_sqr_Tbl : oprid-> rowinit b55_sqr_tbl.oprid.value=%operatorid; b) B55_sqr_tbl-> runcntl_id-> rowinit b55_sqr_tbl.runcntl_id.value=prcsruncntl_run_cntl_id_value; 2. Create run control page : b55_sqr_pg a. Subpage -> prcsruncntl_sbp Country 3. Component : b55_sqr_cmpt Page : provide page name Search rec: prcsruncntl 4. Register component 5. Create sqr program 6. Move sqr file to sqr folder 7. Create process definition. 8. Run SQR program 9. Verify the status in process monitor # include setenv.sqc Begin-program Do stdapi-init Do get param Do tab Do stdapi-term End-program Begin-procedure getparam Begin-select Country Move &country to $ cntry From ps_b55_sqrtbl Where oprid=$prcs_run_cntl_id End-select End-procedure Begin procedure tab Begin-select

Emplid (+1,1) Name( ,15) Country ( ,60) From ps_employees Where country= $cntry End-select End-procedure #include stdapi.sqc File handling/ file integration (outbound/ inbound integrate) File handling commands i) Open : This is used to open a file for reading/ writing or appending ii) Read: To read line-line data from file to a variable iii) Write: To write data from variables to a file. iv) Close : This is used to close the file which is open.

! outbound file integration


Begin-program !let $writefile=C:\temp\b55_sqr.txt let $writefile=C:\temp\b55_sqr.csv open $writefile as 30 for-writing record =100 status =#filestatus if file stat!=0 print error in opening file (2,1) else do write_Data close 30 print writing data complete (1,1) end-if end-program begin-procedure write_data begin-select emplid name country monthly_rt !write 30 from &emplid :10 &emplid:35 & country:5 &monthly_rt:10 Write 30 from &emplid, &name , &country , &monthly_rt From ps_employee End-select End-procedure

!inbound file-integration
BEGIN-SETUP BEGIN-SQL CREATE TABLE B55_TBL(DEPTID VARCHAR(2),EMPLID VARCHAR(#),NAME VARCHAR(20)); END-SQL END-SETUP BEGIN-PROGRAM LET $READFILE=C:\TEMP\B55_IP.TXT DO FILE HANDLING CLOSE 30 END-PROGRAM BEGIN-PROCEDURE FILEHANDLING OPEN $READFILE AS 30 FOR READING RECORD=100 STATUS=#FILESTAT IF #FILESTAT!=0 PRINT ERROR IN OPENING FILE (2,1) ELSE WHILE 30

READ 30 INTO $LINE :100 UNSTRING $LINE BY # INTO $DEPTID $EMPLID $NAME DO INSERTION IF #END-FILE BREAK END-IF PRINT READ DATA COMPLETED(1,1) END-PROCEDURE BEGIN-PROCEDURE INSERTION BEGIN-SQL INSERT INTO B55_TBL(DEPTID,EMPLID,NAME) VALUES($DEPTID,$EMPLID,$NAME);\ END-SQL END-PROCEDURE MULTIPLE REPORTS This Is used to generate multiple outputs from the same data source. Commands for multiple reports: vi. DECLARE-LAYOUT vii. DECLARE- REPORT viii. FOR-REPORT ix. USE-REPORT DECLARE-LAYOUT This is used to define the different output formats generated using the multiple reports. This is used in Begin-Setup section. Based on number of outputs generated, that many number of DECLARE-LAYOUT commands must be written in the Begin-Setup section. Syntax: DECLARE-LAYOUT <Layout name> Other commands END-DECLARE

Example: BEGIN-SETUP DECLARE-LAYOUT EMPDET #INCLUDE setup02.sqc END-DECLARE DECLARE-LAYOUT PAYSLIP #INCLUDE setup01.sqc END-DECLARE DECLARE-LAYOUT EMPTAB END-DECLARE END-SETUP DECLARE-REPORT: This is used to assign the layout of the report. This is used in Begin-Setup section. Based on number of outputs generated, that many number of DECLARE-REPORT commands must be written in the Begin-Setup section. Syntax: DECLARE-REPORT <Layout name> LAYOUT= <layout name> END-DECLARE Example: BEGIN-SETUP DECLARE-REPORT EMPDET LAYOUT= EMPLDET END-DECLARE DECLARE-REPORT PAYSLIP LAYOUT= PAYSLIP END-DECLARE DECLARE-REPORT EMPTAB

LAYOUT= EMPTAB END-DECLARE END-SETUP FOR-REPORT: This is used to assign different heading and footing sections to different reports. This is used in heading and footing sections. Syntax: BEGIN-HEADING/ FOOTING # FOR-REPORT <report name> PRINT commands END-HEADING/ FOOTING Example: BEGIN-HEADING 2 FOR REPORT = EMPLDET PRINT employee detail report (1, 20) BOLD BOX PRINT EID (2, 1) BOLD UNDERLINE PRINT NAME (2, 10) BOLD UNDERLINE PRINT SALARY (2, 40) BOLD UNDERLINE PRINT DOJ (2, 55) BOLD UNDERLINE PRINT COUNTRY (2, 70) BOLD UNDERLINE END-HEADING BEGIN-HEADING 2 FOR REPORT =PAYSLIP PRINT PAYSLIP (1, 15) BOLD BOX END-HEADING BEGIN-HEADING 2 FOR REPORT=EMPTAB PRINT EMPLID (1, 1) BOLD UNDERLINE PRINT NAME (1, 10) BOLD UNDERLINE PRINT AGE (1, 45) BOLD UNDERLINE END-HEADING BEGIN-FOOTING 1 FOR REPORT=EMPLDET

PRINT ** confidential information** (1, 10) BOLD END-FOOTING BEGIN-FOOTING 1 FOR REPORT=PAYSLIP PRINT Sign not required (1, 10) BOLD END-FOOTING USE-REPORT This is used to assign different programs or procedure sections coding to the different reports. This is used in program or procedure sections. Syntax: USE-REPORT <report name> Commands USE-REPORT <report name> Commands Example: BEGIN-PROCEDURE PRINTING USE-REPORT=EMPLDET PRINT &EMPLID (+1, 1) PRINT &NAME ( , 10) PRINT &MONTHLY_RT ( , 40) PRINT &HIRE_DT ( , 55) PRINT &COUNTRY ( , 70) USE-REPORT=PAYSLIP PRINT EMPLID PRINT NAME PRINT MNTHLY_RT PRINT &EMPLID (1 , 40) PRINT &NAME ( 3, 40) PRINT &MNTHLY_RT (5, 40) : (1, 1) : (3, 1) : (5, 1)

NEW-PAGE USE-REPORT=EMPTAB PRINT &EMPLID (+1, 1) PRINT &NAME ( ,10) PRINT &AGE ( ,50) END-PROCEDURE

Questions:

ADMINISTRATION TOOLS: Security, Definition Security Portal Security Data Mover Questions:

REPORTING & ANALYSIS TOOLS: People Soft Query, N Vision Crystal Reports, SQR Tree Manager Process Scheduler Manager Report Manager Questions:

INTEGRATION TOOLS Integration Broker Questions:

FUNCTIONAL FINANCIAL MODULES: General Ledger Account Receivables Account Payable FINANCE / SUPPLY CHAIN MANAGEMENT This is used to manage money and company accounts. Modules: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. General Ledger (GL) :This is the heart of the financial systems, from where we can generate crucial reports like balance sheet report, profit and loss report etc. Account payables ( AP):This is the place where we perform payment from the company Account. Purchasing ( PO):This is used to buy items for company purpose from the vendor. Asset Manager (AM):This is used to manage assets. Assets are items which consists of resale value. Account Receivables (AR): This is used to manage receiving of money into company account. Billing (Bill):This is used to generate bills. Order Management (OM): This is used to manage orders from the customers. Inventory (INV): This is place where we define the list of items, we can buy or sell. Project casting (PC): This is used to manage projects. Expense (EXP):This is used to manage expenses. June 4, 2011

PURCHASING This is used to purchase or buy required goods. Purchasing rolls: Requester: Person who requests for the goods. Approver: Person who approves the request for the goods. Buyer: Person who buys the goods as per the approved requests. Receiver: Person who receives the goods which are delivered by the vendor.

BUSINESS PROCESS Create requisition Approve requisition Get quotations Create purchase order Approve purchase order Dispatch purchase order Create receipt after inspection process Return to vendor Miscellaneous transactions: Cancel requisition Cancel PO Change order Close requisition Close PO CREATE REQUISTION Requisition is an entry which is created in purchasing module where we enter the request for the goods. Required Data Business unit Requisition ID Requester ID Requisition date Item list Item description Item Quantity Unit of measure Unit of Price

Vendor id Shift to date Shift to location Shift via Requisition line details Requisition distribution line details Project, department etc Note: One requisition can have n number of requisition lines. One requisition line can have n number of distribution lines. One requisition can have only one vendor. Requisition tables: REQ_HDR requisition header REQ_LINE - requisition line REQ_LN_DISTRIB requisition distribution line Navigation: Purchasing requisitions add or update requisitions APPROVE REQUISTION This is the place where the approver approves the requisition considering items, quantities and unit price. Approving is of two types: Partial Approving: In this only few requisition lines get approved. Complete approving: In this all requisition lines get approved. PeopleSoft supports different levels of approvals based on quantity or unit price. Navigation: Purchasing Requisition approve amounts REQ_HDR REQ_STATUS ------ Approved

Partial Deny Recycle REQ_LINE APPR_STATUS ----- Approved Deny GET QUOTATIONS This is a manual process which is done outside of PeopleSoft where the buyer get the quotations from different vendors and take a decision from which vendor to buy the goods. CREATE PURCHASE ORDER This is an entry which is created in purchasing module to place an order with the vendor. This is created by buyers. Required data: Business unit PO date Buyer id Vendor id Item details Item quantity Unit of measure Unit price Delivery date Shift via Shift to id PO line details PO distribution line details Project id Department id Note: One PO can have n number of lines.

One PO line can have n number of distribution lines. One PO is created only for one vendor. PO are of two types: Requisition based PO: creating a PO from an approved requisition. Non-Requisition based PO: creating a PO without a requisition

Navigation: Purchasing purchase orders add/update purchase orders. PO_HDR - PO Header PO_LINE PO line PO_LN_DISTRIB PO Distribution line tables APPROVE PURCHASE ORDER This is the place where the approver approves the PO considering the item, quantity and unit price. This is of two types: 1. Partial approval: In this only few PO lines get approved. 2. Complete Approval: In this all the PO lines get approved. PO_HDR PO_STATUS ---- Open Approved Partial Deny Recycle PO_LINE APPR_STATUS ------- Approved Deny Navigation: Purchasing purchase order approve amount

DISPATCH PURCHASE ORDER This is a process where we send approved purchase order information to the vendor. This is used to place an order with the vendor. PO Dispatch Is of two types: Single PO dispatch: In this, we can dispatch only one PO to one vendor at a time. Multiple PO dispatch: In this, we can dispatch multiple POs to multiple vendors at a time.

Navigation: Purchasing purchase order dispatch POs DISPATCH METHODS: Print Email Fax Phone DISPATCH OPTIONS: Original: we can dispatch the PO only once. Duplicate: copy of an original. Test: test before sending original copy CREATE RECEIPT: This is an entry which is created in purchasing module to capture the quantity received from the vendor, for a purchase order. To create a receipt, we must go through inspection processes. We perform physical and logical inspection of goods before creating a report. Receiving is of different types 1. Complete Receiving: In this, the quantity ordered is equal to the quantity received.

2. Partial Received: In this the quantity ordered is greater than quantity received and passed inspection. 3. Over Received: In this the quantity ordered is less than the quantity received and passed inspection. Note: Receipts are created by receiver. One PO can have multiple Receipts.

Receipt is of two types: 1. Normal receipt: In this while creating a receipt, we can see the PO ordered quantities. 2. Blind Receipt: In this, while creating the receipt; we cannot see the PO ordered quantities. PO quantity 10 10 10 10 10 received quantity 10 8 8 10 12 failed inspection 0 0 2 2 0 pending quantity 0 2 4 complete partial partial

2 partial 0 over

RECV_HDR ------ receiver header RECV_LN_DISTRIB ------- receiver distribution line Navigation: Purchasing receipts add/update receipts RETURN TO VENDOR: This is performed when the quantity failed inspection is greater than 0 This can be performed in two ways: I. II. Replacing goods Adjust the amount.

Miscellaneous transactions CANCEL REQUISTION: This is used to stop further processing on the requisition. Navigation: Purchasing requisition add/update requisition find an existing PO CANCEL PO: This is used to stop further processing on the PO Navigation: Purchasing requisition add/update requisition find an existing PO CHANGE ORDER: This is used to modify the quantity or price of an purchase order which has been dispatched and before creating the receipt. Navigation: Purchasing purchase order add/update PO open PO click on a button X CLOSE REQUISTION: This is used to mark the requisition as complete. Navigation: Purchasing requisition reconcile requisitions close requisitions Process Type: Application Engine Process Name: PO_REQRCON CLOSE PO: This is used to mark the PO as complete. Navigation: Purchasing purchase order reconcile POs close PO Process Type: Application Engine Process Name: PO_PORECON Required steps: o Vendor setup

o Bank and branch setup o Account setup o With-holding setup VENDOR SETUP: This is a place where we define vendors in PeopleSoft. Vendor is a person who provides goods or services. Classification: Supplier Vendor: Vendor who provides goods or services. Employee Vendor: HRM Vendor: Vendor to whom any expensed related to HR activities like annual day functions, team outings, campus recruitments etc Attorney Vendors: Vendor to whom any tax payments will be done. Vendor Persistence: Regular Vendor: These are the vendors with whom the transaction are regularly done. One Time Vendor: These are the vendors with whom we perform only one transaction. BASED ON WITHHOLDING Withholding Vendor: The vendors to whom the tax amount will be holded and paid to attorney vendor and rest of the other amount is paid to actual vendor. Non-Withholding Vendor: The vendor to whom the entire amount is paid and vendor is responsible to pay the tax. Required data Vendor id Vendor name Vendor phone and fax number Vendor addresses

Vendor location Vendor email Vendor contact information Vendor email Vendor contact information Vendor withholding information TIN ( Tax Identification Number) Vendor bank account Details Vendor payment details Tables: VENDOR ---- Vendor table VENDOR_ADDR ----- Vendor address table VENDOR_LOC ----- Vendor Location table VENDOR_PAY-------- Vendor payment table VENDOR_PHN ------ Vendor phone table VENDOR_CNTCT ----- Vendor contact table VENDOR_WTHD ----- Vendor withholding table VENDOR_ID_NBRS ----- Vendor Id numbers VENDOR_BANK_ACCT ------- Vendor account table BANK AND BRANCH SETUP This is a place where we define the banks and branches where the company holds the account. BANK SETUP: This is a place where we define the banks, where the company holds the account. Navigation: Banking banks and branches bank information

BRANCH SETUP: This is the place where we define the branches where the company holds the account and tie it to the bank. Navigation: Banking banks and branches bank branch information ACCOUNT SETUP This is the place where we define the account. There are two types of account setup o External account: (physical account): These are the accounts which physically exist in banks and branches. Navigation: Banking Bank Accounts External Accounts o Internal account: These are the accounts which logically exist in PeopleSoft which are used to take crucial or critical business decisions to obtain problems. Navigation: Banking Bank Accounts Internal Accounts WITHHOLDING SETUP: This is the place where we define taxation goods. Withholding rule Withholding class Withholding jurisdiction Attorney vendor Withholding entity

Withholding rule: This is the place where we define the taxation rules as per income tax rules which consists of lower limit, upper limit, tax percentages and surcharges.

Navigation: Setup financial / supply chain product related procurement options withholding rules Withholding class: This is a collection of withholding rules. Navigation: Setup financial / supply chain product related procurement options

withholding Types and classes Withholding jurisdiction: This is used to define the court which is used to take any legal action on tax disputes. Navigation: Setup financial / supply chain product related procurement options withholding jurisdiction Attorney vendor: Vendor to whom we pay the taxes. Withholding entity: This is the place which is used to do withholding classes and assign withholding jurisdiction and attorney vendor. Navigation: Setup financial / supply chain product related procurement options withholding withholding entity ACCOUNT PAYABLES This is used to do payments to the vendors. Steps: o Create vouchers o Approve vouchers o Matching process o Voucher posting o Voucher payment o Payment posting

Miscellaneous transactions o Cancel voucher o Cancel payment o Unposting voucher o Closed voucher o Unposting payment

CREATE VOUCHERS: This is an entry created in account payables module to do payment to the vendor. Classification based on PO PO based voucher: Voucher created from a PO which is approved and dispatched. Non-PO based Voucher: Voucher created without a PO Classification based on Withholding Withholding voucher: Voucher created for a withholding vendor. In this voucher, we have two payment lines one to the vendor and the other to the attorney vendor. Non-withholding voucher: Voucher created for a non withholding vendor. In this voucher, we will have only one payment line to the vendor. Classification based on Item Asset based voucher: This is a voucher which is used to perform payment for the asset items. Non asset based voucher: This is a voucher which is used to perform payment for a non-asset item. Voucher styles Regular Voucher: These are the normal Vouchers created in AP modules. Prepaid Voucher: This is used to perform advance payment.

Adjustment Voucher: This is used to adjust the amount for an existing regular voucher which has been posted. Reversal Voucher: This is used to pass an reversal entry to an existing regular voucher which is posted to nullify the voucher amount. Journal Voucher: This is used to balance the accounts in AP and GL with the bank.

Required data: Business unit Voucher id Invoice id Journal id Invoice date Voucher line Item quantity Unit of measure Unit of price Department, project id Account Voucher distribution lines Voucher tables VOUCHER -------- voucher vendor table VOUCHER_LINE ------ voucher line table VISTRIN_LINE ------ voucher distribution line Navigation: Account payables vouchers add/update regular entry APPROVE VOUCHERS

This is the place where the approver approves the voucher by considering the quantity, item and unit price. VOUCHER APPR_STATUS ------ Pending Approved Deny Navigation: Account payables vouchers approve Approve vouchers MATCHING PROCESS This is required only for the PO based vouchers. This is required to do the payment for a PO based voucher. Matching process is of two types: Two way matching: In this, the quantity and the unit price will be matched between the PO and Voucher. Three way matching: In this, the quantity and the unit price will be matched with requisition, PO and voucher. Match process results in match exceptions. When we encounter a match exception we have two options: 1. correct at appropriate level (best) 2. overwrite the match exception VOUCHER MATCH_STATUS ------Pending Success Exception Overwrite Navigation: Account payables Batch Processes Vouchers Match Request Process Type: Application Engine

Process Name: AP_MATCH VOUCHER POSTING This process performs the following clxi. clxii. clxiii. Identifies the data that need to be sent to GL from the vouchers which are not Identifies the prepaid amounts which are in open status and applies to the register Performs withholding calculations for the withholding vouchers. distributed to GL and populate that data into voucher accounting line tables. voucher for the same vendor. VCHR_ACCPG_LN -----voucher accounting line table VCHER_PYMT_XRT ----- payment voucher cross reference table Navigation: Account payables Batch Processes Vouchers Voucher Posting Request Process Type: Application Engine Process Name: AP_PSTVCHR VOUCHER PAYMENT This is the place where we perform payments to the voucher. We have two types of payments o Express Payment (single voucher payment ) In this we can only pay one voucher at a time. This uses quick pay cycles. Navigation: Account payables Vouchers add/update regular entry Find an existing Value Payment space express payment o Pay cycles This is used to pay multiple vouchers to multiple vendors at a time. This is used to perform multiple voucher payment to multiple vendors. Navigation:

Account payables Payment Pay Cycle Processing Pay Cycle Manager Pay cycle elements: Navigation: Account payables Payments Pay Cycle Definitions step PeopleSoft delivered step table is MODEL Step table/ step group: This is collection of pay cycle steps in the execution sequence. Navigation: Account payables Payments Pay Cycle Definitions step Table Pay cycle definition / pay cycle selection: This is used to provide input criteria for a pay cycle by assigning a name. Navigation: Account payables Payments Pay Cycle Processing Payment Selection Criteria. Steps to run a PAYCYCLE o Open the pay cycle and provide required input criteria like payment date range, vendor class, payment method etc. Navigation: Account payables Payment Pay Cycle Processing Pay Cycle Manager o Run payment selection process: This process picks the list of vouchers which satisfies provided input criteria and the vouchers which has not yet paid o Exclude the list of vouchers that should not be paid as a part of this pay slip o Run payment creation process: This process generates payment reference id for the selected list of vouchers in the table. Process Type: Application Engine Process Name: AP_APY2015 o Print cheques: This process is used to print the cheques to the vouchers in the payment process name Process Type: Crystal Check Step: This is a program or a process in a pay cycle.

Process Name: APY2021 PAYMENT POSTING This process identifies the required data related to payment that need to be distributed to GL and populate that data into voucher accounting line table. Navigation: Account payables Batch Processes Payment Payment Posting Process Type: Application Engine

CANCEL VOUCHER This is used to stop the further processing on the voucher. This can be done only before voucher posting. Navigation: Account payables Vouchers add/update Delete Voucher

CANCEL PAYMENT This is used to stop the payment. This can be done only before payment posting. Navigation: Account payables Payments cancel/void Payments Payment Cancellation CLOSED VOUCHER This is used to mark the voucher as complete. Navigation: Account payables Vouchers add/update close Voucher UNPOSTING VOUCHER This is used to cancel the GL entry related to the voucher. This is done after voucher posting, if the deal with the vendor is cancelled.

Navigation: Account payables Vouchers add/update Unpost Voucher UNPOST PAYMENT This is used to cancel the GL entry related to the payment. This is done after payment posting.

ASSET MANAGER Asset is an item which consists of depreciation or resale value. Every asset consists of life. Asset life is the time period by which the value of an asset becomes 0. Asset class/ Asset types This is a collection of asset having same life or depreciation. Asset book This is used to maintain assets separately like local book which consists of subsidized and non subsidized assets in local currency, income tax book which consists of only non subsidized asset information in local currency. Corporate book: consists of both subsidized and non subsidized information in foreign currency. FINANCIAL DATES o CREATION DATE: The date on which the entry is created in PeopleSoft. o TRANSACTION DATE: The date on which the transaction has happened. Transaction date is less than or equal to creation date. o ACCOUNTING DATE: The date on which the transaction must hit the GL account o PAYMENT DATE: The date from which the payment is valid. o ACQUISITION DATE: The date on which we acquire the asset.

o INSERVICE DATE: The date on which we started using the asset. o DEPRECIATION DATE: The date from which the depreciation need to be calculated. o RETIREMENT DATE: The date on which the asset completes its life or the asset is disposed. o POSTING DATE: The date on which the data is sent or distributed to GL. o APPROVAL DATE: The date on which the entry is approved.

BUSINESS AND ASSET MANAGEMENT CREATE ASSET: This is an entry created in AM module to add an asset to the system database. Required data Business unit Asset id Asset cost Asset class Asset description Acquisition date In-service date Depreciation date Asset book information Asset acquisition details Tables: ASSET Asset information table COST Asset cost table BOOK Asset book table ASSET_ACQ_DE Asset acquisition table

OPEN_TRANS open transaction table Navigation: Asset Management Asset Transactions Owned Assets Basic Asset CALCULATE DEPRECIATION This process calculates depreciation for the entire life of data on a monthly basis and insert into asset depreciation table. Depreciation calculation is of two types: o Straight line depreciation: In this the depreciation percentage is applied on the asset cost. o Declining balance depreciation: In this the depreciation percentage is applied on the resale value of asset. Tables: DEPRECIATION --- Asset depreciation table OPEN_TRANS CALC_DEPR_STATUS ------ Pending Complete Navigation: Asset Management Depreciation Processing Calculate Process Type: Application Engine Process Name: AM_DEPR_CALC CREATE ACCOUNTING ENTRIES This process retrieves the data that need to be distributed to GL from asset management tables related to asset addition, asset adjustments and asset retrievement and populates data into asset distribution tables. Tables: DIST_LN ----ASSET_DISTRIBUTION_LINE OPEN_TRANS --- CALC_DIST_STATUS --------Pending Complete

Navigation: Asset Management Accounting Entries Create Accounting Entries Process Type: Application Engine Process Name: AM_AMAEDIST CLOSE DEPRECIATION This process calculates the sum of depreciation amounts for all the assets in the current month and inserts the data into asset distribution line table. Navigation: Asset Management Accounting Entries Close Depreciation Process Type: Application Engine Process Name: AM_DPCLOSE CREATE ASSET VOUCHER JUNE 18, 2011

Voucher is an entry which we create in AP module whereas incase of asset voucher we select asset switch while creating vouchers for asset items. LOAD ASSET REQUEST This process selects the asset based vouchers which are not yet sent to AM module Navigation: AP Batch Processes Extracts and loads Load Asset Request Process Type: Application Engine Process Name: INTFAPAM RETRIEVE INFORMATION FROM AP/PO This process fix the require data to create asset from the selected list of asset vouchers and populates into AM interfacing Tables INTFC_FIN Financial Information Table

INTFC_PHY_A Physical Information Table INTFC_PHY_B Physical Information Table Navigation: Asset Management Send / Receive Information Retrieve info from AP/PO Process Type: Application Engine Process Name: AMPS1000 UNITIZE ASSET The process of breaking an asset into equal pieces where the quantity is greater than 1 is called utilization. An Asset where Quantity is greater than 1 is called a composite or group asset. Navigation: Asset Management Send / Receive Information Load Transactions Unitize asset LOAD TRANSACTIONS This process fixes the data from the interfacing tables and creates assets in asset management. Navigation: Asset Management Send / Receive Information Load Transactions Process Type: Application Engine Process Name: AMIF1000 MISCELLANEOUS TRANSACTIONS COST ADJUSTMENT This is used to modify the price of an asset for which depreciation is calculated. Navigation: Asset Management Asset Transactions Financial Transactions Cost Adjustment/Transfer BOOK ADJUSTMENT

This is used to modify the in-service date or depreciation date of an asset for which depreciation is calculated. Navigation: Asset Management Asset Transactions Financial Transactions Cost Adjustment/Transfer RETIRE ASSET This is used to make the asset value as 0 Asset Retirement is of two types as provided below Partial Retirement: This is retiring an asset before completing its life. Complete Retirement: This is retiring an asset after completing its life. Navigation: asset POPULATE REPORTING TABLE This process fixes the consolidated data from the asset management table and populates into reporting table. DEPR_REPT_TBL Depreciation Reporting table Navigation: Asset Management Financial Reports Load Reporting Tables DEPR Reporting table. GENERAL LEDGER (GL) SETID and BUSINESS UNIT These are used to define the structure of client business. This is used to define the financial calendar that will be used in PeopleSoft. PeopleSoft supports different calendars Yearly calendar 1 period Half yearly calendar 2 periods Quarterly calendar 4 periods Asset Management Asset Transactions Asset Disposal Retire / Restate

Monthly calendar 12 periods By-monthly calendar 24 periods Weekly calendar 52 or 53 periods Daily calendar 365 periods In addition to the above normal periods, we use 998 and 999 as adjustment periods.

CREATE JOURNALS This is an entry created in GL module. We can create journals in different ways Online journal entry: The process of creating journals using online pages is called as online journal entry. We can create different journals as provided below. Standard journal: This is a normal journal entry that is created in GL Adjustment journal: This is used to pass an adjustment entry to an existing standard journal which has been passed. Recurring journal: These are the journals which occur at regular time intervals for the same amount. Reversal journal: This is used to pass an reversal entry to an existing standard journal which has been posted, to make the journal amount as 0 Suspense correction journal: These journals are used to balance the accounts in the standard journals to which the adjustments need to be passed is not known. These journals are created for adjustment periods. Sub System journals: These are the journals which are created from a subsystem like PO, AP and AM etc This consists of journal generator process which picks the data from the subsystems and creates journals in GL o PO PO_LN_DISTRIB

o AP VCHR_ACCTR_LN o AM DIST_LN IMPORT JOURNALS This is used to create journals from the files. This is of two types. Flat file import: This is used to create journals from text files. Navigation: GL Journals Import journals External flat files Process Type: Application Engine Process Name: GL_JRNL_IMP Spreadsheet import journal: This is used to create journals from the excel file. Navigation: GL Journals Import journals Spreadsheet journals Process Type: Application Engine Process Name: GL_EXCL_JRNL EDIT JOURNALS This is used to mark the journal editing as complete. This is of two types: Single journal editing: In this we edit, one journal at a time. Navigation: GL Journals journal entry create/update journals Multi journal editing: In this we edit, multiple journals at a time. Navigation: GL Journals Process journals edit journals Process Type: Application Engine Process Name: GL_JEDIT MARK JOURNALS FOR POSTING

This is a manual process where we select the journals that should be posted Navigation: GL Journals Process journals mark journals for posting POST JOURNAL This process moves the journal data from journal header and line table to the ledger table. Navigation: GL Journals journal entry create/update journals (single journal posting) GL Journals Process journals Post journals (multi journal posting) Process Type: COBOL SQL Process Name: GLPPOST FINANCIAL SECURITY In PeopleSoft finance, we maintain financial security using the below concepts. Chart fields: These are normal fields that are available in PeopleSoft whereas, using these fields we create a table called as chart of accounts table and enter chart field combination tables. Steps for chart field security Select the required chart fields to create chart of accounts table. Setup Financial / Supply chain Common Definitions Design chart fields configure Standard Configuration Create chart of accounts table by running chart field configuration process. Setup Financial / Supply chain Common Definitions Design chart fields configure Standard Configuration Provide the required chart field combination tables. Navigation:

Navigation:

Navigation:

Setup Financial / Supply chain Common Definitions Design chart fields combination editing combination rule USER PREFERENCES This is a place where we define the list of operations an user can perform in the PeopleSoft financial systems. Navigation: Setup Financial / Supply chain Common Definitions user preferences define user preferences

Questions:

SUPPLY CHAIN MANAGEMENT (SCM) Purchasing or Billing Questions:

FUNCTIONAL HRMS MODULES: Administrator Workforce Base Benefits, Global pay Roll. Questions:

You might also like