/AWS1/CL_BDR=>APPLYGUARDRAIL()
¶
About ApplyGuardrail¶
The action to apply a guardrail.
For troubleshooting some of the common errors you might encounter when using the ApplyGuardrail
API, see Troubleshooting Amazon Bedrock API Error Codes in the Amazon Bedrock User Guide
Method Signature¶
IMPORTING¶
Required arguments:¶
iv_guardrailidentifier
TYPE /AWS1/BDRGUARDRAILIDENTIFIER
/AWS1/BDRGUARDRAILIDENTIFIER
¶
The guardrail identifier used in the request to apply the guardrail.
iv_guardrailversion
TYPE /AWS1/BDRGUARDRAILVERSION
/AWS1/BDRGUARDRAILVERSION
¶
The guardrail version used in the request to apply the guardrail.
iv_source
TYPE /AWS1/BDRGUARDRAILCONTSOURCE
/AWS1/BDRGUARDRAILCONTSOURCE
¶
The source of data used in the request to apply the guardrail.
it_content
TYPE /AWS1/CL_BDRGUARDRAILCONTBLOCK=>TT_GUARDRAILCONTENTBLOCKLIST
TT_GUARDRAILCONTENTBLOCKLIST
¶
The content details used in the request to apply the guardrail.
Optional arguments:¶
iv_outputscope
TYPE /AWS1/BDRGUARDRAILOUTPUTSCOPE
/AWS1/BDRGUARDRAILOUTPUTSCOPE
¶
Specifies the scope of the output that you get in the response. Set to
FULL
to return the entire output, including any detected and non-detected entries in the response for enhanced debugging.Note that the full output scope doesn't apply to word filters or regex in sensitive information filters. It does apply to all other filtering policies, including sensitive information with filters that can detect personally identifiable information (PII).
RETURNING¶
oo_output
TYPE REF TO /aws1/cl_bdrapplyguardrailrsp
/AWS1/CL_BDRAPPLYGUARDRAILRSP
¶
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_bdr~applyguardrail(
it_content = VALUE /aws1/cl_bdrguardrailcontblock=>tt_guardrailcontentblocklist(
(
new /aws1/cl_bdrguardrailcontblock(
io_image = new /aws1/cl_bdrguardrailimageblk(
io_source = new /aws1/cl_bdrguardrailimagesrc( '5347567362473873563239796247513D' )
iv_format = |string|
)
io_text = new /aws1/cl_bdrguardrailtextblock(
it_qualifiers = VALUE /aws1/cl_bdrguardrailcontqua00=>tt_guardrailcontqualifierlist(
( new /aws1/cl_bdrguardrailcontqua00( |string| ) )
)
iv_text = |string|
)
)
)
)
iv_guardrailidentifier = |string|
iv_guardrailversion = |string|
iv_outputscope = |string|
iv_source = |string|
).
This is an example of reading all possible response values
lo_result = lo_result.
IF lo_result IS NOT INITIAL.
lo_guardrailusage = lo_result->get_usage( ).
IF lo_guardrailusage IS NOT INITIAL.
lv_guardrailtopicpolicyuni = lo_guardrailusage->get_topicpolicyunits( ).
lv_guardrailcontentpolicyu = lo_guardrailusage->get_contentpolicyunits( ).
lv_guardrailwordpolicyunit = lo_guardrailusage->get_wordpolicyunits( ).
lv_guardrailsensitiveinfor = lo_guardrailusage->get_sensitiveinfmtionplyun00( ).
lv_guardrailsensitiveinfor_1 = lo_guardrailusage->get_sensitiveinfmtionplyfr00( ).
lv_guardrailcontextualgrou = lo_guardrailusage->get_ctxualgroundingplyunits( ).
lv_guardrailcontentpolicyi = lo_guardrailusage->get_contentpolicyimageunits( ).
lv_guardrailautomatedreaso = lo_guardrailusage->get_automatedrsningplyunits( ).
lv_guardrailautomatedreaso_1 = lo_guardrailusage->get_automatedreasoningpol( ).
ENDIF.
lv_guardrailaction = lo_result->get_action( ).
lv_string = lo_result->get_actionreason( ).
LOOP AT lo_result->get_outputs( ) into lo_row.
lo_row_1 = lo_row.
IF lo_row_1 IS NOT INITIAL.
lv_guardrailoutputtext = lo_row_1->get_text( ).
ENDIF.
ENDLOOP.
LOOP AT lo_result->get_assessments( ) into lo_row_2.
lo_row_3 = lo_row_2.
IF lo_row_3 IS NOT INITIAL.
lo_guardrailtopicpolicyass = lo_row_3->get_topicpolicy( ).
IF lo_guardrailtopicpolicyass IS NOT INITIAL.
LOOP AT lo_guardrailtopicpolicyass->get_topics( ) into lo_row_4.
lo_row_5 = lo_row_4.
IF lo_row_5 IS NOT INITIAL.
lv_string = lo_row_5->get_name( ).
lv_guardrailtopictype = lo_row_5->get_type( ).
lv_guardrailtopicpolicyact = lo_row_5->get_action( ).
lv_boolean = lo_row_5->get_detected( ).
ENDIF.
ENDLOOP.
ENDIF.
lo_guardrailcontentpolicya = lo_row_3->get_contentpolicy( ).
IF lo_guardrailcontentpolicya IS NOT INITIAL.
LOOP AT lo_guardrailcontentpolicya->get_filters( ) into lo_row_6.
lo_row_7 = lo_row_6.
IF lo_row_7 IS NOT INITIAL.
lv_guardrailcontentfiltert = lo_row_7->get_type( ).
lv_guardrailcontentfilterc = lo_row_7->get_confidence( ).
lv_guardrailcontentfilters = lo_row_7->get_filterstrength( ).
lv_guardrailcontentpolicya_1 = lo_row_7->get_action( ).
lv_boolean = lo_row_7->get_detected( ).
ENDIF.
ENDLOOP.
ENDIF.
lo_guardrailwordpolicyasse = lo_row_3->get_wordpolicy( ).
IF lo_guardrailwordpolicyasse IS NOT INITIAL.
LOOP AT lo_guardrailwordpolicyasse->get_customwords( ) into lo_row_8.
lo_row_9 = lo_row_8.
IF lo_row_9 IS NOT INITIAL.
lv_string = lo_row_9->get_match( ).
lv_guardrailwordpolicyacti = lo_row_9->get_action( ).
lv_boolean = lo_row_9->get_detected( ).
ENDIF.
ENDLOOP.
LOOP AT lo_guardrailwordpolicyasse->get_managedwordlists( ) into lo_row_10.
lo_row_11 = lo_row_10.
IF lo_row_11 IS NOT INITIAL.
lv_string = lo_row_11->get_match( ).
lv_guardrailmanagedwordtyp = lo_row_11->get_type( ).
lv_guardrailwordpolicyacti = lo_row_11->get_action( ).
lv_boolean = lo_row_11->get_detected( ).
ENDIF.
ENDLOOP.
ENDIF.
lo_guardrailsensitiveinfor_2 = lo_row_3->get_sensitiveinformationply( ).
IF lo_guardrailsensitiveinfor_2 IS NOT INITIAL.
LOOP AT lo_guardrailsensitiveinfor_2->get_piientities( ) into lo_row_12.
lo_row_13 = lo_row_12.
IF lo_row_13 IS NOT INITIAL.
lv_string = lo_row_13->get_match( ).
lv_guardrailpiientitytype = lo_row_13->get_type( ).
lv_guardrailsensitiveinfor_3 = lo_row_13->get_action( ).
lv_boolean = lo_row_13->get_detected( ).
ENDIF.
ENDLOOP.
LOOP AT lo_guardrailsensitiveinfor_2->get_regexes( ) into lo_row_14.
lo_row_15 = lo_row_14.
IF lo_row_15 IS NOT INITIAL.
lv_string = lo_row_15->get_name( ).
lv_string = lo_row_15->get_match( ).
lv_string = lo_row_15->get_regex( ).
lv_guardrailsensitiveinfor_3 = lo_row_15->get_action( ).
lv_boolean = lo_row_15->get_detected( ).
ENDIF.
ENDLOOP.
ENDIF.
lo_guardrailcontextualgrou_1 = lo_row_3->get_ctxualgroundingpolicy( ).
IF lo_guardrailcontextualgrou_1 IS NOT INITIAL.
LOOP AT lo_guardrailcontextualgrou_1->get_filters( ) into lo_row_16.
lo_row_17 = lo_row_16.
IF lo_row_17 IS NOT INITIAL.
lv_guardrailcontextualgrou_2 = lo_row_17->get_type( ).
lv_double = lo_row_17->get_threshold( ).
lv_double = lo_row_17->get_score( ).
lv_guardrailcontextualgrou_3 = lo_row_17->get_action( ).
lv_boolean = lo_row_17->get_detected( ).
ENDIF.
ENDLOOP.
ENDIF.
lo_guardrailautomatedreaso_2 = lo_row_3->get_automatedreasoningpolicy( ).
IF lo_guardrailautomatedreaso_2 IS NOT INITIAL.
LOOP AT lo_guardrailautomatedreaso_2->get_findings( ) into lo_row_18.
lo_row_19 = lo_row_18.
IF lo_row_19 IS NOT INITIAL.
lo_guardrailautomatedreaso_3 = lo_row_19->get_valid( ).
IF lo_guardrailautomatedreaso_3 IS NOT INITIAL.
lo_guardrailautomatedreaso_4 = lo_guardrailautomatedreaso_3->get_translation( ).
IF lo_guardrailautomatedreaso_4 IS NOT INITIAL.
LOOP AT lo_guardrailautomatedreaso_4->get_premises( ) into lo_row_20.
lo_row_21 = lo_row_20.
IF lo_row_21 IS NOT INITIAL.
lv_guardrailautomatedreaso_5 = lo_row_21->get_logic( ).
lv_guardrailautomatedreaso_6 = lo_row_21->get_naturallanguage( ).
ENDIF.
ENDLOOP.
LOOP AT lo_guardrailautomatedreaso_4->get_claims( ) into lo_row_20.
lo_row_21 = lo_row_20.
IF lo_row_21 IS NOT INITIAL.
lv_guardrailautomatedreaso_5 = lo_row_21->get_logic( ).
lv_guardrailautomatedreaso_6 = lo_row_21->get_naturallanguage( ).
ENDIF.
ENDLOOP.
LOOP AT lo_guardrailautomatedreaso_4->get_untranslatedpremises( ) into lo_row_22.
lo_row_23 = lo_row_22.
IF lo_row_23 IS NOT INITIAL.
lv_guardrailautomatedreaso_6 = lo_row_23->get_text( ).
ENDIF.
ENDLOOP.
LOOP AT lo_guardrailautomatedreaso_4->get_untranslatedclaims( ) into lo_row_22.
lo_row_23 = lo_row_22.
IF lo_row_23 IS NOT INITIAL.
lv_guardrailautomatedreaso_6 = lo_row_23->get_text( ).
ENDIF.
ENDLOOP.
lv_guardrailautomatedreaso_7 = lo_guardrailautomatedreaso_4->get_confidence( ).
ENDIF.
lo_guardrailautomatedreaso_8 = lo_guardrailautomatedreaso_3->get_claimstruescenario( ).
IF lo_guardrailautomatedreaso_8 IS NOT INITIAL.
LOOP AT lo_guardrailautomatedreaso_8->get_statements( ) into lo_row_20.
lo_row_21 = lo_row_20.
IF lo_row_21 IS NOT INITIAL.
lv_guardrailautomatedreaso_5 = lo_row_21->get_logic( ).
lv_guardrailautomatedreaso_6 = lo_row_21->get_naturallanguage( ).
ENDIF.
ENDLOOP.
ENDIF.
LOOP AT lo_guardrailautomatedreaso_3->get_supportingrules( ) into lo_row_24.
lo_row_25 = lo_row_24.
IF lo_row_25 IS NOT INITIAL.
lv_automatedreasoningrulei = lo_row_25->get_identifier( ).
lv_guardrailautomatedreaso_9 = lo_row_25->get_policyversionarn( ).
ENDIF.
ENDLOOP.
lo_guardrailautomatedreaso_10 = lo_guardrailautomatedreaso_3->get_logicwarning( ).
IF lo_guardrailautomatedreaso_10 IS NOT INITIAL.
lv_guardrailautomatedreaso_11 = lo_guardrailautomatedreaso_10->get_type( ).
LOOP AT lo_guardrailautomatedreaso_10->get_premises( ) into lo_row_20.
lo_row_21 = lo_row_20.
IF lo_row_21 IS NOT INITIAL.
lv_guardrailautomatedreaso_5 = lo_row_21->get_logic( ).
lv_guardrailautomatedreaso_6 = lo_row_21->get_naturallanguage( ).
ENDIF.
ENDLOOP.
LOOP AT lo_guardrailautomatedreaso_10->get_claims( ) into lo_row_20.
lo_row_21 = lo_row_20.
IF lo_row_21 IS NOT INITIAL.
lv_guardrailautomatedreaso_5 = lo_row_21->get_logic( ).
lv_guardrailautomatedreaso_6 = lo_row_21->get_naturallanguage( ).
ENDIF.
ENDLOOP.
ENDIF.
ENDIF.
lo_guardrailautomatedreaso_12 = lo_row_19->get_invalid( ).
IF lo_guardrailautomatedreaso_12 IS NOT INITIAL.
lo_guardrailautomatedreaso_4 = lo_guardrailautomatedreaso_12->get_translation( ).
IF lo_guardrailautomatedreaso_4 IS NOT INITIAL.
LOOP AT lo_guardrailautomatedreaso_4->get_premises( ) into lo_row_20.
lo_row_21 = lo_row_20.
IF lo_row_21 IS NOT INITIAL.
lv_guardrailautomatedreaso_5 = lo_row_21->get_logic( ).
lv_guardrailautomatedreaso_6 = lo_row_21->get_naturallanguage( ).
ENDIF.
ENDLOOP.
LOOP AT lo_guardrailautomatedreaso_4->get_claims( ) into lo_row_20.
lo_row_21 = lo_row_20.
IF lo_row_21 IS NOT INITIAL.
lv_guardrailautomatedreaso_5 = lo_row_21->get_logic( ).
lv_guardrailautomatedreaso_6 = lo_row_21->get_naturallanguage( ).
ENDIF.
ENDLOOP.
LOOP AT lo_guardrailautomatedreaso_4->get_untranslatedpremises( ) into lo_row_22.
lo_row_23 = lo_row_22.
IF lo_row_23 IS NOT INITIAL.
lv_guardrailautomatedreaso_6 = lo_row_23->get_text( ).
ENDIF.
ENDLOOP.
LOOP AT lo_guardrailautomatedreaso_4->get_untranslatedclaims( ) into lo_row_22.
lo_row_23 = lo_row_22.
IF lo_row_23 IS NOT INITIAL.
lv_guardrailautomatedreaso_6 = lo_row_23->get_text( ).
ENDIF.
ENDLOOP.
lv_guardrailautomatedreaso_7 = lo_guardrailautomatedreaso_4->get_confidence( ).
ENDIF.
LOOP AT lo_guardrailautomatedreaso_12->get_contradictingrules( ) into lo_row_24.
lo_row_25 = lo_row_24.
IF lo_row_25 IS NOT INITIAL.
lv_automatedreasoningrulei = lo_row_25->get_identifier( ).
lv_guardrailautomatedreaso_9 = lo_row_25->get_policyversionarn( ).
ENDIF.
ENDLOOP.
lo_guardrailautomatedreaso_10 = lo_guardrailautomatedreaso_12->get_logicwarning( ).
IF lo_guardrailautomatedreaso_10 IS NOT INITIAL.
lv_guardrailautomatedreaso_11 = lo_guardrailautomatedreaso_10->get_type( ).
LOOP AT lo_guardrailautomatedreaso_10->get_premises( ) into lo_row_20.
lo_row_21 = lo_row_20.
IF lo_row_21 IS NOT INITIAL.
lv_guardrailautomatedreaso_5 = lo_row_21->get_logic( ).
lv_guardrailautomatedreaso_6 = lo_row_21->get_naturallanguage( ).
ENDIF.
ENDLOOP.
LOOP AT lo_guardrailautomatedreaso_10->get_claims( ) into lo_row_20.
lo_row_21 = lo_row_20.
IF lo_row_21 IS NOT INITIAL.
lv_guardrailautomatedreaso_5 = lo_row_21->get_logic( ).
lv_guardrailautomatedreaso_6 = lo_row_21->get_naturallanguage( ).
ENDIF.
ENDLOOP.
ENDIF.
ENDIF.
lo_guardrailautomatedreaso_13 = lo_row_19->get_satisfiable( ).
IF lo_guardrailautomatedreaso_13 IS NOT INITIAL.
lo_guardrailautomatedreaso_4 = lo_guardrailautomatedreaso_13->get_translation( ).
IF lo_guardrailautomatedreaso_4 IS NOT INITIAL.
LOOP AT lo_guardrailautomatedreaso_4->get_premises( ) into lo_row_20.
lo_row_21 = lo_row_20.
IF lo_row_21 IS NOT INITIAL.
lv_guardrailautomatedreaso_5 = lo_row_21->get_logic( ).
lv_guardrailautomatedreaso_6 = lo_row_21->get_naturallanguage( ).
ENDIF.
ENDLOOP.
LOOP AT lo_guardrailautomatedreaso_4->get_claims( ) into lo_row_20.
lo_row_21 = lo_row_20.
IF lo_row_21 IS NOT INITIAL.
lv_guardrailautomatedreaso_5 = lo_row_21->get_logic( ).
lv_guardrailautomatedreaso_6 = lo_row_21->get_naturallanguage( ).
ENDIF.
ENDLOOP.
LOOP AT lo_guardrailautomatedreaso_4->get_untranslatedpremises( ) into lo_row_22.
lo_row_23 = lo_row_22.
IF lo_row_23 IS NOT INITIAL.
lv_guardrailautomatedreaso_6 = lo_row_23->get_text( ).
ENDIF.
ENDLOOP.
LOOP AT lo_guardrailautomatedreaso_4->get_untranslatedclaims( ) into lo_row_22.
lo_row_23 = lo_row_22.
IF lo_row_23 IS NOT INITIAL.
lv_guardrailautomatedreaso_6 = lo_row_23->get_text( ).
ENDIF.
ENDLOOP.
lv_guardrailautomatedreaso_7 = lo_guardrailautomatedreaso_4->get_confidence( ).
ENDIF.
lo_guardrailautomatedreaso_8 = lo_guardrailautomatedreaso_13->get_claimstruescenario( ).
IF lo_guardrailautomatedreaso_8 IS NOT INITIAL.
LOOP AT lo_guardrailautomatedreaso_8->get_statements( ) into lo_row_20.
lo_row_21 = lo_row_20.
IF lo_row_21 IS NOT INITIAL.
lv_guardrailautomatedreaso_5 = lo_row_21->get_logic( ).
lv_guardrailautomatedreaso_6 = lo_row_21->get_naturallanguage( ).
ENDIF.
ENDLOOP.
ENDIF.
lo_guardrailautomatedreaso_8 = lo_guardrailautomatedreaso_13->get_claimsfalsescenario( ).
IF lo_guardrailautomatedreaso_8 IS NOT INITIAL.
LOOP AT lo_guardrailautomatedreaso_8->get_statements( ) into lo_row_20.
lo_row_21 = lo_row_20.
IF lo_row_21 IS NOT INITIAL.
lv_guardrailautomatedreaso_5 = lo_row_21->get_logic( ).
lv_guardrailautomatedreaso_6 = lo_row_21->get_naturallanguage( ).
ENDIF.
ENDLOOP.
ENDIF.
lo_guardrailautomatedreaso_10 = lo_guardrailautomatedreaso_13->get_logicwarning( ).
IF lo_guardrailautomatedreaso_10 IS NOT INITIAL.
lv_guardrailautomatedreaso_11 = lo_guardrailautomatedreaso_10->get_type( ).
LOOP AT lo_guardrailautomatedreaso_10->get_premises( ) into lo_row_20.
lo_row_21 = lo_row_20.
IF lo_row_21 IS NOT INITIAL.
lv_guardrailautomatedreaso_5 = lo_row_21->get_logic( ).
lv_guardrailautomatedreaso_6 = lo_row_21->get_naturallanguage( ).
ENDIF.
ENDLOOP.
LOOP AT lo_guardrailautomatedreaso_10->get_claims( ) into lo_row_20.
lo_row_21 = lo_row_20.
IF lo_row_21 IS NOT INITIAL.
lv_guardrailautomatedreaso_5 = lo_row_21->get_logic( ).
lv_guardrailautomatedreaso_6 = lo_row_21->get_naturallanguage( ).
ENDIF.
ENDLOOP.
ENDIF.
ENDIF.
lo_guardrailautomatedreaso_14 = lo_row_19->get_impossible( ).
IF lo_guardrailautomatedreaso_14 IS NOT INITIAL.
lo_guardrailautomatedreaso_4 = lo_guardrailautomatedreaso_14->get_translation( ).
IF lo_guardrailautomatedreaso_4 IS NOT INITIAL.
LOOP AT lo_guardrailautomatedreaso_4->get_premises( ) into lo_row_20.
lo_row_21 = lo_row_20.
IF lo_row_21 IS NOT INITIAL.
lv_guardrailautomatedreaso_5 = lo_row_21->get_logic( ).
lv_guardrailautomatedreaso_6 = lo_row_21->get_naturallanguage( ).
ENDIF.
ENDLOOP.
LOOP AT lo_guardrailautomatedreaso_4->get_claims( ) into lo_row_20.
lo_row_21 = lo_row_20.
IF lo_row_21 IS NOT INITIAL.
lv_guardrailautomatedreaso_5 = lo_row_21->get_logic( ).
lv_guardrailautomatedreaso_6 = lo_row_21->get_naturallanguage( ).
ENDIF.
ENDLOOP.
LOOP AT lo_guardrailautomatedreaso_4->get_untranslatedpremises( ) into lo_row_22.
lo_row_23 = lo_row_22.
IF lo_row_23 IS NOT INITIAL.
lv_guardrailautomatedreaso_6 = lo_row_23->get_text( ).
ENDIF.
ENDLOOP.
LOOP AT lo_guardrailautomatedreaso_4->get_untranslatedclaims( ) into lo_row_22.
lo_row_23 = lo_row_22.
IF lo_row_23 IS NOT INITIAL.
lv_guardrailautomatedreaso_6 = lo_row_23->get_text( ).
ENDIF.
ENDLOOP.
lv_guardrailautomatedreaso_7 = lo_guardrailautomatedreaso_4->get_confidence( ).
ENDIF.
LOOP AT lo_guardrailautomatedreaso_14->get_contradictingrules( ) into lo_row_24.
lo_row_25 = lo_row_24.
IF lo_row_25 IS NOT INITIAL.
lv_automatedreasoningrulei = lo_row_25->get_identifier( ).
lv_guardrailautomatedreaso_9 = lo_row_25->get_policyversionarn( ).
ENDIF.
ENDLOOP.
lo_guardrailautomatedreaso_10 = lo_guardrailautomatedreaso_14->get_logicwarning( ).
IF lo_guardrailautomatedreaso_10 IS NOT INITIAL.
lv_guardrailautomatedreaso_11 = lo_guardrailautomatedreaso_10->get_type( ).
LOOP AT lo_guardrailautomatedreaso_10->get_premises( ) into lo_row_20.
lo_row_21 = lo_row_20.
IF lo_row_21 IS NOT INITIAL.
lv_guardrailautomatedreaso_5 = lo_row_21->get_logic( ).
lv_guardrailautomatedreaso_6 = lo_row_21->get_naturallanguage( ).
ENDIF.
ENDLOOP.
LOOP AT lo_guardrailautomatedreaso_10->get_claims( ) into lo_row_20.
lo_row_21 = lo_row_20.
IF lo_row_21 IS NOT INITIAL.
lv_guardrailautomatedreaso_5 = lo_row_21->get_logic( ).
lv_guardrailautomatedreaso_6 = lo_row_21->get_naturallanguage( ).
ENDIF.
ENDLOOP.
ENDIF.
ENDIF.
lo_guardrailautomatedreaso_15 = lo_row_19->get_translationambiguous( ).
IF lo_guardrailautomatedreaso_15 IS NOT INITIAL.
LOOP AT lo_guardrailautomatedreaso_15->get_options( ) into lo_row_26.
lo_row_27 = lo_row_26.
IF lo_row_27 IS NOT INITIAL.
LOOP AT lo_row_27->get_translations( ) into lo_row_28.
lo_row_29 = lo_row_28.
IF lo_row_29 IS NOT INITIAL.
LOOP AT lo_row_29->get_premises( ) into lo_row_20.
lo_row_21 = lo_row_20.
IF lo_row_21 IS NOT INITIAL.
lv_guardrailautomatedreaso_5 = lo_row_21->get_logic( ).
lv_guardrailautomatedreaso_6 = lo_row_21->get_naturallanguage( ).
ENDIF.
ENDLOOP.
LOOP AT lo_row_29->get_claims( ) into lo_row_20.
lo_row_21 = lo_row_20.
IF lo_row_21 IS NOT INITIAL.
lv_guardrailautomatedreaso_5 = lo_row_21->get_logic( ).
lv_guardrailautomatedreaso_6 = lo_row_21->get_naturallanguage( ).
ENDIF.
ENDLOOP.
LOOP AT lo_row_29->get_untranslatedpremises( ) into lo_row_22.
lo_row_23 = lo_row_22.
IF lo_row_23 IS NOT INITIAL.
lv_guardrailautomatedreaso_6 = lo_row_23->get_text( ).
ENDIF.
ENDLOOP.
LOOP AT lo_row_29->get_untranslatedclaims( ) into lo_row_22.
lo_row_23 = lo_row_22.
IF lo_row_23 IS NOT INITIAL.
lv_guardrailautomatedreaso_6 = lo_row_23->get_text( ).
ENDIF.
ENDLOOP.
lv_guardrailautomatedreaso_7 = lo_row_29->get_confidence( ).
ENDIF.
ENDLOOP.
ENDIF.
ENDLOOP.
LOOP AT lo_guardrailautomatedreaso_15->get_differencescenarios( ) into lo_row_30.
lo_row_31 = lo_row_30.
IF lo_row_31 IS NOT INITIAL.
LOOP AT lo_row_31->get_statements( ) into lo_row_20.
lo_row_21 = lo_row_20.
IF lo_row_21 IS NOT INITIAL.
lv_guardrailautomatedreaso_5 = lo_row_21->get_logic( ).
lv_guardrailautomatedreaso_6 = lo_row_21->get_naturallanguage( ).
ENDIF.
ENDLOOP.
ENDIF.
ENDLOOP.
ENDIF.
lo_guardrailautomatedreaso_16 = lo_row_19->get_toocomplex( ).
IF lo_guardrailautomatedreaso_16 IS NOT INITIAL.
ENDIF.
lo_guardrailautomatedreaso_17 = lo_row_19->get_notranslations( ).
IF lo_guardrailautomatedreaso_17 IS NOT INITIAL.
ENDIF.
ENDIF.
ENDLOOP.
ENDIF.
lo_guardrailinvocationmetr = lo_row_3->get_invocationmetrics( ).
IF lo_guardrailinvocationmetr IS NOT INITIAL.
lv_guardrailprocessinglate = lo_guardrailinvocationmetr->get_guardrailprocinglatency( ).
lo_guardrailusage = lo_guardrailinvocationmetr->get_usage( ).
IF lo_guardrailusage IS NOT INITIAL.
lv_guardrailtopicpolicyuni = lo_guardrailusage->get_topicpolicyunits( ).
lv_guardrailcontentpolicyu = lo_guardrailusage->get_contentpolicyunits( ).
lv_guardrailwordpolicyunit = lo_guardrailusage->get_wordpolicyunits( ).
lv_guardrailsensitiveinfor = lo_guardrailusage->get_sensitiveinfmtionplyun00( ).
lv_guardrailsensitiveinfor_1 = lo_guardrailusage->get_sensitiveinfmtionplyfr00( ).
lv_guardrailcontextualgrou = lo_guardrailusage->get_ctxualgroundingplyunits( ).
lv_guardrailcontentpolicyi = lo_guardrailusage->get_contentpolicyimageunits( ).
lv_guardrailautomatedreaso = lo_guardrailusage->get_automatedrsningplyunits( ).
lv_guardrailautomatedreaso_1 = lo_guardrailusage->get_automatedreasoningpol( ).
ENDIF.
lo_guardrailcoverage = lo_guardrailinvocationmetr->get_guardrailcoverage( ).
IF lo_guardrailcoverage IS NOT INITIAL.
lo_guardrailtextcharacters = lo_guardrailcoverage->get_textcharacters( ).
IF lo_guardrailtextcharacters IS NOT INITIAL.
lv_textcharactersguarded = lo_guardrailtextcharacters->get_guarded( ).
lv_textcharacterstotal = lo_guardrailtextcharacters->get_total( ).
ENDIF.
lo_guardrailimagecoverage = lo_guardrailcoverage->get_images( ).
IF lo_guardrailimagecoverage IS NOT INITIAL.
lv_imagesguarded = lo_guardrailimagecoverage->get_guarded( ).
lv_imagestotal = lo_guardrailimagecoverage->get_total( ).
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDLOOP.
lo_guardrailcoverage = lo_result->get_guardrailcoverage( ).
IF lo_guardrailcoverage IS NOT INITIAL.
lo_guardrailtextcharacters = lo_guardrailcoverage->get_textcharacters( ).
IF lo_guardrailtextcharacters IS NOT INITIAL.
lv_textcharactersguarded = lo_guardrailtextcharacters->get_guarded( ).
lv_textcharacterstotal = lo_guardrailtextcharacters->get_total( ).
ENDIF.
lo_guardrailimagecoverage = lo_guardrailcoverage->get_images( ).
IF lo_guardrailimagecoverage IS NOT INITIAL.
lv_imagesguarded = lo_guardrailimagecoverage->get_guarded( ).
lv_imagestotal = lo_guardrailimagecoverage->get_total( ).
ENDIF.
ENDIF.
ENDIF.