MDG convenience API示例代码
参考自
/
DATA:lr_key_str TYPE REF TO DATA,
lr_key_tab TYPE REF TO DATA,
lr_data_str TYPE REF TO DATA,
lr_data_tab TYPE REF TO DATA,
lt_entity_key TYPE usmd_gov_api_ts_ent_tabl,
ls_entity_key TYPE usmd_gov_api_s_ent_tabl,
ls_entity TYPE usmd_gov_api_s_ent_tabl,
lt_entity TYPE usmd_gov_api_ts_ent_tabl,
lt_entity_data TYPE usmd_gov_api_ts_ent_data,
ls_entity_data TYPE usmd_gov_api_s_ent_data.TRY.DATA(lo_gov_api) = cl_usmd_conv_som_gov_api=>get_instance( 'YP' ).
CATCH cx_usmd_conv_som_gov_api INTO DATA(lo_som_error).data(lv_message) = lo_som_error->get_text( ).lo_gov_api->refresh_buffers( ).
CATCH cx_usmd_app_context_cons_error INTO DATA(lo_context_error).lv_message = lo_context_error->get_text( ).lo_gov_api->refresh_buffers( ).
CATCH cx_usmd_gov_api INTO DATA(lo_gov_api_error).lv_message = lo_context_error->get_text( ).lo_gov_api->refresh_buffers( ).
ENDTRY.data(lo_workflow) = cl_usmd_wf_service=>get_instance( ).TRY.
lo_gov_api->get_entity_structure(
EXPORTINGiv_entity_name = 'SITE'iv_struct_type = cl_usmd_conv_som_gov_api=>gc_struct_key
IMPORTINGer_structure = lr_key_strer_table = lr_key_tab).lo_gov_api->get_entity_structure(
EXPORTINGiv_entity_name = 'SITE'iv_struct_type = cl_usmd_conv_som_gov_api=>gc_struct_key_attr
IMPORTINGer_structure = lr_data_strer_table = lr_data_tab).CATCH cx_usmd_gov_api INTO lo_gov_api_error.lv_message = lo_gov_api_error->get_text( ).lo_gov_api->refresh_buffers( ).
ENDTRY.FIELD-symbols:
<ls_key> TYPE ANY,
<lt_key> TYPE SORTED TABLE,
<ls_data> TYPE ANY,
<lt_data> TYPE SORTED TABLE.ASSIGN lr_key_str->* TO <ls_key>.
ASSIGN lr_key_tab->* TO <lt_key>.
ASSIGN lr_data_str->* TO <ls_data>.
ASSIGN lr_data_tab->* TO <lt_data>.TRY.lo_gov_api->set_environment(EXPORTINGiv_crequest_type = 'YP1C1'iv_create_crequest = abap_true ).data(lv_crequest) = lo_gov_api->get_crequest_id( ).
CATCH cx_usmd_conv_som_gov_api_env INTO DATA(lo_env_error).lv_message = lo_env_error->get_text( ).lo_gov_api->refresh_buffers( ).
ENDTRY.TRY .lo_gov_api->set_crequest_attributes(iv_crequest_text = 'test from se38:YPWK_UPDATE_YP').
CATCH cx_usmd_gov_api_core_error INTO DATA(lo_core_error).lv_message = lo_core_error->get_text( ).lo_gov_api->refresh_buffers( ).
CATCH cx_usmd_gov_api INTO lo_gov_api_error.lv_message = lo_gov_api_error->get_text( ).lo_gov_api->refresh_buffers( ).
ENDTRY.CLEAR <ls_key>.
CLEAR ls_entity_key.
ASSIGN COMPONENT 'SITE' of STRUCTURE <ls_key> to FIELD-SYMBOL(<fs_key>).
<fs_key> = '2'.
APPEND <ls_key> TO <lt_key>.ls_entity_key-entity = 'SITE'.
ls_entity_key-tabl = lr_key_tab.
APPEND ls_entity_key TO lt_entity_key.TRY.lo_gov_api->enqueue_entity(it_entity_keys = lt_entity_key).CATCH cx_usmd_gov_api_core_error INTO lo_core_error.lv_message = lo_core_error->get_text( ).lo_gov_api->refresh_buffers( ).
CATCH cx_usmd_gov_api_entity_lock INTO DATA(lo_lock_error).lv_message = lo_lock_error->get_text( ).lo_gov_api->refresh_buffers( ).
CATCH cx_usmd_gov_api INTO lo_gov_api_error.lv_message = lo_gov_api_error->get_text( ).lo_gov_api->refresh_buffers( ).
ENDTRY.CLEAR lt_entity_data.CLEAR ls_entity_data.
CLEAR <ls_data>.
data:ls_data type YYP_S_YP_PP_SITE.ls_data-site = '2'.
ls_data-name = 'test 2'.
MOVE-corresponding:ls_data TO <ls_data>.
APPEND <ls_data> TO <lt_data>.
ls_entity_data-entity = 'SITE'.
ls_entity_data-entity_data = lr_data_tab.
APPEND ls_entity_data TO lt_entity_data.TRY.lo_gov_api->write_entity_data(it_entity_data = lt_entity_data).
CATCH cx_usmd_gov_api_core_error INTO lo_core_error.lv_message = lo_core_error->get_text( ).lo_gov_api->refresh_buffers( ).
CATCH cx_usmd_gov_api_entity_write INTO DATA(lo_write_error).lv_message = lo_write_error->get_text( ).lo_gov_api->refresh_buffers( ).
CATCH cx_usmd_gov_api INTO lo_gov_api_error.lv_message = lo_gov_api_error->get_text( ).lo_gov_api->refresh_buffers( ).
ENDTRY.TRY .lo_gov_api->validate_crequest( ).lo_gov_api->get_cr_validation_result(IMPORTINGet_validation_results = data(lt_messages)).
CATCH cx_usmd_gov_api_core_error INTO lo_core_error.lv_message = lo_core_error->get_text( ).lo_gov_api->refresh_buffers( ).
CATCH cx_usmd_conv_som_gov_api INTO lo_som_error .lv_message = lo_som_error->get_text( ).lo_gov_api->refresh_buffers( ).
ENDTRY.LOOP AT lt_messages INTO data(ls_error_message) WHERE msgty CA 'AEX'.EXIT.
ENDLOOP.
IF ls_error_message IS NOT INITIAL.lo_gov_api->refresh_buffers( ).RETURN.
ENDIF.TRY.
" lo_gov_api->set_action( '03' )."optionalo_gov_api->save( ).
CATCH cx_usmd_gov_api_core_error INTO lo_core_error.lv_message = lo_core_error->get_text( ).lo_gov_api->refresh_buffers( ).
CATCH cx_usmd_gov_api INTO lo_gov_api_error .lv_message = lo_gov_api_error->get_text( ).lo_gov_api->refresh_buffers( ).
ENDTRY.TRY ..lo_gov_api->dequeue_entity(it_entity_keys = lt_entity_key).lo_gov_api->dequeue_crequest( ).CATCH cx_usmd_gov_api INTO lo_gov_api_error.lv_message = lo_gov_api_error->get_text( ).lo_gov_api->refresh_buffers( ).
ENDTRY.COMMIT WORK AND WAIT.lo_workflow->start_crequest_workflow( id_crequest = lv_crequest ).lt_messages = lo_gov_api->get_messages( ).
LOOP AT lt_messages INTO ls_error_message WHERE msgty CA 'AEX'.EXIT.
ENDLOOP.lo_gov_api->refresh_buffers( ).
MDG convenience API示例代码
参考自
/
DATA:lr_key_str TYPE REF TO DATA,
lr_key_tab TYPE REF TO DATA,
lr_data_str TYPE REF TO DATA,
lr_data_tab TYPE REF TO DATA,
lt_entity_key TYPE usmd_gov_api_ts_ent_tabl,
ls_entity_key TYPE usmd_gov_api_s_ent_tabl,
ls_entity TYPE usmd_gov_api_s_ent_tabl,
lt_entity TYPE usmd_gov_api_ts_ent_tabl,
lt_entity_data TYPE usmd_gov_api_ts_ent_data,
ls_entity_data TYPE usmd_gov_api_s_ent_data.TRY.DATA(lo_gov_api) = cl_usmd_conv_som_gov_api=>get_instance( 'YP' ).
CATCH cx_usmd_conv_som_gov_api INTO DATA(lo_som_error).data(lv_message) = lo_som_error->get_text( ).lo_gov_api->refresh_buffers( ).
CATCH cx_usmd_app_context_cons_error INTO DATA(lo_context_error).lv_message = lo_context_error->get_text( ).lo_gov_api->refresh_buffers( ).
CATCH cx_usmd_gov_api INTO DATA(lo_gov_api_error).lv_message = lo_context_error->get_text( ).lo_gov_api->refresh_buffers( ).
ENDTRY.data(lo_workflow) = cl_usmd_wf_service=>get_instance( ).TRY.
lo_gov_api->get_entity_structure(
EXPORTINGiv_entity_name = 'SITE'iv_struct_type = cl_usmd_conv_som_gov_api=>gc_struct_key
IMPORTINGer_structure = lr_key_strer_table = lr_key_tab).lo_gov_api->get_entity_structure(
EXPORTINGiv_entity_name = 'SITE'iv_struct_type = cl_usmd_conv_som_gov_api=>gc_struct_key_attr
IMPORTINGer_structure = lr_data_strer_table = lr_data_tab).CATCH cx_usmd_gov_api INTO lo_gov_api_error.lv_message = lo_gov_api_error->get_text( ).lo_gov_api->refresh_buffers( ).
ENDTRY.FIELD-symbols:
<ls_key> TYPE ANY,
<lt_key> TYPE SORTED TABLE,
<ls_data> TYPE ANY,
<lt_data> TYPE SORTED TABLE.ASSIGN lr_key_str->* TO <ls_key>.
ASSIGN lr_key_tab->* TO <lt_key>.
ASSIGN lr_data_str->* TO <ls_data>.
ASSIGN lr_data_tab->* TO <lt_data>.TRY.lo_gov_api->set_environment(EXPORTINGiv_crequest_type = 'YP1C1'iv_create_crequest = abap_true ).data(lv_crequest) = lo_gov_api->get_crequest_id( ).
CATCH cx_usmd_conv_som_gov_api_env INTO DATA(lo_env_error).lv_message = lo_env_error->get_text( ).lo_gov_api->refresh_buffers( ).
ENDTRY.TRY .lo_gov_api->set_crequest_attributes(iv_crequest_text = 'test from se38:YPWK_UPDATE_YP').
CATCH cx_usmd_gov_api_core_error INTO DATA(lo_core_error).lv_message = lo_core_error->get_text( ).lo_gov_api->refresh_buffers( ).
CATCH cx_usmd_gov_api INTO lo_gov_api_error.lv_message = lo_gov_api_error->get_text( ).lo_gov_api->refresh_buffers( ).
ENDTRY.CLEAR <ls_key>.
CLEAR ls_entity_key.
ASSIGN COMPONENT 'SITE' of STRUCTURE <ls_key> to FIELD-SYMBOL(<fs_key>).
<fs_key> = '2'.
APPEND <ls_key> TO <lt_key>.ls_entity_key-entity = 'SITE'.
ls_entity_key-tabl = lr_key_tab.
APPEND ls_entity_key TO lt_entity_key.TRY.lo_gov_api->enqueue_entity(it_entity_keys = lt_entity_key).CATCH cx_usmd_gov_api_core_error INTO lo_core_error.lv_message = lo_core_error->get_text( ).lo_gov_api->refresh_buffers( ).
CATCH cx_usmd_gov_api_entity_lock INTO DATA(lo_lock_error).lv_message = lo_lock_error->get_text( ).lo_gov_api->refresh_buffers( ).
CATCH cx_usmd_gov_api INTO lo_gov_api_error.lv_message = lo_gov_api_error->get_text( ).lo_gov_api->refresh_buffers( ).
ENDTRY.CLEAR lt_entity_data.CLEAR ls_entity_data.
CLEAR <ls_data>.
data:ls_data type YYP_S_YP_PP_SITE.ls_data-site = '2'.
ls_data-name = 'test 2'.
MOVE-corresponding:ls_data TO <ls_data>.
APPEND <ls_data> TO <lt_data>.
ls_entity_data-entity = 'SITE'.
ls_entity_data-entity_data = lr_data_tab.
APPEND ls_entity_data TO lt_entity_data.TRY.lo_gov_api->write_entity_data(it_entity_data = lt_entity_data).
CATCH cx_usmd_gov_api_core_error INTO lo_core_error.lv_message = lo_core_error->get_text( ).lo_gov_api->refresh_buffers( ).
CATCH cx_usmd_gov_api_entity_write INTO DATA(lo_write_error).lv_message = lo_write_error->get_text( ).lo_gov_api->refresh_buffers( ).
CATCH cx_usmd_gov_api INTO lo_gov_api_error.lv_message = lo_gov_api_error->get_text( ).lo_gov_api->refresh_buffers( ).
ENDTRY.TRY .lo_gov_api->validate_crequest( ).lo_gov_api->get_cr_validation_result(IMPORTINGet_validation_results = data(lt_messages)).
CATCH cx_usmd_gov_api_core_error INTO lo_core_error.lv_message = lo_core_error->get_text( ).lo_gov_api->refresh_buffers( ).
CATCH cx_usmd_conv_som_gov_api INTO lo_som_error .lv_message = lo_som_error->get_text( ).lo_gov_api->refresh_buffers( ).
ENDTRY.LOOP AT lt_messages INTO data(ls_error_message) WHERE msgty CA 'AEX'.EXIT.
ENDLOOP.
IF ls_error_message IS NOT INITIAL.lo_gov_api->refresh_buffers( ).RETURN.
ENDIF.TRY.
" lo_gov_api->set_action( '03' )."optionalo_gov_api->save( ).
CATCH cx_usmd_gov_api_core_error INTO lo_core_error.lv_message = lo_core_error->get_text( ).lo_gov_api->refresh_buffers( ).
CATCH cx_usmd_gov_api INTO lo_gov_api_error .lv_message = lo_gov_api_error->get_text( ).lo_gov_api->refresh_buffers( ).
ENDTRY.TRY ..lo_gov_api->dequeue_entity(it_entity_keys = lt_entity_key).lo_gov_api->dequeue_crequest( ).CATCH cx_usmd_gov_api INTO lo_gov_api_error.lv_message = lo_gov_api_error->get_text( ).lo_gov_api->refresh_buffers( ).
ENDTRY.COMMIT WORK AND WAIT.lo_workflow->start_crequest_workflow( id_crequest = lv_crequest ).lt_messages = lo_gov_api->get_messages( ).
LOOP AT lt_messages INTO ls_error_message WHERE msgty CA 'AEX'.EXIT.
ENDLOOP.lo_gov_api->refresh_buffers( ).
发布评论