Hi Daniel, System(19) also returns value for the user that creates the
QUEUE.
Hi wonder if I can pass as parameters a command. Something like:
SP-CREATE F1 PROG PRINT.PROG `CMD \C WHOAMI`

I tried with the command between single quotes , double quotes but it
does not executes the command CMD \C WHOAMI . Do you know any way to
do that?

Thanks a lot for your help.

On Aug 30, 8:25 am, Daniel Klein <[email protected]> wrote:
> Try changing SYSTEM(1015) to SYSTEM(19).
>
> Dan
>
>
>
> On Wed, Aug 25, 2010 at 12:09 PM, jlogdup <[email protected]> wrote:
> > Hello Daniel, As I said in previous posting your explanation helpsme
> > to configure the queue as I want. But now in Line 17, I want to add a
> > sentence to email the text file and for that I want to use the UserId,
> > but I notice that always SYSTEM(1015) returns the userid of the user
> > that creates the Queue:
>
> > 1. ) WITH USER ADMINISTRATOR:
>
> > SP-CREATE F1 PROG PRINT.PROG
> > SP-TYPE custom0
>
> > 2.) With USER USER01
>
> > SP-ASSIGN =F1
> > LIST EMPLOYEES (P
>
> > Always Line 05 (id =
> > SYSTEM(18):"_":SYSTEM(1015):"_":DATE():"_":TIME():'_':SYSTEM(9))
> > returns a name with ADMINISTRATOR as a user.
>
> > I did try creating a Environment Variable USERID for profile's user
> > USER01, but when the program PRINT.PROG execute
> > getenv('USERID",l_userid) it return the value of the variable for the
> > profile's user Administrator when was created the queue.
>
> > Dou you have one method to work around this?
>
> > Thanks in advance for your help.
>
> > On Aug 11, 12:59 pm, Daniel Klein <[email protected]> wrote:
> > > In that case, don't use it ;-)  Instead do something like this:
>
> > > Start out with the following code (you can embellish it as you see fit) :
>
> > > 001     PROGRAM jprint
> > > 002     INCLUDE JBC.h
> > > 003     EQU underscores TO '__'
> > > 004 * create a unique item-id by concatenating:
> > > port_username_date_time_milliseconds
> > > 005     id =
> > SYSTEM(18):"_":SYSTEM(1015):"_":DATE():"_":TIME():'_':SYSTEM(9)
> > > 006     tempdirname = '/tmp' *  or any directory with 'write' permissions
> > > ('c:\temp' on Windows)
> > > 007     OPEN tempdirname TO tempdir ELSE STOP 201, tempdirname
> > > 008     OPENSEQ tempdirname:DIR_DELIM_CH:id TO outstream ELSE NULL
> > > 009     LOOP
> > > 010         INPUT line
> > > 011     UNTIL INDEX(line, underscores:"end":underscores, 1) DO
> > > 012 ****line := CHAR(13) ;* this line is only needed for Windows
> > > 013         WRITESEQ line ON outstream ELSE NULL
> > > 014     REPEAT
> > > 015     WEOFSEQ outstream ELSE NULL
> > > 016     CLOSESEQ outstream
> > > 017     * Now do whatever is required with the file; the item-id of this
> > > file is:
> > > 018     *          tempdirname:DIR_DELIM_CH:id
> > > 019     DELETE tempdir, id  ;* remove the text file
>
> > > Note that the program is creating a sequential file from the spooler's
> > > output. At line 017 you have now 'captured' the entire spooler entry as a
> > > text file in the directory designated on line 006. You can now add
> > > additional code after line 018 to modify the print job as required.
> > > Alternatively, you could modify the lines of the print job (just before
> > the
> > > WRITESEQ on line 013) as they are being built. Keeping line 019 is up to
> > > you, but should you decide not to use it then some other part of the
> > > application will be responsible for clean up.
>
> > > Compile and catalog the program and take note of the directory where the
> > > executable lives; let's assume for this example that the directory is
> > > '/home/bin'.
>
> > > You will need to define a formqueue (or redefine the 'device' for an
> > > existing formqueue), something like:
>
> > > SP-CREATE NEW_QUEUE PROG /home/bin/jprint
> > > or
> > > SP-DEVICE EXISTING_QUEUE PROG /home/bin/jprint
>
> > > Note that it is 'programmatically' executing the 'jprint' program above.
> > Be
> > > sure to supply a full path to the 'jprint' program to avoid conflicts
> > with
> > > any other program that may be called that now or in the future.
>
> > > Important: This technique requires that the form-type (see
> > > $JBCRELEASEDIR/config/jspform_deflt for details) assigned to the queue
> > > defines :
>
> > > ENDJOB echo \"\n__end__\n\"
>
> > > so that the program knows when to stop accepting INPUT. Note that the
> > > 'echo'd string must exactly match what is expected in the 'jprint'
> > program,
> > > otherwise the output will be truncated at the point it encounters this
> > > string. So change it in both places (the program and the form-type)
> > > according to your needs.
>
> > > You will also need 'openseq_creates = true' in Config_EMULATE; otherwise
> > you
> > > will need additional logic in the program to create the sequential file.
>
> > > All that's left to do is to assign the form-type to the required form
> > > queues, then
>
> > >  SP-ASSIGN =NEW_QUEUE    [or whatever the actual queue name is]
> > >  LIST MyFile LPTR
>
> > > Hope some of this helps, and have a nice day!
>
> > > Dan
>
> > > On Wed, Aug 11, 2010 at 9:08 AM, jlogdup <[email protected]> wrote:
> > > > Good Morning, I am trying to implement a queue to send printing job to
> > > > a file using a program that I found in this forum:
>
> > > > PROMPT ''
> > > > ID = TRIM(UPCASE(SYSTEM(1015))):".TXT"
> > > > DIRECTORY = 'E:\temp'
> > > > OPENSEQ DIRECTORY,ID TO S.FILE THEN NULL
> > > > *
> > > > LOOP
> > > >  NUMCHARS = SYSTEM(14)
> > > >  WHILE NUMCHARS DO
> > > >   INPUT LINE,NUMCHARS
> > > >   LINE := CHAR(13)
> > > >   WRITESEQ LINE ON S.FILE ELSE NULL
> > > > REPEAT
> > > > WEOFSEQ S.FILE ELSE NULL
> > > > CLOSESEQ S.FILE
>
> > > > But it is not working because SYSTEM(14) always returns 0.
> > > > I found, also in this forum, that SYSTEM(14) does not pass the input
> > > > buffer count when it is run in 3.4.x using the spooler under TELNET.
>
> > > > How can work around this issue to substitute SYSTEM(14) ?
>
> > > > THANKS IN ADVANCE FOR YOUR HELP.
>
> > > > --
> > > > Please read the posting guidelines at:
> > > >http://groups.google.com/group/jBASE/web/Posting%20Guidelines
>
> > > > IMPORTANT: Type T24: at the start of the subject line for questions
> > > > specific to Globus/T24
>
> > > > 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
>
> > --
> > Please read the posting guidelines at:
> >http://groups.google.com/group/jBASE/web/Posting%20Guidelines
>
> > IMPORTANT: Type T24: at the start of the subject line for questions
> > specific to Globus/T24
>
> > 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- Hide quoted text -
>
> - Show quoted text -

-- 
Please read the posting guidelines at: 
http://groups.google.com/group/jBASE/web/Posting%20Guidelines

IMPORTANT: Type T24: at the start of the subject line for questions specific to 
Globus/T24

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

Reply via email to