Re: [U2] Proc question

2012-05-10 Thread John Jenkins
I use PQN PROCs regularly, including indirect buffer references (subscripts) 
and select buffer manipulation, UniData and UniVerse do have significant 
differences though. MV for primary and secondary input and output buffers is a 
staple, but sometimes the older style A\ and similar become invaluable.

PROC on!

The Jonathan Sisk references are a good start, I learned on Reality way back. I 
do recall a PL system being written in PROC at one time - and no, The 
explanation why is too improbable to believe, so I'll spare you.

Regards

JayJay



On 10 May 2012, at 04:27, Ed Clark u...@edclark.net wrote:

 PQN procs are supported in unidata for sure. Just wasn't sure if the 
 conversions on the MV command work there.
 
 You can use the universe proverb documentation as a starting point for 
 working with procs in unidata, but there are a lot of differences, including 
 some fundamental ones. For example, both PQ and PQN proc on universe use 
 attribute marks to delimit fields in the buffers, but PQ proc in unidata uses 
 the standard space delimiters.The universe proverb manual doesn't 
 mention conversions on the MV command
 
 On May 9, 2012, at 11:23 AM, Brenda Ives wrote:
 
 Guide to ProVerb - UniVerse proc documentation.
 
 Brenda L Ives
 UniVerse Team Lead
 Rapid Response Team 
 marketamerica.com/SHOP.COM
 Greensboro, NC
 336-389-5950
 
 RRT Team Red
 
 
 -Original Message-
 From: u2-users-boun...@listserver.u2ug.org 
 [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Kebbon Irwin
 Sent: Wednesday, May 09, 2012 11:05 AM
 To: u2-users@listserver.u2ug.org
 Subject: Re: [U2] Proc question
 
 
 Hi Ed,I am pretty sure that PQN procs are supported in Unidata, I have never 
 used them or seen a manual for them.  Like you I have not found anything in 
 the udtdocs that addresses Proc eitherKebbon
 
 From: u...@edclark.net
 Date: Mon, 7 May 2012 22:58:31 -0400
 To: u2-users@listserver.u2ug.org
 Subject: Re: [U2] Proc question
 
 
 On May 7, 2012, at 4:45 PM, Kebbon Irwin wrote:
 
 
 Anyone know/remember how to do this:I have a string in my input buffer 
 XX*YYYNNI want to place just YYYNN in my output bufferI feel I should be 
 able to do this without writing my own user mode or a program that does a 
 procread/procwriteThanks,Kebbon
 Unidata 7.1 Ecltype P 
 ___
 U2-Users mailing list
 U2-Users@listserver.u2ug.org
 http://listserver.u2ug.org/mailman/listinfo/u2-users
 
 I don't know if unidata supports this (has anyone ever seen a unidata proc 
 manual?) but in PQN proc on Reality, the MV command can apply a conversion:
 
 MV
 
 Purpose
 
 To copy data between the input buffer, output buffers, file buffers and 
 select registers.
 
 Syntax
 
 MV destination source{,source}...{,*{n}}{,_}
 
 or
 
 MV destination source{*source}...
 
 Syntax Elements
 
 destinationis a direct or indirect reference to a buffer or 
 select register that you want the data copied to. If the destination is a 
 select register, the source can only be a direct or indirect reference to a 
 file buffer.
 
 source   is the data you want to copy. The source can be:
 
 *  a direct or indirect reference to a buffer or select register that 
 contains the data you want to copy.
 
 *  a direct or indirect reference to a buffer followed by 
 ';input-conversion;' or ':output-conversion:'. See the topic English 
 Conversions for details.
 
 *a string of zero or more characters enclosed in single or double 
 quotes. An uneven number of quotes now gives a syntax error.
 
 *a SYSTEM function that returns system/database information.
 
 *  a single character expressed in one of two ways:
 
 Xxwhere x is a hexadecimal number in the range 00 to FF. Thus, XFD is a 
 value mark.
 
 In where n is a decimal number in the range 0 to 255. Thus, I253 is a 
 value mark.
 
 ,*   copies all source parameters starting with the 
 specified parameter. The destination buffer or select register is truncated 
 after the last parameter is copied if * is the last operand in the source 
 field.
 
 ,*n copies n further source parameters following 
 (and in addition to) the specified parameter.
 
 ,_  specifies that the destination is truncated 
 after the source is copied.
 
 *source  concatenates the source values into one attribute 
 in the destination.
 
 Select Register Destination
 
 If you use a select register as the destination, then the only valid source 
 is a direct or indirect reference to a file buffer. For example:
 
 MV !1 5.9  or  MV !3 3.%1
 
 Creating Null Attributes or Parameters
 
 If the attribute or parameter number in destination is larger than the 
 current number of attributes or parameters, the Proc processor 
 automatically creates null values to space out to the requested location.
 
 If the source

Re: [U2] Proc question

2012-05-10 Thread David L. Wasylenko
If I follow your question:

001 PQN
002 MV %1 XX*YYYNN
003 O--
004 T Input value:,%1
005 T Desired output:,%1:G1*1:
006 S2
007 IH%1:G1*1:
008 T Current content of %2:,%2

This will place 'YYYNN' into buffer %2

... david ...

David L. Waz
Pick Professionals, Inc.

-Original Message-
From: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of John Jenkins
Sent: Thursday, May 10, 2012 4:48 PM
To: U2 Users List
Cc: U2 Users List
Subject: Re: [U2] Proc question

I use PQN PROCs regularly, including indirect buffer references (subscripts) 
and select buffer manipulation, UniData and UniVerse do have significant 
differences though. MV for primary and secondary input and output buffers is a 
staple, but sometimes the older style A\ and similar become invaluable.

PROC on!

The Jonathan Sisk references are a good start, I learned on Reality way back. I 
do recall a PL system being written in PROC at one time - and no, The 
explanation why is too improbable to believe, so I'll spare you.

Regards

JayJay



On 10 May 2012, at 04:27, Ed Clark u...@edclark.net wrote:

 PQN procs are supported in unidata for sure. Just wasn't sure if the 
 conversions on the MV command work there.
 
 You can use the universe proverb documentation as a starting point for 
 working with procs in unidata, but there are a lot of differences, including 
 some fundamental ones. For example, both PQ and PQN proc on universe use 
 attribute marks to delimit fields in the buffers, but PQ proc in unidata uses 
 the standard space delimiters.The universe proverb manual doesn't 
 mention conversions on the MV command
 
 On May 9, 2012, at 11:23 AM, Brenda Ives wrote:
 
 Guide to ProVerb - UniVerse proc documentation.
 
 Brenda L Ives
 UniVerse Team Lead
 Rapid Response Team 
 marketamerica.com/SHOP.COM
 Greensboro, NC
 336-389-5950
 
 RRT Team Red
 
 
 -Original Message-
 From: u2-users-boun...@listserver.u2ug.org 
 [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Kebbon Irwin
 Sent: Wednesday, May 09, 2012 11:05 AM
 To: u2-users@listserver.u2ug.org
 Subject: Re: [U2] Proc question
 
 
 Hi Ed,I am pretty sure that PQN procs are supported in Unidata, I have never 
 used them or seen a manual for them.  Like you I have not found anything in 
 the udtdocs that addresses Proc eitherKebbon
 
 From: u...@edclark.net
 Date: Mon, 7 May 2012 22:58:31 -0400
 To: u2-users@listserver.u2ug.org
 Subject: Re: [U2] Proc question
 
 
 On May 7, 2012, at 4:45 PM, Kebbon Irwin wrote:
 
 
 Anyone know/remember how to do this:I have a string in my input buffer 
 XX*YYYNNI want to place just YYYNN in my output bufferI feel I should be 
 able to do this without writing my own user mode or a program that does a 
 procread/procwriteThanks,Kebbon
 Unidata 7.1 Ecltype P 
 ___
 U2-Users mailing list
 U2-Users@listserver.u2ug.org
 http://listserver.u2ug.org/mailman/listinfo/u2-users
 
 I don't know if unidata supports this (has anyone ever seen a unidata proc 
 manual?) but in PQN proc on Reality, the MV command can apply a conversion:
 
 MV
 
 Purpose
 
 To copy data between the input buffer, output buffers, file buffers and 
 select registers.
 
 Syntax
 
 MV destination source{,source}...{,*{n}}{,_}
 
 or
 
 MV destination source{*source}...
 
 Syntax Elements
 
 destinationis a direct or indirect reference to a buffer or 
 select register that you want the data copied to. If the destination is a 
 select register, the source can only be a direct or indirect reference to a 
 file buffer.
 
 source   is the data you want to copy. The source can be:
 
 *  a direct or indirect reference to a buffer or select register that 
 contains the data you want to copy.
 
 *  a direct or indirect reference to a buffer followed by 
 ';input-conversion;' or ':output-conversion:'. See the topic English 
 Conversions for details.
 
 *a string of zero or more characters enclosed in single or double 
 quotes. An uneven number of quotes now gives a syntax error.
 
 *a SYSTEM function that returns system/database information.
 
 *  a single character expressed in one of two ways:
 
 Xxwhere x is a hexadecimal number in the range 00 to FF. Thus, XFD is a 
 value mark.
 
 In where n is a decimal number in the range 0 to 255. Thus, I253 is a 
 value mark.
 
 ,*   copies all source parameters starting with the 
 specified parameter. The destination buffer or select register is truncated 
 after the last parameter is copied if * is the last operand in the source 
 field.
 
 ,*n copies n further source parameters following 
 (and in addition to) the specified parameter.
 
 ,_  specifies that the destination is truncated 
 after the source is copied.
 
 *source  concatenates

