TracePPR and TracePPRMask

Use these options to trace the activity in the page processor. Typically, these options are used internally only by PeopleSoft developers; however, you may need to view the results of this trace when troubleshooting.

Tracing-related display processing is useful for seeing when and if related displays are being updated and if they are updating successfully. Some sample output in the log file from setting this flag includes:

Starting Related Display processing
Related Display processing - PPR_RELDSPLVALID not set
Related Display processing - All Rows
  Starting Related Display processing for - PSACLMENU_VW2.MENUNAME
  Related Display processing for - PSACLMENU_VW2.MENUNAME - completed successfully
Finished Related Display processing

By using the keylist generation tracing in addition to the related display tracing, you can determine why the related displays have the wrong value. It shows where the keys are coming from. The following is a sample of keylist generation tracing:

 Starting Keylist generation
       Keylist generation - FIELDVALUE is a key
       FIELDVALUE is low key
       Low key value was supplied = 
       Key FIELDVALUE = 
       Keylist generation - FIELDNAME is a key
       Keylist generation - Finding value for USRXLATTABLE_VW.FIELDNAME
         Not Found in key buffer
           Seaching for field FIELDNAME in component buffers
           Scanning level 1
             Scanning record DERIVED_USROPTN for field FIELDNAME
             Field FIELDNAME found in record DERIVED_USROPTN
         Found in component buffers, value = PT_TIME_FORMAT
       Key FIELDNAME = PT_TIME_FORMAT
       Keylist generation - USEROPTN is a key
       Keylist generation - Finding value for USRXLATTABLE_VW.USEROPTN
         Not Found in key buffer
           Seaching for field USEROPTN in component buffers
           Scanning level 1
             Scanning record DERIVED_USROPTN for field USEROPTN
             Scanning record PSUSROPTLIST_VW for field USEROPTN
             Field USEROPTN found in record PSUSROPTLIST_VW
         Found in component buffers, value = TFRMT
       Key USEROPTN = TFRMT
     Keylist Generation complete
     FIELDNAME = PT_TIME_FORMAT
     FIELDVALUE = 
     USEROPTN = TFRMT

In this example, you can see how the system builds the keylist by first searching in the current record (key buffer), then searching the buffers in the current level, and then searching up a level, and so on. It also indicates exactly what record the key value is taken from. This is useful on complex components where there are often several instances of a particular field; a common problem is that the value is derived from an unexpected location.

Combining the keylist tracing and the related display tracing provides a good view of the system behavior. For example:

Starting Related Display processing
Related Display processing - All Rows
  Starting Related Display processing for - PSACLMENU_VW2.MENUNAME
    Starting Keylist generation
      Keylist generation - MENUNAME is a key
      MENUNAME is low key
      Low key value was supplied = APPLICATION_ENGINE
      Key MENUNAME = APPLICATION_ENGINE
    Keylist Generation complete
     MENUNAME = APPLICATION_ENGINE
  Related Display processing for - PSACLMENU_VW2.MENUNAME - completed successfully

Each related display goes through the keylist generation process, and you can see exactly what key values are used to populate the related displays and where those key values came from.

The work record flag is a performance feature. If every field in a level-0 record has a value from the keylist and is display-only, then it is marked as a work record because the values can't be changed. After it is marked as a work record, that affects how the record behaves. For example, PeopleCode for fields in the record but not in the component don't run, data isn't saved, and so on. By enabling this tracing option, you can see which records are flagged as work records. The output looks like this:

   Work flag cleared for record PSCLASSDEFN_SRC
   Work flag cleared for record PSCLASSDEFN_SRC
   Work flag cleared for record PSCLASSDEFN
   Work flag cleared for record PSPRCSPRFL
   Work flag cleared for record SCRTY_QUERY
   Work flag set for record PSCLASSDEFN
   Work flag set for record PSPRCSPRFL
   Work flag set for record SCRTY_QUERY

Because the flag is turned on and off at various points, the last setting (set or cleared) is the most important. In the previous trace, PSCLASSDEFN, which is marked as a work record, is cleared and then set again.