Skip to content

/AWS1/IF_BII=>PUTPROCUREMENTPORTALPREF()

About PutProcurementPortalPreference

Updates an existing procurement portal preference configuration. This operation can modify settings for e-invoice delivery and purchase order retrieval.

Method Signature

METHODS /AWS1/IF_BII~PUTPROCUREMENTPORTALPREF
  IMPORTING
    !IV_PROCUREMENTPORTALPREFARN TYPE /AWS1/BIIPROCUREMENTPORTALPR00 OPTIONAL
    !IO_SELECTOR TYPE REF TO /AWS1/CL_BIIPROCUREMENTPORTA00 OPTIONAL
    !IV_PROCUREMENTPORTALSHARED00 TYPE /AWS1/BIISENSITIVEBSSTRWOUTS00 OPTIONAL
    !IV_PROCUREMENTPORTALINSTEN00 TYPE /AWS1/BIIBASICSTRWITHOUTSPACE OPTIONAL
    !IO_TESTENVPREFERENCE TYPE REF TO /AWS1/CL_BIITESTENVPREFINPUT OPTIONAL
    !IV_EINVOICEDELIVERYENABLED TYPE /AWS1/BIIBOOLEAN OPTIONAL
    !IO_EINVOICEDELIVERYPREF TYPE REF TO /AWS1/CL_BIIEINVOICEDLVRYPREF OPTIONAL
    !IV_PURCHASEORDERRETRIEVALE00 TYPE /AWS1/BIIBOOLEAN OPTIONAL
    !IT_CONTACTS TYPE /AWS1/CL_BIICONTACT=>TT_CONTACTS OPTIONAL
  RETURNING
    VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_biiputprocurementpo01
  RAISING
    /AWS1/CX_BIIACCESSDENIEDEX
    /AWS1/CX_BIICONFLICTEXCEPTION
    /AWS1/CX_BIIINTERNALSERVEREX
    /AWS1/CX_BIIRESOURCENOTFOUNDEX
    /AWS1/CX_BIISERVICEQUOTAEXCDEX
    /AWS1/CX_BIITHROTTLINGEX
    /AWS1/CX_BIIVALIDATIONEX
    /AWS1/CX_BIICLIENTEXC
    /AWS1/CX_BIISERVEREXC
    /AWS1/CX_RT_TECHNICAL_GENERIC
    /AWS1/CX_RT_SERVICE_GENERIC.

IMPORTING

Required arguments:

iv_procurementportalprefarn TYPE /AWS1/BIIPROCUREMENTPORTALPR00 /AWS1/BIIPROCUREMENTPORTALPR00

The Amazon Resource Name (ARN) of the procurement portal preference to update.

iv_einvoicedeliveryenabled TYPE /AWS1/BIIBOOLEAN /AWS1/BIIBOOLEAN

Updated flag indicating whether e-invoice delivery is enabled for this procurement portal preference.

iv_purchaseorderretrievale00 TYPE /AWS1/BIIBOOLEAN /AWS1/BIIBOOLEAN

Updated flag indicating whether purchase order retrieval is enabled for this procurement portal preference.

it_contacts TYPE /AWS1/CL_BIICONTACT=>TT_CONTACTS TT_CONTACTS

Updated list of contact information for portal administrators and technical contacts.

Optional arguments:

io_selector TYPE REF TO /AWS1/CL_BIIPROCUREMENTPORTA00 /AWS1/CL_BIIPROCUREMENTPORTA00

Selector

iv_procurementportalshared00 TYPE /AWS1/BIISENSITIVEBSSTRWOUTS00 /AWS1/BIISENSITIVEBSSTRWOUTS00

The updated shared secret or authentication credential for the procurement portal. This value must be encrypted at rest.

iv_procurementportalinsten00 TYPE /AWS1/BIIBASICSTRWITHOUTSPACE /AWS1/BIIBASICSTRWITHOUTSPACE

The updated endpoint URL where e-invoices will be delivered to the procurement portal. Must be a valid HTTPS URL.

io_testenvpreference TYPE REF TO /AWS1/CL_BIITESTENVPREFINPUT /AWS1/CL_BIITESTENVPREFINPUT

Updated configuration settings for the test environment of the procurement portal.

io_einvoicedeliverypref TYPE REF TO /AWS1/CL_BIIEINVOICEDLVRYPREF /AWS1/CL_BIIEINVOICEDLVRYPREF

Updated e-invoice delivery configuration including document types, attachment types, and customization settings for the portal.

RETURNING

