<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: DCL Command procedure output in Operating System - OpenVMS</title>
    <link>https://community.hpe.com/t5/operating-system-openvms/dcl-command-procedure-output/m-p/4244661#M90699</link>
    <description>This looks to be a variation of standard user or standard license monitoring, looking for the most efficient allocation of license units, or some such MBA-ism.&lt;BR /&gt;&lt;BR /&gt;It is easy to code the DCL to post up the periodic messages when invoked interactively, and to keep a running average over the day, and to accumulate min and max values by storing the data in an RMS file.  (An RMS file does this nicely, and you can then run a tool to calculate the min, max and running_average, if your DCL doesn't preemptively write it.) &lt;BR /&gt;&lt;BR /&gt;You could conceivably use a modified version of your existing DCL running in batch (forever) and (with basic RMS sharing) have your periodic query tool look at the most recent activity in the RMS indexed file. &lt;BR /&gt;&lt;BR /&gt;Or your existing batch job can notify via OPCOM traffic; via REQUEST or REPLY messages.  &lt;BR /&gt;&lt;BR /&gt;If you want to make somebody that likes statistics happy, write the data as XML -- DCL can write XML nicely -- and pass the logs over to the statistician(s).  (Run a web server on the OpenVMS box and you can serve up the data that way, too.)&lt;BR /&gt;&lt;BR /&gt;Or code some tools on your mail client to receive and process and tabulate the data from the existing batch job.  Various mail clients are programmable.&lt;BR /&gt;&lt;BR /&gt;or both.&lt;BR /&gt;&lt;BR /&gt;Having one piece of code doing both (and from batch) is rather more work.  It's  easier to have a "data collector" and a "data display" component, in my experience.&lt;BR /&gt;&lt;BR /&gt;In aggregate, a baseline solution for this is probably about two hours of DCL coding and testing.  If that.  If you want graphics displays and CGI, a little more time.&lt;BR /&gt;&lt;BR /&gt;</description>
    <pubDate>Mon, 04 Aug 2008 18:45:29 GMT</pubDate>
    <dc:creator>Hoff</dc:creator>
    <dc:date>2008-08-04T18:45:29Z</dc:date>
    <item>
      <title>DCL Command procedure output</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/dcl-command-procedure-output/m-p/4244650#M90688</link>
      <description>I have a command procedure that creates a file. It runs every 15 min each time it appends to the file. What I like to do is have the file type to my term when completed rather than email it as I do now.&lt;BR /&gt;&lt;BR /&gt;Is there a way to type  this file from a procedure running in batch mode to the screen?&lt;BR /&gt;&lt;BR /&gt;I tried to define sys$output to sys$input or sys$command and was not successful. I evne thought of read/sys$command, however I am not sure that will work. Please help. Here is part of the procedure:&lt;BR /&gt;$chk_file_and_delete:&lt;BR /&gt;$!                      DELETE THE WORK FILES&lt;BR /&gt;$&lt;BR /&gt;$ if hour .eq. 07 .and. min .eq. 00&lt;BR /&gt;$  then&lt;BR /&gt;$  delete  idxdailyrpts:cache_license_usage_pmca1*.rpt;*&lt;BR /&gt;$ endif&lt;BR /&gt;$ &lt;BR /&gt;$  delete dsa0:[cachesys.pmca1.mgr]all.dmp;*&lt;BR /&gt;$  delete idxdailywrks:cache_license_pmca1.tmp;*&lt;BR /&gt;$  purge/keep=2 idxdailylogs:cache_license_usage.log&lt;BR /&gt;$&lt;BR /&gt;$!-----------------------------------------------------------------------------&lt;BR /&gt;$&lt;BR /&gt;$ open/write/error=write_err fil1 idxdailywrks:cache_license_pmca1.tmp&lt;BR /&gt;$ wf1 = "write fil1"&lt;BR /&gt;$ &lt;BR /&gt;$ wf1 "$ CACHE -"""U""" """%SYS""""&lt;BR /&gt;$ wf1 "SET SECID="""OPERATOR""""&lt;BR /&gt;$ wf1 "Do $System.License.DumpLocalAll()"&lt;BR /&gt;$ wf1 "H"&lt;BR /&gt;$ close fil1&lt;BR /&gt;$&lt;BR /&gt;$ @idxdailywrks:cache_license_pmca1.tmp&lt;BR /&gt;$ &lt;BR /&gt;$!-----------------------------------------------------------------------------&lt;BR /&gt;$!              CREATE FILE WITH CURRENT DATA &lt;BR /&gt;$&lt;BR /&gt;$  if f$search("idxdailyrpts:cache_license_usage_pmca1_''date'.rpt") .eqs. "" &lt;BR /&gt;$    then&lt;BR /&gt;$     goto first_run&lt;BR /&gt;$    else&lt;BR /&gt;$     goto not_first_run&lt;BR /&gt;$  endif&lt;BR /&gt;$&lt;BR /&gt;$!-----------------------------------------------------------------------------&lt;BR /&gt;$&lt;BR /&gt;$first_run:&lt;BR /&gt;$&lt;BR /&gt;$  open/write/error=write_err outfil idxdailyrpts:cache_license_usage_pmca1_'dat&lt;BR /&gt;e'.rpt&lt;BR /&gt;$  open/read/error=read_err infil  DSA0:[CACHESYS.PMCA1.MGR]all.dmp&lt;BR /&gt;$  wo = "write outfil"&lt;BR /&gt;$&lt;BR /&gt;$!  TITLE INFORMATION&lt;BR /&gt;$&lt;BR /&gt;$  wrd1 = "CACHE"&lt;BR /&gt;$  wrd2 = "LICENSE"&lt;BR /&gt;$  wrd3 = "USAGE"&lt;BR /&gt;$  wrd4 = "FOR"&lt;BR /&gt;$  wrd5 = "PMCA1"&lt;BR /&gt;$  wrd6 = "''wkday',"&lt;BR /&gt;$  wrd7 = "''mdy'"&lt;BR /&gt;$&lt;BR /&gt;$!  HEADER INFORMATION&lt;BR /&gt;$&lt;BR /&gt;$  wrd9 = "Time"&lt;BR /&gt;$  wrd10= "Current Use"&lt;BR /&gt;$  wrd11= "License Capacity"&lt;BR /&gt;$  wrd12= "Units Remaining"&lt;BR /&gt;$&lt;BR /&gt;$  txt1 = f$fao("!20*  !5AS !7AS !5AS !3AS !5AS !10AS !12AS" ,wrd1,wrd2,wrd3,wrd&lt;BR /&gt;4,wrd5,wrd6,wrd7)&lt;BR /&gt;$  txt2 = f$fao("!17AS !17AS !17AS !17AS",wrd9,wrd10,wrd11,wrd12)&lt;BR /&gt;$  wo "''txt1'"&lt;BR /&gt;$  wo ""&lt;BR /&gt;$  wo "''txt2'"&lt;BR /&gt;$  wo ""&lt;BR /&gt;$&lt;BR /&gt;$  read/end=endit infil line&lt;BR /&gt;$  lic_cap = f$elem(1,"=",line)&lt;BR /&gt;$  lic_cap = f$edit(f$ext(0,f$loc(",",lic_cap),lic_cap),"trim")&lt;BR /&gt;$  cur_use = f$elem(2,"=",line)&lt;BR /&gt;$  cur_use = f$edit(f$ext(0,f$loc(",",cur_use),cur_use),"trim")&lt;BR /&gt;$  unit_remain = f$edit(f$elem(3,"=",line),"trim")&lt;BR /&gt;$&lt;BR /&gt;$  txt3 = f$fao("!17AS !17AS !17AS !17AS",hrmin,cur_use,lic_cap,unit_remain)&lt;BR /&gt;$  wo "''txt3'"&lt;BR /&gt;$&lt;BR /&gt;$ close infil&lt;BR /&gt;$ close outfil&lt;BR /&gt;$ goto mail_it&lt;BR /&gt;$&lt;BR /&gt;$!----------------------------------------------------------------------------&lt;BR /&gt;$&lt;BR /&gt;$not_first_run:&lt;BR /&gt;$&lt;BR /&gt;$  open/append/error=write_err outfil idxdailyrpts:cache_license_usage'date'.rpt&lt;BR /&gt;$  open/read/error=read_err infil  DSA0:[CACHESYS.PMCA1.MGR]all.dmp&lt;BR /&gt;$  wo = "write outfil"&lt;BR /&gt;$&lt;BR /&gt;$  read/end=endit infil line&lt;BR /&gt;$  lic_cap = f$elem(1,"=",line)&lt;BR /&gt;$  lic_cap = f$edit(f$ext(0,f$loc(",",lic_cap),lic_cap),"trim")&lt;BR /&gt;$  cur_use = f$elem(2,"=",line)&lt;BR /&gt;$  cur_use = f$edit(f$ext(0,f$loc(",",cur_use),cur_use),"trim")&lt;BR /&gt;$  unit_remain = f$edit(f$elem(3,"=",line),"trim")&lt;BR /&gt;$&lt;BR /&gt;$  txt3 = f$fao("!17AS !17AS !17AS !17AS",hrmin,cur_use,lic_cap,unit_remain)&lt;BR /&gt;$  wo "''txt3'"&lt;BR /&gt;$ &lt;BR /&gt;$ close infil&lt;BR /&gt;$ close outfil&lt;BR /&gt;$ goto mail_it&lt;BR /&gt;$!----------------------------------------------------------------------------&lt;BR /&gt;$mail_it:&lt;BR /&gt;$&lt;BR /&gt;$  if hour .eq. 17&lt;BR /&gt;$   then&lt;BR /&gt;$  mail_time     = f$ext(0,5,f$cvt("","absolute","time"))&lt;BR /&gt;$  mail/subject="Cache license Usage PMCA1 on ''mdy' ''mail_time'" - &lt;BR /&gt;       idxdailyrpts:cache_license_usage_pmca1_'date'.rpt  "''maildis'"&lt;BR /&gt;$  else&lt;BR /&gt;$  mail_time     = f$ext(0,5,f$cvt("","absolute","time"))&lt;BR /&gt;$  mail/subject="Cache license Usage PMCA1 on ''mdy' ''mail_time'" - &lt;BR /&gt;       idxdailyrpts:cache_license_usage_pmca1_'date'.rpt  "''gildis'"&lt;BR /&gt;$  endif&lt;BR /&gt;$  set noverify&lt;BR /&gt;$  exit&lt;BR /&gt;$&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Fri, 01 Aug 2008 13:25:05 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/dcl-command-procedure-output/m-p/4244650#M90688</guid>
      <dc:creator>Gilbert Pereira</dc:creator>
      <dc:date>2008-08-01T13:25:05Z</dc:date>
    </item>
    <item>
      <title>Re: DCL Command procedure output</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/dcl-command-procedure-output/m-p/4244651#M90689</link>
      <description>Gilbert,&lt;BR /&gt;&lt;BR /&gt;&amp;gt;&amp;gt;&amp;gt;&lt;BR /&gt;Is there a way to type this file from a procedure running in batch mode to the screen?&lt;BR /&gt;&amp;lt;&amp;lt;&amp;lt;&lt;BR /&gt;&lt;BR /&gt;Is the job really running in batch mode?&lt;BR /&gt;How do you even know your terminal is online &amp;amp; logged-in?&lt;BR /&gt;&lt;BR /&gt;But if you do get around that:&lt;BR /&gt;determine the device name of the intended terminal, and&lt;BR /&gt;&lt;BR /&gt;$ TYPE &lt;FILE&gt; /output=&lt;SPECIFIED terminal=""&gt;&lt;BR /&gt;should do the trick.&lt;BR /&gt;&lt;BR /&gt;hth&lt;BR /&gt;&lt;BR /&gt;Proost.&lt;BR /&gt;&lt;BR /&gt;Have one on me.&lt;BR /&gt;&lt;BR /&gt;jpe&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/SPECIFIED&gt;&lt;/FILE&gt;</description>
      <pubDate>Fri, 01 Aug 2008 13:41:26 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/dcl-command-procedure-output/m-p/4244651#M90689</guid>
      <dc:creator>Jan van den Ende</dc:creator>
      <dc:date>2008-08-01T13:41:26Z</dc:date>
    </item>
    <item>
      <title>Re: DCL Command procedure output</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/dcl-command-procedure-output/m-p/4244652#M90690</link>
      <description>I am running Reflections and the window is open all day.  I used the submit command to execute the job. &lt;BR /&gt;In a batch job , is the sys$output the command procedure's log file? &lt;BR /&gt;So how would I determine the terminal?</description>
      <pubDate>Fri, 01 Aug 2008 13:53:45 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/dcl-command-procedure-output/m-p/4244652#M90690</guid>
      <dc:creator>Gilbert Pereira</dc:creator>
      <dc:date>2008-08-01T13:53:45Z</dc:date>
    </item>
    <item>
      <title>Re: DCL Command procedure output</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/dcl-command-procedure-output/m-p/4244653#M90691</link>
      <description>Hmmm, I can not imagine that you really would want every window you are using to receive that license stuff all the time.&lt;BR /&gt;&lt;BR /&gt;So you want to identify the 'terminal' for &lt;BR /&gt;the window  to receive the message and provide that to the job. Yuck.&lt;BR /&gt;&lt;BR /&gt;My preference would be to select a window to run receive the output and just spawn a job to get teh data in a loop, or type the file create by the batch job.&lt;BR /&gt;&lt;BR /&gt;Something simple like&lt;BR /&gt;&lt;BR /&gt;$ spaw/nowait/inpu=nl:/proc=license_watch @license_watch.com&lt;BR /&gt;&lt;BR /&gt;Where license_watch.com looks something like:&lt;BR /&gt;&lt;BR /&gt;$loop:&lt;BR /&gt;$type license.tmp&lt;BR /&gt;$wait 0:5:0 ! Every 5 minutes?&lt;BR /&gt;$goto loop&lt;BR /&gt;$crash system if we get here&lt;BR /&gt;&lt;BR /&gt;If you really want the data to go to all logged in terminal and really want an Email all teh time, then you can be 'cute' and use the Email personal name to convey the data:&lt;BR /&gt;&lt;BR /&gt;$MAIL/PERS="your text here"&lt;BR /&gt;&lt;BR /&gt;Maybe&lt;BR /&gt;&lt;BR /&gt;$ mail/subject="Cache license Usage PMCA1 on ''mdy' ''mail_time'" - &lt;BR /&gt;/pers="''txt3' -&lt;BR /&gt;idxdailyrpts:cache_license_usage_pmca1_'date'.rpt "''maildis'"&lt;BR /&gt;&lt;BR /&gt;[fwiw... What a horrible script, and what a horrible task it is trying to do ]&lt;BR /&gt;&lt;BR /&gt;Enjoy,&lt;BR /&gt;Hein.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Fri, 01 Aug 2008 14:33:21 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/dcl-command-procedure-output/m-p/4244653#M90691</guid>
      <dc:creator>Hein van den Heuvel</dc:creator>
      <dc:date>2008-08-01T14:33:21Z</dc:date>
    </item>
    <item>
      <title>Re: DCL Command procedure output</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/dcl-command-procedure-output/m-p/4244654#M90692</link>
      <description>&lt;!--!*#--&gt;&amp;gt; If you really want the data to go to all logged in terminal &lt;BR /&gt;&lt;BR /&gt;How about&lt;BR /&gt;&lt;BR /&gt;$ reply/user=xxxxxx "your text"&lt;BR /&gt;&lt;BR /&gt;?</description>
      <pubDate>Fri, 01 Aug 2008 15:09:17 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/dcl-command-procedure-output/m-p/4244654#M90692</guid>
      <dc:creator>Jim_McKinney</dc:creator>
      <dc:date>2008-08-01T15:09:17Z</dc:date>
    </item>
    <item>
      <title>Re: DCL Command procedure output</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/dcl-command-procedure-output/m-p/4244655#M90693</link>
      <description>&amp;gt; In a batch job , is the sys$output the&lt;BR /&gt;&amp;gt; command procedure's log file?&lt;BR /&gt;&lt;BR /&gt;The batch job's log file.&lt;BR /&gt;&lt;BR /&gt;&amp;gt; So how would I determine the terminal?&lt;BR /&gt;&lt;BR /&gt;From a batch job?  I don't see how, but you&lt;BR /&gt;could tell it.  Instead of submitting the&lt;BR /&gt;batch job directly, run another procedure&lt;BR /&gt;which does f$trnlnm( "sys$command"), and then&lt;BR /&gt;submits the batch job, passing the terminal&lt;BR /&gt;name to the batch job (/PARAMETERS = ...),&lt;BR /&gt;which can then write whatever it wants to&lt;BR /&gt;that terminal (if it has permission).&lt;BR /&gt;&lt;BR /&gt;You really wish to do this?</description>
      <pubDate>Fri, 01 Aug 2008 15:20:44 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/dcl-command-procedure-output/m-p/4244655#M90693</guid>
      <dc:creator>Steven Schweda</dc:creator>
      <dc:date>2008-08-01T15:20:44Z</dc:date>
    </item>
    <item>
      <title>Re: DCL Command procedure output</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/dcl-command-procedure-output/m-p/4244656#M90694</link>
      <description>Gilbert&lt;BR /&gt;Not sure why you would want to but this should work:&lt;BR /&gt;&lt;BR /&gt;In your (terminal) login set a system wide logical to point to your terminal:&lt;BR /&gt;&lt;BR /&gt;Something like:&lt;BR /&gt;&lt;BR /&gt;def/sys term_outp 'f$getjpi("","terminal")&lt;BR /&gt;&lt;BR /&gt;In your batch job:&lt;BR /&gt;&lt;BR /&gt;Copy file ''term_outp'&lt;BR /&gt;&lt;BR /&gt;Not reliable (will only type to last term logged in and if terminal is still logged in)&lt;BR /&gt;Not considered good practice putting extra stuff in system log tables but having said that should give you what you asked for.&lt;BR /&gt;&lt;BR /&gt;Regards&lt;BR /&gt;&lt;BR /&gt;Paul&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Mon, 04 Aug 2008 07:38:14 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/dcl-command-procedure-output/m-p/4244656#M90694</guid>
      <dc:creator>Paul Beaudoin</dc:creator>
      <dc:date>2008-08-04T07:38:14Z</dc:date>
    </item>
    <item>
      <title>Re: DCL Command procedure output</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/dcl-command-procedure-output/m-p/4244657#M90695</link>
      <description>Um, you're not looking for batch here.  Batch provides offline and unattended processing, throw-and-go processing.  You clearly want "online".&lt;BR /&gt;&lt;BR /&gt;Run the procedure directly from your Reflections X Window system session; from an X terminal login.  &lt;BR /&gt;&lt;BR /&gt;You might need to toss the procedure into the 15 minute loop or such, but that's easier than making batch interactive.&lt;BR /&gt;&lt;BR /&gt;As an enhancement here, I'd tend to automate whatever secondary eye-ball or manual processing is needed here (monitoring Cache license units?), and run this entirely offline; whether via batch job or as a daemon.  Or (for an interactive display) I'd run it behind a web server CGI or such, and particular run with graphical displays.  I'd get out of the business of having to look at a local terminal display or the mail every fifteen minutes.  (Or the data could be pulled via RSS or such as required.)&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Mon, 04 Aug 2008 13:44:50 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/dcl-command-procedure-output/m-p/4244657#M90695</guid>
      <dc:creator>Hoff</dc:creator>
      <dc:date>2008-08-04T13:44:50Z</dc:date>
    </item>
    <item>
      <title>Re: DCL Command procedure output</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/dcl-command-procedure-output/m-p/4244658#M90696</link>
      <description>Why not just write to a file and then $ tail /f the file ? &lt;BR /&gt;If auditors are interested in the output then better maybe to keep records.</description>
      <pubDate>Mon, 04 Aug 2008 14:41:36 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/dcl-command-procedure-output/m-p/4244658#M90696</guid>
      <dc:creator>Thomas Ritter</dc:creator>
      <dc:date>2008-08-04T14:41:36Z</dc:date>
    </item>
    <item>
      <title>Re: DCL Command procedure output</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/dcl-command-procedure-output/m-p/4244659#M90697</link>
      <description>Paul&lt;BR /&gt;I have been task to monitor our Cache license usage during the day at some perticular interval and be aware of this through out the day and at end of of the day send a report of all the times to management.  This will help to determine if we need to increase our licenses, since are are adding users at once a month, sometimes more.&lt;BR /&gt;&lt;BR /&gt;So I wanted a way in which I can run a command procedure that will display the usage to my Reflection window rather than have to read an email with the current usage.&lt;BR /&gt; Paul if I open one window and run my procedure under a perticular username will that be ok since every window creates a unique terminal ID. ?</description>
      <pubDate>Mon, 04 Aug 2008 16:04:45 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/dcl-command-procedure-output/m-p/4244659#M90697</guid>
      <dc:creator>Gilbert Pereira</dc:creator>
      <dc:date>2008-08-04T16:04:45Z</dc:date>
    </item>
    <item>
      <title>Re: DCL Command procedure output</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/dcl-command-procedure-output/m-p/4244660#M90698</link>
      <description>Ever try&lt;BR /&gt;&lt;BR /&gt;$ ccontrol stat xxxx -a0 "-L1" &lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;where xxxx is your Cache config name? Filter leaving only the lines with "licenses" and you should see something like this. &lt;BR /&gt;&lt;BR /&gt;$ pipe ccont stat xxxx -a0 "-L1" | sear sys$pipe licenses&lt;BR /&gt;Current Licenses available =    127&lt;BR /&gt;Minimum Licenses available =    125&lt;BR /&gt;Total   Licenses available =    128&lt;BR /&gt;&lt;BR /&gt;Maybe you want more info - maybe less. Filter as you choose. Then, just place that command line in a command procedure and "$ spawn/nowait" it from the terminal where your logged in...&lt;BR /&gt;&lt;BR /&gt;$loop:&lt;BR /&gt;$ pipe ccont stat xxxx -a0 "-L1" | sear sys$pipe licenses&lt;BR /&gt;$ wait 00:15&lt;BR /&gt;$ goto loop</description>
      <pubDate>Mon, 04 Aug 2008 17:28:30 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/dcl-command-procedure-output/m-p/4244660#M90698</guid>
      <dc:creator>Jim_McKinney</dc:creator>
      <dc:date>2008-08-04T17:28:30Z</dc:date>
    </item>
    <item>
      <title>Re: DCL Command procedure output</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/dcl-command-procedure-output/m-p/4244661#M90699</link>
      <description>This looks to be a variation of standard user or standard license monitoring, looking for the most efficient allocation of license units, or some such MBA-ism.&lt;BR /&gt;&lt;BR /&gt;It is easy to code the DCL to post up the periodic messages when invoked interactively, and to keep a running average over the day, and to accumulate min and max values by storing the data in an RMS file.  (An RMS file does this nicely, and you can then run a tool to calculate the min, max and running_average, if your DCL doesn't preemptively write it.) &lt;BR /&gt;&lt;BR /&gt;You could conceivably use a modified version of your existing DCL running in batch (forever) and (with basic RMS sharing) have your periodic query tool look at the most recent activity in the RMS indexed file. &lt;BR /&gt;&lt;BR /&gt;Or your existing batch job can notify via OPCOM traffic; via REQUEST or REPLY messages.  &lt;BR /&gt;&lt;BR /&gt;If you want to make somebody that likes statistics happy, write the data as XML -- DCL can write XML nicely -- and pass the logs over to the statistician(s).  (Run a web server on the OpenVMS box and you can serve up the data that way, too.)&lt;BR /&gt;&lt;BR /&gt;Or code some tools on your mail client to receive and process and tabulate the data from the existing batch job.  Various mail clients are programmable.&lt;BR /&gt;&lt;BR /&gt;or both.&lt;BR /&gt;&lt;BR /&gt;Having one piece of code doing both (and from batch) is rather more work.  It's  easier to have a "data collector" and a "data display" component, in my experience.&lt;BR /&gt;&lt;BR /&gt;In aggregate, a baseline solution for this is probably about two hours of DCL coding and testing.  If that.  If you want graphics displays and CGI, a little more time.&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Mon, 04 Aug 2008 18:45:29 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/dcl-command-procedure-output/m-p/4244661#M90699</guid>
      <dc:creator>Hoff</dc:creator>
      <dc:date>2008-08-04T18:45:29Z</dc:date>
    </item>
    <item>
      <title>Re: DCL Command procedure output</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/dcl-command-procedure-output/m-p/4244662#M90700</link>
      <description>T4 provides an excellent framework for monitoring a VMS system.  The attachment has 2 command files to monitor and report on cache user licenses in T4 format.  This can be included as a T4 collector so the data gets collected into one report file.  If you need to check the status during the day, use convert to read the present file.  For example:&lt;BR /&gt;&lt;BR /&gt;$ pipe convert T4_MYNODE_30JUL2008_0000_2358_CACHE.CSV/share sys$output |  &lt;BR /&gt;sort sys$pipe /key=(pos:10,siz:2) /nodup sys$output&lt;BR /&gt;&lt;BR /&gt;provides a fast status check and quickly lets you know if a closer look is called for.  &lt;BR /&gt;&lt;BR /&gt;Using the T4 framework has the advantage of minimizing drift during monitoring generating samples at near regular intervals.  Once data is collected you can use EXCEL, TLVIZ or CSVPNG to create graphic display suitable for the PowerPoint set.  &lt;BR /&gt;&lt;BR /&gt;  &lt;BR /&gt;&lt;BR /&gt;Andy Bustamante&lt;BR /&gt;</description>
      <pubDate>Mon, 04 Aug 2008 20:36:15 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/dcl-command-procedure-output/m-p/4244662#M90700</guid>
      <dc:creator>Andy Bustamante</dc:creator>
      <dc:date>2008-08-04T20:36:15Z</dc:date>
    </item>
  </channel>
</rss>

