Clave duplicada en INSERT
como utilizo la exepcion en el insert ITAB_DUPLICATE_KEY ????
se aplica por medio de TRY ????? Si alguien tiene un ejemplo me ayudaria mucho!!!! :D |
hola, porque no probas con un modify
te agrega un registro a la tabla de diccionario si no existe |
Tratamiento de excepciones
Hola, te pongo un ejemplo de como capturar excepciones:
TRY. SELECT matnr charg ingew sitbu bulid FROM z40bupa INTO TABLE g_it_z40bupa WHERE matnr IN s_matnr AND charg IN s_charg AND sitbu IN s_sitbu AND werks IN s_werks AND ersda IN s_ersda. CATCH cx_sy_open_sql_db. MESSAGE i098(z40pp) WITH 'Select con demasiados registros'. EXIT. ENDTRY. |
Si necesitas un Log ... podrias usar un LOOP y dentro de el un INSERT
LOOP AT itab ASSIGNING <fs>. INSERT ztabla FROM <fs>. * Verificando que la entrada existe IF sy-subrc NE 0. (Llenar una tabla interna para un Log) ENDIF. ENDLOOP. Cuando realizar un INSERT a partir de una estructura no arroja ninguna excepcion, el problema es cuando lo haces a partir de una tabla interna INSERT ztabla FROM TABLE itab. |
DavidXD_XD en este caso que me envias si hay registros duplicados en la tabla arrojaria DUMP o estoy equivocado? por lo que vi en la ayuda de sap para el insert, me parecio que existe una manera de manejar una ecepcion ITAB_DUPLICATE_KEY ???? es correcto esto??? :confused:
|
No del todo .... como lo habia mencionado, cuando realizas un INSERT usando solo un registro, el resultado dependera del sy-subrc, pero si realizas un INSERT a partir de una tabla interna si arroja un DUMP, la razon es porque dentro de la tabla interna no hay como comunicar que registros han pasado y q otros no, como no se puede controlar SAP solo arroja la excepcion q termina en DUMP, para esos casos es mejor el MODIFY ztabla FROM TABLE itab.
|
Husos Horarios son GMT. La hora en este momento es 13:47:14. |
www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web