Reports not Posting

Troubleshooting why reports and files are not posting can be really painful.

Generally you'll be in one of two scenarios:

  • All reports are not posting and display not posted in the process monitor. This is generally an infrastructure issue.
  • A particular file or report does not post. This could be a development issue or an infrastructure issue.

So where do you start? The Administration tab in Report Manager is updated first. You'll need to know the process instance and report ID (content ID).

If you suspect an infrastructure issue, then the first course of action is to restart the relevant process scheduler(s).

Report Related Tables

Behind the scenes, the records to look at are those starting with CDM (content distribution manager). Here are the key records and the information they give you:

Record What does it tell you?
PS_CDM_DIST_NODE These are your report distribution nodes - check the configuration here if you have a system-wide reports not posting issue. Navigation: PeopleTools > Process Scheduler > Report Nodes.
PS_CDM_AUTH This tells you who (users/roles) the reports were distributed to. DISTIDTYPE of 2 is user, 3 is role. You may just not be able to see the report due to security.
PS_CDM_FILE_EXT These are the file extension distribution options found under PeopleTools > System Settings > Distribution File Options (tab). Are you using a new file extension? Is that configured and has it been set to display (DISPLAY_OPTION = 1)?
PS_CDM_FILE_LIST This gives you a list of all files you should be able to see. Is your file in the table? What file type does it think it is - is that right? No file here means that your file probably wasn't transferred to the report repository at all.
PS_CDM_FILTER These are the filter options selected in report manager by users. Does the user have a filter option that prevents them from seeing the report ?
PS_CDM_FILTER_ARCH These are the filter options selected in the report manager archive tab by users
PS_CDM_LIST This is probably the most useful table. It tells the process name, where the process stored its output, where that output was distributed to (if at all) and the distribution status.
PS_CDM_LIST_ARCH Same as PS_CDM_LIST but for archived reports
PS_CDM_LIST_PURGE Reports that have been purged from PeopleSoft altogether
PS_CDM_TRANSFER Cases where reports were transferred between servers
PS_CDM_TRNFR_RJCT Cases where reports were transferred between servers and the transfer was rejected - failed

With the information from these tables you are now ready to go looking on your process scheduler server(s).

If all looks good in the Administration tab of Report Manager, but you can't see things in the List or Explorer tabs, then you have an integration broker issue.

These are the translate values for the DISTSTATUS field (PeopleTools 8.48.15):

  • DISTSTATUS 0 = None
  • DISTSTATUS 1 = Scheduled (N/A)
  • DISTSTATUS 2 = Processing
  • DISTSTATUS 3 = Generated
  • DISTSTATUS 4 = Unable to Post
  • DISTSTATUS 5 = Posted
  • DISTSTATUS 6 = Delete
  • DISTSTATUS 7 = Posting (stuck).

XML File is Invalid Error

If you are getting errors in the message log along the lines of:

  • The XML file returned by the web server is invalid
  • XML document object creation failed
Here's a screenshot of what you might see in the message log:
report-not-posted-invalid-xml.png

It could be because you have not set the authentication option on your default local node. Find your default local node under: PeopleTools > Integration Broker > Integration Setup > Nodes (has default local node set to Y e.g. PSFT_HR). Change your authentication option to Password and enter the default user ID and their password as shown:

default-local-node-authentication-option.png

Once you fix this, go back to the process monitor, view the details for the relevant processes and resend the content.

process-monitor-resend-content.png

Roger Baker also notes that Security > Single Signon > Local Node should be trusted as shown below:

trusted-local-nodes.png

Hopefully it now posts.

HTTP Transfer Error

Check the distribution agent logs for the process scheduler. If you are seeing lines like this:

(JNIUTIL): Java exception thrown: java.net.SocketException: socket closed
HTTP transfer error.

Then check your report node configuration under:
PeopleTools > Process Scheduler > Report Nodes

In particular:

  • Check that your URL and URI is fully qualified and includes both the server name and the domain.
  • You only need login information if there is web server authentication, otherwise leave this blank
  • If you change the URL or URI you will need to restart the appropriate process schedulers.

