fixes for 740, MSAG + INTF + PROG

This commit is contained in:
Lars Hvam 2014-12-06 13:36:15 +00:00
parent c97a980ee7
commit 7c5359e3c1

View File

@ -3,7 +3,7 @@ REPORT zabapgit.
* See https://github.com/larshp/abapGit/
CONSTANTS: gc_xml_version TYPE string VALUE 'v0.2-alpha', "#EC NOTEXT
gc_abap_version TYPE string VALUE 'v0.5'. "#EC NOTEXT
gc_abap_version TYPE string VALUE 'v0.6'. "#EC NOTEXT
********************************************************************************
* The MIT License (MIT)
@ -162,19 +162,19 @@ CLASS lcl_user DEFINITION FINAL.
CLASS-METHODS: set_username IMPORTING iv_username TYPE string
RAISING lcx_exception.
CLASS-METHODS: get_username RETURNING value(rv_username) TYPE string
CLASS-METHODS: get_username RETURNING VALUE(rv_username) TYPE string
RAISING lcx_exception.
CLASS-METHODS: set_email IMPORTING iv_email TYPE string
RAISING lcx_exception.
CLASS-METHODS: get_email RETURNING value(rv_email) TYPE string
CLASS-METHODS: get_email RETURNING VALUE(rv_email) TYPE string
RAISING lcx_exception.
PRIVATE SECTION.
CLASS-METHODS: read IMPORTING iv_name TYPE tdobname
RETURNING value(rv_value) TYPE string
RETURNING VALUE(rv_value) TYPE string
RAISING lcx_exception.
CLASS-METHODS: save IMPORTING iv_name TYPE tdobname
@ -329,10 +329,12 @@ CLASS lcl_xml DEFINITION FINAL.
* METHODS element_read
METHODS structure_add IMPORTING ig_structure TYPE data
iv_name TYPE string OPTIONAL
ii_root TYPE REF TO if_ixml_element OPTIONAL
RAISING lcx_exception.
METHODS structure_read IMPORTING ii_root TYPE REF TO if_ixml_element OPTIONAL
iv_name TYPE string OPTIONAL
CHANGING cg_structure TYPE data
RAISING lcx_exception.
@ -347,17 +349,17 @@ CLASS lcl_xml DEFINITION FINAL.
RAISING lcx_exception.
METHODS xml_render IMPORTING iv_normalize TYPE abap_bool DEFAULT abap_true
RETURNING value(rv_string) TYPE string.
RETURNING VALUE(rv_string) TYPE string.
METHODS xml_element IMPORTING iv_name TYPE string
RETURNING value(ri_element) TYPE REF TO if_ixml_element.
RETURNING VALUE(ri_element) TYPE REF TO if_ixml_element.
METHODS xml_add IMPORTING ii_root TYPE REF TO if_ixml_element OPTIONAL
ii_element TYPE REF TO if_ixml_element.
METHODS xml_find IMPORTING ii_root TYPE REF TO if_ixml_element OPTIONAL
iv_name TYPE string
RETURNING value(ri_element) TYPE REF TO if_ixml_element.
RETURNING VALUE(ri_element) TYPE REF TO if_ixml_element.
PRIVATE SECTION.
@ -427,10 +429,14 @@ CLASS lcl_xml IMPLEMENTATION.
CLEAR cg_structure.
lo_descr_ref ?= cl_abap_typedescr=>describe_by_data( cg_structure ).
IF iv_name IS INITIAL.
lv_name = lo_descr_ref->get_relative_name( ).
IF lv_name IS INITIAL.
_raise 'no name'.
ENDIF.
ELSE.
lv_name = iv_name.
ENDIF.
li_struct = xml_find( ii_root = ii_root
iv_name = lv_name ).
@ -658,10 +664,14 @@ CLASS lcl_xml IMPLEMENTATION.
lo_descr ?= cl_abap_typedescr=>describe_by_data( ig_structure ).
IF iv_name IS INITIAL.
lv_name = lo_descr->get_relative_name( ).
IF lv_name IS INITIAL.
_raise 'no name'.
ENDIF.
ELSE.
lv_name = iv_name.
ENDIF.
li_structure = mi_xml_doc->create_element( lv_name ).
LOOP AT lo_descr->components ASSIGNING <ls_comp>.
@ -723,9 +733,9 @@ CLASS lcl_debug DEFINITION FINAL.
CLASS-METHODS: message IMPORTING iv_message TYPE string.
CLASS-METHODS: get_html RETURNING value(rv_html) TYPE string.
CLASS-METHODS: get_html RETURNING VALUE(rv_html) TYPE string.
CLASS-METHODS: get_debug RETURNING value(rv_debug) TYPE abap_bool.
CLASS-METHODS: get_debug RETURNING VALUE(rv_debug) TYPE abap_bool.
CLASS-METHODS: clear.
@ -827,7 +837,7 @@ ENDCLASS. "lcl_debug IMPLEMENTATION
CLASS lcl_time DEFINITION FINAL.
PUBLIC SECTION.
CLASS-METHODS get RETURNING value(rv_time) TYPE t_unixtime
CLASS-METHODS get RETURNING VALUE(rv_time) TYPE t_unixtime
RAISING lcx_exception.
PRIVATE SECTION.
@ -899,16 +909,16 @@ CLASS lcl_url DEFINITION FINAL.
PUBLIC SECTION.
CLASS-METHODS: host
IMPORTING iv_repo TYPE string
RETURNING value(rv_host) TYPE string
RETURNING VALUE(rv_host) TYPE string
RAISING lcx_exception.
CLASS-METHODS: name
IMPORTING iv_repo TYPE string
RETURNING value(rv_name) TYPE string
RETURNING VALUE(rv_name) TYPE string
RAISING lcx_exception.
CLASS-METHODS: path_name IMPORTING iv_repo TYPE string
RETURNING value(rv_path_name) TYPE string
RETURNING VALUE(rv_path_name) TYPE string
RAISING lcx_exception.
PRIVATE SECTION.
@ -971,24 +981,24 @@ CLASS lcl_convert DEFINITION FINAL.
PUBLIC SECTION.
CLASS-METHODS bitbyte_to_int IMPORTING iv_bits TYPE clike
RETURNING value(rv_int) TYPE i.
RETURNING VALUE(rv_int) TYPE i.
CLASS-METHODS x_to_bitbyte IMPORTING iv_x TYPE x
RETURNING value(rv_bitbyte) TYPE t_bitbyte.
RETURNING VALUE(rv_bitbyte) TYPE t_bitbyte.
CLASS-METHODS string_to_xstring_utf8 IMPORTING iv_string TYPE string
RETURNING value(rv_xstring) TYPE xstring.
RETURNING VALUE(rv_xstring) TYPE xstring.
CLASS-METHODS xstring_to_string_utf8 IMPORTING iv_data TYPE xstring
RETURNING value(rv_string) TYPE string.
RETURNING VALUE(rv_string) TYPE string.
CLASS-METHODS xstring_to_int IMPORTING iv_xstring TYPE xstring
RETURNING value(rv_i) TYPE i
RETURNING VALUE(rv_i) TYPE i
RAISING lcx_exception.
CLASS-METHODS int_to_xstring IMPORTING iv_i TYPE i
iv_length TYPE i
RETURNING value(rv_xstring) TYPE xstring.
RETURNING VALUE(rv_xstring) TYPE xstring.
ENDCLASS. "lcl_convert DEFINITION
@ -1112,7 +1122,7 @@ CLASS lcl_diff DEFINITION FINAL.
* assumes data is UTF8 based with newlines
CLASS-METHODS diff IMPORTING iv_local TYPE xstring
iv_remote TYPE xstring
RETURNING value(rt_diffs) TYPE tt_diffs.
RETURNING VALUE(rt_diffs) TYPE tt_diffs.
ENDCLASS. "lcl_diff DEFINITION
@ -1183,12 +1193,12 @@ CLASS lcl_serialize_common DEFINITION ABSTRACT.
CLASS-METHODS: xml_to_file IMPORTING is_item TYPE st_item
io_xml TYPE REF TO lcl_xml
iv_normalize TYPE abap_bool DEFAULT abap_true
RETURNING value(rs_file) TYPE st_file
RETURNING VALUE(rs_file) TYPE st_file
RAISING lcx_exception.
CLASS-METHODS: read_xml IMPORTING is_item TYPE st_item
it_files TYPE tt_files
RETURNING value(ro_xml) TYPE REF TO lcl_xml
RETURNING VALUE(ro_xml) TYPE REF TO lcl_xml
RAISING lcx_exception.
CLASS-METHODS: read_abap IMPORTING is_item TYPE st_item
@ -1201,7 +1211,7 @@ CLASS lcl_serialize_common DEFINITION ABSTRACT.
CLASS-METHODS: abap_to_file IMPORTING is_item TYPE st_item
iv_extra TYPE string OPTIONAL
it_abap TYPE STANDARD TABLE
RETURNING value(rs_file) TYPE st_file
RETURNING VALUE(rs_file) TYPE st_file
RAISING lcx_exception.
CLASS-METHODS: activation_add IMPORTING iv_type TYPE trobjtype
@ -1215,7 +1225,7 @@ CLASS lcl_serialize_common DEFINITION ABSTRACT.
CLASS-METHODS: filename IMPORTING is_item TYPE st_item
iv_extra TYPE string OPTIONAL
iv_ext TYPE string
RETURNING value(rv_filename) TYPE string.
RETURNING VALUE(rv_filename) TYPE string.
ENDCLASS. "lcl_serialize_common DEFINITION
@ -1288,20 +1298,27 @@ CLASS lcl_serialize_common IMPLEMENTATION.
* todo, refactoring
CASE iv_type.
WHEN 'CLAS' OR 'INTF'.
WHEN 'CLAS'.
CALL FUNCTION 'RS_INACTIVE_OBJECTS_IN_OBJECT'
EXPORTING
obj_name = lv_obj_name
object = iv_type
TABLES
inactive_objects = lt_objects.
inactive_objects = lt_objects
EXCEPTIONS
object_not_found = 1
OTHERS = 2.
IF sy-subrc <> 0.
_raise 'Error from RS_INACTIVE_OBJECTS_IN_OBJECT'.
ENDIF.
APPEND LINES OF lt_objects TO lcl_serialize_common=>gt_programs.
WHEN 'DOMA' OR 'DTEL' OR 'TABL' OR 'INDX' OR 'TTYP' OR 'VIEW' OR 'SHLP' OR 'ENQU'.
* todo also insert_into_working_area?
APPEND INITIAL LINE TO lcl_serialize_common=>gt_ddic ASSIGNING <ls_object>.
<ls_object>-object = iv_type.
<ls_object>-obj_name = lv_obj_name.
WHEN 'REPS' OR 'DYNP' OR 'CUAD' OR 'REPT'.
WHEN 'REPS' OR 'DYNP' OR 'CUAD' OR 'REPT' OR 'INTF'.
* these seem to go into the workarea automatically
APPEND INITIAL LINE TO lcl_serialize_common=>gt_programs ASSIGNING <ls_object>.
<ls_object>-object = iv_type.
@ -1409,7 +1426,7 @@ CLASS lcl_serialize_doma DEFINITION INHERITING FROM lcl_serialize_common FINAL.
PUBLIC SECTION.
CLASS-METHODS: serialize IMPORTING is_item TYPE st_item
RETURNING value(rt_files) TYPE tt_files
RETURNING VALUE(rt_files) TYPE tt_files
RAISING lcx_exception.
CLASS-METHODS: deserialize IMPORTING is_item TYPE st_item
@ -1552,7 +1569,7 @@ CLASS lcl_serialize_dtel DEFINITION INHERITING FROM lcl_serialize_common FINAL.
PUBLIC SECTION.
CLASS-METHODS: serialize IMPORTING is_item TYPE st_item
RETURNING value(rt_files) TYPE tt_files
RETURNING VALUE(rt_files) TYPE tt_files
RAISING lcx_exception.
CLASS-METHODS: deserialize IMPORTING is_item TYPE st_item
@ -1685,7 +1702,7 @@ CLASS lcl_serialize_clas DEFINITION INHERITING FROM lcl_serialize_common FINAL.
PUBLIC SECTION.
CLASS-METHODS: serialize IMPORTING is_item TYPE st_item
RETURNING value(rt_files) TYPE tt_files
RETURNING VALUE(rt_files) TYPE tt_files
RAISING lcx_exception.
CLASS-METHODS: deserialize IMPORTING is_item TYPE st_item
@ -1710,30 +1727,30 @@ CLASS lcl_serialize_clas DEFINITION INHERITING FROM lcl_serialize_common FINAL.
RAISING lcx_exception.
CLASS-METHODS exists IMPORTING is_clskey TYPE seoclskey
RETURNING value(rv_exists) TYPE abap_bool.
RETURNING VALUE(rv_exists) TYPE abap_bool.
CLASS-METHODS serialize_abap IMPORTING is_clskey TYPE seoclskey
RETURNING value(rt_source) TYPE seop_source_string
RETURNING VALUE(rt_source) TYPE seop_source_string
RAISING lcx_exception.
CLASS-METHODS serialize_locals_imp IMPORTING is_clskey TYPE seoclskey
RETURNING value(rt_source) TYPE seop_source_string
RETURNING VALUE(rt_source) TYPE seop_source_string
RAISING lcx_exception.
CLASS-METHODS serialize_locals_def IMPORTING is_clskey TYPE seoclskey
RETURNING value(rt_source) TYPE seop_source_string
RETURNING VALUE(rt_source) TYPE seop_source_string
RAISING lcx_exception.
CLASS-METHODS serialize_testclasses IMPORTING is_clskey TYPE seoclskey
RETURNING value(rt_source) TYPE seop_source_string
RETURNING VALUE(rt_source) TYPE seop_source_string
RAISING lcx_exception.
CLASS-METHODS serialize_macros IMPORTING is_clskey TYPE seoclskey
RETURNING value(rt_source) TYPE seop_source_string
RETURNING VALUE(rt_source) TYPE seop_source_string
RAISING lcx_exception.
CLASS-METHODS serialize_xml IMPORTING is_item TYPE st_item
RETURNING value(ro_xml) TYPE REF TO lcl_xml
RETURNING VALUE(ro_xml) TYPE REF TO lcl_xml
RAISING lcx_exception.
CLASS-METHODS remove_signatures CHANGING ct_source TYPE seop_source_string.
@ -2341,7 +2358,7 @@ CLASS lcl_serialize_ssfo DEFINITION INHERITING FROM lcl_serialize_common FINAL.
PUBLIC SECTION.
CLASS-METHODS: serialize IMPORTING is_item TYPE st_item
RETURNING value(rt_files) TYPE tt_files
RETURNING VALUE(rt_files) TYPE tt_files
RAISING lcx_exception.
CLASS-METHODS: deserialize IMPORTING is_item TYPE st_item
@ -2527,7 +2544,7 @@ CLASS lcl_serialize_tabl DEFINITION INHERITING FROM lcl_serialize_common FINAL.
PUBLIC SECTION.
CLASS-METHODS: serialize IMPORTING is_item TYPE st_item
RETURNING value(rt_files) TYPE tt_files
RETURNING VALUE(rt_files) TYPE tt_files
RAISING lcx_exception.
CLASS-METHODS: deserialize IMPORTING is_item TYPE st_item
@ -2764,7 +2781,7 @@ CLASS lcl_serialize_enqu DEFINITION INHERITING FROM lcl_serialize_common FINAL.
PUBLIC SECTION.
CLASS-METHODS: serialize IMPORTING is_item TYPE st_item
RETURNING value(rt_files) TYPE tt_files
RETURNING VALUE(rt_files) TYPE tt_files
RAISING lcx_exception.
CLASS-METHODS: deserialize IMPORTING is_item TYPE st_item
@ -2909,7 +2926,7 @@ CLASS lcl_serialize_shlp DEFINITION INHERITING FROM lcl_serialize_common FINAL.
PUBLIC SECTION.
CLASS-METHODS: serialize IMPORTING is_item TYPE st_item
RETURNING value(rt_files) TYPE tt_files
RETURNING VALUE(rt_files) TYPE tt_files
RAISING lcx_exception.
CLASS-METHODS: deserialize IMPORTING is_item TYPE st_item
@ -3064,7 +3081,7 @@ CLASS lcl_serialize_tran DEFINITION INHERITING FROM lcl_serialize_common FINAL.
PUBLIC SECTION.
CLASS-METHODS: serialize IMPORTING is_item TYPE st_item
RETURNING value(rt_files) TYPE tt_files
RETURNING VALUE(rt_files) TYPE tt_files
RAISING lcx_exception.
CLASS-METHODS: deserialize IMPORTING is_item TYPE st_item
@ -3175,12 +3192,12 @@ CLASS lcl_serialize_tran IMPLEMENTATION.
DATA: lv_transaction TYPE tstc-tcode,
lt_tcodes TYPE TABLE OF tstc,
ls_tcode TYPE tstc,
ls_tcode LIKE LINE OF lt_tcodes,
ls_tstct TYPE tstct,
lt_gui_attr TYPE TABLE OF tstcc,
lo_xml TYPE REF TO lcl_xml,
ls_file TYPE st_file,
ls_gui_attr TYPE tstcc.
ls_gui_attr LIKE LINE OF lt_gui_attr.
lv_transaction = is_item-obj_name.
@ -3238,7 +3255,7 @@ CLASS lcl_serialize_msag DEFINITION INHERITING FROM lcl_serialize_common FINAL.
PUBLIC SECTION.
CLASS-METHODS: serialize IMPORTING is_item TYPE st_item
RETURNING value(rt_files) TYPE tt_files
RETURNING VALUE(rt_files) TYPE tt_files
RAISING lcx_exception.
CLASS-METHODS: deserialize IMPORTING is_item TYPE st_item
@ -3258,11 +3275,14 @@ ENDCLASS. "lcl_serialize_msag DEFINITION
CLASS lcl_serialize_msag IMPLEMENTATION.
METHOD delete.
* Function module RS_DELETE_MESSAGE_ID, this doesnt have the
* SUPPRESS_DIALOG parameter on all versions
* See CL_ADT_MESSAGE_CLASS_API=>DELETE however this also doenst exist
* on all versions
CALL FUNCTION 'RS_DELETE_MESSAGE_ID'
EXPORTING
nachrichtenklasse = is_item-obj_name
suppress_dialog = abap_true
EXCEPTIONS
not_executed = 1
not_found = 2
@ -3280,6 +3300,7 @@ CLASS lcl_serialize_msag IMPLEMENTATION.
DATA: lo_xml TYPE REF TO lcl_xml,
ls_t100a TYPE t100a,
ls_t100t TYPE t100t,
ls_t100u TYPE t100u,
lt_t100 TYPE TABLE OF t100.
FIELD-SYMBOLS: <ls_t100> LIKE LINE OF lt_t100.
@ -3307,8 +3328,17 @@ CLASS lcl_serialize_msag IMPLEMENTATION.
LOOP AT lt_t100 ASSIGNING <ls_t100>.
MODIFY t100 FROM <ls_t100>. "#EC *
ASSERT sy-subrc = 0.
CLEAR ls_t100u.
MOVE-CORRESPONDING <ls_t100> TO ls_t100u.
ls_t100u-name = sy-uname.
ls_t100u-datum = sy-datum.
ls_t100u-selfdef = '3'.
MODIFY t100u FROM ls_t100u.
ASSERT sy-subrc = 0.
ENDLOOP.
ls_t100a-masterlang = 'E'.
ls_t100a-lastuser = sy-uname.
ls_t100a-respuser = sy-uname.
ls_t100a-ldate = sy-datum.
@ -3381,7 +3411,7 @@ CLASS lcl_serialize_view DEFINITION INHERITING FROM lcl_serialize_common FINAL.
PUBLIC SECTION.
CLASS-METHODS: serialize IMPORTING is_item TYPE st_item
RETURNING value(rt_files) TYPE tt_files
RETURNING VALUE(rt_files) TYPE tt_files
RAISING lcx_exception.
CLASS-METHODS: deserialize IMPORTING is_item TYPE st_item
@ -3556,7 +3586,7 @@ CLASS lcl_serialize_ttyp DEFINITION INHERITING FROM lcl_serialize_common FINAL.
PUBLIC SECTION.
CLASS-METHODS: serialize IMPORTING is_item TYPE st_item
RETURNING value(rt_files) TYPE tt_files
RETURNING VALUE(rt_files) TYPE tt_files
RAISING lcx_exception.
CLASS-METHODS: deserialize IMPORTING is_item TYPE st_item
@ -3699,7 +3729,7 @@ CLASS lcl_serialize_prog DEFINITION INHERITING FROM lcl_serialize_common FINAL.
PUBLIC SECTION.
CLASS-METHODS: serialize IMPORTING is_item TYPE st_item
RETURNING value(rt_files) TYPE tt_files
RETURNING VALUE(rt_files) TYPE tt_files
RAISING lcx_exception.
CLASS-METHODS: deserialize
@ -3711,6 +3741,39 @@ CLASS lcl_serialize_prog DEFINITION INHERITING FROM lcl_serialize_common FINAL.
RAISING lcx_exception.
PRIVATE 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.
CLASS-METHODS: serialize_dynpros
IMPORTING iv_program_name TYPE programm
io_xml TYPE REF TO lcl_xml
@ -3748,7 +3811,7 @@ CLASS lcl_serialize_prog DEFINITION INHERITING FROM lcl_serialize_common FINAL.
RAISING lcx_exception.
CLASS-METHODS exists IMPORTING iv_obj_name TYPE tadir-obj_name
RETURNING value(rv_exists) TYPE abap_bool.
RETURNING VALUE(rv_exists) TYPE abap_bool.
ENDCLASS. "lcl_serialize_prog DEFINITION
@ -3975,7 +4038,8 @@ CLASS lcl_serialize_prog IMPLEMENTATION.
METHOD serialize.
DATA: ls_progdir TYPE progdir,
DATA: ls_sapdir TYPE progdir,
ls_locdir TYPE ty_progdir,
lv_program_name TYPE programm,
lt_source TYPE TABLE OF abaptxt255,
ls_file LIKE LINE OF rt_files,
@ -4008,23 +4072,25 @@ CLASS lcl_serialize_prog IMPLEMENTATION.
i_progname = lv_program_name
i_state = 'A'
IMPORTING
e_progdir = ls_progdir.
e_progdir = ls_sapdir.
MOVE-CORRESPONDING ls_sapdir TO ls_locdir.
CLEAR: ls_progdir-edtx,
ls_progdir-cnam,
ls_progdir-cdat,
ls_progdir-unam,
ls_progdir-udat,
ls_progdir-vern,
ls_progdir-rmand,
ls_progdir-sdate,
ls_progdir-stime,
ls_progdir-idate,
ls_progdir-itime.
CLEAR: ls_locdir-edtx,
ls_locdir-cnam,
ls_locdir-cdat,
ls_locdir-unam,
ls_locdir-udat,
ls_locdir-vern,
ls_locdir-rmand,
ls_locdir-sdate,
ls_locdir-stime,
ls_locdir-idate,
ls_locdir-itime.
CREATE OBJECT lo_xml.
lo_xml->structure_add( ls_progdir ).
IF ls_progdir-subc = '1'.
lo_xml->structure_add( ig_structure = ls_locdir
iv_name = 'PROGDIR' ).
IF ls_locdir-subc = '1'.
serialize_dynpros( EXPORTING iv_program_name = lv_program_name
io_xml = lo_xml ).
serialize_cua( EXPORTING iv_program_name = lv_program_name
@ -4201,13 +4267,14 @@ CLASS lcl_serialize_prog IMPLEMENTATION.
METHOD deserialize_abap.
DATA: ls_tpool LIKE LINE OF it_tpool,
ls_progdir TYPE progdir,
ls_sapdir TYPE progdir,
ls_locdir TYPE ty_progdir,
lv_title TYPE rglif-title,
ls_progdir_new TYPE progdir.
io_xml->structure_read( CHANGING cg_structure = ls_progdir ).
io_xml->structure_read( EXPORTING iv_name = 'PROGDIR'
CHANGING cg_structure = ls_locdir ).
READ TABLE it_tpool INTO ls_tpool WITH KEY id = 'R'.
lv_title = ls_tpool-entry.
@ -4215,7 +4282,7 @@ CLASS lcl_serialize_prog IMPLEMENTATION.
IF exists( is_item-obj_name ) = abap_true.
CALL FUNCTION 'RPY_PROGRAM_UPDATE'
EXPORTING
program_name = ls_progdir-name
program_name = ls_locdir-name
title_string = lv_title
save_inactive = 'I'
TABLES
@ -4235,10 +4302,10 @@ CLASS lcl_serialize_prog IMPLEMENTATION.
ELSE.
CALL FUNCTION 'RPY_PROGRAM_INSERT'
EXPORTING
application = ls_progdir-appl
authorization_group = ls_progdir-secu
program_name = ls_progdir-name
program_type = ls_progdir-subc
application = ls_locdir-appl
authorization_group = ls_locdir-secu
program_name = ls_locdir-name
program_type = ls_locdir-subc
title_string = lv_title
save_inactive = 'I'
TABLES
@ -4255,7 +4322,7 @@ CLASS lcl_serialize_prog IMPLEMENTATION.
CALL FUNCTION 'READ_PROGDIR'
EXPORTING
i_progname = ls_progdir-name
i_progname = ls_locdir-name
i_state = 'I'
IMPORTING
e_progdir = ls_progdir_new
@ -4266,10 +4333,10 @@ CLASS lcl_serialize_prog IMPLEMENTATION.
_raise 'not found in PROGDIR'.
ENDIF.
ls_progdir_new-ldbname = ls_progdir-ldbname.
ls_progdir_new-dbapl = ls_progdir-dbapl.
ls_progdir_new-rload = ls_progdir-rload.
ls_progdir_new-fixpt = ls_progdir-fixpt.
ls_progdir_new-ldbname = ls_locdir-ldbname.
ls_progdir_new-dbapl = ls_locdir-dbapl.
ls_progdir_new-rload = ls_locdir-rload.
ls_progdir_new-fixpt = ls_locdir-fixpt.
CALL FUNCTION 'UPDATE_PROGDIR'
EXPORTING
@ -4316,11 +4383,11 @@ CLASS lcl_serialize DEFINITION FINAL.
PUBLIC SECTION.
CLASS-METHODS serialize IMPORTING is_item TYPE st_item
RETURNING value(rt_files) TYPE tt_files
RETURNING VALUE(rt_files) TYPE tt_files
RAISING lcx_exception.
CLASS-METHODS status IMPORTING it_files TYPE tt_files
RETURNING value(rt_results) TYPE tt_results
RETURNING VALUE(rt_results) TYPE tt_results
RAISING lcx_exception.
CLASS-METHODS deserialize
@ -4333,12 +4400,12 @@ CLASS lcl_serialize DEFINITION FINAL.
PRIVATE SECTION.
CLASS-METHODS class_name IMPORTING is_item TYPE st_item
RETURNING value(rv_class_name) TYPE string.
RETURNING VALUE(rv_class_name) TYPE string.
CLASS-METHODS compare_files
IMPORTING it_repo TYPE tt_files
is_gen TYPE st_file
RETURNING value(rv_match) TYPE abap_bool
RETURNING VALUE(rv_match) TYPE abap_bool
RAISING lcx_exception.
CLASS-METHODS activate RAISING lcx_exception.
@ -4532,8 +4599,7 @@ CLASS lcl_serialize IMPLEMENTATION.
excecution_error = 1
cancelled = 2
insert_into_corr_error = 3
execution_error = 4
OTHERS = 5.
OTHERS = 4.
IF sy-subrc <> 0.
_raise 'error from RS_WORKING_OBJECTS_ACTIVATE'.
ENDIF.
@ -4551,8 +4617,7 @@ CLASS lcl_serialize IMPLEMENTATION.
excecution_error = 1
cancelled = 2
insert_into_corr_error = 3
execution_error = 4
OTHERS = 5.
OTHERS = 4.
IF sy-subrc <> 0.
_raise 'error from RS_WORKING_OBJECTS_ACTIVATE'.
ENDIF.
@ -4585,15 +4650,15 @@ CLASS lcl_hash DEFINITION FINAL.
PUBLIC SECTION.
CLASS-METHODS adler32 IMPORTING iv_xstring TYPE xstring
RETURNING value(rv_checksum) TYPE t_adler32.
RETURNING VALUE(rv_checksum) TYPE t_adler32.
CLASS-METHODS sha1 IMPORTING iv_type TYPE t_type
iv_data TYPE xstring
RETURNING value(rv_sha1) TYPE t_sha1
RETURNING VALUE(rv_sha1) TYPE t_sha1
RAISING lcx_exception.
CLASS-METHODS sha1_raw IMPORTING iv_data TYPE xstring
RETURNING value(rv_sha1) TYPE t_sha1
RETURNING VALUE(rv_sha1) TYPE t_sha1
RAISING lcx_exception.
ENDCLASS. "lcl_hash DEFINITION
@ -4696,29 +4761,29 @@ CLASS lcl_pack DEFINITION FINAL.
PUBLIC SECTION.
CLASS-METHODS decode IMPORTING iv_data TYPE xstring
RETURNING value(rt_objects) TYPE tt_objects
RETURNING VALUE(rt_objects) TYPE tt_objects
RAISING lcx_exception.
CLASS-METHODS decode_tree IMPORTING iv_data TYPE xstring
RETURNING value(rt_nodes) TYPE tt_nodes
RETURNING VALUE(rt_nodes) TYPE tt_nodes
RAISING lcx_exception.
CLASS-METHODS decode_deltas CHANGING ct_objects TYPE tt_objects
RAISING lcx_exception.
CLASS-METHODS decode_commit IMPORTING iv_data TYPE xstring
RETURNING value(rs_commit) TYPE st_commit
RETURNING VALUE(rs_commit) TYPE st_commit
RAISING lcx_exception.
CLASS-METHODS encode IMPORTING it_objects TYPE tt_objects
RETURNING value(rv_data) TYPE xstring
RETURNING VALUE(rv_data) TYPE xstring
RAISING lcx_exception.
CLASS-METHODS: encode_tree IMPORTING it_nodes TYPE tt_nodes
RETURNING value(rv_data) TYPE xstring.
RETURNING VALUE(rv_data) TYPE xstring.
CLASS-METHODS: encode_commit IMPORTING is_commit TYPE st_commit
RETURNING value(rv_data) TYPE xstring.
RETURNING VALUE(rv_data) TYPE xstring.
PRIVATE SECTION.
@ -4730,7 +4795,7 @@ CLASS lcl_pack DEFINITION FINAL.
c_version TYPE x LENGTH 4 VALUE '00000002'.
CLASS-METHODS type_and_length IMPORTING is_object TYPE st_object
RETURNING value(rv_xstring) TYPE xstring
RETURNING VALUE(rv_xstring) TYPE xstring
RAISING lcx_exception.
CLASS-METHODS delta IMPORTING is_object TYPE st_object
@ -4740,7 +4805,7 @@ CLASS lcl_pack DEFINITION FINAL.
CLASS-METHODS delta_header CHANGING cv_delta TYPE xstring.
CLASS-METHODS get_type IMPORTING iv_x TYPE x
RETURNING value(rv_type) TYPE t_type
RETURNING VALUE(rv_type) TYPE t_type
RAISING lcx_exception.
CLASS-METHODS get_length EXPORTING ev_length TYPE i
@ -5433,7 +5498,7 @@ CLASS lcl_persistence DEFINITION FINAL.
PUBLIC SECTION.
CLASS-METHODS list RETURNING value(rt_repos) TYPE tt_repos_persi
CLASS-METHODS list RETURNING VALUE(rt_repos) TYPE tt_repos_persi
RAISING lcx_exception.
CLASS-METHODS update IMPORTING is_repo TYPE st_repo
@ -5454,13 +5519,13 @@ CLASS lcl_persistence DEFINITION FINAL.
RAISING lcx_exception.
PRIVATE SECTION.
CLASS-METHODS read_text RETURNING value(rt_repos) TYPE tt_repos_persi
CLASS-METHODS read_text RETURNING VALUE(rt_repos) TYPE tt_repos_persi
RAISING lcx_exception.
CLASS-METHODS save_text IMPORTING it_repos TYPE tt_repos_persi
RAISING lcx_exception.
CLASS-METHODS header RETURNING value(rs_header) TYPE thead.
CLASS-METHODS header RETURNING VALUE(rs_header) TYPE thead.
ENDCLASS. "lcl_persistence DEFINITION
@ -5718,7 +5783,7 @@ CLASS lcl_transport DEFINITION FINAL.
PRIVATE SECTION.
CLASS-METHODS pkt_string
IMPORTING iv_string TYPE string
RETURNING value(rv_pkt) TYPE string
RETURNING VALUE(rv_pkt) TYPE string
RAISING lcx_exception.
CLASS-METHODS parse
@ -5727,7 +5792,7 @@ CLASS lcl_transport DEFINITION FINAL.
CLASS-METHODS length_utf8_hex
IMPORTING iv_data TYPE xstring
RETURNING value(rv_len) TYPE i.
RETURNING VALUE(rv_len) TYPE i.
CLASS-METHODS ref_discovery
IMPORTING is_repo TYPE st_repo
@ -5746,7 +5811,7 @@ CLASS lcl_transport DEFINITION FINAL.
IMPORTING ii_client TYPE REF TO if_http_client
RAISING lcx_exception.
CLASS-METHODS get_null RETURNING value(rv_c) TYPE char1.
CLASS-METHODS get_null RETURNING VALUE(rv_c) TYPE char1.
ENDCLASS. "lcl_transport DEFINITION
@ -6100,7 +6165,7 @@ CLASS lcl_porcelain DEFINITION FINAL.
CLASS-METHODS push IMPORTING is_repo TYPE st_repo
is_comment TYPE st_comment
it_files TYPE tt_files
RETURNING value(rv_branch) TYPE t_sha1
RETURNING VALUE(rv_branch) TYPE t_sha1
RAISING lcx_exception.
PRIVATE SECTION.
@ -6112,7 +6177,7 @@ CLASS lcl_porcelain DEFINITION FINAL.
CLASS-METHODS root_tree IMPORTING it_objects TYPE tt_objects
iv_branch TYPE t_sha1
RETURNING value(rt_nodes) TYPE tt_nodes
RETURNING VALUE(rt_nodes) TYPE tt_nodes
RAISING lcx_exception.
CLASS-METHODS receive_pack IMPORTING is_comment TYPE st_comment
@ -6120,7 +6185,7 @@ CLASS lcl_porcelain DEFINITION FINAL.
it_nodes TYPE tt_nodes
it_files TYPE tt_files
iv_branch TYPE t_sha1
RETURNING value(rv_branch) TYPE t_sha1
RETURNING VALUE(rv_branch) TYPE t_sha1
RAISING lcx_exception.
ENDCLASS. "lcl_porcelain DEFINITION
@ -6362,25 +6427,25 @@ CLASS lcl_gui DEFINITION FINAL.
IMPORTING iv_html TYPE string.
CLASS-METHODS: render
RETURNING value(rv_html) TYPE string
RETURNING VALUE(rv_html) TYPE string
RAISING lcx_exception.
CLASS-METHODS: render_css
RETURNING value(rv_html) TYPE string.
RETURNING VALUE(rv_html) TYPE string.
CLASS-METHODS: render_repo
IMPORTING is_repo_persi TYPE st_repo_persi
RETURNING value(rv_html) TYPE string
RETURNING VALUE(rv_html) TYPE string
RAISING lcx_exception.
CLASS-METHODS: render_header
RETURNING value(rv_html) TYPE string.
RETURNING VALUE(rv_html) TYPE string.
CLASS-METHODS: render_menu
RETURNING value(rv_html) TYPE string.
RETURNING VALUE(rv_html) TYPE string.
CLASS-METHODS: render_footer
RETURNING value(rv_html) TYPE string.
RETURNING VALUE(rv_html) TYPE string.
CLASS-METHODS: install
IMPORTING iv_url TYPE string
@ -6396,7 +6461,7 @@ CLASS lcl_gui DEFINITION FINAL.
CLASS-METHODS: get_object
IMPORTING iv_object TYPE tadir-object
RETURNING value(rv_name) TYPE tadir-obj_name.
RETURNING VALUE(rv_name) TYPE tadir-obj_name.
CLASS-METHODS: pull
IMPORTING is_repo TYPE st_repo
@ -6418,7 +6483,7 @@ CLASS lcl_gui DEFINITION FINAL.
CLASS-METHODS: struct_encode
IMPORTING ig_structure1 TYPE any
ig_structure2 TYPE any OPTIONAL
RETURNING value(rv_string) TYPE string.
RETURNING VALUE(rv_string) TYPE string.
CLASS-METHODS: struct_decode
IMPORTING iv_string TYPE clike
@ -6426,7 +6491,7 @@ CLASS lcl_gui DEFINITION FINAL.
RAISING lcx_exception.
CLASS-METHODS: popup_comment
RETURNING value(rs_comment) TYPE st_comment
RETURNING VALUE(rs_comment) TYPE st_comment
RAISING lcx_exception.
ENDCLASS. "lcl_gui DEFINITION
@ -6861,6 +6926,11 @@ CLASS lcl_gui IMPLEMENTATION.
METHOD add.
DEFINE _add.
append initial line to lt_spopli assigning <ls_spopli>.
<ls_spopli>-varoption = &1. "#EC NOTEXT
END-OF-DEFINITION.
DATA: lt_files TYPE tt_files,
ls_item TYPE st_item,
ls_comment TYPE st_comment,
@ -6871,11 +6941,6 @@ CLASS lcl_gui IMPLEMENTATION.
FIELD-SYMBOLS: <ls_spopli> LIKE LINE OF lt_spopli.
DEFINE _add.
append initial line to lt_spopli assigning <ls_spopli>.
<ls_spopli>-varoption = &1. "#EC NOTEXT
END-OF-DEFINITION.
_add 'PROG Program'.
_add 'DTEL Data Element'.