mirror of
https://github.com/abapGit/abapGit.git
synced 2025-04-30 20:03:20 +08:00
Consolidate READ/UPDATE_PROGDIR
calls (#6464)
This commit is contained in:
parent
4ca6c4a4ec
commit
152ae1d59c
|
@ -13,15 +13,14 @@ CLASS zcl_abapgit_sap_report DEFINITION
|
|||
METHODS get_language_version
|
||||
IMPORTING
|
||||
iv_package TYPE devclass
|
||||
iv_version TYPE zif_abapgit_sap_report=>ty_abap_language_version
|
||||
RETURNING
|
||||
VALUE(rv_version) TYPE zif_abapgit_sap_report=>ty_abap_language_version.
|
||||
VALUE(rv_version) TYPE zif_abapgit_aff_types_v1=>ty_abap_language_version.
|
||||
|
||||
METHODS authorization_check
|
||||
IMPORTING
|
||||
iv_mode TYPE csequence
|
||||
is_item TYPE zif_abapgit_definitions=>ty_item
|
||||
iv_version TYPE zif_abapgit_sap_report=>ty_abap_language_version OPTIONAL
|
||||
iv_version TYPE zif_abapgit_aff_types_v1=>ty_abap_language_version OPTIONAL
|
||||
RAISING
|
||||
zcx_abapgit_exception.
|
||||
|
||||
|
@ -65,16 +64,14 @@ CLASS zcl_abapgit_sap_report IMPLEMENTATION.
|
|||
|
||||
METHOD get_language_version.
|
||||
|
||||
ASSERT iv_version CA ' X25'.
|
||||
|
||||
" TODO: Determine ABAP Language Version
|
||||
" https://github.com/abapGit/abapGit/issues/6154#issuecomment-1503566920)
|
||||
|
||||
" For now, use default for ABAP source code
|
||||
IF zcl_abapgit_factory=>get_environment( )->is_sap_cloud_platform( ) = abap_true.
|
||||
rv_version = '5'. " abap_for_cloud_development
|
||||
rv_version = zif_abapgit_aff_types_v1=>co_abap_language_version_src-cloud_development.
|
||||
ELSE.
|
||||
rv_version = 'X'. " standard_abap
|
||||
rv_version = zif_abapgit_aff_types_v1=>co_abap_language_version_src-standard.
|
||||
ENDIF.
|
||||
|
||||
ENDMETHOD.
|
||||
|
@ -97,46 +94,76 @@ CLASS zcl_abapgit_sap_report IMPLEMENTATION.
|
|||
|
||||
METHOD zif_abapgit_sap_report~insert_report.
|
||||
|
||||
DATA lv_version TYPE zif_abapgit_sap_report=>ty_abap_language_version ##NEEDED.
|
||||
DATA lv_version TYPE zif_abapgit_aff_types_v1=>ty_abap_language_version.
|
||||
DATA lv_obj_name TYPE e071-obj_name.
|
||||
|
||||
ASSERT iv_state CA ' AI'.
|
||||
ASSERT iv_program_type CA ' 1FIJKMST'.
|
||||
|
||||
lv_version = get_language_version(
|
||||
iv_package = iv_package
|
||||
iv_version = iv_version ).
|
||||
lv_version = get_language_version( iv_package ).
|
||||
|
||||
authorization_check(
|
||||
iv_mode = 'MODIFY'
|
||||
is_item = is_item
|
||||
iv_version = lv_version ).
|
||||
|
||||
" TODO: Add `VERSION lv_version` but it's not supported in lower releases
|
||||
IF iv_state IS INITIAL.
|
||||
INSERT REPORT iv_name FROM it_source.
|
||||
"VERSION lv_version.
|
||||
ELSEIF iv_program_type IS INITIAL AND iv_extension_type IS INITIAL.
|
||||
INSERT REPORT iv_name FROM it_source
|
||||
STATE iv_state.
|
||||
"VERSION lv_version.
|
||||
ELSEIF iv_extension_type IS INITIAL.
|
||||
INSERT REPORT iv_name FROM it_source
|
||||
STATE iv_state
|
||||
PROGRAM TYPE iv_program_type.
|
||||
"VERSION lv_version.
|
||||
ELSE.
|
||||
INSERT REPORT iv_name FROM it_source
|
||||
STATE iv_state
|
||||
EXTENSION TYPE iv_extension_type
|
||||
PROGRAM TYPE iv_program_type.
|
||||
"VERSION lv_version.
|
||||
ENDIF.
|
||||
|
||||
IF sy-subrc <> 0.
|
||||
zcx_abapgit_exception=>raise( |Error inserting report { iv_name }| ).
|
||||
ENDIF.
|
||||
|
||||
" In lower releases, INSERT REPORT does not support setting ABAP Language version (VERSION)
|
||||
" Therefore, update the flag directly
|
||||
UPDATE progdir SET uccheck = lv_version WHERE name = iv_name AND state = iv_state.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD zif_abapgit_sap_report~read_progdir.
|
||||
|
||||
DATA ls_sapdir TYPE progdir.
|
||||
|
||||
CALL FUNCTION 'READ_PROGDIR'
|
||||
EXPORTING
|
||||
i_progname = iv_name
|
||||
i_state = iv_state
|
||||
IMPORTING
|
||||
e_progdir = ls_sapdir.
|
||||
|
||||
MOVE-CORRESPONDING ls_sapdir TO rs_progdir.
|
||||
|
||||
CLEAR: rs_progdir-edtx,
|
||||
rs_progdir-cnam,
|
||||
rs_progdir-cdat,
|
||||
rs_progdir-unam,
|
||||
rs_progdir-udat,
|
||||
rs_progdir-levl,
|
||||
rs_progdir-vern,
|
||||
rs_progdir-rmand,
|
||||
rs_progdir-sdate,
|
||||
rs_progdir-stime,
|
||||
rs_progdir-idate,
|
||||
rs_progdir-itime,
|
||||
rs_progdir-varcl,
|
||||
rs_progdir-state.
|
||||
|
||||
" TODO: Clear UCCHECK
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
|
@ -161,6 +188,60 @@ CLASS zcl_abapgit_sap_report IMPLEMENTATION.
|
|||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD zif_abapgit_sap_report~update_progdir.
|
||||
|
||||
DATA ls_progdir_new TYPE progdir.
|
||||
|
||||
CALL FUNCTION 'READ_PROGDIR'
|
||||
EXPORTING
|
||||
i_progname = is_progdir-name
|
||||
i_state = iv_state
|
||||
IMPORTING
|
||||
e_progdir = ls_progdir_new
|
||||
EXCEPTIONS
|
||||
not_exists = 1
|
||||
OTHERS = 2.
|
||||
IF sy-subrc <> 0.
|
||||
zcx_abapgit_exception=>raise( 'Error reading program directory' ).
|
||||
ENDIF.
|
||||
|
||||
ls_progdir_new-ldbname = is_progdir-ldbname.
|
||||
ls_progdir_new-dbna = is_progdir-dbna.
|
||||
ls_progdir_new-dbapl = is_progdir-dbapl.
|
||||
ls_progdir_new-rload = is_progdir-rload.
|
||||
ls_progdir_new-fixpt = is_progdir-fixpt.
|
||||
ls_progdir_new-appl = is_progdir-appl.
|
||||
ls_progdir_new-rstat = is_progdir-rstat.
|
||||
ls_progdir_new-uccheck = is_progdir-uccheck. " TODO: replace with get_language_version()
|
||||
ls_progdir_new-sqlx = is_progdir-sqlx.
|
||||
ls_progdir_new-clas = is_progdir-clas.
|
||||
ls_progdir_new-secu = is_progdir-secu.
|
||||
|
||||
CALL FUNCTION 'UPDATE_PROGDIR'
|
||||
EXPORTING
|
||||
i_progdir = ls_progdir_new
|
||||
i_progname = ls_progdir_new-name
|
||||
i_state = ls_progdir_new-state
|
||||
EXCEPTIONS
|
||||
not_executed = 1
|
||||
OTHERS = 2.
|
||||
IF sy-subrc <> 0.
|
||||
zcx_abapgit_exception=>raise( 'Error updating program directory' ).
|
||||
ENDIF.
|
||||
|
||||
" Function UPDATE_PROGDIR does not update VARCL, so we do it here
|
||||
SELECT SINGLE * FROM progdir INTO ls_progdir_new
|
||||
WHERE name = ls_progdir_new-name
|
||||
AND state = ls_progdir_new-state.
|
||||
IF sy-subrc = 0 AND is_progdir-varcl <> ls_progdir_new-varcl.
|
||||
UPDATE progdir SET varcl = is_progdir-varcl
|
||||
WHERE name = ls_progdir_new-name
|
||||
AND state = ls_progdir_new-state. "#EC CI_SUBRC
|
||||
ENDIF.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD zif_abapgit_sap_report~update_report.
|
||||
|
||||
DATA lt_new TYPE string_table.
|
||||
|
@ -171,14 +252,13 @@ CLASS zcl_abapgit_sap_report IMPLEMENTATION.
|
|||
|
||||
IF lt_old <> lt_new.
|
||||
zif_abapgit_sap_report~insert_report(
|
||||
iv_name = iv_name
|
||||
it_source = it_source
|
||||
iv_state = iv_state
|
||||
iv_program_type = iv_program_type
|
||||
iv_extension_type = iv_extension_type
|
||||
iv_package = iv_package
|
||||
iv_version = iv_version
|
||||
is_item = is_item ).
|
||||
iv_name = iv_name
|
||||
it_source = it_source
|
||||
iv_state = iv_state
|
||||
iv_program_type = iv_program_type
|
||||
iv_extension_type = iv_extension_type
|
||||
iv_package = iv_package
|
||||
is_item = is_item ).
|
||||
|
||||
rv_updated = abap_true.
|
||||
ELSE.
|
||||
|
|
|
@ -2,7 +2,38 @@ INTERFACE zif_abapgit_sap_report
|
|||
PUBLIC.
|
||||
|
||||
TYPES:
|
||||
ty_abap_language_version TYPE c LENGTH 1.
|
||||
BEGIN OF ty_progdir,
|
||||
name TYPE progdir-name,
|
||||
state TYPE progdir-state,
|
||||
sqlx TYPE progdir-sqlx,
|
||||
edtx TYPE progdir-edtx,
|
||||
varcl TYPE progdir-varcl,
|
||||
dbapl TYPE progdir-dbapl,
|
||||
dbna TYPE progdir-dbna,
|
||||
clas TYPE progdir-clas,
|
||||
type TYPE progdir-type,
|
||||
occurs TYPE progdir-occurs,
|
||||
subc TYPE progdir-subc,
|
||||
appl TYPE progdir-appl,
|
||||
secu TYPE progdir-secu,
|
||||
cnam TYPE progdir-cnam,
|
||||
cdat TYPE progdir-cdat,
|
||||
unam TYPE progdir-unam,
|
||||
udat TYPE progdir-udat,
|
||||
vern TYPE progdir-vern,
|
||||
levl TYPE progdir-levl,
|
||||
rstat TYPE progdir-rstat,
|
||||
rmand TYPE progdir-rmand,
|
||||
rload TYPE progdir-rload,
|
||||
fixpt TYPE progdir-fixpt,
|
||||
sset TYPE progdir-sset,
|
||||
sdate TYPE progdir-sdate,
|
||||
stime TYPE progdir-stime,
|
||||
idate TYPE progdir-idate,
|
||||
itime TYPE progdir-itime,
|
||||
ldbname TYPE progdir-ldbname,
|
||||
uccheck TYPE progdir-uccheck,
|
||||
END OF ty_progdir.
|
||||
|
||||
METHODS read_report
|
||||
IMPORTING
|
||||
|
@ -22,7 +53,6 @@ INTERFACE zif_abapgit_sap_report
|
|||
iv_program_type TYPE c OPTIONAL
|
||||
iv_extension_type TYPE c OPTIONAL
|
||||
iv_package TYPE devclass
|
||||
iv_version TYPE ty_abap_language_version OPTIONAL
|
||||
is_item TYPE zif_abapgit_definitions=>ty_item OPTIONAL
|
||||
RAISING
|
||||
zcx_abapgit_exception.
|
||||
|
@ -35,7 +65,6 @@ INTERFACE zif_abapgit_sap_report
|
|||
iv_program_type TYPE c OPTIONAL
|
||||
iv_extension_type TYPE c OPTIONAL
|
||||
iv_package TYPE devclass
|
||||
iv_version TYPE ty_abap_language_version OPTIONAL
|
||||
is_item TYPE zif_abapgit_definitions=>ty_item OPTIONAL
|
||||
RETURNING
|
||||
VALUE(rv_updated) TYPE abap_bool
|
||||
|
@ -46,9 +75,25 @@ INTERFACE zif_abapgit_sap_report
|
|||
IMPORTING
|
||||
iv_name TYPE syrepid
|
||||
iv_raise_error TYPE abap_bool DEFAULT abap_false
|
||||
iv_version TYPE ty_abap_language_version OPTIONAL
|
||||
is_item TYPE zif_abapgit_definitions=>ty_item OPTIONAL
|
||||
RAISING
|
||||
zcx_abapgit_exception.
|
||||
|
||||
METHODS read_progdir
|
||||
IMPORTING
|
||||
iv_name TYPE syrepid
|
||||
iv_state TYPE r3state DEFAULT 'A'
|
||||
RETURNING
|
||||
VALUE(rs_progdir) TYPE ty_progdir
|
||||
RAISING
|
||||
zcx_abapgit_exception.
|
||||
|
||||
METHODS update_progdir
|
||||
IMPORTING
|
||||
is_progdir TYPE ty_progdir
|
||||
iv_package TYPE devclass
|
||||
iv_state TYPE r3state DEFAULT 'I'
|
||||
RAISING
|
||||
zcx_abapgit_exception.
|
||||
|
||||
ENDINTERFACE.
|
||||
|
|
|
@ -362,7 +362,7 @@ CLASS zcl_abapgit_object_fugr IMPLEMENTATION.
|
|||
METHOD deserialize_includes.
|
||||
|
||||
DATA: lo_xml TYPE REF TO zif_abapgit_xml_input,
|
||||
ls_progdir TYPE ty_progdir,
|
||||
ls_progdir TYPE zif_abapgit_sap_report=>ty_progdir,
|
||||
lt_includes TYPE ty_sobj_name_tt,
|
||||
lt_tpool TYPE textpool_table,
|
||||
lt_tpool_ext TYPE zif_abapgit_definitions=>ty_tpool_tt,
|
||||
|
@ -548,7 +548,7 @@ CLASS zcl_abapgit_object_fugr IMPLEMENTATION.
|
|||
METHOD get_abap_version.
|
||||
|
||||
DATA: lt_includes TYPE ty_sobj_name_tt,
|
||||
ls_progdir TYPE ty_progdir,
|
||||
ls_progdir TYPE zif_abapgit_sap_report=>ty_progdir,
|
||||
lo_xml TYPE REF TO zif_abapgit_xml_input.
|
||||
|
||||
FIELD-SYMBOLS: <lv_include> LIKE LINE OF lt_includes.
|
||||
|
@ -1369,7 +1369,7 @@ CLASS zcl_abapgit_object_fugr IMPLEMENTATION.
|
|||
* function group SUNI
|
||||
|
||||
DATA: lt_functions TYPE ty_function_tt,
|
||||
ls_progdir TYPE ty_progdir,
|
||||
ls_progdir TYPE zif_abapgit_sap_report=>ty_progdir,
|
||||
lv_program_name TYPE syrepid,
|
||||
lt_dynpros TYPE ty_dynpro_tt,
|
||||
ls_cua TYPE ty_cua.
|
||||
|
@ -1388,7 +1388,8 @@ CLASS zcl_abapgit_object_fugr IMPLEMENTATION.
|
|||
serialize_includes( ).
|
||||
|
||||
lv_program_name = main_name( ).
|
||||
ls_progdir = read_progdir( lv_program_name ).
|
||||
|
||||
ls_progdir = zcl_abapgit_factory=>get_sap_report( )->read_progdir( lv_program_name ).
|
||||
|
||||
IF mo_i18n_params->is_lxe_applicable( ) = abap_false.
|
||||
serialize_texts(
|
||||
|
|
|
@ -17,7 +17,7 @@ CLASS zcl_abapgit_object_prog DEFINITION PUBLIC INHERITING FROM zcl_abapgit_obje
|
|||
|
||||
METHODS deserialize_with_ext
|
||||
IMPORTING
|
||||
!is_progdir TYPE ty_progdir
|
||||
!is_progdir TYPE zif_abapgit_sap_report=>ty_progdir
|
||||
!it_source TYPE abaptxt255_tab
|
||||
!iv_package TYPE devclass
|
||||
RAISING
|
||||
|
@ -41,7 +41,7 @@ ENDCLASS.
|
|||
|
||||
|
||||
|
||||
CLASS ZCL_ABAPGIT_OBJECT_PROG IMPLEMENTATION.
|
||||
CLASS zcl_abapgit_object_prog IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD deserialize_texts.
|
||||
|
@ -81,17 +81,10 @@ CLASS ZCL_ABAPGIT_OBJECT_PROG IMPLEMENTATION.
|
|||
iv_program_type = is_progdir-subc
|
||||
iv_extension_type = is_progdir-name+30 ).
|
||||
|
||||
CALL FUNCTION 'UPDATE_PROGDIR'
|
||||
EXPORTING
|
||||
i_progdir = is_progdir
|
||||
i_progname = is_progdir-name
|
||||
i_state = 'I'
|
||||
EXCEPTIONS
|
||||
not_executed = 1
|
||||
OTHERS = 2.
|
||||
IF sy-subrc <> 0.
|
||||
zcx_abapgit_exception=>raise( 'Error updating program directory' ).
|
||||
ENDIF.
|
||||
zcl_abapgit_factory=>get_sap_report( )->update_progdir(
|
||||
is_progdir = is_progdir
|
||||
iv_state = 'I'
|
||||
iv_package = iv_package ).
|
||||
|
||||
zcl_abapgit_objects_activation=>add(
|
||||
iv_type = 'REPS'
|
||||
|
@ -213,7 +206,7 @@ CLASS ZCL_ABAPGIT_OBJECT_PROG IMPLEMENTATION.
|
|||
METHOD zif_abapgit_object~deserialize.
|
||||
|
||||
DATA: lv_program_name TYPE syrepid,
|
||||
ls_progdir TYPE ty_progdir,
|
||||
ls_progdir TYPE zif_abapgit_sap_report=>ty_progdir,
|
||||
lt_tpool TYPE textpool_table,
|
||||
lt_dynpros TYPE ty_dynpro_tt,
|
||||
lt_tpool_ext TYPE zif_abapgit_definitions=>ty_tpool_tt,
|
||||
|
|
|
@ -5,39 +5,6 @@ CLASS zcl_abapgit_objects_program DEFINITION
|
|||
|
||||
PUBLIC SECTION.
|
||||
|
||||
TYPES:
|
||||
BEGIN OF ty_progdir,
|
||||
name TYPE progdir-name,
|
||||
state TYPE progdir-state,
|
||||
sqlx TYPE progdir-sqlx,
|
||||
edtx TYPE progdir-edtx,
|
||||
varcl TYPE progdir-varcl,
|
||||
dbapl TYPE progdir-dbapl,
|
||||
dbna TYPE progdir-dbna,
|
||||
clas TYPE progdir-clas,
|
||||
type TYPE progdir-type,
|
||||
occurs TYPE progdir-occurs,
|
||||
subc TYPE progdir-subc,
|
||||
appl TYPE progdir-appl,
|
||||
secu TYPE progdir-secu,
|
||||
cnam TYPE progdir-cnam,
|
||||
cdat TYPE progdir-cdat,
|
||||
unam TYPE progdir-unam,
|
||||
udat TYPE progdir-udat,
|
||||
vern TYPE progdir-vern,
|
||||
levl TYPE progdir-levl,
|
||||
rstat TYPE progdir-rstat,
|
||||
rmand TYPE progdir-rmand,
|
||||
rload TYPE progdir-rload,
|
||||
fixpt TYPE progdir-fixpt,
|
||||
sset TYPE progdir-sset,
|
||||
sdate TYPE progdir-sdate,
|
||||
stime TYPE progdir-stime,
|
||||
idate TYPE progdir-idate,
|
||||
itime TYPE progdir-itime,
|
||||
ldbname TYPE progdir-ldbname,
|
||||
uccheck TYPE progdir-uccheck,
|
||||
END OF ty_progdir.
|
||||
TYPES:
|
||||
BEGIN OF ty_cua,
|
||||
adm TYPE rsmpe_adm,
|
||||
|
@ -63,14 +30,9 @@ CLASS zcl_abapgit_objects_program DEFINITION
|
|||
!iv_extra TYPE clike OPTIONAL
|
||||
RAISING
|
||||
zcx_abapgit_exception.
|
||||
METHODS read_progdir
|
||||
IMPORTING
|
||||
!iv_program TYPE syrepid
|
||||
RETURNING
|
||||
VALUE(rs_progdir) TYPE ty_progdir.
|
||||
METHODS deserialize_program
|
||||
IMPORTING
|
||||
!is_progdir TYPE ty_progdir
|
||||
!is_progdir TYPE zif_abapgit_sap_report=>ty_progdir
|
||||
!it_source TYPE abaptxt255_tab
|
||||
!it_tpool TYPE textpool_table
|
||||
!iv_package TYPE devclass
|
||||
|
@ -178,7 +140,7 @@ CLASS zcl_abapgit_objects_program DEFINITION
|
|||
VALUE(rv_title) TYPE repti .
|
||||
METHODS insert_program
|
||||
IMPORTING
|
||||
!is_progdir TYPE ty_progdir
|
||||
!is_progdir TYPE zif_abapgit_sap_report=>ty_progdir
|
||||
!it_source TYPE abaptxt255_tab
|
||||
!iv_title TYPE repti
|
||||
!iv_package TYPE devclass
|
||||
|
@ -186,16 +148,11 @@ CLASS zcl_abapgit_objects_program DEFINITION
|
|||
zcx_abapgit_exception .
|
||||
METHODS update_program
|
||||
IMPORTING
|
||||
!is_progdir TYPE ty_progdir
|
||||
!is_progdir TYPE zif_abapgit_sap_report=>ty_progdir
|
||||
!it_source TYPE abaptxt255_tab
|
||||
!iv_title TYPE repti
|
||||
RAISING
|
||||
zcx_abapgit_exception .
|
||||
METHODS update_progdir
|
||||
IMPORTING
|
||||
!is_progdir TYPE ty_progdir
|
||||
RAISING
|
||||
zcx_abapgit_exception .
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
@ -497,7 +454,9 @@ CLASS zcl_abapgit_objects_program IMPLEMENTATION.
|
|||
iv_package = iv_package ).
|
||||
ENDIF.
|
||||
|
||||
update_progdir( is_progdir ).
|
||||
zcl_abapgit_factory=>get_sap_report( )->update_progdir(
|
||||
is_progdir = is_progdir
|
||||
iv_package = iv_package ).
|
||||
|
||||
zcl_abapgit_objects_activation=>add(
|
||||
iv_type = 'REPS'
|
||||
|
@ -671,37 +630,6 @@ CLASS zcl_abapgit_objects_program IMPLEMENTATION.
|
|||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD read_progdir.
|
||||
|
||||
DATA: ls_sapdir TYPE progdir.
|
||||
|
||||
|
||||
CALL FUNCTION 'READ_PROGDIR'
|
||||
EXPORTING
|
||||
i_progname = iv_program
|
||||
i_state = 'A'
|
||||
IMPORTING
|
||||
e_progdir = ls_sapdir.
|
||||
MOVE-CORRESPONDING ls_sapdir TO rs_progdir.
|
||||
|
||||
CLEAR: rs_progdir-edtx,
|
||||
rs_progdir-cnam,
|
||||
rs_progdir-cdat,
|
||||
rs_progdir-unam,
|
||||
rs_progdir-udat,
|
||||
rs_progdir-levl,
|
||||
rs_progdir-vern,
|
||||
rs_progdir-rmand,
|
||||
rs_progdir-sdate,
|
||||
rs_progdir-stime,
|
||||
rs_progdir-idate,
|
||||
rs_progdir-itime,
|
||||
rs_progdir-varcl,
|
||||
rs_progdir-state.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD read_tpool.
|
||||
|
||||
FIELD-SYMBOLS: <ls_tpool_in> LIKE LINE OF it_tpool,
|
||||
|
@ -878,7 +806,7 @@ CLASS zcl_abapgit_objects_program IMPLEMENTATION.
|
|||
|
||||
METHOD serialize_program.
|
||||
|
||||
DATA: ls_progdir TYPE ty_progdir,
|
||||
DATA: ls_progdir TYPE zif_abapgit_sap_report=>ty_progdir,
|
||||
lv_program_name TYPE syrepid,
|
||||
lt_dynpros TYPE ty_dynpro_tt,
|
||||
ls_cua TYPE ty_cua,
|
||||
|
@ -919,7 +847,7 @@ CLASS zcl_abapgit_objects_program IMPLEMENTATION.
|
|||
|
||||
zcl_abapgit_language=>restore_login_language( ).
|
||||
|
||||
ls_progdir = read_progdir( lv_program_name ).
|
||||
ls_progdir = zcl_abapgit_factory=>get_sap_report( )->read_progdir( lv_program_name ).
|
||||
|
||||
IF io_xml IS BOUND.
|
||||
li_xml = io_xml.
|
||||
|
@ -1039,61 +967,6 @@ CLASS zcl_abapgit_objects_program IMPLEMENTATION.
|
|||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD update_progdir.
|
||||
|
||||
DATA ls_progdir_new TYPE progdir.
|
||||
|
||||
CALL FUNCTION 'READ_PROGDIR'
|
||||
EXPORTING
|
||||
i_progname = is_progdir-name
|
||||
i_state = 'I'
|
||||
IMPORTING
|
||||
e_progdir = ls_progdir_new
|
||||
EXCEPTIONS
|
||||
not_exists = 1
|
||||
OTHERS = 2.
|
||||
IF sy-subrc <> 0.
|
||||
zcx_abapgit_exception=>raise( 'Error reading program directory' ).
|
||||
ENDIF.
|
||||
|
||||
ls_progdir_new-ldbname = is_progdir-ldbname.
|
||||
ls_progdir_new-dbna = is_progdir-dbna.
|
||||
ls_progdir_new-dbapl = is_progdir-dbapl.
|
||||
ls_progdir_new-rload = is_progdir-rload.
|
||||
ls_progdir_new-fixpt = is_progdir-fixpt.
|
||||
ls_progdir_new-varcl = is_progdir-varcl.
|
||||
ls_progdir_new-appl = is_progdir-appl.
|
||||
ls_progdir_new-rstat = is_progdir-rstat.
|
||||
ls_progdir_new-sqlx = is_progdir-sqlx.
|
||||
ls_progdir_new-uccheck = is_progdir-uccheck.
|
||||
ls_progdir_new-clas = is_progdir-clas.
|
||||
ls_progdir_new-secu = is_progdir-secu.
|
||||
|
||||
CALL FUNCTION 'UPDATE_PROGDIR'
|
||||
EXPORTING
|
||||
i_progdir = ls_progdir_new
|
||||
i_progname = ls_progdir_new-name
|
||||
i_state = ls_progdir_new-state
|
||||
EXCEPTIONS
|
||||
not_executed = 1
|
||||
OTHERS = 2.
|
||||
IF sy-subrc <> 0.
|
||||
zcx_abapgit_exception=>raise( 'Error updating program directory' ).
|
||||
ENDIF.
|
||||
|
||||
" function UPDATE_PROGDIR does not update VARCL, so we do it here
|
||||
SELECT SINGLE * FROM progdir INTO ls_progdir_new
|
||||
WHERE name = ls_progdir_new-name
|
||||
AND state = ls_progdir_new-state.
|
||||
IF sy-subrc = 0 AND is_progdir-varcl <> ls_progdir_new-varcl.
|
||||
UPDATE progdir SET varcl = is_progdir-varcl
|
||||
WHERE name = ls_progdir_new-name
|
||||
AND state = ls_progdir_new-state. "#EC CI_SUBRC
|
||||
ENDIF.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD update_program.
|
||||
|
||||
zcl_abapgit_language=>set_current_language( mv_language ).
|
||||
|
|
|
@ -1,22 +1,26 @@
|
|||
CLASS zcl_abapgit_abap_language_vers DEFINITION
|
||||
PUBLIC
|
||||
FINAL
|
||||
CREATE PUBLIC .
|
||||
CREATE PUBLIC.
|
||||
|
||||
PUBLIC SECTION.
|
||||
|
||||
CONSTANTS c_feature_flag TYPE string VALUE 'ALAV'.
|
||||
|
||||
METHODS get_abap_language_vers_by_objt
|
||||
IMPORTING
|
||||
!iv_object_type TYPE trobjtype
|
||||
!iv_package TYPE devclass
|
||||
RETURNING
|
||||
VALUE(rv_allowed_abap_langu_version) TYPE zif_abapgit_aff_types_v1=>ty_abap_language_version .
|
||||
VALUE(rv_allowed_abap_langu_version) TYPE zif_abapgit_aff_types_v1=>ty_abap_language_version.
|
||||
|
||||
METHODS is_import_allowed
|
||||
IMPORTING
|
||||
!io_repo TYPE REF TO zif_abapgit_repo
|
||||
!iv_package TYPE devclass
|
||||
RETURNING
|
||||
VALUE(rv_allowed) TYPE abap_bool .
|
||||
VALUE(rv_allowed) TYPE abap_bool.
|
||||
|
||||
PROTECTED SECTION.
|
||||
PRIVATE SECTION.
|
||||
|
||||
|
@ -24,12 +28,14 @@ CLASS zcl_abapgit_abap_language_vers DEFINITION
|
|||
IMPORTING
|
||||
!iv_package TYPE devclass
|
||||
RETURNING
|
||||
VALUE(rv_abap_language_version) TYPE string .
|
||||
VALUE(rv_abap_language_version) TYPE string.
|
||||
|
||||
METHODS get_abap_language_vers_by_repo
|
||||
IMPORTING
|
||||
!io_repo TYPE REF TO zif_abapgit_repo
|
||||
RETURNING
|
||||
VALUE(rv_abap_language_version) TYPE string .
|
||||
VALUE(rv_abap_language_version) TYPE string.
|
||||
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
@ -70,6 +76,7 @@ CLASS zcl_abapgit_abap_language_vers IMPLEMENTATION.
|
|||
CATCH cx_root.
|
||||
rv_abap_language_version = zif_abapgit_dot_abapgit=>c_abap_language_version-undefined.
|
||||
ENDTRY.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user