Que tal amigos, hace algún tiempo me inicie en esta comunidad con el objetivo de poder aprender y compartir. Al inicio me fue compartido los manuales para Abap y prometí a @Shadowdancer compartir los resultados de ese aporte.
http://foros.consultoria-sap.com/t/investigacion-para-resolver-issues-mpalomo/2720
Sin mas preámbulo les comparto la lógica que aplique para conseguir que aparezcan o desaparezcan los parámetros de la pantalla según el radio button que seleccione el usuario.
Nota: ingresa a la SE38 y pega este código, compilar y has tus pruebas.
*&---------------------------------------------------------------------*
*& Report ZRADIO_BLOCK
*&---------------------------------------------------------------------*
REPORT ZRADIO_BLOCK.
*&---------------------------------------------------------------------*
*& PARAMETRO DE ENTRADA - PANTALLA
*&---------------------------------------------------------------------*
SELECTION-SCREEN BEGIN OF BLOCK BLG WITH FRAME TITLE A1TITLE.
SELECTION-SCREEN BEGIN OF BLOCK BL0A WITH FRAME TITLE A2TITLE.
PARAMETERS:
R1 RADIOBUTTON GROUP RAD1 USER-COMMAND CMD DEFAULT 'X',
R2 RADIOBUTTON GROUP RAD1,
R3 RADIOBUTTON GROUP RAD1.
SELECTION-SCREEN BEGIN OF BLOCK BL0B WITH FRAME.
PARAMETERS:
RP1 RADIOBUTTON GROUP RAD2 MODIF ID B6,
RP2 RADIOBUTTON GROUP RAD2 MODIF ID B6,
RP3 RADIOBUTTON GROUP RAD2 MODIF ID B6,
RP4 RADIOBUTTON GROUP RAD2 MODIF ID B6.
SELECTION-SCREEN END OF BLOCK BL0B.
SELECTION-SCREEN BEGIN OF BLOCK BL0C WITH FRAME.
PARAMETERS:
RO1 RADIOBUTTON GROUP RAD3 MODIF ID B7,
RO2 RADIOBUTTON GROUP RAD3 MODIF ID B7.
SELECTION-SCREEN END OF BLOCK BL0C.
SELECTION-SCREEN END OF BLOCK BL0A.
SELECTION-SCREEN BEGIN OF BLOCK BL1 WITH FRAME TITLE A3TITLE.
PARAMETERS:
P_NAME1 LIKE KNA1-NAME1 ," OBLIGATORY, " NOMBRE
P_NAME2 LIKE KNA1-NAME2 ." OBLIGATORY. " APELLIDO
SELECTION-SCREEN BEGIN OF BLOCK BL2 WITH FRAME TITLE A4TITLE.
PARAMETERS:
P_STRAS LIKE KNA1-STRAS ," OBLIGATORY, " CALLE1 / DIRECCIÓN
P_CALLE2(40) TYPE C, " CALLE2 / DIRECCIÓN
P_TELF1 LIKE KNA1-TELF1, " TELEFONO
P_TELF2 LIKE KNA1-TELF1, " FAX
P_CORREO(50) TYPE C. " CORREO
SELECTION-SCREEN END OF BLOCK BL2.
SELECTION-SCREEN END OF BLOCK BL1.
SELECTION-SCREEN END OF BLOCK BLG.
INITIALIZATION.
PERFORM SELECTION_SCREEN_TEXT.
AT SELECTION-SCREEN OUTPUT.
PERFORM OCULTARCAMPO1.
*&---------------------------------------------------------------------*
*& Form OCULTARCAMPO1
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM OCULTARCAMPO1.
LOOP AT SCREEN.
IF R1 EQ 'X'.
IF SCREEN-GROUP1 = 'B6'.
SCREEN-ACTIVE = '1'.
ENDIF.
ELSE.
IF SCREEN-GROUP1 = 'B6'.
SCREEN-ACTIVE = '0'.
ENDIF.
ENDIF.
IF R2 EQ 'X'.
IF SCREEN-GROUP1 = 'B7'.
SCREEN-ACTIVE = '1'.
ENDIF.
ELSE.
IF SCREEN-GROUP1 = 'B7'.
SCREEN-ACTIVE = '0'.
ENDIF.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
ENDFORM. "OCULTARCAMPO1
*&---------------------------------------------------------------------*
*& Form SELECTION TEXT
*&---------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
FORM SELECTION_SCREEN_TEXT.
A1TITLE = 'Pantalla de creación - Cliente/Deudor'.
A2TITLE = 'El interlocutor comercial se creara como?'.
A3TITLE = 'Información del cliente'.
A4TITLE = 'Dirección Calle'.
ENDFORM. " Selección de texto