Skip to content

/AWS1/IF_BIC=>CREATECUSTOMLINEITEM()

About CreateCustomLineItem

Creates a custom line item that can be used to create a one-time fixed charge that can be applied to a single billing group for the current or previous billing period. The one-time fixed charge is either a fee or discount.

Method Signature

METHODS /AWS1/IF_BIC~CREATECUSTOMLINEITEM
  IMPORTING
    !IV_CLIENTTOKEN TYPE /AWS1/BICCLIENTTOKEN OPTIONAL
    !IV_NAME TYPE /AWS1/BICCUSTOMLINEITEMNAME OPTIONAL
    !IV_DESCRIPTION TYPE /AWS1/BICCUSTOMLINEITEMDESC OPTIONAL
    !IV_BILLINGGROUPARN TYPE /AWS1/BICBILLINGGROUPARN OPTIONAL
    !IO_BILLINGPERIODRANGE TYPE REF TO /AWS1/CL_BICCUSTLINEITEMBLLP00 OPTIONAL
    !IT_TAGS TYPE /AWS1/CL_BICTAGMAP_W=>TT_TAGMAP OPTIONAL
    !IO_CHARGEDETAILS TYPE REF TO /AWS1/CL_BICCUSTLINEITEMCHAR00 OPTIONAL
    !IV_ACCOUNTID TYPE /AWS1/BICACCOUNTID OPTIONAL
    !IV_COMPUTATIONRULE TYPE /AWS1/BICCOMPUTATIONRULEENUM OPTIONAL
    !IO_PRESENTATIONDETAILS TYPE REF TO /AWS1/CL_BICPRESENTATIONOBJECT OPTIONAL
  RETURNING
    VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_biccrecustlineitemout
  RAISING
    /AWS1/CX_BICACCESSDENIEDEX
    /AWS1/CX_BICCONFLICTEXCEPTION
    /AWS1/CX_BICINTERNALSERVEREX
    /AWS1/CX_BICSERVICELIMITEXCDEX
    /AWS1/CX_BICTHROTTLINGEX
    /AWS1/CX_BICVALIDATIONEX
    /AWS1/CX_BICCLIENTEXC
    /AWS1/CX_BICSERVEREXC
    /AWS1/CX_RT_TECHNICAL_GENERIC
    /AWS1/CX_RT_SERVICE_GENERIC.

IMPORTING

Required arguments:

iv_name TYPE /AWS1/BICCUSTOMLINEITEMNAME /AWS1/BICCUSTOMLINEITEMNAME

The name of the custom line item.

iv_description TYPE /AWS1/BICCUSTOMLINEITEMDESC /AWS1/BICCUSTOMLINEITEMDESC

The description of the custom line item. This is shown on the Bills page in association with the charge value.

iv_billinggrouparn TYPE /AWS1/BICBILLINGGROUPARN /AWS1/BICBILLINGGROUPARN

The Amazon Resource Name (ARN) that references the billing group where the custom line item applies to.

io_chargedetails TYPE REF TO /AWS1/CL_BICCUSTLINEITEMCHAR00 /AWS1/CL_BICCUSTLINEITEMCHAR00

A CustomLineItemChargeDetails that describes the charge details for a custom line item.

Optional arguments:

iv_clienttoken TYPE /AWS1/BICCLIENTTOKEN /AWS1/BICCLIENTTOKEN

A unique, case-sensitive identifier that you specify to ensure idempotency of the request. Idempotency ensures that an API request completes no more than one time. With an idempotent request, if the original request completes successfully, any subsequent retries complete successfully without performing any further actions.

io_billingperiodrange TYPE REF TO /AWS1/CL_BICCUSTLINEITEMBLLP00 /AWS1/CL_BICCUSTLINEITEMBLLP00

A time range for which the custom line item is effective.

it_tags TYPE /AWS1/CL_BICTAGMAP_W=>TT_TAGMAP TT_TAGMAP

A map that contains tag keys and tag values that are attached to a custom line item.

iv_accountid TYPE /AWS1/BICACCOUNTID /AWS1/BICACCOUNTID

The Amazon Web Services account in which this custom line item will be applied to.

iv_computationrule TYPE /AWS1/BICCOMPUTATIONRULEENUM /AWS1/BICCOMPUTATIONRULEENUM

ComputationRule

io_presentationdetails TYPE REF TO /AWS1/CL_BICPRESENTATIONOBJECT /AWS1/CL_BICPRESENTATIONOBJECT

PresentationDetails

RETURNING

oo_output TYPE REF TO /aws1/cl_biccrecustlineitemout /AWS1/CL_BICCRECUSTLINEITEMOUT

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->createcustomlineitem(
  io_billingperiodrange = new /aws1/cl_biccustlineitembllp00(
    iv_exclusiveendbillingperiod = |string|
    iv_inclusivestartbllngperiod = |string|
  )
  io_chargedetails = new /aws1/cl_biccustlineitemchar00(
    io_flat = new /aws1/cl_biccustlineitemflat00( '0.1' )
    io_percentage = new /aws1/cl_biccustlineitemperc00(
      it_associatedvalues = VALUE /aws1/cl_biccustlineitemasso00=>tt_custlineitemassociationslst(
        ( new /aws1/cl_biccustlineitemasso00( |string| ) )
      )
      iv_percentagevalue = '0.1'
    )
    it_lineitemfilters = VALUE /aws1/cl_biclineitemfilter=>tt_lineitemfilterslist(
      (
        new /aws1/cl_biclineitemfilter(
          it_values = VALUE /aws1/cl_biclineitemfiltvals00=>tt_lineitemfiltervalueslist(
            ( new /aws1/cl_biclineitemfiltvals00( |string| ) )
          )
          iv_attribute = |string|
          iv_matchoption = |string|
        )
      )
    )
    iv_type = |string|
  )
  io_presentationdetails = new /aws1/cl_bicpresentationobject( |string| )
  it_tags = VALUE /aws1/cl_bictagmap_w=>tt_tagmap(
    (
      VALUE /aws1/cl_bictagmap_w=>ts_tagmap_maprow(
        value = new /aws1/cl_bictagmap_w( |string| )
        key = |string|
      )
    )
  )
  iv_accountid = |string|
  iv_billinggrouparn = |string|
  iv_clienttoken = |string|
  iv_computationrule = |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_customlineitemarn = lo_result->get_arn( ).
ENDIF.