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 27/11/08, 17:56:46
jk_hunter jk_hunter is offline
Junior Member
 
Fecha de Ingreso: nov 2008
Mensajes: 4
Insertar datos desde una tabla interna a una tabla Z

hola a todos... llevo aproximadamente un mes aprendiendo ABAP y ahora tengo una pequeña duda...

como se hace para insertar datos desde una tabla interna a una tabla Z?

espero me puedan ayudarm de antemano muchas gracias

saludos
Responder Con Cita
  #2  
Viejo 27/11/08, 19:03:55
Avatar de DavidXD_XD
DavidXD_XD DavidXD_XD is offline
Moderator
 
Fecha de Ingreso: ago 2006
Localización: Lima - Perú
Mensajes: 1,251
Hola ... puedes hacerlo de la siguiente manera:


PD: Deben tener los mismos campos incluido si es que tiene un campo mandante, el campo mandante se llena por default con la sentencia INSERT, MODIFY, DELETE, etc. No es necesario llenar ese campo
__________________
David Carballido Córdova
Responder Con Cita
  #3  
Viejo 27/11/08, 23:23:10
Avatar de Rodolfo Montiel Rivera
Rodolfo Montiel Rivera Rodolfo Montiel Rivera is offline
Member
 
Fecha de Ingreso: oct 2007
Mensajes: 92
Thumbs up

Saludos complementando a David deberias de agregar un

Commit Work ó en su defecto mandar ejecutar la BAPI_TRANSACTION_COMMIT y esto para que hagan efecto los cambios a tu tabla Z despues de tu INSERT o MODIFY

algo asi

MODIFY z_tablatransparente.

COMMIT WORK.
__________________
01010000
01001010
10011000
10100001

De Byte a Beat.
Responder Con Cita
  #4  
Viejo 28/11/08, 12:37:35
jk_hunter jk_hunter is offline
Junior Member
 
Fecha de Ingreso: nov 2008
Mensajes: 4
muchas gracias,

les comentare cuando lo tenga listo...

saludos
Responder Con Cita
  #5  
Viejo 28/11/08, 18:59:02
Avatar de DavidXD_XD
DavidXD_XD DavidXD_XD is offline
Moderator
 
Fecha de Ingreso: ago 2006
Localización: Lima - Perú
Mensajes: 1,251
Hola Rodolfo, bueno personalmente no utilizo los COMMIT a menos que sea un caso super extremo, te comento la razon ...

Supongamos que en la linea 10 de tu programa realizas un COMMIT y en la 9 la insercion de datos a una tabla Z, pero en la linea 12 por curiosidades de la vida tu programa se cae, entonces debido al COMMIT has realizado una grabacion pero el programa esta incompleto ...

Para eso SAP siempre realiza un COMMIT por default despues de cada programa ejecutable, si o si habra un COMMIT pero depende de los casos utilizarlos ... un saludo para todos !
__________________
David Carballido Córdova
Responder Con Cita
  #6  
Viejo 04/10/09, 15:11:32
gabriela_soria gabriela_soria is offline
Junior Member
 
Fecha de Ingreso: mar 2009
Mensajes: 12
Hola David.

Que ocurre, si haces el insert, y tienes ya algun registro que habia sido insertado antes? a mi me da un dump. Cómo lo resuelves?

Saludos!

gabriela.
__________________
***********************
Gabriela Soria
Consultora ABAP
Email:
Responder Con Cita
  #7  
Viejo 05/10/09, 12:59:58
Avatar de mysmb2
mysmb2 mysmb2 is offline
Senior Member
 
Fecha de Ingreso: ene 2007
Localización: Cordoba
Mensajes: 406
hola gabriela
es logico que te tire dump al ser un registro con clave duplicada, podrias primero verificar con un SELECT SINGLE si existe el registro antes de intentar realizar el INSERT. Otra alternativa es que uses el MODIFY en vez del insert(si el registro existe lo pisa y si no existe crea uno nuevo)
saludos.
Responder Con Cita
  #8  
Viejo 07/10/09, 01:03:41
Avatar de DavidXD_XD
DavidXD_XD DavidXD_XD is offline
Moderator
 
Fecha de Ingreso: ago 2006
Localización: Lima - Perú
Mensajes: 1,251
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
__________________
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 15:51:02.


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