Skip to main content

SAP ABAP - Multiple Header ALV List


REPORT ZALV_LIST_MULTIHEADER NO STANDARD PAGE HEADING.
TYPE-POOLS: slis.
DATA :t_fieldcat TYPE slis_t_fieldcat_alv,
      w_fieldcat TYPE slis_fieldcat_alv,
      layout     TYPE slis_layout_alv,
      t_sort     TYPE slis_t_sortinfo_alv,
      t_event    TYPE slis_t_event WITH HEADER LINE,
      d_repid    LIKE sy-repid,
      d_layout   TYPE slis_layout_alv,
      key        TYPE slis_keyinfo_alv.
TYPES : BEGIN OF ty_data,
          store(50),
          price      TYPE dmbtr,
          quantity   TYPE p,
          total      TYPE dmbtr, "(10) TYPE p DECIMALS 2,
          price2     TYPE dmbtr,
          quantity2  TYPE p,
          total2     TYPE dmbtr, "(10) TYPE p DECIMALS 2,
          curr       TYPE waers,
        END OF ty_data.
DATA : t_data TYPE ty_data OCCURS 0 WITH HEADER LINE.

START-OF-SELECTION.
  PERFORM f_process_data.
  PERFORM f_write_data.
*&---------------------------------------------------------------------*
*&      Form  F_PROCESS_DATA
*&---------------------------------------------------------------------*
FORM f_process_data .
*fill data t_data
  t_data-store = 'Ayam Kampung'.
  t_data-quantity = 30.
  t_data-price = 50000.
  t_data-total = t_data-quantity * t_data-price.
  t_data-quantity2 = 525.
  t_data-price2    = 55000.
  t_data-total2    = t_data-quantity2 * t_data-price2.
  t_data-curr = 'IDR'.
  APPEND t_data.
  t_data-store = 'Ayam Boiler'.
  t_data-quantity = 10.
  t_data-price = 50000.
  t_data-total = t_data-quantity * t_data-price.
  t_data-quantity2 = 55.
  t_data-price2    = 55000.
  t_data-total2    = t_data-quantity2 * t_data-price2.
  t_data-curr = 'IDR'.
  APPEND t_data.
ENDFORM.                    " F_PROCESS_DATA
*&---------------------------------------------------------------------*
*&      Form  F_WRITE_DATA
*&---------------------------------------------------------------------*
FORM f_write_data .
  PERFORM field_catalog.
  PERFORM build_layout.
  PERFORM build_event.
  d_repid = sy-repid.
  CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
    EXPORTING
      i_callback_program = d_repid
      is_layout          = d_layout
      i_bypassing_buffer = 'X'
      it_fieldcat        = t_fieldcat
      i_default          = 'X'
      i_save             = 'A'
      it_events          = t_event[]
      it_sort            = t_sort
    TABLES
      t_outtab           = t_data[]
    EXCEPTIONS
      program_error      = 1
      OTHERS             = 2.
ENDFORM.                    " F_WRITE_DATA
*&---------------------------------------------------------------------*
*&      Form  FIELD_CATALOG
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM field_catalog .
  PERFORM f_fieldcats USING :
        'STORE'  'STORE'       '50' ''  ''     ''  ''  '',
        'QUANTITY' 'QUANTITY'  '15' ''  ''     ''  ''  '',
        'PRICE'  'PRICE'       '15' ''  'CURR'     ''  ''  '',
        'TOTAL'  'TOTAL'       '20' '' 'CURR'     ''  ''  '',
        'QUANTITY2' 'QUANTITY2'  '15' ''  ''     ''  ''  '',
        'PRICE2'  'PRICE2'       '15' ''  'CURR'     ''  ''  '',
        'TOTAL2'  'TOTAL2'       '20' '' 'CURR'     ''  ''  ''.
ENDFORM.                    " FIELD_CATALOG
*&---------------------------------------------------------------------*
*&      Form  F_FIELDCATS
*&---------------------------------------------------------------------*
FORM f_fieldcats USING fu_fname
      fu_text
      fu_len
      fu_sum
      fu_curr
      fu_spot
      fu_out
      fu_sign.
  DATA : lt_fieldcat TYPE slis_fieldcat_alv.
  lt_fieldcat-fieldname      = fu_fname.  "field name
  lt_fieldcat-seltext_l      = lt_fieldcat-seltext_m =  "text
  lt_fieldcat-seltext_s      = fu_text.
  lt_fieldcat-reptext_ddic   = fu_text.
  lt_fieldcat-outputlen      = fu_len.  "text length
  lt_fieldcat-do_sum         = fu_sum.  "summing
  lt_fieldcat-cfieldname     = fu_curr. "currency
  lt_fieldcat-hotspot        = fu_spot.
  lt_fieldcat-no_out         = fu_out.
  lt_fieldcat-no_sign        = fu_sign.
  APPEND lt_fieldcat TO t_fieldcat.
  CLEAR: lt_fieldcat.
