Showing posts with label General. Show all posts
Showing posts with label General. Show all posts

Thursday, September 23, 2010

XMLP Report Generation and Download Issue

There were two issues reported by user recently related to XMLP:
1) Suddenly XMLP Reports were not getting generated
2) Also, user is not able to download the existing template

App Server Log file shows following error messages while generating an XMLP Report:
Output Xliff file: XDOException:No source available for parsing
During calling method PTRTFPocessor.generateXSL, the XDO engine throws an exception: No source available for parsing. (235,3101) (235,2304)


Trace File shows following exception message for downloading the XMLP Template:
PSAPPSRV.4931 (339) 1-334 12.37.03 0.000042 ExecuteGetAttachmentDB: lpszTblName = PSFILE_ATTDET
PSAPPSRV.4931 (339) 1-335 12.37.03 0.001462 ExecuteGetAttachmentDB: Fetching data
PSAPPSRV.4931 (339) 1-336 12.37.03 0.002891 ExecuteGetAttachmentDB: failed trying to write file
PSAPPSRV.4931 (339) 1-337 12.37.03 0.000005 ExecuteGetAttachmentDB: Data fetched
PSAPPSRV.4931 (339) 1-338 12.37.03 0.000054 ExecuteGetAttachmentDB: Finished getting file.
PSAPPSRV.4931 (339) 1-339 12.37.03 0.000027 193: If &Rtn <> %Attachment_Success And
PSAPPSRV.4931 (339) 1-340 12.37.03 0.000015 194: throw CreateException(235, 5, "Error downloading file");


The XMLP Report logging was found enabled for the environment which was creating huge files ( in /tmp/xdodebug) and have occupied most of temp space over the period of 2 months - making /tmp filesystem 100% full. This caused both the issues.

To resolve this, delete the old files created under /tmp/xdodebug folder (or whatever location is defined in your /jre/lib/xdodebug.cfg file). Also, you can choose to disable the XMLP logging by deleting the xdodebug.cfg file. Recreate the config file when you want to enable the XMLP Logging to replicate the issue - xdodebug.cfg file contains following two parameter:
LogLevel=OFF or STATEMENT
LogDir=/tmp/xdodebug

Monday, September 13, 2010

Troubleshooting Tips

Would like to share my troubleshooting tips - not necessarily among the best in the business but these suit me well:


1- Think of all the possible reasons - The Environment Components, Connectivity, Port, Side effect of any release/bundle/fix applied, The nature of the issue - consistent/intermittent etc.

2- Do Not implement any resolution immediately that you come across while surfing the community - rather think logically from your environment perspective and then take a call

3- Understanding of your infrastructure would be helpful while you start ruling out the culprit


Thursday, May 28, 2009

PROCESS GROUP

Process group is crucial in securing the processes and jobs in the system. It is possible to restrict access to certain processes within PeopleSoft by establishing process groups. A batch process is assigned a 'Process Group' when created. That 'Process Group' is then linked to a permission list (PL). The PL is then assigned to a 'Role' and, subsequently, to a USERID. Process groups are collections of process definitions that you create using PeopleSoft Process Scheduler.
Navigations to Assign a Process to a Process Group:
PeopleTools -> Process Scheduler -> Processes -> Process Definition Option Tab -> Process Security section
Navigations to Assign a Process Group to a Permission List:
PeopleTools -> Security -> Permissions & Roles -> Permission -> Process tabs -> Process Group Permissions

Users can run only the processes that belong to process groups assigned to their roles. For example, you may have a set of process definitions that relate to your Human Resources department and another set for your Manufacturing department. If process 'P1' is in the process group 'PG1' and any of the Permission List (PL) of the user, say 'USER1', does not have access to that process group 'PG1' - then - that user 'USER1' cannot run the process 'P1'. A process definition can be a member of multiple process groups.

The process group are not stored in any setup table of its own. They are stored in the table - PRCSDEFNGRP and PRCSJOBGRP (where process and job definitions are stored). If you look at the prompt for PRCSGRP field in those tables, it is a 'PROMPT WITH NO EDIT' - It means, you can keep adding new Process groups on the fly, on process and job definition components. You may want to execute below queries for better understanding:
select * from PS_PRCSDEFNGRP
select * from PS_PRCSJOBGRP

Wednesday, May 27, 2009

PsCIA - PeopleCode & File Pre-Processors

DDL for Tables created by PeopleCode & File Pre-Processors:

You must run the PeopleCode pre-processor to generate the database tables that Change Impact Analysis reads and analyzes.

The PeopleCode pre-processor generates two tables:
• PSCIAPCXREF
• PSCIAPCXREFTIME

You must have permission to create, delete from and write to these files. If you have full privileges, you can create these files prior to using Change Impact Analyzer.

****************************************************************************************************************
Note. Database administrators may consider assigning user IDs and passwords that grant read-only access to the database. However, users need create and write access to these work tables used by Change Impact Analyzer.
****************************************************************************************************************

The File Pre-processor generates the following database tables that Change Impact Analysis reads to perform analysis.
• PSFILEPROCESSRUN
• PSSQLXREFDEFN
• PSSQLXREFITEM
• PSFILESQLXREFDEFN
• PSFILEXREFDEFN

Note. You must have permission to create, delete from and write to these files. If you have full privileges, you run the pre-processor and create these files beforehand. DDL for above tables for DB2/Unix, DB2/OS390:

