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:
|
||||
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
|
||||
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
|
||||
RAISING
|
||||
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
|
||||
RETURNING
|
||||
VALUE(rv_is_functions_group_locked) TYPE abap_bool
|
||||
|
@ -146,36 +139,6 @@ ENDCLASS.
|
|||
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.
|
||||
|
||||
* 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.
|
||||
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.
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user