Für solche Dinge eignen sich asynchrone Verfahren ganz gut.
Erstelle eine DTAQ und eine Prestart-Job, der per QRCVDTAQ wartet.
Im SQL-Trigger rufst du einen Wrapper auf, der ein Kennzeichen (Dateiname, Id, ...) in die DTAQ sendet.
Der Trigger ist dann bereits fertig.

Das Batchprogramm reagiert dann auf den QRCVDTAQ und kann nun in aller Ruhe alle Sätze bearbeiten, die fällig sind (DSG1_VERARB_KZ).
Anschließend legt es sich wieder schlafen bis zur nächsten Anforderung.
Sollte es in der DTAQ zu einem Überhang kommen (s.o. alle Sätze je RCV), passiert ja nichts da keine Daten zur Verarbeitung mehr vorliegen.

Vorteil:
Separat testbar, keine 1000de neuen Jobs die dann ggf. noch warten, ...
Bei einem anderen Projekt hatten wir einen kleinen Test mit dieser Methode gemacht.
Die eigentlich Laufzeit je Job betrug knapp 1 Sekunde, allerdings das Submitten/Starten/Beenden der Jobs lag zusätzlich bei 3-5 Sekunden. Bei ca. 100.000 Jobs/Tag eine nicht unerhebliche Einsparung.