First of all there is a very simple way to activate change history for database tables in SAP, including your own custom z tables. Within transaction SE11 simply go to menu option 'Technical Settings' and check the 'Log data changes' checkbox for your desired database table which will therefore instruct SAP to start recording all changes for this table. But before this will work you need to ensure that the rec/client parameter is set to the appropriate entry from.
Set Rec/Client parameter to activate the log data changes via RZ11
Here are the available options for the rec/client parameter with the default being 'OFF'.
logging is turned off for all tables
logging is turned on for all tables
Specific client i.e. 500,100...
logging is turned on for specific clients. Cross-client tables are logged in all clients.
Steps to set the profile parameter rec/client for table logging
Call transaction RZ11.
Execute transaction RZ11 and enter 'rec/client' as the parameter that you want to change
View Rec/Client parameter value
Now press the display button to see what the current value is. As you can see from this image the current value is set to 800 so it will only record change logs on SAP client 800
Change Rec/Client parameter value and save
Now to change a parameter value you would need to use the menu option Edit->Change Value if available!!!
Unfortunately this is not available for this parameter as it is not dynamically changeable, which basically means you can't change it on the fly without restating the system. To change the value of the rec/client parameter you need to add/change it via a parameter profile using RZ10
...having said that at this point I will point out that it should really be the role of the basis team to change this value so at least get them involved and discuses any performance implications your requirement may have on the overall SAP landscape .