CDHDR CDPOS LOG

Tablo günlük programı

*&---------------------------------------------------------------------*
*& Report  ZTR_CDHDR_LOG
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT  ZTR_CDHDR_LOG.


*&---------------------------------------------------------------------*
*& Report  ZMM_CDHDR_LOG
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*


TYPE-POOLS:SLIS.

DATAGT_OUT LIKE STANDARD TABLE OF ZTR_S_CDHDR_LOG.
DATAGS_OUT LIKE ZTR_S_CDHDR_LOG.

TABLES CDHDR CDPOS.
*
*DATA:BEGIN OF  OCCURS 0,
**-CDHDR
*    OBJECTCLAS LIKE CDHDR-OBJECTCLAS,
*    OBJECTID LIKE CDHDR-OBJECTID,
*    CHANGENR LIKE CDHDR-CHANGENR,
*    USERNAME LIKE CDHDR-USERNAME,
*    UDATE LIKE CDHDR-UDATE,
*    UTIME LIKE CDHDR-UTIME,
*    TCODE LIKE CDHDR-TCODE,
*    PLANCHNGNR LIKE CDHDR-PLANCHNGNR,
*    ACT_CHNGNO LIKE CDHDR-ACT_CHNGNO,
*    WAS_PLANND LIKE CDHDR-WAS_PLANND,
*    CHANGE_IND LIKE CDHDR-CHANGE_IND,
*    LANGU LIKE CDHDR-LANGU,
*    VERSION LIKE CDHDR-VERSION,
*
*
**-CDPOS
*
*    TABNAME LIKE CDPOS-TABNAME,
*    TABKEY LIKE CDPOS-TABKEY,
*    FNAME LIKE CDPOS-FNAME,
*    CHNGIND LIKE CDPOS-CHNGIND,
*    TEXT_CASE LIKE CDPOS-TEXT_CASE,
*    UNIT_OLD LIKE CDPOS-UNIT_OLD,
*    UNIT_NEW LIKE CDPOS-UNIT_NEW,
*    CUKY_OLD LIKE CDPOS-CUKY_OLD,
*    CUKY_NEW LIKE CDPOS-CUKY_NEW,
*    VALUE_NEW LIKE CDPOS-VALUE_NEW,
*    VALUE_OLD LIKE CDPOS-VALUE_OLD,
*
*END OF GT_OUT.

DATAREAD_CODE  type SY-UCOMM.


DATAS_FCAT TYPE SLIS_FIELDCAT_ALV,
      ST_FCAT TYPE SLIS_T_FIELDCAT_ALV,
      G_PROGRAM LIKE SY-REPID.


SELECT-OPTIONS :  S_OCLAS  FOR  CDHDR-OBJECTCLAS
                           MEMORY ID ZMM_MEM_OBJECTCLAS
                           obligatory.
SELECT-OPTIONS :  S_OBJID  FOR  CDHDR-OBJECTID
                           MEMORY ID ZMM_MEM_OBJECTID.

SELECT-OPTIONS :  S_UNAME  FOR  CDHDR-USERNAME
                           MEMORY ID ZMM_MEM_USERNAME.
SELECT-OPTIONS :  S_UDATE  FOR  CDHDR-UDATE
                           MEMORY ID ZMM_MEM_UDATE.
SELECT-OPTIONS :  S_UTIME  FOR  CDHDR-UTIME   .
SELECT-OPTIONS :  S_TCODE  FOR  CDHDR-TCODE
                           MEMORY ID ZMM_MEM_TCODE.
SELECT-OPTIONS :  S_CHAND  FOR  CDHDR-CHANGE_IND .
SELECT-OPTIONS :  S_LANGU  FOR  CDHDR-LANGU .
SELECT-OPTIONS :  S_TABNM  FOR  CDPOS-TABNAME   .
SELECT-OPTIONS :  S_FNAME  FOR  CDPOS-FNAME
                           MEMORY ID ZMM_MEM_FNAME.
SELECT-OPTIONS :  S_TABKY  FOR  CDPOS-TABKEY   .
SELECT-OPTIONS :  S_CHNID  FOR  CDPOS-CHNGIND   .
SELECT-OPTIONS :  S_VLNEW  FOR  CDPOS-VALUE_NEW   .
SELECT-OPTIONS :  S_VLOLD  FOR  CDPOS-VALUE_OLD .




START-OF-SELECTION .

  PERFORM GET_DATA .

END-OF-SELECTION .

  PERFORM disp_data .


FORM GET_DATA .
  DATA LT_OUT LIKE STANDARD TABLE OF ZTR_S_CDHDR_LOG.
  DATA LT_CDPOS LIKE STANDARD TABLE OF CDPOS.
  DATALS_CDPOS LIKE CDPOS.

  SELECT INTO CORRESPONDING FIELDS OF TABLE LT_OUT
    FROM CDHDR
    WHERE     OBJECTCLAS IN S_OCLAS
        AND   OBJECTID IN S_OBJID
        AND   USERNAME IN S_UNAME
        AND   UDATE IN S_UDATE
        AND   UTIME IN S_UTIME
        AND   CHANGE_IND IN S_CHAND
        AND   LANGU IN S_LANGU
        AND   TCODE IN S_TCODE  .
    .
