Working with the BAS

This section is intended for developers exclusively. It describes the basic steps necessary to manage addresses using the BAS:

  • Planning
  • Maintaining addresses
  • Maintaining where-used lists
  • Using standard dialogs

All BAS-related functions and data are encapsulated in development class SZAD. The next sections provide an overview of the development class functions that you use to perform the above-mentioned tasks.

Demo report EXADR1 in development class SZAD illustrates the use of the BAS based on a small-scale application scenario.

Function Groups

In order to manage addresses using the BAS, you basically need function modules of four function groups:

  • Function group SZA0 encapsulates functions for managing addresses of all address types without a dialog (BAS use these function modules for implementing the standard dialogs). In this context, the function modules access the local memory (internal tables of this function group).
  • Function groups SZA1, SZA5 and SZA7 provide standard dialogs (subscreen, dialog box) for address types 1, 3 or 2. See the section Usage of BAS Standard Dialogs.

Overview of Important Function Modules

The prefix of a function module of development class SZAD refers to either one of the following:

  • The address object in general (prefix ADDR) or the person object (prefix ADDR_PERSON). In the first case, the function refers to all or only some address types (which is indicated in the text).
  • To an address type:
    • Prefix for address type 1 (company addresses): ADDR
    • Prefix for address type 2 (personal addresses): ADDR_PERSONAL
    • Prefix for address type 3 (workplace addresses): ADDR_PERS_COMP

The following table groups function modules by placeholder <object> (which means that there is a function module for both objects) or by placeholder <type> (which means that there is a function module for each address type). The placeholder used tells you whether prefix ADDR refers to the address in general or to address type 1.

Function module overview by function group

Function group

Description

Function Module

Description

SZA0

Central function modules and address maintenance without dialog (all address types).

<Object>_NUMBER_GET

Assigns a number for an address (of any address type) or a person. You must specify a where-used list when the number is assigned.

<Object>_REFERENCE_DELETE

Deletes a usage for an address (of address type 1 or 2) or a person.

<Object>_REFERENCE_INSERT

Inserts a new usage for an existing address (of address type 1 or 2) or a person.

<Type>_COMM_GET

Reads telecommunication data for an address of type <type>.

<Type>_COMM_MAINTAIN

Maintains telecommunication data for an address of type <type>.

<Type>_DELETE

Deletes an address of type <type> without dialog.

<Type>_GET

Reads an address of type <type> without dialog.

<Type>_INSERT

Inserts an address of type <type> without dialog.

<Type>_UPDATE

Updates address data without dialog for addresses of type <type>.

ADDR_MEMORY_CLEAR

Initializes the local memory of function group SZA0.

ADDR_MEMORY_SAVE

Saves all address data from the local memory to the database provided that all handles have been converted to numbers.

ADDR_SINGLE_SAVE

Saves the address data of a single address from the local memory to the database.

SZA1

Dialogs for company addresses (address type 1)

ADDR_DIALOG

Dialog box: Dialog-based maintenance of company addresses (create, change, display).

ADDR_DIALOG_PREPARE

Dialog box, subscreen, full screen: Sets parameters for special cases of address maintenance (field options, titles, and so on).

ADDR_EXIT_SUBSCREEN

Subscreen: Verifies if address data has been changed (call in module AT EXIT-COMMAND).

ADDR_EXP_SUBSCREEN

Subscreen: Transfers data from application module pool to subscreen (handle, initial values for address fields, and so on).

ADDR_IMP_SUBSCREEN

Subscreen: Transfers data from subscreen to application module pool (content of address fields, error information, change indicator).

ADDR_SELECT_FOR_DIALOG

Full screen: Entry point for dialog-based address maintenance as an alternative to parameterized transaction SADR (if you need ADDR_DIALOG_PREPARE for an application-specific screen configuration).

ADDR_SUBSCREEN_SET_OKCODE

Subscreen: Passing on an OK code for controlling the subscreen.

SZA5

Dialogs for workplace addresses (address type 3)

ADDR_PERS_COMP_DIALOG

Dialog box: Dialog-based maintenance of workplace addresses (create, change, display).

ADDR_PERS_COMP_DIALOG_PREPARE

Dialog box, subscreen, full screen: Sets parameters for special cases of address maintenance (field options, titles, and so on).

ADDR_PERS_COMP_EXIT_SUBSCREEN

Subscreen: Verifies if address data has been changed (call in module AT EXIT-COMMAND).

ADDR_PERS_COMP_EXP_SUBSCREEN

Subscreen: Transfers data from application module pool to subscreen (handle, initial values for address fields, and so on).

ADDR_PERS_COMP_IMP_SUBSCREEN

Subscreen: Transfers data from subscreen to application module pool (content of address fields, error information, change indicator).

ADDR_PERS_COMP_SELECT_DIALOG

Full screen: Entry point for dialog-based address maintenance as an alternative to parameterized transaction SADP (if you need ADDR_PERS_COMP_DIALOG_PREPARE for an application-specific screen configuration).

ADDR_PERS_COMP_SUB_SET_OKCODE

Subscreen: Forwards an OK code for controlling the subscreen.

SZA7

Dialogs for personal addresses (address type 2)

ADDR_PERSONAL_DIALOG

Dialog box: Dialog-based maintenance of personal addresses (create, change, display).

ADDR_PERSONAL_DIALOG_PREPARE

Dialog box, subscreen, full screen: Sets parameters for special cases of address maintenance (field options, titles, and so on).

ADDR_PERSONAL_EXIT_SUBSCREEN

Subscreen: Verifies if address data has been changed (call in module AT EXIT-COMMAND).

ADDR_PERSONAL_EXP_SUBSCREEN

Subscreen: Transfers data from application module pool to subscreen (handle, initial values for address fields, and so on).

ADDR_PERSONAL_IMP_SUBSCREEN

Subscreen: Transfers data from subscreen to application module pool (content of address fields, error information, change indicator).

ADDR_PERSONAL_SELECT_DIALOG

Full screen: Entry point for dialog-based address maintenance as an alternative to parameterized transaction SADQ (if you need ADDR_PERSONAL_DIALOG_PREPARE for application-specific screen configuration).

ADDR_PERSONAL_SUB_SET_OKCODE

Subscreen: Forwards an OK code for controlling the subscreen.

SZAE

Function modules for complex or combined address operations

<Type>_GET_COMPLETE

Reads the complete address data for address of type <type>

<Type>_MAINTAIN_COMPLETE

Maintains the complete address data for address of type <type>