|
YABAP_TOOLS_READ_TABLE_02 |
Home | ||||
|
Previous Next | |||||
|
*&---------------------------------------------------------------------* *& Report YABApa_TOOLS_READ_TABLE_02 *& *&---------------------------------------------------------------------* *& Created By : Albertus Reinandang * *& Date : 12.05.2010 * *& * *& Edited By : Yance Ciputra dan Dyan Pravita Sari * *& Date : 16.05.2010 * *&---------------------------------------------------------------------*
REPORT yabapa_tools_read_table_02.
TABLES : dd02l, dd03l,soid.
DATA : gi_dd02l LIKE STANDARD TABLE OF dd02l WITH HEADER LINE.
SELECTION-SCREEN BEGIN OF BLOCK zblk01 WITH FRAME TITLE text_101.
SELECTION-SCREEN BEGIN OF LINE. SELECTION-SCREEN COMMENT 1(16) text_102 FOR FIELD so_tbma. SELECT-OPTIONS so_tbma FOR dd02l-tabname OBLIGATORY. SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE. SELECTION-SCREEN COMMENT 1(19) text_103 FOR FIELD pa_spara. PARAMETERS pa_spara TYPE sonv-flag DEFAULT ',' OBLIGATORY. SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE. SELECTION-SCREEN COMMENT 1(19) text_104 FOR FIELD pa_data. PARAMETERS pa_data LIKE sonv-flag. SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE. SELECTION-SCREEN COMMENT 1(19) text_105 FOR FIELD pa_dir. PARAMETERS pa_dir TYPE char40 DEFAULT 'c:\backup\dictionary\'. SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK zblk01.
INITIALIZATION.
text_101 = 'Transport to txt File'. text_102 = 'Table Name '. text_103 = 'Sparator'. text_104 = 'With Data'. text_105 = 'Directory'.
START-OF-SELECTION.
PERFORM fm_collect_data.
IF LINES( gi_dd02l ) > 0.
PERFORM fm_process_data.
ELSE.
MESSAGE 'Masukan data yang benar' TYPE 'I'.
ENDIF.
*&---------------------------------------------------------------------* *& Form fm_collect_data *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* FORM fm_collect_data.
SELECT * INTO TABLE gi_dd02l FROM dd02l WHERE tabname IN so_tbma.
ENDFORM. "fm_collect_data
*&---------------------------------------------------------------------* *& Form fm_process_data *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* FORM fm_process_data. DATA : lv_filename1 TYPE string, lv_filename2 TYPE string, lv_no_data TYPE sonv-flag.
DATA : li_options LIKE STANDARD TABLE OF rfc_db_opt WITH HEADER LINE, li_fields LIKE STANDARD TABLE OF rfc_db_fld WITH HEADER LINE, li_data LIKE STANDARD TABLE OF ytab WITH HEADER LINE,
"YTAB -> Lihat pada ABAP Tutorial "Cara Meningkatkan Buffer pada Function RFC_READ_TABLE"
li_table_structure LIKE STANDARD TABLE OF dfies WITH HEADER LINE.
IF pa_data = ' '. lv_no_data = 'X'. ENDIF.
CONDENSE pa_dir. LOOP AT gi_dd02l. REFRESH : li_options, li_fields, li_data, li_table_structure. CONCATENATE pa_dir gi_dd02l-tabname '_STRUCTURE.txt' INTO lv_filename1. CONCATENATE pa_dir gi_dd02l-tabname '_CONTENT.txt' INTO lv_filename2. CONDENSE : lv_filename1, lv_filename2.
* YRFC_READ_TABLE -> Lihat pada ABAP Tutorial "How to Increase Buffer in RFC_READ_TABLE Function 02" * Tambahkan table parameter pada function YRFC_READ_TABLE, lihat ke tutorial "How to Increase Buffer in * RFC READ TABLE Function 02" .
CALL FUNCTION 'YRFC_READ_TABLE' EXPORTING query_table = gi_dd02l-tabname delimiter = pa_spara no_data = lv_no_data TABLES OPTIONS = li_options fields = li_fields data = li_data table_structure = li_table_structure.
* Download Stucture IF pa_data <> 'X'. CALL FUNCTION 'GUI_DOWNLOAD' EXPORTING filename = lv_filename1 TABLES data_tab = li_table_structure. IF sy-subrc = 0. MESSAGE 'Berhasil Download Table' TYPE 'I'. ENDIF. ENDIF.
* Download Data IF pa_data = 'X'. CALL FUNCTION 'GUI_DOWNLOAD' EXPORTING filename = lv_filename2 TABLES data_tab = li_data. IF sy-subrc = 0. MESSAGE 'Berhasil Download Table' TYPE 'I'. ENDIF. ENDIF.
ENDLOOP.
ENDFORM. "fm_process_data |
| User Threads | New Thread ( Only for Donators ) |
|
|
|||
| Threads | Last Post | Replies | Views |
|
|
|||