*      INNER JOIN CDPOS ON
*          CDPOS-OBJECTCLAS =  CDPOS-OBJECTCLAS
*          AND CDPOS-OBJECTID = CDPOS-OBJECTID
*          AND CDPOS-CHANGENR = CDPOS-CHANGENR

SELECT FROM CDPOS
          INTO CORRESPONDING FIELDS OF TABLE LT_CDPOS
          for all entries in LT_OUT
            WHERE
                OBJECTCLAS EQ LT_OUT-OBJECTCLAS
            AND OBJECTID EQ LT_OUT-OBJECTID
            AND CHANGENR EQ LT_OUT-CHANGENR
            AND FNAME IN S_FNAME
            AND TABNAME IN S_TABNM
            AND TABKEY IN S_TABKY
            AND CHNGIND IN S_CHNID
            AND VALUE_NEW IN S_VLNEW
            AND VALUE_OLD IN S_VLOLD.
      .

  LOOP AT LT_OUT INTO GS_OUT.
    LOOP AT  LT_CDPOS INTO LS_CDPOS
              WHERE     OBJECTCLAS GS_OUT-OBJECTCLAS
                   AND  OBJECTID GS_OUT-OBJECTID
                   AND  CHANGENR GS_OUT-CHANGENR.
        MOVE-CORRESPONDING LS_CDPOS  TO  GS_OUT.

        APPEND GS_OUT TO GT_OUT.
   ENDLOOP.  "LT_CDPOS
  ENDLOOP.  "LT_OUT


ENDFORM.







*&---------------------------------------------------------------------*
*&      Form  DISP_DATA
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM DISP_DATA .
  G_PROGRAM SY-REPID.

  PERFORM FIELDCAT_BUILD .

  CALL FUNCTION `REUSE_ALV_GRID_DISPLAY`
    EXPORTING
*      I_CALLBACK_TOP_OF_PAGE = `F_TOP_OF_PAGE`
       I_CALLBACK_USER_COMMAND `USER_COMMAND`
      I_CALLBACK_PF_STATUS_SET `SET_PF_STATUS_FUNC`
      I_CALLBACK_PROGRAM     G_PROGRAM
      IT_FIELDCAT            ST_FCAT
    TABLES
      T_OUTTAB               GT_OUT.

ENDFORM.                    "DISP_DATA

*&---------------------------------------------------------------------*
*&      Form  SET_PF_STATUS_FUNC
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->LT_EXTAB   text
*----------------------------------------------------------------------*
FORM SET_PF_STATUS_FUNC USING LT_EXTAB .
  SET PF-STATUS `STANDARD_FULLSCREEN`.

ENDFORM.                    "SET_PF_STATUS_FUNC




*&---------------------------------------------------------------------*
*&      Form  FIELDCAT_BUILD
*&---------------------------------------------------------------------*
FORM FIELDCAT_BUILD .


  CALL FUNCTION `REUSE_ALV_FIELDCATALOG_MERGE`
   EXPORTING
*     I_PROGRAM_NAME               =
*     I_INTERNAL_TABNAME           =
      I_STRUCTURE_NAME             `ZTR_S_CDHDR_LOG`
*     I_CLIENT_NEVER_DISPLAY       = `X`
*     I_INCLNAME                   =
*     I_BYPASSING_BUFFER           =
*     I_BUFFER_ACTIVE              =
    CHANGING
      CT_FIELDCAT                  ST_FCAT
*   EXCEPTIONS
*     INCONSISTENT_INTERFACE       = 1
*     PROGRAM_ERROR                = 2
*     OTHERS                       = 3
            .
  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.                    " FIELDCAT_BUILD



*&---------------------------------------------------------------------*
*&      Form  USER_COMMAND
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->B_BUTTON   text
*      -->I_SECILEN  text
*----------------------------------------------------------------------*
FORM USER_COMMAND
      USING B_BUTTON LIKE SY-UCOMM I_SECILEN TYPE SLIS_SELFIELD.
*  SET PF-STATUS   `STANDARD`.
  READ_CODE B_BUTTON.
  CASE READ_CODE.
    WHEN`&F03` ,`&F05` `&F12` .
      LEAVE TO SCREEN 0.

  ENDCASE.

ENDFORM.                    "USER_COMMAND


Structure ZTR_S_CDHDR_LOG
OBJECTCLAS    Types    CDOBJECTCL
OBJECTID    Types    CDOBJECTV
CHANGENR    Types    CDCHANGENR
TABNAME    Types    TABNAME
TABKEY    Types    CDTABKEY
FNAME    Types    FIELDNAME
CHNGIND    Types    CDCHNGIND
TEXT_CASE    Types    CDXFELD
KUNNR    Types    KUNNR
MATNR    Types    MATNR
UNIT_OLD    Types    CDUNIT
UNIT_NEW    Types    CDUNIT
CUKY_OLD    Types    CDCUKY
CUKY_NEW    Types    CDCUKY
VALUE_NEW    Types    CDFLDVALN
VALUE_OLD    Types    CDFLDVALO