IBM DB2 Content Manager OnDemand

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

Saturday, May 16, 2009

Content Manager OnDemand and the iSeries

The question has come up about these commands and the iSeries version of this product. Before i tell how that would work, a couple of comments (or more).

First- Any thing connected to using the stuff on this blog with OnDemand on the iSeries will relate ONLY to the Common Server environment. The Spool File Archive was a very different creature and these commands will not work with it

Second - The Content Manager OnDemand Common Server for the iseries is one of the best ports IBM has ever done. If you have an iSeries, DO NOT put your OnDemand server on a Windows installation. Use it on the iSeries. These two products are a wonderful match. (And if you need help with that you can contact sales@transcendenttech.com or mballard@trasncendenttech.com)

Third - I do not have access to an iSeries with OnDemand installed. Any information on here will be me working from memory.

So, that said, here is how you can use the arsdoc, arsadmin, and other commands on the iSeries Common Server install. All of these commands are available in the QShell environment. Don't know what the QShell is? It is a Unix type environment available on the iSeries and can be accessed by typing qsh on the command line. This will put you into the environment and allow access by typing Unix-style commands. Very handy for accessing the IFS which is where these commands are at.

So once you have types qsh, what next? Navigate to the command area by typing cd to get where you wish to go. I do not remember exactly where these commands are at, but believe it is under ProdData under QIBM. A little hunting, possibly from the iseries navigator will get you to the commands. Once you have located the folder these are in, all of the execution is the same as in the posts I have done. I do believe you will need to use the Unix style ./ in front of the commands, but am not positive about that.

If you look in the IFS you will also find that these commands are not actual programs in the IFS. The items in the IFS are just symbolic links back to programs in the libraries in the normal iSeries environment. This means that you could use these programs instead, but I find it easier to use them through the Qshell. Probably because this allows me to remember names and syntax for one set of commands across all platforms. Wish IBM would do THAT ion a few more places.

But if you have an iSeries, give it a try. Good luck and be sure to let me know if I have anything wrong or if you find something that would be helpful.

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.