Re: [U2] Proc question

2012-05-09 Thread Kebbon Irwin

Keith, you ROCK!!!  Thanks for exactly what I needed.  I have used things like 
A2,999 to pass a large swath of buffer contents, but I had never done or seen a 
substring.  Great stuff!Kebbon

 From: keith.john...@datacom.co.nz
 To: u2-users@listserver.u2ug.org
 Date: Wed, 9 May 2012 10:12:00 +1200
 Subject: Re: [U2] Proc question
 
 Hi Kebbon,
 
 I don't like Procs, but
 
 * Set the primary input buffer as active
 SP
 * Activate the primary output buffer
 STOFF
 * Alternatively, clear both output buffers and make the primary the active one
 RO
 * Set the input buffer pointer to the first (or whatever) parameter
 S1
 * Move a substring in the that parameter from the active input buffer to the 
 end of the active output buffer with no surround character
 A\(4,5)
 
 
 Regards, Keith
 
 ___
 U2-Users mailing list
 U2-Users@listserver.u2ug.org
 http://listserver.u2ug.org/mailman/listinfo/u2-users
  
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Proc question

2012-05-09 Thread Kebbon Irwin

Hi Ed,I am pretty sure that PQN procs are supported in Unidata, I have never 
used them or seen a manual for them.  Like you I have not found anything in the 
udtdocs that addresses Proc eitherKebbon

 From: u...@edclark.net
 Date: Mon, 7 May 2012 22:58:31 -0400
 To: u2-users@listserver.u2ug.org
 Subject: Re: [U2] Proc question
 
 
 On May 7, 2012, at 4:45 PM, Kebbon Irwin wrote:
 
  
  Anyone know/remember how to do this:I have a string in my input buffer 
  XX*YYYNNI want to place just YYYNN in my output bufferI feel I should be 
  able to do this without writing my own user mode or a program that does a 
  procread/procwriteThanks,Kebbon
  Unidata 7.1 Ecltype P 
  ___
  U2-Users mailing list
  U2-Users@listserver.u2ug.org
  http://listserver.u2ug.org/mailman/listinfo/u2-users
 
 I don't know if unidata supports this (has anyone ever seen a unidata proc 
 manual?) but in PQN proc on Reality, the MV command can apply a conversion:
 
 MV
 
 Purpose
 
 To copy data between the input buffer, output buffers, file buffers and 
 select registers.
 
 Syntax
 
 MV destination source{,source}...{,*{n}}{,_}
 
 or
 
 MV destination source{*source}...
 
 Syntax Elements
 
 destinationis a direct or indirect reference to a buffer or 
 select register that you want the data copied to. If the destination is a 
 select register, the source can only be a direct or indirect reference to a 
 file buffer.
 
 source   is the data you want to copy. The source can be:
 
 ·  a direct or indirect reference to a buffer or select register that 
 contains the data you want to copy.
 
 ·  a direct or indirect reference to a buffer followed by 
 ';input-conversion;' or ':output-conversion:'. See the topic English 
 Conversions for details.
 
 ·a string of zero or more characters enclosed in single or double 
 quotes. An uneven number of quotes now gives a syntax error.
 
 ·a SYSTEM function that returns system/database information.
 
 ·  a single character expressed in one of two ways:
 
 Xxwhere x is a hexadecimal number in the range 00 to FF. Thus, XFD is a 
 value mark.
 
 In where n is a decimal number in the range 0 to 255. Thus, I253 is a 
 value mark.
 
 ,*   copies all source parameters starting with the 
 specified parameter. The destination buffer or select register is truncated 
 after the last parameter is copied if * is the last operand in the source 
 field.
 
 ,*n copies n further source parameters following (and 
 in addition to) the specified parameter.
 
 ,_  specifies that the destination is truncated after 
 the source is copied.
 
 *source  concatenates the source values into one attribute in 
 the destination.
 
 Select Register Destination
 
 If you use a select register as the destination, then the only valid source 
 is a direct or indirect reference to a file buffer. For example:
 
 MV !1 5.9  or  MV !3 3.%1
 
 Creating Null Attributes or Parameters
 
 If the attribute or parameter number in destination is larger than the 
 current number of attributes or parameters, the Proc processor automatically 
 creates null values to space out to the requested location.
 
 If the source is a literal string containing just two double quotes, then the 
 destination is nulled.
 
 Input Buffer Pointer
 
 If you reference the primary input buffer as the destination, that buffer is 
 selected as active and the buffer pointer is positioned at the beginning of 
 the moved string.
 
 Copying a Series of Values
 
 If you give a series of values as the source, the first value is copied into 
 the destination, and each subsequent source value is copied to a successive 
 location in the destination buffer. For example:
 
 MV %2 2.7,ABC,!2
 
 copies attribute 7 of file buffer 2, the string ABC, and the next value 
 from select register 2 into the 2nd, 3rd, and 4th parameters of the primary 
 input buffer.
 
 Preserving Parameters/
 Attributes
 
 If you want to change more than one attribute or parameter without changing 
 the attributes or parameters in between, you must use commas in the source 
 field to preserve those attributes or parameters.
 
 For example, if the primary input buffer contains ABC^DEF^GHI^JKL, and you 
 issue the following command,
 
 MV %1 XX,,,
 
 the result is XX^DEF^GHI^. The command replaces the 1st and 4th 
 parameters with new values, leaving the 2nd and 3rd parameters unaltered.
 
 Concatenation
 
 If you separate a series of source values with asterisks (*) instead of 
 commas, the source values are concatenated into one attribute in the 
 destination. For example:
 
 MV %2 1.7*TEXT*%4
 
 concatenates the 4th attribute of the primary input buffer to the string 
 TEXT, then concatenates that result to attribute 7 of file buffer 1, then 
 copies

Re: [U2] Proc question

2012-05-09 Thread Brenda Ives
Guide to ProVerb - UniVerse proc documentation.

Brenda L Ives
UniVerse Team Lead
Rapid Response Team 
marketamerica.com/SHOP.COM
Greensboro, NC
336-389-5950

RRT Team Red


-Original Message-
From: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Kebbon Irwin
Sent: Wednesday, May 09, 2012 11:05 AM
To: u2-users@listserver.u2ug.org
Subject: Re: [U2] Proc question


Hi Ed,I am pretty sure that PQN procs are supported in Unidata, I have never 
used them or seen a manual for them.  Like you I have not found anything in the 
udtdocs that addresses Proc eitherKebbon

 From: u...@edclark.net
 Date: Mon, 7 May 2012 22:58:31 -0400
 To: u2-users@listserver.u2ug.org
 Subject: Re: [U2] Proc question
 
 
 On May 7, 2012, at 4:45 PM, Kebbon Irwin wrote:
 
  
  Anyone know/remember how to do this:I have a string in my input buffer 
  XX*YYYNNI want to place just YYYNN in my output bufferI feel I should be 
  able to do this without writing my own user mode or a program that does a 
  procread/procwriteThanks,Kebbon
  Unidata 7.1 Ecltype P 
  ___
  U2-Users mailing list
  U2-Users@listserver.u2ug.org
  http://listserver.u2ug.org/mailman/listinfo/u2-users
 
 I don't know if unidata supports this (has anyone ever seen a unidata proc 
 manual?) but in PQN proc on Reality, the MV command can apply a conversion:
 
 MV
 
 Purpose
 
 To copy data between the input buffer, output buffers, file buffers and 
 select registers.
 
 Syntax
 
 MV destination source{,source}...{,*{n}}{,_}
 
 or
 
 MV destination source{*source}...
 
 Syntax Elements
 
 destinationis a direct or indirect reference to a buffer or 
 select register that you want the data copied to. If the destination is a 
 select register, the source can only be a direct or indirect reference to a 
 file buffer.
 
 source   is the data you want to copy. The source can be:
 
 *  a direct or indirect reference to a buffer or select register that 
 contains the data you want to copy.
 
 *  a direct or indirect reference to a buffer followed by 
 ';input-conversion;' or ':output-conversion:'. See the topic English 
 Conversions for details.
 
 *a string of zero or more characters enclosed in single or double 
 quotes. An uneven number of quotes now gives a syntax error.
 
 *a SYSTEM function that returns system/database information.
 
 *  a single character expressed in one of two ways:
 
 Xxwhere x is a hexadecimal number in the range 00 to FF. Thus, XFD is a 
 value mark.
 
 In where n is a decimal number in the range 0 to 255. Thus, I253 is a 
 value mark.
 
 ,*   copies all source parameters starting with the 
 specified parameter. The destination buffer or select register is truncated 
 after the last parameter is copied if * is the last operand in the source 
 field.
 
 ,*n copies n further source parameters following (and 
 in addition to) the specified parameter.
 
 ,_  specifies that the destination is truncated after 
 the source is copied.
 
 *source  concatenates the source values into one attribute in 
 the destination.
 
 Select Register Destination
 
 If you use a select register as the destination, then the only valid source 
 is a direct or indirect reference to a file buffer. For example:
 
 MV !1 5.9  or  MV !3 3.%1
 
 Creating Null Attributes or Parameters
 
 If the attribute or parameter number in destination is larger than the 
 current number of attributes or parameters, the Proc processor automatically 
 creates null values to space out to the requested location.
 
 If the source is a literal string containing just two double quotes, then the 
 destination is nulled.
 
 Input Buffer Pointer
 
 If you reference the primary input buffer as the destination, that buffer is 
 selected as active and the buffer pointer is positioned at the beginning of 
 the moved string.
 
 Copying a Series of Values
 
 If you give a series of values as the source, the first value is copied into 
 the destination, and each subsequent source value is copied to a successive 
 location in the destination buffer. For example:
 
 MV %2 2.7,ABC,!2
 
 copies attribute 7 of file buffer 2, the string ABC, and the next value 
 from select register 2 into the 2nd, 3rd, and 4th parameters of the primary 
 input buffer.
 
 Preserving Parameters/
 Attributes
 
 If you want to change more than one attribute or parameter without changing 
 the attributes or parameters in between, you must use commas in the source 
 field to preserve those attributes or parameters.
 
 For example, if the primary input buffer contains ABC^DEF^GHI^JKL, and you 
 issue the following command,
 
 MV %1 XX,,,
 
 the result is XX^DEF^GHI^. The command replaces the 1st and 4th 
 parameters with new values

