Globalizing it would be more prudent if your apps will need to have access to the same data from different modules.
If, however, you plan on using the data in only one module, you should make it 'locally' global
See & test the following example for yourself. It may help you get a better grasp on your delima.
TYPE Person
IsMale AS INTEGER
FirstName AS STRING * 20
END TYPE
DIM Human AS Person
DECLARE SUB EnterMe (WholeThing AS Person)
DECLARE SUB CheckMe (WholeThing AS Person)
EnterMe Human
CheckMe Human
END
SUB CheckMe (WholeThing AS Person)
PRINT
PRINT "++++++++++++++ In CheckMe sub now +++++++++++++"
PRINT
PRINT "The name "; WholeThing.FirstName
IF WholeThing.IsMale THEN
PRINT "This is a MALE"
ELSE
PRINT "This is a FEMALE"
END IF
PRINT
END SUB
SUB EnterMe (WholeThing AS Person)
CLS
PRINT "++++++++++++++ In EnterMe sub now +++++++++++++"
PRINT
INPUT "First Name: "; WholeThing.FirstName
INPUT "Is this Man: (1=y,0=n) "; WholeThing.IsMale
END SUB
If you plan on sharing this data across other modules you create later on, then use ALT255's suggestion. --MiggyD
Never be afraid to try something new. Remember that amateurs built the Ark. Professionals built the Titanic.