Subject: | |
From: | |
Reply To: | |
Date: | Tue, 6 Feb 2007 10:29:15 -0600 |
Content-Type: | text/plain |
Parts/Attachments: |
|
|
GETINFO, INFO="something"
Is the cleanest method, one step further....
It's the best method for batch processes, not very good interactively.
Example:
MOVE 128 TO GINFO-LEN.
INITIALIZE GINFO-STR GINFO-PARM.
CALL INTRINSIC "GETINFO" USING GINFO-STR GINFO-LEN
GINFO-PARM.
IF GINFO-LEN > 0
PERFORM 7500-INFO-PARSE
ELSE
PERFORM GET-USER-INPUT.
MOVE LINK-FROM-YEAR TO .................
I use a delimiter like ; or ~ or | in the example below it is ~,
passing a fromyear and a toyear so the run command looked like
RUN MYPROG;INFO="2004~2006"
*------------------------------------------------
7500-INFO-PARSE.
INITIALIZE STRING-POINTER PARSED-STRING NEXT-STRING
GX GY PX ITEMS-PARSED.
PERFORM VARYING STRING-POINTER FROM 1 BY 1
UNTIL ( PARSE-IS-COMPLETE )
OR ( STRING-POINTER > GINFO-LEN )
IF GINFO-STR(STRING-POINTER:1) = "~"
MOVE 1 TO GX
COMPUTE GY = ( STRING-POINTER - 1 ) END-COMPUTE
COMPUTE PX = ( STRING-POINTER + 1 ) END-COMPUTE
MOVE GINFO-STR(GX:GY) TO PARSED-STRING
MOVE GINFO-STR(PX:) TO NEXT-STRING
MOVE NEXT-STRING TO GINFO-STR
ADD 1 TO ITEMS-PARSED
D DISPLAY "POINTER:" STRING-POINTER
D DISPLAY "PARSED: " ITEMS-PARSED
D DISPLAY "STRING [" PARSED-STRING(1:GINFO-LEN) "]"
D DISPLAY "NEXT [" NEXT-STRING(1:GINFO-LEN) "]"
EVALUATE ITEMS-PARSED
WHEN 1 MOVE PARSED-STRING TO LINK-FROM-YEAR
WHEN 2 MOVE PARSED-STRING TO LINK-TO-YEAR
END-EVALUATE
MOVE 1 TO STRING-POINTER
END-IF
END-PERFORM.
D DISPLAY "FROM=[" LINK-FROM-YEAR "]".
D DISPLAY " TO=[" LINK-TO-YEAR "]".
*------------------------------*
>>> Paul H Christidis <[log in to unmask]> 2/5/2007 8:13:40 pm >>>
HP-3000 Systems Discussion <[log in to unmask]> wrote on 02/05/2007
01:01:34 PM:
> I have a pretty elementary question. Does anyone know of a way to
> dereference a variable starting in the first column of a line within
a
job?
> Typically, an exclamation point in column one is interpreted as a
colon,
and
> the CI does not recognize the string following it as a variable.
>
> I am aware of the use of ECHO and input redirection in the case of a
program
> requesting input:
>
> ECHO !MYVAR >MYFILE
> RUN MYPROG <MYFILE
>
> Does anyone know another trick?
How about:
Run myprog;info="!MYVAR"
and then have code within 'myprog' to extract the info string.
>
> Thanks,
> John Clogg
>
Regards
Paul Christidis
* To join/leave the list, search archives, change list settings, *
* etc., please visit http://raven.utc.edu/archives/hp3000-l.html *
* To join/leave the list, search archives, change list settings, *
* etc., please visit http://raven.utc.edu/archives/hp3000-l.html *
|
|
|