Re: [CMS-PIPELINES] IF testing characters

2022-11-27 Thread a.benveni...@free.fr
Sorry John to come back but,

With

"! SPECs",
"  a: 54.5 .",
"  if (£1/==a) then",
" set £1:=a",
" set £2:=1",
" else",
" set £2+=1",
"  endif",

and with 6010A or 60102 and by reducing or not my storage from 128M to 16M I 
receive :

FPLYAC1434E Parse error in state 145, unexpected O_EQ at offset 5: "=a) then set
£1:=a set £2:=1 else set £2+=1 endif 1-* 1 print £2 picture 9 nextword"
FPLMSG003I ... Issued from stage 5 of pipeline 1
FPLMSG001I ... Running "SPECs a: 54.5 . if (£1/==a) then set £1:="
FPLYAC1435I Expecting T_IDLETTER T_NUMBER T_QSTRING T_IDENT T_ID_CHAR T_CTR T_DO
T T_DOTDOT T_CTRARRAY S_LP O_PLUS O_NOT F_FIRST F_EOF F_BREAK F_C2D F_C2F F_X2D
F_X2F F_STRING F_AVERAGE F_VARIANCE F_NUMBER F_EXACT F_SQRT F_STDDEV F_STDERRMEA
N F_TYPE F_A
FPLSPE192I ... Scan at position 21; previous data "a: 54.5 . if (£1/=="
Ready; T=0.01/0.01 13:39:06


De : CMS/TSO Pipelines Discussion List 
 de la part de John P. Hartmann 

Date : dimanche, 27 novembre 2022 à 13:07
À : cms-pipeli...@listserv.meduniwien.ac.at 

Objet : Re: IF testing characters
On 11/27/22 12:39, a.benveni...@free.fr wrote:
> "  if (£1/=a) then",

The numerically not equal operator converts both arguments to numbers
and then performs a numeric compare.

Your compare of 6010A fails because the digit A is not decimal.  (Specs
has no facility to compare hexadecimal.)

Use /== to compare strings for not equal.  With the /== operator,
numbers are converted to string before the comparison.  Conversion to
string can fail only if you run out of storage.


Re: [CMS-PIPELINES] IF testing characters

2022-11-27 Thread a.benveni...@free.fr
Rob, I would pleased to run it !

De : CMS/TSO Pipelines Discussion List 
 de la part de Rob van der Heij 

Date : dimanche, 27 novembre 2022 à 10:06
À : cms-pipeli...@listserv.meduniwien.ac.at 

Objet : Re: IF testing characters
While this doesn't address your questions about SPEC, I do have a very
interesting pipeline that uses almost all options of LOOKUP to go through a
User Directory and determine gaps or re-allocate minidisks from one (or
all) volumes to new volumes to generate DIRMAINT commands...

Rob


Re: [CMS-PIPELINES] IF testing characters

2022-11-27 Thread a.benveni...@free.fr
Yes John !

But now, back with a simplified code,
[code]
"! SPECs",
"  a: 54.5 .",
"  if (£1/=a) then",
" set £1:=a",
" set £2:=1",
" else",
" set £2+=1",
"  endif",
"  1-* 1",
"  print £2 picture 9 nextword",
"!> $$TEMP$$ $$TEMP$$ A3"

a: value can be 60102, 30051 but also 1113.
As shown column 90, £2 is not reseted to 1 when £1 is not equal to a:
As I understand it, at first record £1 can't be equal because it is not set to 
anything;
at second record £1 is set to the previous value a: and compared to the value 
a: found in this second record, and it matches.

..+3+4+5+6+7+8+9...>
07-E8 DEVTYPE = 3390-0C CYLS = 601020175-CYT91 SSID = 0309 02094
07-E8 DEVTYPE = 3390-0C CYLS = 300510175-CYT91 SSID = 030A 02095

Now if I change 60102 to 6010A in the thrid record and I receive :

FPLSPV1038E Not a decimal number: "6010A"
FPLMSG003I ... Issued from stage 5 of pipeline 1
FPLMSG001I ... Running "SPECs a: 54.5 . if (£1/=a) then set £1:=a"
FPLSPV1426I ... Evaluating "£1/=a"
FPLSPE1490I Processing item number 2: if (£1/=a) then