Re: [U2] Proc question

2012-05-09 Thread Laura Wright
What I can remember about moving a partial string using Unidata input
buffer to an output buffer you can use the following:

A(4,8) 

Which will move the 4th through the 8th character to the currently
active output buffer.

Thanks

Laura W

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Brenda Ives
Sent: Wednesday, May 09, 2012 11:23 AM
To: 'U2 Users List'
Subject: Re: [U2] Proc question

Guide to ProVerb - UniVerse proc documentation.

Brenda L Ives
UniVerse Team Lead
Rapid Response Team 
marketamerica.com/SHOP.COM
Greensboro, NC
336-389-5950

RRT Team Red


-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Kebbon Irwin
Sent: Wednesday, May 09, 2012 11:05 AM
To: u2-users@listserver.u2ug.org
Subject: Re: [U2] Proc question


Hi Ed,I am pretty sure that PQN procs are supported in Unidata, I have
never used them or seen a manual for them.  Like you I have not found
anything in the udtdocs that addresses Proc eitherKebbon

 From: u...@edclark.net
 Date: Mon, 7 May 2012 22:58:31 -0400
 To: u2-users@listserver.u2ug.org
 Subject: Re: [U2] Proc question
 
 
 On May 7, 2012, at 4:45 PM, Kebbon Irwin wrote:
 
  
  Anyone know/remember how to do this:I have a string in my input
buffer XX*YYYNNI want to place just YYYNN in my output bufferI feel I
should be able to do this without writing my own user mode or a program
that does a procread/procwriteThanks,Kebbon
  Unidata 7.1 Ecltype P 
  ___
  U2-Users mailing list
  U2-Users@listserver.u2ug.org
  http://listserver.u2ug.org/mailman/listinfo/u2-users
 
 I don't know if unidata supports this (has anyone ever seen a unidata
proc manual?) but in PQN proc on Reality, the MV command can apply a
conversion:
 
 MV
 
 Purpose
 
 To copy data between the input buffer, output buffers, file buffers
and select registers.
 
 Syntax
 
 MV destination source{,source}...{,*{n}}{,_}
 
 or
 
 MV destination source{*source}...
 
 Syntax Elements
 
 destinationis a direct or indirect reference to a buffer
or select register that you want the data copied to. If the destination
is a select register, the source can only be a direct or indirect
reference to a file buffer.
 
 source   is the data you want to copy. The source can
be:
 
 *  a direct or indirect reference to a buffer or select register
that contains the data you want to copy.
 
 *  a direct or indirect reference to a buffer followed by
';input-conversion;' or ':output-conversion:'. See the topic English
Conversions for details.
 
 *a string of zero or more characters enclosed in single or
double quotes. An uneven number of quotes now gives a syntax error.
 
 *a SYSTEM function that returns system/database information.
 
 *  a single character expressed in one of two ways:
 
 Xxwhere x is a hexadecimal number in the range 00 to FF. Thus, XFD
is a value mark.
 
 In where n is a decimal number in the range 0 to 255. Thus, I253
is a value mark.
 
 ,*   copies all source parameters starting
with the specified parameter. The destination buffer or select register
is truncated after the last parameter is copied if * is the last operand
in the source field.
 
 ,*n copies n further source parameters
following (and in addition to) the specified parameter.
 
 ,_  specifies that the destination is
truncated after the source is copied.
 
 *source  concatenates the source values into one
attribute in the destination.
 
 Select Register Destination
 
 If you use a select register as the destination, then the only valid
source is a direct or indirect reference to a file buffer. For example:
 
 MV !1 5.9  or  MV !3 3.%1
 
 Creating Null Attributes or Parameters
 
 If the attribute or parameter number in destination is larger than the
current number of attributes or parameters, the Proc processor
automatically creates null values to space out to the requested
location.
 
 If the source is a literal string containing just two double quotes,
then the destination is nulled.
 
 Input Buffer Pointer
 
 If you reference the primary input buffer as the destination, that
buffer is selected as active and the buffer pointer is positioned at the
beginning of the moved string.
 
 Copying a Series of Values
 
 If you give a series of values as the source, the first value is
copied into the destination, and each subsequent source value is copied
to a successive location in the destination buffer. For example:
 
 MV %2 2.7,ABC,!2
 
 copies attribute 7 of file buffer 2, the string ABC, and the next
value from select register 2 into the 2nd, 3rd, and 4th parameters of
the primary input buffer.
 
 Preserving Parameters/
 Attributes
 
 If you want to change more than

Re: [U2] Proc question

2012-05-09 Thread Ed Clark
PQN procs are supported in unidata for sure. Just wasn't sure if the 
conversions on the MV command work there.

You can use the universe proverb documentation as a starting point for working 
with procs in unidata, but there are a lot of differences, including some 
fundamental ones. For example, both PQ and PQN proc on universe use attribute 
marks to delimit fields in the buffers, but PQ proc in unidata uses the 
standard space delimiters.The universe proverb manual doesn't mention 
conversions on the MV command

On May 9, 2012, at 11:23 AM, Brenda Ives wrote:

 Guide to ProVerb - UniVerse proc documentation.
 
 Brenda L Ives
 UniVerse Team Lead
 Rapid Response Team 
 marketamerica.com/SHOP.COM
 Greensboro, NC
 336-389-5950
 
 RRT Team Red
 
 
 -Original Message-
 From: u2-users-boun...@listserver.u2ug.org 
 [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Kebbon Irwin
 Sent: Wednesday, May 09, 2012 11:05 AM
 To: u2-users@listserver.u2ug.org
 Subject: Re: [U2] Proc question
 
 
 Hi Ed,I am pretty sure that PQN procs are supported in Unidata, I have never 
 used them or seen a manual for them.  Like you I have not found anything in 
 the udtdocs that addresses Proc eitherKebbon
 
 From: u...@edclark.net
 Date: Mon, 7 May 2012 22:58:31 -0400
 To: u2-users@listserver.u2ug.org
 Subject: Re: [U2] Proc question
 
 
 On May 7, 2012, at 4:45 PM, Kebbon Irwin wrote:
 
 
 Anyone know/remember how to do this:I have a string in my input buffer 
 XX*YYYNNI want to place just YYYNN in my output bufferI feel I should be 
 able to do this without writing my own user mode or a program that does a 
 procread/procwriteThanks,Kebbon
 Unidata 7.1 Ecltype P 
 ___
 U2-Users mailing list
 U2-Users@listserver.u2ug.org
 http://listserver.u2ug.org/mailman/listinfo/u2-users
 
 I don't know if unidata supports this (has anyone ever seen a unidata proc 
 manual?) but in PQN proc on Reality, the MV command can apply a conversion:
 
 MV
 
 Purpose
 
 To copy data between the input buffer, output buffers, file buffers and 
 select registers.
 
 Syntax
 
 MV destination source{,source}...{,*{n}}{,_}
 
 or
 
 MV destination source{*source}...
 
 Syntax Elements
 
 destinationis a direct or indirect reference to a buffer or 
 select register that you want the data copied to. If the destination is a 
 select register, the source can only be a direct or indirect reference to a 
 file buffer.
 
 source   is the data you want to copy. The source can be:
 
 *  a direct or indirect reference to a buffer or select register that 
 contains the data you want to copy.
 
 *  a direct or indirect reference to a buffer followed by 
 ';input-conversion;' or ':output-conversion:'. See the topic English 
 Conversions for details.
 
 *a string of zero or more characters enclosed in single or double 
 quotes. An uneven number of quotes now gives a syntax error.
 
 *a SYSTEM function that returns system/database information.
 
 *  a single character expressed in one of two ways:
 
 Xxwhere x is a hexadecimal number in the range 00 to FF. Thus, XFD is a 
 value mark.
 
 In where n is a decimal number in the range 0 to 255. Thus, I253 is a 
 value mark.
 
 ,*   copies all source parameters starting with the 
 specified parameter. The destination buffer or select register is truncated 
 after the last parameter is copied if * is the last operand in the source 
 field.
 
 ,*n copies n further source parameters following 
 (and in addition to) the specified parameter.
 
 ,_  specifies that the destination is truncated 
 after the source is copied.
 
 *source  concatenates the source values into one attribute 
 in the destination.
 
 Select Register Destination
 
 If you use a select register as the destination, then the only valid source 
 is a direct or indirect reference to a file buffer. For example:
 
 MV !1 5.9  or  MV !3 3.%1
 
 Creating Null Attributes or Parameters
 
 If the attribute or parameter number in destination is larger than the 
 current number of attributes or parameters, the Proc processor automatically 
 creates null values to space out to the requested location.
 
 If the source is a literal string containing just two double quotes, then 
 the destination is nulled.
 
 Input Buffer Pointer
 
 If you reference the primary input buffer as the destination, that buffer is 
 selected as active and the buffer pointer is positioned at the beginning of 
 the moved string.
 
 Copying a Series of Values
 
 If you give a series of values as the source, the first value is copied into 
 the destination, and each subsequent source value is copied to a successive 
 location in the destination buffer. For example:
 
 MV %2 2.7,ABC,!2
 
 copies attribute 7 of file buffer 2, the string ABC

