0% found this document useful (0 votes)
94 views11 pages

ZVR Screen Design

The document describes a selection screen design that modifies fields based on user selection. It includes: 1) Parameter fields to select sales, deletion, or invoice functions. 2) Blocks for selection screen fields related to each function. 3) A FORM that sets field attributes like input/invisible based on the selected parameter. 4) Additional code samples for dropdown lists, F1 help, and F4 help.

Uploaded by

Pradeep Reddy
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
94 views11 pages

ZVR Screen Design

The document describes a selection screen design that modifies fields based on user selection. It includes: 1) Parameter fields to select sales, deletion, or invoice functions. 2) Blocks for selection screen fields related to each function. 3) A FORM that sets field attributes like input/invisible based on the selected parameter. 4) Additional code samples for dropdown lists, F1 help, and F4 help.

Uploaded by

Pradeep Reddy
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 11

*&---------------------------------------------------------------------*

*& Report ZVR_SCREEN_DESIGN


*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT zvr_screen_design.

*****************************************************************
****selection screen design to modify screen based on user action
***tables declarations
TABLES : vbak, likp, vbrk.
***PARAMETER fields
SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME TITLE text-001.
SELECTION-SCREEN SKIP 1.
PARAMETERS : pr_sal RADIOBUTTON GROUP g1 USER-COMMAND sal DEFAULT 'X',
pr_del RADIOBUTTON GROUP g1,
pr_inv RADIOBUTTON GROUP g1.

SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN END OF BLOCK blk1.

SELECTION-SCREEN BEGIN OF BLOCK blk2 WITH FRAME TITLE text-002.


SELECTION-SCREEN SKIP 1.
SELECT-OPTIONS : ss_vbeln FOR vbak-vbeln MODIF ID sal,
ss_ernam FOR vbak-ernam NO INTERVALS NO-EXTENSION MODIF ID sal,
ss_erdat FOR vbak-erdat NO-EXTENSION MODIF ID sal.
SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN END OF BLOCK blk2.

SELECTION-SCREEN BEGIN OF BLOCK blk3 WITH FRAME TITLE text-003.


SELECTION-SCREEN SKIP 1.
SELECT-OPTIONS : sd_vbeln FOR likp-vbeln MODIF ID del,
sd_ernam FOR likp-ernam NO INTERVALS NO-EXTENSION MODIF ID del,
sd_erdat FOR likp-erdat NO-EXTENSION MODIF ID del.
SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN END OF BLOCK blk3.

SELECTION-SCREEN BEGIN OF BLOCK blk4 WITH FRAME TITLE text-004.


SELECTION-SCREEN SKIP 1.
SELECT-OPTIONS : si_vbeln FOR vbrk-vbeln MODIF ID inv,
si_ernam FOR vbrk-ernam NO INTERVALS NO-EXTENSION MODIF ID inv,
si_erdat FOR vbrk-erdat NO-EXTENSION MODIF ID inv.
SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN END OF BLOCK blk4.

***modify screen based on user action


AT SELECTION-SCREEN OUTPUT.
IF pr_sal = 'X'.
PERFORM fill_screen_values USING '1' '0' '0' '1' '0' '1'.
ENDIF.
IF pr_del = 'X'.
PERFORM fill_screen_values USING '0' '1' '1' '0' '0' '1'.
ENDIF.
IF pr_inv = 'X'.
PERFORM fill_screen_values USING '0' '1' '0' '1' '1' '0'.
ENDIF.
*&---------------------------------------------------------------------*
*& Form FILL_SCREEN_VALUES
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_0193 text
* -->P_0194 text
* -->P_0195 text
* -->P_0196 text
* -->P_0197 text
* -->P_0198 text
*----------------------------------------------------------------------*
FORM fill_screen_values USING a TYPE c
b TYPE c
c TYPE c
d TYPE c
e TYPE c
f TYPE c.

