Ver Mensaje Individual
  #2  
Viejo 29/10/09, 11:09:42
miko-lynn miko-lynn is offline
Junior Member
 
Fecha de Ingreso: abr 2007
Mensajes: 21
en la pantalla de creación de la dynpro, en la pestaña lista elementos, en la lista que sale, hay una que pone tipo, busca el elemento que tiene valor = OK
y seguramente su nombre está en blanco. en nombre pon = OK_CODE.

el evento lógica de proceso de la dynpro pon:

PROCESS BEFORE OUTPUT.
MODULE STATUS_TuNumeroDeDynpro.

*

PROCESS AFTER INPUT.
MODULE USERCOMMAND_TuNumeroDeDynpro.
"aqui llamaremos al PAI.


En el USERCOMMAND, pon:




module USER_COMMAND_TuNumeroDeDynpro input.
OK_CODE = sy-ucomm. "aqui es donde le das valor al ok_code

CASE ok_code. "aquí es donde chequeas el ok_code.
WHEN 'BACK'.
LEAVE PROGRAM.
WHEN 'EXIT'.
LEAVE PROGRAM.
WHEN 'CANC'.
LEAVE PROGRAM.
WHEN 'CLR'.
perform mirutina_clear.
WHEN 'BACK'.
perform mirutina_back.
WHEN 'NEXT'.
perform mirutina_next.
WHEN 'ONLY'.
perform mirutina_only.
WHEN OTHERS.
perform mirutina_others.

ENDCASE.
endmodule.



fijate que el sy-ucomm, no solo recoge el valor del botón o evento que hayamos ejecutado, SAP también le puede dar o quitar valor.
Si haces esto, antes de salir "fisicamente" de la dynpro, le traspasas el valor del sy-ucomm al ok_code y en función de uno u otro valor, ejecutas un perform u otro, y mientras no borres o cambies el valor de este ok_code, permanecera tal cual.

Espero haberte ayudado!
Responder Con Cita