-- Table 1 - PSCIAPCXREF

CREATE TABLE OWNERID.PSCIAPCXREF (
PROGSEQ INT NOT NULL
,REFOBJECTID1 SMALLINT NOT NULL
,REFOBJECTVALUE1 CHAR(60) NOT NULL
,REFOBJECTID2 SMALLINT NOT NULL
,REFOBJECTVALUE2 CHAR(60) NOT NULL
,REFOBJECTID3 SMALLINT NOT NULL
,REFOBJECTVALUE3 CHAR(60) NOT NULL
,REFOBJECTID4 SMALLINT NOT NULL
,REFOBJECTVALUE4 CHAR(60) NOT NULL
,REFOBJECTID5 SMALLINT NOT NULL
,REFOBJECTVALUE5 CHAR(60) NOT NULL
,REFOBJECTID6 SMALLINT NOT NULL
,REFOBJECTVALUE6 CHAR(60) NOT NULL
,REFOBJECTID7 SMALLINT NOT NULL
,REFOBJECTVALUE7 CHAR(60) NOT NULL
,OBJECTID1 SMALLINT NOT NULL
,OBJECTVALUE1 CHAR(60) NOT NULL
,OBJECTID2 SMALLINT NOT NULL
,OBJECTVALUE2 CHAR(60) NOT NULL
,OBJECTID3 SMALLINT NOT NULL
,OBJECTVALUE3 CHAR(60) NOT NULL
,OBJECTID4 SMALLINT NOT NULL
,OBJECTVALUE4 CHAR(60) NOT NULL
,OBJECTID5 SMALLINT NOT NULL
,OBJECTVALUE5 CHAR(60) NOT NULL
,OBJECTID6 SMALLINT NOT NULL
,OBJECTVALUE6 CHAR(60) NOT NULL
,OBJECTID7 SMALLINT NOT NULL
,OBJECTVALUE7 CHAR(60) NOT NULL
)
IN

-- Table 2 - PSCIAPCXREFTIME
CREATE TABLE OWNERID.PSCIAPCXREFTIME (
LASTRUN CHAR(120)
)
IN

-- Table 3 - PSFILEPROCESSRUN
CREATE TABLE OWNERID.PSFILEPROCESSRUN (
LASTREFRESHDTTM TIMESTAMP
,FPPSTATUS CHAR(10) NOT NULL
)
IN

-- Table 4 - PSSQLXREFDEFN
CREATE TABLE OWNERID.PSSQLXREFDEFN (
XREF_ID CHAR(128) NOT NULL
,XREF_SQLTYPE CHAR(1) NOT NULL
,DBTYPE CHAR(1) NOT NULL
,XREF_GROUPBY_CNT SMALLINT NOT NULL
,XREF_ORDERBY_CNT SMALLINT NOT NULL
,XREF_HAVING_CNT SMALLINT NOT NULL
,XREF_SUBQUERY_CNT SMALLINT NOT NULL
,XREF_OUTERJOIN_CNT SMALLINT NOT NULL
,LASTUPDDTTM TIMESTAMP
,SQLTEXT LONG VARCHAR
)
IN

-- Table 5 - PSSQLXREFITEM
CREATE TABLE OWNERID.PSSQLXREFITEM (
XREF_ID CHAR(128) NOT NULL
,XREF_SQLTYPE CHAR(1) NOT NULL
,DBTYPE CHAR(1) NOT NULL
,XREF_ITEMSEQ SMALLINT NOT NULL
,XREF_ITEMTYPE CHAR(4) NOT NULL
,XREF_RECNAME CHAR(30) NOT NULL
,XREF_VALUE CHAR(128) NOT NULL
,XREF_USAGE CHAR(4) NOT NULL
,XREF_CLAUSE CHAR(5) NOT NULL
)
IN

-- Table 6 - PSFILESQLXREFDEFN
CREATE TABLE OWNERID.PSFILESQLXREFDEFN (
SOURCE_FILE CHAR(40) NOT NULL
,FILE_TYPE CHAR(4) NOT NULL
,XREF_ID CHAR(128) NOT NULL
)
IN

-- Table 7 - PSFILEXREFDEFN
CREATE TABLE OWNERID.PSFILEXREFDEFN (
SOURCE_FILE CHAR(40) NOT NULL
,CALLED_FILE CHAR(40) NOT NULL
,FILE_TYPE CHAR(3) NOT NULL
)
IN

Monday, February 23, 2009

Configuring Report Manager - List/Explorer

Here I'll try to describe an approach to setup Report Manager - List/Explorer in PeopleTools 8.48. This is not a compherensive explaination... It, however, may help you understand basic approach.

Report Manager is a utility in PeopleSoft to view Reports from a different place than Process Monitor. Navigation: Reporting Tools -> Report Manager. It has fours pages: List, Explorer, Administration and Archives.
PSDSTSRV generates a message after a process gets posted in process monitor in order to display reports in Report Manager - List and Explorer page. Hence Integration Broker setup needs to be done and PUB/SUB App Server Processes required to be up and running. Here are the configuration steps:
- Navigate to PeopleTools -> Integration Broker -> Integration Setup -> Service Operations
- IB needs to be configured for four services
  • PSRF_FOLDER_CREATE
  • PSRF_REPORT_CREATE
  • PSRF_REPORT_DATE_CHANGE
  • PSRF_REPORT_DELETE
