CR Creation Supplier
CR Creation Supplier
REPORT z_test_mdg_conv_api.
START-OF-SELECTION.
* Set environment
TRY.
go_mdg_conv->set_environment(
EXPORTING
* iv_crequest_id =
iv_crequest_type = 'SUPPL1P1'
* iv_process =
* iv_wi_id =
iv_create_crequest = abap_true
* iv_edition =
).
CATCH cx_usmd_conv_som_gov_api_env INTO go_error. "
g_error_string = go_error->get_text( ).
ENDTRY.
TRY .
go_mdg_conv->get_entity_structure(
EXPORTING
iv_entity_name = 'BP_HEADER'
iv_struct_type = go_mdg_conv->gc_struct_key_attr
* iv_edition = ABAP_FALSE
IMPORTING
er_structure = g_s_entity
er_table = g_t_entity
).
CATCH cx_usmd_gov_api INTO go_error.
g_error_string = go_error->get_text( ).
ENDTRY.
TRY.
l_uuid_16 = cl_system_uuid=>create_uuid_x16_static( ).
CATCH cx_uuid_error INTO go_error.
CLEAR l_uuid_16.
ENDTRY.
<fs_bp_header>-bp_header = gs_temp_key.
<fs_bp_header>-bp_guid = l_uuid_16.
<fs_bp_header>-bu_group = 'ZTER'.
<fs_bp_header>-bu_type = 2.
CLEAR wa_entity_keys.
wa_entity_keys-entity = 'BP_HEADER'.
wa_entity_keys-tabl = g_t_entity.
INSERT wa_entity_keys INTO TABLE gt_entity_keys.
TRY.
go_mdg_conv->enqueue_entity(
EXPORTING
it_entity_keys = gt_entity_keys
* iv_lock_mode = 'E'
).
CATCH cx_usmd_gov_api_core_error INTO go_error. "
g_error_string = go_error->get_text( ).
CATCH cx_usmd_gov_api_entity_lock INTO go_error. "
g_error_string = go_error->get_text( ).
CATCH cx_usmd_gov_api INTO go_error. "
g_error_string = go_error->get_text( ).
ENDTRY.
CLEAR wa_entity_data.
wa_entity_data-entity = 'BP_HEADER'.
wa_entity_data-entity_data = g_t_entity.
* wa_entity_Data-entity_attributes = .
*************************************
* 'BP_CENTRL'
*************************************
CLEAR: g_s_entity, g_t_entity.
TRY .
go_mdg_conv->get_entity_structure(
EXPORTING
iv_entity_name = 'BP_CENTRL'
iv_struct_type = go_mdg_conv->gc_struct_key_attr
* iv_edition = ABAP_FALSE
IMPORTING
er_structure = g_s_entity
er_table = g_t_entity
).
CATCH cx_usmd_gov_api INTO go_error.
g_error_string = go_error->get_text( ).
ENDTRY.
<fs_bp_centrl>-bp_header = gs_temp_key.
<fs_bp_centrl>-name_org1 = 'NAME 1 API'.
<fs_bp_centrl>-name_org2 = 'NAME 2 API'.
CLEAR wa_entity_data.
wa_entity_data-entity = 'BP_CENTRL'.
wa_entity_data-entity_data = g_t_entity.
* wa_entity_Data-entity_attributes = .
*************************************
* 'AD_POSTAL'
*************************************
* Get temporary key --> It sholud work with temporary key but it doesn't. Use
range number instead
*** TRY.
*** CLEAR gs_temp_key_addr.
*** go_mdg_conv->create_entity_tmp_key(
*** EXPORTING
**** iv_lock = ABAP_TRUE
*** iv_entity = 'ADDRNO'
*** IMPORTING
*** es_key = gs_temp_key_addr
*** ).
*** CATCH cx_usmd_gov_api_core_error INTO go_error. "
*** g_error_string = go_error->get_text( ).
*** CATCH cx_usmd_gov_api INTO go_error. "
*** g_error_string = go_error->get_text( ).
*** ENDTRY.
<fs_ad_postal>-addrno = gs_temp_key_addr.
<fs_ad_postal>-bp_header = gs_temp_key.
<fs_ad_postal>-street = 'street'.
<fs_ad_postal>-city1 = 'city1'.
<fs_ad_postal>-house_nr1 = '1'.
<fs_ad_postal>-ref_posta = 'ES'.
<fs_ad_postal>-rfe_post = '25'.
<fs_ad_postal>-post_cod1 = '25001'.
INSERT <fs_ad_postal> INTO TABLE <lt_anydata_postal>.
CLEAR wa_entity_data.
wa_entity_data-entity = 'AD_POSTAL'.
wa_entity_data-entity_data = g_t_entity.
* wa_entity_Data-entity_attributes = .
*************************************
* 'BP_ADDUSG'
*************************************
ENDTRY.
<fs_bp_addusg>-addrno = gs_temp_key_addr.
<fs_bp_addusg>-bp_header = gs_temp_key.
<fs_bp_addusg>-bp_adrknd = 'XXDEFAULT'.
<fs_bp_addusg>-xdfadu = abap_true.
*************************************
* 'ADDRESS'
*************************************
TRY .
go_mdg_conv->get_entity_structure(
EXPORTING
iv_entity_name = 'ADDRESS'
iv_struct_type = go_mdg_conv->gc_struct_key_attr
* iv_edition = ABAP_FALSE
IMPORTING
er_structure = g_s_entity
er_table = g_t_entity
).
CATCH cx_usmd_gov_api INTO go_error.
g_error_string = go_error->get_text( ).
ENDTRY.
<fs_address>-addrno = gs_temp_key_addr.
<fs_address>-bp_header = gs_temp_key.
<fs_address>-type = 1.
CLEAR wa_entity_data.
wa_entity_data-entity = 'ADDRESS'.
wa_entity_data-entity_data = g_t_entity.
* wa_entity_Data-entity_attributes = .
*************************************
* 'AD_TEL'
*************************************
ENDTRY.
"Telephone
<fs_ad_tel>-addrno = gs_temp_key_addr.
<fs_ad_tel>-ad_consno = '002'.
<fs_ad_tel>-bp_header = gs_temp_key.
<fs_ad_tel>-t_flgmob = 1.
<fs_ad_tel>-t_country = 'ES'.
<fs_ad_tel>-t_number = '987654321'.
"Mobile
CLEAR <fs_ad_tel>.
<fs_ad_tel>-addrno = gs_temp_key_addr.
<fs_ad_tel>-ad_consno = '001'.
<fs_ad_tel>-bp_header = gs_temp_key.
<fs_ad_tel>-t_flgmob = 3.
<fs_ad_tel>-t_country = 'ES'.
<fs_ad_tel>-t_number = '654321098'.
CLEAR wa_entity_data.
wa_entity_data-entity = 'AD_TEL'.
wa_entity_data-entity_data = g_t_entity.
* wa_entity_Data-entity_attributes = .
*************************************
* 'AD_FAX'
*************************************
CLEAR: g_s_entity, g_t_entity.
TRY .
go_mdg_conv->get_entity_structure(
EXPORTING
iv_entity_name = 'AD_FAX'
iv_struct_type = go_mdg_conv->gc_struct_key_attr
* iv_edition = ABAP_FALSE
IMPORTING
er_structure = g_s_entity
er_table = g_t_entity
).
CATCH cx_usmd_gov_api INTO go_error.
g_error_string = go_error->get_text( ).
ENDTRY.
"FAX
<fs_ad_fax>-addrno = gs_temp_key_addr.
<fs_ad_fax>-ad_consno = '002'.
<fs_ad_fax>-bp_header = gs_temp_key.
<fs_ad_fax>-f_flgdeft = abap_true.
<fs_ad_fax>-f_country = 'ES'.
<fs_ad_fax>-f_number = '987654321'.
CLEAR wa_entity_data.
wa_entity_data-entity = 'AD_FAX'.
wa_entity_data-entity_data = g_t_entity.
* wa_entity_Data-entity_attributes = .
ENDTRY.
"email
<fs_ad_email>-addrno = gs_temp_key_addr.
<fs_ad_email>-ad_consno = '001'.
<fs_ad_email>-bp_header = gs_temp_key.
<fs_ad_email>-e_address = 'test@domain.com'.
<fs_ad_email>-e_flgdeft = abap_true.
CLEAR wa_entity_data.
wa_entity_data-entity = 'AD_EMAIL'.
wa_entity_data-entity_data = g_t_entity.
* wa_entity_Data-entity_attributes = .
*************************************
* 'AD_URL'
*************************************
CLEAR: g_s_entity, g_t_entity.
TRY .
go_mdg_conv->get_entity_structure(
EXPORTING
iv_entity_name = 'AD_URL'
iv_struct_type = go_mdg_conv->gc_struct_key_attr
* iv_edition = ABAP_FALSE
IMPORTING
er_structure = g_s_entity
er_table = g_t_entity
).
CATCH cx_usmd_gov_api INTO go_error.
g_error_string = go_error->get_text( ).
ENDTRY.
"Company Site
<fs_ad_url>-addrno = gs_temp_key_addr.
<fs_ad_url>-ad_consno = '001'.
<fs_ad_url>-bp_header = gs_temp_key.
<fs_ad_url>-u_address = 'http:\\www.company.com'.
<fs_ad_url>-u_flgdeft = abap_true.
<fs_ad_url>-u_type = 'HPG'.
CLEAR wa_entity_data.
wa_entity_data-entity = 'AD_URL'.
wa_entity_data-entity_data = g_t_entity.
* wa_entity_Data-entity_attributes = .
**********************************************************************
TRY.
go_mdg_conv->write_entity_data( it_entity_data = gt_entity_data ).
TRY.
go_mdg_conv->validate_crequest( ).
CATCH cx_usmd_gov_api_core_error INTO go_error. "
g_error_string = go_error->get_text( ).
CATCH cx_usmd_conv_som_gov_api INTO go_error. "
g_error_string = go_error->get_text( ).
ENDTRY.
TRY.
DATA: g_crequest_data TYPE usmd_s_crequest.
g_crequest_data-usmd_crequest = gv_crequest.
g_crequest_data-usmd_creq_type = 'SUPPL1P1'.
g_crequest_data-usmd_creq_text = 'Z_TEST_MDG_CONV_API'.
g_crequest_data-usmd_creq_status = '00'.
* Save
TRY.
go_mdg_conv->save( ).
CATCH cx_usmd_gov_api_core_error INTO go_error. "
g_error_string = go_error->get_text( ).
CATCH cx_usmd_gov_api INTO go_error. "
g_error_string = go_error->get_text( ).
ENDTRY.
go_mdg_conv->dequeue_entity_all( ).
END-OF-SELECTION.