LOOP AT SCREEN.
CASE screen-group1.
WHEN 'SAL'.
screen-input = a.
screen-invisible = b.
MODIFY SCREEN.
WHEN 'DEL'.
screen-input = c.
screen-invisible = d.
MODIFY SCREEN.
WHEN 'INV'.
screen-input = e.
screen-invisible = f.
MODIFY SCREEN.
ENDCASE.
ENDLOOP.

ENDFORM. " FILL_SCREEN_VALUES

*******************************************************************
******selection screen design to modify screen based on user action
*****tables declarations
**TABLES : vbak, likp, vbrk.
*****PARAMETER fields
**SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME TITLE text-001.
**SELECTION-SCREEN SKIP 1.
**PARAMETERS : pr_sal RADIOBUTTON GROUP g1 USER-COMMAND sal DEFAULT 'X',
** pr_del RADIOBUTTON GROUP g1,
** pr_inv RADIOBUTTON GROUP g1.
**
**SELECTION-SCREEN SKIP 1.
**SELECTION-SCREEN END OF BLOCK blk1.
**
**SELECTION-SCREEN BEGIN OF BLOCK blk2 WITH FRAME TITLE text-002.
**SELECTION-SCREEN SKIP 1.
**SELECT-OPTIONS : ss_vbeln FOR vbak-vbeln MODIF ID sal,
** ss_ernam FOR vbak-ernam NO INTERVALS NO-EXTENSION MODIF ID sal,
** ss_erdat FOR vbak-erdat NO-EXTENSION MODIF ID sal.
**SELECTION-SCREEN SKIP 1.
**SELECTION-SCREEN END OF BLOCK blk2.
**
**SELECTION-SCREEN BEGIN OF BLOCK blk3 WITH FRAME TITLE text-003.
**SELECTION-SCREEN SKIP 1.
**SELECT-OPTIONS : sd_vbeln FOR likp-vbeln MODIF ID del,
** sd_ernam FOR likp-ernam NO INTERVALS NO-EXTENSION MODIF ID del,
** sd_erdat FOR likp-erdat NO-EXTENSION MODIF ID del.
**SELECTION-SCREEN SKIP 1.
**SELECTION-SCREEN END OF BLOCK blk3.
**
**SELECTION-SCREEN BEGIN OF BLOCK blk4 WITH FRAME TITLE text-004.
**SELECTION-SCREEN SKIP 1.
**SELECT-OPTIONS : si_vbeln FOR vbrk-vbeln MODIF ID inv,
** si_ernam FOR vbrk-ernam NO INTERVALS NO-EXTENSION MODIF ID inv,
** si_erdat FOR vbrk-erdat NO-EXTENSION MODIF ID inv.
**SELECTION-SCREEN SKIP 1.
**SELECTION-SCREEN END OF BLOCK blk4.
**
*****modify screen based on user action
**AT SELECTION-SCREEN OUTPUT.
** IF pr_sal = 'X'.
** LOOP AT SCREEN.
** CASE screen-group1.
** WHEN 'SAL'.
** screen-input = '1'.
** screen-invisible = '0'.
** MODIFY SCREEN.
** WHEN 'DEL'.
** screen-input = '0'.
** screen-invisible = '1'.
** MODIFY SCREEN.
** WHEN 'INV'.
** screen-input = '0'.
** screen-invisible = '1'.
** MODIFY SCREEN.
** ENDCASE.
** ENDLOOP.
** ENDIF.
**
** IF pr_del = 'X'.
** LOOP AT SCREEN.
** CASE screen-group1.
** WHEN 'SAL'.
** screen-input = '0'.
** screen-invisible = '1'.
** MODIFY SCREEN.
** WHEN 'DEL'.
** screen-input = '1'.
** screen-invisible = '0'.
** MODIFY SCREEN.
** WHEN 'INV'.
** screen-input = '0'.
** screen-invisible = '1'.
** MODIFY SCREEN.
** ENDCASE.
** ENDLOOP.
** ENDIF.
**
** IF pr_inv = 'X'.
** LOOP AT SCREEN.
** CASE screen-group1.
** WHEN 'SAL'.
** screen-input = '0'.
** screen-invisible = '1'.
** MODIFY SCREEN.
** WHEN 'DEL'.
** screen-input = '0'.
** screen-invisible = '1'.
** MODIFY SCREEN.
** WHEN 'INV'.
** screen-input = '1'.
** screen-invisible = '0'.
** MODIFY SCREEN.
** ENDCASE.
** ENDLOOP.
** ENDIF.

