How and When Temporary Tables are Re-used and Removed?

How and when Temporary Tables are Re-used

Concurrent Runs of the same Application Engine (AE) program will have different Parameters and each will use it's own respective set of Dedicated Temporary Tables  - If a dedicated set is available.

If no dedicated set of temp tables are available, then the Base Table is used, as long as the Program Properties are set to 'Continue', not 'Abort' in Application Designer for the specific AE program.

Any AE that goes No Success keeps it's dedicated set of Tempoary Tables locked and unavailable for subsequent use until the original AE has either been Restarted and has run to Success, or if the row is deleted from Process Monitor.

If the AE program was run outside of the Process Scheduler at command prompt, then the navigation of;

PeopleTools, Application Engine, Manage Abends

can be used to free up (delete) the set of dedicated temp tables.

How to manually remove Temporary Tables

Occasionally it is not possible to delete an AE process request from the Process Monitor, or release the temp tables with the Manage Abends function. The could occur when users forget to delete the process and the process purge process runs, for example. If this does occur, release the temp tables associated with a particular request by doing the following rteps:

 1. Identify which Process Instance needs to have dedicated set of Temporary Tables deleted.

This SQL can be used to help identify the row in the AE Run control table;

SELECT PROCESS_INSTANCE, OPRID , RUN_CNTL_ID, AE_APPLID, RUN_DTTM FROM PS_AERUNCONTROL ORDER BY PROCESS_INSTANCE;

 This SQL can be used to help identify the row(s) in the AE temp table manager table;

SELECT PROCESS_INSTANCE, RECNAME, CURTEMPINSTANCE, OPRID, RUN_CNTL_ID, AE_APPLID, RUN_DTTM FROM PS_AETEMPTBLMGR ORDER BY PROCESS_INSTANCE;

 2. If the same Run Control ID will be used, delete the specific row identified from the AE Run control table;

DELETE FROM PS_AERUNCONTROL WHERE PROCESS_INSTANCE={value}

 3. Delete the specific row(s) from the AE temp table manager table;

DELETE FROM PS_AETEMPTBLMGR WHERE PROCESS_INSTANCE={value}

Note: The Process Scheduler does not need to be stopped during this cleanup because only specific Process Instance is removed. 

Comments

  1. Thank you for sharing your blog, seems to be useful information can’t wait to dig deep!

    ReplyDelete

Post a Comment

Popular posts from this blog

Peoplesoft SFTP

How to find the Java Version being used by WebLogic

Peoplesoft Error: All Processing Suspended: Restart OPRID=PS, RUNID=RUN01, PI=5000(108,503)