Report (203) - Create Asset Report using Template from Report (202)

<< Click to Display Table of Contents >>

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

Report (203) - Create Asset Report using Template from Report (202)

Objektif

Membuat Report

Hasil

Kode Sintak

Kode Transaksi

SE38 - ABAP Editor

AS03 - Display Asset

Tabel

ANLA - Asset Master Record Segment (Master Aset.......)

ANLZ - Time-Dependent Asset Allocations (waktu yang dipengaruhi alokasi aset)

T499S - Location (Lokasi)

Support

Video

 

Membuat Report

1.Buka SE38

2.Salin Program "YPRACTICE_202" menjadi "YPRACTICE_203"

3.Ubah Program "YPRACTICE_203"

4.Buka Goto > Attributes, dan ubah "Title" dengan "203 - Display and Print List of Master Asset"

5.Modifikasi Deklarasi Report

Sebelum

REPORT  ypractice_202 

        NO STANDARD PAGE HEADING.

 

Setelah

REPORT  ypractice_203 

        NO STANDARD PAGE HEADING.

 

6.Modified "Tables"

Sebelum

*----------------------------------------------------------------------*

* Tables

*----------------------------------------------------------------------*

TABLES : mara, makt, t006a.

 

Setelah

*----------------------------------------------------------------------*

* Tables

*----------------------------------------------------------------------*

TABLES : anla, anlz, t499s.

 

7.Modified Define "macro_data_possition" according to field length

Sebelum

  if &1 = 'HEADER'.

    write :  /'|' no-gap,(9)  &2 centered,

              '|' no-gap,(18) &3 centered,

              '|' no-gap,(40) &4 centered,

              '|' no-gap,(18) &5 centered,

              '|' no-gap,(5)  &6 centered,

              '|' no-gap,(10) &7 centered,

              '|' no-gap.

  else.

    write :  /'|' no-gap,(9)  &2 centered,

              '|' no-gap,(18) &3 ,

              '|' no-gap,(40) &4 ,

              '|' no-gap,(18) &5 ,

              '|' no-gap,(5)  &6 ,

              '|' no-gap,(10) &7 ,

              '|' no-gap.

  endif.

Setelah

  if &1 = 'HEADER'.

    write :  /'|' no-gap,(12) &2 no-gap centered,

              '|' no-gap,(4)  &3 no-gap centered,

              '|' no-gap,(50) &4 no-gap centered,

              '|' no-gap,(10) &5 no-gap centered,

              '|' no-gap,(40) &6 no-gap centered,

              '|' no-gap,(12) &7 no-gap centered,

              '|' no-gap.

  else.

    write :  /'|' no-gap,(12) &2 no-gap centered,

              '|' no-gap,(4)  &3 no-gap centered,

              '|' no-gap,(50) &4 no-gap,

              '|' no-gap,(10) &5 no-gap centered,

              '|' no-gap,(40) &6 no-gap,

              '|' no-gap,(12) &7 no-gap centered,

              '|' no-gap.

  endif.

 

8.Modified Global Variables

Sebelum

TYPES: BEGIN OF ty_header,

        matkl LIKE mara-matkl,  " Material Group

        matnr LIKE mara-matnr,  " Material Number

        maktx LIKE makt-maktx,  " Material Descriptiop

        bismt LIKE mara-bismt,  " Old material number

        meins LIKE mara-meins,  " Base Unit of Measure

        mseht LIKE t006a-mseht, " Unit of Measurement Text

      END OF ty_header.

 

DATA: gi_header TYPE STANDARD TABLE OF ty_header WITH HEADER LINE,

      gi_makt  LIKE STANDARD TABLE OF makt WITH HEADER LINE,

      gi_t006a LIKE STANDARD TABLE OF t006a WITH HEADER LINE.

 

Setelah

