3GL Program Rules and Guidelines

The following rules and guidelines should be observed when coding User Defined Built-In Functions:

s is the prefix for X_SHORT

l is the prefix for X_LONG

d is the prefix for X_DOUBLE

c is the prefix for X_CHAR

vch is the prefix for X_VCHAR

p is the prefix for a pointer

a is the prefix for an array


Prefixes can accumulate, so "apsOperation" indicates that nominal variable "Operation" is an array of pointers to X_SHORTs.

Similarly pvchName indicates that this is a pointer to an X_VCHAR variable that contains a "Name".


struct X_IDS *pX_Ids,


struct X_PRO *pX_Pro,


struct X_FUN *pX_Fun,


struct X_BIF *pX_Bif,


struct X_FLD X_Fld[],


struct X_LIST X_List[],


X_SHORT sInCount,


X_SHORT sInVec[],


X_SHORT sRetCount,


X_SHORT sRetVec[]



Modification of storage pointed to by any of these arguments, other than by U_BIF macros, may result in unpredictable results and application failure. Do not modify storage outside the direct scope of your function other than by using the U_BIF macros. Failure to observe this rule may lead to loss of integrity in your application and future compatibility problems.