You are on page 1of 3

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

*& Report ZAU_HOMEWORK_002_1


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

" zau_messages

REPORT zau_homework_002_1.

TABLES: vbak,
likp,
vbrk.

DATA: it_vbak TYPE TABLE OF vbak,


wa_vbak TYPE vbak,
it_likp TYPE TABLE OF likp,
wa_likp TYPE likp,
it_vbrk TYPE TABLE OF vbrk,
wa_vbrk TYPE vbrk.

DATA: lv_count TYPE i.

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


PARAMETERS : p_sip RADIOBUTTON GROUP gr1.
PARAMETERS : p_tes RADIOBUTTON GROUP gr1.
PARAMETERS : p_fat RADIOBUTTON GROUP gr1.
SELECTION-SCREEN END OF BLOCK blk1.

SELECTION-SCREEN BEGIN OF BLOCK blk5 WITH FRAME TITLE TEXT-005.


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

PARAMETERS: p_tarih TYPE sy-datum DEFAULT sy-datum MODIF ID xyz.

SELECT-OPTIONS: s_vbelns FOR vbak-vbeln MODIF ID c1,


s_vbelnt FOR likp-vbeln MODIF ID c2,
s_vbelnf FOR vbrk-vbeln MODIF ID c3.
SELECT-OPTIONS: s_erdat FOR vbak-erdat.

SELECTION-SCREEN BEGIN OF BLOCK blk6 WITH FRAME TITLE TEXT-006.


PARAMETERS: p_checkb AS CHECKBOX USER-COMMAND u_chk.
SELECTION-SCREEN END OF BLOCK blk6.

SELECTION-SCREEN END OF BLOCK blk2.


SELECTION-SCREEN END OF BLOCK blk5.

AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF screen-name = 'P_TARIH' AND screen-group1 = 'XYZ'.
screen-input = 0. " Değiştirilemez yapar
ENDIF.

IF screen-group1 = 'C1'.
IF p_sip = 'X'.
screen-active = 1.
ELSE.
screen-active = 0.
ENDIF.
ENDIF.

IF screen-group1 = 'C2'.
IF p_tes = 'X'.
screen-active = 1.
ELSE.
screen-active = 0.
ENDIF.
ENDIF.

IF screen-group1 = 'C3'.
IF p_fat = 'X'.
screen-active = 1.
ELSE.
screen-active = 0.
ENDIF.
ENDIF.

IF screen-name = 'P_CHECKB'.
IF p_tes = 'X'.
screen-active = 1.
screen-input = 1.
ELSEIF p_sip = 'X'.
screen-active = 1.
screen-input = 0.
ELSEIF p_fat = 'X'.
screen-active = 1.
screen-input = 0.
ENDIF.
ENDIF.

MODIFY SCREEN.
ENDLOOP.

*AT SELECTION-SCREEN.
*IF p_sip = 'X'.
* IF s_vbelns[] IS INITIAL.
* MESSAGE e001(zau_messages).
* ENDIF.
*ENDIF.
*
*IF p_tes = 'X'.
* IF s_vbelnt[] IS INITIAL.
* MESSAGE e002(zau_messages).
* ENDIF.
*ENDIF.
*
*IF p_fat = 'X'.
* IF s_vbelnf[] IS INITIAL.
* MESSAGE e003(zau_messages).
* ENDIF.
*ENDIF.

START-OF-SELECTION.

IF p_sip = 'X'.
SELECT *
FROM vbak
INTO CORRESPONDING FIELDS OF TABLE @it_vbak
WHERE vbeln IN @s_vbelns
AND erdat IN @s_erdat.

DESCRIBE TABLE it_vbak LINES lv_count.


IF lv_count = 0.
MESSAGE 'Uygun veri bulunamadı' TYPE 'I'.
ELSE.
WRITE: / 'Siparişler için Toplam Kayıt Sayısı:', lv_count.
ENDIF.

LOOP AT it_vbak INTO wa_vbak.


WRITE: / wa_vbak-vbeln, wa_vbak-erdat.
ENDLOOP.

ELSEIF p_tes = 'X'.


SELECT vbeln, erdat, vkorg
FROM likp
INTO CORRESPONDING FIELDS OF TABLE @it_likp
WHERE vbeln IN @s_vbelnt
AND erdat IN @s_erdat.

DESCRIBE TABLE it_likp LINES lv_count.


IF lv_count = 0.
MESSAGE 'Uygun veri bulunamadı' TYPE 'I'.
ELSE.
WRITE: / 'Teslimatlar için Toplam Kayıt Sayısı:', lv_count.
ENDIF.

LOOP AT it_likp INTO wa_likp.


IF p_checkb = 'X'.
WRITE: / wa_likp-vbeln, wa_likp-erdat, wa_likp-spe_loekz.
ELSE.
WRITE: / wa_likp-vbeln, wa_likp-erdat.
ENDIF.
ENDLOOP.

ELSEIF p_fat = 'X'.


SELECT vbeln, erdat, fkart
FROM vbrk
INTO CORRESPONDING FIELDS OF TABLE @it_vbrk
WHERE vbeln IN @s_vbelnf
AND erdat IN @s_erdat.

DESCRIBE TABLE it_vbrk LINES lv_count.


IF lv_count = 0.
MESSAGE 'Uygun veri bulunamadı' TYPE 'I'.
ELSE.
WRITE: / 'Faturalar için Toplam Kayıt Sayısı:', lv_count.
ENDIF.

LOOP AT it_vbrk INTO wa_vbrk.


WRITE: / wa_vbrk-vbeln, wa_vbrk-erdat.
ENDLOOP.

ENDIF.

You might also like