/AWS1/IF_BDA=>CREATEKNOWLEDGEBASE()¶
About CreateKnowledgeBase¶
Creates a knowledge base. A knowledge base contains your data sources so that Large Language Models (LLMs) can use your data. To create a knowledge base, you must first set up your data sources and configure a supported vector store. For more information, see Set up a knowledge base.
If you prefer to let Amazon Bedrock create and manage a vector store for you in Amazon OpenSearch Service, use the console. For more information, see Create a knowledge base.
-
Provide the
nameand an optionaldescription. -
Provide the Amazon Resource Name (ARN) with permissions to create a knowledge base in the
roleArnfield. -
Provide the embedding model to use in the
embeddingModelArnfield in theknowledgeBaseConfigurationobject. -
Provide the configuration for your vector store in the
storageConfigurationobject.-
For an Amazon OpenSearch Service database, use the
opensearchServerlessConfigurationobject. For more information, see Create a vector store in Amazon OpenSearch Service. -
For an Amazon Aurora database, use the
RdsConfigurationobject. For more information, see Create a vector store in Amazon Aurora. -
For a Pinecone database, use the
pineconeConfigurationobject. For more information, see Create a vector store in Pinecone. -
For a Redis Enterprise Cloud database, use the
redisEnterpriseCloudConfigurationobject. For more information, see Create a vector store in Redis Enterprise Cloud.
-
Method Signature¶
METHODS /AWS1/IF_BDA~CREATEKNOWLEDGEBASE
IMPORTING
!IV_CLIENTTOKEN TYPE /AWS1/BDACLIENTTOKEN OPTIONAL
!IV_NAME TYPE /AWS1/BDANAME OPTIONAL
!IV_DESCRIPTION TYPE /AWS1/BDADESCRIPTION OPTIONAL
!IV_ROLEARN TYPE /AWS1/BDAKNOWLEDGEBASEROLEARN OPTIONAL
!IO_KNOWLEDGEBASECONF TYPE REF TO /AWS1/CL_BDAKNOWLEDGEBASECONF OPTIONAL
!IO_STORAGECONFIGURATION TYPE REF TO /AWS1/CL_BDASTORAGECONF OPTIONAL
!IT_TAGS TYPE /AWS1/CL_BDATAGSMAP_W=>TT_TAGSMAP OPTIONAL
RETURNING
VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_bdacreknowledgebase01
RAISING
/AWS1/CX_BDAACCESSDENIEDEX
/AWS1/CX_BDACONFLICTEXCEPTION
/AWS1/CX_BDAINTERNALSERVEREX
/AWS1/CX_BDASERVICEQUOTAEXCDEX
/AWS1/CX_BDATHROTTLINGEX
/AWS1/CX_BDAVALIDATIONEX
/AWS1/CX_BDACLIENTEXC
/AWS1/CX_BDASERVEREXC
/AWS1/CX_RT_TECHNICAL_GENERIC
/AWS1/CX_RT_SERVICE_GENERIC.
IMPORTING¶
Required arguments:¶
iv_name TYPE /AWS1/BDANAME /AWS1/BDANAME¶
A name for the knowledge base.
iv_rolearn TYPE /AWS1/BDAKNOWLEDGEBASEROLEARN /AWS1/BDAKNOWLEDGEBASEROLEARN¶
The Amazon Resource Name (ARN) of the IAM role with permissions to invoke API operations on the knowledge base.
io_knowledgebaseconf TYPE REF TO /AWS1/CL_BDAKNOWLEDGEBASECONF /AWS1/CL_BDAKNOWLEDGEBASECONF¶
Contains details about the embeddings model used for the knowledge base.
Optional arguments:¶
iv_clienttoken TYPE /AWS1/BDACLIENTTOKEN /AWS1/BDACLIENTTOKEN¶
A unique, case-sensitive identifier to ensure that the API request completes no more than one time. If this token matches a previous request, Amazon Bedrock ignores the request, but does not return an error. For more information, see Ensuring idempotency.
iv_description TYPE /AWS1/BDADESCRIPTION /AWS1/BDADESCRIPTION¶
A description of the knowledge base.
io_storageconfiguration TYPE REF TO /AWS1/CL_BDASTORAGECONF /AWS1/CL_BDASTORAGECONF¶
Contains details about the configuration of the vector database used for the knowledge base.
it_tags TYPE /AWS1/CL_BDATAGSMAP_W=>TT_TAGSMAP TT_TAGSMAP¶
Specify the key-value pairs for the tags that you want to attach to your knowledge base in this object.
RETURNING¶
oo_output TYPE REF TO /aws1/cl_bdacreknowledgebase01 /AWS1/CL_BDACREKNOWLEDGEBASE01¶
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->createknowledgebase(
io_knowledgebaseconf = new /aws1/cl_bdaknowledgebaseconf(
io_kendraknowledgebaseconf = new /aws1/cl_bdakendraknowledgeb00( |string| )
io_sqlknowledgebaseconf = new /aws1/cl_bdasqlknowledgebase00(
io_redshiftconfiguration = new /aws1/cl_bdaredshiftconf(
io_queryengineconfiguration = new /aws1/cl_bdaredqueryengineconf(
io_provisionedconfiguration = new /aws1/cl_bdaredshiftprovconf(
io_authconfiguration = new /aws1/cl_bdaredprovauthconf(
iv_databaseuser = |string|
iv_type = |string|
iv_usernamepasswordsecretarn = |string|
)
iv_clusteridentifier = |string|
)
io_serverlessconfiguration = new /aws1/cl_bdaredserverlessconf(
io_authconfiguration = new /aws1/cl_bdaredserverlessaut00(
iv_type = |string|
iv_usernamepasswordsecretarn = |string|
)
iv_workgrouparn = |string|
)
iv_type = |string|
)
io_querygenerationconf = new /aws1/cl_bdaquerygenerationc00(
io_generationcontext = new /aws1/cl_bdaquerygenerationctx(
it_curatedqueries = VALUE /aws1/cl_bdacuratedquery=>tt_curatedqueries(
(
new /aws1/cl_bdacuratedquery(
iv_naturallanguage = |string|
iv_sql = |string|
)
)
)
it_tables = VALUE /aws1/cl_bdaquerygenerationtbl=>tt_querygenerationtables(
(
new /aws1/cl_bdaquerygenerationtbl(
it_columns = VALUE /aws1/cl_bdaquerygenerationc01=>tt_querygenerationcolumns(
(
new /aws1/cl_bdaquerygenerationc01(
iv_description = |string|
iv_inclusion = |string|
iv_name = |string|
)
)
)
iv_description = |string|
iv_inclusion = |string|
iv_name = |string|
)
)
)
)
iv_executiontimeoutseconds = 123
)
it_storageconfigurations = VALUE /aws1/cl_bdaredqueryenginest00=>tt_redqueryenginestorageconfs(
(
new /aws1/cl_bdaredqueryenginest00(
io_awsdatacatalogconf = new /aws1/cl_bdaredqueryengineaw00(
it_tablenames = VALUE /aws1/cl_bdaawsdatacatalogtb00=>tt_awsdatacatalogtablenames(
( new /aws1/cl_bdaawsdatacatalogtb00( |string| ) )
)
)
io_redshiftconfiguration = new /aws1/cl_bdaredqueryenginere00( |string| )
iv_type = |string|
)
)
)
)
iv_type = |string|
)
io_vectorknowledgebaseconf = new /aws1/cl_bdavectorknowledgeb00(
io_embeddingmodelconf = new /aws1/cl_bdaembeddingmodelconf(
io_bedrockembeddingmodelconf = new /aws1/cl_bdabedrockembedding00(
it_audio = VALUE /aws1/cl_bdaaudioconfiguration=>tt_audioconfigurations(
( new /aws1/cl_bdaaudioconfiguration( new /aws1/cl_bdaaudiosegationconf( 123 ) ) )
)
it_video = VALUE /aws1/cl_bdavideoconfiguration=>tt_videoconfigurations(
( new /aws1/cl_bdavideoconfiguration( new /aws1/cl_bdavideosegationconf( 123 ) ) )
)
iv_dimensions = 123
iv_embeddingdatatype = |string|
)
)
io_supplementaldatastrgconf = new /aws1/cl_bdasupplementaldata00(
it_storagelocations = VALUE /aws1/cl_bdasupplementaldata01=>tt_supplementaldatastoragelocs(
(
new /aws1/cl_bdasupplementaldata01(
io_s3location = new /aws1/cl_bdas3location( |string| )
iv_type = |string|
)
)
)
)
iv_embeddingmodelarn = |string|
)
iv_type = |string|
)
io_storageconfiguration = new /aws1/cl_bdastorageconf(
io_mongodbatlasconfiguration = new /aws1/cl_bdamongodbatlasconf(
io_fieldmapping = new /aws1/cl_bdamongodbatlasfiel00(
iv_metadatafield = |string|
iv_textfield = |string|
iv_vectorfield = |string|
)
iv_collectionname = |string|
iv_credentialssecretarn = |string|
iv_databasename = |string|
iv_endpoint = |string|
iv_endpointservicename = |string|
iv_textindexname = |string|
iv_vectorindexname = |string|
)
io_neptuneanalyticsconf = new /aws1/cl_bdaneptunealysconf(
io_fieldmapping = new /aws1/cl_bdaneptunealysfield00(
iv_metadatafield = |string|
iv_textfield = |string|
)
iv_grapharn = |string|
)
io_opensearchserverlessconf = new /aws1/cl_bdaopensrchserverle00(
io_fieldmapping = new /aws1/cl_bdaopensrchserverle01(
iv_metadatafield = |string|
iv_textfield = |string|
iv_vectorfield = |string|
)
iv_collectionarn = |string|
iv_vectorindexname = |string|
)
io_opensrchmanagedclustconf = new /aws1/cl_bdaopensrchmanagedc00(
io_fieldmapping = new /aws1/cl_bdaopensrchmanagedc01(
iv_metadatafield = |string|
iv_textfield = |string|
iv_vectorfield = |string|
)
iv_domainarn = |string|
iv_domainendpoint = |string|
iv_vectorindexname = |string|
)
io_pineconeconfiguration = new /aws1/cl_bdapineconeconf(
io_fieldmapping = new /aws1/cl_bdapineconefieldmap(
iv_metadatafield = |string|
iv_textfield = |string|
)
iv_connectionstring = |string|
iv_credentialssecretarn = |string|
iv_namespace = |string|
)
io_rdsconfiguration = new /aws1/cl_bdardsconfiguration(
io_fieldmapping = new /aws1/cl_bdardsfieldmapping(
iv_custommetadatafield = |string|
iv_metadatafield = |string|
iv_primarykeyfield = |string|
iv_textfield = |string|
iv_vectorfield = |string|
)
iv_credentialssecretarn = |string|
iv_databasename = |string|
iv_resourcearn = |string|
iv_tablename = |string|
)
io_redisenterprisecloudconf = new /aws1/cl_bdaredisenterprisec00(
io_fieldmapping = new /aws1/cl_bdaredisenterprisec01(
iv_metadatafield = |string|
iv_textfield = |string|
iv_vectorfield = |string|
)
iv_credentialssecretarn = |string|
iv_endpoint = |string|
iv_vectorindexname = |string|
)
io_s3vectorsconfiguration = new /aws1/cl_bdas3vectorsconf(
iv_indexarn = |string|
iv_indexname = |string|
iv_vectorbucketarn = |string|
)
iv_type = |string|
)
it_tags = VALUE /aws1/cl_bdatagsmap_w=>tt_tagsmap(
(
VALUE /aws1/cl_bdatagsmap_w=>ts_tagsmap_maprow(
value = new /aws1/cl_bdatagsmap_w( |string| )
key = |string|
)
)
)
iv_clienttoken = |string|
iv_description = |string|
iv_name = |string|
iv_rolearn = |string|
).
This is an example of reading all possible response values
lo_result = lo_result.
IF lo_result IS NOT INITIAL.
lo_knowledgebase = lo_result->get_knowledgebase( ).
IF lo_knowledgebase IS NOT INITIAL.
lv_id = lo_knowledgebase->get_knowledgebaseid( ).
lv_name = lo_knowledgebase->get_name( ).
lv_knowledgebasearn = lo_knowledgebase->get_knowledgebasearn( ).
lv_description = lo_knowledgebase->get_description( ).
lv_knowledgebaserolearn = lo_knowledgebase->get_rolearn( ).
lo_knowledgebaseconfigurat = lo_knowledgebase->get_knowledgebaseconf( ).
IF lo_knowledgebaseconfigurat IS NOT INITIAL.
lv_knowledgebasetype = lo_knowledgebaseconfigurat->get_type( ).
lo_vectorknowledgebaseconf = lo_knowledgebaseconfigurat->get_vectorknowledgebaseconf( ).
IF lo_vectorknowledgebaseconf IS NOT INITIAL.
lv_bedrockembeddingmodelar = lo_vectorknowledgebaseconf->get_embeddingmodelarn( ).
lo_embeddingmodelconfigura = lo_vectorknowledgebaseconf->get_embeddingmodelconf( ).
IF lo_embeddingmodelconfigura IS NOT INITIAL.
lo_bedrockembeddingmodelco = lo_embeddingmodelconfigura->get_bedrockembeddingmdelconf( ).
IF lo_bedrockembeddingmodelco IS NOT INITIAL.
lv_dimensions = lo_bedrockembeddingmodelco->get_dimensions( ).
lv_embeddingdatatype = lo_bedrockembeddingmodelco->get_embeddingdatatype( ).
LOOP AT lo_bedrockembeddingmodelco->get_audio( ) into lo_row.
lo_row_1 = lo_row.
IF lo_row_1 IS NOT INITIAL.
lo_audiosegmentationconfig = lo_row_1->get_segmentationconf( ).
IF lo_audiosegmentationconfig IS NOT INITIAL.
lv_integer = lo_audiosegmentationconfig->get_fixedlengthduration( ).
ENDIF.
ENDIF.
ENDLOOP.
LOOP AT lo_bedrockembeddingmodelco->get_video( ) into lo_row_2.
lo_row_3 = lo_row_2.
IF lo_row_3 IS NOT INITIAL.
lo_videosegmentationconfig = lo_row_3->get_segmentationconf( ).
IF lo_videosegmentationconfig IS NOT INITIAL.
lv_integer = lo_videosegmentationconfig->get_fixedlengthduration( ).
ENDIF.
ENDIF.
ENDLOOP.
ENDIF.
ENDIF.
lo_supplementaldatastorage = lo_vectorknowledgebaseconf->get_supplementaldatastrgconf( ).
IF lo_supplementaldatastorage IS NOT INITIAL.
LOOP AT lo_supplementaldatastorage->get_storagelocations( ) into lo_row_4.
lo_row_5 = lo_row_4.
IF lo_row_5 IS NOT INITIAL.
lv_supplementaldatastorage_1 = lo_row_5->get_type( ).
lo_s3location = lo_row_5->get_s3location( ).
IF lo_s3location IS NOT INITIAL.
lv_s3bucketuri = lo_s3location->get_uri( ).
ENDIF.
ENDIF.
ENDLOOP.
ENDIF.
ENDIF.
lo_kendraknowledgebaseconf = lo_knowledgebaseconfigurat->get_kendraknowledgebaseconf( ).
IF lo_kendraknowledgebaseconf IS NOT INITIAL.
lv_kendraindexarn = lo_kendraknowledgebaseconf->get_kendraindexarn( ).
ENDIF.
lo_sqlknowledgebaseconfigu = lo_knowledgebaseconfigurat->get_sqlknowledgebaseconf( ).
IF lo_sqlknowledgebaseconfigu IS NOT INITIAL.
lv_queryenginetype = lo_sqlknowledgebaseconfigu->get_type( ).
lo_redshiftconfiguration = lo_sqlknowledgebaseconfigu->get_redshiftconfiguration( ).
IF lo_redshiftconfiguration IS NOT INITIAL.
LOOP AT lo_redshiftconfiguration->get_storageconfigurations( ) into lo_row_6.
lo_row_7 = lo_row_6.
IF lo_row_7 IS NOT INITIAL.
lv_redshiftqueryenginestor = lo_row_7->get_type( ).
lo_redshiftqueryengineawsd = lo_row_7->get_awsdatacatalogconf( ).
IF lo_redshiftqueryengineawsd IS NOT INITIAL.
LOOP AT lo_redshiftqueryengineawsd->get_tablenames( ) into lo_row_8.
lo_row_9 = lo_row_8.
IF lo_row_9 IS NOT INITIAL.
lv_awsdatacatalogtablename = lo_row_9->get_value( ).
ENDIF.
ENDLOOP.
ENDIF.
lo_redshiftqueryenginereds = lo_row_7->get_redshiftconfiguration( ).
IF lo_redshiftqueryenginereds IS NOT INITIAL.
lv_redshiftdatabase = lo_redshiftqueryenginereds->get_databasename( ).
ENDIF.
ENDIF.
ENDLOOP.
lo_redshiftqueryengineconf = lo_redshiftconfiguration->get_queryengineconfiguration( ).
IF lo_redshiftqueryengineconf IS NOT INITIAL.
lv_redshiftqueryenginetype = lo_redshiftqueryengineconf->get_type( ).
lo_redshiftserverlessconfi = lo_redshiftqueryengineconf->get_serverlessconfiguration( ).
IF lo_redshiftserverlessconfi IS NOT INITIAL.
lv_workgrouparn = lo_redshiftserverlessconfi->get_workgrouparn( ).
lo_redshiftserverlessauthc = lo_redshiftserverlessconfi->get_authconfiguration( ).
IF lo_redshiftserverlessauthc IS NOT INITIAL.
lv_redshiftserverlessautht = lo_redshiftserverlessauthc->get_type( ).
lv_secretarn = lo_redshiftserverlessauthc->get_usernamepasswordsecret00( ).
ENDIF.
ENDIF.
lo_redshiftprovisionedconf = lo_redshiftqueryengineconf->get_provisionedconfiguration( ).
IF lo_redshiftprovisionedconf IS NOT INITIAL.
lv_redshiftclusteridentifi = lo_redshiftprovisionedconf->get_clusteridentifier( ).
lo_redshiftprovisionedauth = lo_redshiftprovisionedconf->get_authconfiguration( ).
IF lo_redshiftprovisionedauth IS NOT INITIAL.
lv_redshiftprovisionedauth_1 = lo_redshiftprovisionedauth->get_type( ).
lv_string = lo_redshiftprovisionedauth->get_databaseuser( ).
lv_secretarn = lo_redshiftprovisionedauth->get_usernamepasswordsecret00( ).
ENDIF.
ENDIF.
ENDIF.
lo_querygenerationconfigur = lo_redshiftconfiguration->get_querygenerationconf( ).
IF lo_querygenerationconfigur IS NOT INITIAL.
lv_queryexecutiontimeoutse = lo_querygenerationconfigur->get_executiontimeoutseconds( ).
lo_querygenerationcontext = lo_querygenerationconfigur->get_generationcontext( ).
IF lo_querygenerationcontext IS NOT INITIAL.
LOOP AT lo_querygenerationcontext->get_tables( ) into lo_row_10.
lo_row_11 = lo_row_10.
IF lo_row_11 IS NOT INITIAL.
lv_querygenerationtablenam = lo_row_11->get_name( ).
lv_descriptionstring = lo_row_11->get_description( ).
lv_includeexclude = lo_row_11->get_inclusion( ).
LOOP AT lo_row_11->get_columns( ) into lo_row_12.
lo_row_13 = lo_row_12.
IF lo_row_13 IS NOT INITIAL.
lv_querygenerationcolumnna = lo_row_13->get_name( ).
lv_descriptionstring = lo_row_13->get_description( ).
lv_includeexclude = lo_row_13->get_inclusion( ).
ENDIF.
ENDLOOP.
ENDIF.
ENDLOOP.
LOOP AT lo_querygenerationcontext->get_curatedqueries( ) into lo_row_14.
lo_row_15 = lo_row_14.
IF lo_row_15 IS NOT INITIAL.
lv_naturallanguagestring = lo_row_15->get_naturallanguage( ).
lv_sqlstring = lo_row_15->get_sql( ).
ENDIF.
ENDLOOP.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
lo_storageconfiguration = lo_knowledgebase->get_storageconfiguration( ).
IF lo_storageconfiguration IS NOT INITIAL.
lv_knowledgebasestoragetyp = lo_storageconfiguration->get_type( ).
lo_opensearchserverlesscon = lo_storageconfiguration->get_opensearchserverlessconf( ).
IF lo_opensearchserverlesscon IS NOT INITIAL.
lv_opensearchserverlesscol = lo_opensearchserverlesscon->get_collectionarn( ).
lv_opensearchserverlessind = lo_opensearchserverlesscon->get_vectorindexname( ).
lo_opensearchserverlessfie = lo_opensearchserverlesscon->get_fieldmapping( ).
IF lo_opensearchserverlessfie IS NOT INITIAL.
lv_fieldname = lo_opensearchserverlessfie->get_vectorfield( ).
lv_fieldname = lo_opensearchserverlessfie->get_textfield( ).
lv_fieldname = lo_opensearchserverlessfie->get_metadatafield( ).
ENDIF.
ENDIF.
lo_opensearchmanagedcluste = lo_storageconfiguration->get_opensrchmanagedclustconf( ).
IF lo_opensearchmanagedcluste IS NOT INITIAL.
lv_opensearchmanagedcluste_1 = lo_opensearchmanagedcluste->get_domainendpoint( ).
lv_opensearchmanagedcluste_2 = lo_opensearchmanagedcluste->get_domainarn( ).
lv_opensearchmanagedcluste_3 = lo_opensearchmanagedcluste->get_vectorindexname( ).
lo_opensearchmanagedcluste_4 = lo_opensearchmanagedcluste->get_fieldmapping( ).
IF lo_opensearchmanagedcluste_4 IS NOT INITIAL.
lv_fieldname = lo_opensearchmanagedcluste_4->get_vectorfield( ).
lv_fieldname = lo_opensearchmanagedcluste_4->get_textfield( ).
lv_fieldname = lo_opensearchmanagedcluste_4->get_metadatafield( ).
ENDIF.
ENDIF.
lo_pineconeconfiguration = lo_storageconfiguration->get_pineconeconfiguration( ).
IF lo_pineconeconfiguration IS NOT INITIAL.
lv_pineconeconnectionstrin = lo_pineconeconfiguration->get_connectionstring( ).
lv_secretarn = lo_pineconeconfiguration->get_credentialssecretarn( ).
lv_pineconenamespace = lo_pineconeconfiguration->get_namespace( ).
lo_pineconefieldmapping = lo_pineconeconfiguration->get_fieldmapping( ).
IF lo_pineconefieldmapping IS NOT INITIAL.
lv_fieldname = lo_pineconefieldmapping->get_textfield( ).
lv_fieldname = lo_pineconefieldmapping->get_metadatafield( ).
ENDIF.
ENDIF.
lo_redisenterprisecloudcon = lo_storageconfiguration->get_redisenterprisecloudconf( ).
IF lo_redisenterprisecloudcon IS NOT INITIAL.
lv_redisenterprisecloudend = lo_redisenterprisecloudcon->get_endpoint( ).
lv_redisenterprisecloudind = lo_redisenterprisecloudcon->get_vectorindexname( ).
lv_secretarn = lo_redisenterprisecloudcon->get_credentialssecretarn( ).
lo_redisenterprisecloudfie = lo_redisenterprisecloudcon->get_fieldmapping( ).
IF lo_redisenterprisecloudfie IS NOT INITIAL.
lv_fieldname = lo_redisenterprisecloudfie->get_vectorfield( ).
lv_fieldname = lo_redisenterprisecloudfie->get_textfield( ).
lv_fieldname = lo_redisenterprisecloudfie->get_metadatafield( ).
ENDIF.
ENDIF.
lo_rdsconfiguration = lo_storageconfiguration->get_rdsconfiguration( ).
IF lo_rdsconfiguration IS NOT INITIAL.
lv_rdsarn = lo_rdsconfiguration->get_resourcearn( ).
lv_secretarn = lo_rdsconfiguration->get_credentialssecretarn( ).
lv_rdsdatabasename = lo_rdsconfiguration->get_databasename( ).
lv_rdstablename = lo_rdsconfiguration->get_tablename( ).
lo_rdsfieldmapping = lo_rdsconfiguration->get_fieldmapping( ).
IF lo_rdsfieldmapping IS NOT INITIAL.
lv_columnname = lo_rdsfieldmapping->get_primarykeyfield( ).
lv_columnname = lo_rdsfieldmapping->get_vectorfield( ).
lv_columnname = lo_rdsfieldmapping->get_textfield( ).
lv_columnname = lo_rdsfieldmapping->get_metadatafield( ).
lv_columnname = lo_rdsfieldmapping->get_custommetadatafield( ).
ENDIF.
ENDIF.
lo_mongodbatlasconfigurati = lo_storageconfiguration->get_mongodbatlasconf( ).
IF lo_mongodbatlasconfigurati IS NOT INITIAL.
lv_mongodbatlasendpoint = lo_mongodbatlasconfigurati->get_endpoint( ).
lv_mongodbatlasdatabasenam = lo_mongodbatlasconfigurati->get_databasename( ).
lv_mongodbatlascollectionn = lo_mongodbatlasconfigurati->get_collectionname( ).
lv_mongodbatlasindexname = lo_mongodbatlasconfigurati->get_vectorindexname( ).
lv_secretarn = lo_mongodbatlasconfigurati->get_credentialssecretarn( ).
lo_mongodbatlasfieldmappin = lo_mongodbatlasconfigurati->get_fieldmapping( ).
IF lo_mongodbatlasfieldmappin IS NOT INITIAL.
lv_fieldname = lo_mongodbatlasfieldmappin->get_vectorfield( ).
lv_fieldname = lo_mongodbatlasfieldmappin->get_textfield( ).
lv_fieldname = lo_mongodbatlasfieldmappin->get_metadatafield( ).
ENDIF.
lv_mongodbatlasendpointser = lo_mongodbatlasconfigurati->get_endpointservicename( ).
lv_mongodbatlasindexname = lo_mongodbatlasconfigurati->get_textindexname( ).
ENDIF.
lo_neptuneanalyticsconfigu = lo_storageconfiguration->get_neptuneanalyticsconf( ).
IF lo_neptuneanalyticsconfigu IS NOT INITIAL.
lv_grapharn = lo_neptuneanalyticsconfigu->get_grapharn( ).
lo_neptuneanalyticsfieldma = lo_neptuneanalyticsconfigu->get_fieldmapping( ).
IF lo_neptuneanalyticsfieldma IS NOT INITIAL.
lv_fieldname = lo_neptuneanalyticsfieldma->get_textfield( ).
lv_fieldname = lo_neptuneanalyticsfieldma->get_metadatafield( ).
ENDIF.
ENDIF.
lo_s3vectorsconfiguration = lo_storageconfiguration->get_s3vectorsconfiguration( ).
IF lo_s3vectorsconfiguration IS NOT INITIAL.
lv_vectorbucketarn = lo_s3vectorsconfiguration->get_vectorbucketarn( ).
lv_indexarn = lo_s3vectorsconfiguration->get_indexarn( ).
lv_indexname = lo_s3vectorsconfiguration->get_indexname( ).
ENDIF.
ENDIF.
lv_knowledgebasestatus = lo_knowledgebase->get_status( ).
lv_datetimestamp = lo_knowledgebase->get_createdat( ).
lv_datetimestamp = lo_knowledgebase->get_updatedat( ).
LOOP AT lo_knowledgebase->get_failurereasons( ) into lo_row_16.
lo_row_17 = lo_row_16.
IF lo_row_17 IS NOT INITIAL.
lv_failurereason = lo_row_17->get_value( ).
ENDIF.
ENDLOOP.
ENDIF.
ENDIF.