- Open Service Operation PSRF_FOLDER_CREATE and make it active in General tab.

- In Handlers tab add a handler and make it Active. Handler name might differ from the screenshots's name but the Application Class definitons must match. Package name is same as the service operation name.

- In Routings tab, add a routing definition and make it active. Not sure, but I think only one routing definition must be active at a time... Sender and Receiver node are the local nodes - in my case it is PSFT_HR... to confirm your local node, go to PeopleTools -> Integration Broker -> Integration Setup -> Nodes and search for node...

- Repeat the above activity for rest of the services PSRF_REPORT_CREATE, PSRF_REPORT_DATE_CHANGE, and PSRF_REPORT_DELETE also. Configuration is almost similar e.g., make the service active in general tab, Add a new handler and make it active (class id would differ for all) in handler tab, Add a new Routing Name and make it active in Routings tab.
You might want to navigate PeopleTools -> Integration Broker -> Integration Setup -> Routings / Services to check your routings or Services definition and status.
Here completes IB configuration from PIA. A prior understanding of IB setup would help troubleshooting or any kind of configuraiton understanding in case something looks missing here.
Next step is to start the PUB/SUB App Server Processes... Once these server processes are up and running, reports would get displayed in Report manager - List/Explorer page.
Of course, basic IB setup is pre-requisite for the above activity to work. This includes Gateway configuration (PeopleTools -> Integration Broker -> Configuration -> Gateway), Gateway Setup Properties (PeopleTools -> Integration Broker -> Configuration -> Gateway -> Gateway Setup Properties), Quick Configuration (PeopleTools -> Integration Broker -> Configuration -> Quick Configuration) where you need to Gateway URLs and IB domains are active.
*** queries are always welcome.

Friday, February 13, 2009

COBOL - Configuring instance specific CBLBINs - Contd...

In continuation to previous blog: COBOL - Configuring instance specific CBLBINs, I would like to state an interesting problem I encountered with the configuration of instance specific CBLBINs. The problem was with a RemoteCall made to a COBOL program from an App Engine.


Payroll Interface app engine program PI_INRUN was going into "No Success" with message of COBOL program PIPINRUN abort. To dig out the problem further, I generated the log file by setting RCCBL Redirect=1 in psprcs.cfg. The file PIPINRUN_xxxxxx.err shows that the RemoteCall is looking for the desired cobol in wrong directory ($PS_HOME/cblbin) - not in the correct directory (which is the customized one) $PS_HOME/CBLBIN_INS.


The problem was because of one Remote Call paramter RCCBL PRDBIN which was missing from the psprcs.cfg (I am not sure, but it looks like that - the process scheduler config file in UNIX platform does not include this parameter by default). After entering this paramter (RCCBL PRDBIN=$PS_HOME/CBLBIN_INS) in Remote Call section of psprcs.cfg file and reconfiguring the process scheduler file - problem resolved. This parameter is used only when a Remote Call is made to a COBOL program from AE... for normal COBOL SQL programs, this parameter is not necessary.

Friday, February 6, 2009

Change Assistant

Download this document - (.doc) or (.pdf)

Change Assistant Introduction
Change Assistant (CA) was first released in PeopleTools 8.44. Change Assistant (CA) automates many task for applying any bundle, maintenance pack etc. Some benefits of using CA are:
- CA can find out bundles/MPs that have already been applied to a PeopleSoft Database
- CA can figure out Bundles/MPs that need to be applied
- CA can download new bundles/MPs
- CA can determine pre-requisites and post-requisites
- CA can determine the order in which new Bundles/MPs are applied
- CA can migrate bundle/MP project automatically
- CA can generate and execute DDL scripts
- CA can execute Data Mover Scripts
- CA can deploy files such as SQR, COBOL etc to file servers

Environment Management Framework (EMF)
PeopleSoft Environment Management (PSEM) Framework enables CA know about the PeopleSoft installation, configuration, and update information. It is used to obtain the configuration and setup information about PeopleSoft environments (i.e., the files servers, the web servers, the application servers, the process scheduler servers and the individual hosts/machines).
CA uses EMF to apply updates to PeopleSoft installation and configurations by helping in carrying out commands remotely on different machines.
EMF has three core elements:
- Environment Management Agent (PSEM Agent): A Java executable. Only one instance of the agent can run at a given time per physical machine. PSEM Agents are setup on each of the servers. Each PSEM Agent initiates communication to the hub (PSEMHUB) and is assigned a unique peer ID.
- Environment Management Hub (PSEMHUB): A web application that is installed at the time of PIA installation and resides at web server machine. It is started automatically at the time web server is booted up. This hub acts as a broker for all communication between peers. It gathers and reports on the environment information sent to it by PSEM Agents.
- Environment Management Viewer (PSEM Viewer): A command line tool that helps users view data that is retrieved from the PSEMHUB.
Before using Change Assistant (CA) for applying bundles/MPs, EMF should be configured and PSEMAgent should be started up on all the servers.