Re: [U2] Proc question

2012-05-09 Thread Robert Houben
In a PQN PROC, in addition to the MV command, the IH command can do output 
conversions:

MV %2 
IH%1:G1*1:
Or input conversions:
IH%2;D;


-Original Message-
From: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Ed Clark
Sent: May-09-12 8:28 PM
To: U2 Users List
Subject: Re: [U2] Proc question

PQN procs are supported in unidata for sure. Just wasn't sure if the 
conversions on the MV command work there.

You can use the universe proverb documentation as a starting point for working 
with procs in unidata, but there are a lot of differences, including some 
fundamental ones. For example, both PQ and PQN proc on universe use attribute 
marks to delimit fields in the buffers, but PQ proc in unidata uses the 
standard space delimiters.The universe proverb manual doesn't mention 
conversions on the MV command

On May 9, 2012, at 11:23 AM, Brenda Ives wrote:

 Guide to ProVerb - UniVerse proc documentation.

 Brenda L Ives
 UniVerse Team Lead
 Rapid Response Team
 marketamerica.com/SHOP.COM
 Greensboro, NC
 336-389-5950

 RRT Team Red


 -Original Message-
 From: u2-users-boun...@listserver.u2ug.org 
 [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Kebbon Irwin
 Sent: Wednesday, May 09, 2012 11:05 AM
 To: u2-users@listserver.u2ug.org
 Subject: Re: [U2] Proc question


 Hi Ed,I am pretty sure that PQN procs are supported in Unidata, I have never 
 used them or seen a manual for them.  Like you I have not found anything in 
 the udtdocs that addresses Proc eitherKebbon

 From: u...@edclark.net
 Date: Mon, 7 May 2012 22:58:31 -0400
 To: u2-users@listserver.u2ug.org
 Subject: Re: [U2] Proc question


 On May 7, 2012, at 4:45 PM, Kebbon Irwin wrote:


 Anyone know/remember how to do this:I have a string in my input buffer 
 XX*YYYNNI want to place just YYYNN in my output bufferI feel I should be 
 able to do this without writing my own user mode or a program that does a 
 procread/procwriteThanks,Kebbon
 Unidata 7.1 Ecltype P
 ___
 U2-Users mailing list
 U2-Users@listserver.u2ug.org
 http://listserver.u2ug.org/mailman/listinfo/u2-users

 I don't know if unidata supports this (has anyone ever seen a unidata proc 
 manual?) but in PQN proc on Reality, the MV command can apply a conversion:

 MV

 Purpose

 To copy data between the input buffer, output buffers, file buffers and 
 select registers.

 Syntax

 MV destination source{,source}...{,*{n}}{,_}

 or

 MV destination source{*source}...

 Syntax Elements

 destinationis a direct or indirect reference to a buffer or 
 select register that you want the data copied to. If the destination is a 
 select register, the source can only be a direct or indirect reference to a 
 file buffer.

 source   is the data you want to copy. The source can be:

 *  a direct or indirect reference to a buffer or select register that 
 contains the data you want to copy.

 *  a direct or indirect reference to a buffer followed by 
 ';input-conversion;' or ':output-conversion:'. See the topic English 
 Conversions for details.

 *a string of zero or more characters enclosed in single or double 
 quotes. An uneven number of quotes now gives a syntax error.

 *a SYSTEM function that returns system/database information.

 *  a single character expressed in one of two ways:

 Xxwhere x is a hexadecimal number in the range 00 to FF. Thus, XFD is a 
 value mark.

 In where n is a decimal number in the range 0 to 255. Thus, I253 is a 
 value mark.

 ,*   copies all source parameters starting with the 
 specified parameter. The destination buffer or select register is truncated 
 after the last parameter is copied if * is the last operand in the source 
 field.

 ,*n copies n further source parameters following 
 (and in addition to) the specified parameter.

 ,_  specifies that the destination is truncated 
 after the source is copied.

 *source  concatenates the source values into one attribute 
 in the destination.

 Select Register Destination

 If you use a select register as the destination, then the only valid source 
 is a direct or indirect reference to a file buffer. For example:

 MV !1 5.9  or  MV !3 3.%1

 Creating Null Attributes or Parameters

 If the attribute or parameter number in destination is larger than the 
 current number of attributes or parameters, the Proc processor automatically 
 creates null values to space out to the requested location.

 If the source is a literal string containing just two double quotes, then 
 the destination is nulled.

 Input Buffer Pointer

 If you reference the primary input buffer as the destination, that buffer is 
 selected as active and the buffer pointer is positioned at the beginning of 
 the moved string.

 Copying a Series of Values

 If you give

Re: [U2] Proc question

2012-05-08 Thread Keith Johnson [DATACOM]
Hi Kebbon,

I don't like Procs, but

* Set the primary input buffer as active
SP
* Activate the primary output buffer
STOFF
* Alternatively, clear both output buffers and make the primary the active one
RO
* Set the input buffer pointer to the first (or whatever) parameter
S1
* Move a substring in the that parameter from the active input buffer to the 
end of the active output buffer with no surround character
A\(4,5)


Regards, Keith

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Proc question

2012-05-07 Thread Ed Clark

On May 7, 2012, at 4:45 PM, Kebbon Irwin wrote:

 
 Anyone know/remember how to do this:I have a string in my input buffer 
 XX*YYYNNI want to place just YYYNN in my output bufferI feel I should be able 
 to do this without writing my own user mode or a program that does a 
 procread/procwriteThanks,Kebbon
 Unidata 7.1 Ecltype P   
 ___
 U2-Users mailing list
 U2-Users@listserver.u2ug.org
 http://listserver.u2ug.org/mailman/listinfo/u2-users

I don't know if unidata supports this (has anyone ever seen a unidata proc 
manual?) but in PQN proc on Reality, the MV command can apply a conversion:

MV

Purpose

To copy data between the input buffer, output buffers, file buffers and select 
registers.

Syntax

MV destination source{,source}...{,*{n}}{,_}

or

MV destination source{*source}...

Syntax Elements

destinationis a direct or indirect reference to a buffer or select 
register that you want the data copied to. If the destination is a select 
register, the source can only be a direct or indirect reference to a file 
buffer.

source   is the data you want to copy. The source can be:

·  a direct or indirect reference to a buffer or select register that 
contains the data you want to copy.

·  a direct or indirect reference to a buffer followed by 
';input-conversion;' or ':output-conversion:'. See the topic English 
Conversions for details.

·a string of zero or more characters enclosed in single or double 
quotes. An uneven number of quotes now gives a syntax error.

·a SYSTEM function that returns system/database information.

·  a single character expressed in one of two ways:

Xxwhere x is a hexadecimal number in the range 00 to FF. Thus, XFD is a 
value mark.

In where n is a decimal number in the range 0 to 255. Thus, I253 is a value 
mark.

,*   copies all source parameters starting with the 
specified parameter. The destination buffer or select register is truncated 
after the last parameter is copied if * is the last operand in the source field.

,*n copies n further source parameters following (and 
in addition to) the specified parameter.

,_  specifies that the destination is truncated after 
the source is copied.

*source  concatenates the source values into one attribute in 
the destination.

Select Register Destination

If you use a select register as the destination, then the only valid source is 
a direct or indirect reference to a file buffer. For example:

MV !1 5.9  or  MV !3 3.%1

Creating Null Attributes or Parameters

If the attribute or parameter number in destination is larger than the current 
number of attributes or parameters, the Proc processor automatically creates 
null values to space out to the requested location.

If the source is a literal string containing just two double quotes, then the 
destination is nulled.

Input Buffer Pointer

If you reference the primary input buffer as the destination, that buffer is 
selected as active and the buffer pointer is positioned at the beginning of the 
moved string.

Copying a Series of Values

If you give a series of values as the source, the first value is copied into 
the destination, and each subsequent source value is copied to a successive 
location in the destination buffer. For example:

MV %2 2.7,ABC,!2

copies attribute 7 of file buffer 2, the string ABC, and the next value from 
select register 2 into the 2nd, 3rd, and 4th parameters of the primary input 
buffer.

Preserving Parameters/
Attributes

If you want to change more than one attribute or parameter without changing the 
attributes or parameters in between, you must use commas in the source field to 
preserve those attributes or parameters.

For example, if the primary input buffer contains ABC^DEF^GHI^JKL, and you 
issue the following command,

MV %1 XX,,,

the result is XX^DEF^GHI^. The command replaces the 1st and 4th parameters 
with new values, leaving the 2nd and 3rd parameters unaltered.

Concatenation

If you separate a series of source values with asterisks (*) instead of commas, 
the source values are concatenated into one attribute in the destination. For 
example:

MV %2 1.7*TEXT*%4

