/addict

ABAP Data Dictionary

Primary LanguageABAPApache License 2.0Apache-2.0

ABAP Development & Dictionary

This repository includes helpful objects regarding ABAP development & dictionary.

Object index

Significant classes within the package:

Class Description Relevant T-Code
YCL_ADDICT_ALV ALV helper
YCL_ADDICT_BDC Batch Input helper SM35
YCL_ADDICT_CLASS Represents an ABAP class SE24
YCL_ADDICT_DATA_ELEMENT Represents a data element SE11
YCL_ADDICT_DOMAIN Represents a domain SE11
YCL_ADDICT_DYNAMIC_ITAB Dynamic internal table helper
YCL_ADDICT_PACKAGE Represents an ABAP package SE80
YCL_ADDICT_SE01_READER Reads request status from source system SE01
YCL_ADDICT_TABLE Represents a database table, structure or view SE11
YCL_ADDICT_TABLE_FIELD Represents a field of a table SE11
YCL_ADDICT_TADIR_READER Reads TADIR from the local or remote system SE16
YCL_ADDICT_TEXT_TOOLKIT Provides some useful text utilities
YCL_ADDICT_TOOLKIT Provides some useful data dictionary utilities
YCL_ADDICT_TPALOG_READER Reads request status from target systems STMS
YCL_ADDICT_TRANSPORT_REQUEST Represents a transport request SE01
YCL_ADDICT_TRANSPORT_REQ_IMP Imports a transport request in the target system STMS

Most of those objects provide multition design pattern functionality.

Significant CDS views within the package:

View Description
YV_ADDICT_SYSTEM_DEFINITIONS Custom ADDICT settings

Installation

You may install it to your system using abapGit.

If you are using a ticketing system, it is recommended (but not required) to install and implement TickSys to help with your ticket system management with ABAP.

Configuration

ADDICT needs zero configuration. It will run with its default configuration out of the box. So everything below is optional.

System rules

Each system has its own rules. If you need to change the behavior of ADDICT according to the rules of your own system, you have two options.

Rules, which can be represented with a single value, are stored in the table YTADDICT_SYDEF (SM30). You can add a new entry to the table YTADDICT_SYDEF (SM30) with the following values:

Field Description Default value
SYSID ID of your system, found in SY-SYSID
MAX_WAIT Max wait time before timeout (in seconds) 30
AUTO_REQUEST_PREFIX The default text prefix of an automatically created request Auto
RULE_CLASS Your rule class implementing complex behavior - see below for details YCL_ADDICT_DEF_SYSTEM_RULES

Default values are coded into YV_ADDICT_SYSTEM_DEFINITIONS.

However, some rules correspond to complex behavior, which need to be coded as ABAP methods.

For such rules, ADDICT provides an interface: YIF_ADDICT_SYSTEM_RULES . You can create your own Z-Class, implement this interface and fill its following methods:

  • GET_REQUESTS_OF_TICKETS : This method gets a list of support ticket ID's, and should return a list of transport requests which were created for those tickets. If you don't use a ticketing system, you can ignore this method.
  • IS_REQUEST_TOC_SAFE : Tells if the given request can safely be put into a ToC or not.

If you implement your own YIF_ADDICT_SYSTEM_RULES class, you need to register it into the table YTADDICT_SYDEF. Otherwise; ADDICT will use the default rule class.

Customer development objects

ADDICT needs to know which ABAP objects are developed by you. By default, ADDICT will assume that Y- and Z- objects are developed by yourself. However, if you have custom namespaces or something, you should register those (along Y* Z*) into the table YTADDICT_NSOBJ .

Class definitions

YTADDICT_CLASS will allow you to do some optional definitions per ABAP class.

Field Description Default value
CLSNAME Name of the class
DISABLE_INHERIT X = Class will be invisible in inheritance queries of YCL_ADDICT_CLASS