IGNORE_DUPS Vs UPDATE_DUPS
Often we get the Duplicate row errors in the DMS Scripts based on the target environment in which import script is executed. Since DMS scripts can run in any target environment we need to handle this error in the DMS Script.
The best know method is IGNORE_DUPS statement in the DMS script
SET IGNORE_DUPS ;
IMPORT {record * } ;
The biggest disadvantage of this statement is it can only be run 'Bootstrap mode' which all the developers may not have access.
Is there way to avoid handle this error wihout running the DMS in the bootstrap mode ?
SET UPDATE_DUPS;
IMPORT { Record * };
Above statment can be used, it is not an exact replacement for the IGNORE_DUPS but it helps to slove problems in most of the cases.
UPDATE_DUPS - If the key values of the table exists in the target environment then it updates it with new values and insert the new rows in the .dat file.
Tuesday, December 8, 2009
Duplicate row errors in DMS Scripts
Labels: PeopleSoft - Developer
Posted by Ganesh at 7:48 AM 0 comments
Wednesday, December 2, 2009
Invoking the Remote call from AE/CI Process
In PT 8.4x you need to follow a certain sequence prior to invoking the PushButton field. The basics on calling COBOL from AE/CI PeopleCode is as follows. Note that "tweaking" may be necessary to get it to work.
1. AE (Application Engine) needs to have restart disabled in order to use CommitWork() to force a commit to the DB of the CI data.
2. Set the CI's properties, except for the "Pushbutton" field (usually Y/N) used to kick off COBOL.
3. Save the CI (call Save()).
4. If Save is successful, call CommitWork().
5. Set the CI pushbutton property (toggle it) to trigger the COBOL process.
6. COBOL will run asynchronously. So you usually need to put a dummy loop to wait until it's done processing to avoid having the next CI record "bump" into COBOL or in case you need to perform some post COBOL processing of the record.
Labels: PeopleSoft - Developer
Posted by Ganesh at 2:57 PM 0 comments
Optimistic Lock Exception in AWE Workflow
Optimistic Lock Exception in AWE Workflow
I) programmatically induced error message:
The optimistic lock error message is thrown intentionally by the AWE Workflow Engine under various conditions. Here is some information that will provide a better understanding per Oracle Development of what the message means and a few things that may be the cause of the error:
"The error that the customer is seeing is an exception that we throw
Intentionally. The scenario is actually well-understood, although
perhaps not obvious...
Here's the situation: If you and I are both approvers in parallel on the same request, and if we both enter the component at more or less the same time, then there's a problem: we both see the state of the engine when neither of us had taken action, yet the moment one of us does take an action, the other's view is out of date. Then the second person will be acting upon stale information.
The idea that we let multiple people into the component is called an
"optimistic lock". It assumes that in the majority of cases, most
people will do a "read-only" access, and only a few will try to modify
things. Those few are liable to be told that their "lock" turned out to be too "optimistic".
Under this situation the issue can be resolved by leaving the component and then coming back.
II) Pushback Functionality:
This error message has also been experience during or as a result of the Pushback functionality. Once someone attempts to 'Pushback', the system gets a bit confused: it knows some changes occurred, and that they couldn't be committed. It can't tell whether the only uncommitted changes were the ones the approver tried to make himself; in that case, it's perfectly okay to re-initialize and carry on. But since it doesn't know that, it just refuses to take any independent action. It waits for the approver to decide to re-enter the component before proceeding." Thus the error message can occur while the application waits for the approver to reenter the component.
III) Permission List Security:
In prior cases, this error was found to occur within DEMO
when the necessary Role Users did not have the proper Permission
List security configured. Comparing the security / permission lists of the user experiencing the issue to users that don’t will help resolve the issue.
V) Other:
When all else fails the easiest answer is that if you start with a 'clean slate' with regards to the tables used by the AWE Workflow Engine (all of the tables prefixed with SAC_AW in release 8.9 and PTAFAW in release 9.0+), then the issue will no longer persist for
you. Otherwise, you will need to perform a careful analysis of the
existing data, both in terms of the existing Approval Process Definition setup data, as well as any existing Workflow routings data, to determine exactly 'why' the error appears. Generally, I think it's easier just to start fresh, especially if you are still in the test/setup phase of the AWE Workflow implementation.
Labels: PeopleSoft - Developer
Posted by Ganesh at 2:52 PM 0 comments
Friday, November 13, 2009
Action value combinations of the Job data
Action Combination/ Action Paris - Reverse Action for each action.
Action - LOA – Leave of Absence , LWP – Leave with Pay
Reverse Action RFL – Return from
Action
LTD – Long Term Disability with Pay , LTO – Long Term Disability
STO – Short Term Disability , STD – Short Term Disability with Pay
- Reverse Action
RFD – Return from Disability
Action Reverse Action
SWB – Short Work Break - RFW – Return from Short Work Break
Action Reverse Action
LOF – Layoff REC – Recall from Layoff
Action Reverse Action
TAS – Create Temporary Assignment RFA – Return from Temporary Assignment
These are the actions that will create and stop the special temporary assignment relationship that puts the original instance in a suspended status while the person works on a temporary assignment.
Action Reverse Action
SUB – Create Substantive Job - RTS – Return to Substantive Job
These are the actions that will create and stop the special temporary assignment relationship that puts the original instance in a suspended status while the person works on a temporary assignment.
.
Labels: Peoplesoft HRMS Functional
Posted by Ganesh at 2:25 PM 0 comments
Monday, November 9, 2009
GenerateComponentContentURL / GenerateComponentPortalURL return NULL / Blank
PeopleTools > Portal > Node Definitions
The Base URI (e.g. http://www.myserver.com/psp/mysite/) is only available automatically in the context of a web server. If a process is not signed in via the web (e.g. Application Engine), the Node definition specified in the function is checked for that Base URI. Open the Node Definition (PeopleTools > Portal > Node Definitions) and enter the Content URI (.../psc/...) and Portal URI (.../psp/...) on the Portal page. These are used by the GenerateComponentContentURL and GenerateComponentPortalURL functions, respectively. By default these fields are empty.
Labels: PeopleSoft - Developer
Posted by Ganesh at 9:21 AM 0 comments
Wednesday, October 28, 2009
Suppressing Automatic Lookups for Improved Performance
Prompt table Exclusion List in Peoplesoft.
Improve prompt table performance in Peoplesoft
Many fields in PeopleSoft applications has lookup or prompts tables indicated by the magnifying glass. When you click on that icon you are taken to a lookup dialogue, but by default
the search fires automatically.
However, in peoplesoft only the first 300 rows are retrieved into the component buffer, and only the first 100 rows of that set are shown on the first page. These results are almost certainly
useless to the operator who must then enter criteria into the lookup search dialogue and search again.
If we can suppress the automatic search performance of the prompt will improve. User can search the data after providing the search values and no.of rows returned will less and more usefull to the user.
Question is how can we suppress this ? from 8.44 peoplesoft has provided the Prompt table Exclusion List.
Peopletools >Utilites > Administration > Lookup Exclusion Table.
The tables in this list are stored in the Application server cache.
You don't have to restart any application servers before the behaviour of the lookup to change.
You should should for those prompt which usually takes more time.
The following query will identify all the records that are used as look-up records within a PeopleSoft system.
SELECT DISTINCT r.recname
FROM pspnlfield p
, psrecfielddb f
, psrecdefn r
WHERE p.fieldname = f.fieldname
AND p.recname = f.recname
AND r.recname = f.edittable
Labels: PeopleSoft - Developer
Posted by Ganesh at 4:01 PM 0 comments
Monday, October 26, 2009
Peoplesoft Training Videos
Overview PeopleSoft 8 steps
Starting with peoplesoft Application Desinger
Labels: Training Videos
Posted by Ganesh at 3:29 PM 0 comments