Change Assistant Validation
Make sure the HUB is up and running before starting EMAgents. Before starting the PSEMAgents – complete tasks below:
Web Server Specific: Delete the following directories:
$PS_HOME\webserv\peoplesoft\applications\peoplesoft\PSEMHUB\envmetadata\PersistentStorage
$PS_HOME\webserv\peoplesoft\applications\peoplesoft\PSEMHUB\envmetadata\scratchpad
$PS_HOME\webserv\peoplesoft\applications\peoplesoft\PSEMHUB\envmetadata\data\environment
$PS_HOME\webserv\peoplesoft\applications\peoplesoft\PSEMHUB\envmetadata\data\proxies
Except data.txt, delete other files from directory $PS_HOME\webserv\peoplesoft\applications\peoplesoft\PSEMHUB\envmetadata\data

Agent Specific: Delete the following directories on Linux machine:

$PS_HOME\PSEMAgent\envmetadata\data\ids
$PS_HOME\PSEMAgent\envmetadata\PersistentStorage
$PS_HOME\PSEMAgent\envmetadata\scratchpad
$PS_HOME\PSEMAgent\envmetadata\transactions (If it exists)
Except matcher.xml, delete other files from directory $PS_HOME\PSEMAgent\envmetadata\data

Viewer Specific: Delete the following directories on Linux and NT machines:
$PS_HOME\PSEMViewer\envmetadata\data\ids
$PS_HOME\PSEMViewer\envmetadata\PersistentStorage
$PS_HOME\PSEMViewer\envmetadata\scratchpad
$PS_HOME\PSEMViewer\envmetadata\transactions (If it exists)

Change Assistant Specific: Delete the following directories on the machine where Change Assistant being setup:
$PS_HOME\PSEMAgent\envmetadata\data\ids
$PS_HOME\PSEMAgent\envmetadata\PersistentStorage
$PS_HOME\PSEMAgent\envmetadata\scratchpad
$PS_HOME\PSEMAgent\envmetadata\transactions (If it exists)
Except matchers.xml, delete other files from directory $PS_HOME\PSEMAgent\envmetadata\data

Now start the PSEMAgent on each of the Application Server and Process Scheduler machines, which includes Linux as well as Windows machines.

Make sure EMAgents are running before using Change Assistant to validate the Environment Management Hub (PSEMHUB)

Change Assistant Setup
To start with, identify an environment that will act as a PSEMHUB.

Configure PSEHMHUB
To start with, identify an environment that will act as a PSEMHUB. In case of a single server configuration for PIA, the PSEMHUB is started whenever we start PIA… and uses the same http post as the PIA.
Let’s say if the PIA URL is:
http://ws1_ip:9081/site/signon.html, the hubURL will be http://ws1_ip:9081/PSEMHUB/hub (Format of hubURL is: http://[server_name]:[port]/PSEMHub/hub )

To configure PSEMHUB:

- Go to below directory (of web server machine) $PS_HOME/webserv/DOMAIN_NAME/applications/peoplesoft/PSEMHUB/envmetadata/config

- Edit “configuration.properties” for hubURL, agentport (must be unique) and windowsdrivestocrawl or unixdrivestocrawl.
hubURL=http://ws1_1p:9081/PSEMHUB/hub
unixdrivestocrawl=/u02/pt848
or
windowsdrivestocrawl=D:\pt848

Configure PSEM Agent
To configure PSEM Agent:
- Go to $PS_HOME/PSEMAgent/envmetadata/config
- Edit “configuration.properties” for hubURL, agentport (must be unique) and windowsdrivestocrawl or unixdrivestocrawl.

Once PSEM Agent is configured, start the PSEM Agents in App Server machine, Process Scheduler Server machine, File Server machine, NT machine where CA is configured:
$PS_HOME/PSEMAgent/StartAgent.sh (in Unix) $PS_HOME/PSEMAgent/StartAgent.cmd (in Windows)

For the first time, start the PSEMAgent with recrawl command - so that it crawls the drives to identify the environment components (all servers):
$ $PS_HOME/PSEMAgent/StartAgent.sh recrawl (in Unix)
$PS_HOME/PSEMAgent/StartAgent.cmd recrawl (in Windows)

After recrawl is done, start PSEMAgent normally.
$ $PS_HOME/PSEMAgent/StartAgent.sh recrawl (in Unix)
$PS_HOME/PSEMAgent/StartAgent.cmd recrawl (in Windows)

Before doing so, you may want to modify the StartAgent.sh file in unix using nohup command - so that EM Agent keeps running even if we exit from unix box… To modify the StartAgent.sh, open it in vi editor and update the last line as:

nohup ../jre/bin/java com.peoplesoft.pt.environmentmanagement.agent.Agent $1 &

Save and exit.
Execute $./StartAgent.sh

Setup Change Assistance
Now, that we have done with the configuration of PSEMHUB and PSEM Agent – next step would be to setup Change Assistance.

Open the Change Assistance, and go to Tools -> Options:
- Select “Apply Application Update” as Change Assistant Mode
- Download directory is where we have downloaded the bundle or MP zip files
- Staging directory is the one which CA will use as a stage - it will extract zip files from Download directory to Staging Location and will use contents in this directory for processing
- Output directory is the one where CA will keep all the output files generated during implementation of a bundle or MP

Go to Tools -> Options -> Environment Management Tab:
- Server Host: enter the IP address of PSEMHUB machine
- Server Port: enter the Port Number at which PSEMHUB is configured
- Click Ping to check the connection
- Click View to see the Environment Management Hub Summary – it shows all the environments name and availability of their server components.
Go to Tools -> Scan Configuration:
Go to Tools -> validate:

Apply Change Packages (Bundles or MPs)

