abasubsystems (ap_sub)

Name

abasubsystems

Code

ap_sub

Creation Date

13 december 2000 13:53:05

Modification Date

24 september 2012 09:47:21

Comment

Subsystems present in the database.


Table description

This table holds the current versions of all subsystems that are included in a database, and thus defines the subsystem configuration for the database.

 

Note that a removed subsystem still remains in the table, but has a non-NULL value in the deregdate column.

 

Normally you add rows to this table by running DBBUILD, but there are some situations

where you want to add a subsystem manually:

* You have added the ABAPERLS subsystem to an existing database, and want to enter the existing subsystems.

* You have split a subsystem into two in version-control.

When you add a subsystem manually, you leave inhid NULL, but you should still provide a value for ss_label, so that the next update script can perform the normal checking procedures. (See the page for DBUPDGEN.)

 

To add a subsystem manually, you can first use ap_sub_insert_sp to insert the subsystem and get a sortorder, and then ap_sub_update_sp to provide an ss_label and mark the system as complete.

 

If you want to rename a subsystem, use ap_sub_rename_sp.


Column list


Column


Domain

Data
Type

NOT
NULL

F
K


Comment

subsystem

ap_subsystem

varchar(30)

X

X

Name of the subsystem.

ss_label

ap_sslabel

varchar(15)

 

X

Version-control label

inhid

 

int

 

X

Pointer to entry in abainstallhistory.

sortorder

 

int

X

 

 

isincomplete

 

bit

X

 

 

deregdate

 

datetime

 

 

When subsystem was removed.


Keys

Name

Columns

Options

PK

pk_ap_sub

subsystem nonclustered

X


Indexes

Name

Columns

Clu

ap_sub_sortorder_ix

sortorder

X


ss_label

Current label of the subsystem in version-control. This should be not be NULL for a properly maintained subsystem. (But it would be NULL if you install the subsystem without specifying -label to DBBUILD or likewise run an update script which was generated with specifying -to to DBUPDGEN.) This is always a label on the format LetterMajor.Middle.Minor.


inhid

Pointer to the entry in abainstallhistory that performed the last update of ss_label for the subsystem. That entry must have the same ss_label, and this is enforced by a trigger.

inhid is only NULL if you added the subsystem manually.


sortorder

Rules and defaults etc.
CHECK constraint %COLUMN% > 0 and %CASE%

When a new subsystem is added, it's sortorder is set to 50 + the highest current sortorder. You can however change it if you like. The column does not serve as a purpose for AbaPerls as such, but exists to make it possible to view the table with the subsystems in the same order as in the config-file.

The sortorder must be a positive number.


isincomplete

When DBBUILD start building a subsystem, it writes a row into abasubsystems and sets this bit to 1. Once DBBUILD has completed, it sets the bit to 0, and the bit is to remain that way.

If DBBUILD for some reason does not complete, and you let the subsystem remain in this state, AbaPerls will regard the subsystem as non-existing. If you restart DBBUILD to build the subsystem, DBBUILD will start from the beginning.


deregdate

If non-NULL, the subsystem is no longer part of the database.


Tables referring to abasubsystems

Child Table

Foreign Key Columns

abaconfigsettings

subsystem

abasslabels

subsystem

abasysobjects

subsystem


Tables abasubsystems refers to

Parent Table

Foreign Key Columns

abainstallhistory

inhid

abasslabels

subsystem; ss_label