Sounds like you need a Trigger. A Trigger will "fire" when a new row is inserted into the table (and/or when a row is Updated or Deleted - you can choose which events fire your trigger, or write separate triggers for some / all of the events).
Beware that your trigger must be able to handle multiple rows - I mention this because its a common misconception that the Trigger will fire for EACH row - it doesn't, sorry about that! Even if your system only ever creates new products one row at a time your trigger must still allow for the eventuality that multiple products are created, at some point in the future, in a single INSERT statement (even if the trigger action is just to Abort! if the rowcount > 1 )
You could use a Stored Procedure instead, but then every insert, wherever it might "come from", will have to be routed through that SProc. if you need to bulk insert lots of rows then an Sproc which can only handle one row at a time will be very inefficient, and might limit choices in the future. For example, even if at the moment you have a data entry form and someone fills that in to create new products, one-by-one, in the future you might have some other system which sends "new product requests" in batches, or you might want to build an "import from Excel" tool etc.
With relational databases you really (as in really REALLY!) want to try to avoid Loops, and instead process data by Sets - i.e. a single statement, such as INSERT, that applies to all rows in the set, rather than looping round and processing them row-by-agonising-row.
I think? that Adaptive Server Anywhere is a Sybase product? This forum is specifically for Microsoft SQL Server (which started out life as a Sybase product which Microsoft licensed ... but that was decades ago ...) so you might not find folk here who know much about other flavours of SQL.