Also under PeopleTools > Integration Broker > Nodes

  • Open your default local node (e.g. PSFT_HR) - in the search page, find Local Node = 1
  • Confirm it is using the authentication option of password
  • Confirm that the user ID specified exists and has appropriate roles such as ProcessSchedulerAdmin and ReportDistAdmin
  • Retype the password for that user to confirm it is correct
  • Ensure the user's account isn't locked

HTTP Status Code is 900

If you see the following in your process message log/distribution agent log:

HTTP Status Code is: 900 (63,72) 
HTTP transfer error

There is probably something wrong with your report node configuration. Browse to PeopleTools > Process Scheduler > Report Nodes, and in particular, check the connection information, such as the protocol (http/https), URI host, URI port, and URI Resource (this should be SchedulerTransfer/ps). Also confirm that the report repository location in the web profile configuration/configuration.properties of the web server is accessible and writable from the webserver.

Any changes will require at least a process scheduler restart, and perhaps a web server restart.

HTTP Status Code is 902

If you see the following in your process message log/distribution agent log:

Java exception thrown: java.lang.SecurityException: illegal URL redirect 
HTTP Status Code is: 902 (63,7 2)

Navigate to PeopleTools > Integration Broker > Integration Setup > Nodes

Open the default local node (Y) (e.g. PSFT_HR):

  • Confirm the authentication option is Password
  • The default user ID is correct (and exists in the system)
  • The password is correct for that user ID

Navigate to PeopleTools > Security > Security Objects > Single Signon

Confirm that your default local node (e.g. PSFT_HR) is included in the trust authentication tokens issued by these nodes list.

Reports not posting initially

If reports are not posting initially, but do post after some length of time, Solution ID 660253.1 on My Oracle Support might be helpful. This involves adding the line <load-on-startup>0</load-on-startup> to the web.xml file on the web server.

Distribution status is N/A

One reason why the distribution status might stay at N/A for some processes is if the Transfer System Files to Report Repository check box is not set in the distribution tab of the process scheduler where the process is running.

Navigation for this is:

  • PeopleTools > Process Scheduler > Servers > [Distribution Tab]

A process scheduler restart might be required.

Note this is value is stored in the field TRANSFERLOGFILES in PS_SERVERDEFN.

Directory Creation Failed

If you get the following errors:

Java Exception: Error while write to file:java.lang.SecurityException: Directory Creation Failed  (6 3,49) 
SchedulerTransfer Servlet error. 
HTTP transfer error.

First check your report repository path is correct in the relevant web profile (and if blank there), in the configuration.properties file for your web server. Also check that the disk is not full for the relevant report repository path. Also check you have the file authtokenenabled.html exists in the same location as configuration.properties.

Finally check permissions - is the owner/security for the folder correct? Does it match the OS user that started the process scheduler?

Error 404—Not Found

When opening a report that has run to success and posted through view log/trace or through the report manager, the following error appears (this is for Weblogic):

Error 404--Not Found
From RFC 2068 Hypertext Transfer Protocol -- HTTP/1.1:
10.4.5 404 Not Found

The server has not found anything matching the Request-URI. No indication is given of whether the condition 
is temporary or permanent.

If the server does not wish to make this information available to the client, the status code 403 (Forbidden) 
can be used instead. The 410 (Gone) status code SHOULD be used if the server knows, through some internally 
configurable mechanism, that an old resource is permanently unavailable and has no forwarding address.

This is due to an incorrect value in the URL field under:
PeopleTools > Process Scheduler > Reports Nodes

For instance instead of the correct http://machinename:port/psreports/ps, I had http://machinename:port/reports/ps. Having the incorrect value (reports instead of psreports) caused this error.

Krzysztof also notes another a reason you might get this error. If you start your web server (e.g. Weblogic 6.1) using a windows service, but forget to set a user for which service runs as, the web server log shows the message /psreports servlet "failed with Exception": java.lang.IllegalStateException: response already committed.

To further debug, you can run a file monitoring tool on a Windows server like (ProcessMonitor (previously known as FileMon) from SysInternals. This will show you the cause of the error, e.g:

931    6:23:36 PM    beasvc.exe:2648    OPEN    C:\psreports\XRFFLPC_894690.HTM    
ACCESS DENIED    NT_AUTHORITY\SYSTEM

Comments

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License