Saltar al contenido

ATRÁS, SALIR, CANCELAR

Un Usuario hizo la siguiente pregunta

Solicité una pantalla de un programa ejecutable con:

CALL SCREEN 100.

¿Cómo puedo continuar procesando el código restante del programa después de ejecutar la lógica de flujo en la pantalla 100? (Esto se activará con el botón EXECUTE).

¿Cuáles son los códigos para el botón ATRÁS, SALIR, CANCELAR? Si esos botones tienen las siguientes funciones:

ATRÁS: vuelve a la pantalla 100 con los detalles previamente completados. Solo acéptalo

pantalla 100 como una pantalla de selección personalizada.

SALIR: vaya a la pantalla de fácil acceso de SAP

CANCELAR: vuelve al punto donde se llamó al programa.

8 respuestas

  • Ex miembro

    Hola Hong,

    Al hacer clic en el botón EJECUTAR, puede utilizar el siguiente código para continuar con el resto del programa.

    caso sy-ucomm.

    cuando ‘EJECUTAR’.

    dejar la pantalla.

    caso final.

    Puede presionar ATRÁS, GUARDAR, CANCELAR presionando un botón en la pantalla.

    El código estaría en PAI

    caso sy-ucomm.

    cuando el ‘BACK’.

    PASANDO A LA PANTALLA 100.

    cuando ‘SALIR’.

    SALIR DEL PROGRAMA.

    Cuando ‘CANCELAR’.

    SALGA DE LA PANTALLA.

    Gracias,

    Kashyap

  • Hola Hong,

    En la sección PBO de su pantalla ‘0100’, debe tener un módulo donde debe configurar su propio PF-STATUS.

    PBO de la pantalla 0100

    estado del módulo.

    • programa principal

    estado del módulo.

    configure PF-STATUS ‘ABC’.

    endmodule.

    * Haga doble clic en “ABC” para crear su propio estado de FP. Puede asignar los códigos a los botones BACK, EXIT y CANC.

    Luego, en la sección PAI, puede escribir su lagic para manejar esos botones

    PAI parte de la pantalla 0100

    Módulo USER_COMMAN_0100.

    • programa principal

    módulo user_command_0100.

    caso sy-ucomm.

    cuando ‘‘.

    salir a la pantalla 0. “Ir a la pantalla llamada

    cuando ‘‘.

    salir a la pantalla 0. “Ir a la pantalla llamada

    cuando ‘‘.

    salga a la pantalla 0. “Vaya a la pantalla llamada

    caso final.

    endmodule.

  • Ex miembro

    puede poner botones en la pantalla de salida mientras la crea para que pueda volver al ejecutable … o activar u en la barra de herramientas de la aplicación o en la barra de menú creando el estado de pf … es posible crear los botones de otra manera y

    escriba el código PAI como,

    MÓDULO USER_COMMAND_0200 ENTRADA.

    CAJA OKCODE2. (confirme sy-ucomm como okcode2 en la lista de elementos de la pantalla … esto es opcional, también puede simularlo como sy comm)

    CUANDO VUELVAS’.

    PASANDO A LA PANTALLA 100.

    CUANDO ‘cancelar’.

    PASANDO A LA PANTALLA 300.

    ENDCASE.

    ENDMODULE. “USER_COMMAND_0200 ENTRADA

    & —-


    * & Módulo EXP INPUT

    & —-


    • texto

    —-


    MÓDULO DE ENTRADA SALIDA.

    OKCODE1 CASO.

    CUANDO ‘SALIR’.

    SALIR DEL PROGRAMA.

    FINALIZAR.

    ENDMODULE.

    estos son los códigos de cancelación y retiro.

    espero que esto ayude.

    recompensa si ayuda

  • Ex miembro

    Escribe lo siguiente. código en el comando de usuario PAI.

    cuando el ‘BACK’.

    Utilice el comando SALIR PARA PANTALLA 100.

    cuando ‘SALIR’.

    SALIR DEL PROGRAMA.

    Cuando ‘CANCELAR’.

    PUEDE PANTALLA .

    Espero que esto sea útil …

  • Ex miembro

    CLÁR xxxxxx.

    Pasa por esta esperanza que puedas encontrar.

    **********declaraciones de tabla**********

    & —-


    * & RESULTADO STATUS_1001 Módulo

    & —-


    • texto

    —-


    RESULTADO STATUS_1001 MÓDULO.

    DETALLES: COMIENZO DE IT_FCODE OCCURS 0,

    FCODE (4),

    END IT_FCODE.

    CONFIGURAR ESTADO DE PF ‘ZNPI’.

    AJUSTE PF-STATUS ‘ZNPI1’.

    CONFIGURAR TITLEBAR ‘100’.

    OBTENER ID DE PARÁMETRO CAMPO ‘TCD’ TCODEX.

    Pantano TCODEX GO TCODE.

    IMPORTACIÓN DE GRUPOS MARINOS DESDE LA ID DE MEMORIA ‘GV_GROES’.

    SI ZNPI-MATNR ES INICIATIVA.

    OBTENER ID DE PARÁMETRO CAMPO MARA-MATNR ‘MAT’.

    ZNPI-MATNR = MARA-MATNR.

    TERMINARA SI.

    • si MM01 es entonces haga visible el botón ATRÁS, si MM02 es visible GUARDAR y

    • Botones CANCEL

    SI TCODE = ‘MM01’.

    PANTALLA LOOP AG.

    SI EL EQ DE NOMBRE DE PANTALLA ‘SAVE_BUTTON’ O

    ECUALIZADOR DE NOMBRE DE PANTALLA ‘CANCEL_BUTTON’ O

    SCREEN-NAME EQ ‘BACK_BUTTON’.

    PANTALLA INVISIBLE = 1.

    MODIFICAR PANTALLA.

    TERMINARA SI.

    ENDLOOP.

    ACTUALIZAR IT_FCODE.

    Bog ‘SAVE’ GO IT_FCODE-FCODE.

    Bog ‘CANC’ VAYA IT_FCODE-FCODE.

    APÉNDICE IT_FCODE.

    SET PF-STATUS ‘ZNPI’ EXPRESANDO IT_FCODE.

    IMPORTAR v_rmatn DEL ID DE MEMORIA ‘R_MATNR’.

    si v_rmatn no es inicial.

    importar znpi desde la identificación de memoria ‘ZNPI_TABLE’.

    terminara si.

    TERMINARA SI.

    SI TCODE = ‘MM02’.

    V_IMPORTACIONES DE MATERIAL DESDE LA ID DE MEMORIA ‘ZNPI’.

    más sy-subrc ne 0.

    OBTENER ID DE PARÁMETRO ‘MAT’ CAMPO MARA-MATNR.

    v_material = MARA-MATNR.

    terminara si.

    SELECCIONAR * DE ZNPI EN LA TABLA IT_ZNPI

    LUGAR MATNR = V_MATERIAL.

    SI NO ES IT_ZNPI[] ES UNA INICIATIVA.

    LEA LA TABLA IT_ZNPI CON MAIN MATNR = V_MATERIAL.

    SI SY-SUBRC = 0.

    ZNPI-NPI = IT_ZNPI-NPI.

    ZNPI-RTS = IT_ZNPI-RTS.

    ZNPI-VCP = IT_ZNPI-VCP.

    TERMINARA SI.

    TERMINARA SI.

    PANTALLA LOOP AG.

    SI EXAMEN NOMBRE EQ ‘BACK_BUTTON’ O

    SCREEN-NAME EQ ‘SAVE_BUTTON’ O

    ECUALIZADOR DE NOMBRE DE PANTALLA ‘CANCEL_BUTTON’.

    PANTALLA INVISIBLE = 1.

    MODIFICAR PANTALLA.

    TERMINARA SI.

    ENDLOOP.

    Bog ‘BACK’ GO IT_FCODE-FCODE.

    Bog ‘SAVE’ GO IT_FCODE-FCODE.

    Bog ‘CANC’ VAYA IT_FCODE-FCODE.

    APÉNDICE IT_FCODE.

    SET PF-STATUS ‘ZNPI’ EXPRESANDO IT_FCODE.

    TERMINARA SI.

    SI TCODE EQ ‘MM03’.

    V_IMPORTACIONES DE MATERIAL DESDE LA ID DE MEMORIA ‘ZNPI’.

    más sy-subrc ne 0.

    OBTENER ID DE PARÁMETRO CAMPO MARA-MATNR ‘MAT’.

    v_material = MARA-MATNR.

    terminara si.

    OBTENER ID DE PARÁMETRO CAMPO MARA-MATNR ‘MAT’.

    a menos que sea-matnr inicial.

    ZNPI-MATNR = mara-MATNR.

    terminara si.

    MARA CLARO.

    SECCIÓN UNO * DEL MAR DONDE MATNR = V_MATERIAL.

    SELECCIONAR * DE ZNPI EN LA TABLA IT_ZNPI

    LUGAR MATNR = V_MATERIAL.

    SI NO ES IT_ZNPI[] ES UNA INICIATIVA.

    LEA LA TABLA IT_ZNPI CON MAIN MATNR = V_MATERIAL.

    SI SY-SUBRC = 0.

    ZNPI-MATNR = IT_ZNPI-MATNR.

    ZNPI-NPI = IT_ZNPI-NPI.

    ZNPI-RTS = IT_ZNPI-RTS.

    ZNPI-VCP = IT_ZNPI-VCP.

    TERMINARA SI.

    TERMINARA SI.

    PANTALLA LOOP AG.

    SI PANTALLA-NOMBRE = ‘ZNPI-NPI’ O

    NOMBRE-PANTALLA = ‘ZNPI-RTS’ O

    NOMBRE-PANTALLA = ‘ZNPI-VCP’ O

    SCREEN-NAME = ‘MARINE-CROSS’.

    ENTRADA DE PANTALLA = 0.

    MODIFICAR PANTALLA.

    TERMINARA SI.

    IF EQ NAME EXAMINATION ‘BACK_BUTTON’.

    PANTALLA ACTIVA = 0.

    MODIFICAR PANTALLA.

    TERMINARA SI.

    ENDLOOP.

    ACTUALIZAR IT_FCODE.

    Bog ‘BACK’ GO IT_FCODE-FCODE.

    APÉNDICE IT_FCODE.

    TERMINARA SI.

    ENDMODULE. “STATUS_1001 RESULTADO

    & —-


    * & Módulo USER_COMMAND_1001 INPUT

    & —-


    • texto

    —-


    MÓDULO USER_COMMAND_1001 ENTRADA.

    GRUPOS DE EXPORTACIÓN MARINA PARA ID DE MEMORIA ‘GV_GROES’.

    CASO SY-UCOMM.

    CUANDO ‘GUARDAR’.

    SI TCODE = ‘MM01’ O

    TCODE = ‘MM02’.

    ZNPI-MATNR = ZNPI-MATNR.

    ZNPI-NPI = ZNPI-NPI.

    ZNPI-RTS = ZNPI-RTS.

    ZNPI-VCP = ZNPI-VCP.

    ZNPI-CHGDT = SY-DATA.

    ZNPI-USERID = SY-UNAME.

    if (znpi – rts es inicial Y znpi – npi es inicial Y

    znpi-vcp es inicial).

    eliminar de znpi donde matnr = znpi-matnr.

    MENSAJE I002 (SY) CON ‘Los datos ZNPI están incompletos’.

    DEMÁS.

    MODIFICAR ZNPI.

    SI SY-SUBRC = 0.

    MENSAJE I002 (SY) CON ‘Cambios de datos ZNPI exitosos’.

    TERMINARA SI.

    TERMINARA SI.

    SI SY-SUBRC = 0.

    ACTUALIZAR GROES MARINE SET = MARINE-GROES PLACE MATNR = ZNPI-MATNR.

    TERMINARA SI.

    EXPORTACIONES DE ZNPI-MATNR AL ID DE MEMORIA ‘ZNPI’.

    TERMINARA SI.

    CONFIGURAR PANTALLA 0.

    SALGA DE LA PANTALLA.

    CUANDO ‘ENTRAR’.

    SI TCODE = ‘MM01’ O

    TCODE = ‘MM02’.

    ZNPI-MATNR = ZNPI-MATNR.

    ZNPI-NPI = ZNPI-NPI.

    ZNPI-RTS = ZNPI-RTS.

    ZNPI-VCP = ZNPI-VCP.

    ZNPI-CHGDT = SY-DATA.

    ZNPI-USERID = SY-UNAME.

    if (znpi – rts es inicial Y znpi – npi es inicial Y

    znpi-vcp es inicial).

    eliminar de znpi donde matnr = znpi-matnr.

    MENSAJE I002 (SY) CON ‘Los datos ZNPI están incompletos’.

    DEMÁS.

    MODIFICAR ZNPI.

    SI SY-SUBRC = 0.

    MENSAJE I002 (SY) CON ‘Cambios de datos ZNPI exitosos’.

    TERMINARA SI.

    TERMINARA SI.

    SI SY-SUBRC = 0.

    ACTUALIZAR GROES MARINE SET = MARINE-GROES PLACE MATNR = ZNPI-MATNR.

    TERMINARA SI.

    EXPORTACIONES DE ZNPI-MATNR AL ID DE MEMORIA ‘ZNPI’.

    TERMINARA SI.

    CONFIGURAR PANTALLA 0.

    SALGA DE LA PANTALLA.

    CUANDO ‘CANC’.

    SI TCODE = ‘MM01’ O

    TCODE = ‘MM02’.

    CONFIGURAR PANTALLA 0.

    SALGA DE LA PANTALLA.

    TERMINARA SI.

    CUANDO VUELVAS’.

    SI TCODE = ‘MM03’ O

    TCODE = ‘MM02’ O

    TCODE = ‘MM01’.

    CONFIGURAR PANTALLA 0.

    SALGA DE LA PANTALLA.

    TERMINARA SI.

    ENDCASE.

    ENDMODULE. “USER_COMMAND_1001 ENTRADA

    Gracias

  • Hola lee

    Debe utilizar la instrucción SET PF-STATUS xxxx en PBO de la pantalla para confirmar los atributos de la GUI para, por ejemplo, Botones ATRÁS, SALIR y CANCELAR y hay que validarlos para el PAI de la pantalla. Utilice la transacción ABAPDOCU para programas de muestra de este contenido.

    Salud,

    Hakim

  • Ex miembro

    Gracias por todas las respuestas.

    El PF-STATUS ayuda con esos tres botones. Sin embargo, tuve que PROCESAR LISTA DE PREGUNTAS cuando presioné el botón de ejecución, por lo que PF-STATUS no funciona.

  • Ex miembro

    Establezca pf-status para la pantalla de búfer de lista suprimiendo el diálogo. Otra posible opción es listar el procesamiento y regresar a la pantalla. Sin embargo, esto solo se aplica al botón ATRÁS.