✒️ABAP Las sentencias INSERT, UPDATE, MODIFY y DELETE
ABAP Las sentencias INSERT, UPDATE, MODIFY y DELETE
Lección 7/9: Insert Update Modify Delete y actualización y recuperación de la BD
1.Sentencia INSERT
Permite introducir nuevos registros a una nueva base de datos, ejemplo introducir nuevo registro en la tabla ZTABLA_USUARIOS
* Insertar 1 registro en ztabla_usuarios
CLEAR wa_usuarios.
wa_usuarios-mandt = sy-mandt.
wa_usuarios-dni = '21727679'.
wa_usuarios-nombre-ape = 'Juan Graco'.
wa_usuarios-estado_usu = 'A'.
INSERT INTO ztabla_usuarios VALUES wa_usuarios.
NOTA: Siempre después de un INSERT se debe preguntar por el SY-SUBRC. si es cero, el registro se inserto de forma correcta, caso contrario, se produjo un error y el registro no se insertó.
Ejemplo para insertar todos los registros de una tabla interna.
*Inserta en la ZTABLA_USUARIOS el contenido de TI_USUARIOS
INSERT ztabla_usuarios FROM TABLE ti_usuarios.
NOTA si existiera algún registro en la base de datos con igual clave que un registro en la tabla interna se producirá un error (SY-SUBRC distinto de cero)
2. Sentencia UPDATE
Permite actualizar el contenido de uno o varios registros de una tabla de base de datos. Por ejemplo, si quisiéramos actualizar un registro de una tabla base de datos se realiza dela siguiente forma:
*Actualiza un registro de la tabla ZTABLA_USUARIOS
CLEAR wa_usuarios.
wa_usuarios-mandt = sy-mandt.
wa_usuarios-dni = '21727679'.
wa_usuarios-nombre_ape = 'Juan Graco'.
wa_usuarios-estado_usu = 'I'.
UPDATE ztabla_usuarios FROM wa_usuarios.
NOTA: siempre después de un update se debe preguntar por el SY_SUBRC. Si es cero, el registro se actualizo correctamente, caso contrario, se produjo un error y el registro no se actualizo.
Para actualizar registros de la tabla ZTABLA_USUARIOS y que cumplan determinada condición, se realiza de la siguiente manera:
*Actualiza el nombre y apellido del usuario con Dni 23547312
UPDATE ztabla_usuarios SET nombre_ape = 'Ezequiel Fernandez'
WHERE dni = '23547312'.
Para actualizar todos los registros de la tabla ZTABLA_USUARIOS a partir del contenido de una tabla interna haríamos los siguiente:
*Actualiza ZTABLA_USUARIOS con la tabla interna TI_USUARIOS
UPDATE ztabla_usuarios FROM TABLE ti_usuarios.
3. Sentencia MODIFY
Permite modificar el contenido de uno o varios registros de una tabla base de
datos. Por ejemplo para modificar un registro de una tabla en la BD se lo realiza asi:
*Modifica un registro en ZTABLA_USUARIOS
CLEAR wa_usuarios.
wa_usuarios-mandt = sy-mandt.
wa_usuarios-nombre_ape = '21727679'.
wa_usuarios-estado_usu = 'N'.
MODIFY ztabla_usuarios FROM wa_usuarios.
NOTA: Despues de un MODIFY se debe preguntar por el SY-SUBRC. si es cero el registro se modifico correctamente caso contrario se produjo un error y el registro no se modifico.
Para modificar TODOS los registros de la tabla ZTABLA_USUARIOS a partir del contenido de una tabla interna de realiza así:
Ejemplo:
*Modifica los registros de ZTABLA_USUARIOS con TI_USUARIOS
MODIFY ztabla_usuarios FROM TABLE ti_usuarios.
NOTA: Si el registro que se intenta modificar, no existiera en la tabla este se creara.
4. La sentencia DELETE
Permite borrar el contenido de uno o varios registros de una tabla base de datos. Por ejemplo, si quisiéramos borrar un registro.
*Borra un registro dela tabla ZTABLA_USUARIOS
CLEAR wa_usuarios.
wa_usuarios-mandt = sy-mandt.
wa_usuarios-dni = '21727679'.
wa_usuarios-nombre_ape = 'Juan Graco'.
wa_usuarios-estado_usu = 'N'.
DELETE ztabla_usuarios FROM wa_usuarios.
NOTA: Después de un DELETE se debe preguntar por el SY-SUBRC. Si es cero, el registro se borro correctamente, caso contrario, se produjo un error y el registro no se borro.
La cantidad de registros borrados se guarda en SY-DBCNT.
Para borrar registros de la tabla ZTABLA_USUARIOS que cumplan una determinada condición, se hace lo siguiente:
*Borra de ZTABLA_USUARIOS el registro con dni = '23547312'
DELETE FROM ztabla_usuarios WHERE dni = '23547312'.
Para borrar todos los registros de la tabla ZTABLA_USUARIOS a partir del contenido de una tabla interna se realiza de la siguiente manera:
*Borra ZTABLA_USUARIOS con la tabla interna TI_USUARIOS
DELETE ztabla_usuarios FROM TABLE ti_usuarios.
 
 
 
Sobre el autor
Publicación académica de Ruben Santiago Cuenca Balanza, en su ámbito de estudios para la Carrera Consultor ABAP.
Ruben Santiago Cuenca Balanza
Argentina - Legajo: RU45V
✒️Autor de: 67 Publicaciones Académicas
🎓Egresado del módulo:
Disponibilidad Laboral: FullTime
Presentación:
Me presento como una persona activa, responsable, creativa, flexible, orientada al logro de resultados en el trabajo que se me asigne.
Certificación Académica de Ruben Cuenca