Go to Tools -> Apply Change Package:
- Next screen will show the installed environment found
- Select the target environment here
- Going ahead CA will ask for entering User ID (PeopleSoft User) and Access ID, Apply Directory (Download directory) etc.
- CA will show the list of all the change packages available at the above mentioned download directory as illustrated below
- Next, CA asks for the method to apply DB Build Scripts – I choose Manually option
- Next, CA shows the confirm selection screen where it summarizes to be applied MP or Bundle details
- Click Validate now
- Click Begin Apply

In Progress…

Next screen appears and I start applying the MP or Bundles now.

GUID

GUID uniquely identifies a database… PSOPTIONS tables stores value for GUID that is set the first time we start an Application Server… If our target database is refreshed by some source database, GUID would need to be reset… We would need to delete the existing value for GUID to blank in PSOPTIONS table – so that new value can be setup for the target database while booting the App Server for the first time.
Download this document - (.doc) or (.pdf)

Tuesday, July 29, 2008

Permission Lists Associated to a User

Here is the query to find the permission lists associated to a user:

SELECT A.OPRID, D.ROLEUSER, B.ROLENAME, B.CLASSID, C.ClASSDEFNDESC
FROM PSOPRDEFN A, PSROLECLASS B, PSCLASSDEFN C, PSROLEUSER D
WHERE A.OPRID=D.ROLEUSER AND B.CLASSID=C.CLASSID AND B.ROLENAME=D.ROLENAME AND A.OPRID= 'USER_NAME'
ORDER BY
B.CLASSID



Wednesday, July 23, 2008

PSPRCSRQST, PSPRCSQUE and PSPRCSPARMS

In order to avoid various process scheduler related issues, three Process Scheduler tables PSPRCSRQST, PSPRCSQUE and PSPRCSPARMS must be in sync.

Execute below queries:

select count(*) from PSPRCSRQST;select count(*) from PSPRCSQUE;select count(*) from PSPRCSPARMS;

If these queries give different results, you should bring them in sync by executing below statements:

DELETE FROM PSPRCSQUE QUE WHERE NOT EXISTS (SELECT 'X' FROM PSPRCSRQST RQST WHERE RQST.PRCSINSTANCE = QUE.PRCSINSTANCE);

DELETE FROM PSPRCSPARMS PARMS WHERE NOT EXISTS (SELECT 'X' FROM PSPRCSQUE QUE WHERE QUE.PRCSINSTANCE = PARMS.PRCSINSTANCE);

Also, Column RUNSTATUS of any process instance in table PSPRCSRQST must have same value in table PSPRCSQUE for that process instance... below query will show check for it.

select R.PRCSINSTANCE, R.RUNSTATUS, Q.PRCSINSTANCE, Q.RUNSTATUS from PSPRCSRQST R, PSPRCSQUE Q
where R.PRCSINSTANCE=Q.PRCSINSTANCE and R.RUNSTATUS != Q.RUNSTATUS

*** Also, it is a good practise to delete the processes with delete, error or cancelled status from the PeopleSoft tables:

DELETE FROM PSPRCSRQST where RUNSTATUS = '2' --> 2 is the run status for delelted process. DELETE FROM PSPRCSQUE where RUNSTATUS = '2'

*** Key Point: Data in PSPRCSRQST, PSPRCSQUE and PSPRCSPARMS tables must be in sync.

Thursday, July 10, 2008

Process Run Status - PSXLATITEM

You can query PSXLATITEM table to know the value corresponding to a process run status.




SELECT XLATLONGNAME, FIELDVALUE FROM PSXLATITEM WHERE FIELDNAME = 'RUNSTATUS';




XLATLONGNAME ------------ FIELDVALUE

------------------------- ----------

Cancel ------------------------ 1

Not Successful --------------- 10

Posted ------------------------ 11

Unable to post --------------- 12

Resend ----------------------- 13

Posting ----------------------- 14

Content Generated --------- 15

Pending ----------------------- 16

Success With Warning ------ 17

Blocked ----------------------- 18

Restart ----------------------- 19

Delete ------------------------- 2

Error -------------------------- 3

Hold -------------------------- 4

Queued ----------------------- 5

Initiated ---------------------- 6

Processing -------------------- 7

Cancelled --------------------- 8

Success ----------------------- 9



19 record(s) selected.

Thursday, May 8, 2008

Debugging Performance related issues.

