-
-
Notifications
You must be signed in to change notification settings - Fork 22
Description
REPORT zsd_musteri_siparis_alv.
*-----------------------------
- Tablo tanımlamaları
*-----------------------------
TABLES: vbak.
*-----------------------------
- Tip tanımı (Satır yapısı)
*-----------------------------
TYPES: BEGIN OF ty_siparis,
vbeln TYPE vbak-vbeln, "Satış Belge Numarası
erdat TYPE vbak-erdat, "Oluşturulma Tarihi
auart TYPE vbak-auart, "Belge Tipi (örn. OR, TA)
vkorg TYPE vbak-vkorg, "Satış Organizasyonu
vtweg TYPE vbak-vtweg, "Dağıtım Kanalı
spart TYPE vbak-spart, "Ürün Bölümü
END OF ty_siparis.
*-----------------------------
- Veritabanı için dahili tablo
*-----------------------------
DATA: it_siparis TYPE STANDARD TABLE OF ty_siparis,
wa_siparis TYPE ty_siparis.
*-----------------------------
- ALV tanımları
*-----------------------------
DATA: gr_alv TYPE REF TO cl_gui_alv_grid,
gr_container TYPE REF TO cl_gui_custom_container.
*-----------------------------
- Parametre (Müşteri numarası girişi)
*-----------------------------
PARAMETERS: p_kunnr TYPE vbak-kunnr OBLIGATORY.
*-----------------------------
-
Ana işlem bloğu
*-----------------------------
START-OF-SELECTION."Veritabanından müşteri numarasına göre satış belgelerini çek
SELECT vbeln erdat auart vkorg vtweg spart
INTO TABLE it_siparis
FROM vbak
WHERE kunnr = p_kunnr.IF sy-subrc <> 0.
MESSAGE 'Bu müşteri numarasına ait sipariş bulunamadı.' TYPE 'I'.
EXIT.
ENDIF."Ekran çağrısı (SCREEN 100)
CALL SCREEN 100.
*============================
- EKRAN 100 MODÜLLERİ
*============================
MODULE status_0100 OUTPUT.
SET PF-STATUS 'STANDARD'. "Standart geri butonlarını kullan
"ALV nesneleri ilk defa oluşturuluyorsa
IF gr_container IS INITIAL.
CREATE OBJECT gr_container
EXPORTING container_name = 'CONTAINER'.
CREATE OBJECT gr_alv
EXPORTING i_parent = gr_container.
CALL METHOD gr_alv->set_table_for_first_display
EXPORTING
i_structure_name = 'TY_SIPARIS'
CHANGING
it_outtab = it_siparis.
ENDIF.
ENDMODULE.
MODULE user_command_0100 INPUT.
"Kullanıcı geri, çıkış, iptal gibi komut girerse çık
CASE sy-ucomm.
WHEN 'BACK' OR 'EXIT' OR 'CANCEL'.
LEAVE PROGRAM.
ENDCASE.
ENDMODULE.