Skip to content

API for Amazon WorkMail

ABAP Package /AWS1/API_WML_IMPL
ABAP SDK "TLA" WML
ABAP Interface /AWS1/IF_WML

The "TLA" is a Three Letter Abbreviation that appears in ABAP class names, data dictionary objects and other ABAP objects throughout the AWS SDK for SAP ABAP. The TLA for Amazon WorkMail is WML. This TLA helps squeeze ABAP objects into the 30-character length limit of the ABAP data dictionary.

Installation

To install the AWS SDK for SAP ABAP, import the Core transport, along with the transport for the WorkMail module and other API modules you are interested in. A few modules are included in the Core transport itself. For more information, see the Developer Guide guide.

About The Service

WorkMail is a secure, managed business email and calendaring service with support for existing desktop and mobile email clients. You can access your email, contacts, and calendars using Microsoft Outlook, your browser, or other native iOS and Android email applications. You can integrate WorkMail with your existing corporate directory and control both the keys that encrypt your data and the location in which your data is stored.

The WorkMail API is designed for the following scenarios:

  • Listing and describing organizations

  • Managing users

  • Managing groups

  • Managing resources

All WorkMail API operations are Amazon-authenticated and certificate-signed. They not only require the use of the AWS SDK, but also allow for the exclusive use of AWS Identity and Access Management users and roles to help facilitate access, trust, and permission policies. By creating a role and allowing an IAM user to access the WorkMail site, the IAM user gains full administrative visibility into the entire WorkMail organization (or as set in the IAM policy). This includes, but is not limited to, the ability to create, update, and delete users, groups, and resources. This allows developers to perform the scenarios listed above, as well as give users the ability to grant access on a selective basis using the IAM model.

Using the SDK

In your code, create a client using the SDK module for Amazon WorkMail, which is created with factory method /AWS1/CL_WML_FACTORY=>create(). In this example we will assume you have configured an SDK profile in transaction /AWS1/IMG called ZFINANCE.

DATA(go_session)   = /aws1/cl_rt_session_aws=>create( 'ZFINANCE' ).
DATA(go_wml)       = /aws1/cl_wml_factory=>create( go_session ).

Your variable go_wml is an instance of /AWS1/IF_WML, and all of the operations in the Amazon WorkMail service are accessed by calling methods in /AWS1/IF_WML.

API Operations

For an overview of ABAP method calls corresponding to API operations in Amazon WorkMail, see the Operation List.

Factory Method

/AWS1/CL_WML_FACTORY=>create( )

Creates an object of type /AWS1/IF_WML.

IMPORTING

Optional arguments:

IV_PROTOCOL TYPE /AWS1/RT_PROTOCOL /AWS1/RT_PROTOCOL

IO_SESSION TYPE REF TO /AWS1/CL_RT_SESSION_BASE /AWS1/CL_RT_SESSION_BASE

IV_REGION TYPE /AWS1/RT_REGION_ID /AWS1/RT_REGION_ID

IV_CUSTOM_ENDPOINT TYPE /AWS1/RT_ENDPOINT /AWS1/RT_ENDPOINT

RETURNING

OO_CLIENT TYPE REF TO /AWS1/IF_WML /AWS1/IF_WML

/AWS1/IF_WML represents the ABAP client for the WorkMail service, representing each operation as a method call. For more information see the API Page page.

Configuring Programmatically

DATA(lo_config) = DATA(go_wml)->get_config( ).

lo_config is a variable of type /AWS1/CL_WML_CONFIG. See the documentation for /AWS1/CL_WML_CONFIG for details on the settings that can be configured.

Paginators

Paginators for Amazon WorkMail can be created via get_paginator() which returns a paginator object of type /AWS1/IF_WML_PAGINATOR. The operation method that is being paginated is called using the paginator object, which accepts any necessary parameters to provide to the underlying API operation. This returns an iterator object which can be used to iterate over paginated results using has_next() and get_next() methods.

Details about the paginator methods available for service Amazon WorkMail can be found in interface /AWS1/IF_WML_PAGINATOR.