TYPE-POOLS: ICON.
DATA: L_COUNT TYPE I.
DATA: LMAIL(50) TYPE C.
SELECTION-SCREEN: BEGIN OF BLOCK ALV WITH FRAME TITLE TEXT-001.
SELECTION-SCREEN: BEGIN OF LINE.
SELECTION-SCREEN: COMMENT (12) TEXT-002.
PARAMETERS: MAILCOPY LIKE LMAIL.
SELECTION-SCREEN: PUSHBUTTON 63(5) PUBU USER-COMMAND MAILBUTT.
SELECTION-SCREEN: END OF LINE.
SELECTION-SCREEN: END OF BLOCK ALV.
DATA: MAILTYPE TYPE C VALUE ''.
SELECT-OPTIONS: MAILADD FOR LMAIL NO-DISPLAY.
AT SELECTION-SCREEN OUTPUT.
CLEAR L_COUNT.
DESCRIBE TABLE MAILADD LINES L_COUNT.
IF L_COUNT > 1.
WRITE ICON_DISPLAY_MORE AS ICON TO PUBU.
ELSE.
WRITE ICON_ENTER_MORE AS ICON TO PUBU.
ENDIF.
AT SELECTION-SCREEN.
CLEAR L_COUNT.
DESCRIBE TABLE MAILADD LINES L_COUNT.
IF NOT MAILCOPY IS INITIAL AND MAILADD[] IS INITIAL.
MAILADD-LOW = MAILCOPY.
APPEND MAILADD.
ENDIF.
IF L_COUNT = 1.
REFRESH MAILADD.
IF NOT MAILCOPY IS INITIAL.
MAILADD-LOW = MAILCOPY.
APPEND MAILADD.
ENDIF.
ENDIF.
IF L_COUNT > 1.
IF MAILCOPY IS INITIAL.
DELETE MAILADD INDEX 1.
ELSE.
MAILADD-LOW = MAILCOPY.
MODIFY MAILADD INDEX 1 TRANSPORTING LOW.
ENDIF.
ENDIF.
IF SY-UCOMM = 'MAILBUTT'.
PERFORM SHOW_BOX.
ENDIF.
*&---------------------------------------------------------------------*
*& Form SHOW_BOX
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM SHOW_BOX .
TYPE-POOLS AQADH.
DATA: TAB_AND_FIELD TYPE RSTABFIELD.
TAB_AND_FIELD-TABLENAME = 'ADR6'.
TAB_AND_FIELD-FIELDNAME = 'SMTP_ADDR'.
CALL FUNCTION 'COMPLEX_SELECTIONS_DIALOG'
EXPORTING
* TITLE = ' '
TEXT = 'SET E-Mail To'
* SIGNED = 'X'
* LOWER_CASE = ' '
* NO_INTERVAL_CHECK = ' '
* JUST_DISPLAY = ' '
* JUST_INCL = ' '
* EXCLUDED_OPTIONS =
* DESCRIPTION =
* HELP_FIELD =
* SEARCH_HELP =
TAB_AND_FIELD = TAB_AND_FIELD
TABLES
RANGE = MAILADD[]
EXCEPTIONS
NO_RANGE_TAB = 1
CANCELLED = 2
INTERNAL_ERROR = 3
INVALID_FIELDNAME = 4
OTHERS = 5
.
IF NOT MAILADD IS INITIAL.
READ TABLE MAILADD INDEX 1.
MAILCOPY = MAILADD-LOW.
ELSE.
MAILCOPY = ' '.
ENDIF.
ENDFORM. " SHOW_BOX