|
Report (301) |
Home | ||||
|
Previous Next | |||||
Sebelum REPORT ypractice_101.
Setelah REPORT ypractice_301.
DATA: ok_code LIKE sy-ucomm, save_ok TYPE sy-ucomm.
* Dibutuhkan Report HTML TYPES: BEGIN OF gy_html_code, line_code(1000), END OF gy_html_code. DATA: gi_html_code TYPE TABLE OF gy_html_code WITH HEADER LINE.
DATA: cc_report_display TYPE REF TO cl_gui_html_viewer, web_container TYPE REF TO cl_gui_custom_container.
DEFINE write_code1. clear gi_html_code. gi_html_code-line_code = &1. append gi_html_code. END-OF-DEFINITION.
DEFINE write_code2. clear gi_html_code. concatenate &1 &2 into gi_html_code-line_code. append gi_html_code. END-OF-DEFINITION.
DEFINE write_code3. clear gi_html_code. concatenate &1 &2 &3 into gi_html_code-line_code. append gi_html_code. END-OF-DEFINITION.
Sebelum *----------------------------------------------------------------------* *Input Screen/Selection *----------------------------------------------------------------------* SELECT-OPTIONS so_matkl FOR mara-matkl. SELECT-OPTIONS so_matnr FOR mara-matnr.
Setelah *----------------------------------------------------------------------* *Input Screen/Selection *----------------------------------------------------------------------* SELECTION-SCREEN BEGIN OF BLOCK groupbox1 WITH FRAME TITLE text_101. "Declare Group Box 1
SELECTION-SCREEN BEGIN OF LINE. SELECTION-SCREEN COMMENT 1(14) text_102 FOR FIELD so_matkl. SELECT-OPTIONS so_matkl FOR mara-matkl OBLIGATORY DEFAULT '001'. SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE. SELECTION-SCREEN COMMENT 1(14) text_103 FOR FIELD so_matnr. SELECT-OPTIONS so_matnr FOR mara-matnr. SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK groupbox1. "End Group Box 1
SELECTION-SCREEN BEGIN OF BLOCK groupbox2 WITH FRAME TITLE text_201. "Declare Group Box 2
SELECTION-SCREEN BEGIN OF LINE. SELECTION-SCREEN COMMENT 1(18) text_202 FOR FIELD p_fname. PARAMETERS p_fname LIKE rlgrap-filename OBLIGATORY DEFAULT 'C:\abap_report_01.html'. SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK groupbox2. "End Group Box 2
*&--------------------------------------------------------------------* *& Form fm_initialization *&--------------------------------------------------------------------* * text *---------------------------------------------------------------------* FORM fm_initialization. IF cc_report_display IS INITIAL.
CREATE OBJECT web_container EXPORTING container_name = 'CC_REPORT_DISPLAY'.
CREATE OBJECT cc_report_display EXPORTING parent = web_container. IF sy-subrc NE 0. * ENDIF. ENDIF. ENDFORM. "fm_initialization
*----------------------------------------------------------------------* *INITIALIZATION *----------------------------------------------------------------------* INITIALIZATION. text_101 = 'Selection Parameter'. text_102 = 'Material Group'. text_103 = 'Material Number'.
text_201 = 'Save Html File'. text_202 = 'File Location'.
PERFORM fm_initialization.
*&--------------------------------------------------------------------* *& Form fm_create_css *&--------------------------------------------------------------------* * text *---------------------------------------------------------------------* * -->FV_CSS text *---------------------------------------------------------------------* FORM fm_create_css. write_code1 '<style type="text/css">'. write_code1 '<!--'. write_code1 '.styleHeader {'. write_code1 ' font-family: Arial, Helvetica, sans-serif;'. write_code1 ' font-size: 12px;'. write_code1 ' font-weight: bold;'. write_code1 ' text-align: center;'. write_code1 ' }'. write_code1 '.style1 {'. write_code1 ' font-family: Arial, Helvetica, sans-serif;'. write_code1 ' font-size: 12px;'. write_code1 ' text-align: center;'. write_code1 ' }'. write_code1 '.style2 {'. write_code1 ' font-family: Arial, Helvetica, sans-serif;'. write_code1 ' font-size: 12px;'. write_code1 ' text-align: left;'. write_code1 ' }'. write_code1 '-->'. write_code1 '</style>'.
ENDFORM. "fm_create_css
*&--------------------------------------------------------------------* *& Form fm_create_temp_html *&--------------------------------------------------------------------* * text *---------------------------------------------------------------------* * -->FI_FILE text * -->FV_URL text *---------------------------------------------------------------------* FORM fm_create_html_file TABLES fi_file STRUCTURE gi_html_code USING fv_url. CONDENSE fv_url NO-GAPS.
CALL FUNCTION 'WS_DOWNLOAD' EXPORTING filename = fv_url filetype = 'ASC' TABLES data_tab = fi_file EXCEPTIONS file_open_error = 1 file_write_error = 2 invalid_filesize = 3 invalid_table_width = 4 invalid_type = 5 no_batch = 6 unknown_error = 7 OTHERS = 8.
ENDFORM. "fm_create_temp_html
*&--------------------------------------------------------------------* *& Form fm_load_html *&--------------------------------------------------------------------* * text *---------------------------------------------------------------------* * -->URL text *---------------------------------------------------------------------* FORM fm_load_html USING fv_url. CALL METHOD cc_report_display->show_url EXPORTING url = fv_url. ENDFORM. "fm_load_html
Sebelum *&--------------------------------------------------------------------* *& Form fm_display_data *&--------------------------------------------------------------------* * text *---------------------------------------------------------------------* FORM fm_display_data. * membuat Teks Header ULINE AT (gv_width). " Upper frame border FORMAT COLOR COL_HEADING INTENSIFIED. " Title color macro_data_possition : 'HEADER' 'Mat. Group' 'Mat. No.' 'Description' 'Old Mat. No.' 'Base Unit' 'Measure'. WRITE: AT gv_width sy-vline. " Right border ULINE AT (gv_width). " Line below titles FORMAT COLOR OFF.
* Menampilkan Data Ke Layar LOOP AT gi_header. macro_data_possition : 'CONTENT' gi_header-matkl gi_header-matnr gi_header-maktx gi_header-bismt gi_header-meins gi_header-mseht. ENDLOOP.
* Akhir dari Line ULINE AT (gv_width). " Line below last data
ENDFORM. "fm_display_data
Setelah *&--------------------------------------------------------------------* *& Form fm_display_data *&--------------------------------------------------------------------* * text *---------------------------------------------------------------------* FORM fm_display_data.
REFRESH gi_html_code.
PERFORM fm_create_css. write_code1 '<body>'. write_code1 '<table width="100%" border="0" cellspacing="2" cellpadding="0">'.
* Membuat Teks Header write_code1 ' <tr bgcolor="#999999" class="styleHeader">'. write_code1 ' <td>Mat. Group</td>'. write_code1 ' <td>Mat. No.</td>'. write_code1 ' <td>Description</td>'. write_code1 ' <td>Old Mat. No.</td>'. write_code1 ' <td>Base Unit of Measure</td>'. write_code1 ' <td>Measure</td>'. write_code1 ' </tr>'.
* Memnampilkan Data Ke Layar LOOP AT gi_header. write_code1 ' <tr bgcolor="#EBEBEB">'. write_code3 ' <td class="style1">' gi_header-matkl '</td>'. write_code3 ' <td class="style1">' gi_header-matnr '</td>'. write_code3 ' <td class="style2">' gi_header-maktx '</td>'. write_code3 ' <td class="style2">' gi_header-bismt '</td>'. write_code3 ' <td class="style1">' gi_header-meins '</td>'. write_code3 ' <td class="style2">' gi_header-mseht '</td>'. write_code1 ' </tr>'.
ENDLOOP.
* Akhir Dari Line write_code1 '</table>'. write_code1 '</body>'.
PERFORM fm_create_html_file TABLES gi_html_code USING p_fname. PERFORM fm_load_html USING p_fname.
CALL SCREEN 2000.
ENDFORM. "fm_display_data
Sebelum PROCESS BEFORE OUTPUT. * MODULE STATUS_2000. * PROCESS AFTER INPUT. * MODULE USER_COMMAND_2000.
Setelah PROCESS BEFORE OUTPUT. MODULE STATUS_2000. * PROCESS AFTER INPUT. MODULE USER_COMMAND_2000.
Sebelum *&---------------------------------------------------------------------* *& Module STATUS_2000 OUTPUT *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* module STATUS_2000 output. * SET PF-STATUS 'xxxxxxxx'. * SET TITLEBAR 'xxx'.
endmodule. " STATUS_2000 OUTPUT
Setelah *&---------------------------------------------------------------------* *& Module STATUS_2000 OUTPUT *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* module STATUS_2000 output. SET PF-STATUS 'ST_2000'. * SET TITLEBAR 'xxx'.
endmodule. " STATUS_2000 OUTPUT
Sebelum *&---------------------------------------------------------------------* *& Module USER_COMMAND_2000 INPUT *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* module USER_COMMAND_2000 input.
endmodule. " USER_COMMAND_2000 INPUT
Setelah *&---------------------------------------------------------------------* *& Module USER_COMMAND_2000 INPUT *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* MODULE user_command_2000 INPUT. save_ok = ok_code. CLEAR ok_code.
CASE save_ok. WHEN 'BACK'. LEAVE TO SCREEN 0. WHEN OTHERS.
ENDCASE.
CLEAR ok_code. ENDMODULE. " USER_COMMAND_2000 INPUT
|
| User Threads | New Thread ( Only for Donators ) |
|
|
|||
| Threads | Last Post | Replies | Views |
|
|
|||