ENDFORM.                    " F_FIELDCATS
*&---------------------------------------------------------------------*
*&      Form  BUILD_LAYOUT
*&---------------------------------------------------------------------*
FORM build_layout .
  d_layout-colwidth_optimize = ''.
  d_layout-zebra = 'X'.
  d_layout-no_colhead         = 'X'. "space.
ENDFORM.                    " BUILD_LAYOUT
*&---------------------------------------------------------------------*
*&      Form  BUILD_EVENT
*&---------------------------------------------------------------------*
FORM build_event .
  t_event-form = 'TOP_PAGE'.
  t_event-name = 'TOP_OF_PAGE'.
  APPEND t_event.
ENDFORM.                    " BUILD_EVENT
*&---------------------------------------------------------------------*
*&      Form  top_of_page
*&---------------------------------------------------------------------*
FORM top_page.
  ULINE (295) .
  FORMAT COLOR 1 .
  WRITE: / sy-vline, (48) '' CENTERED,
  sy-vline, (50) 'Current Period' CENTERED,
  sy-vline, (50) 'Ytd Period' CENTERED,
  sy-vline.
*  ULINE (295) .
  WRITE: / sy-vline, (48) ' ' CENTERED,
  sy-vline, (13) 'Quantity' CENTERED,
  sy-vline, (13) 'per Unit' CENTERED,
  sy-vline, (18) 'Total' CENTERED,
  sy-vline, (13) 'Quantity' CENTERED,
  sy-vline, (13) 'per Unit' CENTERED,
  sy-vline, (18) 'Total' CENTERED,
  sy-vline.
*  ULINE (295) .
  FORMAT COLOR OFF.
ENDFORM.                    "top_of_page

Comments

Popular posts from this blog

PHP MySql CRUD Dengan Konsep MVC

Pada postingan kali ini saya akan sharing cara membuat CRUD dengan php menggunakan konsep MVC, ok langsung saja buka code editor (saya menggunakan sublime text) dan buat folder baru dengan nama phpmvc didalam folder htdocs kalian dan tambah folder seperti berikut :  Setelah itu kita siapkan database di mysql, buat database dengan nama phpmvc dan tablenya seperti gambar berikut : tambahkan file config.php didalam folder app/config : <?php define('BASEURL', 'http://localhost:8181/phpmvc/public'); define('DB_HOST', 'localhost'); define('DB_USER', 'root'); define('DB_PASS', ''); define('DB_NAME', 'phpmvc'); kemudian tambahkan 3 file controller didalam folder app/controllers, yaitu Home, About, dan Mahasiswa : Home.php <?php class Home extends Controller { public function index() { $data['nama'] = $this->model('User_model')->getUser()...

Cara Sederhana Multi Insert Data Dengan PHP - MySQL

Pada postingan kali ini saya akan share cara melakukan insert lebih dari satu data dengan menggunaka PHP- Jquery dan MySQL. Pertama buat database di MySQL dan table, disini saya membuat database dengan nama db_latihan dan table dengan nama t_barang dengan struktur table seperti berikut : Setelah membuat database dan table selanjutnya membuat project PHP, project PHP nya saya buat dengan nama multi-insert, lalu didalam folder ini saya membuat dua file yaitu index.php dan insert.php . Source code index.php seperti berikut : <! doctype   html > < html   lang = "en" >    < head >      <!-- Required meta tags -->      < meta   charset = "utf-8" >      < meta   name = "viewport"   content = "width=device-width, initial-scale=1" >      <!-- Bootstrap CSS -->      < link ...

Laravel - Sistem Informasi Perpustakaan Sederhana Laravel

Postingan kali saya akan sharing membuat aplikasi perpustakaan sederhana menggunakan laravel 5.8, dimana terdapan menu Anggota, Kategori Buku, Daftar Buku dan Transaksi (Peminjaman/Pengembalian Buku). ok langsung saja kita buat project laravel dengan nama perpus : composer create-project --prefer-dist laravel/laravel perpus setelah create project laravel-nya selesai kita buat database melalui localhost/phpmyadmin dengan nama db_perpus, lalu kita buka project laravel dengan code editor disini saya menggunakan visual studio code. Setelah project kita buka dengan code editor, pertama kita atur koneksi database yang ada di file .env, kita rubah menjadi seperti berikut : note : untuk db_username dan db_password di sesuiakan dengan configurasi masing-masing. Selanjutnya kita tambahkan 4 buah data migration yaitu : table_anggota, table_kategori, table_buku, table_transaksi, kita buka terminal dan jalankan command berikut :  php artisan make:migration crea...