|
<< Click to Display Table of Contents >> Navigation: All About ABAP Technique > Indonesia > ABAP Report > Display Output > Report (202) - Create Printer Setup |
Objektif |
|
Kode Transaksi |
|
Tabel |
MARA - General Material Data (Data Material Umum) MAKT - Material Descriptions (Deskripsi Material) T006A - Assign Internal to Language-Dependent Unit |
Support |
1.Buka SE38
2.Salin Program "YPRACTICE_201" menjadi "YPRACTICE_202"
3.Ubah Program "YPRACTICE_202"
4.Buka Goto > Attributes, dan ubah "Title" dengan "202 - Display and Print List of Master Material"
5.Modifikasi Deklarasi Report
Sebelum
REPORT ypractice_201
NO STANDARD PAGE HEADING.
Setelah
REPORT ypractice_202
NO STANDARD PAGE HEADING.
6.Tambahkan 2 variabel global
DATA: gw_pri_params TYPE pri_params,
gv_valid TYPE c.
7.Modifikasi "Input Screen/Selection"
Sebelum
*----------------------------------------------------------------------*
*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(18) text_102 FOR FIELD so_matkl.
SELECT-OPTIONS so_matkl FOR mara-matkl.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(18) 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_mwidth.
PARAMETERS p_mwidth TYPE n DEFAULT 113 LENGTH 4.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(18) text_203 FOR FIELD p_mline .
PARAMETERS p_mline TYPE n DEFAULT 30 LENGTH 4.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK groupbox2. "End Group Box 2
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(18) text_102 FOR FIELD so_matkl.
SELECT-OPTIONS so_matkl FOR mara-matkl.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(18) 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_mwidth.
PARAMETERS p_mwidth TYPE n DEFAULT 113 LENGTH 4.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(18) text_203 FOR FIELD p_mline .
PARAMETERS p_mline TYPE n DEFAULT 30 LENGTH 4.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK groupbox2. "End Group Box 2
SELECTION-SCREEN BEGIN OF BLOCK groupbox3 WITH FRAME TITLE text_301. "Declare Group Box 3 - Print Parameter
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(18) text_311.
PARAMETERS: p_pdest LIKE pri_params-pdest DEFAULT 'LOCL'.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(18) text_312.
PARAMETERS p_paart LIKE pri_params-paart DEFAULT 'X_44_120'.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(18) text_313.
PARAMETERS p_dialog TYPE c AS CHECKBOX DEFAULT 'X'.
SELECTION-SCREEN COMMENT 23(25) text_314 FOR FIELD p_dialog.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN ULINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(18) text_321.
PARAMETERS p_prv RADIOBUTTON GROUP rad1 VISIBLE LENGTH 20.
SELECTION-SCREEN COMMENT 23(8) text_322 FOR FIELD p_prv.
PARAMETERS p_prt RADIOBUTTON GROUP rad1 DEFAULT 'X'.
SELECTION-SCREEN COMMENT 34(8) text_323 FOR FIELD p_prt.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK groupbox3. "End Group Box 3
8.Tambahkan teks pada "EVENT"
text_301 = 'Print Setup'.
text_311 = 'Output Device'.
text_312 = 'Printer Layout'.
text_313 = ' '.
text_314 = 'Show Printer Dialog'.
text_321 = 'Print Option'.
text_322 = 'Preview'.
text_323 = 'Print'.
9.Modifikasi "MAIN PROGRAM"
Sebelum
*======================================================================*
*MAIN PROGRAM
*Execute after Input Screen
*======================================================================*
START-OF-SELECTION.
NEW-PAGE LINE-SIZE p_mwidth.
NEW-PAGE LINE-COUNT p_mline.
PERFORM fm_collect_data.
PERFORM fm_process_data.
PERFORM fm_display_data.
END-OF-SELECTION.
Setelah
*======================================================================*
*MAIN PROGRAM
*Execute after Input Screen
*======================================================================*
START-OF-SELECTION.
FORMAT RESET.
NEW-PAGE LINE-SIZE p_mwidth.
NEW-PAGE LINE-COUNT p_mline.
PERFORM fm_collect_data.
PERFORM fm_process_data.
IF LINES( gi_header ) > 0.
IF p_prt = 'X'.
PERFORM fm_print_setup.
ENDIF.
PERFORM fm_display_data.
ELSE.
PERFORM fm_showmessage.
ENDIF.
END-OF-SELECTION.
10.Buat 2 sub routine baru, "fm_print_setup" and "fm_showmessage"
*&--------------------------------------------------------------------*
*& Form fm_print_setup
*&--------------------------------------------------------------------*
* text
*---------------------------------------------------------------------*
FORM fm_print_setup.
DATA: lv_dialog TYPE c.
IF p_prt = 'X'.
IF p_dialog = 'X'.
lv_dialog = ' '.
ELSE.
lv_dialog = 'X'.
ENDIF.
CALL FUNCTION 'GET_PRINT_PARAMETERS'
EXPORTING
destination = p_pdest
immediately = 'X'
draft = ' '
no_dialog = lv_dialog
release = 'X'
layout = p_paart
IMPORTING
out_parameters = gw_pri_params
valid = gv_valid
EXCEPTIONS
archive_info_not_found = 1
invalid_print_params = 2
invalid_archive_params = 3
OTHERS = 4.
* Setting Printer Dot Matrix
* PRINT-CONTROL CPI 17. "CPI cpiLetters per inch
* PRINT-CONTROL LPI 6. "LPI lpiLines per inch
*__________________________________________________
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
CHECK gv_valid = 'X'.
NEW-PAGE PRINT ON PARAMETERS gw_pri_params NO DIALOG.
ENDIF.
ENDFORM. "fm_print_setup
*&--------------------------------------------------------------------*
*& Form fm_showmessage
*&--------------------------------------------------------------------*
* text
*---------------------------------------------------------------------*
FORM fm_showmessage.
MESSAGE 'File not found.' TYPE 'I'.
ENDFORM. "fm_showmessage
11.Aktivasi dan jalankan Program
13.Selesai
▪Seleksi Input

▪Output
Mulai ngeprint tanpa Preview

Test Ngeprint ke PDF writer

Selamat "Sekarang Anda telah mempunyai template report untuk Display Output"
Kita akan menunjukkan kepada anda tentang kode abap ini dijadikan template di report lain.
Mulai membuat report lainnya : Report (203)