IF lw_save_result = 0. "başarılıysa CALL FUNCTION 'GUI_DOWNLOAD' EXPORTING filename = lw_filename "otomatic olsun filetype = 'ASC' write_field_separator = 'X' "araya boşluk vermek ıcın write_lf = 'X' TABLES data_tab = gt_list.
IF sy-subrc <> 0. MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. ENDIF. ENDIF.
**************/ PROGRAM BİTİŞ /*****************************
Program Açıklaması :
Değişkenler lw_filename TYPE string; " Diyalog penceresinde default göstereceğimiz dosya ismi lw_path TYPE string, " Diyalog penceresinin default göstereceği bölüm (Örn : C:\Users\destop) lw_fullpath TYPE string, " Dosya ismi ile birlikte full ismin atanacağı değişken (Örnek : C:\Users\destop\export.txt)
İnternal Tablo Tanımlama DATA : BEGIN OF gt_list OCCURS 0 , mmetin LIKE mara-matkl, "bosluk olan" matnr LIKE mara-matnr, ersda LIKE mara-ersda, END OF gt_list.
İnternal tabloya veri aktarımı INITIALIZATION. "Bu kısımda aktarmamızın nedeni bir seçim ekranının olmaması ve diyalog penc. direkt karşımıza çıkması SELECT matkl matnr ersda INTO CORRESPONDING FIELDS OF TABLE gt_list FROM mara . "Benzer alanları gt_list tablosuna aktardık
*Kaydetme diyalog penceresini göster cl_gui_frontend_services=>file_save_dialog( EXPORTING window_title = 'SAP den Txt dosyası kaydetme.' " Diyalog penceresinin başlığı. default_extension = 'TXT' " Uzantı tipi. default_file_name = 'Export' " Varsayılan dosya adı verebiliriz. initial_directory = 'C:\Users\destop' " Varsayılan konum masaüstü CHANGING filename = lw_filename " Dosya adı path = lw_path " Kısa uzantı fullpath = lw_fullpath " Full uzantı user_action = lw_save_result " Kaydetme sonucunda dönen değer ).
Eğer lw_save_result a dönen değer 0 ise yani başarılı ise;
IF lw_save_result = 0. "başarılıysa CALL FUNCTION 'GUI_DOWNLOAD' EXPORTING filename = lw_filename " Otomatic olsun filetype = 'ASC' " Dosya Tipi ASC txt uzantılı write_field_separator = 'X' " Araya boşluk vermek ıcın write_lf = 'X' TABLES data_tab = gt_list. " Ve text dosyası içine gidecek verilerin olduğu internal tablo
IF sy-subrc <> 0. MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. ENDIF. ENDIF.
Serkan AKKAVAK
Bilgisayar Mühendisi
serkurumsal@yandex.com
Social Plugin