Search code examples
preprocessoropenedgeprogress-4gl

Is there a way to use preprocessor directives in Progress-4GL?


I'm working with Progress-4GL, release 11.6.

As explained in this other question, I'm now using dynamic queries, like this:

CREATE BUFFER h-Table1 FOR TABLE "Table1" NO-ERROR.
IF VALID-HANDLE(h-Table1)
...

I have put this piece of code in an *.i file, which I include as:

{incl\include_file.i}

I would like to put this include file only at certain customers' systems. This, however, would cause compilation problems at the other customers.

Is there a way to say (C-style preprocessors):

#IF <condition>
#THEN {incl\include_file.i}

If yes, what are the conditions I can use in such a preprocessor directive?

Thanks in advance


Solution

  • Yes, see the documentation.

    &if <whatever> &then
       { incl/include_file.i }
    &endif
    

    Are you deploying source code to your customers' systems? If not, then a preprocessor will not help you since it is evaluated as part of the compile statement. You can see the results of preprocessing when you compile a file with the preprocess option, the result is your source code with all preprocessors evaluated.