Hola Gaby ... como nos comenta mysmb2 es por duplicado de llaves, pero si realizas un INSERT con un solo registro con la siguiente sentencia
INSERT ztabla FROM gs_itab.
T podras dar cuenta que no arroja un DUMP pero el sy-subrc nos dara 4, si insertamos un grupo de registros con la sentencia
INSERT ztabla FROM TABLE gt_itab.
Ese si nos dara un DUMP, para ese caso se puede utilizar un CATCH para agarrar la excepcion, y la forma mas sencilla como tbm nos comento mysmb2 es usando el MODIFY, ya q ese es una sentencia propia de SAP que nos permite insertar datos si no existen y modificar datos cuando el dato existe