Show which parameter is wrong in error messages, correct/enhance the error messages - OpenEdge Development - Products Enhancements - Progress Community

 OpenEdge Development

Show which parameter is wrong in error messages, correct/enhance the error messages

  • Under Review

On linux

pro -basekey ini -s 500

shows following error 'The -s parameter requires a numeric argument. (11996)'

I spent the better part of an hour debugging and trying to figure out why 500 wasn't numeric.

The error should have been "-basekey is not supported on this platform" or "unknown option -basekey"

pro -basWhateverImistypehere ini nonnumerric 500 t.txt 500 -p echoparam.p

should show "unknown option -basWhateverImistypehere" but also shows "The -s parameter requires a numeric argument. (11996)"

This kind of unclear errors will occur each time Progress identifies part of a parameter as valid.

pro -basekey ini 500 500 t.txt 500

is also

pro -b -a ini -s 500 -e 500 -k t.txt -e 500

I understand this kind of parsing is kept in place because it used to work in the past.  But I think  the error reporting should show the entire parameter it cannot parse and not a single option that also happens to exist on its own.

Personally I don't mind if the concatenating of parameters is dropped altogether as , I consider

"-LnB 10000 25 1000" instead of  "-L 10000 -n 25 -B 1000" as very unclear.

Comments
  • +1

    I have had a similar situation when accidentally using a new client parameter with an older OpenEdge version (which did not have support for the parameter). I don't remember which parameter is was (possibly -rereadfields), but I remember that the error message was quite misleading ("You have not supplied a parameter for argument -e" or something like that).

  • I agree.

    Some way to see the parameter resolution could also help with this and more, e.g. a command line utility that shows the effective parameters after removing redundant duplicates and indicate where it comes from.

    EXAMPLE

    ---------------SomeDB.pf---------------------------

    #SomeDB.pf

    -s 50

    -db SomeDB -N tcp -S 5432 -H somehost

    -db AnotherDB -N tcp -S 5455 -H somehost

    -Bt 500

    ---------------EOF-----------------------------------

    ------------------SomeStuff.pf---------------------

    #SomeStuff.pf

    -pf SomeDB.pf

    -s 80

    ---------------EOF-----------------------------------

    -----------proenv shell------------------------------

    proenv> $DLC/bin/showparam -s 30 -pf someStuff.pf -Bt 100 -tmpbsize 8 mydb -x 5461 -H somehost -zn - TB 40

    Parsing: -s 30 -pf someStuff.pf -Bt 100 -tmpbsize 8 mydb -x 5461 -H somehost -zn -TB 40

    PF-FILES

    -pf SomeStuff