There is no hard and fast rule for any trouble shooting. However, you may follow below guidelines to troubleshoot the perfornace related issues in your environment.
It requires debugging the following and in the specified order:
1. Database server
2. Application Server
3. WebServer
4. Network Bandwidth
5. PeopleSoft Application code itself
6. Memory of the boxes where the Appserver/Webserver booted.
7. Browser related
Step 1. Take multiple Database instances say PROD and TEST and try to execute SQL commits through front-end GUI, PIA. Observe the time complexities between the statements. The time taken should be relatively the same if there is any significant difference you know where the problem lies!
Step 2. Application Server tuning requires to set a lot of parameters in the PSAPPSERV.cfg file .
Check the follwing Parameters :
What is the size of the domain? small, medium, large ?
How many services booted for PSAPPSRV, PSQRYSRV, PSQUICKSRV ?Is there any core dump? Where does it fail? Get the error message from Appserv.log and the TUXLOG ?
Are the users power users or end users? If power users what kind of queries, reports and code do they kick off? Get an idea by actually reviewing those panels/pages and accordingly boot the required services in the Appserver. Use correct spawn values and TIMEOUTS. Check for any garbage collection. After trying all these try to boot the Appserver again with reset values and check the performance.
Verify the communication between the Appserver and the Database server.
Step 3. First thing I would recommend is to quickly boot an alternate webserver on a different box, installing PIA on top of it and point to the same Appserver to see if it still an issue. If the page gets a decent performance then you know the issue lies with that particular Weblogic install, get rid of it as it waste of time debugging it. Have the users point the URL to the correct install
Step 4. Load a third party application and compare it's performance wrt to PSFT.
Step 5. If 4 does not resolve anything then it could be bad Apps code which is causing this. Use Peoplecode debugger and debug the code.
Step 6. Make sure that there is decent swap size memory UNIX/NT/2000. On windows you turn on the task manager to see if there is a memory leak and/OR sudden spike in CPU usage. On UNIX you can increase the kernel parameters and increase the swap size to see if it makes any difference .
Step 7. There is not much you can do here other than how the performance is wrt IE vs Netscape etc. Most of these end up as PeopleTools product issue reports.
For RAS in users make sure the compression is always set to true in the configuration.properties

Monday, March 31, 2008

How to include graphics in the sqr report?

Using Graphics command we can include BOX, Vertical Lines or Horizontal Lines:
GRAPHIC ( { line_int_lit | _var }, { column_int_lit | _var }, { width_int_lit | _var } )
BOX { depth_int_lit | _var } [ rule_width_int_lit | _var [ shading_int_lit | _var ] ]
GRAPHIC ( { line_int_lit | _var }, { column_int_lit | _var }, { length_int_lit | _var } )
HORZ-LINE [ rule_width_int_lit | _var ]
GRAPHIC ( { line_int_lit | _var }, { column_int_lit | _var }, { length_int_lit | _var } )
VERT-LINE [ rule_width_int_lit | _var ]

Example: GRAPHICS (3, 5, 9) BOX (5, 0, 5)
Here in this exp Graphics (3, 5, 9), 3 and 5 are the coordinates of starting point and 9 is the width of the box.
BOX (5, 0, 5), 5 is the depth of the box, 0 is the width of the border and 5 is the number of shading in the box. (1 is the light shade and 100 are black.)

GRAPHICS (3, 5, 9) HORZ-LINE (20)
GRAPHICS (3, 5, 9) VERT-LINE (20)

In both of the above examples HORZ-LINE (20), 20 is the thickness of the line.

One can insert images with PRINT-IMAGE command.

Following is the code for this:
Print-image (1, 1)
Type=bmp-file
Image-Size= (20, 5)
Source= imagename.bmp

Source should be the complete file path of the image if the image resides in the same folder in which the sqr is then there is no need of full path only image name will work. The format of the image must match that of the printer you are using. These formats are:

1) Windows—bmp file images
2) PostScript printer or viewer—eps file
3) HP LaserJet—hpgl file images
4) HTML output—GIF or JPEG formats (gif file or jpeg file)

Thursday, February 21, 2008

Application Designer Quick Launcher

Create a file pscfgSetup.bat.bat. This will be your app designer quick launcher...

@echo off
rem ***************************************************************
rem pscfgSetup.bat
rem This script installs Peoplesoft client workstation on NT server
rem ***************************************************************
IF NOT EXIST "D:\PSOFT\DB_NAME_QUICKLAUNCH" mkdir "D:\PSOFT\DB_NAME_QUICKLAUNCH"
IF NOT EXIST "D:\PSOFT\DB_NAME_QUICKLAUNCH\LOGS" mkdir "D:\PSOFT\DB_NAME_QUICKLAUNCH\LOGS"
IF NOT EXIST "D:\PSOFT\DB_NAME_QUICKLAUNCH\CACHE" mkdir "D:\PSOFT\DB_NAME_QUICKLAUNCH\CACHE"
IF NOT EXIST "D:\PSOFT\DB_NAME_QUICKLAUNCH\nVision\INSTANCE" mkdir "D:\PSOFT\DB_NAME_QUICKLAUNCH\nVision\INSTANCE"
IF NOT EXIST "D:\PSOFT\DB_NAME_QUICKLAUNCH\temp" mkdir "D:\PSOFT\DB_NAME_QUICKLAUNCH\temp"

ECHO ******** Launching Application Designer *********

Start D:\PT848\bin\client\winx86\pscfg.exe -import:D:\QuickLaunchSettings\DB_NAME.cfg -setup
Start D:\PT848\bin\client\winx86\pside.exe

rem D:\PT848\bin\client\winx86\pscfg.exe -import:D:\QuickLaunchSettings\DB_NAME.cfg -setup

***********************************
D:\QuickLaunchSettings\DB_NAME.cfg would look like below
Alternatively you can export the configuration manager settings in a file D:\QuickLaunchSettings\DB_NAME.cfg using Configuration Manager -> Import/Export -> Export to a File

