rcabe -y oddness

Brian K. White brian at aljex.com
Fri Nov 11 17:06:58 PST 2005


Today I needed to update a processing that was being used like this:
dclerk gopay -m chk -sman -y automan -z manual -xa -lx -u -h "Enter Checks"

So naturally, trying to be a good careful little developer I ran rcabe like 
this:
rcabe gopay -y automan -z manual

This worked in so far as it put me directly into gopay/prc.manual
The only way I know to test for proof of the -y  is at save time if you have 
a harmless duplicate variable definition, the auto table is shown in the 
warning.
But, when I go to save the table I get no warnings before the syntax check 
question, and if I say Y to syntax check I get filepro error has occurred on 
a perfectly innocuous line of code.

---snip---
*** A filePro Error Has Occurred ***

Line Number: 634

uz ne "B"                     'tch wuz here     real one
^
Process contains a syntax error at position indicated.
---snip---

You can't see but the line displayed is the If: part of a line.
There is nothing wrong with this line, the lines near it, or anywhere before 
this point. In fact, the entire table is completely fine but you don't know 
that yet.

If I comment that line it errors again on some later, also perfectly good 
line of code a hundred or so lines down.
I didn't go further than that before calling the last person who worked on 
these tables because I thought there was actually something wrong with one 
or the other table.

Turns out she (Sue formerly of fP) was using rcabe like this:
rcabe - -y automan

This works as expected on the same table in the same file but you have to 
pick them interactively.
No filepro errors, and the table tokenizes and runs.
There is one harmless duplicate variable definition which just serves to 
prove the -y worked.

---snip---
Warning: Line 470 - OZ already has an attribute of (2,*,g) in 'automan' 
processi
ng

Press  Enter  To Continue
---snip---


I tried some other variations to see if I could pin down a more specifc 
symptom and I think I did.

These two both behave the same. They start out working as one would expect, 
you have to select the file but once you do you are put directly into 
prc.manual
But at syntax check it gives the same error I first got, in the same place 
even.
rcabe - -y automan manual
rcabe - -y automan -z manual

This one works correctly. You are put directly into gopay, and have to 
choose Auto/input/output, and if you select output and pick manual from the 
listbox, then save the table,  you just get the warning about the duplicate 
variable definition before syntax check and it saves & tokenizes ok:
rcabe gopay -y automan

This one works correctly and does all of what I first intended.
It puts you directly into gopay/prc.manual and the -y automan is proved by 
the duplicate definition warning:
rcabe gopay manual -y automan


So you just can't put the process table name anywhere on the line, it must 
be argument 2

I guess I should have tried this first, especially since I commonly do 
"rcabe file prc" without any -y, and -z isn't even documented as being valid 
anyways. But then again neither is putting the process table name anywhere 
in the arguments. I think the bad ways above should not have worked far 
enough to actually look like they worked like they did. I mean, they loaded 
the right table. It's not reasonable to suspect the initial loading comand 
line when it actually does what you asked and expected and the only hint of 
an error comes way at the end of the process when saving the file, 
especially when that error has nothing to do with command line arguments, 
even more especially when it IS very reasonable to beleive that error 
(syntax) at that point.

fp 5.0.8  sco 5.0.6

Brian K. White  --  brian at aljex.com  --  http://www.aljex.com/bkw/
+++++[>+++[>+++++>+++++++<<-]<-]>>+.>.+++++.+++++++.-.[>+<---]>++.
filePro  BBx    Linux  SCO  FreeBSD    #callahans  Satriani  Filk!



More information about the Filepro-list mailing list