TYPES: BEGIN OF ty_header,

        anln1 LIKE anla-anln1,  " Main Asset Number

        anln2 LIKE anla-anln2,  " Asset Subnumber

        txt50 LIKE anla-txt50,  " Asset description

        stort LIKE anlz-stort,  " Asset location

        ktext LIKE t499s-ktext, " Location description

        aktiv LIKE anla-aktiv,  " Asset capitalization date

      END OF ty_header.

 

DATA: gi_header TYPE STANDARD TABLE OF ty_header WITH HEADER LINE,

      gi_anla  LIKE STANDARD TABLE OF anla WITH HEADER LINE,

      gi_t499s LIKE STANDARD TABLE OF t499s WITH HEADER LINE.

 

9.Modifikasi "Input Screen/Selection"

Sebelum

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.

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

 

...

PARAMETERS p_mwidth TYPE n DEFAULT 113 LENGTH 4.

...

PARAMETERS p_mline TYPE n DEFAULT 30 LENGTH 4.

...

PARAMETERS p_paart LIKE pri_params-paart DEFAULT 'X_44_120'.

...

 

Setelah

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_stort.

SELECT-OPTIONS so_stort FOR anlz-stort.

SELECTION-SCREEN END OF LINE.

 

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT 1(14) text_103 FOR FIELD so_anln1.

SELECT-OPTIONS so_anln1 FOR anla-anln1.

SELECTION-SCREEN END OF LINE.

 

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT 1(14) text_104 FOR FIELD so_anln2.

SELECT-OPTIONS so_anln2 FOR anla-anln2.

SELECTION-SCREEN END OF LINE.

 

SELECTION-SCREEN END OF BLOCK groupbox1.                              "End Group Box 1

 

...

PARAMETERS p_mwidth TYPE n DEFAULT 135 LENGTH 4.

...

PARAMETERS p_mline TYPE n DEFAULT 65 LENGTH 4.

...

PARAMETERS p_paart LIKE pri_params-paart DEFAULT 'X_65_255'.

...

 

10.Modifikasi  "EVENT"

Sebelum

  text_101 = 'Selection Parameter'.

  text_102 = 'Material Group'.

  text_103 = 'Material Number'.

 

Setelah

  text_101 = 'Selection Parameter'.

  text_102 = 'Location ID'.

  text_103 = 'Asset Number'.

  text_104 = 'Sub Number'.

 

11.Modifikasi sub routine "fm_collect_data"

Sebelum

...

lv_header_line = 3.

...

 

*  Seleksi data Asset Master

  SELECT matnr matkl bismt meins

    INTO CORRESPONDING FIELDS OF TABLE gi_header

  FROM mara

  WHERE

    matkl IN so_matkl AND

    matnr IN so_matnr.

 

*  Seleksi Deskripsi Asset

  SELECT matnr maktx

    INTO CORRESPONDING FIELDS OF TABLE gi_makt

  FROM makt

    FOR ALL ENTRIES IN gi_header

  WHERE

    matnr = gi_header-matnr AND

    spras = sy-langu.

 

*  Seleksi Standar Pengukuran

  SELECT msehi mseht

    INTO CORRESPONDING FIELDS OF TABLE gi_t006a

  FROM t006a

    FOR ALL ENTRIES IN gi_header

  WHERE

    msehi = gi_header-meins AND

    spras = sy-langu.

 

Setelah

...

lv_header_line = 5.

...

 

*  Seleksi data Asset Master

  SELECT anln1 anln2 stort

    INTO CORRESPONDING FIELDS OF TABLE gi_header

  FROM anlz

  WHERE

    anln1 IN so_anln1 AND

    anln2 IN so_anln2 AND

    stort IN so_stort.

 

*  "Untuk SAP 4.6C

*  DATA : lv_total_data type i.

*  DESCRIBE TABLE gi_header LINES lv_total_data.

*  IF lv_total_data > 0.

 

  IF LINES( gi_header ) > 0." Untuk SAP 4.7 Keatas