*****************************************************
****declaration of work area & internal table
** to fill dropdown list
*DATA : wa_vrm TYPE vrm_value,
* it_vrm TYPE TABLE OF vrm_value,
* lv_vrm_id TYPE vrm_id.
*
****selection screen design to prodive drop down
*PARAMETERS p_dept(50) TYPE c AS LISTBOX VISIBLE LENGTH 30.
*
*AT SELECTION-SCREEN OUTPUT.
**fill dropdown list
* wa_vrm-key = 'ABAP'.
* wa_vrm-text = 'Advance Business Application Programming'.
* APPEND wa_vrm TO it_vrm.
* CLEAR wa_vrm.
*
* wa_vrm-key = 'CA'.
* wa_vrm-text = 'Cross Application'.
* APPEND wa_vrm TO it_vrm.
* CLEAR wa_vrm.
*
* wa_vrm-key = 'OABAP'.
* wa_vrm-text = 'Object Oriented ABAP'.
* APPEND wa_vrm TO it_vrm.
* CLEAR wa_vrm.
*
* wa_vrm-key = 'SD'.
* wa_vrm-text = 'Sales & distribution'.
* APPEND wa_vrm TO it_vrm.
* CLEAR wa_vrm.
*
* wa_vrm-key = 'MM'.
* wa_vrm-text = 'Material Management'.
* APPEND wa_vrm TO it_vrm.
* CLEAR wa_vrm.
*
***transfer parameter value to local variable
* lv_vrm_id = 'P_DEPT'.
* CALL FUNCTION 'VRM_SET_VALUES'
* EXPORTING
* id = lv_vrm_id
* values = it_vrm
* EXCEPTIONS
* id_illegal_name = 1
* OTHERS = 2.
* IF sy-subrc <> 0.
** Implement suitable error handling here
* ENDIF.

****************************************************
*****selection screen design to prodive F1 help
**PARAMETERS p_cust TYPE kna1-kunnr.
**
*****F1 help for parameter field
**AT SELECTION-SCREEN ON HELP-REQUEST FOR p_cust.
** CALL FUNCTION 'DSYS_SHOW_FOR_F1HELP'
** EXPORTING
*** APPLICATION = 'SO70'
** dokclass = 'TX'
** doklangu = sy-langu
** dokname = 'ZF1_CUST'
*** DOKTITLE = ' '
*** HOMETEXT = ' '
*** OUTLINE = ' '
*** VIEWNAME = 'STANDARD'
*** Z_ORIGINAL_OUTLINE = ' '
*** CALLED_FROM_SO70 = ' '
*** SHORT_TEXT = ' '
*** APPENDIX = ' '
*** IMPORTING
*** APPL =
*** PF03 =
*** PF15 =
*** PF12 =
** EXCEPTIONS
** class_unknown = 1
** object_not_found = 2
** OTHERS = 3
** .
** IF sy-subrc <> 0.
*** Implement suitable error handling here
** ENDIF.

