Skip to content

ABAP Keyword Documentation →  ABAP - Dictionary →  ABAP CDS in ABAP Dictionary →  ABAP CDS - Data Definitions →  ABAP CDS - DDL for Data Definitions →  ABAP CDS - DEFINE VIEW →  ABAP CDS - SELECT →  ABAP CDS - SELECT, Built-In Functions →  ABAP CDS - Special Functions →  ABAP CDS - Date Functions and Time Functions 

ABAP CDS - Time Zone Functions

Other versions: 7.31 | 7.40 | 7.54

Syntax

... ABAP_SYSTEM_TIMEZONE(clnt,on_error)
  | ABAP_USER_TIMEZONE(user,clnt,on_error) ...

Variants

1. ... ABAP_SYSTEM_TIMEZONE(clnt,on_error)

2. ... ABAP_USER_TIMEZONE(user,clnt,on_error)

Effect

In a CDS view, these functions return the client-specific system time zone and the user-dependent user time zone of the current AS ABAP. The functions have positional parameters to which actual parameters need to be assigned when called. There are currently no optional parameters. Suitable fields of a data source, literals, parameters, path expressions, built-in functions, or expressions can all be specified as actual parameters. Only literals can be passed to the parameter on_error. If an actual parameter contains the null value, every function returns a null value.

Variant 1

... ABAP_SYSTEM_TIMEZONE(clnt,on_error)

Effect

The function ABAP_SYSTEM_TIMEZONE returns the system time zone of the AS ABAP for the client specified with clnt. The actual parameter clnt must have the built-in dictionary type CLNT and must contain a valid client ID. The result has the CHAR type with a length of 6. If the system time zone cannot be determined, an error is triggered.

The actual parameter on_error controls error handling. It must have the built-in data type CHAR with the length 10 and must have one of the following values:

  • "FAIL" (an error raises an exception)
  • "NULL" (an error returns the null value)
  • "INITIAL" (an error returns the initial value)

The values are case-sensitive. Any incorrectly specified values raise an exception.


Note

The system time zone returned is the client-specific content of column TZONESYS in database table TTZCU.

Variant 2

... ABAP_USER_TIMEZONE(user,clnt,on_error)

Effect

The function ABAP_USER_TIMEZONE returns the user time zone of the AS ABAP for the user specified with user and the client specified with clnt. The actual parameter user must have the built-in type CHAR. The same applies to the actual parameter clnt as to function ABAP_SYSTEM_TIMEZONE. The result has the CHAR type with a length of 6. If the user time zone cannot be determined, an error is triggered.

The actual parameter on_error controls error handling and the same applies as in function ABAP_SYSTEM_TIMEZONE.


Note

For the current client, the returned user time zone corresponds with the content of system field sy-zonlo in ABAP.


Example

The following SELECT statement returns the values for system time zone and user time zone that were read with the ABAP_SYSTEM_TIMEZONE and ABAP_USER_TIMEZONE functions for the current client and current user. The actual parameters of the functions are supplied with suitable session variables. The program DEMO_CDS_TIMEZONE_FUNCTIONS accesses the view, compares the CDS values with the corresponding ABAP values, and returns the result.

@AbapCatalog.sqlViewName: 'demo_cds_tzfnc'
@AccessControl.authorizationCheck: #NOT_REQUIRED
define view demo_cds_timezone_functions
  as select from
    demo_expressions
    {
      abap_system_timezone( $session.client,'NULL' )                
        as system_tz,
      abap_user_timezone(   $session.user,$session.client,'NULL' )  
        as user_tz
    }