Der Execute muss auf dem Connection-Object erfolgen, da er ja direkt ausgeführt wird.
Als Command-Objekt gilt folgendes:

with cmd400
strSQL2 = "ADDLIBLE LIB(lib2)"
.Commandtext = "{{CALL QSYS.QCMDEX('" & strSQL2 & "'," & Format$(Len(strSQL2), "0000000000.00000") & ")}}"
.execute
end with

Der Execute eines Command führt Commandtext aus !
Der Execute eines Connection führt den Argument-Text direkt aus !

Überprüfe doch im Job, ob die Lib hinzugefügt wurde.
Gibt es einen Fehler ?

Warum kann das Triggerprogramm das nicht selber machen ?