You are on page 1of 5

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

*& Report ZMM12001


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

REPORT ZMM12001.
"Kullan�lan tablolar
TABLES:BSEG,BKPF.
TYPE-POOLS: SLIS."alv kullanmak i�in gerekli

*&-------------------------------------------------------------------------*
*&--------------------------DATA-------------------------------------------*
*&-------------------------------------------------------------------------*

DATA: BEGIN OF LT_ITEMS OCCURS 0,


sel(1) TYPE c,
BUKRS LIKE BSEG-BUKRS,
BELNR LIKE BSEG-BELNR,
GJAHR LIKE BSEG-GJAHR,
MATNR LIKE BSEG-MATNR,
MAKTX LIKE MAKT-MAKTX,
KUNNR LIKE BSEG-KUNNR,
NAME1 LIKE KNA1-NAME1,
NAME2 LIKE KNA1-NAME2,
LIFNR LIKE BSEG-LIFNR,
NAME1_LFA1 LIKE LFA1-NAME1,
NAME2_LFA1 LIKE LFA1-NAME2,
MEINS LIKE BSEG-MEINS,
MENGE LIKE BSEG-MENGE,
DMBTR LIKE BSEG-DMBTR,
END OF LT_ITEMS.

DATA: LT_SONUC LIKE LT_ITEMS OCCURS 0 WITH HEADER LINE,


LS_ITEMS LIKE LT_ITEMS,
WA LIKE LINE OF LT_ITEMS.

" ALV DATA


data : lt_fldcat type slis_t_fieldcat_alv with header line.
data : gt_fieldcat type slis_fieldcat_alv occurs 1 with header line.
data : alv_layout type slis_layout_alv.
data : gv_col_pos type i.

DATA: OK_100 TYPE sy-UCOMM.

*&-------------------------------------------------------------------------*
*&--------------------------END-DATA---------------------------------------*
*&-------------------------------------------------------------------------*

SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.


SELECT-OPTIONS: S_BUKRS for BSEG-BUKRS,
S_BELNR for BSEG-BELNR.
PARAMETERS: S_GJAHR LIKE BSEG-GJAHR.
SELECTION-SCREEN END OF BLOCK B1.
START-OF-SELECTION.
PERFORM CALL_DATA.
PERFORM CALL_DISPLAY.

*&-------------------------------------------------------------------------*
*&--------------------------CALL_DATA-------------------------------------*
*&-------------------------------------------------------------------------*
FORM CALL_DATA .

CLEAR: LT_ITEMS,LT_SONUC.

SELECT BUKRS BELNR GJAHR


KUNNR LIFNR MEINS
MENGE DMBTR
INTO CORRESPONDING FIELDS OF TABLE LT_ITEMS
FROM BSEG
WHERE BUKRS IN S_BUKRS
AND BELNR IN S_BELNR
AND GJAHR EQ S_GJAHR.

LOOP AT LT_ITEMS INTO WA.


"MALZEME TANIM
SELECT SINGLE MAKTX
INTO WA-MAKTX
FROM MAKT
WHERE MATNR EQ WA-MATNR.

SELECT SINGLE NAME1 NAME2


INTO (WA-NAME1, WA-NAME2)
FROM KNA1
WHERE KUNNR EQ WA-KUNNR.

SELECT SINGLE NAME1 NAME2


INTO (WA-NAME1_LFA1, WA-NAME2_LFA1)
FROM LFA1
WHERE LIFNR EQ WA-LIFNR.

MODIFY LT_ITEMS INDEX sy-TABIX FROM WA.

ENDLOOP.

ENDFORM. " CALL_DATA

*&-------------------------------------------------------------------------*
*&--------------------------CALL_DISPLAY-----------------------------------*
*&-------------------------------------------------------------------------*
FORM CALL_DISPLAY .

"break bim18.
define add-fieldcat.
gt_fieldcat-fieldname = &1.
gt_fieldcat-ref_tabname = &2.
gt_fieldcat-ref_fieldname = &3.
gt_fieldcat-seltext_s = &4.
gt_fieldcat-seltext_m = &4.
gt_fieldcat-seltext_l = &4.
gt_fieldcat-reptext_ddic = &4.
gt_fieldcat-ddictxt = 'L'.
gt_fieldcat-col_pos = gv_col_pos.

add 1 to gv_col_pos.
append gt_fieldcat.
clear gt_fieldcat.
end-of-definition.

add-fieldcat 'BUKRS' 'LT_SONUC' 'BUKRS' '�irket Kodu'.


