Skip to content

/AWS1/IF_BDO=>CREATEMEMORY()

About CreateMemory

Creates a new memory.

Method Signature

IMPORTING

Required arguments:

iv_name TYPE /AWS1/BDONAME /AWS1/BDONAME

The name of the memory. The name must be unique within your account.

iv_eventexpiryduration TYPE /AWS1/BDOINTEGER /AWS1/BDOINTEGER

The duration after which memory events expire. Specified as an ISO 8601 duration.

Optional arguments:

iv_clienttoken TYPE /AWS1/BDONONEMPTYSTRING /AWS1/BDONONEMPTYSTRING

A unique, case-sensitive identifier to ensure that the operation completes no more than one time. If this token matches a previous request, Amazon Bedrock ignores the request but does not return an error.

iv_description TYPE /AWS1/BDODESCRIPTION /AWS1/BDODESCRIPTION

The description of the memory.

iv_encryptionkeyarn TYPE /AWS1/BDOARN /AWS1/BDOARN

The Amazon Resource Name (ARN) of the KMS key used to encrypt the memory data.

iv_memoryexecutionrolearn TYPE /AWS1/BDOARN /AWS1/BDOARN

The Amazon Resource Name (ARN) of the IAM role that provides permissions for the memory to access Amazon Web Services services.

it_memorystrategies TYPE /AWS1/CL_BDOMEMORYSTRAGINPUT=>TT_MEMORYSTRATEGYINPUTLIST TT_MEMORYSTRATEGYINPUTLIST

The memory strategies to use for this memory. Strategies define how information is extracted, processed, and consolidated.

RETURNING

oo_output TYPE REF TO /aws1/cl_bdocreatememoryoutput /AWS1/CL_BDOCREATEMEMORYOUTPUT

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->/aws1/if_bdo~creatememory(
  it_memorystrategies = VALUE /aws1/cl_bdomemorystraginput=>tt_memorystrategyinputlist(
    (
      new /aws1/cl_bdomemorystraginput(
        io_custommemorystrategy = new /aws1/cl_bdocustmemstraginput(
          io_configuration = new /aws1/cl_bdocustomconfinput(
            io_semanticoverride = new /aws1/cl_bdosemanovrdconfinput(
              io_consolidation = new /aws1/cl_bdosemovrconsconfinp(
                iv_appendtoprompt = |string|
                iv_modelid = |string|
              )
              io_extraction = new /aws1/cl_bdosemovrextconfinput(
                iv_appendtoprompt = |string|
                iv_modelid = |string|
              )
            )
            io_summaryoverride = new /aws1/cl_bdosummovrdconfinput(
              io_consolidation = new /aws1/cl_bdosummovrconsconfinp(
                iv_appendtoprompt = |string|
                iv_modelid = |string|
              )
            )
            io_userpreferenceoverride = new /aws1/cl_bdouserprefovrconfinp(
              io_consolidation = new /aws1/cl_bdouserprefovrconsc00(
                iv_appendtoprompt = |string|
                iv_modelid = |string|
              )
              io_extraction = new /aws1/cl_bdouserprefovrextco00(
                iv_appendtoprompt = |string|
                iv_modelid = |string|
              )
            )
          )
          it_namespaces = VALUE /aws1/cl_bdonamespaceslist_w=>tt_namespaceslist(
            ( new /aws1/cl_bdonamespaceslist_w( |string| ) )
          )
          iv_description = |string|
          iv_name = |string|
        )
        io_semanticmemorystrategy = new /aws1/cl_bdosemanmemstraginput(
          it_namespaces = VALUE /aws1/cl_bdonamespaceslist_w=>tt_namespaceslist(
            ( new /aws1/cl_bdonamespaceslist_w( |string| ) )
          )
          iv_description = |string|
          iv_name = |string|
        )
        io_summarymemorystrategy = new /aws1/cl_bdosummmemstraginput(
          it_namespaces = VALUE /aws1/cl_bdonamespaceslist_w=>tt_namespaceslist(
            ( new /aws1/cl_bdonamespaceslist_w( |string| ) )
          )
          iv_description = |string|
          iv_name = |string|
        )
        io_userprefmemorystrategy = new /aws1/cl_bdouserprefmemstgyinp(
          it_namespaces = VALUE /aws1/cl_bdonamespaceslist_w=>tt_namespaceslist(
            ( new /aws1/cl_bdonamespaceslist_w( |string| ) )
          )
          iv_description = |string|
          iv_name = |string|
        )
      )
    )
  )
  iv_clienttoken = |string|
  iv_description = |string|
  iv_encryptionkeyarn = |string|
  iv_eventexpiryduration = 123
  iv_memoryexecutionrolearn = |string|
  iv_name = |string|
).

