mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-01 12:20:51 +08:00
FUGR serialization, performance (#3761)
Instead of calling function module FUNCTION_IMPORT_DOKU, replace with a SELECT SINGLE in buffered table closes #3753
This commit is contained in:
parent
4ec4760a87
commit
8e7eea457a
|
@ -37,7 +37,7 @@ CLASS zcl_abapgit_object_fugr DEFINITION PUBLIC INHERITING FROM zcl_abapgit_obje
|
||||||
TYPES:
|
TYPES:
|
||||||
tt_tpool_i18n TYPE STANDARD TABLE OF ty_tpool_i18n .
|
tt_tpool_i18n TYPE STANDARD TABLE OF ty_tpool_i18n .
|
||||||
|
|
||||||
DATA: mt_includes_cache TYPE ty_sobj_name_tt.
|
DATA mt_includes_cache TYPE ty_sobj_name_tt .
|
||||||
|
|
||||||
METHODS check_rfc_parameters
|
METHODS check_rfc_parameters
|
||||||
IMPORTING
|
IMPORTING
|
||||||
|
@ -94,13 +94,6 @@ CLASS zcl_abapgit_object_fugr DEFINITION PUBLIC INHERITING FROM zcl_abapgit_obje
|
||||||
!ii_log TYPE REF TO zif_abapgit_log
|
!ii_log TYPE REF TO zif_abapgit_log
|
||||||
RAISING
|
RAISING
|
||||||
zcx_abapgit_exception .
|
zcx_abapgit_exception .
|
||||||
METHODS are_exceptions_class_based
|
|
||||||
IMPORTING
|
|
||||||
!iv_function_name TYPE rs38l_fnam
|
|
||||||
RETURNING
|
|
||||||
VALUE(rv_return) TYPE abap_bool
|
|
||||||
RAISING
|
|
||||||
zcx_abapgit_exception .
|
|
||||||
METHODS is_function_group_locked
|
METHODS is_function_group_locked
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(rv_is_functions_group_locked) TYPE abap_bool
|
VALUE(rv_is_functions_group_locked) TYPE abap_bool
|
||||||
|
@ -146,36 +139,6 @@ ENDCLASS.
|
||||||
CLASS ZCL_ABAPGIT_OBJECT_FUGR IMPLEMENTATION.
|
CLASS ZCL_ABAPGIT_OBJECT_FUGR IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
METHOD are_exceptions_class_based.
|
|
||||||
DATA:
|
|
||||||
lt_dokumentation TYPE TABLE OF funct,
|
|
||||||
lt_exception_list TYPE TABLE OF rsexc,
|
|
||||||
lt_export_parameter TYPE TABLE OF rsexp,
|
|
||||||
lt_import_parameter TYPE TABLE OF rsimp,
|
|
||||||
lt_tables_parameter TYPE TABLE OF rstbl.
|
|
||||||
|
|
||||||
CALL FUNCTION 'FUNCTION_IMPORT_DOKU'
|
|
||||||
EXPORTING
|
|
||||||
funcname = iv_function_name
|
|
||||||
IMPORTING
|
|
||||||
exception_class = rv_return
|
|
||||||
TABLES
|
|
||||||
dokumentation = lt_dokumentation
|
|
||||||
exception_list = lt_exception_list
|
|
||||||
export_parameter = lt_export_parameter
|
|
||||||
import_parameter = lt_import_parameter
|
|
||||||
tables_parameter = lt_tables_parameter
|
|
||||||
EXCEPTIONS
|
|
||||||
error_message = 1
|
|
||||||
function_not_found = 2
|
|
||||||
invalid_name = 3
|
|
||||||
OTHERS = 4.
|
|
||||||
IF sy-subrc <> 0.
|
|
||||||
zcx_abapgit_exception=>raise( 'Error from FUNCTION_IMPORT_DOKU' ).
|
|
||||||
ENDIF.
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
|
|
||||||
METHOD check_rfc_parameters.
|
METHOD check_rfc_parameters.
|
||||||
|
|
||||||
* function module RS_FUNCTIONMODULE_INSERT does the same deep down, but the right error
|
* function module RS_FUNCTIONMODULE_INSERT does the same deep down, but the right error
|
||||||
|
@ -845,7 +808,8 @@ CLASS ZCL_ABAPGIT_OBJECT_FUGR IMPLEMENTATION.
|
||||||
CLEAR <ls_documentation>-index.
|
CLEAR <ls_documentation>-index.
|
||||||
ENDLOOP.
|
ENDLOOP.
|
||||||
|
|
||||||
ls_function-exception_classes = are_exceptions_class_based( <ls_func>-funcname ).
|
SELECT SINGLE exten3 INTO ls_function-exception_classes FROM enlfdir
|
||||||
|
WHERE funcname = <ls_func>-funcname. "#EC CI_SUBRC
|
||||||
|
|
||||||
APPEND ls_function TO rt_functions.
|
APPEND ls_function TO rt_functions.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user