Program-driven matchcodes (update type P) are stored physically, that is the matchcode data is stored redundantly as a separate table in the system. The matchcode data is updated by the application program itself, so that this application program and other programs always have access to current matchcode data.
To do this, a function module MC_UPDATE_<matchcode_object_name> is generated when the matchcode ID is activated. The matchcode data is updated when the application program calls this function module.
Converting a program-driven matchcode to transparent storage therefore requires that you change the application programs using this function module. This change constitutes turning the function module call into a comment line.
Adding tables to a matchcode object that contains a program-driven matchcode ID can lead to problems. Only one function module exists for all program-driven IDs of the object. This function module takes its information directly from the matchcode object. Consequently, if you change the base tables of the object, you also have to change the interface to this function module, even if the change does not directly affect the program-driven ID.