Re: [CMS-PIPELINES] IF testing characters
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
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
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
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
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