Skip to Content

Sometimes we need to insert a change log when updating standard tables.

Here I’ll show how to easy insert this change log.

In this example, we will insert a log for VBKD table, from VAXX transactions.

In sales order, VERKBELEG object is the one used.

  ” Local Vars

  DATA: lc_objectid TYPE cdhdr-objectid, ” Change Log Object

        ls_vbkd_old TYPE vbkd,           ” Workarea before update

        ls_vbkd_new TYPE vbkd.           ” Workarea after update

  ” Load current values

  SELECT *

    FROM vbkd

    INTO ls_vbkd_old

    UP TO 1 ROWS.


  ls_vbkd_new = ls_vbkd_old.

  ” Change ls_vbkd_new fields here

  ” Set object id to update VERKBELEG object

  lc_objectid = ls_vbkd_old-vbeln.

  ” Call update functions

  CALL FUNCTION ‘CHANGEDOCUMENT_OPEN’

    EXPORTING

      objectclass      = ‘VERKBELEG’

      objectid         = lc_objectid

    EXCEPTIONS

      sequence_invalid = 1

      OTHERS           = 2.

  CALL FUNCTION ‘CHANGEDOCUMENT_SINGLE_CASE’

    EXPORTING

      tablename              = ‘VBKD’      ” Table to update, could be anyone in VERKBELEG object

      workarea_new           = ls_vbkd_new ” New values

      workarea_old           = ls_vbkd_old ” Old values

    EXCEPTIONS

      nametab_error          = 1

      open_missing           = 2

      position_insert_failed = 3

      OTHERS                 = 4.

  CALL FUNCTION ‘CHANGEDOCUMENT_CLOSE’

    EXPORTING

      date_of_change         = sy-datum

      objectclass            = ‘VERKBELEG’

      objectid               = lc_objectid

      tcode                  = ‘ZTRANSACTION’  ” Set your own transaction

      time_of_change         = sy-uzeit

      username               = sy-uname

    EXCEPTIONS

      header_insert_failed   = 1

      no_position_inserted   = 2

      object_invalid         = 3

      open_missing           = 4

      position_insert_failed = 5

      OTHERS                 = 6.

It’s Done.

To report this post you need to login first.

Be the first to leave a comment

You must be Logged on to comment or reply to a post.

Leave a Reply