katanka3
27/10/09, 15:17:30
Hola a todos, necesito ayuda llevo pegandome toda la mañana con la navegacion de ventanas.
Todo habria ido bien si hubiera dibujado yo las pantallas en vez de usar el selection-screen.
Pues bien el problema que tengo es que no se como recuperar el sy-ucomm o el ok-code de una pantalla creada con el selection-screen. ya que cuando
Pego el codigo...
INITIALIZATION.
START-OF-SELECTION.
* Obtenemos los datos filtrados por la pantalla inicial.
IF p_dcnt IS NOT INITIAL.
CALL SELECTION-SCREEN 1002.
ok_code = sy-ucomm.
IF sy-ucomm EQ 'CBAC'.
ok_code = 'BACK'.
CLEAR sy-ucomm.
ELSEIF sy-ucomm EQ 'CEND'.
ok_code = 'UP'.
CLEAR sy-ucomm.
ELSEIF sy-ucomm EQ 'CCAN'.
ok_code = 'EXIT'.
CLEAR sy-ucomm.
ELSE.
ok_code = 'EXE'.
ENDIF.
CASE ok_code .
* Boton de lanzar los pedidos del solicitante
WHEN 'UP'.
CALL SELECTION-SCREEN 1000.
* LEAVE TO SCREEN 1000.
WHEN 'BACK'.
CALL SELECTION-SCREEN 1000.
* LEAVE TO SCREEN 1000.
WHEN 'EXIT'.
LEAVE PROGRAM.
WHEN 'EXE'.
CALL SCREEN 1003.
Y lo que pasa es que sy-ucomm nunca recoge valores y el ok_code se queda vacio.. por o que siempre llama a la 1003 pulse lo que pulse.
Necesito vuestra ayuda compañeros abaperos ya que estoy trabajando y necesitaba estaas pantallas para ayer.. y tal y como esta el mercado no quiero que me hechen del trabajo..
Gracias.:) :D
Todo habria ido bien si hubiera dibujado yo las pantallas en vez de usar el selection-screen.
Pues bien el problema que tengo es que no se como recuperar el sy-ucomm o el ok-code de una pantalla creada con el selection-screen. ya que cuando
Pego el codigo...
INITIALIZATION.
START-OF-SELECTION.
* Obtenemos los datos filtrados por la pantalla inicial.
IF p_dcnt IS NOT INITIAL.
CALL SELECTION-SCREEN 1002.
ok_code = sy-ucomm.
IF sy-ucomm EQ 'CBAC'.
ok_code = 'BACK'.
CLEAR sy-ucomm.
ELSEIF sy-ucomm EQ 'CEND'.
ok_code = 'UP'.
CLEAR sy-ucomm.
ELSEIF sy-ucomm EQ 'CCAN'.
ok_code = 'EXIT'.
CLEAR sy-ucomm.
ELSE.
ok_code = 'EXE'.
ENDIF.
CASE ok_code .
* Boton de lanzar los pedidos del solicitante
WHEN 'UP'.
CALL SELECTION-SCREEN 1000.
* LEAVE TO SCREEN 1000.
WHEN 'BACK'.
CALL SELECTION-SCREEN 1000.
* LEAVE TO SCREEN 1000.
WHEN 'EXIT'.
LEAVE PROGRAM.
WHEN 'EXE'.
CALL SCREEN 1003.
Y lo que pasa es que sy-ucomm nunca recoge valores y el ok_code se queda vacio.. por o que siempre llama a la 1003 pulse lo que pulse.
Necesito vuestra ayuda compañeros abaperos ya que estoy trabajando y necesitaba estaas pantallas para ayer.. y tal y como esta el mercado no quiero que me hechen del trabajo..
Gracias.:) :D