The report for change documents displays many more assets than it
should (based on the selection criteria), when you select using
assets and other additional criteria, such as "Last changed by."
Program error.
SolutionCorrected in 2.2F
Advance correction in RAAEND01
:
:
FORM CHECK_CHANGES.
DATA: AENDERER LIKE SYST-UNAME,
OBJEKT LIKE CDHDR-OBJECTCLAS VALUE 'ANLA',
OBJEKTID LIKE CDHDR-OBJECTID, <
:
CALL FUNCTION 'CHANGEDOCUMENT_READ_HEADERS'
EXPORTING OBJECTCLASS = OBJEKT
OBJECTID = OBJEKTID
USERNAME = AENDERER
TABLES I_CDHDR = XCDHDR
EXCEPTIONS NO_POSITION_FOUND = 1
OTHERS = 2.
CHECK SY-SUBRC = 0.
* perform write_anla. << change
SORT XCDHDR BY UDATE
UTIME
CHANGENR.
*---- Report Changes ---------------------------------------------*
LOOP AT XCDHDR.
CDHDR = XCDHDR.
CHECK S_UNAME.
CHECK S_DATUM.
* CLEAR LST_TABNAME. <
ENDFORM.
:
:
FORM WRITE_CHANGES USING U_FLG_FIRST_ANLA. <
DATA: BEGIN OF XCDSHW OCCURS 50.
INCLUDE STRUCTURE CDSHW.
DATA: END OF XCDSHW.
DATA: L_FNAME LIKE CDSHW-FNAME.
DATA: L_FLG_FIRST_HEADER VALUE 'X'. <
CALL FUNCTION 'CHANGEDOCUMENT_READ_POSITIONS'
EXPORTING CHANGENUMBER = CDHDR-CHANGENR
IMPORTING HEADER = CDHDR
TABLES EDITPOS = XCDSHW
EXCEPTIONS NO_POSITION_FOUND = 1
OTHERS = 2.
IF SY-SUBRC = 0.
SORT XCDSHW BY TABNAME
TABKEY
CHNGIND
FNAME.
*-- Report line of the change document ------------------------------*
LOOP AT XCDSHW.
IF XCDSHW-TABNAME EQ 'ANEP' OR
XCDSHW-TABNAME EQ 'ANEA'.
CHECK CON_ON = CON_OFF.
ENDIF.
* L_FNAME(4) = XCDSHW-TABNAME. <
* L_FNAME+4(1) = '-'. <
L_FNAME = XCDSHW-FNAME. <
IF U_FLG_FIRST_ANLA EQ 'X'. <
* SKIP 1.
PERFORM PRINT_CHANGES.
ULINE. <
*- No cahange documents present for the asset ------------------------*
ELSE.
* SKIP 1.
FORMAT COLOR COL_TOTAL INTENSIFIED OFF.
WRITE: /1(82) 'No positions found'(101).
FORMAT RESET.
ENDIF.
* ULINE. <
************************************************************************
Release 3.0
RAAEND01
:
:
FORM CHECK_CHANGES.
DATA: AENDERER LIKE SYST-UNAME,
OBJEKT LIKE CDHDR-OBJECTCLAS VALUE 'ANLA',
OBJEKTID LIKE CDHDR-OBJECTID,
FLG_FIRST_ANLA VALUE 'X'. <
:
CALL FUNCTION 'CHANGEDOCUMENT_READ_HEADERS'
EXPORTING OBJECTCLASS = OBJEKT
OBJECTID = OBJEKTID
USERNAME = AENDERER
TABLES I_CDHDR = XCDHDR
EXCEPTIONS NO_POSITION_FOUND = 1
OTHERS = 2.
CHECK SY-SUBRC = 0.
SORT XCDHDR BY UDATE
UTIME
CHANGENR.
*---- Änderungen ausgeben --------------------------------------------*
LOOP AT XCDHDR.
CDHDR = XCDHDR.
CHECK S_UNAME.
CHECK S_DATUM.
* if flg_first eq 'X'. <
* CLEAR LST_TABNAME. <
PERFORM WRITE_CHANGES USING FLG_FIRST_ANLA. <
ENDFORM.
:
:
FORM WRITE_CHANGES USING U_FLG_FIRST_ANLA. <
DATA: BEGIN OF XCDSHW OCCURS 50.
INCLUDE STRUCTURE CDSHW.
DATA: END OF XCDSHW.
DATA: L_FNAME LIKE CDSHW-FNAME.
DATA: L_FLG_FIRST_HEADER VALUE 'X'. <
CALL FUNCTION 'CHANGEDOCUMENT_READ_POSITIONS'
EXPORTING CHANGENUMBER = CDHDR-CHANGENR
IMPORTING HEADER = CDHDR
TABLES EDITPOS = XCDSHW
EXCEPTIONS NO_POSITION_FOUND = 1
OTHERS = 2.
IF SY-SUBRC = 0.
SORT XCDSHW BY TABNAME
TABKEY
CHNGIND
FNAME.
*-- Zeilen des Änderungsbeleges ausgeben ------------------------------*
LOOP AT XCDSHW.
IF XCDSHW-TABNAME EQ 'ANEP' OR
XCDSHW-TABNAME EQ 'ANEA'.
CHECK CON_ON = CON_OFF.
ENDIF.
* L_FNAME(4) = XCDSHW-TABNAME. <
* L_FNAME+4(1) = '-'. <
L_FNAME = XCDSHW-FNAME. <
IF U_FLG_FIRST_ANLA EQ 'X'. <
* SKIP 1.
PERFORM PRINT_CHANGES.
ULINE. <
*- Keine Änderungsbelege zur Anlage vorhanden -------------------------*
ELSE.
* SKIP 1.
FORMAT COLOR COL_TOTAL INTENSIFIED OFF.
WRITE: /1(82) 'Keine Positionen gefunden'(101).
FORMAT RESET.
ENDIF.
* ULINE. <
You should enter the field name without the table name during the selection. If the field exists in several tables, and if the fields with this field name were also changed in several tables, then all changes will be displayed.
Additional key words
RAAEND01
No comments:
Post a Comment