Skip to main content

Belajar ABAP Part 9: ALV (ABAP List Viewer) — Tutorial dan Contoh Lengkap

Belajar ABAP Part 9: ALV (ABAP List Viewer) — Tutorial & Contoh Lengkap

Belajar ABAP Part 9: ALV (ABAP List Viewer)

ALV (ABAP List Viewer) adalah toolkit standar SAP untuk menampilkan data tabel secara rapi dan interaktif — lengkap dengan fitur sorting, filtering, layout, export, dan event handling. Di artikel ini kita bahas tipe ALV yang sering dipakai, contoh kode, cara menambahkan tombol custom, field catalog manual, dan demo embed-ready.

Field Catalog di ALV

Field catalog berfungsi sebagai “peta” kolom ALV: menentukan label, panjang kolom, alignment, apakah kolom bisa disortir, dll. Field catalog ini wajib di REUSE_ALV_GRID_DISPLAY dan CL_GUI_ALV_GRID, sedangkan CL_SALV_TABLE otomatis membangun dari struktur.

Contoh Lengkap Field Catalog Manual


REPORT z_alv_fieldcat.

TABLES: mara.

DATA: gt_fieldcat TYPE lvc_t_fcat,
      gs_fieldcat TYPE lvc_s_fcat,
      gt_data     TYPE TABLE OF mara.

START-OF-SELECTION.
  SELECT * FROM mara INTO TABLE gt_data UP TO 20 ROWS.

  CLEAR gs_fieldcat.
  gs_fieldcat-fieldname = 'MATNR'.
  gs_fieldcat-coltext   = 'Material'.
  gs_fieldcat-outputlen = 18.
  gs_fieldcat-key       = abap_true.
  APPEND gs_fieldcat TO gt_fieldcat.

  CLEAR gs_fieldcat.
  gs_fieldcat-fieldname = 'MTART'.
  gs_fieldcat-coltext   = 'Material Type'.
  gs_fieldcat-outputlen = 10.
  APPEND gs_fieldcat TO gt_fieldcat.

  CLEAR gs_fieldcat.
  gs_fieldcat-fieldname = 'MATKL'.
  gs_fieldcat-coltext   = 'Material Group'.
  gs_fieldcat-outputlen = 12.
  APPEND gs_fieldcat TO gt_fieldcat.

  " ALV grid display dengan field catalog manual
  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      it_fieldcat = gt_fieldcat
    TABLES
      t_outtab    = gt_data.
    

Demo ALV Embed-Ready

Supaya pembaca bisa coba step by step, berikut demo ALV ditampilkan dengan kombinasi <details> di Blogspot. Klik untuk expand:

🔽 Demo ALV dengan CL_SALV_TABLE (Klik untuk expand)

Preview: Program ini menampilkan data MARA ke ALV dengan CL_SALV_TABLE.


REPORT z_demo_alv_salv.

DATA: lt_data TYPE TABLE OF mara,
      lo_alv  TYPE REF TO cl_salv_table.

START-OF-SELECTION.
  SELECT * FROM mara INTO TABLE lt_data UP TO 30 ROWS.

  cl_salv_table=>factory(
    IMPORTING r_salv_table = lo_alv
    CHANGING  t_table      = lt_data ).

  lo_alv->display( ).
      
🔽 Demo ALV dengan Field Catalog + REUSE_ALV_GRID_DISPLAY

Preview: Program ini menampilkan MARA dengan custom kolom (MATNR, MTART, MATKL).


REPORT z_demo_alv_fcat.

TYPES: BEGIN OF ty_data,
         matnr TYPE mara-matnr,
         mtart TYPE mara-mtart,
         matkl TYPE mara-matkl,
       END OF ty_data.

DATA: gt_data TYPE TABLE OF ty_data,
      gt_fieldcat TYPE lvc_t_fcat,
      gs_fieldcat TYPE lvc_s_fcat.