concatenates the 4th attribute of the primary input buffer to the string 
TEXT, then concatenates that result to attribute 7 of file buffer 1, then 
copies the result as a single parameter into the 2nd parameter of the primary 
input buffer.

Truncation

If you specify an underline (_) as the last item in the source field, the 
specified destination is truncated after the last source is copied.

Copying the Entire Contents of a Buffer

If you specify an asterisk (*) as the last item in a source field, all 
attributes or parameters starting with the specified attribute or parameter are 
copied. For example:

MV 2.1 %10,*

copies 

Re: [U2] PROC question

2006-01-26 Thread Mark Johnson
Look for any PROCREAD or PROCWRITE statements as well in the programs.
- Original Message -
From: John Hester [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Wednesday, January 25, 2006 4:41 PM
Subject: Re: [U2] PROC question


 Bob Woodward wrote:
  Maybe I'm just missing the finer points of PROC processing.  I've got a
  MENU proc that's structured like this:
 
  PQ
  10 C Top of Main Menu
  OA number of lines that display the available menu choices
  ...
  OEnter choice +
  IP:
  IF # A X
  IF A = 1 [PROD.PL PROG1.PROC
  IF A = 1 G 10
  ...
  IF A = 99 [PROD.PL PROG99.PROC
  IF A = 99 G 10
  O
  O That is not a valid menu choice.
  OPRESS [ENTER] +
  IP
  G 10
 
  My problem is when I come back from one of the PROGxx.PROC's, I'm not
  getting the menu choice value back to execute the G 10 command.  Instead
  it displays the error message at the bottom.

 As others have pointed out, the problem is likely that your input buffer
 is getting cleared.  One easy way around this is to change the structure
 of your menu proc so you don't have to worry about the input buffer
 after the call to the program proc is made.  All of our menu procs have
 this basic structure:

 PQ
 10 C Top of Main Menu
 OA number of lines that display the available menu choices
 ...
 OEnter choice +
 IP:
 IF # A X
 IF A = 1 GO 100
 IF A = 2 GO 200
 IF A = 3 GO 300
 GO 10
 100 [PROGRAM PROC
 GO 10
 200 [PROGRAM PROC
 GO 10
 300 [PROGRAM PROC
 GO 10

 We have a proc like this named BLANK.MENU that we just copy and modify
 anytime we need a new one.

 -John
 --
 John Hester
 System  Network Administrator
 Momentum Group Inc.
 (949) 833-8886 x623
 http://memosamples.com
 ---
 u2-users mailing list
 u2-users@listserver.u2ug.org
 To unsubscribe please visit http://listserver.u2ug.org/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] PROC question

2006-01-26 Thread Glenn Herbert
 PQ
 10 C Top of Main Menu
 RI
 RO
 OA number of lines that display the available menu choices ...
 OEnter choice +
 IP:
 IF # A X
 IF A = 1 GO 100
 ...
 IF A = 99 GO 990

You might as well use the multi-valued IF/GO, ie.

IF A = 1]...]99 GO 100]...]990

Where ] is a value-mark character.   Then the PROC only has to process
a single IF instead of multiple. 
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] PROC question

2006-01-25 Thread Baker Hughes
Bob,
This is from memory, so I trust someone will affirm/correct my
prognosis, but isn't the PIB (primary input buffer) cleared when you
execute the program.  So when you return, A (or answer, A1 assumed) is
now null?

-Baker

My problem is when I come back from one of the PROGxx.PROC's, I'm not
getting the menu choice value back to execute the G 10 command.
Instead it displays the error message at the bottom.  
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] PROC question

2006-01-25 Thread Pingilley, Ron
Bob,

Does the called PROC have an RI in it by any chance?  That
would clear the input buffers and leave nothing for the original PROC to
use in the IF A statement.

--Ron P.

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Bob Woodward
Sent: Wednesday, January 25, 2006 1:54 PM
To: U2-Users List
Subject: [U2] PROC question

Hi folks,

My problem is when I come back from one of the PROGxx.PROC's, I'm not
getting the menu choice value back to execute the G 10 command.
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


Re: [U2] PROC question

2006-01-25 Thread Dianne Ackerman
Something in the far reaches of my mind tells me that you need to do 
something like use a left paren instead of a bracket, like


