Quantcast
Channel: SCN: Message List
Viewing all articles
Browse latest Browse all 9656

Re: How to get association of a Z table to a Stad. SAP's Change Document Object - SCDO

$
0
0

Hi,  Have you consider FUNCTION "CHANGEDOCUMENT_SINGLE_CASE" ?

I am using it to track changes in Z tables .

 

Can you add code where you update your Z file ?

 

Make sure your data elements "Indicator for writing change documents" is set.

 

capture_20130814_070230.png

 

Regards.


Code:

*----------------------------------------------------------------------*
FORM do_add_change_document
  USING    objectclas TYPE cdhdr-objectclas    tabname    TYPE cdpos-tabname    change_ind TYPE cdhdr-change_ind    objectid   TYPE cdhdr-objectid    image_new    image_old .  DATA: st_cdhdr TYPE cdhdr .  DATA: st_cdpos TYPE cdpos .  st_cdhdr-objectclas = objectclas .  st_cdpos-tabname    = tabname    .  st_cdhdr-change_ind = change_ind .  st_cdhdr-objectid   = objectid   .  CALL FUNCTION 'CHANGEDOCUMENT_OPEN'    EXPORTING      objectclass             = st_cdhdr-objectclas      objectid                = st_cdhdr-objectid      planned_change_number   = ' '      planned_or_real_changes = ' '    EXCEPTIONS      sequence_invalid        = 1      OTHERS                  = 2.  IF sy-subrc <> 0.    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.  ENDIF.  CALL FUNCTION 'CHANGEDOCUMENT_SINGLE_CASE'    EXPORTING      change_indicator       = st_cdhdr-change_ind      docu_delete            = 'X'      tablename              = st_cdpos-tabname      workarea_new           = image_new      workarea_old           = image_old    EXCEPTIONS      nametab_error          = 1      open_missing           = 2      position_insert_failed = 3      OTHERS                 = 4.  IF sy-subrc <> 0.    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.  ENDIF.  st_cdhdr-username = sy-uname .  st_cdhdr-udate    = sy-datum .  st_cdhdr-utime    = sy-uzeit .  st_cdhdr-tcode    = sy-tcode .  CALL FUNCTION 'CHANGEDOCUMENT_CLOSE'    EXPORTING      objectclass             = st_cdhdr-objectclas      objectid                = st_cdhdr-objectid      tcode                   = st_cdhdr-tcode      username                = st_cdhdr-username      date_of_change          = st_cdhdr-udate      time_of_change          = st_cdhdr-utime      object_change_indicator = st_cdhdr-change_ind    IMPORTING      changenumber            = st_cdhdr-changenr    EXCEPTIONS      header_insert_failed    = 1      no_position_inserted    = 2      object_invalid          = 3      open_missing            = 4      position_insert_failed  = 5      OTHERS                  = 6.  IF sy-subrc <> 0.    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.  ENDIF.

ENDFORM .                    "do_add_change_document
*----------------------------------------------------------------------*
FORM do_changedocu_key  USING    record  TYPE data    tabname TYPE tabname  CHANGING    objectid TYPE cdobjectv .

* For the object ID.

  DATA: ev_tabkey TYPE cdpos_uid-tabkey .  CALL FUNCTION 'CHANGEDOCU_KEY_ANY2CHAR'    EXPORTING      iv_struct_in     = record      iv_tabname       = tabname    IMPORTING      ev_tabkey        = ev_tabkey    EXCEPTIONS      tabname_is_empty = 1      nametab_error    = 2      OTHERS           = 3.  IF sy-subrc NE 0.  ENDIF.  objectid = ev_tabkey .

ENDFORM .                    "do_changedocu_key
*----------------------------------------------------------------------*
FORM do_dsp_change_document  USING    objectclas TYPE cdhdr-objectclas    tabname    TYPE cdpos-tabname    objectid   TYPE cdhdr-objectid .

* Display .

  DATA: editpos TYPE TABLE OF cdred .  CALL FUNCTION 'CHANGEDOCUMENT_READ'    EXPORTING      objectclass                = objectclas      tablename                  = tabname      objectid                   = objectid    TABLES      editpos                    = editpos    EXCEPTIONS      no_position_found          = 1      wrong_access_to_archive    = 2      time_zone_conversion_error = 3      OTHERS                     = 4.  CHECK sy-subrc EQ 0.  CALL FUNCTION 'CHANGEDOCUMENT_DISPLAY'    EXPORTING      i_applicationid       = sy-repid      flg_autocondense      = abap_false      i_screen_start_line   = 10      i_screen_start_column = 10      i_screen_end_line     = 20      i_screen_end_column   = 150    TABLES      i_cdred               = editpos.

ENDFORM .                    "do_dsp_change_document

Viewing all articles
Browse latest Browse all 9656

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>