CDHDR table - ObjectID

Hi all,
I need to know what is the field ObjectID in table CDHDR for the cases where OBJECTCLAS = ADRESSE.
I have some kind of  this number 'SD019000030905', but I can not recognize what this is..
Even using table CDPOS I am not able to know what is this..
Thanks a lot,
Best regards

in SD019000030905, 9000030905 is the address number in ADRC

Similar Messages

  • View for CDPOS & CDHDR tables

    Hi all,
    I am developing a report for which I am fetching fields from CDPOS & CDHDR tables (both r cluster tables). when i run st05, it fetches values from a cluster table CDCLS which takes most of the database time.
    Is there any view for CDPOS & CDHDR tables?
    How to find the views for cluster tables?
    Thanx in advance.
    Vijay.

    hi,
    check this code,
    here i used function module to get details of cdhdr,cdpos.
    TABLES : MARC.
    DATA :BEGIN OF GI_MARC OCCURS 0,
          MATNR LIKE MARC-MATNR,
          WERKS LIKE MARC-WERKS,
          DISPO LIKE MARC-DISPO,
          END OF GI_MARC.
    DATA : CHAR TYPE I,
           COUNT TYPE I,
           VAR TYPE I.
    DATA : BEGIN OF GI_FINAL OCCURS 2000,
           MATNR LIKE MARC-MATNR,
           DISPO LIKE MARC-DISPO,
           USERNAME LIKE CDHDR-USERNAME,
           UDATE LIKE CDHDR-UDATE,
           UTIME LIKE CDHDR-UTIME,
           TCODE LIKE CDHDR-TCODE,
           TABNAME LIKE CDPOS-TABNAME,
           TABKEY  LIKE CDPOS-TABKEY,
           FNAME  LIKE CDPOS-FNAME,
           VALUE_NEW  LIKE CDPOS-VALUE_NEW,
           VALUE_OLD   LIKE CDPOS-VALUE_OLD,
           CHANGENR LIKE CDHDR-CHANGENR,
           END OF GI_FINAL.
    DATA : MATNR LIKE MARC-MATNR,
           DISPO LIKE MARC-DISPO,
           USERNAME1 LIKE CDHDR-USERNAME,
           UDATE1 LIKE CDHDR-UDATE,
           UTIME LIKE CDHDR-UTIME,
           TCODE LIKE CDHDR-TCODE,
           CHANGENR LIKE CDHDR-CHANGENR.
    DATA : GI_CDHDR LIKE CDHDR OCCURS 0 WITH HEADER LINE.
    DATA : GI_CDPOS LIKE CDPOS OCCURS 0 WITH HEADER LINE.
    DATA : OBJECTCLAS LIKE CDHDR-OBJECTCLAS VALUE 'MATERIAL',
           OBJECTID LIKE CDHDR-OBJECTID,
           USERNAME LIKE CDHDR-USERNAME VALUE 'RSS-SPE',
           UDATE LIKE CDHDR-UDATE VALUE '20070101',
           CHANGE_IND LIKE CDHDR-CHANGE_IND VALUE 'U'.
    type-pools: slis.
    data: gt_slis_fcat type slis_t_fieldcat_alv.
    data: gt_fieldcat type slis_t_fieldcat_alv.
    *data: gt_fieldcatall type slis_t_fieldcat_alv.
    data: g_repid like sy-repid.
    data: gs_layout type slis_layout_alv.
    gs_layout-zebra             = 'X'.
    gs_layout-colwidth_optimize = 'X'.
    SELECTION-SCREEN: BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-110.
    SELECT-OPTIONS :  P_DISPO FOR MARC-DISPO.
    SELECT-OPTIONS : RECORDS FOR CHAR.
    SELECTION-SCREEN : END OF BLOCK B1.
    START-OF-SELECTION.
    perform process_data.
    perform f_fieldcat_init using gt_fieldcat[].
    perform alv_display tables gi_final using gt_fieldcat[].
    form process_data.
      SELECT MATNR WERKS DISPO FROM MARC INTO TABLE GI_MARC
                                WHERE DISPO IN P_DISPO
                                AND WERKS = '1011'." Becoz we hav to chk the
    the changes made in the material while extendin tht matrl frm 1011 to
    *other plant.
      IF NOT GI_MARC[] IS INITIAL.
        IF NOT RECORDS-LOW IS INITIAL .
          IF NOT RECORDS-HIGH IS INITIAL.
            DESCRIBE TABLE GI_MARC LINES COUNT.
            IF RECORDS-HIGH < COUNT.
              DELETE GI_MARC FROM RECORDS-HIGH TO COUNT.
            ENDIF.
            IF RECORDS-LOW <> 1.
              IF RECORDS-LOW <> 0.
                DELETE GI_MARC FROM 1 TO RECORDS-LOW.
              ENDIF.
            ENDIF.
          ENDIF.
        ENDIF.
      ENDIF.
      LOOP AT GI_MARC.
        CALL FUNCTION 'CONVERSION_EXIT_MATN1_INPUT'
          EXPORTING
            INPUT              = GI_MARC-MATNR
         IMPORTING
           OUTPUT             = GI_MARC-MATNR
    EXCEPTIONS
      LENGTH_ERROR       = 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.
        OBJECTID = GI_MARC-MATNR .
        CALL FUNCTION 'CHANGEDOCUMENT_READ_HEADERS'
          EXPORTING
      ARCHIVE_HANDLE                   = 0
           DATE_OF_CHANGE                   = UDATE
            OBJECTCLASS                      = OBJECTCLAS
            OBJECTID                         = OBJECTID
      TIME_OF_CHANGE                   = '000000'
           USERNAME                         = USERNAME
      LOCAL_TIME                       = ' '
      DATE_UNTIL                       = '99991231'
      TIME_UNTIL                       = '235959'
          TABLES
            I_CDHDR                          = GI_CDHDR
         EXCEPTIONS
           NO_POSITION_FOUND                = 1
           WRONG_ACCESS_TO_ARCHIVE          = 2
           TIME_ZONE_CONVERSION_ERROR       = 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.
        CALL FUNCTION 'ARCH_ANA_PROGRESS_INDICATOR'
             EXPORTING
                  TEXT = 'Processing'.
        IF NOT GI_CDHDR[] IS INITIAL.
          LOOP AT GI_CDHDR.
          MOVE GI_MARC-MATNR TO GI_FINAL-MATNR.
          MOVE GI_MARC-DISPO TO GI_FINAL-DISPO.
          MOVE GI_CDHDR-USERNAME TO GI_FINAL-USERNAME.
          MOVE GI_CDHDR-UDATE TO GI_FINAL-UDATE.
          MOVE GI_CDHDR-TCODE TO GI_FINAL-TCODE.
          MOVE GI_CDHDR-CHANGENR TO GI_FINAL-CHANGENR.
            VAR = 1.
            CALL FUNCTION 'CONVERSION_EXIT_MATN1_INPUT'
              EXPORTING
                INPUT              = GI_FINAL-MATNR
                IMPORTING
               OUTPUT             = GI_FINAL-MATNR
             EXCEPTIONS
               LENGTH_ERROR       = 1
               OTHERS             = 2
            IF SY-SUBRC <> 0.
            ENDIF.
            OBJECTID = GI_FINAL-MATNR ."to ensure that objid is in proper
    *format
            SELECT *
                   FROM CDPOS
                   INTO TABLE GI_CDPOS
              PACKAGE SIZE 100
              FOR ALL ENTRIES IN GI_cdhdr
                   WHERE OBJECTID = OBJECTID
                     AND CHANGENR = GI_CDHDR-CHANGENR
                     AND OBJECTCLAS = OBJECTCLAS
                     AND CHNGIND =  CHANGE_IND." only those values will b
    *takn which have been modified nd nt created
            IF SY-SUBRC = 0.
              LOOP AT GI_CDPOS.
          MOVE GI_MARC-MATNR TO GI_FINAL-MATNR.
          MOVE GI_MARC-DISPO TO GI_FINAL-DISPO.
          MOVE GI_CDHDR-USERNAME TO GI_FINAL-USERNAME.
          MOVE GI_CDHDR-UDATE TO GI_FINAL-UDATE.
          MOVE GI_CDHDR-TCODE TO GI_FINAL-TCODE.
          MOVE GI_CDHDR-CHANGENR TO GI_FINAL-CHANGENR.
                MOVE GI_CDPOS-TABNAME TO GI_FINAL-TABNAME.
                MOVE GI_CDPOS-TABKEY TO GI_FINAL-TABKEY.
                MOVE GI_CDPOS-FNAME TO GI_FINAL-FNAME.
                MOVE GI_CDPOS-VALUE_NEW TO GI_FINAL-VALUE_NEW.
                MOVE GI_CDPOS-VALUE_OLD TO GI_FINAL-VALUE_OLD.
                  APPEND GI_FINAL.
                  CLEAR GI_FINAL.
               ENDIF.
                VAR = VAR + 1.
       ENDSELECT.
              ENDLOOP.
            ENDIF.
          ENDLOOP.
              CALL FUNCTION 'ARCH_ANA_PROGRESS_INDICATOR'
             EXPORTING
                  TEXT = 'Processing'.
        ENDIF.
      ENDLOOP.
      endform.
    form f_fieldcat_init using lt_fieldcat type slis_t_fieldcat_alv.
      data: ls_fieldcat type slis_fieldcat_alv.
       clear ls_fieldcat.
      ls_fieldcat-fieldname    = 'MATNR'.
      ls_fieldcat-seltext_l    = 'Material number'.
    ls_fieldcat-tabname      = 'GI_final'.
      append ls_fieldcat to lt_fieldcat.
      clear ls_fieldcat.
      ls_fieldcat-fieldname    = 'DISPO'.
      ls_fieldcat-seltext_l    = 'mrp controller'.
      append ls_fieldcat to lt_fieldcat.
      clear ls_fieldcat.
      ls_fieldcat-fieldname    = 'USERNAME'.
      ls_fieldcat-seltext_l    = 'Username'.
      append ls_fieldcat to lt_fieldcat.
      clear ls_fieldcat.
      ls_fieldcat-fieldname    = 'CHANGENR'.
      ls_fieldcat-seltext_l    = 'Change Number'.
      append ls_fieldcat to lt_fieldcat.
      clear ls_fieldcat.
      ls_fieldcat-fieldname    = 'UDATE'.
      ls_fieldcat-seltext_l    = 'modified date'.
      append ls_fieldcat to lt_fieldcat.
      clear ls_fieldcat.
      ls_fieldcat-fieldname    = 'UTIME'.
      ls_fieldcat-seltext_l    = 'MODIFIED TIME'.
      append ls_fieldcat to lt_fieldcat.
    clear ls_fieldcat.
    ls_fieldcat-fieldname    = 'UDATE'.
    ls_fieldcat-seltext_l    = 'MODIFIED DATE'.
    append ls_fieldcat to lt_fieldcat.
      clear ls_fieldcat.
      ls_fieldcat-fieldname    = 'TCODE'.
      ls_fieldcat-seltext_l    = 'TRANSACTION CODE'.
      append ls_fieldcat to lt_fieldcat.
      clear ls_fieldcat.
      ls_fieldcat-fieldname    = 'TABNAME'.
      ls_fieldcat-seltext_l    = 'TABLE NAME'.
      append ls_fieldcat to lt_fieldcat.
      clear ls_fieldcat.
      ls_fieldcat-fieldname    = 'TABKEY'.
      ls_fieldcat-seltext_l    = 'TABLE KEY'.
      append ls_fieldcat to lt_fieldcat.
      clear ls_fieldcat.
      ls_fieldcat-fieldname    = 'FNAME'.
      ls_fieldcat-seltext_l    = 'FNAME'.
      append ls_fieldcat to lt_fieldcat.
      clear ls_fieldcat.
      ls_fieldcat-fieldname    = 'FVALUE'.
      ls_fieldcat-seltext_l    = 'FVALUE'.
      append ls_fieldcat to lt_fieldcat.
      clear ls_fieldcat.
      ls_fieldcat-fieldname    = 'VALUE_NEW'.
      ls_fieldcat-seltext_l    = 'NEW VALUE'.
      append ls_fieldcat to lt_fieldcat.
      clear ls_fieldcat.
      ls_fieldcat-fieldname    = 'VALUE_OLD'.
      ls_fieldcat-seltext_l    = 'OLD VALUE'.
      append ls_fieldcat to lt_fieldcat.
    endform.                    " f_fieldcat_init
    form alv_display tables  gi_final using gt_fieldcat .
      call function 'REUSE_ALV_LIST_DISPLAY'
       exporting
      I_INTERFACE_CHECK              = ' '
      I_BYPASSING_BUFFER             =
      I_BUFFER_ACTIVE                = ' '
       I_CALLBACK_PROGRAM             = ' Material list '
      I_CALLBACK_PF_STATUS_SET       = ' '
      I_CALLBACK_USER_COMMAND        = ' '
      I_STRUCTURE_NAME               =
         is_layout                      = gs_layout
         it_fieldcat                    = gt_fieldcat
      IT_EXCLUDING                   =
      IT_SPECIAL_GROUPS              =
      IT_SORT                        =
      IT_FILTER                      =
      IS_SEL_HIDE                    =
      I_DEFAULT                      = 'X'
      I_SAVE                         = ' '
      IS_VARIANT                     =
      IT_EVENTS                      =
      IT_EVENT_EXIT                  =
      IS_PRINT                       =
      IS_REPREP_ID                   =
      I_SCREEN_START_COLUMN          = 0
      I_SCREEN_START_LINE            = 0
      I_SCREEN_END_COLUMN            = 0
      I_SCREEN_END_LINE              = 0
    IMPORTING
      E_EXIT_CAUSED_BY_CALLER        =
      ES_EXIT_CAUSED_BY_USER         =
        tables
          t_outtab                       = gi_final
    EXCEPTIONS
      PROGRAM_ERROR                  = 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.
    endform.
    regards
    siva

  • Most recent date (UDATE) from CDHDR table based on CDPOS

    Hi,
    I am working on one object where i stuck with one issue. The requirement is I have to retrieve the most recent date from CDHDR table based on CHANGENR in CDPOS table. Where i am doing FOR ALL ENTRIES on CDPOS table to get the MAX( date )and i got the error, that aggregate functions are not allowed except COUNT( * ) with for all entries.
    Any thread which can solve this issue would help aswel.
    Please guide me how to achieve this. <removed>
    Edited by: Thomas Zloch on Mar 13, 2010 9:10 PM

    Hi Li,
    Thats was really helpful information , infact my requirement is same as what you said. I even checked in the table entries there is only one changenumber.
    You said we can take the first record, i even did the same. But for TABNAME I have to pass 3 table name 'LFA1', 'LFB1' and 'LFM1'. For FNAME 'LOEVM', 'SPERR'. I have written the code as below.
      SELECT objectclas
                   objectid
                   changenr
                   FROM cdpos
                   INTO TABLE i_cdpos_a1
                   FOR ALL ENTRIES IN i_lfabm1
                   WHERE objectclas = c_kred               "KRED
                   AND objectid EQ i_lfabm1-objectid       "Lifnr
                   AND ( tabname EQ c_lfa1 OR tabname EQ c_lfb1 OR tabname EQ c_lfm1 )          "LFA1, LFB1 and LFM1
                   AND ( fname EQ c_loevm OR fname OR fname EQ c_sperr )    "LOEVM, SPERR
                   AND value_new EQ c_x.
            IF sy-subrc EQ c_0.
              IF i_cdpos_a1[] IS NOT INITIAL.
    Select UDATE from CDHDR based on CHANGENR in CDPOS.
                SELECT objectclas
                       objectid
                       changenr
                       udate
                       FROM cdhdr
                       INTO TABLE i_cdhdr_a1
                       FOR ALL ENTRIES IN i_cdpos_a1
                       WHERE objectclas = c_kred             "KRED
                       AND  objectid EQ i_lfabm1-objectid               "Lifnr
                       AND changenr EQ i_cdpos_a1-changenr.   "(this is coming from CDPOS above selection)
    Here i got UDATE which have all the dates from 3 tables. I have to display in the output the field value (X) of LOEVM and UDATE for LFA1, SPERR value and UDATE for LFA1.Same way for other two tables, I have to display the UDATE and its field value (X). Where UDATE should be most recent date respectively.
    How can I populate the Recent date (UDATE) from one interal table for indvidual field values and table names.

  • Joining vbak to cdhdr table for document changes

    Hi Expert
    I am hanging for a week in this project please need some advice
    I want to join vbak table with cdhdr and select
    vbak.vkbur (plant) and want to show that vkbur in the internal table of it_cdhdr
    so as to select only those plant belong to vkbur so how can I join base on the below coding................
    REPORT ZCHGDOC
    NO STANDARD PAGE HEADING LINE-SIZE 120.
    WRITE: sy-title, 40 'Page', sy-pagno.
    ULINE.
    TABLES: CDHDR,
             CDPOS,
             t001w,
             "VKBUR,
             "VBELN,
             VBAK,
             VBAP.
    SELECTION-SCREEN BEGIN OF BLOCK DOCUMENT WITH FRAME TITLE TEXT-701.
    SELECTION-SCREEN END OF BLOCK DOCUMENT.
    SELECT-OPTIONS:
                     V1 FOR VBAK-VKBUR,
                     S_WERKS for T001W-werks,
                     objectid for  cdhdr-objectid,
                     udate for cdhdr-udate.
    PARAMETER: USERNAME LIKE CDHDR-USERNAME.
    DATA: BEGIN OF IT_VBAP OCCURS 0,
             OBJECTCLAS LIKE CDHDR-OBJECTCLAS,
             OBJECTID LIKE CDHDR-OBJECTID,
             VBELN LIKE VBAP-VBELN,
              END OF IT_VBAP.
    DATA: BEGIN OF IT_CDHDR OCCURS 0,
             OBJECTCLAS LIKE CDHDR-OBJECTCLAS,
             OBJECTID LIKE CDHDR-OBJECTID,
             CHANGENR LIKE CDHDR-CHANGENR,
             USERNAME LIKE CDHDR-USERNAME,
             UDATE LIKE CDHDR-UDATE,
             UTIME LIKE CDHDR-UTIME,
             FNAME LIKE CDPOS-FNAME,
             TABNAME LIKE CDPOS-TABNAME,
             TABKEY LIKE CDPOS-TABKEY,
             VALUE_NEW LIKE CDPOS-VALUE_NEW,
             VALUE_OLD LIKE CDPOS-VALUE_OLD,
    END OF IT_CDHDR.
    DATA: WA LIKE LINE OF IT_CDHDR.
    DATA: WA LIKE LINE OF IT_CDPOS.
    DATA: BEGIN OF IT_CDPOS OCCURS 0,
             OBJECTCLAS LIKE CDHDR-OBJECTCLAS,
             OBJECTID LIKE CDHDR-OBJECTID,
             CHANGENR LIKE CDHDR-CHANGENR,
             TABNAME LIKE CDPOS-TABNAME,
             TABKEY LIKE CDPOS-TABKEY,
             FNAME LIKE CDPOS-FNAME,
             VALUE_NEW LIKE CDPOS-VALUE_NEW,
             VALUE_OLD LIKE CDPOS-VALUE_OLD,
    END OF IT_CDPOS.
    Move-corresponding it_cdhdr to wa.
    Move-corresponding it_cdpos to wa.
    SELECT OBJECTCLAS
            OBJECTID
            CHANGENR
            USERNAME
            UDATE
            UTIME FROM CDHDR
            INTO CORRESPONDING FIELDS OF TABLE IT_CDHDR
    WHERE OBJECTCLAS = 'VERKBELEG' or
          objectclas = 'BETRIEB'
          ORDER BY UDATE.
    WHERE OBJECTCLAS = 'VERKBELEG'
    OR OBJECTCLAS = 'BETRIEB' ORDER BY UDATE.
    Filter data based upon Plant selection criteria.
    IF NOT S_WERKS[] IS INITIAL.
    DELETE IT_CDHDR WHERE NOT OBJECTID IN S_WERKS.
    ENDIF.
    IF IT_CDHDR[] IS NOT INITIAL.
       SELECT OBJECTCLAS
              OBJECTID
              CHANGENR
              VALUE_NEW
              VALUE_OLD
              FNAME
              TABNAME
              TABKEY
              FROM CDPOS
              INTO CORRESPONDING FIELDS OF TABLE IT_CDPOS
              FOR ALL ENTRIES IN IT_CDHDR
              WHERE
              OBJECTCLAS = IT_CDHDR-OBJECTCLAS
              AND OBJECTID = IT_CDHDR-OBJECTID
              AND CHANGENR = IT_CDHDR-CHANGENR.
              "or tabname = 'VBAP'.
       SORT IT_CDPOS BY OBJECTCLAS OBJECTID CHANGENR.
    ENDIF.
    Add tables CDPOS DATA TO CDHDR.
    DATA: INDEX TYPE i.
    LOOP AT IT_CDHDR.
       INDEX = SY-TABIX.
       READ TABLE IT_CDPOS WITH KEY OBJECTCLAS = IT_CDHDR-OBJECTCLAS
       OBJECTID = IT_CDHDR-OBJECTID
       CHANGENR = IT_CDHDR-CHANGENR BINARY SEARCH.
       IF SY-SUBRC = 0.
         IT_CDHDR-VALUE_NEW = IT_CDPOS-VALUE_NEW.
         IT_CDHDR-VALUE_OLD = IT_CDPOS-VALUE_OLD.
         MODIFY IT_CDHDR INDEX index TRANSPORTING value_new value_old.
       ENDIF.
       WRITE:/ SY-DATUM,SY-UZEIT,
              50 'DOCUMENT CHANGE REPORT',
             80 'Page', SY-PAGNO,
    "  WRITE: / SY-REPID
              50 'DETAIL REPORT BY PLANT '.
       SKIP.
       ULINE.
    *& T O P - O F - P A G E *
    WRITE:/ 'UDATE:' ,SY-DATUM.
    FORMAT COLOR 4 INTENSIFIED on.
    Write: /35                           ' DOCUMENT CHANGES REPORT '.
       WRITE: /5 'DOCUMENT-NO'.
    20 'TABNAME', 30 'TEXT_CASE', 50 'FNAME'.
       WRITE: /5 'DATE',  20 'FNAME', 45 'CHANGE-NO',65 'OLD-VALUE',80 'NEW-VALUE',95 'USER-NAME'.
       ULINE.
       LOOP AT IT_CDHDR INTO WA.
       on change of wa-objectid.
       Write: / wa-objectid UNDER'DOCUMENT-NO' ."color col_key.
       ENDON.
    ULINE.
         " CDPOS-tabname UNDER'TABNAME', CDPOS-TEXT_CASE UNDER'TEXT_CASE',CDPOS-fname UNDER'FNAME'. "color col_key ,
         write: / wa-udate dd/mm/yyyy under'DATE' NO-GAP,wa-fname under'FNAME' NO-GAP,wa-changenr under 'CHANGE-NO',
         wa-value_old under'OLD-VALUE' LEFT-JUSTIFIED NO-GAP,
         wa-value_new under'NEW-VALUE' LEFT-JUSTIFIED NO-GAP ,wa-username under'USER-NAME' NO-GAP.
    ENDON.
    Move-corresponding it_cdhdr to wa.
    *Write: / wa-objectid UNDER'DOCUMENT-NO' "color col_key.
    *" CDPOS-tabname UNDER'TABNAME', CDPOS-TEXT_CASE UNDER'TEXT_CASE',CDPOS-fname UNDER'FNAME'. "color col_key ,
    *write: / wa-udate dd/mm/yyyy under'DATE' NO-GAP,wa-utime under'TIME' NO-GAP,wa-changenr under 'CHANGE-NO',
    ltrim(wa-value_old) under'OLD-VALUE' NO-GAP,
    *wa-value_new under'NEW-VALUE' NO-GAP ,wa-username under'USER-NAME' NO-GAP.
       ENDLOOP.
    ENDLOOP.

    Hai everybody.
    I am new to this forum. i got a job in abap recently. The below is my requirement.I want solution for this one. Anybody plz help me.
    The change logs were captured in DBTABLOG for table ZWPRFRUND (in transaction ZWPG).
    The only report which is currently used to get the change logs is RSVTPROT
    Now my requirement is,
    we need to display the change logs in the form of ALV.
    We should divert the changes to CDHDR table instead of DBTABLOG, then we can use the RSSCD100 to display change logs.
    The Important items for the change LOG needed in case of changes to table in “ZWPG” are,DATE ,TIME,USER,FIRST NAME,FILED NAME,OLD VALUE,NEW VALUE
    The above fields need to be displayed in the grid. In the above list “FIELD NAME” denotes any field of the table in the transaction in “ZWPG”
    Thanks & Regards,
    Sujatha.T.

  • Updating CDHDR table

    Hi All,
    I have a Z table  of which I change the primary key values though a Z program. The object id field in CDHDR table is a combination of the key fields in my Z table. I have made some changes to the values of these key fields in this Z table.But I dont see the same reflected in CDHDR. I have created change document for Z table through SCDO transaction and generated a function module too. But I am not sure where to insert this function module and how to go further so that I can find the value in CDHDR.
    Please assist.
    Thanks.
    Vineeta

    The following function module is used to extract values from the CDHDR table.
    *             Form  GET_CHANGEDOCUMENT_HEADER
    *              Description :
    *                            Get Change Document Header data
    *             -->P_I_T_CDHDR       Change Document Header
    *             -->P_I_S_VBAK_VBELN  Order
    form get_changedocument.
    * Get Change Document Header data
      clear g_objectclass.
      g_objectclass = c_verkbeleg.          " OBJECT CLASS: 'VERKBELEG'
      g_objectid    = is_vbak_vbap-vbeln.   " OBJECTID    : current Sales Order
      call function 'CHANGEDOCUMENT_READ'
        exporting
          objectclass                = g_objectclass
          objectid                   = g_objectid
        tables
          editpos                    = i_cdpos
        exceptions
          no_position_found          = 1
          wrong_access_to_archive    = 2
          time_zone_conversion_error = 3
          others                     = 4.
    * If records are returned from CDHDR
      if sy-subrc eq 0.
    * Sort by latest change number
        sort i_cdpos by changenr descending.
      endif.
    endform.                    " GET_CHANGEDOCUMENT_HEADER
    But I really don't think that the table registers changes done to any Z object. Try this anyways.
    Reward if useful,
    Thanks,
    Rahul

  • Sequential access on CDHDR table

    How to improve this query on CDHDR which leads to Sequential access on CDHDR table so that it can improve performance, or is there any other means which i can achieve better performance on CDHDR?
    the query as follows:
          SELECT objectclas objectid changenr FROM cdhdr INTO TABLE it_cdhdr
                 WHERE changenr > changenr1  AND ( objectclas = 'VERKBELEG' ).
    Thnaks in Advance
    Ramada

    Hi Ramada!
    Your 2nd index (with change number) has no MANDT field - maybe this is the reason it's not used. Also a combination of change number and object class can be better; you might give it a try.
    But in general there is no good way to select the CDHDR for changes done since xxx (change number or date / time).
    Of course it's database optimizer decision, but likely you and up all the time with sequential read accesses -> it will be slow in production.
    So I gave you a hint how to change the program design a little bit - from business process point of view, this shouldn't be a difference. But if you change from CDHDR to BDCP(S), then you can select changes much faster (usually in a few seconds, even for >100.000 entries).
    Regards,
    Christian

  • Create a new entry for zfield in the CDHDR table when sales order is create

    Hi,
    We have some custom field added to table VBAP and that field need is updated thorugh transaction VA01 or VA02.
    The Function poeple is asking to Update the CDHDR table for the ztable when ever the field is updated ,and they want
    the changes to appear in the sales order changes Log.
    Prabhudas

    Problem solved.
    By using the ..
    Used this FM "VERKBELEG_WRITE_DOCUMENT" in MV45AFZZ in exit...DOCUMENT_SAVE.
    by passign the only VBAK and VBAP table structure of XVBAP and YVABP and field name as ZZFIELD.
    Prabhudas.

  • How to get the object class field value in CDHDR table for vendor

    hi
    how to get the object class field value in CDHDR table for vendor

    Try KRED/KRED_N as object class in CDHDR for Vendor.

  • How to Divert the changes to cdhdr table instead of dbtablog?

    Hai everybody.
    I am new to this forum. i got a job in abap recently. The below is my requirement.I want solution for this one. Anybody plz help me.
    I am having ztransaction.
    The change logs already were captured in DBTABLOG for table ZWPRFRUND (in transaction ZWPG).
    The only report which is currently used to get the change logs is RSVTPROT
    Now my requirement is,
    we need to display the change logs in the form of ALV.
    We should divert the changes to CDHDR table instead of DBTABLOG, then we can use the RSSCD100 to display change logs.
    The Important items for the change LOG needed in case of changes to table in “ZWPG” are,DATE ,TIME,USER,FIRST NAME,FILED NAME,OLD VALUE,NEW VALUE
    The above fields need to be displayed in the grid. In the above list “FIELD NAME” denotes any field of the table in the transaction in “ZWPG”
    Thanks & Regards,
    Sujatha.T.

    Check out my post in this thread:
    How to record add-on table change logs?
    You need to define a change document type and generate relevant code for this.
    Andrew

  • CDHDR table is not updated after execution of  transaction   CK 24

    Hi Experts ,
    I am  Triggering my workflow from  for CK 24 transaction based on the change document entry from CDHDR table , once the CK24 transaction executes .
    Now the problem is  after execution of the CK24 transaction now its not updating the table CDHDR, which was happening before .
    Note: No customization has been made which can affect this updation .
    Can any body please guide me on this , why the standard table is not being updated now with the change document entries  .
    Regards
    Sarmistha

    You can use following FMs
    CHANGEDOCUMENT_READ_HEADERS    Change document: Read change document header
    CHANGEDOCUMENT_READ_POSITIONS  Change document: Read change document items
    IN CDPOS you have to give the same thing as CDHDR. You have to search with the respective Object class and provide the Object Id(Key fields like Document number). Another thing you will also get the change document number from the transaction itself from which you are change the Document.
    Thanks
    Arghadip

  • CDHDR table query taking long time

    Hi all,
    Select query from CDHDR table is taking long time,in where condition i am giving OBJECTCLASS = 'MAT_FULL' udate = sy-datum and langu = 'EN'.
    any suggestion to improve the performance.i want to select all the article which got changed on current date
    regards
    shibu

    This will always be slow for large data volumes, since CDHDR is designed for quick access by object ID (in this case material number), not by date.
    I'm afraid you would need to introduce a secondary index on OBJECTCLAS and UDATE, if that query is crucial enough to warrant the additional disk space and processing time taken by the new index.
    Greetings
    Thomas

  • Archiving MM_SPSTOCK Issues with CDHDR Table

    We're executing a number of small variants and in some cases it starts to read the CDHDR table sequentially and the job has to be canceled or eventually terminates. Also, in these cases it holds locks and the transaction MIGO fails and batch GR processes terminates. The sequential reading of CDHDR happens if we run one or multiple jobs of MM_SPSTOCK..
    Anybody encounter the sequential read of CDHDR and/or the locking issues?
    Any help will be appreciated.
    Thanks.
    Soyab

    No I never faced this issue.
    Make sure that you always have the most recent OSS notes applied before you start archiving of any archiving object.
    For performance issues see OSS Note 548661 - Composite SAP note: Archive object MM_SPSTOCK

  • Ship to record not populated in the CDHDR table at the time of creation

    HI
    I have created the Ship to party in R/3 and automatically i couldnt found the customer number entry with Change object as " I " in the table CDHDR. but ideally all the master data creation entries will be written in the CDHDR table with " I ".
    Please help me out here.
    Helpful answers will be rewarded.
    Regards,
    Ram.

    In that case, try maintaining only the dates in that table and execute.  Once the data is populated, ensure that transaction code is XD01 and not XD02.  Moreover, I am not sure, system will show the creation time there.  May be you can try in KNA1 where also, you can see the creation date but not time.
    As an alternative, execute XD02 for that ship to party where from top menu bar, click on Environment => Account changes => All fields.  Again double click on "Entries", so that system will display the creation and changes made to that customer with date.  Double click on the first record so that system will show when that particular activity was taken place and at what time.
    thanks
    G. Lakshmipathi

  • Change an entry in the CDHDR Table

    Hello Everyone,
    How can I change an Entry which is present in the CDHDR Table.
    I know of the FM ENTRYSHEET_WRITE_DOCUMENT which allows me to
    create entries in CDHDR programitically but I am not sure this will help me change the entries.
    Thanks for your Help
    Ashwin

    Thanks for your reply Arun.
    I am trying out the FM BAPI_DOCUMENT_CHANGE.
    Can you suggest some way of determining the Input parameters for the same. This seems to be a DMS related FM.
    My intention of changing the CDHDR Entry is to change the value in the "USERNAME" field of this table.
    Thanks and Regards
    Ashwin

  • Regarding change pointers in CDHDR table.

    Hi All
    Can we write change pointers in CDHDR table when we change the status of the project (CJ20n).
    When I change the status of the project then status of the network is also changed.
    Now my requirement is , as soon as the status of the network is changed ,entry should be recorded in to CDHDR.
    I am able to record the changes when description or other things of the nework are changed but facing problem for status change.
    Can we achieve this if yes then how ?

    Hi Pranay,
    Could you please let me know how you could able to resolve this issue? i am facing same kind of problem
    Regards,
    M, Manohar

Maybe you are looking for

  • Info cube

    Hi gurus I have done enhancement to populate a new field to the DataSource, then how would i ad this object to the info cube, and shall i delete the data which is already in the info cube. thanx vidhu

  • No syslog after enable ipf in Solaris 10

    Hi, As I'm newbie in Solaris, I just configure firewall by using IPF in solaris 10. Firewall is working well except I can't see blocking IP address and port number in syslog. Please let me know how can I see "block in and out" IP address. Jon

  • HT2176 can I run classic in Mac OS X 10.3 Panther?

    Can I run classic in a Mac OSX 10.3 Panther?

  • Should i buy he ipod universal dock

    should i buy he ipod universal dock, can anyone help me to decide. thanks

  • How to filter 2 Dimension on DS with script code

    Hi experts, coming from a discussion: Not possible to filter for more than one dimension in Datasource script filter method? I found necessary to open new discussion. I have the following scenario: I got a pie chart showing indicator for one dimensio