For posting questions on Content Manager OnDemand, please go to Computer Help Me! Forum (Click Here)

Saturday, May 16, 2009

ARSDOC Retrieving the Load ID

As I mentioned in the last post (from way too long ago), to remove a report an administrator can use the arsadmin unload command. Part of the input for the command is the load id of the document or report to be removed. So how do you locate the load id for a report? There are two methods that can be used to do this.

Method 1: Check the System Log Looking in the System Log is a nice easy way to locate the load id for recently loaded reports. Just search for the application group in the message by entering %% and looking for message number 87 (successful load). The load id is part of the detail info for this message.

The check in the System Log works very well if there has been only one or a very few recent loads for the application Group. But if there have been a lot of loads, it is very difficult to determine which one is the id you wish to remove. In a case like this you could always use the shotgun approach and delete them all or you could use method number 2.

Method 2: ARSDOC QUERY The arsdoc query command is another OnDemand command line utility that comes with the install of the administrator client. It allows an administrator to query the content of OnDemand without using the client. The arsdoc command can look up detailed information about reports, it can retrieve copies of reports to disk, and for this case it can retrieve the load id based on search criteria.

To start with the arsdoc query (we won't worry about the other arsdoc options today) navigate to ...\ondemand for winnt\bin from a Windows command prompt, or to .../ondemand/bin on Unix. type the arsdoc or ./arsdoc and check the possible parameters. The ones we will be using to get what we need are as follows:

-h hostname - name of the OnDemand server accessible with tcpip
-u user - usually an administrator id
-p password - for the above user
-f folder name - OnDemand folder name to be searched
-G Application Group Name - App group that is accessed from the previously named folder
-i query string - A query string to define the search criteria
-I append the load id - Not a bad idea since that is the point of this. There are two options, f to get it from the system log and p to create it from the document information. I always try f first, and if that fails then the p option.

So, using the options listed above we come up with the string:

arsdoc query -h odserver -u admin -p imnottelling -f "Claims" -G "CLAIMSREPORTS" -i "where reportdate = 14320 and reporttype = 'CLAIMS'" -I f

This command will send a hit list of reports matching the criteria with the load id of each. YOu can then use the load id's to start removing the reports that need to be deleted.

Points to note about the above command line
  • All parameters with spaces must be enclosed in quotes.
  • All entries are case sensitive
  • Dates must be in OnDemand format (post to follow soon)
  • Additional query options can be specified. If you have a lot of returns int he hit list, they can be grouped or sorted. Just use DB2 type commands.

That should get you where you need to get your errant reports removed from OnDemand as in the case I mentioned where the bank presidents account information had been inadvertently loaded into the same app group as all the other statements. I that case it might also save your job if you are fast enough.

No comments:

Post a Comment