in src/zadf/zcl_adf_service_blob.clas.abap [0:0]
METHOD string_to_sign.
DATA : lv_canonical_str TYPE string,
lv_msg TYPE string,
lcx_adf_service TYPE REF TO zcx_adf_service.
CLEAR: gv_string_to_sign, gv_expiry_utc_time,gv_start_utc_time,gv_blob_name,gv_container_name.
IF iv_expiry_time IS INITIAL.
TRY.
set_expiry_utc_time( ).
CATCH zcx_adf_service INTO lcx_adf_service.
lv_msg = lcx_adf_service->get_text( ).
MESSAGE lv_msg TYPE 'I'.
ENDTRY.
ELSE.
gv_expiry_utc_time = iv_expiry_time.
ENDIF.
IF iv_blob_type EQ gc_a.
gv_blob_type = gc_append_blob.
ELSEIF iv_blob_type EQ gc_b.
gv_blob_type = gc_block_blob.
ENDIF.
CONCATENATE gc_sep_slash gc_blob gc_sep_slash iv_storage_account
gc_sep_slash iv_container INTO lv_canonical_str.
gv_storage_account = iv_storage_account.
gv_container_name = iv_container.
gv_blob_name = iv_blob_name.
gv_permisson = iv_permisson.
gv_service_version = iv_version.
CONCATENATE iv_permisson cl_abap_char_utilities=>newline gv_start_utc_time cl_abap_char_utilities=>newline
gv_expiry_utc_time cl_abap_char_utilities=>newline lv_canonical_str cl_abap_char_utilities=>newline iv_identifier
cl_abap_char_utilities=>newline iv_ip cl_abap_char_utilities=>newline iv_protocol
cl_abap_char_utilities=>newline iv_version cl_abap_char_utilities=>newline iv_rscc
cl_abap_char_utilities=>newline iv_rscd cl_abap_char_utilities=>newline iv_rsce
cl_abap_char_utilities=>newline iv_rsct cl_abap_char_utilities=>newline INTO gv_string_to_sign.
IF gv_string_to_sign IS INITIAL.
RAISE EXCEPTION TYPE zcx_adf_service
EXPORTING
textid = zcx_adf_service=>string_to_sign_not_generated
interface_id = gv_interface_id.
ENDIF.