Skip to content

/AWS1/IF_PTB=>CREATEBENEFITAPPLICATION()

About CreateBenefitApplication

Creates a new benefit application for a partner to request access to AWS benefits and programs.

Method Signature

METHODS /AWS1/IF_PTB~CREATEBENEFITAPPLICATION
  IMPORTING
    !IV_CATALOG TYPE /AWS1/PTBCATALOGNAME OPTIONAL
    !IV_CLIENTTOKEN TYPE /AWS1/PTBSTRING OPTIONAL
    !IV_NAME TYPE /AWS1/PTBBENEFITAPPNAME OPTIONAL
    !IV_DESCRIPTION TYPE /AWS1/PTBBENEFITAPPDESCRIPTION OPTIONAL
    !IV_BENEFITIDENTIFIER TYPE /AWS1/PTBSTRING OPTIONAL
    !IT_FULFILLMENTTYPES TYPE /AWS1/CL_PTBFULFILLMENTTYPES_W=>TT_FULFILLMENTTYPES OPTIONAL
    !IO_BENEFITAPPLICATIONDETAILS TYPE REF TO /AWS1/CL_RT_DOCUMENT OPTIONAL
    !IT_TAGS TYPE /AWS1/CL_PTBTAG=>TT_TAGS OPTIONAL
    !IT_ASSOCIATEDRESOURCES TYPE /AWS1/CL_PTBARNS_W=>TT_ARNS OPTIONAL
    !IT_PARTNERCONTACTS TYPE /AWS1/CL_PTBCONTACT=>TT_CONTACTS OPTIONAL
    !IT_FILEDETAILS TYPE /AWS1/CL_PTBFILEINPUT=>TT_FILEINPUTDETAILS OPTIONAL
  RETURNING
    VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_ptbcreatebenefappout
  RAISING
    /AWS1/CX_PTBACCESSDENIEDEX
    /AWS1/CX_PTBCONFLICTEXCEPTION
    /AWS1/CX_PTBINTERNALSERVEREX
    /AWS1/CX_PTBRESOURCENOTFOUNDEX
    /AWS1/CX_PTBTHROTTLINGEX
    /AWS1/CX_PTBVLDTNEXCEPTION
    /AWS1/CX_PTBCLIENTEXC
    /AWS1/CX_PTBSERVEREXC
    /AWS1/CX_RT_TECHNICAL_GENERIC
    /AWS1/CX_RT_SERVICE_GENERIC.

IMPORTING

Required arguments:

iv_catalog TYPE /AWS1/PTBCATALOGNAME /AWS1/PTBCATALOGNAME

The catalog identifier that specifies which benefit catalog to create the application in.

iv_clienttoken TYPE /AWS1/PTBSTRING /AWS1/PTBSTRING

A unique, case-sensitive identifier to ensure idempotent processing of the creation request.

iv_benefitidentifier TYPE /AWS1/PTBSTRING /AWS1/PTBSTRING

The unique identifier of the benefit being requested in this application.

Optional arguments:

iv_name TYPE /AWS1/PTBBENEFITAPPNAME /AWS1/PTBBENEFITAPPNAME

A human-readable name for the benefit application.

iv_description TYPE /AWS1/PTBBENEFITAPPDESCRIPTION /AWS1/PTBBENEFITAPPDESCRIPTION

A detailed description of the benefit application and its intended use.

it_fulfillmenttypes TYPE /AWS1/CL_PTBFULFILLMENTTYPES_W=>TT_FULFILLMENTTYPES TT_FULFILLMENTTYPES

The types of fulfillment requested for this benefit application (e.g., credits, access, disbursement).

io_benefitapplicationdetails TYPE REF TO /AWS1/CL_RT_DOCUMENT /AWS1/CL_RT_DOCUMENT

Detailed information and requirements specific to the benefit being requested.

it_tags TYPE /AWS1/CL_PTBTAG=>TT_TAGS TT_TAGS

Key-value pairs to categorize and organize the benefit application.

it_associatedresources TYPE /AWS1/CL_PTBARNS_W=>TT_ARNS TT_ARNS

AWS resources that are associated with this benefit application.

it_partnercontacts TYPE /AWS1/CL_PTBCONTACT=>TT_CONTACTS TT_CONTACTS

Contact information for partner representatives responsible for this benefit application.

it_filedetails TYPE /AWS1/CL_PTBFILEINPUT=>TT_FILEINPUTDETAILS TT_FILEINPUTDETAILS

Supporting documents and files attached to the benefit application.

RETURNING

oo_output TYPE REF TO /aws1/cl_ptbcreatebenefappout /AWS1/CL_PTBCREATEBENEFAPPOUT

Domain /AWS1/RT_ACCOUNT_ID
Primitive Type NUMC

Examples

Syntax Example

This is an example of the syntax for calling the method. It includes every possible argument and initializes every possible value. The data provided is not necessarily semantically accurate (for example the value "string" may be provided for something that is intended to be an instance ID, or in some cases two arguments may be mutually exclusive). The syntax shows the ABAP syntax for creating the various data structures.

DATA(lo_result) = lo_client->createbenefitapplication(
  io_benefitapplicationdetails = /AWS1/CL_RT_DOCUMENT=>FROM_JSON_STR( |\{"foo":"this is a JSON object..."\}| )
  it_associatedresources = VALUE /aws1/cl_ptbarns_w=>tt_arns(
    ( new /aws1/cl_ptbarns_w( |string| ) )
  )
  it_filedetails = VALUE /aws1/cl_ptbfileinput=>tt_fileinputdetails(
    (
      new /aws1/cl_ptbfileinput(
        iv_businessusecase = |string|
        iv_fileuri = |string|
      )
    )
  )
  it_fulfillmenttypes = VALUE /aws1/cl_ptbfulfillmenttypes_w=>tt_fulfillmenttypes(
    ( new /aws1/cl_ptbfulfillmenttypes_w( |string| ) )
  )
  it_partnercontacts = VALUE /aws1/cl_ptbcontact=>tt_contacts(
    (
      new /aws1/cl_ptbcontact(
        iv_businesstitle = |string|
        iv_email = |string|
        iv_firstname = |string|
        iv_lastname = |string|
        iv_phone = |string|
      )
    )
  )
  it_tags = VALUE /aws1/cl_ptbtag=>tt_tags(
    (
      new /aws1/cl_ptbtag(
        iv_key = |string|
        iv_value = |string|
      )
    )
  )
  iv_benefitidentifier = |string|
  iv_catalog = |string|
  iv_clienttoken = |string|
  iv_description = |string|
  iv_name = |string|
).

This is an example of reading all possible response values

lo_result = lo_result.
IF lo_result IS NOT INITIAL.
  lv_benefitapplicationid = lo_result->get_id( ).
  lv_string = lo_result->get_arn( ).
  lv_string = lo_result->get_revision( ).
ENDIF.