how to find out tsm client version

xender69

ADSM.ORG Member
Joined
Dec 4, 2002
Messages
29
Reaction score
0
Points
0
Website
Visit site
Hi,
I was wondering if anyone knew how I can issue or dsmadmc command or dsmc command to get what version of TSM client I'm currently running on a client.

I'm guessing it would be something like dsmadmc -id=xxx -password=xxxx and then some command but can't figure it out.

Thanks in advanced.
 
Query the node. It has all that info in it.

For example: q node {node_name} f=d

-Aaron
 
select -
node_name, -
left(char(client_version),1)||'.'||-
left(char(client_release),1)||'.'||-
left(char(client_level),1)||'.'||-
left(char(client_sublevel),1)CLIENT_LVL -
from nodes

If you were searching just for nodes to upgrade (for example just nodes that are not at least at a 5.3 level.

You could run the following

select -
node_name, -
left(char(client_version),1)||'.'||-
left(char(client_release),1)||'.'||-
left(char(client_level),1)||'.'||-
left(char(client_sublevel),1)CLIENT_LVL -
from nodes -
where -
int(-
left(char(client_version),1)||-
left(char(client_release),1)||-
left(char(client_level),1)||-
left(char(client_sublevel),1)-
)-
<5300

and if running from a command line and you want comma delimited information...

dsmadmc -id=xxx -pa=xxx -dataonly=yes -comma " "

The select statements go within the quotes and of course you run them as one big line (so remove the "-"'s from the end of each line
 
Last edited:
Mate, do you remember client version 5.3.4.12? Sublevel can be two chars.

Better syntax for your query would be cast (client_version as char)||'.'||cast (client_release as char)||'.'||cast (client_level as char)||'.'||cast (client_sublevel as char (2)) and then comparing client_version and client_release separately as numbers.

Versions are character strings. Watch your datatypes!
 
Versions are character strings. Watch your datatypes!

Versions are SMALLINT's, which is why I have converted them to chars.

In relation to sublevel 12 (which yeah you are right, had not even thought too much about the sublevels), i was actually going to leave it out of the query. If specifically i was working with that, then i would include two chars and then use my search as two betweens...

do where (query is between) or (query is between).

Obviously in the where statement I am converting to a char string to use the "left" command and then converting to an integer
 
Last edited:
I meant "5.3.4.12" as version.

If you're going to test for certain versions, I still think you're better off comparing client_version numerically, then client_release (numerically again), &c.

But all that may be overkill for what the OP is trying to do ..
 
To complicate things, char (5) might be different from cast (5 as char). I don't speak C, but I remember a programming language (Comal-80. Yes, this was 20+ years back.) where chr (32) was a space (a la ASCII table). Chr (5) gave you a Ctrl-E. Cast (5 as char) might just as well give you a Ctrl-E, but I know from experience with TSM Reporting that in TSM casting works as I used it above.
 
I meant "5.3.4.12" as version.

ahh no probs, (misunderstood you char comment) yeah i realised that and in the compare string is is checking for 53412 the integer.

well actually it would come up with 5431...

so really it is easy enough to have the check numerically do the whole number still though. tSM is still pretty simplistic in everything
 
Last edited:
select -
node_name, -
left(char(client_version),1)||'.'||-
left(char(client_release),1)||'.'||-
left(char(client_level),1)||'.'||-
left(char(client_sublevel),1)CLIENT_LVL -
from nodes

If you were searching just for nodes to upgrade (for example just nodes that are not at least at a 5.3 level.

You could run the following

select -
node_name, -
left(char(client_version),1)||'.'||-
left(char(client_release),1)||'.'||-
left(char(client_level),1)||'.'||-
left(char(client_sublevel),1)CLIENT_LVL -
from nodes -
where -
int(-
left(char(client_version),1)||-
left(char(client_release),1)||-
left(char(client_level),1)||-
left(char(client_sublevel),1)-
)-
<5300

and if running from a command line and you want comma delimited information...

dsmadmc -id=xxx -pa=xxx -dataonly=yes -comma " "

The select statements go within the quotes and of course you run them as one big line (so remove the "-"'s from the end of each line

Hi, thanks for this suggestion but when I tried with the following command:

dsmadmc -id=xxx -pa=xxx -dataonly=yes -comma "select node_name left(char(client_version),1)||'.'||left(char(client_release),1)||'.'||left(char(client_level),1)||'.'||left(char(client_sublevel),1)CLIENT_LVL from nodes"

I got the following error:

ANR2908E Unexpected SQL punctuation token - '('.

|
.....................V.........................................
select node_name left(char(client_version),1)|| '.' ||left(char

Can you tell me what I did wrong and how to fix it.

Once again, thank you very much.
 
You forgot the comma that was there in the original code.

BTW, you also introduced a space that was not there in the original code.

And personally, I would have a space before 'CLIENT_LVL' that was not there in the original code.
 
Last edited:
i want to know client version < 6.3.0.0

select node_name,left(char(client_version),1)||'.'||left(char(client_release),1)||'.'||left(char(client_level),1)||'.'||left(char(client_sublevel),1)client_level from nodes where int(left(char(client_version),1)||'.'||left(char(client_release),1)||'.'||left(char(client_level),1)||'.'||left(char(client_sublevel),1))<6300
ANR0162W Supplemental database diagnostic information: -1:22018:-420 ([IBM][CLI Driver][DB2/LINUXX8664] SQL0420N
Invalid character found in a character string argument of the function "INTEGER". SQLSTATE=22018
).


can anyone help me please
 
>select node_name,left(char(client_version),1)||'.'||left(char(client_release),1)||'.'||left(char(client_level),1)||'.'||left(char(client_sublevel),1)client_level from nodes where int(left(char(client_version),1)||'.'||left(char(client_release),1)||'.'||left(char(client_level),1)||'.'||left(char(client_sublevel),1))<6300
ANR0162W Supplemental database diagnostic information: -1:22018:-420 ([IBM][CLI Driver][DB2/LINUXX8664] SQL0420N
Invalid character found in a character string argument of the function "INTEGER". SQLSTATE=22018
).
ANR0516E SQL processing for statement select node_name , left ( char ( client_version ) , 1 ) || '.' ||left ( char (
client_release ) , 1 ) || '.' ||left ( char ( client_level ) , 1 ) || '.' ||left ( char ( client_sublevel ) , 1 )
client_level from NODESVIEW where int ( left ( char ( client_version ) , 1 ) || '.' ||left ( char ( client_release ) ,
1 ) || '.' ||left ( char ( client_level ) , 1 ) || '.' ||left ( char ( client_sublevel ) , 1 ) ) < 6300 failed.
ANS8001I Return code 3.




i am new and unable to understand the error here
 
Back
Top