Thursday, January 22, 2009
Monday, November 24, 2008
Posting Issue - For Restarted AE, Dist Status is in ' Posting' forever
I recently came across a posting issue where lot of AE prcess were in Success/No Success runstatus but not getting posted... They were stuck up in POSTING dist status. Output were getting generated successfully in log_output directory, however, the process were in POSTING distribution status only (few of them were in the same status for 3-4 days)
Note 2: Below is just an workaround to let other processes, which stuck up in posting status because of the re-started AE, go posted.
PeopleTools 8.48:
One way to resolve such issue MIGHT be to upated the Distribution Status of such process instances from POSTING (7) to NOT POSTED (4) in PSPRCSQUE and PSPRCSRQST tables... And then post them again using RE-SEND option.
*** Find the prcs instances with distribution status of POSTING (7):
select PRCSINSTANCE, RUNSTATUS, DISTSTATUS from PSPRCSRQST where DISTSTATUS='7';
select PRCSINSTANCE, RUNSTATUS, DISTSTATUS from PSPRCSQUE where DISTSTATUS='7';
*** Update these process instances' dist status from POSTING(7) to NOT POSTED (4)...
-- update PSPRCSQUE set DISTSTATUS='4' where PRCSINSTANCE IN (prcsinst_1, prcsinst_2, prcsinst_3);
-- update PSPRCSRQST set DISTSTATUS='4' where PRCSINSTANCE IN (prcsinst_1, prcsinst_2, prcsinst_3);
update PSPRCSRQST set DISTSTATUS='4' where PRCSINSTANCE in (select PRCSINSTANCE from PSPRCSRQST where DISTSTATUS='7');
update PSPRCSQUE set DISTSTATUS='4' where PRCSINSTANCE in (select PRCSINSTANCE from PSPRCSQUE where DISTSTATUS='7');
*** Post them again using RE-SEND option.
*** Also make sure all the three tables PSPRCSRQST, PSPRCSQUE, PSPRCSPARMS are in synce:
select count(*) from PSPRCSRQST;
select count(*) from PSPRCSQUE;
select count(*) from PSPRCSPARMS;
*** Values of Distribution Status can be found by using below query:
SELECT FIELDNAME, XLATLONGNAME, FIELDVALUE FROM PSXLATITEM WHERE FIELDNAME = 'DISTSTATUS';
FIELDNAME XLATLONGNAME FIELDVALUE
------------------------------------ ------------------------------------------------------------ ----------
DISTSTATUS None 0
DISTSTATUS Scheduled 1
DISTSTATUS Processing 2
DISTSTATUS Generated 3
DISTSTATUS Unable to Post 4
DISTSTATUS Posted to Web 5
DISTSTATUS Delete 6
DISTSTATUS Posting 7
8 record(s) selected.
Friday, November 21, 2008
COBOL - Configuring instance specific CBLBINs
Sharing a file server to multiple instances is a common practice in may PeopleSoft Infrastructures... Many a times scenerio occurs where we want to have applied some bundles or Maintenance Packs to few of these instances... In such cases many of the external objects like SQRs, CRYSTALs, COBOLs etc would be different for bundled and non-bundled environemtns. For such cases, we would require to have a separate directory for COBOL executable other than the shared one or default one.
Here are the setting required to be done for such scenerio:
1) Create new CBLBIN directory for each instance INS1, INS2, INS3, etc under $PS_HOME (or any other prefered location) like $PS_HOME/CBLBIN_INS1, $PS_HOME/CBLBIN_INS2, $PS_HOME/CBLBIN_INS3 etc.
2) ## Copy the compiled COBOLs into new CBLBIN directory i.e., to $PS_HOME/CBLBIN_INS1, $PS_HOME/CBLBIN_INS2, $PS_HOME/CBLBIN_INS3 etc
3) Process Scheduler Settings for instance INS1:
Modify psprcsrv.ubx - COBPATH={$PS_HOME}/CBLBIN_INS1
Modify psprcsrv.env - COBPATH={$PS_HOME}/CBLBIN_INS1
Modify psprcsrv.cfg - in RemoteCall Section RCCBL PRDBIN=%PS_HOME%/CBLBIN_INS1
4) Application Server Settings for instance INS1:
Modify psappsrv.ubx - COBPATH={$PS_HOME}/CBLBIN_INS1
Modify psappsrv.env - COBPATH={$PS_HOME}/CBLBIN_INS1
Modify psappsrv.cfg - in RemoteCall Section RCCBL PRDBIN=%PS_HOME%/CBLBIN_INS1
##Besides this, you may also want to modify psrun.mak and pscbl.mak, so that while compiling the cobols - compiled files get copied, automatically at the time of compilation itself, to the newly created CBLBIN directories. For this, here are the required modifications:
1) Create directory INS1 under $PS_HOME/src/cbl and place all COBOL programs to be compiled for instance INS1 at location $PS_HOME/src/cbl/INS1
2) modify psrun.mak:
Replace $PS_HOME/src/cbl/ by $PS_HOME/src/cbl/INS1/
3) modify pscbl.mak: Update PS_CBLBIN parameter from old or default value $PS_HOME/cblbin TO new location of CBLBIN directory for instance INS1 $PS_HOME/CBLBIN_INS1:
PS_CBLBIN=$PS_HOME/CBLBIN_INS1
4) modify pscbl.mak:
Replace $PS_HOME/src/cbl/ by $PS_HOME/src/cbl/INS1/
Then compile and link the cobols.
Tuesday, August 26, 2008
UNIX - Extracting text between any Two Lines - Updated
awk '/^CREATE UNIQUE INDEX/{print "-- Create unique index #"++x}/^CREATE TABLE/{print "-- Create table #"++y}/^CREATE (UNIQUE INDEXTABLE)/,/;/{print}' test.sql
/^CREATE (UNIQUE INDEXTABLE)/,/;/{print}: Searches for CREATE UNIQUE INDEX or CREATE TABLE and prints the lines till the first ";" encounters.
/^CREATE UNIQUE INDEX/{print "-- Create unique index #"++x}: Searches for pattern CREATE UNIQUE INDEX and prints "-- Create unique index # and the number of it's occurance".
/^CREATE TABLE/{print "-- Create table #"++y}: Searches for pattern CREATE TABLE and prints "-- Create unique index # and the number of it's occurance".
This is indeed a better and faster than the while read loop. Below is the modified script for download:
Extract_Text_Modified.sh
NOTE: After downloading this file, please REPLACE < ; with < and > ; with >
there is no space between < and ; or > and ;
* Thanks Laurent
Monday, August 25, 2008
UNIX - Extracting text between any Two Lines
Extract_Text.sh
usage: ./Extract_text.sh
NOTE: After downloading this file, please REPLACE
< ; with <
> ; with >
There is no space between < and ; or > and ; (I've mentained the space because of issue with blogspot)
test.sql
Tuesday, July 29, 2008
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
Monday, July 28, 2008
Simple Example of Unix "sed" command
Replacing all occurrences of rakesh to raka in file tst
sed s/rakesh/raka/ tst-1
sed s/raka/rakesh/ < tst-1 > tst-2
$ echo rakesh | sed s/rakesh/raka/
raka
I am raka
I am raka
s: Substitute Command
/../../ : Delimiter
rakesh : Regular Expression Pattern Search Pattern
raka : Replacement String
hi rakesh parwal
here is the directory /tmp/rk/1
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...
-
Process group is crucial in securing the processes and jobs in the system. It is possible to restrict access to certain processes within Pe...
-
Download this document - ( .doc ) or ( .pdf ) Change Assistant Introduction Change Assistant (CA) was first released in PeopleTools 8.44. C...
-
In order to avoid various process scheduler related issues, three Process Scheduler tables PSPRCSRQST, PSPRCSQUE and PSPRCSPARMS must be in ...