This is an example of reading all possible response values

lo_result = lo_result.
IF lo_result IS NOT INITIAL.
  lo_memory = lo_result->get_memory( ).
  IF lo_memory IS NOT INITIAL.
    lv_memoryarn = lo_memory->get_arn( ).
    lv_memoryid = lo_memory->get_id( ).
    lv_name = lo_memory->get_name( ).
    lv_description = lo_memory->get_description( ).
    lv_arn = lo_memory->get_encryptionkeyarn( ).
    lv_arn = lo_memory->get_memoryexecutionrolearn( ).
    lv_integer = lo_memory->get_eventexpiryduration( ).
    lv_memorystatus = lo_memory->get_status( ).
    lv_string = lo_memory->get_failurereason( ).
    lv_timestamp = lo_memory->get_createdat( ).
    lv_timestamp = lo_memory->get_updatedat( ).
    LOOP AT lo_memory->get_strategies( ) into lo_row.
      lo_row_1 = lo_row.
      IF lo_row_1 IS NOT INITIAL.
        lv_memorystrategyid = lo_row_1->get_strategyid( ).
        lv_name = lo_row_1->get_name( ).
        lv_description = lo_row_1->get_description( ).
        lo_strategyconfiguration = lo_row_1->get_configuration( ).
        IF lo_strategyconfiguration IS NOT INITIAL.
          lv_overridetype = lo_strategyconfiguration->get_type( ).
          lo_extractionconfiguration = lo_strategyconfiguration->get_extraction( ).
          IF lo_extractionconfiguration IS NOT INITIAL.
            lo_customextractionconfigu = lo_extractionconfiguration->get_customextractionconf( ).
            IF lo_customextractionconfigu IS NOT INITIAL.
              lo_semanticextractionoverr = lo_customextractionconfigu->get_semanticextoverride( ).
              IF lo_semanticextractionoverr IS NOT INITIAL.
                lv_prompt = lo_semanticextractionoverr->get_appendtoprompt( ).
                lv_string = lo_semanticextractionoverr->get_modelid( ).
              ENDIF.
              lo_userpreferenceextractio = lo_customextractionconfigu->get_userprefextoverride( ).
              IF lo_userpreferenceextractio IS NOT INITIAL.
                lv_prompt = lo_userpreferenceextractio->get_appendtoprompt( ).
                lv_string = lo_userpreferenceextractio->get_modelid( ).
              ENDIF.
            ENDIF.
          ENDIF.
          lo_consolidationconfigurat = lo_strategyconfiguration->get_consolidation( ).
          IF lo_consolidationconfigurat IS NOT INITIAL.
            lo_customconsolidationconf = lo_consolidationconfigurat->get_customconsolconf( ).
            IF lo_customconsolidationconf IS NOT INITIAL.
              lo_semanticconsolidationov = lo_customconsolidationconf->get_semanticconsoloverride( ).
              IF lo_semanticconsolidationov IS NOT INITIAL.
                lv_prompt = lo_semanticconsolidationov->get_appendtoprompt( ).
                lv_string = lo_semanticconsolidationov->get_modelid( ).
              ENDIF.
              lo_summaryconsolidationove = lo_customconsolidationconf->get_summaryconsoloverride( ).
              IF lo_summaryconsolidationove IS NOT INITIAL.
                lv_prompt = lo_summaryconsolidationove->get_appendtoprompt( ).
                lv_string = lo_summaryconsolidationove->get_modelid( ).
              ENDIF.
              lo_userpreferenceconsolida = lo_customconsolidationconf->get_userprefconsoloverride( ).
              IF lo_userpreferenceconsolida IS NOT INITIAL.
                lv_prompt = lo_userpreferenceconsolida->get_appendtoprompt( ).
                lv_string = lo_userpreferenceconsolida->get_modelid( ).
              ENDIF.
            ENDIF.
          ENDIF.
        ENDIF.
        lv_memorystrategytype = lo_row_1->get_type( ).
        LOOP AT lo_row_1->get_namespaces( ) into lo_row_2.
          lo_row_3 = lo_row_2.
          IF lo_row_3 IS NOT INITIAL.
            lv_namespace = lo_row_3->get_value( ).
          ENDIF.
        ENDLOOP.
        lv_timestamp = lo_row_1->get_createdat( ).
        lv_timestamp = lo_row_1->get_updatedat( ).
        lv_memorystrategystatus = lo_row_1->get_status( ).
      ENDIF.
    ENDLOOP.
  ENDIF.
ENDIF.