Report (202) - Create Printer Setup

<< Click to Display Table of Contents >>

Navigation:  All About ABAP Technique > Indonesia > ABAP Report > Display Output >

Report (202) - Create Printer Setup

Objektif

Membuat Report

Hasil

Kode Sintak

Kode Transaksi

SE38 - ABAP Editor

Tabel

MARA - General Material Data (Data Material Umum)

MAKT - Material Descriptions (Deskripsi Material)

T006A - Assign Internal to Language-Dependent Unit

Support

Video

 

Membuat Report

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

12.Membuat T-Code "YP202"

13.Selesai

 

Hasil

Seleksi Input

ar0010

Output

Mulai ngeprint tanpa Preview

ar0011

Test Ngeprint ke PDF writer

ar0012

 

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)