One thing that can make the API confusing is its inconsistencies. Take for example the task of referencing the constituent object’s system id from another data object. The constituent system ID is used uniformally throughout to connect a constituent to its child objects such as, gifts, actions, aliases, solicit codes, etc. The naming convention however is not uniform. The objects have fields which are referenced in the following format:
OBJECTNAME_fld_FIELDNAME
so that an action references the constituent that is tied to it by the following:
oAction.Fields(ACTION_fld_RECORDS_ID)