Archivo
Posts Tagged ‘pantalla selección’
Mostrar u ocultar campos en pantalla de selección
Caso: se desea crear una pantalla de selección con radiobuttons que al ser presionados, modifique la visualización de otros campos en pantalla.
Solución: para el ejemplo utilizaremos radiobuttons que al ser presionados grisen u oculten otros campos de selección.
REPORT zprueba_abap. TABLES: bsid, vbrk. SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-t01. PARAMETERS: r_new RADIOBUTTON GROUP r1 USER-COMMAND rbut DEFAULT 'X', r_pen RADIOBUTTON GROUP r1, r_pro RADIOBUTTON GROUP r1. SELECTION-SCREEN END OF BLOCK b1. SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-t02. PARAMETERS: p_bukrs TYPE bsid-bukrs. SELECT-OPTIONS: s_kunnr FOR bsid-kunnr MODIF ID zz1, s_belnr FOR bsid-belnr MODIF ID zz1. PARAMETERS: p_gjahr TYPE vbrk-gjahr MODIF ID im1. SELECT-OPTIONS: s_bldat FOR bsid-bldat, s_zuonr FOR vbrk-zuonr MODIF ID im2. SELECTION-SCREEN END OF BLOCK b2. AT SELECTION-SCREEN OUTPUT. PERFORM ocultar_campos. FORM ocultar_campos. IF r_new EQ 'X'. LOOP AT SCREEN. IF screen-group1 = 'IM2'. screen-input = 0. " Campo editable screen-invisible = 1. " Campo invisible MODIFY SCREEN. ENDIF. ENDLOOP. ELSEIF r_pen EQ 'X'. LOOP AT SCREEN. IF screen-group1 = 'ZZ1'. screen-input = 0. " Campo no editable/grisado screen-invisible = 0. " Campo invisible MODIFY SCREEN. ENDIF. ENDLOOP. ELSEIF r_pro EQ 'X'. LOOP AT SCREEN. IF screen-group1 = 'IM1'. screen-input = 0. " Campo no editable/grisado screen-invisible = 1. " Campo invisible MODIFY SCREEN. ENDIF. ENDLOOP. ENDIF. ENDFORM. " OCULTAR_CAMPOS
Anuncio publicitario
Categorías: ABAP/4
Etiquetas: LOOP AT SCREEN, MODIF, MOSTRAR, MOSTRAR CAMPOS, OCULTA, OCULTAR, OCULTAR CAMPOS, PANTALLA, pantalla selección, parameters, SAP, SCREEN, select-options, USER-COMMAND
Estadísticas
- 1.263.986 hits
Categorías
- ABAP/4 (116)
- BAPIs (6)
- Diccionario (1)
- Exits (4)
- Formularios (Smartforms/Sapscript) (4)
- Tips and Tricks (2)
- BASIS (8)
- Consultoría Funcional (17)
- Otras (4)
COMMENT en pantalla selección
Caso: se busca mostrar la descripción de un campo en la pantalla de selección.
REPORT zprueba_descripcion.
TABLES kna1.
DATA: gv_kunnr TYPE kna1-kunnr.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME.
SELECTION-SCREEN BEGIN OF LINE.
SELECT-OPTIONS: s_kunnr FOR kna1-kunnr NO-EXTENSION NO INTERVALS.
SELECTION-SCREEN COMMENT 48(35) gv_name1.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK b1.
AT SELECTION-SCREEN ON s_kunnr.
CLEAR gv_name1.
SELECT SINGLE kunnr name1
INTO (gv_kunnr, gv_name1)
FROM kna1
WHERE kunnr IN s_kunnr.
IF sy-subrc NE 0.
MESSAGE s899(mm) WITH ‘Cliente inexistente’ DISPLAY LIKE ‘E’.
ENDIF.