[PSTOOLS]
Start=REG_SZ=APPLICATION_DESIGNER
Language=REG_SZ=ENG
WindowWidth=REG_DWORD=640
WindowHeight=REG_DWORD=448
PanelSize=REG_SZ=CLIP
StartNavigator=REG_SZ=NO
PanelInNavigator=REG_SZ=NO
HighlightPopupMenuFlds=REG_SZ=NO
ShowDBName=REG_DWORD=1
MaxWorkInstances=REG_DWORD=250
TenKeyMode=REG_SZ=NO
DbFlags=REG_DWORD=0
Business Interlink Driver Directory=REG_SZ=
JDeveloper Directory=REG_SZ=
FontFace=REG_SZ=MS Sans Serif
FontPoints=REG_DWORD=8
[Startup]
DBType=REG_SZ=DB2ODBC
ServerName=REG_SZ=
DBName=REG_SZ=DB_NAME
DBChange=REG_SZ=TYPE
UserId=REG_SZ=OPERATOR_ID
ConnectId=REG_SZ=CONNECT_ID
ConnectPswd=REG_SZ=CONNECT_PASSWORD
AppName=REG_SZ=
AuthSrvName=REG_SZ=
[Cache Settings]
CacheBaseDir=REG_SZ=D:\QuickLaunchSettings\PS\CACHE
[Trace]
TraceSql=REG_DWORD=0
TracePC=REG_DWORD=0
TraceAE=REG_DWORD=0
TraceFile=REG_SZ=D:\QuickLaunchSettings\DB_NAME.TXT
[PSIDE\PCDebugger]
PSDBGSRV Listener Port=REG_DWORD=9500

[Crystal]
Trace=REG_SZ=NO
CrystalDir=REG_SZ=
TraceFile=REG_SZ=
CustomReports=REG_SZ=

[RemoteCall]
RCCBL Timeout=REG_DWORD=50
RCCBL Redirect=REG_DWORD=0
RCCBL Animate=REG_DWORD=0
Show Window=REG_DWORD=7

[Setup]
GroupName=REG_SZ=PeopleTools 8.48
Icons=REG_DWORD=2054
MfCobolDir=REG_SZ=

[PSIDE]
Version=REG_DWORD=8
ReloadLastProject=REG_DWORD=0
PromptOnSave=REG_DWORD=0
InsertIntoProject=REG_DWORD=2
ShowInUpgrade=REG_DWORD=0
InsertRelated=REG_DWORD=0
LockOnOpen=REG_DWORD=0
PromptForComments=REG_DWORD=0
ReuseLastComment=REG_DWORD=1
UnlockOnClose=REG_DWORD=0
UnlockUnchangedObject=REG_DWORD=0
CheckSyntax=REG_DWORD=1
WordWrap=REG_DWORD=1
FontFace=REG_SZ=Courier New
FontPoints=REG_DWORD=9
FontIsItalic=REG_DWORD=0
FontWeight=REG_DWORD=400
FontCharSet=REG_DWORD=0
NameResolution=REG_DWORD=0
Undo/Redo Buffer Size=REG_DWORD=10
Max. MRU Object=REG_DWORD=5
ReportOutputDir=REG_SZ=D:\temp
ValidateProject=REG_DWORD=0
ValidatePIA=REG_DWORD=1
ValidateShowRepeatedErrors=REG_DWORD=0
ValidateSpellCheck=REG_DWORD=0
ValidateWSRPCheck=REG_DWORD=0
ValidateCI=REG_DWORD=0
BrowserUseLocalNode=REG_DWORD=1
ProjExportDir=REG_SZ=D:\Project_Backups_DB_NAME
FindMRU0=REG_SZ=UpdatePersonalData
BrowserURI=REG_SZ=http://hostname:http_port/psp/site_name
PCUpgShowProg=REG_DWORD=1
PCUpgDiffLines=REG_DWORD=5
UpgFontFace=REG_SZ=Lucida Sans Unicode
UpgFontPoints=REG_DWORD=6
UpgDiffColor=REG_DWORD=0
UpgAddColor=REG_DWORD=25600
UpgDelColor=REG_DWORD=255
UpgHtmlOutput=REG_DWORD=0
UpgXmlOutput=REG_DWORD=0
UpgCompOldReptDir=REG_SZ=c:\psreports
LastDatabase=REG_SZ=DB_NAME

[Application Servers\APP_SERVER_DOMAIN_NAME]
ConnectionString=REG_SZ=APP_SERVER_MACHINE_IP:WSL_PORT
ProfileName=REG_SZ=Default

[Profiles\Default\Database Options]
SybasePacketSize=REG_DWORD=512

[Profiles\Default\Process Scheduler]
PS_HOME=REG_SZ=D:\PT848
CBLBIN=REG_SZ=
TEMP=REG_SZ=
OutputDirectory=REG_SZ=
Log Directory=REG_SZ=
CRWRPTPATH=REG_SZ=
DBBIN=REG_SZ=
SQRBIN=REG_SZ=
WINWORD=REG_SZ=
PSSQRFLAGS=REG_SZ=
PSSQR1=REG_SZ=
PSSQR2=REG_SZ=
PSSQR3=REG_SZ=
PSSQR4=REG_SZ=
Redirect Output=REG_DWORD=0

[Profiles\Default\nVision]
SpacerWidth=REG_SZ=
MacroDir=REG_SZ=
StyleDir=REG_SZ=
TemplateDir=REG_SZ=
LayoutDir=REG_SZ=
DrillDownDir=REG_SZ=
InstanceDir=REG_SZ=
TraceLevel=REG_DWORD=0

[Profiles\Default\IMAGE]