***************************************************
****declaration of work area & internal table
*TYPES : BEGIN OF ty_f4_kunnr,
* kunnr TYPE kna1-kunnr,
* name1 TYPE kna1-name1,
* ort01 TYPE kna1-ort01,
* telf1 TYPE kna1-telf1,
* adrnr TYPE kna1-adrnr,
* END OF ty_f4_kunnr.
*DATA : wa_f4_kunnr TYPE ty_f4_kunnr,
* it_f4_kunnr TYPE TABLE OF ty_f4_kunnr,
* wa_retval TYPE ddshretval,
* it_retval TYPE TABLE OF ddshretval.
*
****selection screen design to prodive F4 help
*SELECT-OPTIONS s_cust FOR wa_f4_kunnr-kunnr.
*
****F4 help for lower limit
*AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_cust-low.
* PERFORM f4_help_cust.
****F4 help for higher limit
*AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_cust-high.
* PERFORM f4_help_cust.
*
**&---------------------------------------------------------------------*
**& Form F4_HELP_CUST
**&---------------------------------------------------------------------*
** text
**----------------------------------------------------------------------*
** --> p1 text
** <-- p2 text
**----------------------------------------------------------------------*
*FORM f4_help_cust .
*
****extract data for F4 help
* SELECT kunnr
* name1
* ort01
* telf1
* adrnr FROM kna1
* INTO TABLE it_f4_kunnr.
*
****attach f4 help data to F4 button
* CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
* EXPORTING
* retfield = 'KUNNR'
* dynpprog = sy-cprog
* dynpnr = '1000'
* window_title = 'f4 help for customer'
* value_org = 'S'
* TABLES
* value_tab = it_f4_kunnr
* return_tab = it_retval
* EXCEPTIONS
* parameter_error = 1
* no_values_found = 2
* OTHERS = 3.
* IF sy-subrc = 0.
* READ TABLE it_retval INDEX 1 INTO wa_retval.
* s_cust-sign = 'I'.
* s_cust-option = 'EQ'.
* s_cust-low = wa_retval-fieldval.
* s_cust-high = wa_retval-fieldval.
* APPEND s_cust.
* ENDIF.
*
*ENDFORM. " F4_HELP_CUST

****************************************************
*****declaration of work area & internal table
**TYPES : BEGIN OF ty_f4_kunnr,
** kunnr TYPE kna1-kunnr,
** name1 TYPE kna1-name1,
** ort01 TYPE kna1-ort01,
** telf1 TYPE kna1-telf1,
** adrnr TYPE kna1-adrnr,
** END OF ty_f4_kunnr.
**DATA : wa_f4_kunnr TYPE ty_f4_kunnr,
** it_f4_kunnr TYPE TABLE OF ty_f4_kunnr,
** wa_retval TYPE ddshretval,
** it_retval TYPE TABLE OF ddshretval.
**
*****selection screen design to prodive F4 help
**PARAMETERS p_cust TYPE c LENGTH 10.
***PARAMETERS p_cust TYPE kna1-kunnr.
**
**AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_cust.
*****extract data for F4 help
** SELECT kunnr
** name1
** ort01
** telf1
** adrnr FROM kna1
** INTO TABLE it_f4_kunnr.
**
*****attach f4 help data to F4 button
** CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
** EXPORTING
*** DDIC_STRUCTURE = ' '
** retfield = 'KUNNR'
*** PVALKEY = ' '
** dynpprog = sy-cprog
** dynpnr = '1000'
*** dynprofield = 'P_CUST'
*** STEPL = 0
** window_title = 'f4 help for customer'
*** VALUE = ' '
** value_org = 'S'
*** multiple_choice = 'X'
*** DISPLAY = ' '
*** CALLBACK_PROGRAM = ' '
*** CALLBACK_FORM = ' '
*** CALLBACK_METHOD =
*** MARK_TAB =
*** IMPORTING
*** USER_RESET =
** TABLES
** value_tab = it_f4_kunnr
*** FIELD_TAB =
** return_tab = it_retval
*** DYNPFLD_MAPPING =
** EXCEPTIONS
** parameter_error = 1
** no_values_found = 2
** OTHERS = 3
** .
** IF sy-subrc = 0.
** READ TABLE it_retval INDEX 1 INTO wa_retval.
** p_cust = wa_retval-fieldval.
** ENDIF.

