parametersopenedgeprogress-4gl

Using preprocessor variable as include file parameter in Progress


I'm trying to use SCOPED-DEFINE or GLOBAL-DEFINE preprocessor variable as named input parameter to my .i file.

myprocedure.p:

&GLOBAL-DEFINE MYDATATYPE INTEGER

{myinclude.i &DATATYPE={&MYDATATYPE} }

myinclude.i:

DEF VAR data AS &DATATYPE NO-UNDO.

Does Progress support this type of functionality? I'd also like to be able to "forward" include parameters to another include file inside that include.


Solution

  • Sure.

    myprocedure.p:

    &GLOBAL-DEFINE MYDATATYPE INTEGER
    
    {Training/PP/myinclude.i &DATATYPE={&MYDATATYPE}}
    

    or

    &GLOBAL-DEFINE MYDATATYPE INTEGER
    
    {Training/PP/myinclude.i &DATATYPE="{&MYDATATYPE}"}
    

    and myinclude.i:

    DEF VAR data AS {&DATATYPE} NO-UNDO.
    

    You were missing the curly braces in the include file.