KE30 Results Changed? Find Who Changed the Report (KE32) or the Form (KE35)

When a CO-PA drilldown report (KE30) suddenly shows different numbers, the first question is whether someone changed the report definition (KE32) or the form (KE35). This post shows two ways to find the creator and the last person who changed each object: from the GUI, and by reading the tables TKEB1 and TKES1 directly.

Note: screens, menus and settings can differ by SAP release and system configuration.

1. Report and form

A drilldown report is made of two objects. The columns (period, actual/cumulative and so on) and the rows (P&L lines) are defined in the form. The report takes a form and adds characteristics, variables and output options.

Item Detail
Report KE31 create / KE32 change / KE33 display. Table TKEB1
Form KE34 create / KE35 change / KE36 display. Table TKES1
When values changed Column definitions (period variables, plan/actual flag, value-field formulas) live in the form, so check the form first
One form, many reports Changing a form changes every report that uses it

2. From the GUI

Item Detail
Report (KE32) Select the report in the list, then press the information (ⓘ) icon in the toolbar. A popup shows created by, created on, last changed by, changed on and last executed on
Form (KE35) Select the form in the list and press the same information (ⓘ) icon
Menu The Extras menu does not have this entry. It opens only from the toolbar icon
Which form a report uses KE32 → Extras → Report parameters (Shift+F6) shows the form name

3. Table TKEB1 (report header)

Create and change information of a report is in TKEB1. The key is APPLCLASS = 'KE', SUBCLASS = operating concern, TABNAME = CE1 + operating concern, REPID = report name.

Field Meaning
REPID Report name
FORM Form used by the report
UNAME / GDATE Created by / created on
MODNA / MODDA / MODTI Last changed by / changed on / changed at
MODCN Version number (increases with every save)
LASUB / CNSUB Last executed on / number of executions

4. Table TKES1 (form header)

Create and change information of a form is in TKES1. The key structure is the same as TKEB1, with FORM instead of REPID.

Field Meaning
FORM Form name
FART Form type
GDATE Created on. There is no created-by field, and in practice GDATE is often 00000000
MODNA / MODDA / MODTI Last changed by / changed on / changed at
MODCN Version number
INACT Inactive flag

5. SQL: reports changed recently

HANA SQL, run in the DB02 SQL editor. Replace the client, operating concern and date. USER_ADDR is joined to show the name next to the user ID. Use only /* */ comments: the DB02 editor removes line breaks before executing, so a -- comment swallows every condition that follows it.

SELECT r.REPID     AS REPORT_ID,
       r.FORM      AS FORM_ID,
       r.UNAME     AS CREATED_BY,  r.GDATE AS CREATED_ON,
       r.MODNA     AS CHANGED_BY,  r.MODDA AS CHANGED_ON, r.MODTI AS CHANGED_AT,
       r.MODCN     AS VERSION,
       r.LASUB     AS LAST_RUN_ON, r.CNSUB AS RUN_COUNT,
       u.NAME_TEXTC AS CHANGED_BY_NAME
FROM  TKEB1 r
LEFT JOIN USER_ADDR u ON u.MANDT = r.MANDT AND u.BNAME = r.MODNA
WHERE r.MANDT = '100'
  AND r.APPLCLASS = 'KE'
  AND r.SUBCLASS  = '1000'          /* operating concern */
  AND r.MODDA >= '20260801'         /* changed on or after this date */
ORDER BY r.MODDA DESC, r.MODTI DESC;

To look at one report only, add r.REPID = 'report name'.

6. SQL: forms changed recently

SELECT f.FORM,
       f.FART      AS FORM_TYPE,
       f.GDATE     AS CREATED_ON,
       f.MODNA     AS CHANGED_BY,  f.MODDA AS CHANGED_ON, f.MODTI AS CHANGED_AT,
       f.MODCN     AS VERSION,
       u.NAME_TEXTC AS CHANGED_BY_NAME
FROM  TKES1 f
LEFT JOIN USER_ADDR u ON u.MANDT = f.MANDT AND u.BNAME = f.MODNA
WHERE f.MANDT = '100'
  AND f.APPLCLASS = 'KE'
  AND f.SUBCLASS  = '1000'          /* operating concern */
  AND f.MODDA >= '20260801'
ORDER BY f.MODDA DESC, f.MODTI DESC;

To find which reports use a form, read TKEB1 with FORM = 'form name'.

7. How to read the result

Item Detail
Last value, not history MODNA/MODDA hold only the latest change. Earlier changes are not kept
If you need history If the form or report was transported (KE3I), E071 gives the request number by object name
MODCN version Number of saves. A big jump means the object was saved many times recently
Separating the cause If the form did not change but the values did, look at the selection variables (period from/to) or at the data (unvalued lines before period close)

Korean version of this post: blog.naver.com/jeonnow/224414544611

Comments

Popular posts from this blog

SAP S/4HANA Table Reference — Tables I Actually Query, by Topic

Production Order Variance Calculation KKS1 — Fixing KV031 and KV011, and What Lands in COSB

Modern ABAP Syntax Notes — Patterns and Pitfalls from Real Development