That's an 11-line script that should take about 2 minutes to create. Here's
a program that will do it for you, but you need to get 'jsp_scan' working
(maybe run it as 'root' so that permissions are not a problem):

0001     EXECUTE @IM:'kjsp_scan > jsp.out'
0002     OPEN '.' TO curdir ELSE STOP 201,'.'
0003     READ jspout FROM curdir, 'jsp.out' ELSE STOP 202,'jsp.out'
0004     script = ''     ;* First line could be something like this:
'#!/bin/ksh'
0005     numlines = DCOUNT(jspout,@AM)
0006     FOR lineno = 1 TO numlines
0007         line = TRIM(jspout<lineno>)
0008         label = line[1,7]
0009         BEGIN CASE
0010         CASE label  = 'FormQue'
0011             fqname  = FIELD(line,' ',2)[2,-1]
0012             IF fqname = 'STANDARD' THEN command = 'SP-DEVICE ' ELSE
command = 'SP-CREATE '
0013             scriptline  = command:fqname
0014         CASE label  = 'DevType'
0015             devtype = FIELD(line,' ',2)[2,-1]
0016             scriptline := ' ':devtype
0017         CASE label  = 'DevName'
0018             devname = FIELD(line,':',2,99)
0019             scriptline := ' ':devname
0020             script<-1> = scriptline
0021         END CASE
0022     NEXT lineno
0023     WRITE script ON curdir, 'createqueues'



You could also do:

SP-EDIT entry# (I


On Thu, Jan 30, 2014 at 5:13 PM, troyd1 <[email protected]> wrote:

