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.

Reply via email to