Change: Declare error if not within a method (it used to create globals.
#IFDEF NUM_ARGUMENTS
#IF (!0>0)
#IFDEF SUPPORT$ADDRESS
#CHECK !1 '"STRING""NUMBER""DATE""INTEGER""REAL""ADDRESS"'
#ELSE
#CHECK !1 '"STRING""NUMBER""DATE""INTEGER""REAL"'
#ENDIF
#CHECK !2 RT
#IF (!Zg = 0)
//!A [] LOCAL$ARGUMENT |CI0 // Create the command to save the local count,
!A [] $0456 |CI0
#FREF OBJ$!Za$LNUM !a // and tell flex to update it later.
#ENDIF
#IFSAME !1 STRING
#REPLACE !2 |SS!ZG
#ELSE
#IFSAME !1 NUMBER
#REPLACE !2 |SN!ZG
#ELSE
#IFSAME !1 DATE
#REPLACE !2 |SD!ZG
#ELSE
#IFSAME !1 INTEGER
#REPLACE !2 |SI!ZG
#ELSE
#IFDEF SUPPORT$ADDRESS
#IFSAME !1 REAL
#REPLACE !2 |SR!ZG
#ELSE
#IFSAME !1 ADDRESS
#REPLACE !2 |SX!ZG
#ENDIF
#ENDIF
#ELSE
#IFSAME !1 REAL
#REPLACE !2 |SR!ZG
#ENDIF
#ENDIF
#ENDIF
#ENDIF
#ENDIF
#ENDIF
#IF (!0>2)
LOCAL !1 !3 !4 !5 !6 !7 !8 !9
#ENDIF
#ENDIF
#ELSE
#ERROR 300 LOCAL Variables can only be defined within methods
#ENDIF