PDA

Ver la Versión Completa : Borrar campo al copiar en una dynpro


nachin86
14/06/12, 14:53:43
Buenas tardes, a ver si me echáis un cable con una cosilla.

Tengo una vista que la visualizo mediante la sm30. Esta vista muestra en cada entrada de la misma entre otras muchas cosas un par de campos de fecha, FECHA_INI y FECHA_FIN. Lo que tengo que hacer es cada vez que seleccione una entrada de esta vista y le dé al botón copiar me copie la nueva entrada pero sin las fechas, es decir, la nueva entrada debe ser igual que el origen pero con los campos de fecha vacíos.

Investigando llegué a la conclusión de esto:

MODULE BORRA_FECHAS OUTPUT.
loop at EXTRACT.
IF sy-ucomm = 'KOPE'.
"Aquí hay que borrar las fechasssssssssssssss
ENDIF.
endloop.
ENDMODULE.

A este módulo lo llama en el momento que le doy al botón copiar. El código sy-ucomm 'KOPE' es el que me identifica que le dí al de copiar.

Mi problema es que no sé que poner dentro de ese IF para acceder a esos campos para borrar ya que esa "tabla" EXTRACT (ya sé que no es una tabla) es algo que crea en ese momento de extraer los valores a copiar con los valores que correspondan pero no puedo acceder a ciertos campos... Debugueando si que entro a la "tabla", a los campos concretos y los borro y funciona, pero no sé hacerlo por código :(

Una ayuda plis!! Os lo agradecería!

romyggar
29/06/12, 21:32:44
Amigo nachin86

Lo que quieres hacer es sencillo, si ya lo hiciste en el modo debugger, en código es lo mismo. La estructura se llama EXTRACT, digamos que los campos de fecha son FECHA1 y FECHA2, además de los muchos otros que pueda tener. Si estos 2 campos NO son una llave, se pueden dejar vacíos, ¿y como se hace esto?

Dentro del loop que pusiste, dentro de la condición IF, deberías hacer esto:

Clear: EXTRACT-FECHA1, EXTRACT-FECHA2.
Modify EXTRACT.

prueba a ver si te sirve, pero debes estar seguro que esa es la estructura que tiene los datos que se van a guardar en la tabla de base de datos.

Me cuentas a ver si te sirve.

Salu2