"****************************************************************************************
" NAME: z_api_ctracbillcontract_create
" DESCR: Simplified and enhanced version of BAPI_CTRABILLCONTRACT_CREATE
" AUTHOR: James Koefelda - SAP America, inc
" DATE: 5/21/2019
"****************************************************************************************
FUNCTION z_api_ctracbillcontract_create .
*"----------------------------------------------------------------------
*"*"Local Interface:
*" IMPORTING
*" VALUE(CONTRACTDATA) TYPE BAPI_BILLCONTR_H_CREATE
*" VALUE(TESTRUN) TYPE BAPI_BILLCONTR_CONTROL-TESTRUN DEFAULT
*" SPACE
*" VALUE(WRITECHANGEDOCUMENTS) TYPE
*" BAPI_BILLCONTR_CONTROL-WRITECHANGEDOCUMENTS DEFAULT 'X'
*" EXPORTING
*" VALUE(CONTRACT) TYPE BAPI_BILLCONTR_H_CREATE-CONTRACT
*" TABLES
*" ZCONTRACTITEMDATA STRUCTURE ZBAPI_BILLCONTR_I_CREATE
*" RETURN STRUCTURE BAPIRET2 OPTIONAL
*"----------------------------------------------------------------------
TYPES: BEGIN OF t_uuid,
contractitemid TYPE vtpid_c_kk,
uuid TYPE sysuuid_x16,
END OF t_uuid.
DATA: lv_timestamp TYPE tzntstmps,
lv_uuid TYPE sysuuid_x16.
DATA: ls_contractdatax TYPE bapi_billcontr_h_createx,
lt_contractitemdata TYPE TABLE OF bapi_billcontr_i_create,
lt_contractitemdatax TYPE TABLE OF bapi_billcontr_i_createx,
lt_extensionin TYPE TABLE OF bapiparex,
lt_uuid TYPE TABLE OF t_uuid.
"****************************************************************************************
" Generate Timestamp for the Extension Table
"****************************************************************************************
PERFORM f_get_timestamp CHANGING lv_timestamp.
"****************************************************************************************
" Fill the CONTRACTDATAX Structure for all populated values in the contract header
"****************************************************************************************
PERFORM f_set_contractdatax USING contractdata CHANGING ls_contractdatax.
"****************************************************************************************
" Process Contract line items
"****************************************************************************************
LOOP AT zcontractitemdata ASSIGNING FIELD-SYMBOL(<lfs_zcontractitemdata>).
"Get and set UUID for contractitemparent
IF <lfs_zcontractitemdata>-contractitemparentid IS NOT INITIAL.
READ TABLE lt_uuid ASSIGNING FIELD-SYMBOL(<lfs_uuid>)
WITH KEY contractitemid = <lfs_zcontractitemdata>-contractitemparentid.
IF sy-subrc = 0.
<lfs_zcontractitemdata>-contractitemparentid = <lfs_uuid>-uuid.
ENDIF.
ENDIF.
"Get UUID
PERFORM f_get_uuid CHANGING lv_uuid.
"Save UUID in lt_uiid
APPEND INITIAL LINE TO lt_uuid ASSIGNING <lfs_uuid>.
<lfs_uuid>-contractitemid = <lfs_zcontractitemdata>-contractitemid.
<lfs_uuid>-uuid = lv_uuid.
"set UUID for contractitem
<lfs_zcontractitemdata>-contractitemid = lv_uuid.
" Fill EXTENSIONIN table for custom fields of each contract item
APPEND INITIAL LINE TO lt_extensionin ASSIGNING FIELD-SYMBOL(<lfs_extensionin>).
PERFORM f_set_extensionin USING <lfs_zcontractitemdata> lv_timestamp CHANGING <lfs_extensionin>.
"'Remove' custom fields from contract item data
APPEND INITIAL LINE TO lt_contractitemdata ASSIGNING FIELD-SYMBOL(<lfs_contractitemdata>).
MOVE-CORRESPONDING <lfs_zcontractitemdata> TO <lfs_contractitemdata>.
" Fill the CONTRACTITEMDATAX table for all populated values of each contract item
" excludes custom fields
APPEND INITIAL LINE TO lt_contractitemdatax ASSIGNING FIELD-SYMBOL(<lfs_contractitemdatax>).
PERFORM f_set_contractitemdatax USING <lfs_contractitemdata> CHANGING <lfs_contractitemdatax>.
ENDLOOP.
"****************************************************************************************
" Call the BAPI to create the provider contract
"****************************************************************************************
CALL FUNCTION 'BAPI_CTRACBILLCONTRACT_CREATE'
EXPORTING
contractdata = contractdata
contractdatax = ls_contractdatax
testrun = testrun
writechangedocuments = writechangedocuments
IMPORTING
contract = contract
TABLES
contractitemdata = lt_contractitemdata
contractitemdatax = lt_contractitemdatax
return = return
extensionin = lt_extensionin.
IF contract IS NOT INITIAL.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
ENDIF.
ENDFUNCTION.
*----------------------------------------------------------------------*
***INCLUDE LZVKK_VT_BAPIF01.
*----------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Form F_DYNAMIC_FILL_X
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_PI_NAME_V text
* -->P_PI_NAME_X text
* -->P_PI_STRUC_V text
* <--P_PC_STRUC_X text
*----------------------------------------------------------------------*
FORM f_dynamic_fill_x USING pi_name_v
pi_name_x
pi_struc_v
CHANGING pc_struc_x.
CONSTANTS: lc_typ_tab(1) TYPE c VALUE 'h',
lc_typ_str(1) TYPE c VALUE 'v'.
DATA: lo_structdescr_v TYPE REF TO cl_abap_structdescr,
ls_component_v TYPE abap_compdescr.
lo_structdescr_v ?= cl_abap_typedescr=>describe_by_name( pi_name_v ).
LOOP AT lo_structdescr_v->components INTO ls_component_v.
ASSIGN COMPONENT ls_component_v-name OF STRUCTURE pi_struc_v TO FIELD-SYMBOL(<lfs_field_v>).
DESCRIBE FIELD <lfs_field_v> TYPE DATA(lv_type_v).
CASE lv_type_v.
WHEN lc_typ_tab.
WHEN lc_typ_str.
WHEN OTHERS.
IF <lfs_field_v> IS NOT INITIAL.
ASSIGN COMPONENT ls_component_v-name OF STRUCTURE pc_struc_x TO FIELD-SYMBOL(<lfs_field_x>).
IF sy-subrc = 0 AND <lfs_field_x> IS ASSIGNED.
<lfs_field_x> = abap_true.
ENDIF.
ENDIF.
ENDCASE.
ENDLOOP.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form F_SET_CONTRACTDATAX
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_CONTRACTDATA text
* <--P_CONTRACTDATAX text
*----------------------------------------------------------------------*
FORM f_set_contractdatax USING pi_contractdata TYPE bapi_billcontr_h_create
CHANGING pc_contractdatax TYPE bapi_billcontr_h_createx.
PERFORM f_dynamic_fill_x USING 'BAPI_BILLCONTR_H_CREATE'
'BAPI_BILLCONTR_H_CREATEX'
pi_contractdata
CHANGING pc_contractdatax.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form F_SET_CONTRACTITEMDATAX
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_CONTRACTITEMDATA text
* <--P_CONTRACTITEMDATAX text
*----------------------------------------------------------------------*
FORM f_set_contractitemdatax USING pi_contractitemdata TYPE bapi_billcontr_i_create
CHANGING pc_contractitemdatax TYPE bapi_billcontr_i_createx.
PERFORM f_dynamic_fill_x USING 'BAPI_BILLCONTR_I_CREATE'
'BAPI_BILLCONTR_I_CREATEX'
pi_contractitemdata
CHANGING pc_contractitemdatax.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form F_GET_TIMESTAMP
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* <--P_LV_TIMESTAMP text
*----------------------------------------------------------------------*
FORM f_get_timestamp CHANGING pc_timestamp TYPE tzntstmps.
DATA: lv_timezone TYPE timezone.
CALL FUNCTION 'GET_SYSTEM_TIMEZONE'
IMPORTING
timezone = lv_timezone.
CALL FUNCTION 'IB_CONVERT_INTO_TIMESTAMP'
EXPORTING
i_datlo = sy-datum
i_timlo = sy-uzeit
i_tzone = lv_timezone
IMPORTING
e_timestamp = pc_timestamp.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form F_SET_EXTENSIONIN
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_<LFS_CONTRACTITEMDATA> text
* -->P_LV_TIMESTAMP text
* <--P_<LFS_EXTENSIONIN> text
*----------------------------------------------------------------------*
FORM f_set_extensionin USING pi_contractitemdata TYPE zbapi_billcontr_i_create
pi_timestamp TYPE tzntstmps
CHANGING pc_extensionin TYPE bapiparex.
CONSTANTS: lc_ext_structure TYPE te_struc VALUE 'BAPI_TE_VT_I'.
DATA: ls_bapi_te_vt_i TYPE bapi_te_vt_i,
ls_extensionin TYPE bapiparex.
ls_bapi_te_vt_i-contractitemid = pi_contractitemdata-contractitemid.
ls_bapi_te_vt_i-valid_timestamp = pi_timestamp.
ls_bapi_te_vt_i-zzctf_total = pi_contractitemdata-zzctf_total.
ls_bapi_te_vt_i-zzcto_total = pi_contractitemdata-zzcto_total.
ls_extensionin-structure = lc_ext_structure.
cl_abap_container_utilities=>fill_container_c(
EXPORTING
im_value = ls_bapi_te_vt_i " structure of type ls_bapi_te_vt_i
IMPORTING
ex_container = ls_extensionin+30 " values 1-4
EXCEPTIONS
illegal_parameter_type = 1
OTHERS = 2 ).
pc_extensionin = ls_extensionin.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form F_GET_GUID
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* <--P_LV_GUID text
*----------------------------------------------------------------------*
FORM f_get_uuid CHANGING p_uuid TYPE sysuuid_x16.
TRY.
CALL METHOD cl_system_uuid=>if_system_uuid_static~create_uuid_x16
RECEIVING
uuid = p_uuid.
CATCH cx_uuid_error.
ENDTRY.
ENDFORM.
*&---------------------------------------------------------------------*
*& Report ZPRC_UPLOAD
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT zprc_upload.
“***********************************************************************
“***********************************************************************
“ Global Data declarations
“***********************************************************************
“***********************************************************************
TYPE-POOLS: truxs.
TYPES: BEGIN OF t_datatab,
contract_hdr TYPE vtkey_kk,
contract_ext TYPE vtalt_kk,
partner TYPE gpart_kk,
contract_description TYPE vtbez_kk,
contract_start TYPE tstmp_c_kk,
contract_end TYPE tstmp_c_kk,
authoritygroup TYPE begru,
comp_code TYPE bukrs,
time_zone TYPE tizon_kk,
contract_category TYPE vtcat_kk,
contract_characteristic TYPE vtchr_kk,
contract_status TYPE status_vt_kk.
INCLUDE STRUCTURE zbapi_billcontr_i_create.
TYPES: END OF t_datatab.
TYPES: BEGIN OF t_uuid,
contract TYPE vtkey_kk,
contractitemid TYPE vtpid_c_kk,
“ uuid TYPE sysuuid_x16,
END OF t_uuid.
DATA: lv_contract TYPE bapi_billcontr_h_create-contract,
lv_uuid TYPE sysuuid_x16,
lv_parent_uuid TYPE sysuuid_x16.
DATA: ls_hdr TYPE bapi_billcontr_h_create,
lt_itm TYPE ztt_bapi_billcontr_i_create,
ls_item TYPE zbapi_billcontr_i_create,
lt_ret TYPE TABLE OF bapiret2,
lt_uuid TYPE TABLE OF t_uuid.
DATA: lt_datatab TYPE STANDARD TABLE OF t_datatab,
ls_datatab TYPE t_datatab,
lt_raw TYPE truxs_t_text_data.
“***********************************************************************
“***********************************************************************
“ Selection Screen
“***********************************************************************
“***********************************************************************
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME.
PARAMETERS: p_file TYPE rlgrap-filename.
PARAMETERS: p_head TYPE char01 DEFAULT ‘X’.
SELECTION-SCREEN END OF BLOCK b1.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME.
PARAMETERS: p_test TYPE testrun.
PARAMETERS: p_chgdoc TYPE writecd_kk DEFAULT ‘X’.
SELECTION-SCREEN END OF BLOCK b2.
“***********************************************************************
“***********************************************************************
“ At Selection Screen
“***********************************************************************
“***********************************************************************
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
CALL FUNCTION ‘F4_FILENAME’
EXPORTING
field_name = ‘P_FILE’
IMPORTING
file_name = p_file.
“***********************************************************************
“***********************************************************************
“ Start of Selection
“***********************************************************************
“***********************************************************************
START-OF-SELECTION.
“ Convert Excel Data to SAP internal Table Data
CALL FUNCTION ‘TEXT_CONVERT_XLS_TO_SAP’
EXPORTING
* I_FIELD_SEPERATOR =
i_line_header = p_head
i_tab_raw_data = lt_raw “ WORK TABLE
i_filename = p_file
TABLES
i_tab_converted_data = lt_datatab[] “ACTUAL DATA
EXCEPTIONS
conversion_failed = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
“***********************************************************************
“***********************************************************************
* END-OF-SELECTION.
“***********************************************************************
“***********************************************************************
END-OF-SELECTION.
“***********************************************************************
* Process Excel Data and Create Provider Contracts
“***********************************************************************
LOOP AT lt_datatab ASSIGNING FIELD-SYMBOL(<lfs_exdata>).
“***************************************
“Fill Contract Header
“***************************************
IF <lfs_exdata>-contract_hdr IS NOT INITIAL.
“***************************************
“Create Provier Contract
“***************************************
IF ls_hdr IS NOT INITIAL AND lt_itm[] IS NOT INITIAL.
PERFORM f_create_contract USING ls_hdr p_test p_chgdoc lt_itm.
ENDIF.
“***************************************
“Start New Contract – Fill Header
“***************************************
CLEAR: ls_hdr, ls_item.
REFRESH: lt_itm.
MOVE-CORRESPONDING <lfs_exdata> TO ls_hdr.
ls_hdr-contract = <lfs_exdata>-contract_hdr.
ENDIF.
“***************************************
“Fill Contract Item
“***************************************
CLEAR: ls_item.
MOVE-CORRESPONDING <lfs_exdata> TO ls_item.
“Validate Item & Header contract numbers match
IF ls_item-contract <> ls_hdr-contract.
SKIP 1.
WRITE: / text-001 && ` ` && text-011 && ` ` && ls_item-contract && ` <> ` && ls_hdr-contract.
WRITE: / text-002.
CLEAR: ls_hdr.
EXIT.
ENDIF.
“Validate and set parent uuid.
IF ls_item-contractitemparentid IS NOT INITIAL.
READ TABLE lt_uuid ASSIGNING FIELD-SYMBOL(<lfs_uuid>)
WITH KEY contract = ls_hdr-contract
contractitemid = ls_item-contractitemparentid.
IF sy-subrc <> 0.
SKIP 1.
WRITE: / text-001 && ` ` && text-012 && ` ` && ls_item-contractitemparentid.
WRITE: / text-002.
CLEAR: ls_hdr.
EXIT.
ENDIF.
“ ls_item-contractitemparentid = <lfs_uuid>-uuid.
ENDIF.
“Set uuid and save in lt_uuid.
“PERFORM f_get_uuid CHANGING lv_uuid.
APPEND INITIAL LINE TO lt_uuid ASSIGNING <lfs_uuid>.
<lfs_uuid>-contract = ls_hdr-contract.
<lfs_uuid>-contractitemid = ls_item-contractitemid.
“<lfs_uuid>-uuid = lv_uuid.
“Add contract item to LT_ITM
CLEAR: ls_item-contract.
“ls_item-contractitemid = lv_uuid.
APPEND ls_item TO lt_itm.
ENDLOOP.
“***************************************
“Create Provier Contract
"***************************************
IF ls_hdr IS NOT INITIAL AND lt_itm[] IS NOT INITIAL.
PERFORM f_create_contract USING ls_hdr p_test p_chgdoc lt_itm.
ENDIF.
"***********************************************************************
"***********************************************************************
" Includes
"***********************************************************************
"***********************************************************************
INCLUDE zprc_upload_f01.
*----------------------------------------------------------------------*
***INCLUDE ZPRC_UPLOAD_F.
*----------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Form F_GET_GUID
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* <--P_LV_GUID text
*----------------------------------------------------------------------*
FORM f_get_uuid CHANGING p_uuid TYPE sysuuid_x16.
TRY.
CALL METHOD cl_system_uuid=>if_system_uuid_static~create_uuid_x16
RECEIVING
uuid = p_uuid.
CATCH cx_uuid_error.
ENDTRY.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form F_CREATE_CONTRACT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_LS_CONTRACTDATA text
* -->P_P_TEST text
* -->P_P_CHGDOC text
* -->P_LT_CONTRACTITEMDATA text
*----------------------------------------------------------------------*
FORM f_create_contract USING pi_hdr type bapi_billcontr_h_create
pi_test type testrun
pi_chgdoc type writecd_kk
pi_itm type ZTT_BAPI_BILLCONTR_I_CREATE.
DATA: lv_contract TYPE bapi_billcontr_h_create-contract,
lt_ret TYPE TABLE OF bapiret2.
clear: pi_hdr-contract.
CALL FUNCTION 'Z_API_CTRACBILLCONTRACT_CREATE'
EXPORTING
contractdata = pi_hdr
testrun = pi_test
writechangedocuments = pi_chgdoc
IMPORTING
contract = lv_contract
TABLES
zcontractitemdata = pi_itm
return = lt_ret.
"***************************************
" List processing
"***************************************
WRITE: / 'Contract = ', lv_contract.
SKIP 1.
LOOP AT lt_ret ASSIGNING FIELD-SYMBOL(<fs_ret>).
WRITE: / <fs_ret>-message.
ENDLOOP.
ULINE.
ENDFORM.
FUNCTION-POOL ZVKK_BDT_PRC. "MESSAGE-ID ..
* INCLUDE LZVKK_BDT_PRCD... " Local class definition
TABLES: dfkk_vt_i.
FUNCTION z_vkk_cavt_pbo_zvkk1000.
*"----------------------------------------------------------------------
*"*"Local Interface:
*"----------------------------------------------------------------------
DATA: ls_vt_i TYPE dfkk_vt_i.
CALL FUNCTION 'VKK_CAVT_DFKK_VT_I_GET'
IMPORTING
es_vt_i = ls_vt_i.
dfkk_vt_i-zzctf_total = ls_vt_i-zzctf_total.
dfkk_vt_i-zzcto_total = ls_vt_i-zzcto_total.
ENDFUNCTION.
FUNCTION z_vkk_cavt_pai_zvkk1000.
*"--------------------------------------------------------------------
*"*"Local Interface:
*"--------------------------------------------------------------------
DATA: ls_vt_i TYPE dfkk_vt_i.
CALL FUNCTION 'VKK_CAVT_DFKK_VT_I_GET'
IMPORTING
es_vt_i = ls_vt_i.
ls_vt_i-zzctf_total = dfkk_vt_i-zzctf_total.
ls_vt_i-zzcto_total = dfkk_vt_i-zzcto_total.
CALL FUNCTION 'VKK_CAVT_DFKK_VT_I_COLLECT'
EXPORTING
i_subname = 'CI_DFKK_VT_I'
i_vt_i = ls_vt_i.
ENDFUNCTION.
FUNCTION zfkk_sample_8205.
*"----------------------------------------------------------------------
*"*"Local Interface:
*" IMPORTING
*" REFERENCE(IT_RAI_MI) TYPE FKKRA_RAI_MI_TAB
*" REFERENCE(IT_RAI_CO) TYPE FKKRA_RAI_CO_TAB
*" REFERENCE(IS_VT_CHANGES) TYPE FKK_VT_CHANGES OPTIONAL
*" REFERENCE(IX_SIMULATION) TYPE XFELD OPTIONAL
*" EXPORTING
*" REFERENCE(ET_RAI_MI) TYPE FKKRA_RAI_MI_TAB
*" REFERENCE(ET_RAI_CO) TYPE FKKRA_RAI_CO_TAB
*"----------------------------------------------------------------------
DATA: lt_rai_co TYPE fkkra_rai_co_tab,
lwa_rai_co TYPE dfkkra_rai_co,
lv_uuid TYPE sysuuid_x16.
CALL FUNCTION 'FKK_RA_VT_PREDOC_MERGE_8205'
EXPORTING
it_rai_mi = it_rai_mi
it_rai_co = it_rai_co
is_vt_changes = is_vt_changes
ix_simulation = ix_simulation
IMPORTING
et_rai_mi = et_rai_mi
et_rai_co = et_rai_co.
LOOP AT et_rai_co ASSIGNING FIELD-SYMBOL(<lfs_rai_co>).
IF <lfs_rai_co>-condition_type = 'PR00'.
lwa_rai_co = <lfs_rai_co>.
"*************************************************************************
" Add Conditions for "Total Cost to Fulfill" & "Total Cost to Obtain"
"*************************************************************************
READ TABLE et_rai_mi WITH KEY rai_id = <lfs_rai_co>-rai_id ASSIGNING FIELD-SYMBOL(<lfs_rai_mi>).
IF sy-subrc = 0.
IF <lfs_rai_mi>-zzctf_total is not INITIAL. " Total Cost to Fulfill
PERFORM f_get_uuid CHANGING lv_uuid.
lwa_rai_co-uuid = lv_uuid.
lwa_rai_co-condition_type = 'VPRS'.
lwa_rai_co-chind = 'I'.
" lwa_rai_co-category = 'C'.
lwa_rai_co-main_cond_type = abap_false.
lwa_rai_co-betrw = <lfs_rai_mi>-zzctf_total .
APPEND lwa_rai_co TO lt_rai_co.
ENDIF.
IF <lfs_rai_mi>-zzcto_total is not INITIAL. " Total Cost to Obtain
PERFORM f_get_uuid CHANGING lv_uuid.
lwa_rai_co-uuid = lv_uuid.
lwa_rai_co-condition_type = 'COAC'.
lwa_rai_co-chind = 'I'.
" lwa_rai_co-category = 'C'.
lwa_rai_co-main_cond_type = abap_false.
lwa_rai_co-betrw = <lfs_rai_mi>-zzcto_total .
APPEND lwa_rai_co TO lt_rai_co.
ENDIF.
ENDIF.
CLEAR lwa_rai_co.
ENDIF.
ENDLOOP.
IF <lfs_rai_co> IS ASSIGNED.
UNASSIGN <lfs_rai_co>.
ENDIF.
IF lt_rai_co[] IS NOT INITIAL.
APPEND LINES OF lt_rai_co TO et_rai_co.
ENDIF.
ENDFUNCTION.
*&---------------------------------------------------------------------*
*& Form F_GET_GUID
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* <--P_LV_GUID text
*----------------------------------------------------------------------*
FORM f_get_uuid CHANGING p_uuid TYPE sysuuid_x16.
TRY.
CALL METHOD cl_system_uuid=>if_system_uuid_static~create_uuid_x16
RECEIVING
uuid = p_uuid.
CATCH cx_uuid_error.
ENDTRY.
ENDFORM.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
7 | |
6 | |
5 | |
4 | |
4 | |
4 | |
4 | |
3 | |
3 | |
3 |