Weblogic - Error while booting - WLS_ADMINSERVER000000.DAT
Error: While booting the Web-logic Server received an error..
The persistent store "_WLS_AdminServer" could not be deployed: weblogic.store.PersistentStoreException: java.io.IOException: [Store:280021]There was an error while opening the file store file "_WLS_ADMINSERVER000000.DAT"
Solution:
To start the server again:
1. find -name "*.DAT" files in "<**>/domains>/<**>" directory (in our case!) and move or remove them
2. remove "EmbeddedLDAP.lok" and "AdminServer.lok" (maybe some more)
Thanks to forums.oracle.,
Note: May not be applicable for all version.,
PSORATimestampConversion Errors
While performing tools only upgrade to 8.50. PSORATimestampConversion.bat failed.,
Solution:
Including the classes12.jar in the CLASSPATH resovled the issue.
D:\daberk\psoft\pt850\fin91\utility>echo %CLASSPATH%
D:\oracle\product\102\jdbc\lib\classes12.jar
While adding new report definition , Data source type is by default PS Query and not editable
PS Grid Customize option internals
PTCUSTOMFORMAT stores the data in the below format and pipe symbol as the delimiter.
Format explanation
Header delimiter hide/unide delimiter Freeze/UnFreeze delimiter Sort Asc/Desc delimiter Sorting order# columnnumber Footer
Delimiter = Pipe symbol
Header = 0
hide/unide = 1 – Hide Field , 0 – Unhide Field
Freeze/UnFreeze = 1 – Freeze Field, 0 – Unfreeze Field
Sort Asc/Desc = No sort order, 1 – Sort by ascending, 2 – Sort by Descending
Sorting order = 0/1/2…
Column specifier = # column number
Footer = 0#
Example:
Suppose a grid as 7 columns, when the user customizes the grid, below is the sample format.
1. Department level1 code is made hidden.
2. Sort order and Department level2 code are in Sort order list and department level 2 code is set as descending
The format would be
0|0|0|1|1#1|1|0|0|0#2|0|0|2|2#3|0|0|0|0#4|0|0|0|0#5|0|0|0|0#6|0|0|0|0#7|0|0|0|0#
Peoplesoft Updates Details
Peoplesoft patches and bundle projects applied to the Instance can be view in the
table ps_maintenance_log.
This information can be view in online in PIA. In the 3 components
Peopletools > Utilites > Administration > Updates - View all
Peopletools > Utilites > Administration > Updates by Release Label
Peopletools > Utilites > Administration > Updates by Update ID
Creating Related Edit Fields
Related display in people soft is used to display the description/detail of the ID or codes. User has to enter the ID/code or search by description in the prompt page. If the user is familiar with Descrtiption rather than ID or code and user want to select based on that, then we can use Related edit field.
Related edits enable users to enter descriptive values instead of code values and enable prompting on those descriptive values. Changing the value in the control field updates the related edit field, and changing the value in the related edit field updates the value in the control field. If appropriate, the control field can be display-only or even invisible to hide code values from the user.
If user wants to search employee by name rather then EMPLID , then user can key in name and search instead of using the EMPLID.At design time, you set up a related edit field in the same way that you create a related display field, except that you clear the Display Only check box in the Field Use Options group box so that the field is active at runtime
Note:-
1) Edits, including any assigned PeopleCode, are run on the control field. PeopleCode is not run for the related edit field.
2) Edits, including any assigned PeopleCode, are run on the control field. PeopleCode is not run for the related edit field.
3) The related edit field must be an alternate key in the prompt table.
4) If the hidden control field that you select is a required field, PeopleSoft Pure Internet Architecture changes the related edit field into a required field as well.
How to avoid the trimming of leading zeros in XML Publisher - Excel output
When the XML Publisher creates the Excel output file with fields having leading Zero (Eg:- Position Number), when the ouput file is opend in the Excel (not in the web browser), the leading zeros in the will be automatically trimed by the Excel. Excel treat this as number, we need force excel to treat this value as character and not as numberic value.
During XML template design, Instead of the using the tag < ? fld_POSITION_NUMBER ? >
use ="< ? fld_POSITION_NUMBER ? > ". It wraps the value with double quotes. Now Excel treat value as character and doesn't trim the leading zeors of value.
Note:- space between < and ? and tag name is not requried.
How to enable logging for the IB Messages
In integrationGateway.properties file
set the property ig.log.level under logging section.
The following are the Gateway Log Levels
# Level Value
# -------------------------- -----
# SUPPRESS ANY LOGGING -100 {Suppresses any Message Logs}
# LANGUAGE_EXCEPTION -1 {Logs language exceptions only}
# STANDARD_GATEWAY_EXCEPTION 1 {Logs language and standard}
# WARNING 2 {Logs all errors & warnings}
# IMPORTANT_INFORMATION 3 {Logs errors,warnings and important Information.(Default)}
# STANDARD_INFORMATION 4 {Logs errors,warnings, important and standard information}
# LOW_IMPORTANCE_INFORMATION 5 {Logs errors,warnings important, standard and low importance information}
Name of the file used to output message/error logs can be set in this file..for the parameter
ig.messageLog.filename - msgLog.html
ig.errorLog.filename - errorLog.html
AWE Workflow - Escalation emails
Peoplesoft AWE Workflows - Escalation process
AWE Workflows
In the “setup process definition “ you define the timeout for escalation. The ESCALATIONS Event ID will make sure to escalate if not approved within the “timeout” period.
PTAF_NEM - Is the process that needs to be run for the escalations in the approval workflow.
The PTAF_NEM process, when run kicks off 3 application engine programs one for each of the following events ID
Approval Activity Email
Receipt Notifications
Escalations
The AWE Notification & Escalation process, PTAF_NEM, only sends out one ( 1 ) notification, however, multiple actions can be performed at each timeout. i.e. Notify and Reassign after 2 hours. Or Notify after 1 hour and Notify and Advance after 24 hours.
What cannot be done is to set the Timeout to 1 hour and expect to get a notification every hour that an action has not been taken.
EMP_SERVLET - URL needs to be configured to send the correct url link in the escalation notification emails.
Incorrect Termination Date in the Job data component - HCM Peoplesoft
Termination date is auto-populated in the peoplesoft when an employee is terminated in the Job data component. Termination date is suppose to be the termination action EFFDT - 1.
Termination date is configured to be popluated as JOB.EFFDT - 1 in the Action table component.
Termination date will not populated correctly due to a delivered bug in HCM 9.0 as well as HCM 9.1.
When you insert new row in the job data component effective date is defaulted to current date or defaulted from the previous row if it is a future date. Select the action as Termination and look at the termination date it is populated correctly with JOB.EFFDT - 1. Now change the EFFDT field it will not refresh the effdt to JOB.EFFDT - 1 value. It lets you save the component with that information. Any logic based on the termination date will fail.
Delivered code fires on the field change of the Action field alone and not on the EFFDT field. This creates the problem of incorrect termination date.
screen shot from HCM 9.1 peopletools 8.50
Customizing the JOB_DATA (Job data) component in HCM Peoplesoft.
JOB_DATA (Job Data) - It is one of most important component in the HCM which maintains the employees job history details. It is also one of the complex components which have a lot of business logic involved in it.
There are 5 other components which are very similar to the JOB_DATA component.
JOB_DATA_EMP - Add employee Instance - Employee Hire component.
JOB_DATA_POI - Add POI Instance - Hire Person of Interest component.
JOB_DATA_CWR - Add CWR - Hire Contingent Worker.
JOB_DATA_CURRENT - Current Job.
JOB_DATA_CONCUR - Add concurrent Job.
In an implementation we customize delivered objects in PeopleSoft. Customizing the Job data component can be very painful as it creates a lot of maintainace issues and lead to additional customizations. A lot of points needs to taken to consideration while any customizations are made to Job data component. Modify the Job record is a very bad customization, avoid modfiy the delivered records.
1) Any new custom record added to JOB_DATA component to capture the additional data on the Job data transactions then you might also need to add that record to other components similar to Job data as mentioned above. Additional customizations.
2) Any additional fields and records in the component will affect the component structure and it will impact directly component interface structure. We need to rebuild all the delivered component Interfaces.
a) HCR_JOB_COMP_DATA_SRV
b) HCR_JOB_DATA_SRV - Component interface is used in Mass Update process (HR_MASSUPD) which is CI based services for Mass changes to the employees like Mass Salary change (periodic salary hike).
This process will be affected based on the way custom record is used in the job data component.
Component Interface is also used in the Automated Step increment process (HR_CMP007) which increments the step of the employee. Any change to the job data component will impact this process as well.
3) If your design handles any CI operations done by the above processes as new custom record is the child record of the parent record job then it will create problem if you use another Step increment process (CMP107) which is an SQR process which doesn't insert into custom record, which result into the improper component buffer in the job data component. Additional customization to custom record or
4) WORKFORCE_SYNC - Delivered IB message from HCM to ELM and CRM. This message is published in the job data (and related components) in save post change event. If auto select option is off for the new custom child record scroll in the job data. When there is only change to the fields of the custom record it sends out a blank message (blank XML),which creates fatal error in the CRM.
5) Any changes in the bundles and fixes from peoplesoft to job data components and its Peoplecode (& similar components)and its pages will lead to reapplying the customizations to these components.
To minimize the impact of customization.
Instance Variable in Peoplecode - Application packages
It might be confusing for many of them, how is instance variables different from the Private and Public variables.
Myth :- specific object (instance of a class) would only have access to its own instance variables.
Instance variable is very different to Private or Public. Infact it is not right comparison of Instance with Private and Public.
Instance variables equal to Static variables in the other Object oriented programing language (like C++ and Java).
Instance - Defines the scope of the variable where as private and public key words define access levels/Visiblity of the variables. If variable is not defined as Instance then SCOPE of the variable is Local by defult (Local to the created object of the class).
Instance - scope of the variable is across the objects of the same class and scope of the Instance variable is at the class level.
The variables are created when the first object of the class is creted and will be present till last object of the same class is present in the memory.
If the Instance variable is declared as Private it is accessed the way it is accessed i,e only with in the class methods. if variable is declared as Public it is accessed the way you access other public variables. (i,e both within the class and outside of the class).
Simple comparison that can be done..(just for understanding purpose).
Component variables has scope within the component similarly instance variables has scope at the class level across the objects of the same class.
Big question arise when do we need these kind of variables.
1) if you want to count how many objects of the class was created you increment this variable in the constructor of the class.
2) If you have constant value that needs to shared across the objects of the class then you can use the instance variables.
3) Shared variable across the objects like component variable (across the different events of the component).
Dynamic Roles in Peoplesoft
Why Dynamic roles ?
1) The assignment of roles to User Profiles based on your business rules.
2) These business rules run against system(s) to assign PeopleSoft access.
3) PeopleSoft security changes in an automatically.
4) The dynamic role rule process removes and grants access to User Profiles
PeopleTools > Security > Permissions & Roles >Roles (Dynamic Member Tab/Page).
There are three ways can use to execute your rules to find the dynamic role users.
o PS/Query
o LDAP Plug-in
o PeopleCode
PS/Query
1) Access is removed or granted based on the User Profile IDs retrieved by the query.
2) Logic to select the dynamic role users will be present in the SQL of the Query.
Note: -
a) Use PSOPRALIAS_VW or PSOPRALIAS record to create the dynamic role queries.
PSOPRALIAS - Used to store ID values corresponding to various ID types. For example, stores EMPLID for Employee type, CUST_ID for customer ID. It will be easy to join the tables based on the type of the Userid.
b) Don't use any Bind variables in the role queries. They are not designed for resloving the bind variables.
c) Use Disntict caluse in the SQL to make you always retrive uniques id only. Any duplicate will the the dynamic role asssignement.
PeopleCode
1) Access is removed or granted based on the User Profile IDs pushed in to the system array variable
%RoleDynamicMembers.
2) This is used when logic is complicated and cannot be retried from the Query.
Peoplesoft AWE Workflow configuration DMS scripts
Peoplesoft AWE Workflow configuration and setup tables. Ver 9.0
User the following scripts to move the AWE configuration / setup data from the one instance to another instance.
Note :- add where clause if you need to move only configuration specific to particular AWE transactions.
Export script
-- "Register Transaction"
EXPORT PS_PTAFAW_TXN;
EXPORT PS_PTAFAW_TXN_LNG;
EXPORT PS_PTAFAW_TXN_LBL;
EXPORT PS_PTAFAW_TXN_LVL;
-- "Approvals > Workflow Transaction "
EXPORT EO_TRANSACTIONS;
EXPORT EO_TRANS_LNG;
-- "Configure Transactions"
EXPORT PS_PTAFAW_NOTIFY;
EXPORT PS_PTAFAW_NOT_USER;
EXPORT PS_PTAFAW_TXN_CFG;
-- "Setup Process Definitions"
Peoplesoft HCM Process - Scheduled process.
HR_PERSDATA Application Engine - Updates the PERSONAL_DATA snapshot table with future dated entries as they become effective.
NAME_DISPLAY Application Engine - Refreshes the NAME_DISPLAY and NAME_FORMAL fields in all records with the NAME_GBL_SBR. Use when the criteria used to change these fields is changed.
PER099 Application Engine - Fill EMPLOYEES Table.
PTAF_NEM Application Engine - PTAF_NEM - Approval Framework Escalation App Engine. AWE Workflow escalation process.
SCRTY_OPRCLS Application Engine - SCRTY_OPRCLS - Updates the SJT_OPR_CLS security Join Table.
SCRTY_SJTDLY Application Engine - Nightly update for SJT Records - Update of all effdt rows that have become current as of this data.
HRS_AM Application Engine - Applicant Search Auto-Match -Recruiter Applicant Search auto-match process.
HRS_DUPE_PRC Application Engine - Find Applicant Duplicates - Finds applicant duplicates given certain criteria.
HRS_JOB_AGNT Application Engine - Job Agent - Run the Job Posting Search Agent process.
HRS_JSCH_IDX Application Engine -Verity based Job Posting Index build process.
HRS035 SQR Report - Application Analysis (USA).
PER506 SQR Report - Department Tbl & Departmental - This report lists any departments that you have created in the Department Tree but have not yet added to the departmental security tree, It also lists any changes in departments since the effective date of the current security tree.
PER900 SQR Report - Core HR Data Integrity Audit. - Audit of the CORE HR Tables for Data Relationship Integrity.
PSBARUN - Cobal Job - For the Benefit Administration - scheduled to run twice each night with some custom pre and post processes.




