Hooks for Repeatable Attributes

When an attribute implementation having dimensions is used in a hook, the interface for the method hooks (before/on/after get/set) will be different. The differences are comparable to attribute hooks.

Example of a before execute hook:

	if not i.code.isSet(1) or not i.code.isSet(2) then
		io.cancel = true
	endif
	return(0) | OK

Example of an on execute method hook:

	#pragma used dll oppmmmdll0001
	return( ppmmmdll0001.calculate.quantites.and.add.notes(i.item, i.item.isSet, 
									i.description(1,1), i.description.isSet(1),
									i.description(1,2), i.description.isSet(2),
									io.quantity(1), io.quantity.isSet(1),
									io.quantity(2), io.quantity.isSet(2),
									o.note(1,1), io.note.isSet(1),
									o.note(1,2), io.note.isSet(2)) )