A) The State Record is a PeopleSoft record that must be created and maintained by the Application Engine developer. This record defines the fields a program uses to pass values from one Action to another. Think of the fields of the Application Engine State Record as comprising the working storage for the Application Engine program. In the case of an external call to a section in another program, if the called program has its own default state record defined, then PeopleSoft Application Engine uses that default state record to resolve the%Bind(fieldname). Otherwise, the called program inherits the calling program's default state record. PeopleSoft Application Engine Rel 8.50 Topic 8: Using State Records Objectives Level Describe the function of state records Learner Create a state record Practitioner Modify Application Engine programs to use state records Practitioner Use meta-SQL in Application Engine. State record at any point of time has only single line information as it's driven by the ProcessInstance as key field. While temp table can have multiple rows. State record had only single instance while the temp table can have maximum of 99 instance. State record is used for restart logic.
State Records and Missing Data May 22, 2007
Posted by Duncan in Application Engine, PeopleSoft, SQL.
trackback
We’ve encountered an issue today that we hadn’t noticed before. Within an Application Engine program we populate a state record (AET table) with values. The first time we use these values (i.e. retrieve them using %Bind(<fieldname>)) the values are retrieved successfully, however when we attempt to use the values a second time they are empty/blank.
This occurred because our State Record was set as a Derived/Work record and our App Engine did not have restart disabled. As a result it was performing Commits after each Section (the default behaviour), and – this is the gotcha – a commit clears down the State Record!
According to PeopleBooks, this is by design. If you wish to have commits in your App Engine then your State Record must be setup as a SQL Table to keep its values.
Oracle Peoplesoft Applications
This implies that you may need 2 state records for larger/more complex AEs. One SQL Table AET to hold variables that you wish to reference throughout your program, and one Dervied AET to hold values that you’ll reference immediately (i.e. variables that you wish to use in Dynamic SQL, like within a DoSelect).
State Record In Application Engine Peoplesoft Search
There is a Customer Connection case explaining it further:
http://www.peoplesoft.com/psp/portprd/CUSTOMER/CRM/c/C1C_MENU.C1_SOLN_SUMMARY.GBL?page=C1_SOLN_SUMMARY&SETID=SHARE&SOLUTION_ID=201024788
http://www.peoplesoft.com/psp/portprd/CUSTOMER/CRM/c/C1C_MENU.C1_SOLN_SUMMARY.GBL?page=C1_SOLN_SUMMARY&SETID=SHARE&SOLUTION_ID=201024788