0% found this document useful (0 votes)
15 views3 pages

Odev 2

The document describes an ABAP report that allows selecting and outputting data from different tables based on user selections. It defines data objects and selection screen parameters for choosing between sales orders, deliveries, or invoices. Based on the selection, it filters and outputs the relevant data along with a summary count.

Uploaded by

Ayberk Uygun
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)
15 views3 pages

Odev 2

The document describes an ABAP report that allows selecting and outputting data from different tables based on user selections. It defines data objects and selection screen parameters for choosing between sales orders, deliveries, or invoices. Based on the selection, it filters and outputs the relevant data along with a summary count.

Uploaded by

Ayberk Uygun
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/ 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