> I would rather not do that as they have 11 form queue's set up and I
> really don't want to mess it up.  Is there a way using the jspcmds or
> another command to basically do a cat hold #.  I am thinking I could
> execute that and capture the output.  I think that would work fine.  Does
> the jspcmds COPY have a screen option?
>
>
> On Thursday, January 30, 2014 4:00:26 PM UTC-6, Daniel Klein wrote:
>
>> You have a real permissions issue, which is probably the reason your
>> program does not run as it can't access the 'jspool_log' file.
>>
>> I'd advise trashing this spooler and creating a new one, but make sure
>> 'umask 0' is set before running 'SP-NEWTAB'.
>>
>> Dan
>>
>>
>> On Thu, Jan 30, 2014 at 4:12 PM, troyd1 <[email protected]> wrote:
>>
>>> I just ran it with the -v option and only got the following:
>>> jsp_scan - Version $Revision: 3.1 $
>>> SpoolerDir=/usr/jspooler
>>>  ** Error [ 201 ] **
>>> Unable to open file /usr/jspooler/jspool_log
>>>
>>>
>>>
>>>
>>> On Thursday, January 30, 2014 9:35:41 AM UTC-6, Daniel Klein wrote:
>>>
>>>> If it is not executing the program then the best way to start debugging
>>>> this is to run this command from a Linux prompt:
>>>>
>>>> jsp_scan > jsp.out
>>>>
>>>> and attach the 'jsp.out' file to your reply.
>>>>
>>>> Dan
>>>>
>>>>
>>>> On Thu, Jan 30, 2014 at 7:39 AM, troyd1 <[email protected]> wrote:
>>>>
>>>>> I checked and it is there.  I think the biggest point is that it is
>>>>> not executing the program when printing. It should correct?
>>>>>
>>>>>
>>>>> On Tuesday, January 28, 2014 4:33:55 PM UTC-6, Daniel Klein wrote:
>>>>>
>>>>>> I think the piece that is missing is 'openseq_creates = true' in the
>>>>>> '$JBCRELEASEDIR/config/Config_EMULATE' file, under the appropriate
>>>>>> emulation section.
>>>>>>
>>>>>> Dan
>>>>>>
>>>>>>
>>>>>> On Tue, Jan 28, 2014 at 2:36 PM, troyd1 <[email protected]> wrote:
>>>>>>
>>>>>>> Daniel, thanks for the reply.  I am finally back on this.  I did the
>>>>>>> option of redirecting the  output to a program.  I cannot get it to 
>>>>>>> work.
>>>>>>>
>>>>>>> I created a program as described.  I am on a 3.x version of jbase.
>>>>>>>
>>>>>>> I created the formqueue by doing SP-CREATE PCAPT PROG
>>>>>>> /jbase/bin/lptext
>>>>>>>
>>>>>>> I created a directory under /tmp called PRINTCAPTURE and gave it 777
>>>>>>> permissions.  I am on an old version of linux.
>>>>>>>
>>>>>>> I ran the program from the command prompt and it was giving me an
>>>>>>> error with the sequential file, so I tried saving the output and just
>>>>>>> opening and writing the output.
>>>>>>>
>>>>>>> It does not seem to even be running the program.
>>>>>>>
>>>>>>> Here is the code:
>>>>>>> * PROGRAM lptext
>>>>>>>  INCLUDE JBC.h
>>>>>>> * id = CHANGE(UNIQUEKEY(),'/',']2F')
>>>>>>>  id = SYSTEM(21):'_':DATE():'_':TIME():'_':SYSTEM(9):'_':RND(32000)
>>>>>>> * tempdirname = '/tmp/PRINTCAPTURE'
>>>>>>> * OPENSEQ tempdirname:DIR_DELIM_CH:id TO outstream ELSE
>>>>>>> *   CREATE outstream ELSE NULL
>>>>>>> * END
>>>>>>> EXECUTE 'touch /tmp/PRINTCAPTURE/testtouch'
>>>>>>> * OPENSEQ tempdirname:'/':id TO outstream ELSE NULL
>>>>>>> OPEN 'PCAPTURE' TO PCAPTURE ELSE STOP
>>>>>>> PREC = ''
>>>>>>>  LOOP
>>>>>>>    numchars = SYSTEM(14)
>>>>>>>  WHILE numchars DO
>>>>>>>    INPUT line, numchars
>>>>>>>    PREC<-1> = line
>>>>>>> *   WRITESEQ line ON outstream ELSE NULL
>>>>>>>  REPEAT
>>>>>>> * WEOFSEQ outstream ELSE NULL
>>>>>>> * CLOSESEQ outstream
>>>>>>> WRITE PREC ON PCAPTURE,id
>>>>>>> CLOSE PCAPTURE
>>>>>>> STOP
>>>>>>>
>>>>>>> I added the execute touch to see if it was running.  If I run the
>>>>>>> from the command prompt by either doing lptext or /jbase/bin/lptext it
>>>>>>> creates the touch file.
>>>>>>>
>>>>>>> If I do SP-ASSIGN = PCAPT
>>>>>>> and then SP-ASSIGN ?, it is assigned correctly.  SP-STATUS shows the
>>>>>>> formqueue fine.
>>>>>>>
>>>>>>> If I do LIST MD SAMPLE 10 LPTR, it does not create the touch file
>>>>>>> and if I go to SP-STATUS, there is no job there.  If I assign it to
>>>>>>> hold(HS) or another form queue, it prints fine.
>>>>>>>
>>>>>>> What am I doing wrong.  I feel like I am 99% there, but missing
>>>>>>> something.
>>>>>>>
>>>>>>> Any suggestions?
>>>>>>>
>>>>>>>
>>>>>>> On Friday, May 3, 2013 5:05:59 AM UTC-5, Daniel Klein wrote:
>>>>>>>
>>>>>>>> You have lots of options here.
>>>>>>>>
>>>>>>>>  If the report is a Hold Entry in the spooler, you can send this to
>>>>>>>> a file using the (I) 'eye' option of the SP-EDIT command. For example, 
>>>>>>>> if
>>>>>>>> you want to send Entry #42 to a file, enter
>>>>>>>>
>>>>>>>> SP-EDIT 42 (I)
>>>>>>>>
>>>>>>>> and you will be prompted for the destination "File name and record
>>>>>>>> key".
>>>>>>>>
>>>>>>>> A more direct way to accomplish this is with the 'jspcmds' command:
>>>>>>>>
>>>>>>>> jspcmds COPY "filepath filename" job#
>>>>>>>>
>>>>>>>> For example, the command...
>>>>>>>>
>>>>>>>> jspcmds COPY "/tmp/printjobs myjob.txt" 42
>>>>>>>>
>>>>>>>> will 'copy' hold entry #42 to the '/tmp/printjobs' directory with a
>>>>>>>> filename of 'myjob.txt'.
>>>>>>>>
>>>>>>>> Should you wish to also delete the spooler entry then use
>>>>>>>> 'COPYDELETE' in place of 'COPY' in the above command.
>>>>>>>>
>>>>>>>> ***
>>>>>>>>
>>>>>>>> A form queue can also be created like this:
>>>>>>>>
>>>>>>>>         SP-CREATE FILE PROG cat > /tmp/file.txt
>>>>>>>>
>>>>>>>> When a printjob is despooled, a file will be created in the
>>>>>>>> specified directory and will be called 'MyPrintFile'. The caveat of 
>>>>>>>> this
>>>>>>>> method is that each time a job is despooled to this queue, it 
>>>>>>>> OVERWRITES
>>>>>>>> the previous file.
>>>>>>>>
>>>>>>>> ***
>>>>>>>>
>>>>>>>> The most flexible approach is to redirect spooler output to a
>>>>>>>> user-written Basic program. What this means is that spooler 'output'
>>>>>>>> (stdout) becomes the 'input' (stdin) to your program. This gives you 
>>>>>>>> total
>>>>>>>> control over the spooler output. A typical program will capture all of 
>>>>>>>> the
>>>>>>>> data to a file and then do something with that 'file' (like email it,
>>>>>>>> convert it to a PDF or some other format, ftp it to some other machine,
>>>>>>>> etc, the possibilities are endless). Output can also be handled
>>>>>>>> line-by-line as it is being despooled.
>>>>>>>>
>>>>>>>> Here's some code you can start with:
>>>>>>>>
>>>>>>>> 0001     PROGRAM lptext
>>>>>>>> 0002     INCLUDE JBC.h
>>>>>>>> 0003     id = CHANGE(UNIQUEKEY(),'/',']2F') ;* create a unique
>>>>>>>> item-id for the print job
>>>>>>>> 0004     tempdirname = '/tmp'  ;* This directory must have 'rw'
>>>>>>>> permissions
>>>>>>>> 0005     OPENSEQ tempdirname:DIR_DELIM_CH:id TO outstream ELSE
>>>>>>>> 0006         CREATE outstream ELSE NULL
>>>>>>>> 0007     END
>>>>>>>> 0008     LOOP
>>>>>>>> 0009         numchars = SYSTEM(14)
>>>>>>>> 0010     WHILE numchars DO
>>>>>>>> 0011         INPUT line, numchars
>>>>>>>> 0012         WRITESEQ line ON outstream ELSE NULL
>>>>>>>> 0013     REPEAT
>>>>>>>> 0014     WEOFSEQ outstream ELSE NULL
>>>>>>>> 0015     CLOSESEQ outstream
>>>>>>>>
>>>>>>>> The next step is to define the form queue. For example, if the
>>>>>>>> program is cataloged in '/home/bin' then:
>>>>>>>>
>>>>>>>> SP-CREATE FILE PROG /home/bin/lptext
>>>>>>>>
>>>>>>>> All that's left to do is assign the queue and print something, e.g.
>>>>>>>>
>>>>>>>> SP-ASSIGN =FILE
>>>>>>>> LIST MD SAMPLE 10 LPTR
>>>>>>>>
>>>>>>>> Note that the above code assumes the system is running jBASE 4 or
>>>>>>>> 5. To get it to run on jBASE 3 :
>>>>>>>>
>>>>>>>> 1) Replace line 3 with:
>>>>>>>>
>>>>>>>>     id = SYSTEM(21):'_':DATE():'_':TIME():'_':SYSTEM(9):'_':RND(
>>>>>>>> 32000)
>>>>>>>>
>>>>>>>> 2) Replace lines 5 through 7 with:
>>>>>>>>
>>>>>>>>     OPENSEQ tempdirname:DIR_DELIM_CH:id TO outstream ELSE NULL
>>>>>>>>
>>>>>>>> 3) Add the line:
>>>>>>>>
>>>>>>>>         openseq_creates = true
>>>>>>>>
>>>>>>>> to the '$JBCRELEASEDIR/config/Config_EMULATE' file under the
>>>>>>>> appropriate emulation section, if it does not already exist. This 
>>>>>>>> setting
>>>>>>>> allows 'id' to be created if it does not previously exist.
>>>>>>>>
>>>>>>>> Hope this helps,
>>>>>>>>
>>>>>>>> Dan
>>>>>>>>
>>>>>>>>
>>>>>>>> On Thu, May 2, 2013 at 6:58 PM, troyd1 <[email protected]> wrote:
>>>>>>>>
>>>>>>>>> I am working on a system that creates print jobs by turning the
>>>>>>>>> printer on and then using print statements.  I would like to be able 
>>>>>>>>> to
>>>>>>>>> capture the output from the print statements into a variable in a 
>>>>>>>>> program
>>>>>>>>> to do something with them (basically capturing the print job into a
>>>>>>>>> variable).
>>>>>>>>>
>>>>>>>>> Here are my thoughts:
>>>>>>>>>
>>>>>>>>> Isolate the code and execute it and use a capturing statement.
>>>>>>>>>
>>>>>>>>> Do a como on statement and capture the output that way.  If I need
>>>>>>>>> to do this, is there a way to have the output only go to the como 
>>>>>>>>> file?
>>>>>>>>>
>>>>>>>>> I guess what I am looking for is a way to do this with minimal
>>>>>>>>> changes to the program.  Basically do a "printer on" and save all 
>>>>>>>>> output to
>>>>>>>>> a variable or alternately a file.  I am on jbase 3.4 on an old 
>>>>>>>>> version of
>>>>>>>>> linux.
>>>>>>>>>
>>>>>>>>> Thanks in advance for any help.
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> --
>>>>>>>>> IMPORTANT: T24/Globus posts are no longer accepted on this forum.
>>>>>>>>>
>>>>>>>>> To post, send email to [email protected]
>>>>>>>>> To unsubscribe, send email to [email protected]
>>>>>>>>>
>>>>>>>>> For more options, visit this group at http://groups.google.com/
>>>>>>>>> group/jBASE?hl=en
>>>>>>>>>
>>>>>>>>> ---
>>>>>>>>> You received this message because you are subscribed to the Google
>>>>>>>>> Groups "jBASE" group.
>>>>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>>>>> send an email to [email protected].
>>>>>>>>>
>>>>>>>>> For more options, visit https://groups.google.com/groups/opt_out.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>  --
>>>>>>> --
>>>>>>> IMPORTANT: T24/Globus posts are no longer accepted on this forum.
>>>>>>>
>>>>>>> To post, send email to [email protected]
>>>>>>> To unsubscribe, send email to [email protected]
>>>>>>> For more options, visit this group at http://groups.google.com/group
>>>>>>> /jBASE?hl=en
>>>>>>>
>>>>>>> ---
>>>>>>> You received this message because you are subscribed to the Google
>>>>>>> Groups "jBASE" group.
>>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>>> send an email to [email protected].
>>>>>>> For more options, visit https://groups.google.com/groups/opt_out.
>>>>>>>
>>>>>>
>>>>>>  --
>>>>> --
>>>>> IMPORTANT: T24/Globus posts are no longer accepted on this forum.
>>>>>
>>>>> To post, send email to [email protected]
>>>>> To unsubscribe, send email to [email protected]
>>>>> For more options, visit this group at http://groups.google.com/group
>>>>> /jBASE?hl=en
>>>>>
>>>>> ---
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "jBASE" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>>> an email to [email protected].
>>>>> For more options, visit https://groups.google.com/groups/opt_out.
>>>>>
>>>>
>>>>  --
>>> --
>>> IMPORTANT: T24/Globus posts are no longer accepted on this forum.
>>>
>>> To post, send email to [email protected]
>>> To unsubscribe, send email to [email protected]
>>> For more options, visit this group at http://groups.google.com/
>>> group/jBASE?hl=en
>>>
>>> ---
>>> You received this message because you are subscribed to the Google
>>> Groups "jBASE" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to [email protected].
>>> For more options, visit https://groups.google.com/groups/opt_out.
>>>
>>
>>  --
> --
> IMPORTANT: T24/Globus posts are no longer accepted on this forum.
>
> To post, send email to [email protected]
> To unsubscribe, send email to [email protected]
> For more options, visit this group at
> http://groups.google.com/group/jBASE?hl=en
>
> ---
> You received this message because you are subscribed to the Google Groups
> "jBASE" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/groups/opt_out.
>

-- 
-- 
IMPORTANT: T24/Globus posts are no longer accepted on this forum.

To post, send email to [email protected]
To unsubscribe, send email to [email protected]
For more options, visit this group at http://groups.google.com/group/jBASE?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
"jBASE" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to