You don't need a script all you need is a calculation and would make it non stored calculation so it will update automatically. I assume your Create Date Field is of type date and your service frequency field is of type number.
Your calculation would be
PM::CreateDate+Equipment::ServiceFrequency and return results as type date. Click on Storage Options then click do not store recalculate as needed.
Sorry, I did not give you enough information. The reason I need a script is because there are actually 4 different PM tables that each will have a button to update the Equipment table. I have written several different script versions but none of them will calculate the date correctly. I have used set veritable & set field commands but no changes occur in the Equipment::Due Date field and I have also used the replace field content command and it does change the date but it is the wrong date.
A script would not be the proper way to do this. With a script you would have to loop thru all your records, which would make your database extremely slow. A calculation field would be the best / fastest method to handle this type calculation. The number of tables would not matter, because the equipment table would have to be related to each pm table and then you could use a case statement in your calculation to determine which table to use or this could be limited by the relationships itself.
Since this date calculation does not refer to Get ( CurrentDate ) it does not have to be an unstored calculation.