add-fieldcat 'BELNR' 'LT_SONUC' 'BELNR' 'Belge No'.
add-fieldcat 'GJAHR' 'LT_SONUC' 'GJAHR' 'Mali Y�l'.
add-fieldcat 'MATNR' 'LT_SONUC' 'MATNR' 'Malzeme Kodu'.
add-fieldcat 'MAKTX' 'LT_SONUC' 'MAKTX' 'Tan�m'.
add-fieldcat 'NAME1' 'LT_SONUC' 'NAME1' 'M�t. Ad 1'.
add-fieldcat 'NAME2' 'LT_SONUC' 'NAME2' 'M�t. Ad 2'.
add-fieldcat 'NAME1_LFA1' 'LT_SONUC' 'NAME1_LFA1' 'Ad 1'.
add-fieldcat 'NAME2_LFA1' 'LT_SONUC' 'NAME1_LFA1' 'Ad 2'.
add-fieldcat 'MENGE' 'LT_SONUC' 'MENGE' 'Miktar'.
add-fieldcat 'MEINS' 'LT_SONUC' 'MEINS' '�l��'.
add-fieldcat 'DMBTR' 'LT_SONUC' 'DMBTR' 'Tutar (UPB)'.

alv_layout-zebra = 'X'.
alv_layout-box_fieldname = 'SEL'.
alv_layout-colwidth_optimize = 'X'.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'


EXPORTING
i_callback_program = sy-repid
it_fieldcat = gt_fieldcat[]
is_layout = alv_layout
i_callback_pf_status_set = 'SET_PF_STATUS'
I_CALLBACK_USER_COMMAND = 'USER_COMMAND_0100'
i_default = 'X'
i_save = 'A'
TABLES
t_outtab = LT_ITEMS[].

ENDFORM. "CALL_DISPLAY

*&-------------------------------------------------------------------------*
*&--------------------------SET_PF_STATUS----------------------------------*
*&-------------------------------------------------------------------------*
form set_pf_status using rt_extab type slis_t_extab.
set pf-status '100'. "gui status name
set titlebar 'T100'.
endform. "set_pf_status

*&-------------------------------------------------------------------------*
*&--------------------------USER_COMMAND_0100------------------------------*
*&-------------------------------------------------------------------------*
form USER_COMMAND_0100 using r_ucomm type sy-ucomm
ls_selfield type slis_selfield.
CASE sy-UCOMM.
WHEN 'YAZDIR'.
PERFORM CALL_SMARTFORMS.
CLEAR OK_100.
ENDCASE.
ENDFORM. "USER_COMMAND_0100

*&-------------------------------------------------------------------------*
*&--------------------------CALL_SMARTFORMS------------------------------*
*&-------------------------------------------------------------------------*
FORM CALL_SMARTFORMS .
CLEAR: LS_ITEMS,LT_SONUC.

*�oklu se�im i�in.


LOOP AT LT_ITEMS.
"BREAK BIM18.
IF LT_ITEMS-SEL = 'X'. "SE��L� OLANLARI AL
MOVE-CORRESPONDING LT_ITEMS TO LS_ITEMS. "SE��L� OLANIN VER�LER�N� STR'A
ATA
DELETE LT_SONUC "AYNI ��RKET KODU VE BELGE
NUMARASI VARSA S�L
WHERE BUKRS = LS_ITEMS-BUKRS
AND BELNR = LS_ITEMS-BELNR.
APPEND LS_ITEMS TO LT_SONUC. "YEN� DE�ER� EKLE
ENDIF.
ENDLOOP.

DATA: LV_ANSWER.
data: lv_formname type tdsfname.
data: ls_control_param type ssfctrlop,
cs_composer_param type ssfcompop.
data: fm_name type rs38l_fnam.

lv_formname = 'ZMM13001'.
************************************do�rudan yazd�r
ls_control_param-no_dialog = ' '. "Yazd�rma diyalog penceresi
ls_control_param-preview = 'X'. "�nizleme Sayfas�
ls_control_param-device = 'PRINTER'."Yaz�c� modu
ls_control_param-langu = 'T'. "Dil Deste�i
cs_composer_param-tdprinter = 'ZI9SWIN'."Yaz�c� Ayg�t Tipi
"cs_composer_param-tddest = 'ZLOC'. "Yaz�c� K�sa Ad�
"cs_composer_param-rqposname = 'ZLOCAL'. "Yaz�c�
cs_composer_param-tdnewid = 'X'.
cs_composer_param-tdimmed = 'X'. "Hemen yazdir TDRECE
************************************do�rudan yazd�r

CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'


EXPORTING
formname = lv_formname
IMPORTING
fm_name = fm_name.

LOOP AT LT_SONUC.
CALL FUNCTION fm_name
EXPORTING
control_parameters = ls_control_param
output_options = cs_composer_param
user_settings = ''
GV_BUKRS = LT_SONUC-BUKRS
GV_BELNR = LT_SONUC-BELNR
GV_GJAHR = LT_SONUC-GJAHR
EXCEPTIONS
formatting_error = 1
internal_error = 2
send_error = 3
user_canceled = 4
others = 5.
ENDLOOP.

ENDFORM. " CALL_SMARTFORMS

You might also like