MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   Problemas con Mantenimiento (Insert,Update,Delete) (foro/showthread.php?t=71656)

BluehScouth 16/05/14 17:28:05

Problemas con Mantenimiento (Insert,Update,Delete)
 
Buenos Dias:

Estoy haciendo un codigo de prueba ya que llevo pocos dias programando en Abap estoy armando un pequeño mantenimiento utilizo el siguiente codigo pero no realiza ningun cambio en la BD.

Adicionalmente quiero agregarle un combobox para definir los estados de un empleado Activo/Inactivo, Capturar el Valor y tambien sean parte del mantenimiento.


REPORT Z_PROGRAMA_PRUEBA.

TABLES: sscrfields.
TABLES ZTABLA_PRUEBA.

SELECTION-SCREEN PUSHBUTTON 2(10) but1 USER-COMMAND usr1.
SELECTION-SCREEN PUSHBUTTON 20(10) but2 USER-COMMAND usr2.
SELECTION-SCREEN PUSHBUTTON 38(10) but3 USER-COMMAND usr3.
data wa_empleados like ztabla_prueba.
parameters Codigo like ztabla_prueba-cod_empl.
parameters Nombre like ztabla_prueba-nomb_ape.



ZTABLA_PRUEBA-COD_EMPL = Codigo.
ZTABLA_PRUEBA-NOMB_APE = Nombre.

INITIALIZATION.
but1 = 'Insertar'.
but2 = 'Actualizar'.
but3 = 'Eliminar'.

AT SELECTION-SCREEN.
CASE sscrfields.
WHEN 'USR1'.
INSERT INTO ZTABLA_PRUEBA VALUES ZTABLA_PRUEBA.
MESSAGE 'Datos Insertados' TYPE 'S'.
WHEN 'USR2'.
UPDATE ZTABLA_PRUEBA SET NOMB_APE = Nombre Where Cod_empl = Codigo.
MESSAGE 'Datos Actualizados' TYPE 'S'.
WHEN 'USR3'.
DELETE FROM ZTABLA_PRUEBA Where Cod_empl = Codigo.
MESSAGE 'Datos Eliminados' TYPE 'S'.
ENDCASE.



Saludos!

Spainnavar 19/05/14 09:06:48

Campos clave
 
Hola,

Nos puedes mostrar que campos tiene tu tabla y cuales de ellos son clave? Puede ser que esté ahi el mal funcionamiento...

Un saludo!

asclevius 19/05/14 13:24:05

Compadre, cuando haces operaciones en la BD de SAP para que tus acciones se hagan efectivas, debes terminar con "COMMIT WORK" o "ROLLBACK WORK" donde commit es que se realicen las acciones de manera permanente o el rollback es que se devuelvan.

Sin estas instrucciones, la BD no hace efectivas las acciones.

(Insert, Delete, update......modify.....)

Espero que te sea de utilidad

Ripper87 19/05/14 15:52:02


Hola, al final de la ejecución de un Report hay un COMMIT implicito, asi que no es necesario colocarlo en la mayoría de los casos. Puedes colocarlos para probar de todas formas.

Yo le diría al amigo que revisara por debug cual es el valor del sy-subrc luego de cada INSERT, DELETE, UPDATE etc... a ver que valor devuelve...


Husos Horarios son GMT. La hora en este momento es 13:24:45.

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