✒️ABAP Las sentencias INSERT, UPDATE, MODIFY y DELETE
ABAP Las sentencias INSERT, UPDATE, MODIFY y DELETE
INSERT
la sentencia INSERT permite introducir nuevos registros a una base de datos.
CLEAR wa_usuarios
wa_usuarios-mand = sy-mandt.
wa_usuarios-dni = '2178272'.
wa_usuarios-nombre_ape = 'Juan Perez'.
wa_usuarios-estado_usu = 'A'.
INSERT into ztabla_usuarios values wa_usuarios
Siempre después de un INSERT se debe preguntar por el SY-SUBRC
Si es 0 el registro se insertó correctamente. De lo contrario, hubo error y no se insertó.
Para insertar todos los registros de una tabla interna, a una base de datos hacemos:
INSERT ztabla_usuarios FROM TABLE ti_usuarios.
Si existe algún registro en la base de datos, con la misma clave que un registro en la tabla se producirá un error. (SY-SUBRC distinto de cero).
UPDATE -
Permite actualizar el contenido de uno o varios registros de una tabla de base de datos.
CLEAR wa_usuarios
wa_usuarios-mand = sy-mandt.
wa_usuarios-dni = '2178272'.
wa_usuarios-nombre_ape = 'Juan Perez'.
wa_usuarios-estado_usu = 'I'.
UPDATE ztabla_usuarios FROM wa_usuarios.
Siempre después de un UPDATE se debe preguntar por el SY-SUBRC
Si es 0 el registro se insertó correctamente. De lo contrario, hubo error y no se insertó.
Para actualizar los registros de la tabla que cumplan con determinada condicion, usamos:
UPDATE ztabla_usuarios SET nombre_ape = 'Ezequiel Fernandez'
WHERE dni = '23547299'.
Al usar la sentencia UPDATE es importante ingresar la clave de la tabla, ya que si no puede demorarse mucho tiempo la actualización.
Para actualizar todos los registros de la tabla, a partir del contenido de una tabla interna usamos:
UPDATE ztabla_usuarios FROM TABLE ti_usuarios.
MODIFY
La sentencia MODIFY permite modificar el contenido de uno o varios registros de una tabla base de datos.
CLEAR wa_usuarios
wa_usuarios-mand = sy-mandt.
wa_usuarios-dni = '21552272'.
wa_usuarios-nombre_ape = 'Juan sanchez'.
wa_usuarios-estado_usu = 'N'.
MODIFY ztabla_usuarios FROM wa_usuarios.
Siempre después de un MODIFY se debe preguntar por el SY-SUBRC
Si es 0 el registro se insertó correctamente. De lo contrario, hubo error y no se modificó.
Para modificar todos los registros de la tabla usuario, desde el contenido de una tabla interna:
MODIFY ztabla_usuarios FROM TABLE ti_usuarios.
Si el registro que intenta modificar, no existe en la tabla, este se creará.
Al momento de impactar sobre una tabla base de datos, no es necesario especificar el mandante. Siempre se procesará el mandante en uso.
Para controlar el mandante usamos CLIENT SPECIFY, es decir si queremos modificar o actualizar datos de una mandante diferente a la que estamos usando.
MODIFY
La sentencia MODIFY permite modificar el contenido de uno o varios registros de una tabla base de datos.
CLEAR wa_usuarios
wa_usuarios-mand = sy-mandt.
wa_usuarios-dni = '21552272'.
wa_usuarios-nombre_ape = 'Juan sanchez'.
wa_usuarios-estado_usu = 'N'.
MODIFY ztabla_usuarios FROM wa_usuarios.
Siempre después de un MODIFY se debe preguntar por el SY-SUBRC
Si es 0 el registro se insertó correctamente. De lo contrario, hubo error y no se modificó.
Para modificar todos los registros de la tabla usuario, desde el contenido de una tabla interna:
MODIFY ztabla_usuarios FROM TABLE ti_usuarios.
Si el registro que intenta modificar, no existe en la tabla, este se creará.
Al momento de impactar sobre una tabla base de datos, no es necesario especificar el mandante. Siempre se procesará el mandante en uso.
Para controlar el mandante usamos CLIENT SPECIFY, es decir si queremos modificar o actualizar datos de una mandante diferente a la que estamos usando.
DELETE
La sentencia DELETE permite borrar el contenido de uno o varios registros de una tabla base de datos.
CLEAR wa_usuarios
wa_usuarios-mand = sy-mandt.
wa_usuarios-dni = '21552272'.
wa_usuarios-nombre_ape = 'Juan sanchez'.
wa_usuarios-estado_usu = 'N'.
DELETE ztabla_usuarios FROM wa_usuarios.
Siempre después de un DELETE se debe preguntar por el SY-SUBRC. Si es 0 el registro se insertó correctamente. De lo contrario, hubo error y no se borró.
La cantidad de registos borrados se guarda en SY-DBCNT
Para borrar los registros de la tabla, que cumplan una condición, usamos:
DELETE FROM ztabla_usuarios WHERE dni = '23889920'.
Para borrar todos los registros usamos:
DELETE ztabla_usuarios FROM TABLE ti_usuarios.
Tener en cuenta que las instrucciones, deben ser usadas lo menor posible. SIempre se debe intentar realizar lo anterior mediante las transacciones de SAP.
 
 
 
Sobre el autor
Publicación académica de Jair Sneider Reyes Zabala, en su ámbito de estudios para la Carrera Consultor ABAP.
Jair Sneider Reyes Zabala
Profesión: Tecnólogo en Análisis y Desarrollo de Sistemas de Información. - Colombia - Legajo: HS34M
✒️Autor de: 54 Publicaciones Académicas
🎓Egresado del módulo:
Disponibilidad Laboral: FullTime
Presentación:
Tecnólogo bilingue en análisis y desarrollo de sistemas, actualmente analista de mesa de ayuda semisenior, conocimiento básico de sap basis; actuamente en formación como programador sap abap.
Certificación Académica de Jair Reyes