You are on page 1of 5

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

*& Report ZUCOMM


*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT

ZUCOMM.

" using the tables t001 and knb1


TYPES : BEGIN OF TY_T001,
BUKRS
BUTXT
ORT01
LAND1
WAERS

TYPE
TYPE
TYPE
TYPE
TYPE

BUKRS,
BUTXT,
ORT01,
LAND1,
WAERS,

"CURRENCY KEY

END OF TY_T001.

TYPES : BEGIN OF TY_KNB1,


BUKRS TYPE BUKRS, "COMAPNY CODE
KUNNR TYPE KUNNR,
" CUSTOMER NO
ZTERM TYPE DZTERM,
" PAYMENT TERMS
END OF TY_KNB1.
" when both the structures are done declare the IT and WA
DATA : WA_T001 TYPE TY_T001,
IT_T001 TYPE STANDARD TABLE OF TY_T001.
DATA : WA_KNB1 TYPE TY_KNB1,
IT_KNB1 TYPE STANDARD TABLE Of TY_KNB1.
DATA :wa_selected_t001 TYPE ty_t001,
IT_SELECTED_T001 TYPE STANDARD TABLE OF TY_T001.
DATA : V_BOX(2) TYPE C,
V_LINES TYPE I,
V_BUKRS TYPE BUKRS.
" DESIGN THE SELECTED SCREEN
SELECT-OPTIONS : S_BUKRS FOR V_BUKRS.

"

START OF SELECTION

START-OF-SELECTION .

SELECT
BUKRS
BUTXT
ORT01
LAND1
WAERS
INTO TABLE IT_T001
FROM T001
WHERE BUKRS in S_BUKRS.
" END OF SELECTION
END-OF-SELECTION.

if it_t001 is NOT INITIAL.


LOOP at it_t001 INTO wa_t001.
WRITE : /5

v_box as CHECKBOX ,

wa_t001-bukrs,
wa_t001-butxt
",
"wa_t001-ort01,
"wa_t001-land1,
"wa_t001-waers.
.
CLEAR wa_t001.
ENDLOOP.
endif.
" SET USER DEFINED GUI
" HERE WE DOWNLOAD BUTTOM
SET PF-STATUS 'ZMENU'.
"

at user command event

at USER-COMMAND .
case sy-ucomm.
when 'SELECTALL'.

V_BOX = 'X'.
LOOP AT

" SELECTED RECORD

IT_T001 INTO WA_T001.

WRITE : / V_BOX AS CHECKBOX,


WA_T001-BUKRS,
WA_T001-BUTXT,
WA_T001-ORT01,
WA_T001-LAND1,
WA_T001-WAERS
.
CLEAR WA_T001.
ENDLOOP.
WHEN 'DESELECT'.
V_BOX = '' .
LOOP AT

" SELECTED RECORD

IT_T001 INTO WA_T001.

WRITE : / V_BOX AS CHECKBOX,


WA_T001-BUKRS,
WA_T001-BUTXT,
WA_T001-ORT01,
WA_T001-LAND1,
WA_T001-WAERS
.
CLEAR WA_T001.
ENDLOOP.

WHEN 'DOWNLOAD'.
REFRESH IT_SELECTED_T001.
DESCRIBE LIST NUMBER OF LINES V_LINES.
DO V_LINES TIMES .
READ LINE SY-INDEX FIELD VALUE V_BOX
WA_T001-BUKRS
WA_T001-BUTXT
WA_T001-ORT01
WA_T001-LAND1
WA_T001-WAERS.
IF V_BOX = 'X'.
APPEND WA_T001 TO IT_SELECTED_T001.
ENDIF.

ENDDO.

IF IT_SELECTED_T001 IS INITIAL .
WRITE : / 'NO RECORDS SELECTED FOR DOWNLOAD' .
ELSE.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
BIN_FILESIZE
filename

*
\DOWNLOAD.TXT'
*
*

FILETYPE
APPEND
WRITE_FIELD_SEPARATOR

=
=

'D:

= 'ASC'
= ' '
= 'X'

*
tables
data_tab

= IT_SE

LECTED_T001.
*
.
IF sy-subrc <> 0.
WRITE:/ 'INTERNAL TABLE NOT SUCCESSFULLY DOWNLOADE
D' .
ELSE.
WRITE: / 'INTERNAL TABLE SUCCESSFULLY DOWLOADE
D' .

ENDIF.
ENDIF.
" SECOND LIST YET TO BE WRITEEN
WHEN 'CUSTOMER'.
REFRESH it_selected_t001.
DESCRIBE LIST NUMBER OF LINES v_lines.
do V_LINES TIMES.
read LINE
sy-index FIELD VALUE v_box
wa_t001-bukrs
wa_t001-butxt
wa_t001-ort01

wa_t001-land1
wa_t001-waers.
if v_box = 'X'.
APPEND wa_t001 to it_selected_t001.
ENDIF.
enddo.
if it_selected_t001 is INITIAL.
write : / 'no companny selected'.
else .
SELECT
bukrs
kunnr
zterm
into TABLE it_knb1
from
knb1
FOR ALL ENTRIES IN it_selected_t001
WHERE

bukrs = it_selected_t001-bukrs.

if it_selected_t001 is INITIAL.
WRITE:/ 'no customer found'.
else.
LOOP at it_knb1 INTO wa_knb1.
WRITE :/
wa_knb1-bukrs ,
wa_knb1-kunnr,
wa_knb1-zterm.
ENDLOOP.
ENDIF.
ENDif.

ENDCASE.

"=----------------------

You might also like