MUNDOSAP

Regresar   MUNDOSAP > DESARROLLO > Programación ABAP IV
Nombre de Usuario
Contraseña
Home Descargas Registrar FAQ Miembros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




 
Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Viejo 02/12/08, 12:15:30
goyleo goyleo is offline
Senior Member
 
Fecha de Ingreso: sep 2007
Mensajes: 102
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!!!!
Responder Con Cita
  #2  
Viejo 02/12/08, 12:54:57
Avatar de mysmb2
mysmb2 mysmb2 is offline
Senior Member
 
Fecha de Ingreso: ene 2007
Localización: Cordoba
Mensajes: 406
hola, porque no probas con un modify
te agrega un registro a la tabla de diccionario si no existe
Responder Con Cita
  #3  
Viejo 02/12/08, 13:06:10
chivi82 chivi82 is offline
Member
 
Fecha de Ingreso: mar 2006
Mensajes: 64
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.
Responder Con Cita
  #4  
Viejo 02/12/08, 13:48:30
Avatar de DavidXD_XD
DavidXD_XD DavidXD_XD is offline
Moderator
 
Fecha de Ingreso: ago 2006
Localización: Lima - Perú
Mensajes: 1,251
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.
__________________
David Carballido Córdova
Responder Con Cita
  #5  
Viejo 02/12/08, 14:50:28
goyleo goyleo is offline
Senior Member
 
Fecha de Ingreso: sep 2007
Mensajes: 102
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???
Responder Con Cita
  #6  
Viejo 02/12/08, 14:52:57
Avatar de DavidXD_XD
DavidXD_XD DavidXD_XD is offline
Moderator
 
Fecha de Ingreso: ago 2006
Localización: Lima - Perú
Mensajes: 1,251
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.
__________________
David Carballido Córdova
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Reglas de Mensajes
no puedes crear nuevos temas
no puedes responder temas
no puedes adjuntar archivos
no puedes editar tus mensajes

El código vB está On
Las caritas están On
Código [IMG] está On
Código HTML está Off
Saltar a Foro


Husos Horarios son GMT. La hora en este momento es 21:46:19.


www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web