Step by Step Menambahkan kolom baru pada output transaksi FBL1N

Belum lama ini saya dapat requirement untuk menambahkan kolom baru pada TCode FBL1N, yaitu menampilkan User ID pada text yang terdapat di extra FI document transaction.



Karena default standard dari FBL1N tidak dapat menampilkan kolom tersebut, maka dilakukan enhancement untuk menambahkan kolom User ID pada transaksi TCode tersebut. Hal ini bisa dilakukan dengan Business Transaction Event (BTE).

BTE’s or Business Transaction Events are a special type of extension for the FI Module.Like SD’s Customer Exits, BTE’s allow customer to adapt the system to their needs.

1. Extend standard structure RFPOS & RFPOSX.
Cara menambahkan structure pada RFPOS adalah dengan membuat dulu structure Z yang baru dengan SE11, lalu display structure RFPOS dan pilih Append Structure. Create object name baru, dan masukan structure Z yang tadi telah dibuat.
Pada contoh ini, ditambahkan sebuah field ZUSERID yang menampilkan Text User ID pada transaksi FI.

Lakukan hal yang sama untuk structure RFPOSX.

2. execute program RFPOSXEXTEND.
Dengan TCode SE38, jalankan program ini. Hal ini dilakukan untuk update structure RFPOSXEXT (don’t change it manually). Nantinya akan muncul dialog screen yang menanyakan apakah ingin mengaktivasi extend structure, pilih Yes.

3. impliment BTE 0000165 dengan TCode FIBF.
Cek environment (Environment>>Info system (P/S)) untuk event 0000165 (Line Item Display) untuk mengetahui Function Module (FM) sample interface yang dapat di-copy untuk nantinya diimplementasikan di BTE.Setelah mengetahui FM untuk event 00001650, buat FM baru yang meng-copy FM tersebut. Dalam FM baru ini, buat logic program untuk mengisi data di field kolom baru yang ditambahkan. Misal FM yang dibuat adalah ZFM_FI003, sbb :

function zfm_fi003.
*"----------------------------------------------------------------------
*"*"Local Interface:
*" IMPORTING
*" VALUE(I_POSTAB) LIKE RFPOS STRUCTURE RFPOS
*" EXPORTING
*" VALUE(E_POSTAB) LIKE RFPOS STRUCTURE RFPOS
*"----------------------------------------------------------------------

*-------------- Initialize Output by using the following line ----------
  case sy-tcode.
    when 'FBL1N'.
      perform fuserid changing i_postab.
  endcase.

  e_postab = i_postab.
*&---------------------------------------------------------------------*
*&      Form  fuserid
*&---------------------------------------------------------------------*
*       penambahan field user ID 
*----------------------------------------------------------------------*
form fuserid changing p1 structure rfpos.
  data: ld_name   like thead-tdname,
        lt_lines  like tline occurs 0 with header line.

  concatenate p1-bukrs p1-belnr p1-gjahr into ld_name.
  condense ld_name.

  call function 'READ_TEXT'
    exporting
      client                  = sy-mandt
      id                      = '0005'
      language                = 'E'
      name                    = ld_name
      object                  = 'BELEG'
    tables
      lines                   = lt_lines
    exceptions
      id                      = 1
      language                = 2
      name                    = 3
      not_found               = 4
      object                  = 5
      reference_check         = 6
      wrong_access_to_archive = 7
      others                  = 8.
  if sy-subrc eq 0.
    read table lt_lines index 1.
    p1-zuserid = lt_lines-tdline.
  endif.
endform.              
*"----------------------------------------------------------------------

4. setting product of a customer.
untuk mendaftarkan ‘product’ baru dan aktivasi (dengan mencentang produknya). Selain itu, pada menu setting ini juga didaftarkan event yang digunakan bersamaan dengan function module yang baru dibuat.

Hasil dari enhancement ini adalah sebagai berikut :
Pada TCode FBL1N, Klik Change Layout untuk menambahkan Kolom baru, yaitu ZUSERID.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s