IF A = 1 (PROD.PL PROG1.PROC

Can't try it right now to verify, though, sorry!
-Dianne

Bob Woodward wrote:


Hi folks,

Maybe I'm just missing the finer points of PROC processing.  I've got a
MENU proc that's structured like this:

PQ
10 C Top of Main Menu
OA number of lines that display the available menu choices
...
OEnter choice +
IP:
IF # A X
IF A = 1 [PROD.PL PROG1.PROC
IF A = 1 G 10
...
IF A = 99 [PROD.PL PROG99.PROC
IF A = 99 G 10
O
O That is not a valid menu choice.
OPRESS [ENTER] +
IP
G 10

My problem is when I come back from one of the PROGxx.PROC's, I'm not
getting the menu choice value back to execute the G 10 command.  Instead
it displays the error message at the bottom.  The PROGxx.PROC is
structured like this:

PQ
10 C Top of this PROC
Ha number of things stuffed into the output buffer
P
Hmore things happen in the output buffer
P
RTN
P
999 C should never get past this point
OI never see this message
X

Now keep in mind that I've trimmed down the PROC's to keep this message
fairly short.  Everything is working as expected EXCEPT the falling
through on the MAIN.MENU.PROC into the invalid menu choice message.
Anyone have any insight to my problem?

TIA

BobW
---

---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


Re: [U2] PROC question

2006-01-25 Thread Glenn Herbert
If this is for universe, the problem here stems from the fact that your 
[PROD.xx procs are stomping all over the buffers of the main menu proc. 
There's not really much you can do about that, but you could modify your 
main proc slightly as follows:

0001: PQ
002 F-OPEN 1 VOC
003 XNO VOC
004 10 C TOP
005 OEnter choice+
006 S1
007 IP:
008 IF # A X
009 MV 1.1 %1
010 IF A = 1 [VOC YYY
011 IF 1.1 = 1 GO 10
012 IF A = 99 [VOC ZZZ
013 IF 1.1 = 99 GO 10
014 O
015 O
016 ONOT VALID. PRESS ENTER+
017 IP:
018 GO 10

In order to save your entry, you can't use input, output or select list 
buffers - you are then left with using a file channel (since you probably 
don't want to write anything here).  So at line 2 and 3, open the VOC file 
to channel 1 and use that as a holder.  Line 7 is used to make certain 
input is always done on the first field.  Line 9 then is used to transfer 
your users input value into the first field of the file channel - you then 
use the file channel as your test to return to the menu (lines 11 and 13). 
  This means you should only have to modify slightly your main menu 
program to retain the input value and not have to modify the PROCxx files.
_
I reject your reality and substitute my own - Adam Savage

Glenn M. Herbert - Connectivity Development  Engineer
Information Integration Solutions, IBM Software Group
50 Washington Street Westboro, MA 01581
 508-599-7281 direct 

[EMAIL PROTECTED] wrote on 01/25/2006 02:54:05 PM:

 Hi folks,
 
 Maybe I'm just missing the finer points of PROC processing.  I've got a
 MENU proc that's structured like this:
 
 PQ
 10 C Top of Main Menu
 OA number of lines that display the available menu choices
 ...
 OEnter choice +
 IP:
 IF # A X
 IF A = 1 [PROD.PL PROG1.PROC
 IF A = 1 G 10
 ...
 IF A = 99 [PROD.PL PROG99.PROC
 IF A = 99 G 10
 O
 O That is not a valid menu choice.
 OPRESS [ENTER] +
 IP
 G 10
 
 My problem is when I come back from one of the PROGxx.PROC's, I'm not
 getting the menu choice value back to execute the G 10 command.  Instead
 it displays the error message at the bottom.  The PROGxx.PROC is
 structured like this:
 
 PQ
 10 C Top of this PROC
 Ha number of things stuffed into the output buffer
 P
 Hmore things happen in the output buffer
 P
 RTN
 P
 999 C should never get past this point
 OI never see this message
 X
 
 Now keep in mind that I've trimmed down the PROC's to keep this message
 fairly short.  Everything is working as expected EXCEPT the falling
 through on the MAIN.MENU.PROC into the invalid menu choice message.
 Anyone have any insight to my problem?
 
 TIA
 
 BobW
 ---
 u2-users mailing list
 u2-users@listserver.u2ug.org
 To unsubscribe please visit http://listserver.u2ug.org/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] PROC question

2006-01-25 Thread Mark Eastwood
Two thoughts,
1) Change the IF A = to IF A1 =, i.e. specify the input buffer.
2) Are any of the PROGxx.PROC doing an RI? This will clear the input
buffer.



-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Bob Woodward
Sent: Wednesday, January 25, 2006 12:54 PM
To: U2-Users List
Subject: [U2] PROC question

Hi folks,

Maybe I'm just missing the finer points of PROC processing.  I've got a
MENU proc that's structured like this:

PQ
10 C Top of Main Menu
OA number of lines that display the available menu choices
...
OEnter choice +
IP:
IF # A X
IF A = 1 [PROD.PL PROG1.PROC
IF A = 1 G 10
...
IF A = 99 [PROD.PL PROG99.PROC
IF A = 99 G 10
O
O That is not a valid menu choice.
OPRESS [ENTER] +
IP
G 10

My problem is when I come back from one of the PROGxx.PROC's, I'm not
getting the menu choice value back to execute the G 10 command.  Instead
it displays the error message at the bottom.  The PROGxx.PROC is
structured like this:

PQ
10 C Top of this PROC
Ha number of things stuffed into the output buffer
P
Hmore things happen in the output buffer
P
RTN
P
999 C should never get past this point
OI never see this message
X

Now keep in mind that I've trimmed down the PROC's to keep this message
fairly short.  Everything is working as expected EXCEPT the falling
through on the MAIN.MENU.PROC into the invalid menu choice message.
Anyone have any insight to my problem?

TIA

BobW
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


Re: [U2] PROC question

2006-01-25 Thread Susan Lynch
Bob,

If A1 gets overwritten in PROD.PL PROG1.PROC, then it won't be 1 when you
come back to the menu proc.  Are you being careful to preserve the value in
A1 when you are in the called proc?

Susan M. Lynch
F.W. Davison  Company, Inc.
(781) 340-9255Support fax # (508) 437-0093

Confidentiality Notice:
This e-mail message and any accompanying documents is for the sole use of
the intended recipient(s) and may contain confidential and privileged
information.  Any unauthorized review, use, disclosure, distribution, or
copying is prohibited.
- Original Message - 
From: Bob Woodward [EMAIL PROTECTED]
To: U2-Users List u2-users@listserver.u2ug.org
Sent: Wednesday, January 25, 2006 2:54 PM
Subject: [U2] PROC question


 Hi folks,

 Maybe I'm just missing the finer points of PROC processing.  I've got a
 MENU proc that's structured like this:

 PQ
 10 C Top of Main Menu
 OA number of lines that display the available menu choices
 ...
 OEnter choice +
 IP:
 IF # A X
 IF A = 1 [PROD.PL PROG1.PROC
 IF A = 1 G 10
 ...
 IF A = 99 [PROD.PL PROG99.PROC
 IF A = 99 G 10
 O
 O That is not a valid menu choice.
 OPRESS [ENTER] +
 IP
 G 10

 My problem is when I come back from one of the PROGxx.PROC's, I'm not
 getting the menu choice value back to execute the G 10 command.  Instead
 it displays the error message at the bottom.  The PROGxx.PROC is
 structured like this:

 PQ
 10 C Top of this PROC
 Ha number of things stuffed into the output buffer
 P
 Hmore things happen in the output buffer
 P
 RTN
 P
 999 C should never get past this point
 OI never see this message
 X

 Now keep in mind that I've trimmed down the PROC's to keep this message
 fairly short.  Everything is working as expected EXCEPT the falling
 through on the MAIN.MENU.PROC into the invalid menu choice message.
 Anyone have any insight to my problem?

 TIA

 BobW
 ---
 u2-users mailing list
 u2-users@listserver.u2ug.org
 To unsubscribe please visit http://listserver.u2ug.org/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] PROC question

2006-01-25 Thread Glenn Herbert
[EMAIL PROTECTED] wrote on 01/25/2006 04:10:18 PM:

 2) Are any of the PROGxx.PROC doing an RI? This will clear the input
 buffer.

Doesn't matter.  The simple fact of using '[' to initiate the subroutine 
PROC
was enough to cause the automatic clearing of the buffers.

And using '(' will cause the reuse of the current buffers as they were, so 
if
the subroutine PROC accepts input or uses the H and P commands, the 
current
buffers also get changed.
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


Re: [U2] PROC question

2006-01-25 Thread John Hester

Bob Woodward wrote:

Maybe I'm just missing the finer points of PROC processing.  I've got a
MENU proc that's structured like this:

PQ
10 C Top of Main Menu
OA number of lines that display the available menu choices
...
OEnter choice +
IP:
IF # A X
IF A = 1 [PROD.PL PROG1.PROC
IF A = 1 G 10
...
IF A = 99 [PROD.PL PROG99.PROC
IF A = 99 G 10
O
O That is not a valid menu choice.
OPRESS [ENTER] +
IP
G 10

My problem is when I come back from one of the PROGxx.PROC's, I'm not
getting the menu choice value back to execute the G 10 command.  Instead
it displays the error message at the bottom.


As others have pointed out, the problem is likely that your input buffer 
is getting cleared.  One easy way around this is to change the structure 
of your menu proc so you don't have to worry about the input buffer 
after the call to the program proc is made.  All of our menu procs have 
this basic structure:


PQ
10 C Top of Main Menu
OA number of lines that display the available menu choices
...
OEnter choice +
IP:
IF # A X
IF A = 1 GO 100
IF A = 2 GO 200
IF A = 3 GO 300
GO 10
100 [PROGRAM PROC
GO 10
200 [PROGRAM PROC
GO 10
300 [PROGRAM PROC
GO 10

We have a proc like this named BLANK.MENU that we just copy and modify 
anytime we need a new one.


-John
--
John Hester
System  Network Administrator
Momentum Group Inc.
(949) 833-8886 x623
http://memosamples.com
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] PROC question

2006-01-25 Thread Bob Woodward
As always, the top quality abilities of the folks on this list keep me
in awe.

My major flaw was in the assumption that PROC processing is like PROGRAM
processing.  I now know that there is only one set of buffers, period.
Next were the good suggestions on how to properly accomplish what I was
wanting.  John's method, I think, is going to be easier to maintain down
the road, especially since I'm only working with PROC's once in awhile.

Thanks for your input, Glenn, as it cleared up a couple questions I had
from reading the documentation.  I appreciate everyone else's input,
too.  You're a great bunch of folks!

Thanks,

BobW
 

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Bob Woodward
Sent: Wednesday, January 25, 2006 11:54 AM
To: U2-Users List
Subject: [U2] PROC question

Hi folks,

Maybe I'm just missing the finer points of PROC processing.  I've got a
MENU proc that's structured like this:

PQ
10 C Top of Main Menu
OA number of lines that display the available menu choices
...
OEnter choice +
IP:
IF # A X
IF A = 1 [PROD.PL PROG1.PROC
IF A = 1 G 10
...
IF A = 99 [PROD.PL PROG99.PROC
IF A = 99 G 10
O
O That is not a valid menu choice.
OPRESS [ENTER] +
IP
G 10

My problem is when I come back from one of the PROGxx.PROC's, I'm not
getting the menu choice value back to execute the G 10 command.  Instead
it displays the error message at the bottom.  The PROGxx.PROC is
structured like this:

PQ
10 C Top of this PROC
Ha number of things stuffed into the output buffer
P
Hmore things happen in the output buffer
P
RTN
P
999 C should never get past this point
OI never see this message
X

Now keep in mind that I've trimmed down the PROC's to keep this message
fairly short.  Everything is working as expected EXCEPT the falling
through on the MAIN.MENU.PROC into the invalid menu choice message.
Anyone have any insight to my problem?

TIA

BobW
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] PROC question

2006-01-25 Thread Bill Haskett
Bob:

Since the PROC buffer is getting trashed by the called PROC change the menu
PROC to a more suitable format like:

PQ
10 C Top of Main Menu
RI
RO
OA number of lines that display the available menu choices ...
OEnter choice +
IP:
IF # A X
IF A = 1 GO 100
...
IF A = 99 GO 990
O
O That is not a valid menu choice.
OPRESS [ENTER] +
IP
GO 10
C--
100 C Option# 1
[PROD.PL PROG1.PROC
GO 10
...
990 C Option# 99
[PROD.PL PROG99.PROC
GO 10

Hope this helps.  :-)

Bill
 

 -Original Message-
 From: [EMAIL PROTECTED] 
 [mailto:[EMAIL PROTECTED] On Behalf Of Glenn Herbert
 Sent: Wednesday, January 25, 2006 1:01 PM
 To: u2-users@listserver.u2ug.org
 Subject: Re: [U2] PROC question
 
 If this is for universe, the problem here stems from the fact 
 that your [PROD.xx procs are stomping all over the buffers of 
 the main menu proc. 
 There's not really much you can do about that, but you could 
 modify your main proc slightly as follows:
 
 0001: PQ
 002 F-OPEN 1 VOC
 003 XNO VOC
 004 10 C TOP
 005 OEnter choice+
 006 S1
 007 IP:
 008 IF # A X
 009 MV 1.1 %1
 010 IF A = 1 [VOC YYY
 011 IF 1.1 = 1 GO 10
 012 IF A = 99 [VOC ZZZ
 013 IF 1.1 = 99 GO 10
 014 O
 015 O
 016 ONOT VALID. PRESS ENTER+
 017 IP:
 018 GO 10
 
 In order to save your entry, you can't use input, output or 
 select list buffers - you are then left with using a file 
 channel (since you probably don't want to write anything 
 here).  So at line 2 and 3, open the VOC file to channel 1 
 and use that as a holder.  Line 7 is used to make certain 
 input is always done on the first field.  Line 9 then is used 
 to transfer your users input value into the first field of 
 the file channel - you then use the file channel as your test 
 to return to the menu (lines 11 and 13). 
   This means you should only have to modify slightly your 
 main menu program to retain the input value and not have to 
 modify the PROCxx files.
 _
 I reject your reality and substitute my own - Adam Savage
 
 Glenn M. Herbert - Connectivity Development  Engineer 
 Information Integration Solutions, IBM Software Group 50 
 Washington Street Westboro, MA 01581
  508-599-7281 direct 
 
 [EMAIL PROTECTED] wrote on 01/25/2006 02:54:05 PM:
 
  Hi folks,
  
  Maybe I'm just missing the finer points of PROC processing. 
  I've got 
  a MENU proc that's structured like this:
  
  PQ
  10 C Top of Main Menu
  OA number of lines that display the available menu choices ...
  OEnter choice +
  IP:
  IF # A X
  IF A = 1 [PROD.PL PROG1.PROC
  IF A = 1 G 10
  ...
  IF A = 99 [PROD.PL PROG99.PROC
  IF A = 99 G 10
  O
  O That is not a valid menu choice.
  OPRESS [ENTER] +
  IP
  G 10
  
  My problem is when I come back from one of the 
 PROGxx.PROC's, I'm not 
  getting the menu choice value back to execute the G 10 command.  
  Instead it displays the error message at the bottom.  The 
 PROGxx.PROC 
  is structured like this:
  
  PQ
  10 C Top of this PROC
  Ha number of things stuffed into the output buffer P Hmore things 
  happen in the output buffer P RTN P
  999 C should never get past this point OI never see this message X
  
  Now keep in mind that I've trimmed down the PROC's to keep this 
  message fairly short.  Everything is working as expected EXCEPT the 
  falling through on the MAIN.MENU.PROC into the invalid menu 
 choice message.
  Anyone have any insight to my problem?
  
  TIA
  
  BobW
  ---
  u2-users mailing list
  u2-users@listserver.u2ug.org
  To unsubscribe please visit http://listserver.u2ug.org/
 ---
 u2-users mailing list
 u2-users@listserver.u2ug.org
 To unsubscribe please visit http://listserver.u2ug.org/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


Re: [U2] PROC Question

2006-01-12 Thread Mark Johnson
Microdata allows multiple lines on PROCS, and I used to be very good at PQN
procs but I don't recall the syntax.

I would stay with the offered suggestions.
My 1 cent
- Original Message -
From: Bill Haskett [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Wednesday, January 11, 2006 1:35 PM
Subject: RE: [U2] PROC Question


 Bob:

 I used to be pretty proficient in PROC and have never heard of this...but
 that doesn't mean it doesn't exist.  :-)

 Bill


  -Original Message-
  From: [EMAIL PROTECTED]
  [mailto:[EMAIL PROTECTED] On Behalf Of Bob Woodward
  Sent: Wednesday, January 11, 2006 9:35 AM
  To: U2-Users List
  Subject: [U2] PROC Question
 
  Hi folks,
 
  I can't find anything in the IBM Doc's for ProVerb's that
  tells me how to create an entry that will allow me to put
  multiple commands on a single line.  In a nutshell, from a
  menu when a user selects an option, I want to be able to
  execute multiple commands.
 
  Currently, I use multiple lines such as:
 IF A = 5 [USER.PL BASIC.PGM1
 IF A = 5 [USER.PL BASIC.PGM2
 IF A = 5 G 10
 
  What I want to be able to do is:
 IF A = 5 [USER.PL BASIC.PGM1];[USER.PL BASIC.PGM2];G 10
 
  Is my mind fried?  Maybe...  But is there something that will work?
 
  BobW
  ---
  u2-users mailing list
  u2-users@listserver.u2ug.org
  To unsubscribe please visit http://listserver.u2ug.org/
 ---
 u2-users mailing list
 u2-users@listserver.u2ug.org
 To unsubscribe please visit http://listserver.u2ug.org/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


Re: [U2] PROC Question

2006-01-12 Thread Mark Johnson
One final oft-seen PROC thing.

You can have a PROC that has statement labels within have those statement
sections referenced individually from the outside.

Example
PROX AAA
PQN
100 T HERE AT 100
X
200 T HERE AT 200
X
300 T HERE AT 300
X

and have calling PROCS likewise:

[PROX AAA] 100
(some other proc statements)
[PROX AAA] 200
(some other proc statements
[PROC AAA] 300

So it's like haveing a library of SUBs in one place.

My 1 cent.
Mark Johnson
- Original Message -
From: Bob Woodward [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Wednesday, January 11, 2006 2:50 PM
Subject: RE: [U2] PROC Question


 Thanks, everyone.  I got exactly the answer I was afraid I would get.
 Yes, my mind is fried...  heavy sigh

 Because of system programming standards, I need to stay with a PROC but
 I was hoping to be able to streamline them a little bit.

 I appreciate the answers everyone offered, including the ones to quit
 using PROC's (and the thought has crossed my mind a number of times) but
 for the most part, we keep the PROC's pretty simple.

 Again, thanks.

 BobW


 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of Bob Woodward
 Sent: Wednesday, January 11, 2006 9:35 AM
 To: U2-Users List
 Subject: [U2] PROC Question

 Hi folks,

 I can't find anything in the IBM Doc's for ProVerb's that tells me how
 to create an entry that will allow me to put multiple commands on a
 single line.  In a nutshell, from a menu when a user selects an
 option, I want to be able to execute multiple commands.

 Currently, I use multiple lines such as:
IF A = 5 [USER.PL BASIC.PGM1
IF A = 5 [USER.PL BASIC.PGM2
IF A = 5 G 10

 What I want to be able to do is:
IF A = 5 [USER.PL BASIC.PGM1];[USER.PL BASIC.PGM2];G 10

 Is my mind fried?  Maybe...  But is there something that will work?

 BobW
 ---
 u2-users mailing list
 u2-users@listserver.u2ug.org
 To unsubscribe please visit http://listserver.u2ug.org/
 ---
 u2-users mailing list
 u2-users@listserver.u2ug.org
 To unsubscribe please visit http://listserver.u2ug.org/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] PROC Question

2006-01-12 Thread Tony Gravagno
Bob Woodward wrote:
 What I want to be able to do is:
IF A = 5 [USER.PL BASIC.PGM1];[USER.PL BASIC.PGM2];G 10

In RPL the subvalue mark is used to accomplish this:
IF A = 5 [USER.PL BASIC.PGM1]\[USER.PL BASIC.PGM2]\G 10

Use ctrl-\ for the subvalue mark.

I'm positive that we can do GS 10\GS 20 in RPL, not positive that works in
Proc/PQN.  Even if that does work, I'm not positive the stack will be
maintained in RPL or PQN after a call to an external subroutine - been a
long time.  Try it and let us know.

Personally I prefer to branch down to code blocks as others suggest.

HTH
Tony, Nebula RD

(RPL is owned and maintained by the Realtime Software Corporation and is
only available for D3.)
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] PROC Question

2006-01-12 Thread Bob Woodward
Hi Tony.

It looks like this is a no-go in UV, too.  I ended up using the
branching method many have suggested.

Thanks.
BobW
 
-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Tony Gravagno
Sent: Thursday, January 12, 2006 8:26 AM
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] PROC Question

Bob Woodward wrote:
 What I want to be able to do is:
IF A = 5 [USER.PL BASIC.PGM1];[USER.PL BASIC.PGM2];G 10

In RPL the subvalue mark is used to accomplish this:
IF A = 5 [USER.PL BASIC.PGM1]\[USER.PL BASIC.PGM2]\G 10

Use ctrl-\ for the subvalue mark.

I'm positive that we can do GS 10\GS 20 in RPL, not positive that works
in
Proc/PQN.  Even if that does work, I'm not positive the stack will be
maintained in RPL or PQN after a call to an external subroutine - been a
long time.  Try it and let us know.

Personally I prefer to branch down to code blocks as others suggest.

HTH
Tony, Nebula RD

(RPL is owned and maintained by the Realtime Software Corporation and is
only available for D3.)
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


Re: [U2] PROC Question

2006-01-11 Thread Glenn Herbert
That type of functionality is not possible (unless PROC has been modified 
since I worked in it) - that's the reason you can't find anything in the 
documentation.  You have a choice of doing it the way you are, or using 
GOSUB/GOTO to define the multiple lines as a subroutine.
_
I reject your reality and substitute my own - Adam Savage

Glenn M. Herbert - Connectivity Development  Engineer
Information Integration Solutions, IBM Software Group
50 Washington Street Westboro, MA 01581
 508-599-7281 direct 



Bob Woodward [EMAIL PROTECTED] 
Sent by: [EMAIL PROTECTED]
01/11/2006 12:34 PM
Please respond to
u2-users


To
U2-Users List u2-users@listserver.u2ug.org
cc

Subject
[U2] PROC Question






Hi folks,

I can't find anything in the IBM Doc's for ProVerb's that tells me how
to create an entry that will allow me to put multiple commands on a
single line.  In a nutshell, from a menu when a user selects an
option, I want to be able to execute multiple commands.

Currently, I use multiple lines such as:
   IF A = 5 [USER.PL BASIC.PGM1
   IF A = 5 [USER.PL BASIC.PGM2
   IF A = 5 G 10

What I want to be able to do is:
   IF A = 5 [USER.PL BASIC.PGM1];[USER.PL BASIC.PGM2];G 10

Is my mind fried?  Maybe...  But is there something that will work?

BobW
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] PROC Question

2006-01-11 Thread Mark Eastwood
Maybe something like this?

IF A = 5 G 500
...
500 C
[USER.PL BASIC1
[USER.PL BASIC2
G 10


-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Bob Woodward
Sent: Wednesday, January 11, 2006 10:35 AM
To: U2-Users List
Subject: [U2] PROC Question

Hi folks,

I can't find anything in the IBM Doc's for ProVerb's that tells me how
to create an entry that will allow me to put multiple commands on a
single line.  In a nutshell, from a menu when a user selects an
option, I want to be able to execute multiple commands.

Currently, I use multiple lines such as:
   IF A = 5 [USER.PL BASIC.PGM1
   IF A = 5 [USER.PL BASIC.PGM2
   IF A = 5 G 10

What I want to be able to do is:
   IF A = 5 [USER.PL BASIC.PGM1];[USER.PL BASIC.PGM2];G 10

Is my mind fried?  Maybe...  But is there something that will work?

BobW
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] PROC Question

2006-01-11 Thread Paul Sohn
Why not form GO TO blocks?

Example:
5 C   Print Menu
T C
O MENU
10 C  Input Menu Option 
IP
IF A = 1 GO 100
IF A = 2 GO 200
IF A = 3 GO 300
GO 10
100 C  First menu Option
HRUN USER.PL BASIC.PGM1
P
HRUN USER.PL BASIC.PGM2
P
GO 5
200 C  Second Menu Option
HRUN USER.PL BASIC.PGM4
P
HRUN USER.PL BASIC.PGM2
P
GO 5
300 C
Command
Command
Command
GO 5 

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Bob Woodward
Sent: Wednesday, January 11, 2006 9:35 AM
To: U2-Users List
Subject: [U2] PROC Question

Hi folks,

I can't find anything in the IBM Doc's for ProVerb's that tells me how
to create an entry that will allow me to put multiple commands on a
single line.  In a nutshell, from a menu when a user selects an
option, I want to be able to execute multiple commands.

Currently, I use multiple lines such as:
   IF A = 5 [USER.PL BASIC.PGM1
   IF A = 5 [USER.PL BASIC.PGM2
   IF A = 5 G 10

What I want to be able to do is:
   IF A = 5 [USER.PL BASIC.PGM1];[USER.PL BASIC.PGM2];G 10

Is my mind fried?  Maybe...  But is there something that will work?

BobW
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] PROC Question

2006-01-11 Thread Brian Leach
The only sensible ways are:

1. Subroutines 
GOSUB n
n MV #1 blah
P
..
RSUB

2. Ext subroutines 
C has commands
[file someproc]

3. Execute something sensible like a paragraph and give up using ugly PROCs

Brian Like PROC - ugly but works



-Original Message-
From: Bob Woodward[EMAIL PROTECTED]
Sent: 11/01/06 17:34:49
To: U2-Users Listu2-users@listserver.u2ug.org
Subject: [U2] PROC Question

Hi folks,

I can't find anything in the IBM Doc's for ProVerb's that tells me how
to create an entry that will allow me to put multiple commands on a
single line.  In a nutshell, from a menu when a user selects an
option, I want to be able to execute multiple commands.

Currently, I use multiple lines such as:
   IF A = 5 [USER.PL BASIC.PGM1
   IF A = 5 [USER.PL BASIC.PGM2
   IF A = 5 G 10

What I want to be able to do is:
   IF A = 5 [USER.PL BASIC.PGM1];[USER.PL BASIC.PGM2];G 10

Is my mind fried?  Maybe...  But is there something that will work?

BobW
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


[Message truncated. Tap Edit-Mark for Download to get remaining portion.]
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] PROC Question

2006-01-11 Thread u2
Wouldn't you rather just rewrite the proc in basic?

 -Original Message-
 From: [EMAIL PROTECTED] 
 [mailto:[EMAIL PROTECTED] On Behalf Of Bob Woodward
 Sent: Wednesday, January 11, 2006 12:35 PM
 To: U2-Users List
 Subject: [U2] PROC Question
 
 
 Hi folks,
 
 I can't find anything in the IBM Doc's for ProVerb's that 
 tells me how to create an entry that will allow me to put 
 multiple commands on a single line.  In a nutshell, from a 
 menu when a user selects an option, I want to be able to 
 execute multiple commands.
 
 Currently, I use multiple lines such as:
IF A = 5 [USER.PL BASIC.PGM1
IF A = 5 [USER.PL BASIC.PGM2
IF A = 5 G 10
 
 What I want to be able to do is:
IF A = 5 [USER.PL BASIC.PGM1];[USER.PL BASIC.PGM2];G 10
 
 Is my mind fried?  Maybe...  But is there something that will work?
 
 BobW
 ---
 u2-users mailing list
 u2-users@listserver.u2ug.org
 To unsubscribe please visit http://listserver.u2ug.org/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] PROC Question

2006-01-11 Thread Bob Woodward
Thanks, everyone.  I got exactly the answer I was afraid I would get.
Yes, my mind is fried...  heavy sigh

Because of system programming standards, I need to stay with a PROC but
I was hoping to be able to streamline them a little bit.

I appreciate the answers everyone offered, including the ones to quit
using PROC's (and the thought has crossed my mind a number of times) but
for the most part, we keep the PROC's pretty simple.

Again, thanks.

BobW
 

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Bob Woodward
Sent: Wednesday, January 11, 2006 9:35 AM
To: U2-Users List
Subject: [U2] PROC Question

Hi folks,

I can't find anything in the IBM Doc's for ProVerb's that tells me how
to create an entry that will allow me to put multiple commands on a
single line.  In a nutshell, from a menu when a user selects an
option, I want to be able to execute multiple commands.

Currently, I use multiple lines such as:
   IF A = 5 [USER.PL BASIC.PGM1
   IF A = 5 [USER.PL BASIC.PGM2
   IF A = 5 G 10

What I want to be able to do is:
   IF A = 5 [USER.PL BASIC.PGM1];[USER.PL BASIC.PGM2];G 10

Is my mind fried?  Maybe...  But is there something that will work?

BobW
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] PROC Question

2006-01-11 Thread John Jenkins
It's been a LONG time ... I can remember writing a whole PL suite in
MDIS PROC (don't ask...)

I recall that in PQN procs you could have a construct such as

PQN
M
RI
IP:
IF %1 = 1]2]3]4]5 G 10]20]30]40]50 
T Bad entry
G B
10 XTEN
20 XTWENTY
30 XTHIRTY
40 XFORTY
50 XFIFTY

Etc - or whatever (]=value marks by the way)

Otherwise

PQN
IF %1 # 5 G F
[USER.PL BASIC.PGM1]
[USER.PL BASIC.PGM2]
etc
M

BTW - I don't really like G F and G B - much prefer labels

I haven't tried this on UniVerse but I hope this helps..

Regards

JayJay

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Bob Woodward
Sent: 11 January 2006 17:35
To: U2-Users List
Subject: [U2] PROC Question

Hi folks,

I can't find anything in the IBM Doc's for ProVerb's that tells me how
to create an entry that will allow me to put multiple commands on a
single line.  In a nutshell, from a menu when a user selects an
option, I want to be able to execute multiple commands.

Currently, I use multiple lines such as:
   IF A = 5 [USER.PL BASIC.PGM1
   IF A = 5 [USER.PL BASIC.PGM2
   IF A = 5 G 10

What I want to be able to do is:
   IF A = 5 [USER.PL BASIC.PGM1];[USER.PL BASIC.PGM2];G 10

Is my mind fried?  Maybe...  But is there something that will work?

BobW
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] PROC Question

2006-01-11 Thread Bruce Nichol

Goo'day, Jay Jay and  .

At 22:29 11/01/06 +, you wrote:


It's been a LONG time ... I can remember writing a whole PL suite in
MDIS PROC (don't ask...)

I recall that in PQN procs you could have a construct such as

PQN
M
RI
IP:
IF %1 = 1]2]3]4]5 G 10]20]30]40]50


That's the MDIS (MDD) method of multivaluing the input and  associated 
actions, but the OP wanted to have one input and multiple actions, IIRC, so 
this isn't what was asked


AFAIK with UV (we'd changed all of our MDD PQN PROCS on converting ot R83 
PQs), you'd have to go to an internal subroutine ([]) and call each action 
in turn, and return as has already been suggested, or amend your 
actions  programs to CHAIN from one to anotherwhich probably wouldn't 
be very clever



T Bad entry
G B
10 XTEN
20 XTWENTY
30 XTHIRTY
40 XFORTY
50 XFIFTY

Etc - or whatever (]=value marks by the way)

Otherwise

PQN
IF %1 # 5 G F
[USER.PL BASIC.PGM1]
[USER.PL BASIC.PGM2]
etc
M

BTW - I don't really like G F and G B - much prefer labels

I haven't tried this on UniVerse but I hope this helps..

Regards

JayJay

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Bob Woodward
Sent: 11 January 2006 17:35
To: U2-Users List
Subject: [U2] PROC Question

Hi folks,

I can't find anything in the IBM Doc's for ProVerb's that tells me how
to create an entry that will allow me to put multiple commands on a
single line.  In a nutshell, from a menu when a user selects an
option, I want to be able to execute multiple commands.

Currently, I use multiple lines such as:
   IF A = 5 [USER.PL BASIC.PGM1
   IF A = 5 [USER.PL BASIC.PGM2
   IF A = 5 G 10

What I want to be able to do is:
   IF A = 5 [USER.PL BASIC.PGM1];[USER.PL BASIC.PGM2];G 10

Is my mind fried?  Maybe...  But is there something that will work?

BobW
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/



--
No virus found in this incoming message.
Checked by AVG Anti-Virus.
Version: 7.1.371 / Virus Database: 267.14.17/227 - Release Date: 11/01/06


Regards,

Bruce Nichol
Talon Computer Services
ALBURYNSW 2640
Australia

http://www.taloncs.com.au

Tel: +61 (0)411149636
Fax: +61 (0)260232119

If it ain't broke, fix it till it is! 



--
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.1.371 / Virus Database: 267.14.17/227 - Release Date: 11/01/06
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/