*  Seleksi Deskripsi Asset

  SELECT anln1 anln2 txt50 aktiv

    INTO CORRESPONDING FIELDS OF TABLE gi_anla

  FROM anla

    FOR ALL ENTRIES IN gi_header

  WHERE

    anln1 = gi_header-anln1 AND

    anln2 = gi_header-anln2.

 

*  Seleksi Standar Pengukuran

  SELECT stand ktext

    INTO CORRESPONDING FIELDS OF TABLE gi_t499s

  FROM t499s

    FOR ALL ENTRIES IN gi_header

  WHERE

    stand = gi_header-stort.

  ENDIF.

 

12.Modifikasi sub routine "fm_process_data"

 

Sebelum

*Get other requirement information

  LOOP AT gi_header.

*    Get Material Description

    READ TABLE gi_makt WITH KEY matnr = gi_header-matnr.

    IF sy-subrc = 0.

      gi_header-maktx = gi_makt-maktx.

    ENDIF.

 

*    Get Measurement Text

    READ TABLE gi_t006a WITH KEY msehi = gi_header-meins.

    IF sy-subrc = 0.

      gi_header-mseht = gi_t006a-mseht.

    ENDIF.

 

    MODIFY gi_header.

  ENDLOOP.

 

Setelah

*Get other requirement information

  LOOP AT gi_header.

*    Get Asset Description

    READ TABLE gi_anla WITH KEY anln1 = gi_header-anln1

                                anln2 = gi_header-anln2.

    IF sy-subrc = 0.

      gi_header-txt50 = gi_anla-txt50.

      gi_header-aktiv = gi_anla-aktiv.

    ENDIF.

 

*    Get Measurement Text

    READ TABLE gi_t499s WITH KEY stand = gi_header-stort.

    IF sy-subrc = 0.

      gi_header-ktext = gi_t499s-ktext.

    ENDIF.

 

    MODIFY gi_header.

  ENDLOOP.

 

13.Modifikasi sub routine "fm_display_data"

Sebelum

*  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.

    IF sy-linno = lv_max_data.

      PERFORM fm_footer USING lv_page_count.

 

      NEW-PAGE.

    ENDIF.

  ENDLOOP.

 

Setelah

*  Menampilkan Data ke Layar

  LOOP AT gi_header.

    macro_data_possition : 'CONTENT'

                           gi_header-anln1

                           gi_header-anln2

                           gi_header-txt50

                           gi_header-stort

                           gi_header-ktext

                           gi_header-aktiv.

    IF sy-linno = lv_max_data.

      PERFORM fm_footer USING lv_page_count.

 

      NEW-PAGE.

    ENDIF.

  ENDLOOP.

 

14.Modify standard event "TOP-OF-PAGE"

Sebelum

TOP-OF-PAGE.

*  Membuat Teks Header ( 3 Baris )

  ULINE AT (p_mwidth).                    " 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'.

  ULINE AT (p_mwidth).                    " Line below titles

  FORMAT COLOR OFF.

 

Setelah

*  Membuat Teks Header ( 5 Baris )

  ULINE AT (p_mwidth).                    " Upper frame border

  FORMAT COLOR COL_HEADING INTENSIFIED.   " Title color

  "Line 1

      write :  /'|' no-gap,(12) ' ' no-gap,

                '|' no-gap,(4)  ' ' no-gap,

                '|' no-gap,(50) ' ' no-gap,

                '|' no-gap,(51) 'Location' no-gap centered,

                '|' no-gap,(12) ' ' no-gap,

                '|' no-gap.

  "Line 2

  macro_data_possition : 'HEADER' 'Asset Number' 'Sub. No' 'Description' SY-ULINE  SY-ULINE           'Cap. Date'.

  "Line 1

  macro_data_possition : 'HEADER' ' '            ' '       ' '           'ID' 'Description' ' '.

 

  ULINE AT (p_mwidth).                    " Line below titles

  FORMAT COLOR OFF.

 

15.Aktivasi dan Jalankan Program

16.Buat T-Code "YP203"

17.Selesai

 

Hasil

Seleksi input

ar0013

Output

ar0014