[Profiles\Default\Data Mover]
InputDir=REG_SZ=
OutputDir=REG_SZ=
LogDir=REG_SZ=

[Profiles\Default\Application Engine]
Disable Restart=REG_DWORD=0
Debug=REG_DWORD=0

Above configuation should be modifies as per the requirement.

Wednesday, January 30, 2008

How and when to run the VERSION Application Engine Program

The effect of the VERSION Application Engine program is fairly violent upon the PeopleTools System Tables and as such should be used only in certain, specific instances. Technically speaking, it should only be run when there is reason to believe that the versions in the PSVERSION table are no longer coherent, or when the versions in one of the managed objects tables are out of sync with PSVERSION. Generally speaking it should only be run when indicated by one of the following:
1. The SYSAUDIT report indicates that there are objects out of sync.
2. A GSC analyst recommends its use.
3. The PeopleTools Development Team's recommendation for a specific issue.
4. Following a major PeopleTools upgrade or major application upgrade.
5. An Installation Guide indicates its need.

NOTE: The use of VERSION should NOT be run as matter of standard operating procedure.

Due to some side effects from the Application Designer program (PSIDE.EXE), VERSION must be run only when:
- All Application Designer clients are completely logged out and shut down.
- All Application Servers, Process Schedulers and other PeopleTools clients are completely shut down.
- Many customers choose to restart the database to ensure that this is the case (optional)

If the VERSION program is run incorrectly:
- Performance can be dramatically impacted.

- Application integrity can possibly be affected; simple saving efforts from Application Designer can fail.

Proper Procedure to Run the VERSION Application Enginer Program:
VERSION AE should only be run from a command line:
1. Shutdown all Application Servers, Process Schedulers, and other PeopleTools clients.
2. ***CRITIAL STEP*** Ensure that all Application Designer session are logged out and shut down. If necessary, shutdown and restart the database and its communication software.
3. Establish the proper shell environment. Normally this includes:
- Loging in as your PeopleSoft ID
- Changing to the PSFT bin directory cd $PS_HOME/bin
- Setting the PS_SERVER_CFG environment variable
export PS_SERVER_CFG=$PS_HOME/appserv/prcs//psprcs.cfg
4. Execute the command from a command line:
psae -CD dbname -CT dbtype -CO oprid -CP pswd -R INSTALL -AI VERSION
Note: INSTALL must be a valid run control for oprid
**********************************************************************************************
cd $PS_HOME/bin
export PS_SERVER_CFG=/opt/bea/pt848/appserv/prcs/PRCSDOMAIN/psprcs.cfg
psae -CD DB_NAME -CT DB2ODBC -CO PS -CP PSWD -R ADHOC -AI VERSION
**********************************************************************************************

5. Issue the following SQL and archive the output to ensure that the program ran (all the versions should be 1).
SELECT * FROM PSVERSION ORDER BY VERSION DESC;
6. Clear the cache files from the Application Server, Web Servers, Process Schedulers, and Client machines.
7. Restart the system per normal operational procedures. There will be expected performance impact as the system rebuilds its cache files.
8. Over the course of the following days, every 4 hours or so, rerun the SQL from Step #5. You should observe a gradual growth of the versions, typically in the order of dozens per day. The version associated with SYS should always be equal to or greater than all other values in the table.

Should you observe one of the following conditions contact the GSC immediately for further advice:

1. The version value associated with SYS is no longer greater to or equal all other value in the PSVERSION table.
2. Some of the values increase dramatically, on the order of several thousand, and then remain fairly constant. Normal behavior is for the values to increase by increments of 1. One exception would be during the migration of a project with many records. Some values will increase by the number of records migrated.

***As given in PeopleSoft Customer Connection... http://www.peoplesoft.com/

Tuesday, January 15, 2008

Running SQR from Command Line


D:\PT848\bin\sqr\DB2\BINW\sqrw.exe D:\pt848\SQR\infup_file_name.sqr -iD:\pt848\SQR\ -xmb -xcb -ZIFD:\pt848\SQR\pssqr.ini -S -DEBUGX -PRINTER:PD -EH_PDF -fD:\pt848\output_file_name.pdf -oD:\pt848\log_file_name.log

Options:
-i => Input file Directory
-f => Output File Name
-o => Log file Name
-ZIF => SQR Initialization File Name

Monday, January 14, 2008

Process Scheduler Run Status

--Run Status-- --- --- --- --- --Value--
Cancel 1
Delete 2
Error 3
Hold 4
Queued 5
Initiated 6
Processing 7
Cancelled 8
Success 9
No Success 10
Posted 11
Not Posted 12
Resend 13
Posting 14
Generate 15

Process Scheduler and Report Manager Issue

Troubleshooting Common Process Scheduler and Report Manager Issues
By David Ratway for PeopleSoftPros.net

http://www.sap-pros.net/net/articles/pssched-issues.pdf

Change Impact Analyzer (PsCIA) Configure Connectivity

Database Type: DB2
Database Name: DB_NAME
DB2 Database Owner: DB_OWNER_ID
Driver: jdbc:db2
Driver Class: com.ibm.db2.jcc.DB2Driver
Connection String: jdbc:db2:DB_NAME

Override Connection String Check-box SELECTED

OCI - Attach Block Volume to Windows VM

Tip: Although creating and attaching Block Storage to a Windows VM is pretty straightforward (OCI documentation is pretty good for that), th...