When I try to redirect it to an output file, it keeps giving me an error, but if I do it to the screen, I get the followiing: jsh tmi /tmp -->jsp_scan -v jsp_scan - Version $Revision: 3.1 $ SpoolerDir=/usr/jspooler ** Error [ 201 ] ** Unable to open file /usr/jspooler/jspool_log
All the spooler info is owned by root and only has rw for root. is there a way to change the permissions on the print jobs other than change the root umask? I don;t want to do that. I tried the setfacl command, but can't get that to work either. Is there a user manual on the jspcmds? The COPY command showed promise, but it just created a new file with the same file permissions. If the copy would send output the the terminal. I could probably capture it that way. This seems like it should be such an easy thing to capture the print output, but I am about at witts end. 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] > <javascript:>>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] <javascript:> >> To unsubscribe, send email to [email protected] <javascript:> >> 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] <javascript:>. >> 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.
