SAP归档项目的归档对象的选择方法一般是先从技术的角度找到最大的表(TOP50或TOP100),然后确定归档对象,最近被challenge了一个问题,如何保证这么选择的归档对象是最全的,即保证归档后在线数据的完整性,所以从另一个角度去考虑这件事情,先从系统中找到有数据存在的表然后再去找这些表所在的归档对象,得到初步的归档对象列表,这个列表应该涵盖了目前系统中所有业务所具备的归档对象,然后对这些归档对象进行进一步筛选,即可得到完整的归档对象列表。其中完成第一步的程序源代码如下:
REPORT ZGETTABLEHASENTRIES .
TYPE-POOLS: adk.
DATA: wa_segments TYPE segments_f,
it_segments TYPE TABLE OF segments_f.
DATA: BEGIN OF wa_count,
type(10) TYPE c,
count TYPE i,
END OF wa_count,
it_count LIKE TABLE OF wa_count,
BEGIN OF wa_table,
name TYPE DD02L-TABNAME,
END OF wa_table,
it_table LIKE TABLE OF wa_table.
DATA: it_arch_def TYPE TABLE OF arch_def,
wa_arch_def TYPE arch_def.
DATA: it_objects TYPE ADK_CCMS_OBJECTS,
wa_objects LIKE LINE OF it_objects.
************************************************************************
* TYPE-POOLS
************************************************************************
* ALV specific data definitions
TYPE-POOLS:
SLIS.
DATA:
* IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV OCCURS 0 WITH HEADER LINE,
IT_FIELDCAT TYPE SLIS_FIELDCAT_ALV OCCURS 0 WITH HEADER LINE,
IT_SORTINFO TYPE SLIS_T_SORTINFO_ALV,
IT_EVENTS TYPE SLIS_T_EVENT,