oo_output TYPE REF TO /aws1/cl_biiputprocurementpo01 /AWS1/CL_BIIPUTPROCUREMENTPO01

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->putprocurementportalpref(
  io_einvoicedeliverypref = new /aws1/cl_biieinvoicedlvrypref(
    it_einvdlvryattachmenttypes = VALUE /aws1/cl_biieinvdlvattachmen00=>tt_einvdlvryattachmenttypes(
      ( new /aws1/cl_biieinvdlvattachmen00( |string| ) )
    )
    it_einvoicedeliverydoctypes = VALUE /aws1/cl_biieinvdlvdoctypes_w=>tt_einvoicedeliverydoctypes(
      ( new /aws1/cl_biieinvdlvdoctypes_w( |string| ) )
    )
    it_purchaseorderdatasources = VALUE /aws1/cl_biipurchaseorderdat00=>tt_purchaseorderdatasources(
      (
        new /aws1/cl_biipurchaseorderdat00(
          iv_einvoicedeliverydoctype = |string|
          iv_purchaseorderdatasrctype = |string|
        )
      )
    )
    iv_connectiontestingmethod = |string|
    iv_einvoicedeliveryactdate = '20150101000000.0000000'
    iv_protocol = |string|
  )
  io_selector = new /aws1/cl_biiprocurementporta00(
    it_invoiceunitarns = VALUE /aws1/cl_biiinvoiceunitarns_w=>tt_invoiceunitarns(
      ( new /aws1/cl_biiinvoiceunitarns_w( |string| ) )
    )
    it_sellerofrecords = VALUE /aws1/cl_biisellerofrecords_w=>tt_sellerofrecords(
      ( new /aws1/cl_biisellerofrecords_w( |string| ) )
    )
  )
  io_testenvpreference = new /aws1/cl_biitestenvprefinput(
    iv_buyerdomain = |string|
    iv_buyeridentifier = |string|
    iv_procurementportalinsten00 = |string|
    iv_procurementportalshared00 = |string|
    iv_supplierdomain = |string|
    iv_supplieridentifier = |string|
  )
  it_contacts = VALUE /aws1/cl_biicontact=>tt_contacts(
    (
      new /aws1/cl_biicontact(
        iv_email = |string|
        iv_name = |string|
      )
    )
  )
  iv_einvoicedeliveryenabled = ABAP_TRUE
  iv_procurementportalinsten00 = |string|
  iv_procurementportalprefarn = |string|
  iv_procurementportalshared00 = |string|
  iv_purchaseorderretrievale00 = ABAP_TRUE
).

This is an example of reading all possible response values

lo_result = lo_result.
IF lo_result IS NOT INITIAL.
  lv_procurementportalprefer = lo_result->get_procurementportalprefarn( ).
ENDIF.

PutProcurementPortalPreference for Coupa pref

PutProcurementPortalPreference for Coupa pref

DATA(lo_result) = lo_client->putprocurementportalpref(
  io_einvoicedeliverypref = new /aws1/cl_biieinvoicedlvrypref(
    it_einvdlvryattachmenttypes = VALUE /aws1/cl_biieinvdlvattachmen00=>tt_einvdlvryattachmenttypes(
      ( new /aws1/cl_biieinvdlvattachmen00( |INVOICE_PDF| ) )
    )
    it_einvoicedeliverydoctypes = VALUE /aws1/cl_biieinvdlvdoctypes_w=>tt_einvoicedeliverydoctypes(
      ( new /aws1/cl_biieinvdlvdoctypes_w( |AWS_CLOUD_INVOICE| ) )
    )
    it_purchaseorderdatasources = VALUE /aws1/cl_biipurchaseorderdat00=>tt_purchaseorderdatasources(
      (
        new /aws1/cl_biipurchaseorderdat00(
          iv_einvoicedeliverydoctype = |AWS_CLOUD_INVOICE|
          iv_purchaseorderdatasrctype = |ASSOCIATED_PURCHASE_ORDER_REQUIRED|
        )
      )
    )
    iv_connectiontestingmethod = |PROD_ENV_DOLLAR_TEST|
    iv_einvoicedeliveryactdate = '20250618204120.0910000'
    iv_protocol = |CXML|
  )
  io_selector = new /aws1/cl_biiprocurementporta00(
    it_invoiceunitarns = VALUE /aws1/cl_biiinvoiceunitarns_w=>tt_invoiceunitarns(
      ( new /aws1/cl_biiinvoiceunitarns_w( |arn:aws:invoicing::111111111111:invoice-unit/12345679| ) )
    )
    it_sellerofrecords = VALUE /aws1/cl_biisellerofrecords_w=>tt_sellerofrecords(
      ( new /aws1/cl_biisellerofrecords_w( |AWS_INC| ) )
    )
  )
  io_testenvpreference = new /aws1/cl_biitestenvprefinput(
    iv_buyerdomain = |NetworkID|
    iv_buyeridentifier = |BuyerId_1_Test|
    iv_procurementportalinsten00 = |https://www.placeholder-domain.test|
    iv_procurementportalshared00 = |Coupa_Secret_test_2|
    iv_supplierdomain = |NetworkID|
    iv_supplieridentifier = |SupplierId_1_Test|
  )
  it_contacts = VALUE /aws1/cl_biicontact=>tt_contacts(
    (
      new /aws1/cl_biicontact(
        iv_email = |example-placeholder2@amazon.com|
        iv_name = |John Doe2|
      )
    )
  )
  iv_einvoicedeliveryenabled = ABAP_TRUE
  iv_procurementportalinsten00 = |https://www.placeholder-domain.test|
  iv_procurementportalprefarn = |arn:aws:invoicing::111111111111:procurement-portal-preference/f71dd02e-f855-4b13-b793-0fd25c0b3ecd|
  iv_procurementportalshared00 = |Coupa_Secret_2|
  iv_purchaseorderretrievale00 = ABAP_TRUE
).