START-OF-SELECTION.
  SELECT matnr mtart matkl
    FROM mara
    INTO TABLE gt_data
    UP TO 50 ROWS.

  CLEAR gs_fieldcat.
  gs_fieldcat-fieldname = 'MATNR'.
  gs_fieldcat-coltext   = 'Material'.
  APPEND gs_fieldcat TO gt_fieldcat.

  CLEAR gs_fieldcat.
  gs_fieldcat-fieldname = 'MTART'.
  gs_fieldcat-coltext   = 'Material Type'.
  APPEND gs_fieldcat TO gt_fieldcat.

  CLEAR gs_fieldcat.
  gs_fieldcat-fieldname = 'MATKL'.
  gs_fieldcat-coltext   = 'Material Group'.
  APPEND gs_fieldcat TO gt_fieldcat.

  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      it_fieldcat = gt_fieldcat
    TABLES
      t_outtab    = gt_data.
      

Kesimpulan

Dengan Field Catalog, kita bisa kontrol penuh tampilan ALV. Sementara itu, demo embed-ready memudahkan pembaca coba langsung script pendek. Untuk program baru, gunakan CL_SALV_TABLE bila kebutuhan sederhana; gunakan Field Catalog + ALV Grid bila butuh customisasi lanjut.

👉 Lanjut ke: Belajar ABAP Part 10: OOP di ABAP — Class, Object, Inheritance, Exception

Comments

Popular posts from this blog

How to Create a REST API in SAP ABAP — Step-by-step Guide

How to Create a REST API in SAP ABAP — Step-by-step Guide Summary: This tutorial shows how to build a REST API in SAP ABAP by creating a handler class, configuring SICF service, registering endpoints with cl_rest_router , implementing endpoint logic (example GET method), and testing the API. Based on an internal implementation reference. Why expose REST APIs from SAP? REST APIs allow SAP systems to integrate with web, mobile, and external services using standard HTTP and JSON payloads. Implementing REST endpoints in ABAP provides secure, reusable, and maintainable integration points for modern applications. Prerequisites Access to an SAP system with authorization to create classes (SE24) and SICF services (SICF). Familiarity with ABAP object-oriented concepts and basic SAP transaction codes. ABAP classes CL_REST_RESOURCE , CL_REST_ROUTER and utilities like /UI2/CL_JSON . High-level overview (4 steps) Create an API handler class (e.g. ZCL_API_HANDLER ). R...

SAP ABAP - User Exit Set Batch Characteristic Value In MIGO Goods Receipt

Customer Exit  :  MBCFC004 ( EXIT_SAPMM07M_004) Set Up Customer Exit for Classification of User-Defined Characteristics You use SAP enhancement MBCFC004 EXIT_SAPMM07M_004, which contains function module exit EXIT_SAPMM07M_004 to classify user-defined characteristics automatically during goods movements in Inventory Management. This is only possible for characteristics which are not assigned values during quality inspection. Requirements 1. The class of the batch to be classified must be known.  This means that a class must be assigned either to the material or at least to one batch of this material. 2. The exit call must be activated for the respective movement type in activity Activate batch classification during goods movements in IM using indicator 'Extended classification' . Open tcode OMC...

IT Asset Management Dengan PHP MySQL

Pada postingan kali saya akan share sebuah aplikasi IT Asset management yang fungsinya untuk memonitoring semua Asset khusus IT, contohnya : Laptop/komputer , Printer, Router, Hardisk, dll. Dalam aplkasi ini kita bisa mengetahui Asset IT posisinya dimana dan digunakan oleh siapa. untuk data-data yang dibutuhkan antara lain : 1. data kategori asset dalam menu ini kita bisa meng-input jenis2 kategory asset : tambah kategori asset : 2. data department 3. data karyawan 4. data department per karyawan 5. data asset location  6. data satuan asset dan untuk transaksi yang ada dalam aplikasi ini adalah,  1. create asset, pada menu create asset ini kita akan mengalokasikan sebuah asset ke karyawan/personnel tampilannya seperti berikut: setelah klik tombol save akan muncul seperti dibawah : untuk melihat detail asset yang sudah dibuat tadi, kita bisa pilih...