Ok, I understand i am not using the good syntax for set and if.
I did many tests but still not find it...
[/code]


De : CMS/TSO Pipelines Discussion List 
 de la part de John P. Hartmann 

Date : samedi, 26 novembre 2022 à 15:03
À : cms-pipeli...@listserv.meduniwien.ac.at 

Objet : Re: IF testing characters
The else clause is never executed because you unconditionally assign
counters 1 through 5 at the beginning of each cycle.  Perhaps you should
delete the first five assignments.  Or use if first() to initialise
counters.

On 11/26/22 14:44, a.benveni...@free.fr wrote:
> The last test I did do not send any error message but £4 and £5 are not 
> incremented as it is supposed based on the if :
>
>  From the q da details command :
> a is the cyls value
> b is the serial number value
> c is the ssid value
>
> "! SPECs",
> "  a: 54.5 .",
> "  b: 67.10 .",
> "  c: 85.4 .",
> "  set £1:=a",
> "  set £2:=b",
> "  set £3:=c",
> "  set £4:=0",
> "  set £5:=0",
> "  if (£1==a & £2==b & £3==c) then",
> " set £4+=1",
> " set £5:=1",
> " else",
> " set £1:=a",
> " set £2:=b",
> " set £3:=c",
> " set £4:=1",
> " set £5+=1",
> "  endif",
> "  1-* 1",
> "  print £4 picture 9 nextword",
> "  print £5 picture 9 next",
> "!01:"
>
>
> De : CMS/TSO Pipelines Discussion List 
>  de la part de John P. Hartmann 
> 
> Date : samedi, 26 novembre 2022 à 14:15
> À : cms-pipeli...@listserv.meduniwien.ac.at 
> 
> Objet : Re: IF testing characters
> ! is the vertical bar (|) on most European terminals.  It would have
> been nice to know the actual error message.
>
> On 11/26/22 12:14, Kris Buelens wrote:
>> I don't understand what these
>>  are supposed to do


Re: [CMS-PIPELINES] IF testing characters

2022-11-26 Thread a.benveni...@free.fr
The last test I did do not send any error message but £4 and £5 are not 
incremented as it is supposed based on the if :

>From the q da details command :
a is the cyls value
b is the serial number value
c is the ssid value

"! SPECs",
"  a: 54.5 .",
"  b: 67.10 .",
"  c: 85.4 .",
"  set £1:=a",
"  set £2:=b",
"  set £3:=c",
"  set £4:=0",
"  set £5:=0",
"  if (£1==a & £2==b & £3==c) then",
" set £4+=1",
" set £5:=1",
" else",
" set £1:=a",
" set £2:=b",
" set £3:=c",
" set £4:=1",
" set £5+=1",
"  endif",
"  1-* 1",
"  print £4 picture 9 nextword",
"  print £5 picture 9 next",
"!01:"


De : CMS/TSO Pipelines Discussion List 
 de la part de John P. Hartmann 

Date : samedi, 26 novembre 2022 à 14:15
À : cms-pipeli...@listserv.meduniwien.ac.at 

Objet : Re: IF testing characters
! is the vertical bar (|) on most European terminals.  It would have
been nice to know the actual error message.

On 11/26/22 12:14, Kris Buelens wrote:
> I don't understand what these
>  are supposed to do


Re: [CMS-PIPELINES] change question

2022-11-24 Thread a.benveni...@free.fr
Rob,

Yes that’s what a similar thing I did with a specs ‘jumping ‘ over the unwanted 
field…


De : CMSTSO Pipelines Discussion List  de la part 
de Rob van der Heij 
Date : jeudi, 24 novembre 2022 à 21:18
À : CMS-PIPELINES@VM.MARIST.EDU 
Objet : Re: [CMS-PIPELINES] change question
On Thu, 24 Nov 2022 at 21:14, Alain Benveniste  wrote:

>
> Probably asked before but the filter seems not to work properly..
>
> How to change (3.5) "no matter what there is" by blanks ?
>
> something like in xedit : zone 3 5 + change  /$$$/   /


Alain,

How about one of these?

 | spec 1-* 1 , , 3.5
 | xlate 3.5 00-FF 40

Sir Rob the Plumber