***************************************************
****declaration of work area & internal table
*TYPES : BEGIN OF ty_f4_kunnr,
* kunnr TYPE kna1-kunnr,
* name1 TYPE kna1-name1,
* ort01 TYPE kna1-ort01,
* telf1 TYPE kna1-telf1,
* adrnr TYPE kna1-adrnr,
* END OF ty_f4_kunnr.
*DATA : wa_f4_kunnr TYPE ty_f4_kunnr,
* it_f4_kunnr TYPE TABLE OF ty_f4_kunnr.
*
****selection screen design to prodive F4 help
*PARAMETERS p_cust TYPE c LENGTH 10.
**PARAMETERS p_cust TYPE kna1-kunnr.
*
*AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_cust.
****extract data for F4 help
* SELECT kunnr
* name1
* ort01
* telf1
* adrnr FROM kna1
* INTO TABLE it_f4_kunnr.
*
****attach f4 help data to F4 button
* CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
* EXPORTING
** DDIC_STRUCTURE = ' '
* retfield = 'KUNNR'
** PVALKEY = ' '
* dynpprog = sy-cprog
* dynpnr = '1000'
* dynprofield = 'P_CUST'
** STEPL = 0
* window_title = 'f4 help for customer'
** VALUE = ' '
* value_org = 'S'
** MULTIPLE_CHOICE = ' '
** DISPLAY = ' '
** CALLBACK_PROGRAM = ' '
** CALLBACK_FORM = ' '
** CALLBACK_METHOD =
** MARK_TAB =
** IMPORTING
** USER_RESET =
* TABLES
* value_tab = it_f4_kunnr
** FIELD_TAB =
** RETURN_TAB =
** DYNPFLD_MAPPING =
* EXCEPTIONS
* parameter_error = 1
* no_values_found = 2
* OTHERS = 3
* .
* IF sy-subrc <> 0.
** Implement suitable error handling here
* ENDIF.
**************************************************
*****selection screen design
**SELECTION-SCREEN BEGIN OF LINE.
**SELECTION-SCREEN COMMENT 2(20) text-001.
**PARAMETERS : pr_sal RADIOBUTTON GROUP grp1.
**SELECTION-SCREEN END OF LINE.
**
**SELECTION-SCREEN BEGIN OF LINE.
**SELECTION-SCREEN COMMENT 2(20) text-002.
**PARAMETERS : pr_del RADIOBUTTON GROUP grp1.
**SELECTION-SCREEN END OF LINE.
**
**SELECTION-SCREEN BEGIN OF LINE.
**SELECTION-SCREEN COMMENT 2(20) text-003.
**PARAMETERS : pr_inv RADIOBUTTON GROUP grp1.
**SELECTION-SCREEN END OF LINE.
**

*************************************************
****selection screen design
*SELECTION-SCREEN BEGIN OF LINE.
*SELECTION-SCREEN COMMENT 3(15) text-001.
*PARAMETERS : pr_sal RADIOBUTTON GROUP grp1.
*SELECTION-SCREEN COMMENT 25(15) text-002.
*PARAMETERS : pr_del RADIOBUTTON GROUP grp1.
*SELECTION-SCREEN COMMENT 45(15) text-003.
*PARAMETERS : pr_inv RADIOBUTTON GROUP grp1.
*SELECTION-SCREEN END OF LINE.

*************************************************
****selection screen design
*SELECTION-SCREEN BEGIN OF LINE.
*PARAMETERS : pr_sal RADIOBUTTON GROUP grp1.
*SELECTION-SCREEN COMMENT 3(15) text-001.
*PARAMETERS : pr_del RADIOBUTTON GROUP grp1.
*SELECTION-SCREEN COMMENT 25(15) text-002.
*PARAMETERS : pr_inv RADIOBUTTON GROUP grp1.
*SELECTION-SCREEN COMMENT 45(15) text-003.
*SELECTION-SCREEN END OF LINE.

**************************************************
*****selection screen design
**PARAMETERS : pr_sal RADIOBUTTON GROUP grp1,
** pr_del RADIOBUTTON GROUP grp1,
** pr_inv RADIOBUTTON GROUP grp1.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy