Change Item Text in FB02

Untuk kebutuhan mengubah informasi text pada accounting document secara masal, dapat menggunakan function module (FM) CHANGE_DOCUMENT.

Penggunaan FM ini harus agak berhati-hati, karena tipe dari FM ini adalah update module sehingga data yang diubah langsung terupdate ke database. Saya coba testing FM ini untuk menggubah satu nomor document yang sedang di-lock (nomor document yang sama dalam posisi change mode via tcode FB02) dan hasilnya adalah berhasil terupdate tanpa ada message error bahwa document dalam posisi lock.

Tips lain saat menggunakan FM ini, sebaiknya select all dari database dulu (bkpf dan bseg/bfkd/bsec/bset) ke internal table baru kemudian mengubah data di internal tabel-nya. Internal tabel ini yang akan digunakan untuk passing parameter di FM CHANGE_DOCUMENT ini.

Berikut contoh penggunaanya:

  data: lt_bkpf type table of bkpf with header line,
        lt_bseg type table of bseg with header line,
        lt_bkdf type table of bkdf with header line,
        lt_bsec type table of bsec with header line,
        lt_bset type table of bset with header line,
        lt_bsed type table of bsed with header line,
        lt_bseg2 type table of bseg with header line.

    SELECT * FROM bkpf INTO TABLE lt_bkpf
      WHERE bukrs = p_bukrs
        AND belnr in s_belnr
        AND gjahr = p_gjahr.

    SELECT * FROM bseg INTO TABLE lt_bseg
      WHERE bukrs = p_bukrs
        AND belnr in s_belnr
        AND gjahr = p_gjahr.

  loop at lt_bseg.
    lt_bseg-sgtxt = 'Test change document'.
    modify lt_bseg index sy-tabix transporting sgtxt.
  endloop.

  call function 'CHANGE_DOCUMENT'
    tables
      t_bkdf = lt_bkdf
      t_bkpf = lt_bkpf
      t_bsec = lt_bsec
      t_bsed = lt_bsed
      t_bseg = lt_bseg
      t_bset = lt_bset
    exceptions
      others = 1.
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