mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-02 04:36:49 +08:00
Compare commits
No commits in common. "main" and "v1.129.0" have entirely different histories.
|
@ -1,10 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "abapGit",
|
"name": "abapGit",
|
||||||
"image": "mcr.microsoft.com/vscode/devcontainers/javascript-node:0-20",
|
"image": "mcr.microsoft.com/vscode/devcontainers/javascript-node:0-12",
|
||||||
"customizations": {
|
"extensions": ["larshp.vscode-abaplint"],
|
||||||
"vscode": {
|
|
||||||
"extensions": ["larshp.vscode-abaplint"]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"postCreateCommand": "npm install"
|
"postCreateCommand": "npm install"
|
||||||
}
|
}
|
2
.github/workflows/reuse.yml
vendored
2
.github/workflows/reuse.yml
vendored
|
@ -8,4 +8,4 @@ jobs:
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- name: REUSE Compliance Check
|
- name: REUSE Compliance Check
|
||||||
uses: fsfe/reuse-action@v5
|
uses: fsfe/reuse-action@v1
|
||||||
|
|
15
.github/workflows/test-pr.yml
vendored
15
.github/workflows/test-pr.yml
vendored
|
@ -31,9 +31,12 @@ jobs:
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- uses: actions/setup-node@v4
|
- uses: actions/setup-node@v4
|
||||||
- run: npm install
|
- name: npm install
|
||||||
- run: npm run unit
|
run: npm install
|
||||||
- run: npm run coverage
|
- name: npm run unit
|
||||||
|
run: npm run unit
|
||||||
|
- name: npm run coverage
|
||||||
|
run: npm run coverage
|
||||||
|
|
||||||
integration:
|
integration:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
@ -42,8 +45,10 @@ jobs:
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- uses: actions/setup-node@v4
|
- uses: actions/setup-node@v4
|
||||||
- run: npm install
|
- name: npm install
|
||||||
|
run: npm install
|
||||||
- name: start gitea
|
- name: start gitea
|
||||||
working-directory: test/gitea/
|
working-directory: test/gitea/
|
||||||
run: npm install && npm run gitea
|
run: npm install && npm run gitea
|
||||||
- run: npm run integration
|
- name: npm run integration
|
||||||
|
run: npm run integration
|
||||||
|
|
|
@ -3,7 +3,8 @@
|
||||||
[](LICENSE)
|
[](LICENSE)
|
||||||
[](https://api.reuse.software/info/github.com/abapGit/abapGit)
|
[](https://api.reuse.software/info/github.com/abapGit/abapGit)
|
||||||
[](https://communityinviter.com/apps/abapgit/abap)
|
[](https://communityinviter.com/apps/abapgit/abap)
|
||||||
[](https://github.com/abapGit/abapGit/blob/main/src/zif_abapgit_version.intf.abap)
|
[](https://github.com/abapGit/abapGit/blob/main/src/zif_abapgit_version.intf.abap)
|
||||||
|
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
<picture>
|
<picture>
|
||||||
|
@ -68,5 +69,4 @@ For questions/comments/bugs/feature requests/wishes please create an [issue](htt
|
||||||
|
|
||||||
- Icons used in abapGit are created from [Font Awesome](https://fontawesome.com/) free icon set ([CC-BY-4.0](LICENSES/CC-BY-4.0.txt))
|
- Icons used in abapGit are created from [Font Awesome](https://fontawesome.com/) free icon set ([CC-BY-4.0](LICENSES/CC-BY-4.0.txt))
|
||||||
- [AJSON](https://github.com/sbcgua/ajson) and [String-Map](https://github.com/sbcgua/abap-string-map) are developed by Alexander Tsybulsky ([MIT](LICENSES/MIT.txt))
|
- [AJSON](https://github.com/sbcgua/ajson) and [String-Map](https://github.com/sbcgua/abap-string-map) are developed by Alexander Tsybulsky ([MIT](LICENSES/MIT.txt))
|
||||||
- [AFF](https://github.com/SAP/abap-file-formats) formats are by SAP ([MIT](LICENSES/MIT.txt))
|
|
||||||
|
|
||||||
|
|
|
@ -11,43 +11,11 @@
|
||||||
"folder": "/deps"
|
"folder": "/deps"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"url": "https://github.com/abaplint/deps",
|
|
||||||
"files": "/src/**/*.*",
|
"files": "/src/**/*.*",
|
||||||
"folder": "/lint_deps"
|
"folder": "/lint_deps",
|
||||||
|
"url": "https://github.com/abaplint/deps"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"syntax": {
|
|
||||||
"errorNamespace": "^(Z|Y|LT?CL_|TY_|LIF_|C_|.*ABAPGIT)",
|
|
||||||
"globalConstants": [
|
|
||||||
"abap_func_exporting",
|
|
||||||
"abap_func_tables",
|
|
||||||
"cssf_formtype_text",
|
|
||||||
"seok_access_free",
|
|
||||||
"seok_access_modify",
|
|
||||||
"sews_c_vif_version",
|
|
||||||
"skwfc_obtype_folder",
|
|
||||||
"skwfc_obtype_loio",
|
|
||||||
"so2_controller",
|
|
||||||
"srext_ext_class_pool",
|
|
||||||
"srext_ext_interface_pool",
|
|
||||||
"ststc_c_type_dialog",
|
|
||||||
"ststc_c_type_object",
|
|
||||||
"ststc_c_type_parameters",
|
|
||||||
"ststc_c_type_report",
|
|
||||||
"swbm_c_op_delete_no_dialog",
|
|
||||||
"swbm_c_type_ddic_db_tabxinx",
|
|
||||||
"swbm_c_type_wdy_application",
|
|
||||||
"swbm_version_active",
|
|
||||||
"swbm_version_inactive",
|
|
||||||
"swfco_org_standard_task",
|
|
||||||
"swfco_org_workflow_template",
|
|
||||||
"wbmr_c_skwf_folder_class",
|
|
||||||
"wdyn_limu_component_controller",
|
|
||||||
"wdyn_limu_component_definition",
|
|
||||||
"wdyn_limu_component_view"
|
|
||||||
],
|
|
||||||
"version": "v702"
|
|
||||||
},
|
|
||||||
"rules": {
|
"rules": {
|
||||||
"7bit_ascii": {
|
"7bit_ascii": {
|
||||||
"exclude": [
|
"exclude": [
|
||||||
|
@ -57,11 +25,6 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"abapdoc": false,
|
"abapdoc": false,
|
||||||
"align_type_expressions": true,
|
|
||||||
"align_pseudo_comments": false,
|
|
||||||
"invalid_table_index": true,
|
|
||||||
"tables_declared_locally": true,
|
|
||||||
"unused_macros": true,
|
|
||||||
"align_parameters": false,
|
"align_parameters": false,
|
||||||
"allowed_object_naming": true,
|
"allowed_object_naming": true,
|
||||||
"allowed_object_types": {
|
"allowed_object_types": {
|
||||||
|
@ -158,11 +121,8 @@
|
||||||
},
|
},
|
||||||
"double_space": true,
|
"double_space": true,
|
||||||
"downport": false,
|
"downport": false,
|
||||||
"add_test_attributes": true,
|
|
||||||
"implicit_start_of_selection": true,
|
|
||||||
"empty_event": true,
|
|
||||||
"dynpro_checks": false,
|
"dynpro_checks": false,
|
||||||
"easy_to_find_messages": false,
|
"easy_to_find_messages": true,
|
||||||
"empty_line_in_statement": {
|
"empty_line_in_statement": {
|
||||||
"allowChained": true
|
"allowChained": true
|
||||||
},
|
},
|
||||||
|
@ -171,7 +131,6 @@
|
||||||
"at": true,
|
"at": true,
|
||||||
"case": true,
|
"case": true,
|
||||||
"do": true,
|
"do": true,
|
||||||
"loopAllowIfSubrc": false,
|
|
||||||
"if": false,
|
"if": false,
|
||||||
"loop": true,
|
"loop": true,
|
||||||
"select": true,
|
"select": true,
|
||||||
|
@ -225,8 +184,8 @@
|
||||||
"^if_adt_lock_handle$",
|
"^if_adt_lock_handle$",
|
||||||
"^if_aff_",
|
"^if_aff_",
|
||||||
"^if_satc_ci_variant_access$",
|
"^if_satc_ci_variant_access$",
|
||||||
"^if_saunit_internal_result_type$",
|
|
||||||
"^if_saunit_internal_result$",
|
"^if_saunit_internal_result$",
|
||||||
|
"^if_saunit_internal_result_type$",
|
||||||
"^if_srvd_types$",
|
"^if_srvd_types$",
|
||||||
"^if_wb_adt_plugin_resource_co$",
|
"^if_wb_adt_plugin_resource_co$",
|
||||||
"^if_wb_object_data_selection_co$",
|
"^if_wb_object_data_selection_co$",
|
||||||
|
@ -234,7 +193,6 @@
|
||||||
"^if_xco_",
|
"^if_xco_",
|
||||||
"^int4$",
|
"^int4$",
|
||||||
"^numc2$",
|
"^numc2$",
|
||||||
"^pgmid$",
|
|
||||||
"^sabp_t_tadir_keys$",
|
"^sabp_t_tadir_keys$",
|
||||||
"^sap_bool$",
|
"^sap_bool$",
|
||||||
"^srcsystem$",
|
"^srcsystem$",
|
||||||
|
@ -244,7 +202,6 @@
|
||||||
"^sychar70$",
|
"^sychar70$",
|
||||||
"^sydatum$",
|
"^sydatum$",
|
||||||
"^sylangu$",
|
"^sylangu$",
|
||||||
"^syst_langu$",
|
|
||||||
"^syst_title$",
|
"^syst_title$",
|
||||||
"^syuzeit$",
|
"^syuzeit$",
|
||||||
"^xubname$"
|
"^xubname$"
|
||||||
|
@ -293,7 +250,7 @@
|
||||||
"/json/",
|
"/json/",
|
||||||
"zcl_abapgit_object_pdts.clas.testclasses.abap"
|
"zcl_abapgit_object_pdts.clas.testclasses.abap"
|
||||||
],
|
],
|
||||||
"length": 125
|
"length": 120
|
||||||
},
|
},
|
||||||
"line_only_punc": {
|
"line_only_punc": {
|
||||||
"ignoreExceptions": true
|
"ignoreExceptions": true
|
||||||
|
@ -319,9 +276,6 @@
|
||||||
"message_exists": true,
|
"message_exists": true,
|
||||||
"method_implemented_twice": true,
|
"method_implemented_twice": true,
|
||||||
"method_length": {
|
"method_length": {
|
||||||
"exclude": [
|
|
||||||
"zcl_abapgit_convert.clas.locals_imp.abap"
|
|
||||||
],
|
|
||||||
"checkForms": true,
|
"checkForms": true,
|
||||||
"errorWhenEmpty": false,
|
"errorWhenEmpty": false,
|
||||||
"ignoreTestClasses": false,
|
"ignoreTestClasses": false,
|
||||||
|
@ -505,5 +459,37 @@
|
||||||
"when_others_last": true,
|
"when_others_last": true,
|
||||||
"whitespace_end": true,
|
"whitespace_end": true,
|
||||||
"xml_consistency": true
|
"xml_consistency": true
|
||||||
|
},
|
||||||
|
"syntax": {
|
||||||
|
"errorNamespace": "^(Z|Y|LT?CL_|TY_|LIF_|C_|.*ABAPGIT)",
|
||||||
|
"globalConstants": [
|
||||||
|
"abap_func_exporting",
|
||||||
|
"abap_func_tables",
|
||||||
|
"cssf_formtype_text",
|
||||||
|
"seok_access_free",
|
||||||
|
"seok_access_modify",
|
||||||
|
"sews_c_vif_version",
|
||||||
|
"skwfc_obtype_folder",
|
||||||
|
"skwfc_obtype_loio",
|
||||||
|
"so2_controller",
|
||||||
|
"srext_ext_class_pool",
|
||||||
|
"srext_ext_interface_pool",
|
||||||
|
"ststc_c_type_dialog",
|
||||||
|
"ststc_c_type_object",
|
||||||
|
"ststc_c_type_parameters",
|
||||||
|
"ststc_c_type_report",
|
||||||
|
"swbm_c_op_delete_no_dialog",
|
||||||
|
"swbm_c_type_ddic_db_tabxinx",
|
||||||
|
"swbm_c_type_wdy_application",
|
||||||
|
"swbm_version_active",
|
||||||
|
"swbm_version_inactive",
|
||||||
|
"swfco_org_standard_task",
|
||||||
|
"swfco_org_workflow_template",
|
||||||
|
"wbmr_c_skwf_folder_class",
|
||||||
|
"wdyn_limu_component_controller",
|
||||||
|
"wdyn_limu_component_definition",
|
||||||
|
"wdyn_limu_component_view"
|
||||||
|
],
|
||||||
|
"version": "v702"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,65 +8,6 @@ Legend
|
||||||
+ : added
|
+ : added
|
||||||
- : removed
|
- : removed
|
||||||
|
|
||||||
2025-01-01 v1.131.0
|
|
||||||
-------------------
|
|
||||||
|
|
||||||
! Remove need to `parallel_generators` server group (#7119)
|
|
||||||
+ VIEW: save `tddat` entries to transport (#7042)
|
|
||||||
+ Support for HTTP Destination (#7100)
|
|
||||||
+ Enhance logging with message id and number (#7111)
|
|
||||||
* Fix language conversion for language A (#7076)
|
|
||||||
* longtexts: workaround strange object names dump (#7077)
|
|
||||||
* SRVB: Clear fields and fix deserialize order (#7085)
|
|
||||||
* MSAG: Fix error handling during deletion (#7093)
|
|
||||||
* Fix error handling in exception viewer (#7095)
|
|
||||||
* Fix dark theme CSS whitespace (#7104)
|
|
||||||
* MSAG: Fix deletion of message longtexts (#7109)
|
|
||||||
* Fix RFC error handling (#7102)
|
|
||||||
* IDOC/IEXT: Fix deserialize in background (#7113)
|
|
||||||
* USCA: Fix missing transport entry (#7110)
|
|
||||||
* FUGS: Fix activation error (#7115)
|
|
||||||
* Limit number of GUI sessions (#7080)
|
|
||||||
* Fix dump when converting `xstring` to `bintab` (#7120)
|
|
||||||
|
|
||||||
2024-11-04 v1.130.0
|
|
||||||
-------------------
|
|
||||||
|
|
||||||
! PROG: Store flow logic as separate ABAP files (#7066)
|
|
||||||
! WDYN: Store controller code as separate ABAP files (#7069)
|
|
||||||
! SSFO: Store smartform code as separate ABAP files (#7071)
|
|
||||||
+ CLIF: Add missing translations for classes and interfaces (#6963)
|
|
||||||
+ UIAD: Add support for Launchpad App Descriptor Item (#6969)
|
|
||||||
+ BGQC: Add support for Background Processing Context (#6974)
|
|
||||||
+ DSFD: CDS Scalar Function Definition (#6951)
|
|
||||||
+ DRAS: CDS Aspect (#6953)
|
|
||||||
+ DSFI: CDS Scalar Function Implementation (#6952)
|
|
||||||
+ Add support for Software Component Relations (#7012)
|
|
||||||
* ENHO: Fix diff in generated comments of class enhancements (#6962)
|
|
||||||
* SXSD: Fix check if BADI exists (#6961)
|
|
||||||
* CDBO: Fix missing parameters in `constructor` (#6966)
|
|
||||||
* Fix dump in activation error handling (#6967)
|
|
||||||
* Fix deserialize SEOCLASSTX for INTF [AFF] (#6983)
|
|
||||||
* Allow staging for empty repositories (#6981)
|
|
||||||
* fix: syst_langu does not exist on older releases (#6999)
|
|
||||||
* fix sticky header with browser control warning (#6997)
|
|
||||||
* DSFI: Updated object handler to match the latest AFF definition (#7013)
|
|
||||||
* Filenames for translation are case sensitive (#6995)
|
|
||||||
* Enable deserialization of DSFD, DSFI and DRAS (#7029)
|
|
||||||
* PROG: Support dynpros with splitter control (#7035, #7038)
|
|
||||||
* Fix `CX_SY_ZERODIVIDE` dump in progress bar (#7036)
|
|
||||||
* JOBD: Clear `changedby` field (#7039)
|
|
||||||
* SFPF: Add syntax highlighting for `xdp` files (#7040)
|
|
||||||
* SFPF: Fix check if object exists (#7041)
|
|
||||||
* Add package check when creating repository (#7037)
|
|
||||||
* FUGS: serialization (#7045)
|
|
||||||
* Enable CDS types (#7048)
|
|
||||||
* Don't discard includes of nonexistent FUGR (#7053)
|
|
||||||
* Added enhanced method resolution for background exit (#7059)
|
|
||||||
* TABU: Display transport requests (#7063)
|
|
||||||
* Show diffs in case of trailing spaces (#7062)
|
|
||||||
- remove 200% icon scaling (#7003)
|
|
||||||
|
|
||||||
2024-07-01 v1.129.0
|
2024-07-01 v1.129.0
|
||||||
-------------------
|
-------------------
|
||||||
|
|
||||||
|
|
8
deps/cl_package_factory.clas.abap
vendored
8
deps/cl_package_factory.clas.abap
vendored
|
@ -2,10 +2,10 @@ CLASS cl_package_factory DEFINITION PUBLIC.
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
CLASS-METHODS load_package
|
CLASS-METHODS load_package
|
||||||
IMPORTING
|
IMPORTING
|
||||||
i_package_name TYPE devclass
|
i_package_name TYPE devclass
|
||||||
VALUE(i_force_reload) TYPE abap_bool OPTIONAL
|
VALUE(i_force_reload) TYPE abap_bool OPTIONAL
|
||||||
EXPORTING
|
EXPORTING
|
||||||
VALUE(e_package) TYPE REF TO if_package
|
VALUE(e_package) TYPE REF TO if_package
|
||||||
EXCEPTIONS
|
EXCEPTIONS
|
||||||
object_not_existing
|
object_not_existing
|
||||||
unexpected_error
|
unexpected_error
|
||||||
|
@ -19,9 +19,9 @@ CLASS cl_package_factory DEFINITION PUBLIC.
|
||||||
!i_suppress_dialog TYPE abap_bool DEFAULT abap_false
|
!i_suppress_dialog TYPE abap_bool DEFAULT abap_false
|
||||||
!i_suppress_access_permission TYPE abap_bool DEFAULT abap_false
|
!i_suppress_access_permission TYPE abap_bool DEFAULT abap_false
|
||||||
EXPORTING
|
EXPORTING
|
||||||
VALUE(e_package) TYPE REF TO if_package
|
VALUE(e_package) TYPE REF TO if_package
|
||||||
CHANGING
|
CHANGING
|
||||||
c_package_data TYPE any.
|
c_package_data TYPE any.
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
CLASS cl_package_factory IMPLEMENTATION.
|
CLASS cl_package_factory IMPLEMENTATION.
|
||||||
|
|
105
deps/e070.tabl.xml
vendored
105
deps/e070.tabl.xml
vendored
|
@ -1,105 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_TABL" serializer_version="v1.0.0">
|
|
||||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
|
||||||
<asx:values>
|
|
||||||
<DD02V>
|
|
||||||
<TABNAME>E070</TABNAME>
|
|
||||||
<DDLANGUAGE>E</DDLANGUAGE>
|
|
||||||
<TABCLASS>TRANSP</TABCLASS>
|
|
||||||
<DDTEXT>E070</DDTEXT>
|
|
||||||
<CONTFLAG>A</CONTFLAG>
|
|
||||||
<EXCLASS>1</EXCLASS>
|
|
||||||
</DD02V>
|
|
||||||
<DD09L>
|
|
||||||
<TABNAME>ZE070</TABNAME>
|
|
||||||
<AS4LOCAL>A</AS4LOCAL>
|
|
||||||
<TABKAT>0</TABKAT>
|
|
||||||
<TABART>APPL0</TABART>
|
|
||||||
<BUFALLOW>N</BUFALLOW>
|
|
||||||
</DD09L>
|
|
||||||
<DD03P_TABLE>
|
|
||||||
<DD03P>
|
|
||||||
<FIELDNAME>TRKORR</FIELDNAME>
|
|
||||||
<KEYFLAG>X</KEYFLAG>
|
|
||||||
<ROLLNAME>TRKORR</ROLLNAME>
|
|
||||||
<ADMINFIELD>0</ADMINFIELD>
|
|
||||||
<NOTNULL>X</NOTNULL>
|
|
||||||
<COMPTYPE>E</COMPTYPE>
|
|
||||||
</DD03P>
|
|
||||||
<DD03P>
|
|
||||||
<FIELDNAME>TRFUNCTION</FIELDNAME>
|
|
||||||
<ROLLNAME>TRFUNCTION</ROLLNAME>
|
|
||||||
<ADMINFIELD>0</ADMINFIELD>
|
|
||||||
<VALEXI>X</VALEXI>
|
|
||||||
<SHLPORIGIN>F</SHLPORIGIN>
|
|
||||||
<COMPTYPE>E</COMPTYPE>
|
|
||||||
</DD03P>
|
|
||||||
<DD03P>
|
|
||||||
<FIELDNAME>TRSTATUS</FIELDNAME>
|
|
||||||
<ADMINFIELD>0</ADMINFIELD>
|
|
||||||
<INTTYPE>C</INTTYPE>
|
|
||||||
<INTLEN>000002</INTLEN>
|
|
||||||
<DATATYPE>CHAR</DATATYPE>
|
|
||||||
<LENG>000001</LENG>
|
|
||||||
<MASK> CHAR</MASK>
|
|
||||||
</DD03P>
|
|
||||||
<DD03P>
|
|
||||||
<FIELDNAME>TARSYSTEM</FIELDNAME>
|
|
||||||
<ADMINFIELD>0</ADMINFIELD>
|
|
||||||
<INTTYPE>C</INTTYPE>
|
|
||||||
<INTLEN>000020</INTLEN>
|
|
||||||
<DATATYPE>CHAR</DATATYPE>
|
|
||||||
<LENG>000010</LENG>
|
|
||||||
<MASK> CHAR</MASK>
|
|
||||||
</DD03P>
|
|
||||||
<DD03P>
|
|
||||||
<FIELDNAME>KORRDEV</FIELDNAME>
|
|
||||||
<ADMINFIELD>0</ADMINFIELD>
|
|
||||||
<INTTYPE>C</INTTYPE>
|
|
||||||
<INTLEN>000008</INTLEN>
|
|
||||||
<DATATYPE>CHAR</DATATYPE>
|
|
||||||
<LENG>000004</LENG>
|
|
||||||
<MASK> CHAR</MASK>
|
|
||||||
</DD03P>
|
|
||||||
<DD03P>
|
|
||||||
<FIELDNAME>AS4USER</FIELDNAME>
|
|
||||||
<ADMINFIELD>0</ADMINFIELD>
|
|
||||||
<INTTYPE>C</INTTYPE>
|
|
||||||
<INTLEN>000024</INTLEN>
|
|
||||||
<DATATYPE>CHAR</DATATYPE>
|
|
||||||
<LENG>000012</LENG>
|
|
||||||
<MASK> CHAR</MASK>
|
|
||||||
</DD03P>
|
|
||||||
<DD03P>
|
|
||||||
<FIELDNAME>AS4DATE</FIELDNAME>
|
|
||||||
<ADMINFIELD>0</ADMINFIELD>
|
|
||||||
<INTTYPE>D</INTTYPE>
|
|
||||||
<INTLEN>000016</INTLEN>
|
|
||||||
<DATATYPE>DATS</DATATYPE>
|
|
||||||
<LENG>000008</LENG>
|
|
||||||
<MASK> DATS</MASK>
|
|
||||||
<SHLPORIGIN>T</SHLPORIGIN>
|
|
||||||
</DD03P>
|
|
||||||
<DD03P>
|
|
||||||
<FIELDNAME>AS4TIME</FIELDNAME>
|
|
||||||
<ADMINFIELD>0</ADMINFIELD>
|
|
||||||
<INTTYPE>T</INTTYPE>
|
|
||||||
<INTLEN>000012</INTLEN>
|
|
||||||
<DATATYPE>TIMS</DATATYPE>
|
|
||||||
<LENG>000006</LENG>
|
|
||||||
<MASK> TIMS</MASK>
|
|
||||||
<SHLPORIGIN>T</SHLPORIGIN>
|
|
||||||
</DD03P>
|
|
||||||
<DD03P>
|
|
||||||
<FIELDNAME>STRKORR</FIELDNAME>
|
|
||||||
<ADMINFIELD>0</ADMINFIELD>
|
|
||||||
<INTTYPE>C</INTTYPE>
|
|
||||||
<INTLEN>000040</INTLEN>
|
|
||||||
<DATATYPE>CHAR</DATATYPE>
|
|
||||||
<LENG>000020</LENG>
|
|
||||||
<MASK> CHAR</MASK>
|
|
||||||
</DD03P>
|
|
||||||
</DD03P_TABLE>
|
|
||||||
</asx:values>
|
|
||||||
</asx:abap>
|
|
||||||
</abapGit>
|
|
116
deps/e071.tabl.xml
vendored
116
deps/e071.tabl.xml
vendored
|
@ -1,116 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_TABL" serializer_version="v1.0.0">
|
|
||||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
|
||||||
<asx:values>
|
|
||||||
<DD02V>
|
|
||||||
<TABNAME>E071</TABNAME>
|
|
||||||
<DDLANGUAGE>E</DDLANGUAGE>
|
|
||||||
<TABCLASS>TRANSP</TABCLASS>
|
|
||||||
<DDTEXT>E071</DDTEXT>
|
|
||||||
<CONTFLAG>A</CONTFLAG>
|
|
||||||
<EXCLASS>1</EXCLASS>
|
|
||||||
</DD02V>
|
|
||||||
<DD09L>
|
|
||||||
<TABNAME>ZE071</TABNAME>
|
|
||||||
<AS4LOCAL>A</AS4LOCAL>
|
|
||||||
<TABKAT>0</TABKAT>
|
|
||||||
<TABART>APPL0</TABART>
|
|
||||||
<BUFALLOW>N</BUFALLOW>
|
|
||||||
</DD09L>
|
|
||||||
<DD03P_TABLE>
|
|
||||||
<DD03P>
|
|
||||||
<FIELDNAME>TRKORR</FIELDNAME>
|
|
||||||
<KEYFLAG>X</KEYFLAG>
|
|
||||||
<ROLLNAME>TRKORR</ROLLNAME>
|
|
||||||
<ADMINFIELD>0</ADMINFIELD>
|
|
||||||
<NOTNULL>X</NOTNULL>
|
|
||||||
<COMPTYPE>E</COMPTYPE>
|
|
||||||
</DD03P>
|
|
||||||
<DD03P>
|
|
||||||
<FIELDNAME>AS4POS</FIELDNAME>
|
|
||||||
<KEYFLAG>X</KEYFLAG>
|
|
||||||
<ADMINFIELD>0</ADMINFIELD>
|
|
||||||
<INTTYPE>N</INTTYPE>
|
|
||||||
<INTLEN>000012</INTLEN>
|
|
||||||
<NOTNULL>X</NOTNULL>
|
|
||||||
<DATATYPE>NUMC</DATATYPE>
|
|
||||||
<LENG>000006</LENG>
|
|
||||||
<MASK> NUMC</MASK>
|
|
||||||
</DD03P>
|
|
||||||
<DD03P>
|
|
||||||
<FIELDNAME>PGMID</FIELDNAME>
|
|
||||||
<ADMINFIELD>0</ADMINFIELD>
|
|
||||||
<INTTYPE>C</INTTYPE>
|
|
||||||
<INTLEN>000008</INTLEN>
|
|
||||||
<DATATYPE>CHAR</DATATYPE>
|
|
||||||
<LENG>000004</LENG>
|
|
||||||
<MASK> CHAR</MASK>
|
|
||||||
</DD03P>
|
|
||||||
<DD03P>
|
|
||||||
<FIELDNAME>OBJECT</FIELDNAME>
|
|
||||||
<ADMINFIELD>0</ADMINFIELD>
|
|
||||||
<INTTYPE>C</INTTYPE>
|
|
||||||
<INTLEN>000008</INTLEN>
|
|
||||||
<DATATYPE>CHAR</DATATYPE>
|
|
||||||
<LENG>000004</LENG>
|
|
||||||
<MASK> CHAR</MASK>
|
|
||||||
</DD03P>
|
|
||||||
<DD03P>
|
|
||||||
<FIELDNAME>OBJ_NAME</FIELDNAME>
|
|
||||||
<ADMINFIELD>0</ADMINFIELD>
|
|
||||||
<INTTYPE>C</INTTYPE>
|
|
||||||
<INTLEN>000240</INTLEN>
|
|
||||||
<DATATYPE>CHAR</DATATYPE>
|
|
||||||
<LENG>000120</LENG>
|
|
||||||
<MASK> CHAR</MASK>
|
|
||||||
</DD03P>
|
|
||||||
<DD03P>
|
|
||||||
<FIELDNAME>OBJFUNC</FIELDNAME>
|
|
||||||
<ADMINFIELD>0</ADMINFIELD>
|
|
||||||
<INTTYPE>C</INTTYPE>
|
|
||||||
<INTLEN>000002</INTLEN>
|
|
||||||
<DATATYPE>CHAR</DATATYPE>
|
|
||||||
<LENG>000001</LENG>
|
|
||||||
<MASK> CHAR</MASK>
|
|
||||||
</DD03P>
|
|
||||||
<DD03P>
|
|
||||||
<FIELDNAME>LOCKFLAG</FIELDNAME>
|
|
||||||
<ADMINFIELD>0</ADMINFIELD>
|
|
||||||
<INTTYPE>C</INTTYPE>
|
|
||||||
<INTLEN>000002</INTLEN>
|
|
||||||
<DATATYPE>CHAR</DATATYPE>
|
|
||||||
<LENG>000001</LENG>
|
|
||||||
<MASK> CHAR</MASK>
|
|
||||||
</DD03P>
|
|
||||||
<DD03P>
|
|
||||||
<FIELDNAME>GENNUM</FIELDNAME>
|
|
||||||
<ADMINFIELD>0</ADMINFIELD>
|
|
||||||
<INTTYPE>C</INTTYPE>
|
|
||||||
<INTLEN>000006</INTLEN>
|
|
||||||
<DATATYPE>CHAR</DATATYPE>
|
|
||||||
<LENG>000003</LENG>
|
|
||||||
<MASK> CHAR</MASK>
|
|
||||||
</DD03P>
|
|
||||||
<DD03P>
|
|
||||||
<FIELDNAME>LANG</FIELDNAME>
|
|
||||||
<ADMINFIELD>0</ADMINFIELD>
|
|
||||||
<INTTYPE>C</INTTYPE>
|
|
||||||
<INTLEN>000002</INTLEN>
|
|
||||||
<DATATYPE>LANG</DATATYPE>
|
|
||||||
<LENG>000001</LENG>
|
|
||||||
<MASK> LANG</MASK>
|
|
||||||
<LANGUFLAG>X</LANGUFLAG>
|
|
||||||
</DD03P>
|
|
||||||
<DD03P>
|
|
||||||
<FIELDNAME>ACTIVITY</FIELDNAME>
|
|
||||||
<ADMINFIELD>0</ADMINFIELD>
|
|
||||||
<INTTYPE>C</INTTYPE>
|
|
||||||
<INTLEN>000040</INTLEN>
|
|
||||||
<DATATYPE>CHAR</DATATYPE>
|
|
||||||
<LENG>000020</LENG>
|
|
||||||
<MASK> CHAR</MASK>
|
|
||||||
</DD03P>
|
|
||||||
</DD03P_TABLE>
|
|
||||||
</asx:values>
|
|
||||||
</asx:abap>
|
|
||||||
</abapGit>
|
|
158
deps/e071k.tabl.xml
vendored
158
deps/e071k.tabl.xml
vendored
|
@ -1,158 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_TABL" serializer_version="v1.0.0">
|
|
||||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
|
||||||
<asx:values>
|
|
||||||
<DD02V>
|
|
||||||
<TABNAME>E071K</TABNAME>
|
|
||||||
<DDLANGUAGE>E</DDLANGUAGE>
|
|
||||||
<TABCLASS>TRANSP</TABCLASS>
|
|
||||||
<DDTEXT>E071K</DDTEXT>
|
|
||||||
<CONTFLAG>A</CONTFLAG>
|
|
||||||
<EXCLASS>1</EXCLASS>
|
|
||||||
</DD02V>
|
|
||||||
<DD09L>
|
|
||||||
<TABNAME>ZE071K</TABNAME>
|
|
||||||
<AS4LOCAL>A</AS4LOCAL>
|
|
||||||
<TABKAT>0</TABKAT>
|
|
||||||
<TABART>APPL0</TABART>
|
|
||||||
<BUFALLOW>N</BUFALLOW>
|
|
||||||
</DD09L>
|
|
||||||
<DD03P_TABLE>
|
|
||||||
<DD03P>
|
|
||||||
<FIELDNAME>TRKORR</FIELDNAME>
|
|
||||||
<KEYFLAG>X</KEYFLAG>
|
|
||||||
<ROLLNAME>TRKORR</ROLLNAME>
|
|
||||||
<ADMINFIELD>0</ADMINFIELD>
|
|
||||||
<NOTNULL>X</NOTNULL>
|
|
||||||
<COMPTYPE>E</COMPTYPE>
|
|
||||||
</DD03P>
|
|
||||||
<DD03P>
|
|
||||||
<FIELDNAME>PGMID</FIELDNAME>
|
|
||||||
<KEYFLAG>X</KEYFLAG>
|
|
||||||
<ADMINFIELD>0</ADMINFIELD>
|
|
||||||
<INTTYPE>C</INTTYPE>
|
|
||||||
<INTLEN>000008</INTLEN>
|
|
||||||
<NOTNULL>X</NOTNULL>
|
|
||||||
<DATATYPE>CHAR</DATATYPE>
|
|
||||||
<LENG>000004</LENG>
|
|
||||||
<MASK> CHAR</MASK>
|
|
||||||
</DD03P>
|
|
||||||
<DD03P>
|
|
||||||
<FIELDNAME>OBJECT</FIELDNAME>
|
|
||||||
<KEYFLAG>X</KEYFLAG>
|
|
||||||
<ADMINFIELD>0</ADMINFIELD>
|
|
||||||
<INTTYPE>C</INTTYPE>
|
|
||||||
<INTLEN>000008</INTLEN>
|
|
||||||
<NOTNULL>X</NOTNULL>
|
|
||||||
<DATATYPE>CHAR</DATATYPE>
|
|
||||||
<LENG>000004</LENG>
|
|
||||||
<MASK> CHAR</MASK>
|
|
||||||
</DD03P>
|
|
||||||
<DD03P>
|
|
||||||
<FIELDNAME>OBJNAME</FIELDNAME>
|
|
||||||
<KEYFLAG>X</KEYFLAG>
|
|
||||||
<ADMINFIELD>0</ADMINFIELD>
|
|
||||||
<INTTYPE>C</INTTYPE>
|
|
||||||
<INTLEN>000060</INTLEN>
|
|
||||||
<NOTNULL>X</NOTNULL>
|
|
||||||
<DATATYPE>CHAR</DATATYPE>
|
|
||||||
<LENG>000030</LENG>
|
|
||||||
<MASK> CHAR</MASK>
|
|
||||||
</DD03P>
|
|
||||||
<DD03P>
|
|
||||||
<FIELDNAME>AS4POS</FIELDNAME>
|
|
||||||
<KEYFLAG>X</KEYFLAG>
|
|
||||||
<ADMINFIELD>0</ADMINFIELD>
|
|
||||||
<INTTYPE>N</INTTYPE>
|
|
||||||
<INTLEN>000012</INTLEN>
|
|
||||||
<NOTNULL>X</NOTNULL>
|
|
||||||
<DATATYPE>NUMC</DATATYPE>
|
|
||||||
<LENG>000006</LENG>
|
|
||||||
<MASK> NUMC</MASK>
|
|
||||||
</DD03P>
|
|
||||||
<DD03P>
|
|
||||||
<FIELDNAME>MASTERTYPE</FIELDNAME>
|
|
||||||
<ADMINFIELD>0</ADMINFIELD>
|
|
||||||
<INTTYPE>C</INTTYPE>
|
|
||||||
<INTLEN>000008</INTLEN>
|
|
||||||
<DATATYPE>CHAR</DATATYPE>
|
|
||||||
<LENG>000004</LENG>
|
|
||||||
<MASK> CHAR</MASK>
|
|
||||||
</DD03P>
|
|
||||||
<DD03P>
|
|
||||||
<FIELDNAME>MASTERNAME</FIELDNAME>
|
|
||||||
<ADMINFIELD>0</ADMINFIELD>
|
|
||||||
<INTTYPE>C</INTTYPE>
|
|
||||||
<INTLEN>000080</INTLEN>
|
|
||||||
<DATATYPE>CHAR</DATATYPE>
|
|
||||||
<LENG>000040</LENG>
|
|
||||||
<MASK> CHAR</MASK>
|
|
||||||
</DD03P>
|
|
||||||
<DD03P>
|
|
||||||
<FIELDNAME>VIEWNAME</FIELDNAME>
|
|
||||||
<ADMINFIELD>0</ADMINFIELD>
|
|
||||||
<INTTYPE>C</INTTYPE>
|
|
||||||
<INTLEN>000060</INTLEN>
|
|
||||||
<DATATYPE>CHAR</DATATYPE>
|
|
||||||
<LENG>000030</LENG>
|
|
||||||
<MASK> CHAR</MASK>
|
|
||||||
</DD03P>
|
|
||||||
<DD03P>
|
|
||||||
<FIELDNAME>OBJFUNC</FIELDNAME>
|
|
||||||
<ADMINFIELD>0</ADMINFIELD>
|
|
||||||
<INTTYPE>C</INTTYPE>
|
|
||||||
<INTLEN>000002</INTLEN>
|
|
||||||
<DATATYPE>CHAR</DATATYPE>
|
|
||||||
<LENG>000001</LENG>
|
|
||||||
<MASK> CHAR</MASK>
|
|
||||||
</DD03P>
|
|
||||||
<DD03P>
|
|
||||||
<FIELDNAME>TABKEY</FIELDNAME>
|
|
||||||
<ADMINFIELD>0</ADMINFIELD>
|
|
||||||
<INTTYPE>C</INTTYPE>
|
|
||||||
<INTLEN>000240</INTLEN>
|
|
||||||
<DATATYPE>CHAR</DATATYPE>
|
|
||||||
<LENG>000120</LENG>
|
|
||||||
<MASK> CHAR</MASK>
|
|
||||||
</DD03P>
|
|
||||||
<DD03P>
|
|
||||||
<FIELDNAME>SORTFLAG</FIELDNAME>
|
|
||||||
<ADMINFIELD>0</ADMINFIELD>
|
|
||||||
<INTTYPE>C</INTTYPE>
|
|
||||||
<INTLEN>000002</INTLEN>
|
|
||||||
<DATATYPE>CHAR</DATATYPE>
|
|
||||||
<LENG>000001</LENG>
|
|
||||||
<MASK> CHAR</MASK>
|
|
||||||
</DD03P>
|
|
||||||
<DD03P>
|
|
||||||
<FIELDNAME>FLAG</FIELDNAME>
|
|
||||||
<ADMINFIELD>0</ADMINFIELD>
|
|
||||||
<INTTYPE>C</INTTYPE>
|
|
||||||
<INTLEN>000002</INTLEN>
|
|
||||||
<DATATYPE>CHAR</DATATYPE>
|
|
||||||
<LENG>000001</LENG>
|
|
||||||
<MASK> CHAR</MASK>
|
|
||||||
</DD03P>
|
|
||||||
<DD03P>
|
|
||||||
<FIELDNAME>LANG</FIELDNAME>
|
|
||||||
<ADMINFIELD>0</ADMINFIELD>
|
|
||||||
<INTTYPE>C</INTTYPE>
|
|
||||||
<INTLEN>000002</INTLEN>
|
|
||||||
<DATATYPE>LANG</DATATYPE>
|
|
||||||
<LENG>000001</LENG>
|
|
||||||
<MASK> LANG</MASK>
|
|
||||||
<LANGUFLAG>X</LANGUFLAG>
|
|
||||||
</DD03P>
|
|
||||||
<DD03P>
|
|
||||||
<FIELDNAME>ACTIVITY</FIELDNAME>
|
|
||||||
<ADMINFIELD>0</ADMINFIELD>
|
|
||||||
<INTTYPE>C</INTTYPE>
|
|
||||||
<INTLEN>000040</INTLEN>
|
|
||||||
<DATATYPE>CHAR</DATATYPE>
|
|
||||||
<LENG>000020</LENG>
|
|
||||||
<MASK> CHAR</MASK>
|
|
||||||
</DD03P>
|
|
||||||
</DD03P_TABLE>
|
|
||||||
</asx:values>
|
|
||||||
</asx:abap>
|
|
||||||
</abapGit>
|
|
54
deps/e07t.tabl.xml
vendored
54
deps/e07t.tabl.xml
vendored
|
@ -1,54 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_TABL" serializer_version="v1.0.0">
|
|
||||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
|
||||||
<asx:values>
|
|
||||||
<DD02V>
|
|
||||||
<TABNAME>E07T</TABNAME>
|
|
||||||
<DDLANGUAGE>E</DDLANGUAGE>
|
|
||||||
<TABCLASS>TRANSP</TABCLASS>
|
|
||||||
<DDTEXT>E07T</DDTEXT>
|
|
||||||
<CONTFLAG>A</CONTFLAG>
|
|
||||||
<EXCLASS>1</EXCLASS>
|
|
||||||
</DD02V>
|
|
||||||
<DD09L>
|
|
||||||
<TABNAME>ZE07T</TABNAME>
|
|
||||||
<AS4LOCAL>A</AS4LOCAL>
|
|
||||||
<TABKAT>0</TABKAT>
|
|
||||||
<TABART>APPL0</TABART>
|
|
||||||
<UEBERSETZ>N</UEBERSETZ>
|
|
||||||
<BUFALLOW>N</BUFALLOW>
|
|
||||||
</DD09L>
|
|
||||||
<DD03P_TABLE>
|
|
||||||
<DD03P>
|
|
||||||
<FIELDNAME>TRKORR</FIELDNAME>
|
|
||||||
<KEYFLAG>X</KEYFLAG>
|
|
||||||
<ROLLNAME>TRKORR</ROLLNAME>
|
|
||||||
<ADMINFIELD>0</ADMINFIELD>
|
|
||||||
<NOTNULL>X</NOTNULL>
|
|
||||||
<COMPTYPE>E</COMPTYPE>
|
|
||||||
</DD03P>
|
|
||||||
<DD03P>
|
|
||||||
<FIELDNAME>LANGU</FIELDNAME>
|
|
||||||
<KEYFLAG>X</KEYFLAG>
|
|
||||||
<ADMINFIELD>0</ADMINFIELD>
|
|
||||||
<INTTYPE>C</INTTYPE>
|
|
||||||
<INTLEN>000002</INTLEN>
|
|
||||||
<NOTNULL>X</NOTNULL>
|
|
||||||
<DATATYPE>LANG</DATATYPE>
|
|
||||||
<LENG>000001</LENG>
|
|
||||||
<MASK> LANG</MASK>
|
|
||||||
<LANGUFLAG>X</LANGUFLAG>
|
|
||||||
</DD03P>
|
|
||||||
<DD03P>
|
|
||||||
<FIELDNAME>AS4TEXT</FIELDNAME>
|
|
||||||
<ADMINFIELD>0</ADMINFIELD>
|
|
||||||
<INTTYPE>C</INTTYPE>
|
|
||||||
<INTLEN>000120</INTLEN>
|
|
||||||
<DATATYPE>CHAR</DATATYPE>
|
|
||||||
<LENG>000060</LENG>
|
|
||||||
<MASK> CHAR</MASK>
|
|
||||||
</DD03P>
|
|
||||||
</DD03P_TABLE>
|
|
||||||
</asx:values>
|
|
||||||
</asx:abap>
|
|
||||||
</abapGit>
|
|
3
deps/if_package.intf.abap
vendored
3
deps/if_package.intf.abap
vendored
|
@ -1,8 +1,5 @@
|
||||||
INTERFACE if_package PUBLIC.
|
INTERFACE if_package PUBLIC.
|
||||||
DATA wbo_korr_flag TYPE c LENGTH 1 READ-ONLY.
|
DATA wbo_korr_flag TYPE c LENGTH 1 READ-ONLY.
|
||||||
DATA package_name TYPE string READ-ONLY.
|
|
||||||
DATA short_text TYPE string READ-ONLY.
|
|
||||||
DATA super_package_name TYPE string READ-ONLY.
|
|
||||||
DATA software_component TYPE string READ-ONLY.
|
DATA software_component TYPE string READ-ONLY.
|
||||||
DATA application_component TYPE string READ-ONLY.
|
DATA application_component TYPE string READ-ONLY.
|
||||||
DATA transport_layer TYPE string READ-ONLY.
|
DATA transport_layer TYPE string READ-ONLY.
|
||||||
|
|
48
deps/seoclasstx.tabl.xml
vendored
48
deps/seoclasstx.tabl.xml
vendored
|
@ -1,48 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_TABL" serializer_version="v1.0.0">
|
|
||||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
|
||||||
<asx:values>
|
|
||||||
<DD02V>
|
|
||||||
<TABNAME>SEOCLASSTX</TABNAME>
|
|
||||||
<DDLANGUAGE>E</DDLANGUAGE>
|
|
||||||
<TABCLASS>TRANSP</TABCLASS>
|
|
||||||
<DDTEXT>SEOCLASSTX</DDTEXT>
|
|
||||||
<CONTFLAG>A</CONTFLAG>
|
|
||||||
<EXCLASS>1</EXCLASS>
|
|
||||||
</DD02V>
|
|
||||||
<DD09L>
|
|
||||||
<TABNAME>SEOCLASSTX</TABNAME>
|
|
||||||
<AS4LOCAL>A</AS4LOCAL>
|
|
||||||
<TABKAT>0</TABKAT>
|
|
||||||
<TABART>APPL0</TABART>
|
|
||||||
<UEBERSETZ>N</UEBERSETZ>
|
|
||||||
<BUFALLOW>N</BUFALLOW>
|
|
||||||
</DD09L>
|
|
||||||
<DD03P_TABLE>
|
|
||||||
<DD03P>
|
|
||||||
<FIELDNAME>CLSNAME</FIELDNAME>
|
|
||||||
<KEYFLAG>X</KEYFLAG>
|
|
||||||
<ROLLNAME>SEOCLSNAME</ROLLNAME>
|
|
||||||
<ADMINFIELD>0</ADMINFIELD>
|
|
||||||
<NOTNULL>X</NOTNULL>
|
|
||||||
<COMPTYPE>E</COMPTYPE>
|
|
||||||
</DD03P>
|
|
||||||
<DD03P>
|
|
||||||
<FIELDNAME>LANGU</FIELDNAME>
|
|
||||||
<KEYFLAG>X</KEYFLAG>
|
|
||||||
<ROLLNAME>LANGU</ROLLNAME>
|
|
||||||
<ADMINFIELD>0</ADMINFIELD>
|
|
||||||
<NOTNULL>X</NOTNULL>
|
|
||||||
<COMPTYPE>E</COMPTYPE>
|
|
||||||
<LANGUFLAG>X</LANGUFLAG>
|
|
||||||
</DD03P>
|
|
||||||
<DD03P>
|
|
||||||
<FIELDNAME>DESCRIPT</FIELDNAME>
|
|
||||||
<ROLLNAME>SEODESCR</ROLLNAME>
|
|
||||||
<ADMINFIELD>0</ADMINFIELD>
|
|
||||||
<COMPTYPE>E</COMPTYPE>
|
|
||||||
</DD03P>
|
|
||||||
</DD03P_TABLE>
|
|
||||||
</asx:values>
|
|
||||||
</asx:abap>
|
|
||||||
</abapGit>
|
|
4
deps/tcdrs.tabl.xml
vendored
4
deps/tcdrs.tabl.xml
vendored
|
@ -14,9 +14,9 @@
|
||||||
<FIELDNAME>TABNAME</FIELDNAME>
|
<FIELDNAME>TABNAME</FIELDNAME>
|
||||||
<ADMINFIELD>0</ADMINFIELD>
|
<ADMINFIELD>0</ADMINFIELD>
|
||||||
<INTTYPE>C</INTTYPE>
|
<INTTYPE>C</INTTYPE>
|
||||||
<INTLEN>000060</INTLEN>
|
<INTLEN>000002</INTLEN>
|
||||||
<DATATYPE>CHAR</DATATYPE>
|
<DATATYPE>CHAR</DATATYPE>
|
||||||
<LENG>000030</LENG>
|
<LENG>000001</LENG>
|
||||||
<MASK> CHAR</MASK>
|
<MASK> CHAR</MASK>
|
||||||
</DD03P>
|
</DD03P>
|
||||||
</DD03P_TABLE>
|
</DD03P_TABLE>
|
||||||
|
|
25
package.json
25
package.json
|
@ -5,10 +5,10 @@
|
||||||
"test": "npm run eslint && npm run abaplint",
|
"test": "npm run eslint && npm run abaplint",
|
||||||
"merge": "abapmerge -f src/zabapgit.prog.abap -c zabapgit_standalone -o zabapgit.abap",
|
"merge": "abapmerge -f src/zabapgit.prog.abap -c zabapgit_standalone -o zabapgit.abap",
|
||||||
"merge.ci": "cp zabapgit.abap ci/zabapgit_standalone.prog.abap && cd ci && abaplint --format codeframe && cd ..",
|
"merge.ci": "cp zabapgit.abap ci/zabapgit_standalone.prog.abap && cd ci && abaplint --format codeframe && cd ..",
|
||||||
"build": "rm -rf output && abap_transpile test/abap_transpile.json && cp -f src/ui/zabapgit_icon_font.w3mi.data.woff output/",
|
"build": "rm -rf output && abap_transpile test/abap_transpile.json",
|
||||||
"unit": "npm run build && echo RUNNING && node output/index.mjs --skip-critical",
|
"unit": "npm run build && echo RUNNING && node output/index.mjs",
|
||||||
"coverage": "npm run unit && c8 node output/index.mjs --skip-critical && c8 report --reporter=html",
|
"coverage": "npm run unit && c8 node output/index.mjs && c8 report --reporter=html",
|
||||||
"integration": "npm run build && echo RUNNING && node output/index.mjs --only-critical",
|
"integration": "rm -rf output && cp test/abap_transpile.json test/abap_transpile_int.json && sed -i 's/src,deps/test\\/src,src,deps/g' test/abap_transpile_int.json && abap_transpile test/abap_transpile_int.json && echo RUNNING && node output/index.mjs",
|
||||||
"abaplint": "abaplint --format codeframe",
|
"abaplint": "abaplint --format codeframe",
|
||||||
"eslint": "eslint src"
|
"eslint": "eslint src"
|
||||||
},
|
},
|
||||||
|
@ -23,14 +23,13 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@abaplint/cli": "^2.113.110",
|
"@abaplint/cli": "^2.110.1",
|
||||||
"@abaplint/database-sqlite": "^2.10.24",
|
"@abaplint/database-sqlite": "^2.8.25",
|
||||||
"@abaplint/runtime": "^2.10.44",
|
"@abaplint/runtime": "^2.8.27",
|
||||||
"express": "^4.21.2",
|
"@abaplint/transpiler-cli": "^2.8.27",
|
||||||
"@abaplint/transpiler-cli": "^2.10.44",
|
"globals": "^15.5.0",
|
||||||
"globals": "^16.0.0",
|
"abapmerge": "^0.16.0",
|
||||||
"abapmerge": "^0.16.6",
|
"c8": "^10.1.2",
|
||||||
"c8": "^10.1.3",
|
"eslint": "^9.5.0"
|
||||||
"eslint": "^9.25.1"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -178,7 +178,7 @@ CLASS zcl_abapgit_apack_migration IMPLEMENTATION.
|
||||||
component_error = 4
|
component_error = 4
|
||||||
no_access = 5
|
no_access = 5
|
||||||
other = 6
|
other = 6
|
||||||
OTHERS = 7 ##FM_SUBRC_OK.
|
OTHERS = 7.
|
||||||
CATCH cx_sy_dyn_call_param_not_found.
|
CATCH cx_sy_dyn_call_param_not_found.
|
||||||
CALL FUNCTION 'SEO_INTERFACE_CREATE_COMPLETE'
|
CALL FUNCTION 'SEO_INTERFACE_CREATE_COMPLETE'
|
||||||
EXPORTING
|
EXPORTING
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
*"* use this source file for your ABAP unit test classes
|
||||||
CLASS ltcl_apack_manifest_reader DEFINITION FOR TESTING RISK LEVEL HARMLESS DURATION SHORT.
|
CLASS ltcl_apack_manifest_reader DEFINITION FOR TESTING RISK LEVEL HARMLESS DURATION SHORT.
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
METHODS:
|
METHODS:
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
*"* use this source file for your ABAP unit test classes
|
||||||
CLASS ltcl_apack_manifest_writer DEFINITION FOR TESTING RISK LEVEL HARMLESS DURATION SHORT.
|
CLASS ltcl_apack_manifest_writer DEFINITION FOR TESTING RISK LEVEL HARMLESS DURATION SHORT.
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
METHODS: the_serializator FOR TESTING RAISING cx_static_check.
|
METHODS: the_serializator FOR TESTING RAISING cx_static_check.
|
||||||
|
|
|
@ -26,7 +26,6 @@ CLASS zcl_abapgit_background DEFINITION
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
CONSTANTS c_enq_type TYPE c LENGTH 12 VALUE 'BACKGROUND'.
|
CONSTANTS c_enq_type TYPE c LENGTH 12 VALUE 'BACKGROUND'.
|
||||||
CONSTANTS c_interface TYPE seoclskey VALUE 'ZIF_ABAPGIT_BACKGROUND'.
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
@ -60,69 +59,36 @@ CLASS zcl_abapgit_background IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD list_methods.
|
METHOD list_methods.
|
||||||
|
|
||||||
DATA: ls_method LIKE LINE OF rt_methods,
|
DATA: ls_method LIKE LINE OF rt_methods,
|
||||||
lt_implementing TYPE seor_implementing_keys,
|
ls_key TYPE seoclskey,
|
||||||
ls_implementing LIKE LINE OF lt_implementing,
|
lt_implementing TYPE seor_implementing_keys,
|
||||||
lt_interf TYPE abap_intfdescr_tab,
|
ls_implementing LIKE LINE OF lt_implementing.
|
||||||
lt_local_classes TYPE STANDARD TABLE OF scompo,
|
|
||||||
lv_classname TYPE string,
|
|
||||||
lr_typedescr TYPE REF TO cl_abap_typedescr,
|
|
||||||
lr_typedescr_class TYPE REF TO cl_abap_classdescr.
|
|
||||||
|
|
||||||
FIELD-SYMBOLS: <ls_local_class> LIKE LINE OF lt_local_classes,
|
FIELD-SYMBOLS: <ls_method> LIKE LINE OF rt_methods.
|
||||||
<ls_method> LIKE LINE OF rt_methods.
|
|
||||||
|
|
||||||
IF zcl_abapgit_factory=>get_environment( )->is_merged( ) = abap_true.
|
|
||||||
" Assume the standalone version runs.
|
|
||||||
CALL FUNCTION 'WB_TREE_GET_OBJECTS'
|
|
||||||
EXPORTING
|
|
||||||
include = ' '
|
|
||||||
otype = 'L'
|
|
||||||
program = sy-repid
|
|
||||||
TABLES
|
|
||||||
olist = lt_local_classes.
|
|
||||||
|
|
||||||
LOOP AT lt_local_classes ASSIGNING <ls_local_class>.
|
* in order to handle local classes in the compiled report
|
||||||
lv_classname = |\\PROGRAM={ sy-repid }\\CLASS={ <ls_local_class>-name }|.
|
ls_method-class = 'ZCL_ABAPGIT_BACKGROUND_PULL'.
|
||||||
cl_abap_typedescr=>describe_by_name(
|
INSERT ls_method INTO TABLE rt_methods.
|
||||||
EXPORTING
|
ls_method-class = 'ZCL_ABAPGIT_BACKGROUND_PUSH_AU'.
|
||||||
p_name = lv_classname
|
INSERT ls_method INTO TABLE rt_methods.
|
||||||
RECEIVING
|
ls_method-class = 'ZCL_ABAPGIT_BACKGROUND_PUSH_FI'.
|
||||||
p_descr_ref = lr_typedescr
|
INSERT ls_method INTO TABLE rt_methods.
|
||||||
EXCEPTIONS
|
|
||||||
type_not_found = 1
|
|
||||||
OTHERS = 2 ).
|
|
||||||
|
|
||||||
IF sy-subrc = 0 AND lr_typedescr IS BOUND.
|
ls_key-clsname = 'ZIF_ABAPGIT_BACKGROUND'.
|
||||||
lr_typedescr_class ?= lr_typedescr.
|
|
||||||
IF lr_typedescr_class IS BOUND.
|
|
||||||
lt_interf = lr_typedescr_class->interfaces.
|
|
||||||
READ TABLE lt_interf WITH TABLE KEY name = c_interface TRANSPORTING NO FIELDS.
|
|
||||||
IF sy-subrc = 0.
|
|
||||||
ls_method-class = <ls_local_class>-name.
|
|
||||||
INSERT ls_method INTO TABLE rt_methods.
|
|
||||||
ENDIF.
|
|
||||||
ENDIF.
|
|
||||||
ENDIF.
|
|
||||||
ENDLOOP.
|
|
||||||
|
|
||||||
ELSE.
|
CALL FUNCTION 'SEO_INTERFACE_IMPLEM_GET_ALL'
|
||||||
" Assume the developer version runs.
|
EXPORTING
|
||||||
CALL FUNCTION 'SEO_INTERFACE_IMPLEM_GET_ALL'
|
intkey = ls_key
|
||||||
EXPORTING
|
IMPORTING
|
||||||
intkey = c_interface
|
impkeys = lt_implementing
|
||||||
IMPORTING
|
EXCEPTIONS
|
||||||
impkeys = lt_implementing
|
not_existing = 1
|
||||||
EXCEPTIONS
|
OTHERS = 2 ##FM_SUBRC_OK.
|
||||||
not_existing = 1
|
LOOP AT lt_implementing INTO ls_implementing.
|
||||||
OTHERS = 2.
|
ls_method-class = ls_implementing-clsname.
|
||||||
IF sy-subrc = 0.
|
INSERT ls_method INTO TABLE rt_methods.
|
||||||
LOOP AT lt_implementing INTO ls_implementing.
|
ENDLOOP.
|
||||||
ls_method-class = ls_implementing-clsname.
|
|
||||||
INSERT ls_method INTO TABLE rt_methods.
|
|
||||||
ENDLOOP.
|
|
||||||
ENDIF.
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
LOOP AT rt_methods ASSIGNING <ls_method>.
|
LOOP AT rt_methods ASSIGNING <ls_method>.
|
||||||
CALL METHOD (<ls_method>-class)=>zif_abapgit_background~get_description
|
CALL METHOD (<ls_method>-class)=>zif_abapgit_background~get_description
|
||||||
|
@ -135,14 +101,13 @@ CLASS zcl_abapgit_background IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD run.
|
METHOD run.
|
||||||
|
|
||||||
DATA:
|
DATA: lo_per TYPE REF TO zcl_abapgit_persist_background,
|
||||||
li_repo TYPE REF TO zif_abapgit_repo,
|
lo_repo TYPE REF TO zcl_abapgit_repo_online,
|
||||||
li_repo_online TYPE REF TO zif_abapgit_repo_online,
|
lt_list TYPE zcl_abapgit_persist_background=>ty_background_keys,
|
||||||
lt_list TYPE zif_abapgit_persist_background=>ty_background_keys,
|
li_background TYPE REF TO zif_abapgit_background,
|
||||||
li_background TYPE REF TO zif_abapgit_background,
|
li_log TYPE REF TO zif_abapgit_log,
|
||||||
li_log TYPE REF TO zif_abapgit_log,
|
lx_error TYPE REF TO zcx_abapgit_exception,
|
||||||
lx_error TYPE REF TO zcx_abapgit_exception,
|
lv_repo_name TYPE string.
|
||||||
lv_repo_name TYPE string.
|
|
||||||
|
|
||||||
FIELD-SYMBOLS: <ls_list> LIKE LINE OF lt_list.
|
FIELD-SYMBOLS: <ls_list> LIKE LINE OF lt_list.
|
||||||
|
|
||||||
|
@ -153,7 +118,8 @@ CLASS zcl_abapgit_background IMPLEMENTATION.
|
||||||
RETURN.
|
RETURN.
|
||||||
ENDTRY.
|
ENDTRY.
|
||||||
|
|
||||||
lt_list = zcl_abapgit_persist_factory=>get_background( )->list( ).
|
CREATE OBJECT lo_per.
|
||||||
|
lt_list = lo_per->list( ).
|
||||||
|
|
||||||
WRITE: / 'Background mode'.
|
WRITE: / 'Background mode'.
|
||||||
|
|
||||||
|
@ -161,30 +127,24 @@ CLASS zcl_abapgit_background IMPLEMENTATION.
|
||||||
CREATE OBJECT li_log TYPE zcl_abapgit_log.
|
CREATE OBJECT li_log TYPE zcl_abapgit_log.
|
||||||
|
|
||||||
TRY.
|
TRY.
|
||||||
li_repo = zcl_abapgit_repo_srv=>get_instance( )->get( <ls_list>-key ).
|
lo_repo ?= zcl_abapgit_repo_srv=>get_instance( )->get( <ls_list>-key ).
|
||||||
li_repo_online ?= li_repo.
|
lv_repo_name = lo_repo->get_name( ).
|
||||||
lv_repo_name = li_repo->get_name( ).
|
|
||||||
WRITE: / <ls_list>-method, lv_repo_name.
|
WRITE: / <ls_list>-method, lv_repo_name.
|
||||||
|
|
||||||
zcl_abapgit_login_manager=>set(
|
zcl_abapgit_login_manager=>set(
|
||||||
iv_uri = li_repo_online->get_url( )
|
iv_uri = lo_repo->get_url( )
|
||||||
iv_username = <ls_list>-username
|
iv_username = <ls_list>-username
|
||||||
iv_password = <ls_list>-password ).
|
iv_password = <ls_list>-password ).
|
||||||
|
|
||||||
TRY.
|
CREATE OBJECT li_background TYPE (<ls_list>-method).
|
||||||
CREATE OBJECT li_background TYPE (<ls_list>-method).
|
|
||||||
|
|
||||||
li_background->run(
|
li_background->run(
|
||||||
ii_repo_online = li_repo_online
|
io_repo = lo_repo
|
||||||
ii_log = li_log
|
ii_log = li_log
|
||||||
it_settings = <ls_list>-settings ).
|
it_settings = <ls_list>-settings ).
|
||||||
CATCH cx_sy_create_object_error.
|
|
||||||
li_log->add_warning( |{ <ls_list>-method } could not be executed,|
|
|
||||||
& | as it is not accessible (local/global class).| ).
|
|
||||||
ENDTRY.
|
|
||||||
|
|
||||||
" Decrease memory usage for repository already processed (but keep log)
|
" Decrease memory usage for repository already processed (but keep log)
|
||||||
li_repo->refresh(
|
lo_repo->refresh(
|
||||||
iv_drop_cache = abap_true
|
iv_drop_cache = abap_true
|
||||||
iv_drop_log = abap_false ).
|
iv_drop_log = abap_false ).
|
||||||
CATCH zcx_abapgit_exception INTO lx_error.
|
CATCH zcx_abapgit_exception INTO lx_error.
|
||||||
|
|
|
@ -30,14 +30,12 @@ CLASS zcl_abapgit_background_pull IMPLEMENTATION.
|
||||||
|
|
||||||
DATA: ls_checks TYPE zif_abapgit_definitions=>ty_deserialize_checks,
|
DATA: ls_checks TYPE zif_abapgit_definitions=>ty_deserialize_checks,
|
||||||
lo_settings TYPE REF TO zcl_abapgit_settings,
|
lo_settings TYPE REF TO zcl_abapgit_settings,
|
||||||
li_repo TYPE REF TO zif_abapgit_repo,
|
|
||||||
lv_activation_setting TYPE zif_abapgit_definitions=>ty_s_user_settings-activate_wo_popup.
|
lv_activation_setting TYPE zif_abapgit_definitions=>ty_s_user_settings-activate_wo_popup.
|
||||||
|
|
||||||
FIELD-SYMBOLS: <ls_overwrite> LIKE LINE OF ls_checks-overwrite.
|
FIELD-SYMBOLS: <ls_overwrite> LIKE LINE OF ls_checks-overwrite.
|
||||||
|
|
||||||
li_repo = ii_repo_online.
|
|
||||||
|
|
||||||
ls_checks = li_repo->deserialize_checks( ).
|
ls_checks = io_repo->deserialize_checks( ).
|
||||||
|
|
||||||
LOOP AT ls_checks-overwrite ASSIGNING <ls_overwrite>.
|
LOOP AT ls_checks-overwrite ASSIGNING <ls_overwrite>.
|
||||||
<ls_overwrite>-decision = zif_abapgit_definitions=>c_yes.
|
<ls_overwrite>-decision = zif_abapgit_definitions=>c_yes.
|
||||||
|
@ -48,14 +46,7 @@ CLASS zcl_abapgit_background_pull IMPLEMENTATION.
|
||||||
|
|
||||||
lo_settings->set_activate_wo_popup( abap_true ).
|
lo_settings->set_activate_wo_popup( abap_true ).
|
||||||
|
|
||||||
|
io_repo->deserialize( is_checks = ls_checks
|
||||||
" pass decisions to delete
|
|
||||||
zcl_abapgit_services_repo=>delete_unnecessary_objects(
|
|
||||||
ii_repo = li_repo
|
|
||||||
is_checks = ls_checks
|
|
||||||
ii_log = ii_log ).
|
|
||||||
|
|
||||||
li_repo->deserialize( is_checks = ls_checks
|
|
||||||
ii_log = ii_log ).
|
ii_log = ii_log ).
|
||||||
|
|
||||||
lo_settings->set_activate_wo_popup( lv_activation_setting ).
|
lo_settings->set_activate_wo_popup( lv_activation_setting ).
|
||||||
|
|
|
@ -17,7 +17,7 @@ CLASS zcl_abapgit_background_push_au DEFINITION
|
||||||
VALUE(rv_comment) TYPE string .
|
VALUE(rv_comment) TYPE string .
|
||||||
METHODS push_auto
|
METHODS push_auto
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!ii_repo_online TYPE REF TO zif_abapgit_repo_online
|
!io_repo TYPE REF TO zcl_abapgit_repo_online
|
||||||
RAISING
|
RAISING
|
||||||
zcx_abapgit_exception .
|
zcx_abapgit_exception .
|
||||||
METHODS determine_user_details
|
METHODS determine_user_details
|
||||||
|
@ -27,8 +27,8 @@ CLASS zcl_abapgit_background_push_au DEFINITION
|
||||||
VALUE(rs_user) TYPE zif_abapgit_git_definitions=>ty_git_user .
|
VALUE(rs_user) TYPE zif_abapgit_git_definitions=>ty_git_user .
|
||||||
METHODS push_deletions
|
METHODS push_deletions
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!ii_repo_online TYPE REF TO zif_abapgit_repo_online
|
!io_repo TYPE REF TO zcl_abapgit_repo_online
|
||||||
!is_files TYPE zif_abapgit_definitions=>ty_stage_files
|
!is_files TYPE zif_abapgit_definitions=>ty_stage_files
|
||||||
RAISING
|
RAISING
|
||||||
zcx_abapgit_exception .
|
zcx_abapgit_exception .
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
|
@ -69,12 +69,12 @@ CLASS zcl_abapgit_background_push_au IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD determine_user_details.
|
METHOD determine_user_details.
|
||||||
|
|
||||||
DATA li_user_record TYPE REF TO zif_abapgit_user_record.
|
DATA: lo_user_record TYPE REF TO zcl_abapgit_user_record.
|
||||||
|
|
||||||
|
|
||||||
li_user_record = zcl_abapgit_env_factory=>get_user_record( ).
|
lo_user_record = zcl_abapgit_user_record=>get_instance( iv_changed_by ).
|
||||||
rs_user-name = li_user_record->get_name( iv_changed_by ).
|
rs_user-name = lo_user_record->get_name( ).
|
||||||
rs_user-email = li_user_record->get_email( iv_changed_by ).
|
rs_user-email = lo_user_record->get_email( ).
|
||||||
|
|
||||||
* If no email, fall back to localhost/default email
|
* If no email, fall back to localhost/default email
|
||||||
IF rs_user-email IS INITIAL.
|
IF rs_user-email IS INITIAL.
|
||||||
|
@ -110,7 +110,7 @@ CLASS zcl_abapgit_background_push_au IMPLEMENTATION.
|
||||||
<ls_local> LIKE LINE OF ls_files-local.
|
<ls_local> LIKE LINE OF ls_files-local.
|
||||||
|
|
||||||
|
|
||||||
ls_files = zcl_abapgit_stage_logic=>get_stage_logic( )->get( ii_repo_online ).
|
ls_files = zcl_abapgit_factory=>get_stage_logic( )->get( io_repo ).
|
||||||
|
|
||||||
LOOP AT ls_files-local ASSIGNING <ls_local>.
|
LOOP AT ls_files-local ASSIGNING <ls_local>.
|
||||||
lv_changed_by = zcl_abapgit_objects=>changed_by(
|
lv_changed_by = zcl_abapgit_objects=>changed_by(
|
||||||
|
@ -172,13 +172,13 @@ CLASS zcl_abapgit_background_push_au IMPLEMENTATION.
|
||||||
|
|
||||||
ls_comment-comment = build_comment( ls_user_files ).
|
ls_comment-comment = build_comment( ls_user_files ).
|
||||||
|
|
||||||
ii_repo_online->push( is_comment = ls_comment
|
io_repo->push( is_comment = ls_comment
|
||||||
io_stage = lo_stage ).
|
io_stage = lo_stage ).
|
||||||
ENDLOOP.
|
ENDLOOP.
|
||||||
|
|
||||||
IF lines( ls_files-remote ) > 0.
|
IF lines( ls_files-remote ) > 0.
|
||||||
push_deletions( ii_repo_online = ii_repo_online
|
push_deletions( io_repo = io_repo
|
||||||
is_files = ls_files ).
|
is_files = ls_files ).
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
@ -212,8 +212,8 @@ CLASS zcl_abapgit_background_push_au IMPLEMENTATION.
|
||||||
ls_comment-committer-name = 'Deletion'.
|
ls_comment-committer-name = 'Deletion'.
|
||||||
ls_comment-committer-email = 'deletion@localhost'.
|
ls_comment-committer-email = 'deletion@localhost'.
|
||||||
|
|
||||||
ii_repo_online->push( is_comment = ls_comment
|
io_repo->push( is_comment = ls_comment
|
||||||
io_stage = lo_stage ).
|
io_stage = lo_stage ).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
@ -237,14 +237,14 @@ CLASS zcl_abapgit_background_push_au IMPLEMENTATION.
|
||||||
DATA: ls_files TYPE zif_abapgit_definitions=>ty_stage_files.
|
DATA: ls_files TYPE zif_abapgit_definitions=>ty_stage_files.
|
||||||
|
|
||||||
mi_log = ii_log.
|
mi_log = ii_log.
|
||||||
ls_files = zcl_abapgit_stage_logic=>get_stage_logic( )->get( ii_repo_online ).
|
ls_files = zcl_abapgit_factory=>get_stage_logic( )->get( io_repo ).
|
||||||
|
|
||||||
IF lines( ls_files-local ) = 0 AND lines( ls_files-remote ) = 0.
|
IF lines( ls_files-local ) = 0 AND lines( ls_files-remote ) = 0.
|
||||||
ii_log->add_info( 'Nothing to stage' ).
|
ii_log->add_info( 'Nothing to stage' ).
|
||||||
RETURN.
|
RETURN.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
push_auto( ii_repo_online ).
|
push_auto( io_repo ).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
|
@ -22,9 +22,9 @@ CLASS zcl_abapgit_background_push_fi DEFINITION
|
||||||
VALUE(rv_comment) TYPE string .
|
VALUE(rv_comment) TYPE string .
|
||||||
METHODS push_fixed
|
METHODS push_fixed
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!ii_repo_online TYPE REF TO zif_abapgit_repo_online
|
!io_repo TYPE REF TO zcl_abapgit_repo_online
|
||||||
!iv_name TYPE string
|
!iv_name TYPE string
|
||||||
!iv_email TYPE string
|
!iv_email TYPE string
|
||||||
RAISING
|
RAISING
|
||||||
zcx_abapgit_exception .
|
zcx_abapgit_exception .
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
|
@ -73,7 +73,7 @@ CLASS zcl_abapgit_background_push_fi IMPLEMENTATION.
|
||||||
<ls_remote> LIKE LINE OF ls_files-remote.
|
<ls_remote> LIKE LINE OF ls_files-remote.
|
||||||
|
|
||||||
|
|
||||||
ls_files = zcl_abapgit_stage_logic=>get_stage_logic( )->get( ii_repo_online ).
|
ls_files = zcl_abapgit_factory=>get_stage_logic( )->get( io_repo ).
|
||||||
ASSERT lines( ls_files-local ) > 0
|
ASSERT lines( ls_files-local ) > 0
|
||||||
OR lines( ls_files-remote ) > 0.
|
OR lines( ls_files-remote ) > 0.
|
||||||
|
|
||||||
|
@ -99,8 +99,8 @@ CLASS zcl_abapgit_background_push_fi IMPLEMENTATION.
|
||||||
ls_comment-committer-email = iv_email.
|
ls_comment-committer-email = iv_email.
|
||||||
ls_comment-comment = build_comment( ls_files ).
|
ls_comment-comment = build_comment( ls_files ).
|
||||||
|
|
||||||
ii_repo_online->push( is_comment = ls_comment
|
io_repo->push( is_comment = ls_comment
|
||||||
io_stage = lo_stage ).
|
io_stage = lo_stage ).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
@ -142,7 +142,7 @@ CLASS zcl_abapgit_background_push_fi IMPLEMENTATION.
|
||||||
lv_email TYPE string.
|
lv_email TYPE string.
|
||||||
|
|
||||||
mi_log = ii_log.
|
mi_log = ii_log.
|
||||||
ls_files = zcl_abapgit_stage_logic=>get_stage_logic( )->get( ii_repo_online ).
|
ls_files = zcl_abapgit_factory=>get_stage_logic( )->get( io_repo ).
|
||||||
|
|
||||||
IF lines( ls_files-local ) = 0 AND lines( ls_files-remote ) = 0.
|
IF lines( ls_files-local ) = 0 AND lines( ls_files-remote ) = 0.
|
||||||
ii_log->add_info( 'Nothing to stage' ).
|
ii_log->add_info( 'Nothing to stage' ).
|
||||||
|
@ -156,9 +156,9 @@ CLASS zcl_abapgit_background_push_fi IMPLEMENTATION.
|
||||||
lv_email = ls_setting-value.
|
lv_email = ls_setting-value.
|
||||||
|
|
||||||
push_fixed(
|
push_fixed(
|
||||||
ii_repo_online = ii_repo_online
|
io_repo = io_repo
|
||||||
iv_name = lv_name
|
iv_name = lv_name
|
||||||
iv_email = lv_email ).
|
iv_email = lv_email ).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
|
@ -18,9 +18,9 @@ INTERFACE zif_abapgit_background
|
||||||
ct_settings TYPE ty_settings_tt .
|
ct_settings TYPE ty_settings_tt .
|
||||||
METHODS run
|
METHODS run
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!ii_repo_online TYPE REF TO zif_abapgit_repo_online
|
!io_repo TYPE REF TO zcl_abapgit_repo_online
|
||||||
!ii_log TYPE REF TO zif_abapgit_log
|
!ii_log TYPE REF TO zif_abapgit_log
|
||||||
!it_settings TYPE ty_settings_tt OPTIONAL
|
!it_settings TYPE ty_settings_tt OPTIONAL
|
||||||
RAISING
|
RAISING
|
||||||
zcx_abapgit_exception .
|
zcx_abapgit_exception .
|
||||||
ENDINTERFACE.
|
ENDINTERFACE.
|
||||||
|
|
|
@ -21,7 +21,7 @@ CLASS zcl_abapgit_cts_api DEFINITION
|
||||||
"! @raising zcx_abapgit_exception | Object is not locked in a transport
|
"! @raising zcx_abapgit_exception | Object is not locked in a transport
|
||||||
METHODS get_current_transport_for_obj
|
METHODS get_current_transport_for_obj
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!iv_program_id TYPE tadir-pgmid DEFAULT 'R3TR'
|
!iv_program_id TYPE pgmid DEFAULT 'R3TR'
|
||||||
!iv_object_type TYPE trobjtype
|
!iv_object_type TYPE trobjtype
|
||||||
!iv_object_name TYPE sobj_name
|
!iv_object_name TYPE sobj_name
|
||||||
RETURNING
|
RETURNING
|
||||||
|
@ -36,7 +36,7 @@ CLASS zcl_abapgit_cts_api DEFINITION
|
||||||
"! @raising zcx_abapgit_exception | Object is not locked in a transport
|
"! @raising zcx_abapgit_exception | Object is not locked in a transport
|
||||||
METHODS get_current_transport_from_db
|
METHODS get_current_transport_from_db
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!iv_program_id TYPE tadir-pgmid DEFAULT 'R3TR'
|
!iv_program_id TYPE pgmid DEFAULT 'R3TR'
|
||||||
!iv_object_type TYPE trobjtype
|
!iv_object_type TYPE trobjtype
|
||||||
!iv_object_name TYPE sobj_name
|
!iv_object_name TYPE sobj_name
|
||||||
RETURNING
|
RETURNING
|
||||||
|
@ -51,7 +51,7 @@ CLASS zcl_abapgit_cts_api DEFINITION
|
||||||
"! @raising zcx_abapgit_exception | Object type is not lockable
|
"! @raising zcx_abapgit_exception | Object type is not lockable
|
||||||
METHODS is_object_locked_in_transport
|
METHODS is_object_locked_in_transport
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!iv_program_id TYPE tadir-pgmid DEFAULT 'R3TR'
|
!iv_program_id TYPE pgmid DEFAULT 'R3TR'
|
||||||
!iv_object_type TYPE trobjtype
|
!iv_object_type TYPE trobjtype
|
||||||
!iv_object_name TYPE sobj_name
|
!iv_object_name TYPE sobj_name
|
||||||
RETURNING
|
RETURNING
|
||||||
|
@ -64,7 +64,7 @@ CLASS zcl_abapgit_cts_api DEFINITION
|
||||||
"! @parameter rv_lockable | Lockable
|
"! @parameter rv_lockable | Lockable
|
||||||
METHODS is_object_type_lockable
|
METHODS is_object_type_lockable
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!iv_program_id TYPE tadir-pgmid DEFAULT 'R3TR'
|
!iv_program_id TYPE pgmid DEFAULT 'R3TR'
|
||||||
!iv_object_type TYPE trobjtype
|
!iv_object_type TYPE trobjtype
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(rv_lockable) TYPE abap_bool .
|
VALUE(rv_lockable) TYPE abap_bool .
|
||||||
|
@ -74,7 +74,7 @@ CLASS zcl_abapgit_cts_api DEFINITION
|
||||||
"! @parameter rv_transportable | Transportable
|
"! @parameter rv_transportable | Transportable
|
||||||
METHODS is_object_type_transportable
|
METHODS is_object_type_transportable
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!iv_program_id TYPE tadir-pgmid DEFAULT 'R3TR'
|
!iv_program_id TYPE pgmid DEFAULT 'R3TR'
|
||||||
!iv_object_type TYPE trobjtype
|
!iv_object_type TYPE trobjtype
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(rv_transportable) TYPE abap_bool .
|
VALUE(rv_transportable) TYPE abap_bool .
|
||||||
|
@ -89,9 +89,6 @@ CLASS zcl_abapgit_cts_api IMPLEMENTATION.
|
||||||
DATA: lv_object_lockable TYPE abap_bool,
|
DATA: lv_object_lockable TYPE abap_bool,
|
||||||
lv_locked TYPE abap_bool,
|
lv_locked TYPE abap_bool,
|
||||||
lv_transport_request TYPE trkorr,
|
lv_transport_request TYPE trkorr,
|
||||||
ls_tlock TYPE tlock,
|
|
||||||
lt_tlock TYPE STANDARD TABLE OF tlock WITH DEFAULT KEY,
|
|
||||||
lt_transports TYPE STANDARD TABLE OF trkorr WITH DEFAULT KEY,
|
|
||||||
lv_task TYPE trkorr,
|
lv_task TYPE trkorr,
|
||||||
lv_tr_object_name TYPE trobj_name.
|
lv_tr_object_name TYPE trobj_name.
|
||||||
|
|
||||||
|
@ -107,8 +104,6 @@ CLASS zcl_abapgit_cts_api IMPLEMENTATION.
|
||||||
we_locked = lv_locked
|
we_locked = lv_locked
|
||||||
we_lock_order = lv_transport_request
|
we_lock_order = lv_transport_request
|
||||||
we_lock_task = lv_task
|
we_lock_task = lv_task
|
||||||
TABLES
|
|
||||||
wt_tlock = lt_tlock
|
|
||||||
EXCEPTIONS
|
EXCEPTIONS
|
||||||
empty_key = 1
|
empty_key = 1
|
||||||
no_systemname = 2
|
no_systemname = 2
|
||||||
|
@ -127,15 +122,7 @@ CLASS zcl_abapgit_cts_api IMPLEMENTATION.
|
||||||
zcx_abapgit_exception=>raise( |Object type { iv_program_id }-{ iv_object_type } not lockable| ).
|
zcx_abapgit_exception=>raise( |Object type { iv_program_id }-{ iv_object_type } not lockable| ).
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
LOOP AT lt_tlock INTO ls_tlock.
|
rv_transport = lv_transport_request.
|
||||||
COLLECT ls_tlock-trkorr INTO lt_transports.
|
|
||||||
ENDLOOP.
|
|
||||||
|
|
||||||
IF lines( lt_transports ) = 1.
|
|
||||||
rv_transport = lv_transport_request.
|
|
||||||
ELSE.
|
|
||||||
rv_transport = zif_abapgit_definitions=>c_multiple_transports.
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
@ -222,7 +209,7 @@ CLASS zcl_abapgit_cts_api IMPLEMENTATION.
|
||||||
IMPORTING
|
IMPORTING
|
||||||
pe_result = lv_type_check_result.
|
pe_result = lv_type_check_result.
|
||||||
|
|
||||||
rv_transportable = boolc( lv_type_check_result CA 'RTL' OR iv_object_type = 'TABU' ).
|
rv_transportable = boolc( lv_type_check_result CA 'RTL' ).
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
@ -358,9 +345,6 @@ CLASS zcl_abapgit_cts_api IMPLEMENTATION.
|
||||||
DATA lt_table_keys TYPE STANDARD TABLE OF e071k.
|
DATA lt_table_keys TYPE STANDARD TABLE OF e071k.
|
||||||
DATA lv_with_dialog TYPE abap_bool.
|
DATA lv_with_dialog TYPE abap_bool.
|
||||||
|
|
||||||
FIELD-SYMBOLS <ls_table> LIKE LINE OF lt_tables.
|
|
||||||
FIELD-SYMBOLS <ls_table_key> LIKE LINE OF lt_table_keys.
|
|
||||||
|
|
||||||
cl_table_utilities_brf=>create_transport_entries(
|
cl_table_utilities_brf=>create_transport_entries(
|
||||||
EXPORTING
|
EXPORTING
|
||||||
it_table_ins = it_table_ins
|
it_table_ins = it_table_ins
|
||||||
|
@ -376,7 +360,6 @@ CLASS zcl_abapgit_cts_api IMPLEMENTATION.
|
||||||
CALL FUNCTION 'TR_OBJECTS_CHECK'
|
CALL FUNCTION 'TR_OBJECTS_CHECK'
|
||||||
TABLES
|
TABLES
|
||||||
wt_ko200 = lt_tables
|
wt_ko200 = lt_tables
|
||||||
wt_e071k = lt_table_keys
|
|
||||||
EXCEPTIONS
|
EXCEPTIONS
|
||||||
cancel_edit_other_error = 1
|
cancel_edit_other_error = 1
|
||||||
show_only_other_error = 2
|
show_only_other_error = 2
|
||||||
|
@ -389,24 +372,15 @@ CLASS zcl_abapgit_cts_api IMPLEMENTATION.
|
||||||
lv_with_dialog = abap_true.
|
lv_with_dialog = abap_true.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
READ TABLE lt_tables ASSIGNING <ls_table> INDEX 1.
|
CALL FUNCTION 'TRINT_OBJECTS_CHECK_AND_INSERT'
|
||||||
ASSERT sy-subrc = 0.
|
|
||||||
|
|
||||||
LOOP AT lt_table_keys ASSIGNING <ls_table_key>.
|
|
||||||
<ls_table_key>-objfunc = <ls_table>-objfunc.
|
|
||||||
ENDLOOP.
|
|
||||||
|
|
||||||
CALL FUNCTION 'TR_OBJECT_INSERT'
|
|
||||||
EXPORTING
|
EXPORTING
|
||||||
wi_order = iv_transport
|
iv_order = iv_transport
|
||||||
wi_ko200 = <ls_table>
|
iv_with_dialog = lv_with_dialog
|
||||||
iv_no_show_option = abap_true
|
CHANGING
|
||||||
TABLES
|
ct_ko200 = lt_tables
|
||||||
wt_e071k = lt_table_keys
|
ct_e071k = lt_table_keys
|
||||||
EXCEPTIONS
|
EXCEPTIONS
|
||||||
cancel_edit_other_error = 1
|
OTHERS = 1.
|
||||||
show_only_other_error = 2
|
|
||||||
OTHERS = 3.
|
|
||||||
IF sy-subrc <> 0.
|
IF sy-subrc <> 0.
|
||||||
zcx_abapgit_exception=>raise_t100( ).
|
zcx_abapgit_exception=>raise_t100( ).
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
@ -483,12 +457,8 @@ CLASS zcl_abapgit_cts_api IMPLEMENTATION.
|
||||||
WHERE object = ls_lock_key-obj
|
WHERE object = ls_lock_key-obj
|
||||||
AND hikey >= ls_lock_key-low
|
AND hikey >= ls_lock_key-low
|
||||||
AND lokey <= ls_lock_key-hi. "#EC PORTABLE
|
AND lokey <= ls_lock_key-hi. "#EC PORTABLE
|
||||||
IF lv_request IS INITIAL.
|
lv_request = <ls_tlock>-trkorr.
|
||||||
lv_request = <ls_tlock>-trkorr.
|
EXIT.
|
||||||
ELSE.
|
|
||||||
lv_request = zif_abapgit_definitions=>c_multiple_transports.
|
|
||||||
EXIT.
|
|
||||||
ENDIF.
|
|
||||||
ENDLOOP.
|
ENDLOOP.
|
||||||
ELSEIF is_object_type_transportable( <ls_item>-obj_type ) = abap_true.
|
ELSEIF is_object_type_transportable( <ls_item>-obj_type ) = abap_true.
|
||||||
lv_request = get_current_transport_from_db(
|
lv_request = get_current_transport_from_db(
|
||||||
|
@ -640,7 +610,7 @@ CLASS zcl_abapgit_cts_api IMPLEMENTATION.
|
||||||
ev_object = ls_list-object
|
ev_object = ls_list-object
|
||||||
ev_obj_name = ls_list-obj_name ).
|
ev_obj_name = ls_list-obj_name ).
|
||||||
INSERT ls_list INTO TABLE rt_list.
|
INSERT ls_list INTO TABLE rt_list.
|
||||||
CATCH zcx_abapgit_exception ##NO_HANDLER.
|
CATCH zcx_abapgit_exception.
|
||||||
ENDTRY.
|
ENDTRY.
|
||||||
ENDCASE.
|
ENDCASE.
|
||||||
ENDLOOP.
|
ENDLOOP.
|
||||||
|
|
|
@ -5,14 +5,19 @@ CLASS zcl_abapgit_default_transport DEFINITION
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
INTERFACES zif_abapgit_default_transport.
|
INTERFACES zif_abapgit_default_transport.
|
||||||
|
|
||||||
METHODS constructor.
|
METHODS
|
||||||
|
constructor
|
||||||
|
RAISING
|
||||||
|
zcx_abapgit_exception.
|
||||||
|
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
DATA mv_is_set_by_abapgit TYPE abap_bool .
|
DATA mv_is_set_by_abapgit TYPE abap_bool .
|
||||||
DATA ms_save TYPE e070use .
|
DATA ms_save TYPE e070use .
|
||||||
|
|
||||||
METHODS store.
|
METHODS store
|
||||||
|
RAISING
|
||||||
|
zcx_abapgit_exception .
|
||||||
METHODS restore
|
METHODS restore
|
||||||
RAISING
|
RAISING
|
||||||
zcx_abapgit_exception .
|
zcx_abapgit_exception .
|
||||||
|
@ -30,7 +35,7 @@ ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CLASS zcl_abapgit_default_transport IMPLEMENTATION.
|
CLASS ZCL_ABAPGIT_DEFAULT_TRANSPORT IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
METHOD clear.
|
METHOD clear.
|
||||||
|
@ -111,11 +116,7 @@ CLASS zcl_abapgit_default_transport IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD store.
|
METHOD store.
|
||||||
|
|
||||||
TRY.
|
ms_save = zif_abapgit_default_transport~get( ).
|
||||||
ms_save = zif_abapgit_default_transport~get( ).
|
|
||||||
CATCH zcx_abapgit_exception.
|
|
||||||
CLEAR ms_save.
|
|
||||||
ENDTRY.
|
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
|
@ -71,7 +71,7 @@ ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CLASS zcl_abapgit_transport IMPLEMENTATION.
|
CLASS ZCL_ABAPGIT_TRANSPORT IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
METHOD add_all_objects_to_trans_req.
|
METHOD add_all_objects_to_trans_req.
|
||||||
|
@ -146,7 +146,7 @@ CLASS zcl_abapgit_transport IMPLEMENTATION.
|
||||||
lt_objects TYPE scts_tadir,
|
lt_objects TYPE scts_tadir,
|
||||||
lt_objects_all LIKE lt_objects,
|
lt_objects_all LIKE lt_objects,
|
||||||
ls_e071 LIKE LINE OF rt_objects,
|
ls_e071 LIKE LINE OF rt_objects,
|
||||||
li_repo TYPE REF TO zif_abapgit_repo,
|
lo_repo TYPE REF TO zcl_abapgit_repo,
|
||||||
lv_package TYPE zif_abapgit_persistence=>ty_repo-package,
|
lv_package TYPE zif_abapgit_persistence=>ty_repo-package,
|
||||||
lt_packages TYPE zif_abapgit_sap_package=>ty_devclass_tt.
|
lt_packages TYPE zif_abapgit_sap_package=>ty_devclass_tt.
|
||||||
|
|
||||||
|
@ -154,8 +154,8 @@ CLASS zcl_abapgit_transport IMPLEMENTATION.
|
||||||
<lv_package> TYPE devclass,
|
<lv_package> TYPE devclass,
|
||||||
<ls_object> TYPE tadir.
|
<ls_object> TYPE tadir.
|
||||||
|
|
||||||
li_repo = zcl_abapgit_repo_srv=>get_instance( )->get( iv_key ).
|
lo_repo ?= zcl_abapgit_repo_srv=>get_instance( )->get( iv_key ).
|
||||||
lv_package = li_repo->get_package( ).
|
lv_package = lo_repo->get_package( ).
|
||||||
lt_packages = zcl_abapgit_factory=>get_sap_package( lv_package )->list_subpackages( ).
|
lt_packages = zcl_abapgit_factory=>get_sap_package( lv_package )->list_subpackages( ).
|
||||||
INSERT lv_package INTO TABLE lt_packages.
|
INSERT lv_package INTO TABLE lt_packages.
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,7 @@ CLASS zcl_abapgit_transport_2_branch DEFINITION
|
||||||
|
|
||||||
METHODS create
|
METHODS create
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!ii_repo_online TYPE REF TO zif_abapgit_repo_online
|
!io_repository TYPE REF TO zcl_abapgit_repo_online
|
||||||
!is_transport_to_branch TYPE zif_abapgit_definitions=>ty_transport_to_branch
|
!is_transport_to_branch TYPE zif_abapgit_definitions=>ty_transport_to_branch
|
||||||
!it_transport_objects TYPE zif_abapgit_definitions=>ty_tadir_tt
|
!it_transport_objects TYPE zif_abapgit_definitions=>ty_tadir_tt
|
||||||
RAISING
|
RAISING
|
||||||
|
@ -46,13 +46,13 @@ CLASS zcl_abapgit_transport_2_branch IMPLEMENTATION.
|
||||||
lv_branch_name = zcl_abapgit_git_branch_list=>complete_heads_branch_name(
|
lv_branch_name = zcl_abapgit_git_branch_list=>complete_heads_branch_name(
|
||||||
zcl_abapgit_git_branch_list=>normalize_branch_name( is_transport_to_branch-branch_name ) ).
|
zcl_abapgit_git_branch_list=>normalize_branch_name( is_transport_to_branch-branch_name ) ).
|
||||||
|
|
||||||
ii_repo_online->create_branch( lv_branch_name ).
|
io_repository->create_branch( lv_branch_name ).
|
||||||
|
|
||||||
CREATE OBJECT lo_stage.
|
CREATE OBJECT lo_stage.
|
||||||
|
|
||||||
ls_stage_objects = zcl_abapgit_stage_logic=>get_stage_logic( )->get( ii_repo_online ).
|
ls_stage_objects = zcl_abapgit_factory=>get_stage_logic( )->get( io_repository ).
|
||||||
|
|
||||||
lt_object_statuses = zcl_abapgit_repo_status=>calculate( ii_repo_online ).
|
lt_object_statuses = zcl_abapgit_repo_status=>calculate( io_repository ).
|
||||||
|
|
||||||
stage_transport_objects(
|
stage_transport_objects(
|
||||||
it_transport_objects = it_transport_objects
|
it_transport_objects = it_transport_objects
|
||||||
|
@ -62,8 +62,8 @@ CLASS zcl_abapgit_transport_2_branch IMPLEMENTATION.
|
||||||
|
|
||||||
ls_comment = generate_commit_message( is_transport_to_branch ).
|
ls_comment = generate_commit_message( is_transport_to_branch ).
|
||||||
|
|
||||||
ii_repo_online->push( is_comment = ls_comment
|
io_repository->push( is_comment = ls_comment
|
||||||
io_stage = lo_stage ).
|
io_stage = lo_stage ).
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -38,10 +38,9 @@ CLASS zcl_abapgit_transport_objects IMPLEMENTATION.
|
||||||
|
|
||||||
LOOP AT mt_transport_objects INTO ls_transport_object.
|
LOOP AT mt_transport_objects INTO ls_transport_object.
|
||||||
LOOP AT it_object_statuses INTO ls_object_status
|
LOOP AT it_object_statuses INTO ls_object_status
|
||||||
" USING KEY sec_key " syntax error in 754
|
|
||||||
WHERE obj_name = ls_transport_object-obj_name
|
WHERE obj_name = ls_transport_object-obj_name
|
||||||
AND obj_type = ls_transport_object-object
|
AND obj_type = ls_transport_object-object
|
||||||
AND NOT lstate IS INITIAL ##PRIMKEY[SEC_KEY].
|
AND NOT lstate IS INITIAL.
|
||||||
|
|
||||||
CASE ls_object_status-lstate.
|
CASE ls_object_status-lstate.
|
||||||
WHEN zif_abapgit_definitions=>c_state-added OR zif_abapgit_definitions=>c_state-modified.
|
WHEN zif_abapgit_definitions=>c_state-added OR zif_abapgit_definitions=>c_state-modified.
|
||||||
|
|
|
@ -60,9 +60,9 @@ INTERFACE zif_abapgit_cts_api
|
||||||
METHODS create_transport_entries
|
METHODS create_transport_entries
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!iv_transport TYPE trkorr
|
!iv_transport TYPE trkorr
|
||||||
!it_table_ins TYPE ANY TABLE OPTIONAL
|
!it_table_ins TYPE ANY TABLE
|
||||||
!it_table_upd TYPE ANY TABLE OPTIONAL
|
!it_table_upd TYPE ANY TABLE
|
||||||
!it_table_del TYPE ANY TABLE OPTIONAL
|
!it_table_del TYPE ANY TABLE
|
||||||
!iv_tabname TYPE tabname
|
!iv_tabname TYPE tabname
|
||||||
RAISING
|
RAISING
|
||||||
zcx_abapgit_exception .
|
zcx_abapgit_exception .
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
<VSEOINTERF>
|
<VSEOINTERF>
|
||||||
<CLSNAME>ZIF_ABAPGIT_DEFAULT_TRANSPORT</CLSNAME>
|
<CLSNAME>ZIF_ABAPGIT_DEFAULT_TRANSPORT</CLSNAME>
|
||||||
<LANGU>E</LANGU>
|
<LANGU>E</LANGU>
|
||||||
<DESCRIPT>abapGit - Default Transport</DESCRIPT>
|
<DESCRIPT>ZIF_ABAPGIT_DEFAULT_TRANSPORT</DESCRIPT>
|
||||||
<EXPOSURE>2</EXPOSURE>
|
<EXPOSURE>2</EXPOSURE>
|
||||||
<STATE>1</STATE>
|
<STATE>1</STATE>
|
||||||
<UNICODE>X</UNICODE>
|
<UNICODE>X</UNICODE>
|
||||||
|
|
|
@ -44,7 +44,7 @@ CLASS zcl_abapgit_data_deserializer DEFINITION
|
||||||
zcx_abapgit_exception .
|
zcx_abapgit_exception .
|
||||||
METHODS determine_transport_request
|
METHODS determine_transport_request
|
||||||
IMPORTING
|
IMPORTING
|
||||||
ii_repo TYPE REF TO zif_abapgit_repo
|
io_repo TYPE REF TO zcl_abapgit_repo
|
||||||
iv_transport_type TYPE zif_abapgit_definitions=>ty_transport_type
|
iv_transport_type TYPE zif_abapgit_definitions=>ty_transport_type
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(rv_transport_request) TYPE trkorr.
|
VALUE(rv_transport_request) TYPE trkorr.
|
||||||
|
@ -88,11 +88,11 @@ CLASS zcl_abapgit_data_deserializer IMPLEMENTATION.
|
||||||
|
|
||||||
" Use transport from repo settings if maintained, or determine via user exit.
|
" Use transport from repo settings if maintained, or determine via user exit.
|
||||||
" If transport keeps empty here, it'll requested later via popup.
|
" If transport keeps empty here, it'll requested later via popup.
|
||||||
rv_transport_request = ii_repo->get_local_settings( )-customizing_request.
|
rv_transport_request = io_repo->get_local_settings( )-customizing_request.
|
||||||
|
|
||||||
li_exit->determine_transport_request(
|
li_exit->determine_transport_request(
|
||||||
EXPORTING
|
EXPORTING
|
||||||
ii_repo = ii_repo
|
io_repo = io_repo
|
||||||
iv_transport_type = iv_transport_type
|
iv_transport_type = iv_transport_type
|
||||||
CHANGING
|
CHANGING
|
||||||
cv_transport_request = rv_transport_request ).
|
cv_transport_request = rv_transport_request ).
|
||||||
|
@ -337,7 +337,7 @@ CLASS zcl_abapgit_data_deserializer IMPLEMENTATION.
|
||||||
rs_checks-type-request = zif_abapgit_cts_api=>c_transport_type-cust_request.
|
rs_checks-type-request = zif_abapgit_cts_api=>c_transport_type-cust_request.
|
||||||
rs_checks-type-task = zif_abapgit_cts_api=>c_transport_type-cust_task.
|
rs_checks-type-task = zif_abapgit_cts_api=>c_transport_type-cust_task.
|
||||||
rs_checks-transport = determine_transport_request(
|
rs_checks-transport = determine_transport_request(
|
||||||
ii_repo = ii_repo
|
io_repo = io_repo
|
||||||
iv_transport_type = rs_checks-type ).
|
iv_transport_type = rs_checks-type ).
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
|
|
|
@ -23,7 +23,7 @@ CLASS zcl_abapgit_data_utils DEFINITION
|
||||||
VALUE(rv_filename) TYPE string.
|
VALUE(rv_filename) TYPE string.
|
||||||
CLASS-METHODS jump
|
CLASS-METHODS jump
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!is_item TYPE zif_abapgit_definitions=>ty_item
|
!is_item TYPE zif_abapgit_definitions=>ty_item
|
||||||
RAISING
|
RAISING
|
||||||
zcx_abapgit_exception.
|
zcx_abapgit_exception.
|
||||||
CLASS-METHODS does_table_exist
|
CLASS-METHODS does_table_exist
|
||||||
|
@ -49,7 +49,7 @@ ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CLASS zcl_abapgit_data_utils IMPLEMENTATION.
|
CLASS ZCL_ABAPGIT_DATA_UTILS IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
METHOD build_config_filename.
|
METHOD build_config_filename.
|
||||||
|
@ -196,7 +196,7 @@ CLASS zcl_abapgit_data_utils IMPLEMENTATION.
|
||||||
db_not_exists = 3
|
db_not_exists = 3
|
||||||
no_permission = 4
|
no_permission = 4
|
||||||
no_change_allowed = 5
|
no_change_allowed = 5
|
||||||
* table_is_gtt = 6 " not in lower releases
|
table_is_gtt = 6
|
||||||
OTHERS = 7.
|
OTHERS = 7.
|
||||||
IF sy-subrc <> 0.
|
IF sy-subrc <> 0.
|
||||||
zcx_abapgit_exception=>raise( |Table { is_item-obj_name } cannot be displayed| ).
|
zcx_abapgit_exception=>raise( |Table { is_item-obj_name } cannot be displayed| ).
|
||||||
|
|
|
@ -15,7 +15,7 @@ INTERFACE zif_abapgit_data_deserializer
|
||||||
|
|
||||||
METHODS deserialize_check
|
METHODS deserialize_check
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!ii_repo TYPE REF TO zif_abapgit_repo
|
!io_repo TYPE REF TO zcl_abapgit_repo
|
||||||
!ii_config TYPE REF TO zif_abapgit_data_config
|
!ii_config TYPE REF TO zif_abapgit_data_config
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(rs_checks) TYPE zif_abapgit_definitions=>ty_deserialize_checks-customizing
|
VALUE(rs_checks) TYPE zif_abapgit_definitions=>ty_deserialize_checks-customizing
|
||||||
|
|
|
@ -26,8 +26,6 @@ CLASS lcl_environment IMPLEMENTATION.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
METHOD zif_abapgit_environment~get_basis_release.
|
METHOD zif_abapgit_environment~get_basis_release.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
METHOD zif_abapgit_environment~get_available_user_sessions.
|
|
||||||
ENDMETHOD.
|
|
||||||
METHOD zif_abapgit_environment~get_system_language_filter.
|
METHOD zif_abapgit_environment~get_system_language_filter.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
METHOD zif_abapgit_environment~is_merged.
|
METHOD zif_abapgit_environment~is_merged.
|
||||||
|
@ -42,8 +40,6 @@ CLASS lcl_environment IMPLEMENTATION.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
METHOD zif_abapgit_environment~init_parallel_processing.
|
METHOD zif_abapgit_environment~init_parallel_processing.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
METHOD zif_abapgit_environment~check_parallel_processing.
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
@ -81,12 +77,10 @@ CLASS ltcl_abap_language_version DEFINITION FOR TESTING RISK LEVEL HARMLESS
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
" Cloud package hardcoded in cl_abap_language_version
|
" Cloud package hardcoded in cl_abap_language_version
|
||||||
CONSTANTS c_cloud_package TYPE devclass VALUE 'TEST_LANGUAGE_VERSION_SCP'.
|
CONSTANTS c_cloud_package TYPE devclass VALUE 'TEST_LANGUAGE_VERSION_SCP'.
|
||||||
CONSTANTS c_language_cfg TYPE seoclsname VALUE 'CL_ABAP_LANGUAGE_VERSION_CFG'.
|
|
||||||
|
|
||||||
DATA:
|
DATA:
|
||||||
mt_versions TYPE string_table,
|
mt_versions TYPE string_table,
|
||||||
mv_has_cloud_package TYPE abap_bool,
|
mv_has_cloud_package TYPE abap_bool,
|
||||||
mv_has_language_cfg TYPE abap_bool,
|
|
||||||
mo_environment TYPE REF TO lcl_environment,
|
mo_environment TYPE REF TO lcl_environment,
|
||||||
mi_persistency TYPE REF TO zif_abapgit_persist_settings,
|
mi_persistency TYPE REF TO zif_abapgit_persist_settings,
|
||||||
mo_dot_abapgit TYPE REF TO zcl_abapgit_dot_abapgit,
|
mo_dot_abapgit TYPE REF TO zcl_abapgit_dot_abapgit,
|
||||||
|
@ -370,11 +364,9 @@ CLASS ltcl_abap_language_version IMPLEMENTATION.
|
||||||
" Assume on-prem (no cloud)
|
" Assume on-prem (no cloud)
|
||||||
set_environment( abap_false ).
|
set_environment( abap_false ).
|
||||||
|
|
||||||
IF mv_has_language_cfg = abap_true.
|
cl_abap_unit_assert=>assert_equals(
|
||||||
cl_abap_unit_assert=>assert_equals(
|
act = mo_cut->is_import_allowed( '$TMP' ) " existing standard package
|
||||||
act = mo_cut->is_import_allowed( '$TMP' ) " existing standard package
|
exp = iv_standard ).
|
||||||
exp = iv_standard ).
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
IF mv_has_cloud_package = abap_true.
|
IF mv_has_cloud_package = abap_true.
|
||||||
cl_abap_unit_assert=>assert_equals(
|
cl_abap_unit_assert=>assert_equals(
|
||||||
|
@ -389,11 +381,9 @@ CLASS ltcl_abap_language_version IMPLEMENTATION.
|
||||||
" Assume cloud platform
|
" Assume cloud platform
|
||||||
set_environment( abap_true ).
|
set_environment( abap_true ).
|
||||||
|
|
||||||
IF mv_has_language_cfg = abap_true.
|
cl_abap_unit_assert=>assert_equals(
|
||||||
cl_abap_unit_assert=>assert_equals(
|
act = mo_cut->is_import_allowed( '$TMP' ) " existing standard package
|
||||||
act = mo_cut->is_import_allowed( '$TMP' ) " existing standard package
|
exp = iv_standard ).
|
||||||
exp = iv_standard ).
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
IF mv_has_cloud_package = abap_true.
|
IF mv_has_cloud_package = abap_true.
|
||||||
cl_abap_unit_assert=>assert_equals(
|
cl_abap_unit_assert=>assert_equals(
|
||||||
|
@ -412,11 +402,6 @@ CLASS ltcl_abap_language_version IMPLEMENTATION.
|
||||||
|
|
||||||
DATA lv_version TYPE string.
|
DATA lv_version TYPE string.
|
||||||
|
|
||||||
" Tests using ABAP language version "standard" only work if the required
|
|
||||||
" SAP class is available. In older releases, all packages will have
|
|
||||||
" ABAP language version "undefined" and are handled like a new package
|
|
||||||
mv_has_language_cfg = zcl_abapgit_oo_factory=>get_by_type( 'CLAS' )->exists( c_language_cfg ).
|
|
||||||
|
|
||||||
LOOP AT mt_versions INTO lv_version.
|
LOOP AT mt_versions INTO lv_version.
|
||||||
|
|
||||||
CASE lv_version.
|
CASE lv_version.
|
||||||
|
|
21
src/env/zcl_abapgit_env_factory.clas.abap
vendored
21
src/env/zcl_abapgit_env_factory.clas.abap
vendored
|
@ -1,21 +0,0 @@
|
||||||
CLASS zcl_abapgit_env_factory DEFINITION PUBLIC GLOBAL FRIENDS zcl_abapgit_env_injector.
|
|
||||||
PUBLIC SECTION.
|
|
||||||
CLASS-METHODS get_user_record
|
|
||||||
RETURNING
|
|
||||||
VALUE(ri_user_record) TYPE REF TO zif_abapgit_user_record.
|
|
||||||
|
|
||||||
PRIVATE SECTION.
|
|
||||||
CLASS-DATA gi_user_record TYPE REF TO zif_abapgit_user_record.
|
|
||||||
ENDCLASS.
|
|
||||||
|
|
||||||
CLASS zcl_abapgit_env_factory IMPLEMENTATION.
|
|
||||||
|
|
||||||
METHOD get_user_record.
|
|
||||||
IF gi_user_record IS NOT BOUND.
|
|
||||||
CREATE OBJECT gi_user_record TYPE zcl_abapgit_user_record.
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
ri_user_record = gi_user_record.
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
ENDCLASS.
|
|
16
src/env/zcl_abapgit_env_factory.clas.xml
vendored
16
src/env/zcl_abapgit_env_factory.clas.xml
vendored
|
@ -1,16 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
|
|
||||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
|
||||||
<asx:values>
|
|
||||||
<VSEOCLASS>
|
|
||||||
<CLSNAME>ZCL_ABAPGIT_ENV_FACTORY</CLSNAME>
|
|
||||||
<LANGU>E</LANGU>
|
|
||||||
<DESCRIPT>abapGit - Environment Factory</DESCRIPT>
|
|
||||||
<STATE>1</STATE>
|
|
||||||
<CLSCCINCL>X</CLSCCINCL>
|
|
||||||
<FIXPT>X</FIXPT>
|
|
||||||
<UNICODE>X</UNICODE>
|
|
||||||
</VSEOCLASS>
|
|
||||||
</asx:values>
|
|
||||||
</asx:abap>
|
|
||||||
</abapGit>
|
|
14
src/env/zcl_abapgit_env_injector.clas.abap
vendored
14
src/env/zcl_abapgit_env_injector.clas.abap
vendored
|
@ -1,14 +0,0 @@
|
||||||
CLASS zcl_abapgit_env_injector DEFINITION PUBLIC.
|
|
||||||
PUBLIC SECTION.
|
|
||||||
CLASS-METHODS set_user_record
|
|
||||||
IMPORTING
|
|
||||||
!ii_user_record TYPE REF TO zif_abapgit_user_record.
|
|
||||||
ENDCLASS.
|
|
||||||
|
|
||||||
CLASS zcl_abapgit_env_injector IMPLEMENTATION.
|
|
||||||
|
|
||||||
METHOD set_user_record.
|
|
||||||
zcl_abapgit_env_factory=>gi_user_record = ii_user_record.
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
ENDCLASS.
|
|
16
src/env/zcl_abapgit_env_injector.clas.xml
vendored
16
src/env/zcl_abapgit_env_injector.clas.xml
vendored
|
@ -1,16 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
|
|
||||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
|
||||||
<asx:values>
|
|
||||||
<VSEOCLASS>
|
|
||||||
<CLSNAME>ZCL_ABAPGIT_ENV_INJECTOR</CLSNAME>
|
|
||||||
<LANGU>E</LANGU>
|
|
||||||
<DESCRIPT>abapGit - Environment Injector</DESCRIPT>
|
|
||||||
<STATE>1</STATE>
|
|
||||||
<CLSCCINCL>X</CLSCCINCL>
|
|
||||||
<FIXPT>X</FIXPT>
|
|
||||||
<UNICODE>X</UNICODE>
|
|
||||||
</VSEOCLASS>
|
|
||||||
</asx:values>
|
|
||||||
</asx:abap>
|
|
||||||
</abapGit>
|
|
211
src/env/zcl_abapgit_environment.clas.abap
vendored
211
src/env/zcl_abapgit_environment.clas.abap
vendored
|
@ -2,11 +2,11 @@ CLASS zcl_abapgit_environment DEFINITION
|
||||||
PUBLIC
|
PUBLIC
|
||||||
FINAL
|
FINAL
|
||||||
CREATE PRIVATE
|
CREATE PRIVATE
|
||||||
GLOBAL FRIENDS zcl_abapgit_factory.
|
GLOBAL FRIENDS zcl_abapgit_factory .
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
|
|
||||||
INTERFACES zif_abapgit_environment.
|
INTERFACES zif_abapgit_environment .
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
|
|
||||||
|
@ -16,7 +16,7 @@ CLASS zcl_abapgit_environment DEFINITION
|
||||||
|
|
||||||
METHODS is_system_changes_allowed
|
METHODS is_system_changes_allowed
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(rv_result) TYPE abap_bool.
|
VALUE(rv_result) TYPE abap_bool .
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
@ -76,74 +76,11 @@ CLASS zcl_abapgit_environment IMPLEMENTATION.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD zif_abapgit_environment~check_parallel_processing.
|
|
||||||
|
|
||||||
" If check fails, see transactions RZ12
|
|
||||||
DATA:
|
|
||||||
lt_setup TYPE STANDARD TABLE OF rzllitab,
|
|
||||||
ls_setup LIKE LINE OF lt_setup,
|
|
||||||
lt_erfc_setup TYPE STANDARD TABLE OF rzlliclass,
|
|
||||||
lt_instances TYPE STANDARD TABLE OF msxxlist WITH DEFAULT KEY.
|
|
||||||
|
|
||||||
" Check if server group for parallel processing exists
|
|
||||||
CALL FUNCTION 'SMLG_GET_SETUP'
|
|
||||||
EXPORTING
|
|
||||||
grouptype = 'S'
|
|
||||||
TABLES
|
|
||||||
setup = lt_setup
|
|
||||||
erfc_setup = lt_erfc_setup
|
|
||||||
EXCEPTIONS
|
|
||||||
foreign_lock = 1
|
|
||||||
system_failure = 2
|
|
||||||
invalid_group_type = 3
|
|
||||||
OTHERS = 4.
|
|
||||||
IF sy-subrc <> 0.
|
|
||||||
RETURN.
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
READ TABLE lt_setup INTO ls_setup WITH KEY classname = iv_group.
|
|
||||||
IF sy-subrc = 0 AND ls_setup-applserver IS NOT INITIAL.
|
|
||||||
|
|
||||||
" Check if assigned server instance exists
|
|
||||||
CALL FUNCTION 'TH_SERVER_LIST'
|
|
||||||
TABLES
|
|
||||||
list = lt_instances.
|
|
||||||
|
|
||||||
READ TABLE lt_instances TRANSPORTING NO FIELDS WITH KEY name = ls_setup-applserver.
|
|
||||||
IF sy-subrc = 0.
|
|
||||||
rv_checked = abap_true.
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
|
|
||||||
METHOD zif_abapgit_environment~compare_with_inactive.
|
METHOD zif_abapgit_environment~compare_with_inactive.
|
||||||
rv_result = zif_abapgit_environment~is_sap_cloud_platform( ).
|
rv_result = zif_abapgit_environment~is_sap_cloud_platform( ).
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD zif_abapgit_environment~get_available_user_sessions.
|
|
||||||
|
|
||||||
DATA:
|
|
||||||
lv_act_sessions TYPE i,
|
|
||||||
lv_max_sessions TYPE i,
|
|
||||||
lv_subrc TYPE sy-subrc.
|
|
||||||
|
|
||||||
CALL FUNCTION 'TH_USER_INFO'
|
|
||||||
IMPORTING
|
|
||||||
act_sessions = lv_act_sessions
|
|
||||||
max_sessions = lv_max_sessions
|
|
||||||
rc = lv_subrc.
|
|
||||||
|
|
||||||
IF lv_subrc = 0.
|
|
||||||
rv_sessions = lv_max_sessions - lv_act_sessions.
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
|
|
||||||
METHOD zif_abapgit_environment~get_basis_release.
|
METHOD zif_abapgit_environment~get_basis_release.
|
||||||
|
|
||||||
SELECT SINGLE release extrelease FROM cvers INTO (rs_result-release, rs_result-sp)
|
SELECT SINGLE release extrelease FROM cvers INTO (rs_result-release, rs_result-sp)
|
||||||
|
@ -152,78 +89,6 @@ CLASS zcl_abapgit_environment IMPLEMENTATION.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD zif_abapgit_environment~get_system_language_filter.
|
|
||||||
DATA lv_translation_detective_lang TYPE spras.
|
|
||||||
DATA lv_pseudo_translation_language TYPE spras.
|
|
||||||
FIELD-SYMBOLS <ls_system_language_filter> LIKE LINE OF rt_system_language_filter.
|
|
||||||
|
|
||||||
" Translation Object Detective
|
|
||||||
" https://help.sap.com/docs/ABAP_PLATFORM_NEW/ceb25152cb0d4adba664cebea2bf4670/88a3d3cbccf64601975acabaccdfde45.html
|
|
||||||
CALL FUNCTION 'CONVERSION_EXIT_ISOLA_INPUT'
|
|
||||||
EXPORTING
|
|
||||||
input = '1Q'
|
|
||||||
IMPORTING
|
|
||||||
output = lv_translation_detective_lang
|
|
||||||
EXCEPTIONS
|
|
||||||
unknown_language = 1
|
|
||||||
OTHERS = 2.
|
|
||||||
IF sy-subrc = 1.
|
|
||||||
" The language for Translation Object Detective was not setup
|
|
||||||
ENDIF.
|
|
||||||
IF NOT lv_translation_detective_lang IS INITIAL.
|
|
||||||
APPEND INITIAL LINE TO rt_system_language_filter ASSIGNING <ls_system_language_filter>.
|
|
||||||
<ls_system_language_filter>-sign = 'E'.
|
|
||||||
<ls_system_language_filter>-option = 'EQ'.
|
|
||||||
<ls_system_language_filter>-low = lv_translation_detective_lang.
|
|
||||||
ENDIF.
|
|
||||||
" 1943470 - Using technical language key 2Q to create pseudo-translations of ABAP developments
|
|
||||||
" https://launchpad.support.sap.com/#/notes/1943470
|
|
||||||
CALL FUNCTION 'CONVERSION_EXIT_ISOLA_INPUT'
|
|
||||||
EXPORTING
|
|
||||||
input = '2Q'
|
|
||||||
IMPORTING
|
|
||||||
output = lv_pseudo_translation_language
|
|
||||||
EXCEPTIONS
|
|
||||||
unknown_language = 1
|
|
||||||
OTHERS = 2.
|
|
||||||
IF sy-subrc = 1.
|
|
||||||
" The language for Pseudo Translation was not setup
|
|
||||||
ENDIF.
|
|
||||||
IF NOT lv_pseudo_translation_language IS INITIAL.
|
|
||||||
APPEND INITIAL LINE TO rt_system_language_filter ASSIGNING <ls_system_language_filter>.
|
|
||||||
<ls_system_language_filter>-sign = 'E'.
|
|
||||||
<ls_system_language_filter>-option = 'EQ'.
|
|
||||||
<ls_system_language_filter>-low = lv_pseudo_translation_language.
|
|
||||||
ENDIF.
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
|
|
||||||
METHOD zif_abapgit_environment~init_parallel_processing.
|
|
||||||
|
|
||||||
DATA: lv_group TYPE rzlli_apcl.
|
|
||||||
|
|
||||||
lv_group = iv_group.
|
|
||||||
|
|
||||||
" SPBT_INITIALIZE gives error PBT_ENV_ALREADY_INITIALIZED if called
|
|
||||||
" multiple times in same session
|
|
||||||
CALL FUNCTION 'SPBT_INITIALIZE'
|
|
||||||
EXPORTING
|
|
||||||
group_name = lv_group
|
|
||||||
IMPORTING
|
|
||||||
free_pbt_wps = rv_free_work_processes
|
|
||||||
EXCEPTIONS
|
|
||||||
invalid_group_name = 1
|
|
||||||
internal_error = 2
|
|
||||||
pbt_env_already_initialized = 3
|
|
||||||
currently_no_resources_avail = 4
|
|
||||||
no_pbt_resources_found = 5
|
|
||||||
cant_init_different_pbt_groups = 6
|
|
||||||
OTHERS = 7 ##FM_SUBRC_OK.
|
|
||||||
" If SPBT_INITIALIZE fails, check transactions RZ12, SM50, SM21, SARFC
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
|
|
||||||
METHOD zif_abapgit_environment~is_merged.
|
METHOD zif_abapgit_environment~is_merged.
|
||||||
DATA lr_marker TYPE REF TO data ##NEEDED.
|
DATA lr_marker TYPE REF TO data ##NEEDED.
|
||||||
|
|
||||||
|
@ -290,6 +155,50 @@ CLASS zcl_abapgit_environment IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD zif_abapgit_environment~get_system_language_filter.
|
||||||
|
DATA lv_translation_detective_lang TYPE spras.
|
||||||
|
DATA lv_pseudo_translation_language TYPE spras.
|
||||||
|
FIELD-SYMBOLS <ls_system_language_filter> LIKE LINE OF rt_system_language_filter.
|
||||||
|
|
||||||
|
" Translation Object Detective
|
||||||
|
" https://help.sap.com/docs/ABAP_PLATFORM_NEW/ceb25152cb0d4adba664cebea2bf4670/88a3d3cbccf64601975acabaccdfde45.html
|
||||||
|
CALL FUNCTION 'CONVERSION_EXIT_ISOLA_INPUT'
|
||||||
|
EXPORTING
|
||||||
|
input = '1Q'
|
||||||
|
IMPORTING
|
||||||
|
output = lv_translation_detective_lang
|
||||||
|
EXCEPTIONS
|
||||||
|
unknown_language = 1
|
||||||
|
OTHERS = 2.
|
||||||
|
IF sy-subrc = 1.
|
||||||
|
" The language for Translation Object Detective was not setup
|
||||||
|
ENDIF.
|
||||||
|
IF NOT lv_translation_detective_lang IS INITIAL.
|
||||||
|
APPEND INITIAL LINE TO rt_system_language_filter ASSIGNING <ls_system_language_filter>.
|
||||||
|
<ls_system_language_filter>-sign = 'E'.
|
||||||
|
<ls_system_language_filter>-option = 'EQ'.
|
||||||
|
<ls_system_language_filter>-low = lv_translation_detective_lang.
|
||||||
|
ENDIF.
|
||||||
|
" 1943470 - Using technical language key 2Q to create pseudo-translations of ABAP developments
|
||||||
|
" https://launchpad.support.sap.com/#/notes/1943470
|
||||||
|
CALL FUNCTION 'CONVERSION_EXIT_ISOLA_INPUT'
|
||||||
|
EXPORTING
|
||||||
|
input = '2Q'
|
||||||
|
IMPORTING
|
||||||
|
output = lv_pseudo_translation_language
|
||||||
|
EXCEPTIONS
|
||||||
|
unknown_language = 1
|
||||||
|
OTHERS = 2.
|
||||||
|
IF sy-subrc = 1.
|
||||||
|
" The language for Pseudo Translation was not setup
|
||||||
|
ENDIF.
|
||||||
|
IF NOT lv_pseudo_translation_language IS INITIAL.
|
||||||
|
APPEND INITIAL LINE TO rt_system_language_filter ASSIGNING <ls_system_language_filter>.
|
||||||
|
<ls_system_language_filter>-sign = 'E'.
|
||||||
|
<ls_system_language_filter>-option = 'EQ'.
|
||||||
|
<ls_system_language_filter>-low = lv_pseudo_translation_language.
|
||||||
|
ENDIF.
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD zif_abapgit_environment~is_variant_maintenance.
|
METHOD zif_abapgit_environment~is_variant_maintenance.
|
||||||
|
|
||||||
|
@ -303,4 +212,30 @@ CLASS zcl_abapgit_environment IMPLEMENTATION.
|
||||||
rv_is_variant_maintenance = boolc( lines( lt_variscreens ) > 0 ).
|
rv_is_variant_maintenance = boolc( lines( lt_variscreens ) > 0 ).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD zif_abapgit_environment~init_parallel_processing.
|
||||||
|
|
||||||
|
DATA: lv_group TYPE rzlli_apcl.
|
||||||
|
|
||||||
|
lv_group = iv_group.
|
||||||
|
|
||||||
|
" SPBT_INITIALIZE gives error PBT_ENV_ALREADY_INITIALIZED if called
|
||||||
|
" multiple times in same session
|
||||||
|
CALL FUNCTION 'SPBT_INITIALIZE'
|
||||||
|
EXPORTING
|
||||||
|
group_name = lv_group
|
||||||
|
IMPORTING
|
||||||
|
free_pbt_wps = rv_free_work_processes
|
||||||
|
EXCEPTIONS
|
||||||
|
invalid_group_name = 1
|
||||||
|
internal_error = 2
|
||||||
|
pbt_env_already_initialized = 3
|
||||||
|
currently_no_resources_avail = 4
|
||||||
|
no_pbt_resources_found = 5
|
||||||
|
cant_init_different_pbt_groups = 6
|
||||||
|
OTHERS = 7.
|
||||||
|
" If SPBT_INITIALIZE fails, check transactions RZ12, SM50, SM21, SARFC
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
200
src/env/zcl_abapgit_user_record.clas.abap
vendored
200
src/env/zcl_abapgit_user_record.clas.abap
vendored
|
@ -1,26 +1,45 @@
|
||||||
CLASS zcl_abapgit_user_record DEFINITION
|
CLASS zcl_abapgit_user_record DEFINITION
|
||||||
PUBLIC
|
PUBLIC
|
||||||
FINAL
|
FINAL
|
||||||
CREATE PRIVATE
|
CREATE PRIVATE.
|
||||||
GLOBAL FRIENDS zcl_abapgit_env_factory.
|
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
CLASS-METHODS reset.
|
CLASS-METHODS reset.
|
||||||
|
CLASS-METHODS get_instance
|
||||||
INTERFACES zif_abapgit_user_record.
|
IMPORTING
|
||||||
|
!iv_user TYPE sy-uname
|
||||||
|
RETURNING
|
||||||
|
VALUE(ro_user) TYPE REF TO zcl_abapgit_user_record.
|
||||||
|
METHODS constructor
|
||||||
|
IMPORTING
|
||||||
|
!iv_user TYPE sy-uname.
|
||||||
|
METHODS get_name
|
||||||
|
RETURNING
|
||||||
|
VALUE(rv_name) TYPE string.
|
||||||
|
METHODS get_email
|
||||||
|
RETURNING
|
||||||
|
VALUE(rv_email) TYPE string.
|
||||||
|
CLASS-METHODS get_title
|
||||||
|
IMPORTING
|
||||||
|
iv_username TYPE sy-uname
|
||||||
|
RETURNING
|
||||||
|
VALUE(rv_title) TYPE string.
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
TYPES:
|
TYPES:
|
||||||
BEGIN OF ty_user,
|
BEGIN OF ty_user,
|
||||||
user TYPE sy-uname,
|
user TYPE sy-uname,
|
||||||
name TYPE string,
|
o_user TYPE REF TO zcl_abapgit_user_record,
|
||||||
email TYPE string,
|
|
||||||
END OF ty_user.
|
END OF ty_user.
|
||||||
|
|
||||||
CLASS-DATA gt_user TYPE HASHED TABLE OF ty_user WITH UNIQUE KEY user.
|
CLASS-DATA gt_user TYPE HASHED TABLE OF ty_user WITH UNIQUE KEY user.
|
||||||
|
|
||||||
CLASS-METHODS check_user_exists
|
DATA: BEGIN OF ms_user,
|
||||||
|
name TYPE string,
|
||||||
|
email TYPE string,
|
||||||
|
END OF ms_user .
|
||||||
|
|
||||||
|
METHODS check_user_exists
|
||||||
IMPORTING
|
IMPORTING
|
||||||
iv_user TYPE sy-uname
|
iv_user TYPE sy-uname
|
||||||
EXPORTING
|
EXPORTING
|
||||||
|
@ -29,51 +48,35 @@ CLASS zcl_abapgit_user_record DEFINITION
|
||||||
RAISING
|
RAISING
|
||||||
zcx_abapgit_exception.
|
zcx_abapgit_exception.
|
||||||
|
|
||||||
CLASS-METHODS get_user_dtls_from_other_clnt
|
METHODS get_user_dtls_from_other_clnt
|
||||||
IMPORTING
|
IMPORTING
|
||||||
iv_user TYPE sy-uname
|
iv_user TYPE sy-uname.
|
||||||
RETURNING
|
|
||||||
VALUE(rs_user) TYPE ty_user.
|
|
||||||
|
|
||||||
CLASS-METHODS build_cache
|
|
||||||
IMPORTING
|
|
||||||
iv_user TYPE sy-uname
|
|
||||||
RETURNING
|
|
||||||
VALUE(rs_user) TYPE ty_user.
|
|
||||||
|
|
||||||
CLASS-METHODS read_cache
|
|
||||||
IMPORTING
|
|
||||||
iv_user TYPE sy-uname
|
|
||||||
RETURNING
|
|
||||||
VALUE(rs_user) TYPE ty_user.
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CLASS ZCL_ABAPGIT_USER_RECORD IMPLEMENTATION.
|
CLASS zcl_abapgit_user_record IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
METHOD build_cache.
|
METHOD get_title.
|
||||||
|
* the queried username might not exist, so this method is static
|
||||||
|
|
||||||
" Get user details
|
DATA ls_user_address TYPE addr3_val.
|
||||||
TRY.
|
|
||||||
check_user_exists(
|
|
||||||
EXPORTING
|
|
||||||
iv_user = iv_user
|
|
||||||
IMPORTING
|
|
||||||
ev_fullname = rs_user-name
|
|
||||||
ev_email = rs_user-email ).
|
|
||||||
CATCH zcx_abapgit_exception.
|
|
||||||
" Could not find user, try to get from other clients
|
|
||||||
rs_user = get_user_dtls_from_other_clnt( iv_user ).
|
|
||||||
ENDTRY.
|
|
||||||
|
|
||||||
rs_user-user = iv_user.
|
CALL FUNCTION 'SUSR_USER_ADDRESS_READ'
|
||||||
INSERT rs_user INTO TABLE gt_user.
|
EXPORTING
|
||||||
|
user_name = iv_username
|
||||||
|
IMPORTING
|
||||||
|
user_address = ls_user_address
|
||||||
|
EXCEPTIONS
|
||||||
|
user_address_not_found = 1
|
||||||
|
OTHERS = 2.
|
||||||
|
IF sy-subrc = 0.
|
||||||
|
rv_title = ls_user_address-name_text.
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD check_user_exists.
|
METHOD check_user_exists.
|
||||||
|
|
||||||
DATA lt_return TYPE STANDARD TABLE OF bapiret2 WITH DEFAULT KEY.
|
DATA lt_return TYPE STANDARD TABLE OF bapiret2 WITH DEFAULT KEY.
|
||||||
|
@ -106,6 +109,63 @@ CLASS ZCL_ABAPGIT_USER_RECORD IMPLEMENTATION.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD constructor.
|
||||||
|
|
||||||
|
DATA ls_user TYPE ty_user.
|
||||||
|
|
||||||
|
" Get user details
|
||||||
|
TRY.
|
||||||
|
check_user_exists(
|
||||||
|
EXPORTING
|
||||||
|
iv_user = iv_user
|
||||||
|
IMPORTING
|
||||||
|
ev_fullname = ms_user-name
|
||||||
|
ev_email = ms_user-email ).
|
||||||
|
CATCH zcx_abapgit_exception.
|
||||||
|
" Could not find user, try to get from other clients
|
||||||
|
get_user_dtls_from_other_clnt( iv_user ).
|
||||||
|
ENDTRY.
|
||||||
|
|
||||||
|
" If the user has been found add it to the list
|
||||||
|
IF ms_user-name IS NOT INITIAL AND ms_user-email IS NOT INITIAL.
|
||||||
|
ls_user-user = iv_user.
|
||||||
|
ls_user-o_user = me.
|
||||||
|
INSERT ls_user INTO TABLE gt_user.
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD get_email.
|
||||||
|
|
||||||
|
rv_email = ms_user-email.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD get_instance.
|
||||||
|
|
||||||
|
FIELD-SYMBOLS <ls_user> TYPE ty_user.
|
||||||
|
|
||||||
|
READ TABLE gt_user ASSIGNING <ls_user> WITH TABLE KEY user = iv_user.
|
||||||
|
IF sy-subrc = 0.
|
||||||
|
ro_user = <ls_user>-o_user.
|
||||||
|
ELSE.
|
||||||
|
CREATE OBJECT ro_user
|
||||||
|
EXPORTING
|
||||||
|
iv_user = iv_user.
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD get_name.
|
||||||
|
|
||||||
|
rv_name = ms_user-name.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD get_user_dtls_from_other_clnt.
|
METHOD get_user_dtls_from_other_clnt.
|
||||||
|
|
||||||
CONSTANTS lc_cc_category TYPE string VALUE 'C'.
|
CONSTANTS lc_cc_category TYPE string VALUE 'C'.
|
||||||
|
@ -119,7 +179,7 @@ CLASS ZCL_ABAPGIT_USER_RECORD IMPLEMENTATION.
|
||||||
ORDER BY PRIMARY KEY.
|
ORDER BY PRIMARY KEY.
|
||||||
|
|
||||||
LOOP AT lt_dev_clients ASSIGNING <lv_dev_client>.
|
LOOP AT lt_dev_clients ASSIGNING <lv_dev_client>.
|
||||||
SELECT SINGLE u~bname p~name_text a~smtp_addr INTO (rs_user-user, rs_user-name, rs_user-email)
|
SELECT SINGLE p~name_text a~smtp_addr INTO (ms_user-name, ms_user-email)
|
||||||
FROM usr21 AS u
|
FROM usr21 AS u
|
||||||
INNER JOIN adrp AS p ON p~persnumber = u~persnumber
|
INNER JOIN adrp AS p ON p~persnumber = u~persnumber
|
||||||
AND p~client = u~mandt
|
AND p~client = u~mandt
|
||||||
|
@ -140,61 +200,7 @@ CLASS ZCL_ABAPGIT_USER_RECORD IMPLEMENTATION.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD read_cache.
|
|
||||||
|
|
||||||
READ TABLE gt_user INTO rs_user WITH TABLE KEY user = iv_user.
|
|
||||||
IF sy-subrc <> 0.
|
|
||||||
rs_user = build_cache( iv_user ).
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
|
|
||||||
METHOD reset.
|
METHOD reset.
|
||||||
CLEAR gt_user.
|
CLEAR gt_user.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD zif_abapgit_user_record~get_email.
|
|
||||||
|
|
||||||
rv_email = read_cache( iv_username )-email.
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
|
|
||||||
METHOD zif_abapgit_user_record~get_name.
|
|
||||||
|
|
||||||
rv_name = read_cache( iv_username )-name.
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
|
|
||||||
METHOD zif_abapgit_user_record~get_title.
|
|
||||||
* the queried username might not exist, refactored for open-abap compatibility
|
|
||||||
|
|
||||||
DATA lr_addr3 TYPE REF TO data.
|
|
||||||
FIELD-SYMBOLS <ls_addr3> TYPE any.
|
|
||||||
FIELD-SYMBOLS <lv_simple> TYPE simple.
|
|
||||||
|
|
||||||
TRY.
|
|
||||||
CREATE DATA lr_addr3 TYPE ('ADDR3_VAL').
|
|
||||||
CATCH cx_sy_create_data_error.
|
|
||||||
RETURN.
|
|
||||||
ENDTRY.
|
|
||||||
ASSIGN lr_addr3->* TO <ls_addr3>.
|
|
||||||
|
|
||||||
CALL FUNCTION 'SUSR_USER_ADDRESS_READ'
|
|
||||||
EXPORTING
|
|
||||||
user_name = iv_username
|
|
||||||
IMPORTING
|
|
||||||
user_address = <ls_addr3>
|
|
||||||
EXCEPTIONS
|
|
||||||
user_address_not_found = 1
|
|
||||||
OTHERS = 2.
|
|
||||||
IF sy-subrc = 0.
|
|
||||||
ASSIGN COMPONENT 'NAME_TEXT' OF STRUCTURE <ls_addr3> TO <lv_simple>.
|
|
||||||
rv_title = <lv_simple>.
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
|
@ -16,10 +16,10 @@ ENDCLASS.
|
||||||
CLASS ltcl_user_record IMPLEMENTATION.
|
CLASS ltcl_user_record IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD test_invalid_user.
|
METHOD test_invalid_user.
|
||||||
DATA li_user_record TYPE REF TO zif_abapgit_user_record.
|
DATA: lo_user_record TYPE REF TO zcl_abapgit_user_record.
|
||||||
|
|
||||||
zcl_abapgit_user_record=>reset( ).
|
zcl_abapgit_user_record=>reset( ).
|
||||||
li_user_record = zcl_abapgit_env_factory=>get_user_record( ).
|
lo_user_record = zcl_abapgit_user_record=>get_instance( c_wrong_user ).
|
||||||
|
|
||||||
cl_abap_unit_assert=>assert_equals(
|
cl_abap_unit_assert=>assert_equals(
|
||||||
exp = 0
|
exp = 0
|
||||||
|
|
8
src/env/zif_abapgit_environment.intf.abap
vendored
8
src/env/zif_abapgit_environment.intf.abap
vendored
|
@ -39,13 +39,5 @@ INTERFACE zif_abapgit_environment
|
||||||
iv_group TYPE clike
|
iv_group TYPE clike
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(rv_free_work_processes) TYPE i.
|
VALUE(rv_free_work_processes) TYPE i.
|
||||||
METHODS check_parallel_processing
|
|
||||||
IMPORTING
|
|
||||||
iv_group TYPE clike
|
|
||||||
RETURNING
|
|
||||||
VALUE(rv_checked) TYPE abap_bool.
|
|
||||||
METHODS get_available_user_sessions
|
|
||||||
RETURNING
|
|
||||||
VALUE(rv_sessions) TYPE i.
|
|
||||||
|
|
||||||
ENDINTERFACE.
|
ENDINTERFACE.
|
||||||
|
|
21
src/env/zif_abapgit_user_record.intf.abap
vendored
21
src/env/zif_abapgit_user_record.intf.abap
vendored
|
@ -1,21 +0,0 @@
|
||||||
INTERFACE zif_abapgit_user_record PUBLIC.
|
|
||||||
|
|
||||||
METHODS get_name
|
|
||||||
IMPORTING
|
|
||||||
iv_username TYPE sy-uname
|
|
||||||
RETURNING
|
|
||||||
VALUE(rv_name) TYPE string.
|
|
||||||
|
|
||||||
METHODS get_email
|
|
||||||
IMPORTING
|
|
||||||
iv_username TYPE sy-uname
|
|
||||||
RETURNING
|
|
||||||
VALUE(rv_email) TYPE string.
|
|
||||||
|
|
||||||
METHODS get_title
|
|
||||||
IMPORTING
|
|
||||||
iv_username TYPE sy-uname
|
|
||||||
RETURNING
|
|
||||||
VALUE(rv_title) TYPE string.
|
|
||||||
|
|
||||||
ENDINTERFACE.
|
|
15
src/env/zif_abapgit_user_record.intf.xml
vendored
15
src/env/zif_abapgit_user_record.intf.xml
vendored
|
@ -1,15 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_INTF" serializer_version="v1.0.0">
|
|
||||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
|
||||||
<asx:values>
|
|
||||||
<VSEOINTERF>
|
|
||||||
<CLSNAME>ZIF_ABAPGIT_USER_RECORD</CLSNAME>
|
|
||||||
<LANGU>E</LANGU>
|
|
||||||
<DESCRIPT>abapGit - User Record</DESCRIPT>
|
|
||||||
<EXPOSURE>2</EXPOSURE>
|
|
||||||
<STATE>1</STATE>
|
|
||||||
<UNICODE>X</UNICODE>
|
|
||||||
</VSEOINTERF>
|
|
||||||
</asx:values>
|
|
||||||
</asx:abap>
|
|
||||||
</abapGit>
|
|
|
@ -317,8 +317,8 @@ CLASS zcl_abapgit_exit IMPLEMENTATION.
|
||||||
TRY.
|
TRY.
|
||||||
gi_exit->determine_transport_request(
|
gi_exit->determine_transport_request(
|
||||||
EXPORTING
|
EXPORTING
|
||||||
ii_repo = ii_repo
|
io_repo = io_repo
|
||||||
iv_transport_type = iv_transport_type
|
iv_transport_type = iv_transport_type
|
||||||
CHANGING
|
CHANGING
|
||||||
cv_transport_request = cv_transport_request ).
|
cv_transport_request = cv_transport_request ).
|
||||||
CATCH cx_sy_ref_is_initial cx_sy_dyn_call_illegal_method ##NO_HANDLER.
|
CATCH cx_sy_ref_is_initial cx_sy_dyn_call_illegal_method ##NO_HANDLER.
|
||||||
|
@ -328,18 +328,6 @@ CLASS zcl_abapgit_exit IMPLEMENTATION.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD zif_abapgit_exit~enhance_any_toolbar.
|
|
||||||
|
|
||||||
IF gi_exit IS NOT INITIAL.
|
|
||||||
TRY.
|
|
||||||
gi_exit->enhance_any_toolbar( io_menu ).
|
|
||||||
CATCH cx_sy_ref_is_initial cx_sy_dyn_call_illegal_method ##NO_HANDLER.
|
|
||||||
ENDTRY.
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
|
|
||||||
METHOD zif_abapgit_exit~enhance_repo_toolbar.
|
METHOD zif_abapgit_exit~enhance_repo_toolbar.
|
||||||
|
|
||||||
IF gi_exit IS NOT INITIAL.
|
IF gi_exit IS NOT INITIAL.
|
||||||
|
@ -452,9 +440,9 @@ CLASS zcl_abapgit_exit IMPLEMENTATION.
|
||||||
IF gi_exit IS NOT INITIAL.
|
IF gi_exit IS NOT INITIAL.
|
||||||
TRY.
|
TRY.
|
||||||
gi_exit->validate_before_push(
|
gi_exit->validate_before_push(
|
||||||
is_comment = is_comment
|
is_comment = is_comment
|
||||||
io_stage = io_stage
|
io_stage = io_stage
|
||||||
ii_repo_online = ii_repo_online ).
|
io_repo = io_repo ).
|
||||||
CATCH cx_sy_ref_is_initial cx_sy_dyn_call_illegal_method ##NO_HANDLER.
|
CATCH cx_sy_ref_is_initial cx_sy_dyn_call_illegal_method ##NO_HANDLER.
|
||||||
ENDTRY.
|
ENDTRY.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
*"* use this source file for your ABAP unit test classes
|
||||||
|
|
||||||
CLASS ltcl_test DEFINITION DEFERRED.
|
CLASS ltcl_test DEFINITION DEFERRED.
|
||||||
CLASS zcl_abapgit_exit DEFINITION LOCAL FRIENDS ltcl_test.
|
CLASS zcl_abapgit_exit DEFINITION LOCAL FRIENDS ltcl_test.
|
||||||
|
|
||||||
|
|
|
@ -1,15 +1,15 @@
|
||||||
INTERFACE zif_abapgit_exit PUBLIC.
|
INTERFACE zif_abapgit_exit PUBLIC.
|
||||||
|
|
||||||
|
|
||||||
TYPES:
|
TYPES:
|
||||||
BEGIN OF ty_ci_repo,
|
BEGIN OF ty_ci_repo,
|
||||||
name TYPE string,
|
name TYPE string,
|
||||||
clone_url TYPE string,
|
clone_url TYPE string,
|
||||||
END OF ty_ci_repo.
|
END OF ty_ci_repo.
|
||||||
|
TYPES:
|
||||||
TYPES ty_ci_repos TYPE STANDARD TABLE OF ty_ci_repo WITH DEFAULT KEY.
|
ty_ci_repos TYPE TABLE OF ty_ci_repo.
|
||||||
|
TYPES:
|
||||||
TYPES ty_object_types TYPE HASHED TABLE OF tadir-object WITH UNIQUE KEY table_line.
|
ty_object_types TYPE STANDARD TABLE OF tadir-object WITH DEFAULT KEY.
|
||||||
|
|
||||||
TYPES:
|
TYPES:
|
||||||
BEGIN OF ty_class_key,
|
BEGIN OF ty_class_key,
|
||||||
clsname TYPE abap_classname,
|
clsname TYPE abap_classname,
|
||||||
|
@ -25,58 +25,47 @@ INTERFACE zif_abapgit_exit PUBLIC.
|
||||||
!cv_display_url TYPE csequence
|
!cv_display_url TYPE csequence
|
||||||
RAISING
|
RAISING
|
||||||
zcx_abapgit_exception.
|
zcx_abapgit_exception.
|
||||||
|
|
||||||
METHODS adjust_display_filename
|
METHODS adjust_display_filename
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!is_repo_meta TYPE zif_abapgit_persistence=>ty_repo
|
!is_repo_meta TYPE zif_abapgit_persistence=>ty_repo
|
||||||
!iv_filename TYPE string
|
!iv_filename TYPE string
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(rv_filename) TYPE string.
|
VALUE(rv_filename) TYPE string.
|
||||||
|
|
||||||
METHODS allow_sap_objects
|
METHODS allow_sap_objects
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(rv_allowed) TYPE abap_bool.
|
VALUE(rv_allowed) TYPE abap_bool.
|
||||||
|
|
||||||
METHODS change_local_host
|
METHODS change_local_host
|
||||||
CHANGING
|
CHANGING
|
||||||
!ct_hosts TYPE zif_abapgit_definitions=>ty_string_tt.
|
!ct_hosts TYPE zif_abapgit_definitions=>ty_string_tt.
|
||||||
|
|
||||||
METHODS change_max_parallel_processes
|
METHODS change_max_parallel_processes
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!iv_package TYPE devclass
|
!iv_package TYPE devclass
|
||||||
CHANGING
|
CHANGING
|
||||||
!cv_max_processes TYPE i.
|
!cv_max_processes TYPE i.
|
||||||
|
|
||||||
METHODS change_proxy_authentication
|
METHODS change_proxy_authentication
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!iv_repo_url TYPE csequence
|
!iv_repo_url TYPE csequence
|
||||||
CHANGING
|
CHANGING
|
||||||
!cv_proxy_authentication TYPE abap_bool.
|
!cv_proxy_authentication TYPE abap_bool.
|
||||||
|
|
||||||
METHODS change_proxy_port
|
METHODS change_proxy_port
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!iv_repo_url TYPE csequence
|
!iv_repo_url TYPE csequence
|
||||||
CHANGING
|
CHANGING
|
||||||
!cv_proxy_port TYPE string.
|
!cv_proxy_port TYPE string.
|
||||||
|
|
||||||
METHODS change_proxy_url
|
METHODS change_proxy_url
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!iv_repo_url TYPE csequence
|
!iv_repo_url TYPE csequence
|
||||||
CHANGING
|
CHANGING
|
||||||
!cv_proxy_url TYPE string.
|
!cv_proxy_url TYPE string.
|
||||||
|
|
||||||
METHODS change_rfc_server_group
|
METHODS change_rfc_server_group
|
||||||
CHANGING
|
CHANGING
|
||||||
!cv_group TYPE rzlli_apcl.
|
!cv_group TYPE rzlli_apcl.
|
||||||
|
|
||||||
METHODS change_supported_data_objects
|
METHODS change_supported_data_objects
|
||||||
CHANGING
|
CHANGING
|
||||||
!ct_objects TYPE zif_abapgit_data_supporter=>ty_objects.
|
!ct_objects TYPE zif_abapgit_data_supporter=>ty_objects.
|
||||||
|
|
||||||
METHODS change_supported_object_types
|
METHODS change_supported_object_types
|
||||||
CHANGING
|
CHANGING
|
||||||
!ct_types TYPE ty_object_types.
|
!ct_types TYPE ty_object_types.
|
||||||
|
|
||||||
METHODS change_tadir
|
METHODS change_tadir
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!iv_package TYPE devclass
|
!iv_package TYPE devclass
|
||||||
|
@ -86,7 +75,6 @@ INTERFACE zif_abapgit_exit PUBLIC.
|
||||||
!iv_only_local_objects TYPE abap_bool DEFAULT abap_false
|
!iv_only_local_objects TYPE abap_bool DEFAULT abap_false
|
||||||
CHANGING
|
CHANGING
|
||||||
!ct_tadir TYPE zif_abapgit_definitions=>ty_tadir_tt.
|
!ct_tadir TYPE zif_abapgit_definitions=>ty_tadir_tt.
|
||||||
|
|
||||||
METHODS create_http_client
|
METHODS create_http_client
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!iv_url TYPE string
|
!iv_url TYPE string
|
||||||
|
@ -94,7 +82,6 @@ INTERFACE zif_abapgit_exit PUBLIC.
|
||||||
VALUE(ri_client) TYPE REF TO if_http_client
|
VALUE(ri_client) TYPE REF TO if_http_client
|
||||||
RAISING
|
RAISING
|
||||||
zcx_abapgit_exception.
|
zcx_abapgit_exception.
|
||||||
|
|
||||||
METHODS custom_serialize_abap_clif
|
METHODS custom_serialize_abap_clif
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!is_class_key TYPE ty_class_key
|
!is_class_key TYPE ty_class_key
|
||||||
|
@ -103,44 +90,33 @@ INTERFACE zif_abapgit_exit PUBLIC.
|
||||||
VALUE(rt_source) TYPE zif_abapgit_definitions=>ty_string_tt
|
VALUE(rt_source) TYPE zif_abapgit_definitions=>ty_string_tt
|
||||||
RAISING
|
RAISING
|
||||||
zcx_abapgit_exception.
|
zcx_abapgit_exception.
|
||||||
|
|
||||||
METHODS deserialize_postprocess
|
METHODS deserialize_postprocess
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!is_step TYPE zif_abapgit_objects=>ty_step_data
|
!is_step TYPE zif_abapgit_objects=>ty_step_data
|
||||||
!ii_log TYPE REF TO zif_abapgit_log.
|
!ii_log TYPE REF TO zif_abapgit_log.
|
||||||
|
|
||||||
METHODS determine_transport_request
|
METHODS determine_transport_request
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!ii_repo TYPE REF TO zif_abapgit_repo
|
!io_repo TYPE REF TO zcl_abapgit_repo
|
||||||
!iv_transport_type TYPE zif_abapgit_definitions=>ty_transport_type
|
!iv_transport_type TYPE zif_abapgit_definitions=>ty_transport_type
|
||||||
CHANGING
|
CHANGING
|
||||||
!cv_transport_request TYPE trkorr.
|
!cv_transport_request TYPE trkorr.
|
||||||
|
|
||||||
METHODS enhance_any_toolbar
|
|
||||||
IMPORTING
|
|
||||||
!io_menu TYPE REF TO zcl_abapgit_html_toolbar.
|
|
||||||
|
|
||||||
METHODS enhance_repo_toolbar
|
METHODS enhance_repo_toolbar
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!io_menu TYPE REF TO zcl_abapgit_html_toolbar
|
!io_menu TYPE REF TO zcl_abapgit_html_toolbar
|
||||||
!iv_key TYPE zif_abapgit_persistence=>ty_value
|
!iv_key TYPE zif_abapgit_persistence=>ty_value
|
||||||
!iv_act TYPE string.
|
!iv_act TYPE string.
|
||||||
|
|
||||||
METHODS get_ci_tests
|
METHODS get_ci_tests
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!iv_object TYPE tadir-object
|
!iv_object TYPE tadir-object
|
||||||
CHANGING
|
CHANGING
|
||||||
!ct_ci_repos TYPE ty_ci_repos.
|
!ct_ci_repos TYPE ty_ci_repos.
|
||||||
|
|
||||||
METHODS get_ssl_id
|
METHODS get_ssl_id
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(rv_ssl_id) TYPE ssfapplssl.
|
VALUE(rv_ssl_id) TYPE ssfapplssl.
|
||||||
|
|
||||||
METHODS http_client
|
METHODS http_client
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!iv_url TYPE string
|
!iv_url TYPE string
|
||||||
!ii_client TYPE REF TO if_http_client.
|
!ii_client TYPE REF TO if_http_client.
|
||||||
|
|
||||||
METHODS on_event
|
METHODS on_event
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!ii_event TYPE REF TO zif_abapgit_gui_event
|
!ii_event TYPE REF TO zif_abapgit_gui_event
|
||||||
|
@ -148,7 +124,6 @@ INTERFACE zif_abapgit_exit PUBLIC.
|
||||||
VALUE(rs_handled) TYPE zif_abapgit_gui_event_handler=>ty_handling_result
|
VALUE(rs_handled) TYPE zif_abapgit_gui_event_handler=>ty_handling_result
|
||||||
RAISING
|
RAISING
|
||||||
zcx_abapgit_exception.
|
zcx_abapgit_exception.
|
||||||
|
|
||||||
METHODS pre_calculate_repo_status
|
METHODS pre_calculate_repo_status
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!is_repo_meta TYPE zif_abapgit_persistence=>ty_repo
|
!is_repo_meta TYPE zif_abapgit_persistence=>ty_repo
|
||||||
|
@ -157,26 +132,22 @@ INTERFACE zif_abapgit_exit PUBLIC.
|
||||||
!ct_remote TYPE zif_abapgit_git_definitions=>ty_files_tt
|
!ct_remote TYPE zif_abapgit_git_definitions=>ty_files_tt
|
||||||
RAISING
|
RAISING
|
||||||
zcx_abapgit_exception.
|
zcx_abapgit_exception.
|
||||||
|
|
||||||
METHODS serialize_postprocess
|
METHODS serialize_postprocess
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!iv_package TYPE devclass
|
!iv_package TYPE devclass
|
||||||
!ii_log TYPE REF TO zif_abapgit_log
|
!ii_log TYPE REF TO zif_abapgit_log
|
||||||
CHANGING
|
CHANGING
|
||||||
!ct_files TYPE zif_abapgit_definitions=>ty_files_item_tt.
|
!ct_files TYPE zif_abapgit_definitions=>ty_files_item_tt.
|
||||||
|
|
||||||
METHODS validate_before_push
|
METHODS validate_before_push
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!is_comment TYPE zif_abapgit_git_definitions=>ty_comment
|
!is_comment TYPE zif_abapgit_git_definitions=>ty_comment
|
||||||
!io_stage TYPE REF TO zcl_abapgit_stage
|
!io_stage TYPE REF TO zcl_abapgit_stage
|
||||||
!ii_repo_online TYPE REF TO zif_abapgit_repo_online
|
!io_repo TYPE REF TO zcl_abapgit_repo_online
|
||||||
RAISING
|
RAISING
|
||||||
zcx_abapgit_exception.
|
zcx_abapgit_exception.
|
||||||
|
|
||||||
METHODS wall_message_list
|
METHODS wall_message_list
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!ii_html TYPE REF TO zif_abapgit_html.
|
!ii_html TYPE REF TO zif_abapgit_html.
|
||||||
|
|
||||||
METHODS wall_message_repo
|
METHODS wall_message_repo
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!is_repo_meta TYPE zif_abapgit_persistence=>ty_repo
|
!is_repo_meta TYPE zif_abapgit_persistence=>ty_repo
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
*"* use this source file for your ABAP unit test classes
|
||||||
|
|
||||||
CLASS ltcl_calculate_patch DEFINITION FINAL FOR TESTING
|
CLASS ltcl_calculate_patch DEFINITION FINAL FOR TESTING
|
||||||
DURATION SHORT
|
DURATION SHORT
|
||||||
RISK LEVEL HARMLESS.
|
RISK LEVEL HARMLESS.
|
||||||
|
|
|
@ -178,18 +178,14 @@ CLASS zcl_abapgit_git_pack IMPLEMENTATION.
|
||||||
lv_data = iv_data.
|
lv_data = iv_data.
|
||||||
|
|
||||||
* header
|
* header
|
||||||
IF xstrlen( lv_data ) < 4.
|
IF NOT xstrlen( lv_data ) > 4 OR lv_data(4) <> c_pack_start.
|
||||||
zcx_abapgit_exception=>raise( |Unexpected pack header, short reply| ).
|
zcx_abapgit_exception=>raise( |Unexpected pack header| ).
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
IF lv_data(4) <> c_pack_start.
|
|
||||||
zcx_abapgit_exception=>raise( |Unexpected pack header, { lv_data(4) }| ).
|
|
||||||
ENDIF.
|
ENDIF.
|
||||||
lv_data = lv_data+4.
|
lv_data = lv_data+4.
|
||||||
|
|
||||||
* version
|
* version
|
||||||
IF lv_data(4) <> c_version.
|
IF lv_data(4) <> c_version.
|
||||||
zcx_abapgit_exception=>raise( |Version not supported, { lv_data(4) }| ).
|
zcx_abapgit_exception=>raise( |Version not supported| ).
|
||||||
ENDIF.
|
ENDIF.
|
||||||
lv_data = lv_data+4.
|
lv_data = lv_data+4.
|
||||||
|
|
||||||
|
@ -485,10 +481,9 @@ CLASS zcl_abapgit_git_pack IMPLEMENTATION.
|
||||||
ls_node-chmod = lv_chmod.
|
ls_node-chmod = lv_chmod.
|
||||||
IF ls_node-chmod <> zif_abapgit_git_definitions=>c_chmod-dir
|
IF ls_node-chmod <> zif_abapgit_git_definitions=>c_chmod-dir
|
||||||
AND ls_node-chmod <> zif_abapgit_git_definitions=>c_chmod-file
|
AND ls_node-chmod <> zif_abapgit_git_definitions=>c_chmod-file
|
||||||
AND ls_node-chmod <> zif_abapgit_git_definitions=>c_chmod-symbolic_link
|
|
||||||
AND ls_node-chmod <> zif_abapgit_git_definitions=>c_chmod-executable
|
AND ls_node-chmod <> zif_abapgit_git_definitions=>c_chmod-executable
|
||||||
AND ls_node-chmod <> zif_abapgit_git_definitions=>c_chmod-submodule.
|
AND ls_node-chmod <> zif_abapgit_git_definitions=>c_chmod-submodule.
|
||||||
zcx_abapgit_exception=>raise( |Unknown chmod { ls_node-chmod }| ).
|
zcx_abapgit_exception=>raise( |Unknown chmod| ).
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
lv_offset = lv_match + 1.
|
lv_offset = lv_match + 1.
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
*"* use this source file for any type of declarations (class
|
||||||
|
*"* definitions, interfaces or type declarations) you need for
|
||||||
|
*"* components in the private section
|
||||||
|
|
||||||
CLASS lcl_stream DEFINITION FINAL.
|
CLASS lcl_stream DEFINITION FINAL.
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
TYPES: ty_hex TYPE x LENGTH 1.
|
TYPES: ty_hex TYPE x LENGTH 1.
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
*"* use this source file for the definition and implementation of
|
||||||
|
*"* local helper classes, interface definitions and type
|
||||||
|
*"* declarations
|
||||||
|
|
||||||
CLASS lcl_stream IMPLEMENTATION.
|
CLASS lcl_stream IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD constructor.
|
METHOD constructor.
|
||||||
|
|
|
@ -809,7 +809,6 @@ CLASS zcl_abapgit_git_porcelain IMPLEMENTATION.
|
||||||
CASE <ls_node>-chmod.
|
CASE <ls_node>-chmod.
|
||||||
WHEN zif_abapgit_git_definitions=>c_chmod-file
|
WHEN zif_abapgit_git_definitions=>c_chmod-file
|
||||||
OR zif_abapgit_git_definitions=>c_chmod-executable
|
OR zif_abapgit_git_definitions=>c_chmod-executable
|
||||||
OR zif_abapgit_git_definitions=>c_chmod-symbolic_link
|
|
||||||
OR zif_abapgit_git_definitions=>c_chmod-submodule.
|
OR zif_abapgit_git_definitions=>c_chmod-submodule.
|
||||||
APPEND INITIAL LINE TO rt_expanded ASSIGNING <ls_exp>.
|
APPEND INITIAL LINE TO rt_expanded ASSIGNING <ls_exp>.
|
||||||
<ls_exp>-path = iv_base.
|
<ls_exp>-path = iv_base.
|
||||||
|
@ -823,7 +822,7 @@ CLASS zcl_abapgit_git_porcelain IMPLEMENTATION.
|
||||||
iv_base = iv_base && <ls_node>-name && '/' ).
|
iv_base = iv_base && <ls_node>-name && '/' ).
|
||||||
APPEND LINES OF lt_expanded TO rt_expanded.
|
APPEND LINES OF lt_expanded TO rt_expanded.
|
||||||
WHEN OTHERS.
|
WHEN OTHERS.
|
||||||
zcx_abapgit_exception=>raise( |walk_tree: unknown chmod { <ls_node>-chmod }| ).
|
zcx_abapgit_exception=>raise( 'walk_tree: unknown chmod' ).
|
||||||
ENDCASE.
|
ENDCASE.
|
||||||
ENDLOOP.
|
ENDLOOP.
|
||||||
|
|
||||||
|
|
|
@ -78,11 +78,10 @@ INTERFACE zif_abapgit_git_definitions
|
||||||
|
|
||||||
CONSTANTS:
|
CONSTANTS:
|
||||||
BEGIN OF c_chmod,
|
BEGIN OF c_chmod,
|
||||||
file TYPE ty_chmod VALUE '100644',
|
file TYPE ty_chmod VALUE '100644',
|
||||||
executable TYPE ty_chmod VALUE '100755',
|
executable TYPE ty_chmod VALUE '100755',
|
||||||
dir TYPE ty_chmod VALUE '40000 ',
|
dir TYPE ty_chmod VALUE '40000 ',
|
||||||
submodule TYPE ty_chmod VALUE '160000',
|
submodule TYPE ty_chmod VALUE '160000',
|
||||||
symbolic_link TYPE ty_chmod VALUE '120000',
|
|
||||||
END OF c_chmod .
|
END OF c_chmod .
|
||||||
|
|
||||||
TYPES:
|
TYPES:
|
||||||
|
|
|
@ -7,9 +7,9 @@ CLASS zcl_abapgit_git_url DEFINITION
|
||||||
|
|
||||||
METHODS get_commit_display_url
|
METHODS get_commit_display_url
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!ii_repo_online TYPE REF TO zif_abapgit_repo_online
|
!io_repo TYPE REF TO zcl_abapgit_repo_online
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(rv_url) TYPE string
|
VALUE(rv_url) TYPE string
|
||||||
RAISING
|
RAISING
|
||||||
zcx_abapgit_exception .
|
zcx_abapgit_exception .
|
||||||
|
|
||||||
|
@ -40,21 +40,18 @@ CLASS zcl_abapgit_git_url IMPLEMENTATION.
|
||||||
METHOD get_commit_display_url.
|
METHOD get_commit_display_url.
|
||||||
|
|
||||||
DATA li_exit TYPE REF TO zif_abapgit_exit.
|
DATA li_exit TYPE REF TO zif_abapgit_exit.
|
||||||
DATA li_repo TYPE REF TO zif_abapgit_repo.
|
|
||||||
|
|
||||||
li_repo = ii_repo_online.
|
|
||||||
|
|
||||||
rv_url = get_default_commit_display_url(
|
rv_url = get_default_commit_display_url(
|
||||||
iv_repo_url = ii_repo_online->get_url( )
|
iv_repo_url = io_repo->get_url( )
|
||||||
iv_hash = ii_repo_online->get_current_remote( ) ).
|
iv_hash = io_repo->get_current_remote( ) ).
|
||||||
|
|
||||||
li_exit = zcl_abapgit_exit=>get_instance( ).
|
li_exit = zcl_abapgit_exit=>get_instance( ).
|
||||||
li_exit->adjust_display_commit_url(
|
li_exit->adjust_display_commit_url(
|
||||||
EXPORTING
|
EXPORTING
|
||||||
iv_repo_url = ii_repo_online->get_url( )
|
iv_repo_url = io_repo->get_url( )
|
||||||
iv_repo_name = li_repo->get_name( )
|
iv_repo_name = io_repo->get_name( )
|
||||||
iv_repo_key = li_repo->get_key( )
|
iv_repo_key = io_repo->get_key( )
|
||||||
iv_commit_hash = ii_repo_online->get_current_remote( )
|
iv_commit_hash = io_repo->get_current_remote( )
|
||||||
CHANGING
|
CHANGING
|
||||||
cv_display_url = rv_url ).
|
cv_display_url = rv_url ).
|
||||||
|
|
||||||
|
|
|
@ -50,7 +50,7 @@ CLASS zcl_abapgit_pr_enumerator IMPLEMENTATION.
|
||||||
mv_repo_url = to_lower( iv_url ).
|
mv_repo_url = to_lower( iv_url ).
|
||||||
TRY.
|
TRY.
|
||||||
mi_enum_provider = create_provider( mv_repo_url ).
|
mi_enum_provider = create_provider( mv_repo_url ).
|
||||||
CATCH zcx_abapgit_exception ##NO_HANDLER.
|
CATCH zcx_abapgit_exception.
|
||||||
ENDTRY.
|
ENDTRY.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
@ -62,7 +62,7 @@ CLASS zcl_abapgit_pr_enumerator IMPLEMENTATION.
|
||||||
DATA lv_user TYPE string.
|
DATA lv_user TYPE string.
|
||||||
DATA lv_repo TYPE string.
|
DATA lv_repo TYPE string.
|
||||||
|
|
||||||
li_agent = zcl_abapgit_http_agent=>create( ).
|
li_agent = zcl_abapgit_factory=>get_http_agent( ).
|
||||||
|
|
||||||
FIND ALL OCCURRENCES OF REGEX 'github\.com\/([^\/]+)\/([^\/]+)'
|
FIND ALL OCCURRENCES OF REGEX 'github\.com\/([^\/]+)\/([^\/]+)'
|
||||||
IN iv_repo_url
|
IN iv_repo_url
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
CLASS zcl_abapgit_code_inspector DEFINITION
|
CLASS zcl_abapgit_code_inspector DEFINITION
|
||||||
PUBLIC
|
PUBLIC
|
||||||
CREATE PROTECTED.
|
CREATE PROTECTED
|
||||||
|
GLOBAL FRIENDS zcl_abapgit_factory .
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
|
|
||||||
|
@ -12,19 +13,6 @@ CLASS zcl_abapgit_code_inspector DEFINITION
|
||||||
RAISING
|
RAISING
|
||||||
zcx_abapgit_exception .
|
zcx_abapgit_exception .
|
||||||
|
|
||||||
CLASS-METHODS get_code_inspector
|
|
||||||
IMPORTING
|
|
||||||
!iv_package TYPE devclass
|
|
||||||
RETURNING
|
|
||||||
VALUE(ri_code_inspector) TYPE REF TO zif_abapgit_code_inspector
|
|
||||||
RAISING
|
|
||||||
zcx_abapgit_exception.
|
|
||||||
|
|
||||||
CLASS-METHODS set_code_inspector
|
|
||||||
IMPORTING
|
|
||||||
!iv_package TYPE devclass
|
|
||||||
!ii_code_inspector TYPE REF TO zif_abapgit_code_inspector.
|
|
||||||
|
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
DATA mv_package TYPE devclass .
|
DATA mv_package TYPE devclass .
|
||||||
|
|
||||||
|
@ -47,15 +35,6 @@ CLASS zcl_abapgit_code_inspector DEFINITION
|
||||||
VALUE(rv_skip) TYPE abap_bool.
|
VALUE(rv_skip) TYPE abap_bool.
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
|
|
||||||
TYPES:
|
|
||||||
BEGIN OF ty_code_inspector_pack,
|
|
||||||
package TYPE devclass,
|
|
||||||
instance TYPE REF TO zif_abapgit_code_inspector,
|
|
||||||
END OF ty_code_inspector_pack,
|
|
||||||
ty_code_inspector_packs TYPE HASHED TABLE OF ty_code_inspector_pack WITH UNIQUE KEY package.
|
|
||||||
|
|
||||||
CLASS-DATA gt_code_inspector TYPE ty_code_inspector_packs.
|
|
||||||
|
|
||||||
DATA mv_success TYPE abap_bool .
|
DATA mv_success TYPE abap_bool .
|
||||||
DATA mv_summary TYPE string.
|
DATA mv_summary TYPE string.
|
||||||
|
|
||||||
|
@ -287,28 +266,6 @@ CLASS zcl_abapgit_code_inspector IMPLEMENTATION.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD get_code_inspector.
|
|
||||||
|
|
||||||
DATA ls_code_inspector LIKE LINE OF gt_code_inspector.
|
|
||||||
|
|
||||||
FIELD-SYMBOLS <ls_code_inspector> TYPE ty_code_inspector_pack.
|
|
||||||
|
|
||||||
READ TABLE gt_code_inspector ASSIGNING <ls_code_inspector> WITH TABLE KEY package = iv_package.
|
|
||||||
IF sy-subrc <> 0.
|
|
||||||
ls_code_inspector-package = iv_package.
|
|
||||||
|
|
||||||
CREATE OBJECT ls_code_inspector-instance TYPE zcl_abapgit_code_inspector
|
|
||||||
EXPORTING
|
|
||||||
iv_package = iv_package.
|
|
||||||
|
|
||||||
INSERT ls_code_inspector INTO TABLE gt_code_inspector ASSIGNING <ls_code_inspector>.
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
ri_code_inspector = <ls_code_inspector>-instance.
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
|
|
||||||
METHOD run_inspection.
|
METHOD run_inspection.
|
||||||
|
|
||||||
io_inspection->run(
|
io_inspection->run(
|
||||||
|
@ -333,24 +290,6 @@ CLASS zcl_abapgit_code_inspector IMPLEMENTATION.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD set_code_inspector.
|
|
||||||
|
|
||||||
DATA ls_code_inspector LIKE LINE OF gt_code_inspector.
|
|
||||||
|
|
||||||
FIELD-SYMBOLS <ls_code_inspector> LIKE LINE OF gt_code_inspector.
|
|
||||||
|
|
||||||
READ TABLE gt_code_inspector ASSIGNING <ls_code_inspector> WITH TABLE KEY package = iv_package.
|
|
||||||
IF sy-subrc <> 0.
|
|
||||||
ls_code_inspector-package = iv_package.
|
|
||||||
|
|
||||||
INSERT ls_code_inspector INTO TABLE gt_code_inspector ASSIGNING <ls_code_inspector>.
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
<ls_code_inspector>-instance = ii_code_inspector.
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
|
|
||||||
METHOD skip_object.
|
METHOD skip_object.
|
||||||
|
|
||||||
DATA ls_program_type TYPE subc.
|
DATA ls_program_type TYPE subc.
|
||||||
|
|
|
@ -12,12 +12,12 @@ CLASS zcl_abapgit_where_used_tools DEFINITION
|
||||||
obj_type TYPE tadir-object,
|
obj_type TYPE tadir-object,
|
||||||
obj_prog_type TYPE trdir-subc,
|
obj_prog_type TYPE trdir-subc,
|
||||||
obj_name TYPE tadir-obj_name,
|
obj_name TYPE tadir-obj_name,
|
||||||
obj_cls TYPE string,
|
obj_cls TYPE rsfindlst-object_cls,
|
||||||
dep_package TYPE devclass,
|
dep_package TYPE devclass,
|
||||||
dep_obj_type TYPE tadir-object,
|
dep_obj_type TYPE tadir-object,
|
||||||
dep_obj_name TYPE tadir-obj_name,
|
dep_obj_name TYPE tadir-obj_name,
|
||||||
dep_used_cls TYPE string,
|
dep_used_cls TYPE rsfindlst-used_cls,
|
||||||
dep_used_obj TYPE string,
|
dep_used_obj TYPE rsfindlst-used_obj,
|
||||||
END OF ty_dependency.
|
END OF ty_dependency.
|
||||||
TYPES:
|
TYPES:
|
||||||
ty_dependency_tt TYPE STANDARD TABLE OF ty_dependency WITH DEFAULT KEY.
|
ty_dependency_tt TYPE STANDARD TABLE OF ty_dependency WITH DEFAULT KEY.
|
||||||
|
@ -30,11 +30,11 @@ CLASS zcl_abapgit_where_used_tools DEFINITION
|
||||||
" here: https://github.com/sbcgua/crossdeps
|
" here: https://github.com/sbcgua/crossdeps
|
||||||
METHODS select_external_usages
|
METHODS select_external_usages
|
||||||
IMPORTING
|
IMPORTING
|
||||||
iv_package TYPE tadir-devclass
|
iv_package TYPE tadir-devclass
|
||||||
iv_ignore_subpackages TYPE abap_bool DEFAULT abap_false
|
iv_ignore_subpackages TYPE abap_bool DEFAULT abap_false
|
||||||
ir_package_scope TYPE ty_devc_range OPTIONAL
|
ir_package_scope TYPE ty_devc_range OPTIONAL
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(rt_objs) TYPE ty_dependency_tt
|
VALUE(rt_objs) TYPE ty_dependency_tt
|
||||||
RAISING
|
RAISING
|
||||||
zcx_abapgit_exception.
|
zcx_abapgit_exception.
|
||||||
|
|
||||||
|
@ -124,7 +124,7 @@ ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CLASS zcl_abapgit_where_used_tools IMPLEMENTATION.
|
CLASS ZCL_ABAPGIT_WHERE_USED_TOOLS IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
METHOD build_package_scope.
|
METHOD build_package_scope.
|
||||||
|
@ -311,7 +311,7 @@ CLASS zcl_abapgit_where_used_tools IMPLEMENTATION.
|
||||||
not_enough_input = 1
|
not_enough_input = 1
|
||||||
no_function_pool = 2
|
no_function_pool = 2
|
||||||
delimiter_wrong_position = 3
|
delimiter_wrong_position = 3
|
||||||
OTHERS = 4 ##FM_SUBRC_OK.
|
OTHERS = 4.
|
||||||
|
|
||||||
IF lv_area IS INITIAL.
|
IF lv_area IS INITIAL.
|
||||||
SELECT SINGLE master FROM d010inc INTO lv_program
|
SELECT SINGLE master FROM d010inc INTO lv_program
|
||||||
|
@ -325,7 +325,7 @@ CLASS zcl_abapgit_where_used_tools IMPLEMENTATION.
|
||||||
not_enough_input = 1
|
not_enough_input = 1
|
||||||
no_function_pool = 2
|
no_function_pool = 2
|
||||||
delimiter_wrong_position = 3
|
delimiter_wrong_position = 3
|
||||||
OTHERS = 4 ##FM_SUBRC_OK.
|
OTHERS = 4.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
IF lv_area IS NOT INITIAL.
|
IF lv_area IS NOT INITIAL.
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
<VSEOCLASS>
|
<VSEOCLASS>
|
||||||
<CLSNAME>ZCL_ABAPGIT_WHERE_USED_TOOLS</CLSNAME>
|
<CLSNAME>ZCL_ABAPGIT_WHERE_USED_TOOLS</CLSNAME>
|
||||||
<LANGU>E</LANGU>
|
<LANGU>E</LANGU>
|
||||||
<DESCRIPT>abapGit - Where-used Utilities</DESCRIPT>
|
<DESCRIPT>abapGit where used utilities</DESCRIPT>
|
||||||
<STATE>1</STATE>
|
<STATE>1</STATE>
|
||||||
<CLSCCINCL>X</CLSCCINCL>
|
<CLSCCINCL>X</CLSCCINCL>
|
||||||
<FIXPT>X</FIXPT>
|
<FIXPT>X</FIXPT>
|
||||||
|
|
|
@ -50,30 +50,30 @@ CLASS zcl_abapgit_ajson DEFINITION
|
||||||
|
|
||||||
CLASS-METHODS parse
|
CLASS-METHODS parse
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!iv_json TYPE any
|
!iv_json TYPE string
|
||||||
!iv_freeze TYPE abap_bool DEFAULT abap_false
|
!iv_freeze TYPE abap_bool DEFAULT abap_false
|
||||||
!ii_custom_mapping TYPE REF TO zif_abapgit_ajson_mapping OPTIONAL
|
!ii_custom_mapping TYPE REF TO zif_abapgit_ajson_mapping OPTIONAL
|
||||||
!iv_keep_item_order TYPE abap_bool DEFAULT abap_false
|
!iv_keep_item_order TYPE abap_bool DEFAULT abap_false
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(ro_instance) TYPE REF TO zcl_abapgit_ajson
|
VALUE(ro_instance) TYPE REF TO zcl_abapgit_ajson
|
||||||
RAISING
|
RAISING
|
||||||
zcx_abapgit_ajson_error .
|
zcx_abapgit_ajson_error .
|
||||||
|
|
||||||
CLASS-METHODS create_empty " Might be deprecated, prefer using new( ) or create object
|
CLASS-METHODS create_empty " Might be deprecated, prefer using new( ) or create object
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!ii_custom_mapping TYPE REF TO zif_abapgit_ajson_mapping OPTIONAL
|
!ii_custom_mapping TYPE REF TO zif_abapgit_ajson_mapping OPTIONAL
|
||||||
iv_keep_item_order TYPE abap_bool DEFAULT abap_false
|
iv_keep_item_order TYPE abap_bool DEFAULT abap_false
|
||||||
iv_format_datetime TYPE abap_bool DEFAULT abap_true
|
iv_format_datetime TYPE abap_bool DEFAULT abap_true
|
||||||
iv_to_abap_corresponding_only TYPE abap_bool DEFAULT abap_false
|
iv_to_abap_corresponding_only TYPE abap_bool DEFAULT abap_false
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(ro_instance) TYPE REF TO zcl_abapgit_ajson.
|
VALUE(ro_instance) TYPE REF TO zcl_abapgit_ajson.
|
||||||
|
|
||||||
" Experimental ! May change
|
" Experimental ! May change
|
||||||
CLASS-METHODS create_from " TODO, rename to 'from' ?
|
CLASS-METHODS create_from " TODO, rename to 'from' ?
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!ii_source_json TYPE REF TO zif_abapgit_ajson
|
!ii_source_json TYPE REF TO zif_abapgit_ajson
|
||||||
!ii_filter TYPE REF TO zif_abapgit_ajson_filter OPTIONAL " Might be deprecated, use filter() instead
|
!ii_filter TYPE REF TO zif_abapgit_ajson_filter OPTIONAL " Might be deprecated, use filter() instead
|
||||||
!ii_mapper TYPE REF TO zif_abapgit_ajson_mapping OPTIONAL " Might be deprecated, use map() instead
|
!ii_mapper TYPE REF TO zif_abapgit_ajson_mapping OPTIONAL " Might be deprecated, use map() instead
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(ro_instance) TYPE REF TO zcl_abapgit_ajson
|
VALUE(ro_instance) TYPE REF TO zcl_abapgit_ajson
|
||||||
RAISING
|
RAISING
|
||||||
|
@ -81,16 +81,16 @@ CLASS zcl_abapgit_ajson DEFINITION
|
||||||
|
|
||||||
METHODS constructor
|
METHODS constructor
|
||||||
IMPORTING
|
IMPORTING
|
||||||
iv_keep_item_order TYPE abap_bool DEFAULT abap_false
|
iv_keep_item_order TYPE abap_bool DEFAULT abap_false
|
||||||
iv_format_datetime TYPE abap_bool DEFAULT abap_true
|
iv_format_datetime TYPE abap_bool DEFAULT abap_true
|
||||||
iv_to_abap_corresponding_only TYPE abap_bool DEFAULT abap_false.
|
iv_to_abap_corresponding_only TYPE abap_bool DEFAULT abap_false.
|
||||||
CLASS-METHODS new
|
CLASS-METHODS new
|
||||||
IMPORTING
|
IMPORTING
|
||||||
iv_keep_item_order TYPE abap_bool DEFAULT abap_false
|
iv_keep_item_order TYPE abap_bool DEFAULT abap_false
|
||||||
iv_format_datetime TYPE abap_bool DEFAULT abap_true
|
iv_format_datetime TYPE abap_bool DEFAULT abap_true
|
||||||
iv_to_abap_corresponding_only TYPE abap_bool DEFAULT abap_false
|
iv_to_abap_corresponding_only TYPE abap_bool DEFAULT abap_false
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(ro_instance) TYPE REF TO zcl_abapgit_ajson.
|
VALUE(ro_instance) TYPE REF TO zcl_abapgit_ajson.
|
||||||
|
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
|
|
||||||
|
@ -108,16 +108,16 @@ CLASS zcl_abapgit_ajson DEFINITION
|
||||||
VALUE(rv_item) TYPE REF TO zif_abapgit_ajson_types=>ty_node.
|
VALUE(rv_item) TYPE REF TO zif_abapgit_ajson_types=>ty_node.
|
||||||
METHODS prove_path_exists
|
METHODS prove_path_exists
|
||||||
IMPORTING
|
IMPORTING
|
||||||
iv_path TYPE string
|
iv_path TYPE string
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(rr_end_node) TYPE REF TO zif_abapgit_ajson_types=>ty_node
|
VALUE(rr_end_node) TYPE REF TO zif_abapgit_ajson_types=>ty_node
|
||||||
RAISING
|
RAISING
|
||||||
zcx_abapgit_ajson_error.
|
zcx_abapgit_ajson_error.
|
||||||
METHODS delete_subtree
|
METHODS delete_subtree
|
||||||
IMPORTING
|
IMPORTING
|
||||||
iv_path TYPE string
|
iv_path TYPE string
|
||||||
iv_name TYPE string
|
iv_name TYPE string
|
||||||
ir_parent TYPE REF TO zif_abapgit_ajson_types=>ty_node OPTIONAL
|
ir_parent TYPE REF TO zif_abapgit_ajson_types=>ty_node OPTIONAL
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(rs_top_node) TYPE zif_abapgit_ajson_types=>ty_node.
|
VALUE(rs_top_node) TYPE zif_abapgit_ajson_types=>ty_node.
|
||||||
METHODS read_only_watchdog
|
METHODS read_only_watchdog
|
||||||
|
@ -848,8 +848,6 @@ CLASS zcl_abapgit_ajson IMPLEMENTATION.
|
||||||
DATA lv_path_pattern TYPE string.
|
DATA lv_path_pattern TYPE string.
|
||||||
|
|
||||||
CREATE OBJECT lo_section.
|
CREATE OBJECT lo_section.
|
||||||
lo_section->mi_custom_mapping = mi_custom_mapping.
|
|
||||||
|
|
||||||
lv_normalized_path = lcl_utils=>normalize_path( iv_path ).
|
lv_normalized_path = lcl_utils=>normalize_path( iv_path ).
|
||||||
lv_path_len = strlen( lv_normalized_path ).
|
lv_path_len = strlen( lv_normalized_path ).
|
||||||
ls_path_parts = lcl_utils=>split_path( lv_normalized_path ).
|
ls_path_parts = lcl_utils=>split_path( lv_normalized_path ).
|
||||||
|
|
|
@ -20,27 +20,27 @@ INTERFACE lif_kind.
|
||||||
|
|
||||||
CONSTANTS:
|
CONSTANTS:
|
||||||
BEGIN OF numeric,
|
BEGIN OF numeric,
|
||||||
int1 TYPE ty_kind VALUE cl_abap_typedescr=>typekind_int1,
|
int1 TYPE ty_kind VALUE cl_abap_tabledescr=>typekind_int1,
|
||||||
int2 TYPE ty_kind VALUE cl_abap_typedescr=>typekind_int2,
|
int2 TYPE ty_kind VALUE cl_abap_tabledescr=>typekind_int2,
|
||||||
int4 TYPE ty_kind VALUE cl_abap_typedescr=>typekind_int,
|
int4 TYPE ty_kind VALUE cl_abap_tabledescr=>typekind_int,
|
||||||
int8 TYPE ty_kind VALUE '8', " cl_abap_typedescr=>typekind_int8 not in lower releases
|
int8 TYPE ty_kind VALUE '8', " cl_abap_tabledescr=>typekind_int8 not in lower releases
|
||||||
float TYPE ty_kind VALUE cl_abap_typedescr=>typekind_float,
|
float TYPE ty_kind VALUE cl_abap_tabledescr=>typekind_float,
|
||||||
packed TYPE ty_kind VALUE cl_abap_typedescr=>typekind_packed,
|
packed TYPE ty_kind VALUE cl_abap_tabledescr=>typekind_packed,
|
||||||
decfloat16 TYPE ty_kind VALUE cl_abap_typedescr=>typekind_decfloat16,
|
decfloat16 TYPE ty_kind VALUE cl_abap_tabledescr=>typekind_decfloat16,
|
||||||
decfloat34 TYPE ty_kind VALUE cl_abap_typedescr=>typekind_decfloat34,
|
decfloat34 TYPE ty_kind VALUE cl_abap_tabledescr=>typekind_decfloat34,
|
||||||
END OF numeric.
|
END OF numeric.
|
||||||
|
|
||||||
CONSTANTS:
|
CONSTANTS:
|
||||||
BEGIN OF texts,
|
BEGIN OF texts,
|
||||||
char TYPE ty_kind VALUE cl_abap_typedescr=>typekind_char,
|
char TYPE ty_kind VALUE cl_abap_tabledescr=>typekind_char,
|
||||||
numc TYPE ty_kind VALUE cl_abap_typedescr=>typekind_num,
|
numc TYPE ty_kind VALUE cl_abap_tabledescr=>typekind_num,
|
||||||
string TYPE ty_kind VALUE cl_abap_typedescr=>typekind_string,
|
string TYPE ty_kind VALUE cl_abap_tabledescr=>typekind_string,
|
||||||
END OF texts.
|
END OF texts.
|
||||||
|
|
||||||
CONSTANTS:
|
CONSTANTS:
|
||||||
BEGIN OF binary,
|
BEGIN OF binary,
|
||||||
hex TYPE ty_kind VALUE cl_abap_typedescr=>typekind_hex,
|
hex TYPE ty_kind VALUE cl_abap_tabledescr=>typekind_hex,
|
||||||
xstring TYPE ty_kind VALUE cl_abap_typedescr=>typekind_xstring,
|
xstring TYPE ty_kind VALUE cl_abap_tabledescr=>typekind_xstring,
|
||||||
END OF binary.
|
END OF binary.
|
||||||
|
|
||||||
CONSTANTS:
|
CONSTANTS:
|
||||||
|
@ -59,46 +59,27 @@ CLASS lcl_utils DEFINITION FINAL.
|
||||||
|
|
||||||
CLASS-METHODS normalize_path
|
CLASS-METHODS normalize_path
|
||||||
IMPORTING
|
IMPORTING
|
||||||
iv_path TYPE string
|
iv_path TYPE string
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(rv_path) TYPE string.
|
VALUE(rv_path) TYPE string.
|
||||||
CLASS-METHODS split_path
|
CLASS-METHODS split_path
|
||||||
IMPORTING
|
IMPORTING
|
||||||
iv_path TYPE string
|
iv_path TYPE string
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(rv_path_name) TYPE zif_abapgit_ajson_types=>ty_path_name.
|
VALUE(rv_path_name) TYPE zif_abapgit_ajson_types=>ty_path_name.
|
||||||
CLASS-METHODS validate_array_index
|
CLASS-METHODS validate_array_index
|
||||||
IMPORTING
|
IMPORTING
|
||||||
iv_path TYPE string
|
iv_path TYPE string
|
||||||
iv_index TYPE string
|
iv_index TYPE string
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(rv_index) TYPE i
|
VALUE(rv_index) TYPE i
|
||||||
RAISING
|
RAISING
|
||||||
zcx_abapgit_ajson_error.
|
zcx_abapgit_ajson_error.
|
||||||
CLASS-METHODS string_to_xstring_utf8
|
CLASS-METHODS string_to_xstring_utf8
|
||||||
IMPORTING
|
IMPORTING
|
||||||
iv_str TYPE string
|
iv_str TYPE string
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(rv_xstr) TYPE xstring.
|
VALUE(rv_xstr) TYPE xstring.
|
||||||
CLASS-METHODS xstring_to_string_utf8
|
|
||||||
IMPORTING
|
|
||||||
iv_xstr TYPE xstring
|
|
||||||
RETURNING
|
|
||||||
VALUE(rv_str) TYPE string.
|
|
||||||
CLASS-METHODS any_to_xstring
|
|
||||||
IMPORTING
|
|
||||||
iv_data TYPE any
|
|
||||||
RETURNING
|
|
||||||
VALUE(rv_xstr) TYPE xstring
|
|
||||||
RAISING
|
|
||||||
zcx_abapgit_ajson_error.
|
|
||||||
CLASS-METHODS any_to_string
|
|
||||||
IMPORTING
|
|
||||||
iv_data TYPE any
|
|
||||||
RETURNING
|
|
||||||
VALUE(rv_str) TYPE string
|
|
||||||
RAISING
|
|
||||||
zcx_abapgit_ajson_error.
|
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
@ -135,37 +116,6 @@ CLASS lcl_utils IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD xstring_to_string_utf8.
|
|
||||||
|
|
||||||
DATA lo_conv TYPE REF TO object.
|
|
||||||
DATA lv_in_ce TYPE string.
|
|
||||||
|
|
||||||
lv_in_ce = 'CL_ABAP_CONV_IN_CE'.
|
|
||||||
|
|
||||||
TRY.
|
|
||||||
CALL METHOD ('CL_ABAP_CONV_CODEPAGE')=>create_in
|
|
||||||
RECEIVING
|
|
||||||
instance = lo_conv.
|
|
||||||
CALL METHOD lo_conv->('IF_ABAP_CONV_IN~CONVERT')
|
|
||||||
EXPORTING
|
|
||||||
source = iv_xstr
|
|
||||||
RECEIVING
|
|
||||||
result = rv_str.
|
|
||||||
CATCH cx_sy_dyn_call_illegal_class.
|
|
||||||
CALL METHOD (lv_in_ce)=>create
|
|
||||||
EXPORTING
|
|
||||||
encoding = 'UTF-8'
|
|
||||||
RECEIVING
|
|
||||||
conv = lo_conv.
|
|
||||||
CALL METHOD lo_conv->('CONVERT')
|
|
||||||
EXPORTING
|
|
||||||
data = iv_xstr
|
|
||||||
IMPORTING
|
|
||||||
buffer = rv_str.
|
|
||||||
ENDTRY.
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
METHOD validate_array_index.
|
METHOD validate_array_index.
|
||||||
|
|
||||||
IF NOT iv_index CO '0123456789'.
|
IF NOT iv_index CO '0123456789'.
|
||||||
|
@ -226,74 +176,6 @@ CLASS lcl_utils IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD any_to_xstring.
|
|
||||||
" supports xstring, char, string, or string_table as input
|
|
||||||
|
|
||||||
DATA lo_type TYPE REF TO cl_abap_typedescr.
|
|
||||||
DATA lo_table_type TYPE REF TO cl_abap_tabledescr.
|
|
||||||
DATA lv_str TYPE string.
|
|
||||||
|
|
||||||
FIELD-SYMBOLS: <data> TYPE STANDARD TABLE.
|
|
||||||
|
|
||||||
lo_type = cl_abap_typedescr=>describe_by_data( iv_data ).
|
|
||||||
|
|
||||||
CASE lo_type->type_kind.
|
|
||||||
WHEN lif_kind=>binary-xstring.
|
|
||||||
rv_xstr = iv_data.
|
|
||||||
WHEN lif_kind=>texts-string OR lif_kind=>texts-char.
|
|
||||||
rv_xstr = string_to_xstring_utf8( iv_data ).
|
|
||||||
WHEN lif_kind=>table.
|
|
||||||
lo_table_type ?= lo_type.
|
|
||||||
IF lo_table_type->table_kind <> cl_abap_tabledescr=>tablekind_std.
|
|
||||||
zcx_abapgit_ajson_error=>raise( 'Unsupported type of input table (must be standard table)' ).
|
|
||||||
ENDIF.
|
|
||||||
TRY.
|
|
||||||
ASSIGN iv_data TO <data>.
|
|
||||||
lv_str = concat_lines_of( table = <data>
|
|
||||||
sep = cl_abap_char_utilities=>newline ).
|
|
||||||
rv_xstr = string_to_xstring_utf8( lv_str ).
|
|
||||||
CATCH cx_root.
|
|
||||||
zcx_abapgit_ajson_error=>raise( 'Error converting input table (should be string_table)' ).
|
|
||||||
ENDTRY.
|
|
||||||
WHEN OTHERS.
|
|
||||||
zcx_abapgit_ajson_error=>raise( 'Unsupported type of input (must be char, string, string_table, or xstring)' ).
|
|
||||||
ENDCASE.
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
METHOD any_to_string.
|
|
||||||
" supports xstring, char, string, or string_table as input
|
|
||||||
|
|
||||||
DATA lo_type TYPE REF TO cl_abap_typedescr.
|
|
||||||
DATA lo_table_type TYPE REF TO cl_abap_tabledescr.
|
|
||||||
|
|
||||||
FIELD-SYMBOLS: <data> TYPE STANDARD TABLE.
|
|
||||||
|
|
||||||
lo_type = cl_abap_typedescr=>describe_by_data( iv_data ).
|
|
||||||
|
|
||||||
CASE lo_type->type_kind.
|
|
||||||
WHEN lif_kind=>binary-xstring.
|
|
||||||
rv_str = xstring_to_string_utf8( iv_data ).
|
|
||||||
WHEN lif_kind=>texts-string OR lif_kind=>texts-char.
|
|
||||||
rv_str = iv_data.
|
|
||||||
WHEN lif_kind=>table.
|
|
||||||
lo_table_type ?= lo_type.
|
|
||||||
IF lo_table_type->table_kind <> cl_abap_tabledescr=>tablekind_std.
|
|
||||||
zcx_abapgit_ajson_error=>raise( 'Unsupported type of input table (must be standard table)' ).
|
|
||||||
ENDIF.
|
|
||||||
TRY.
|
|
||||||
ASSIGN iv_data TO <data>.
|
|
||||||
rv_str = concat_lines_of( table = <data>
|
|
||||||
sep = cl_abap_char_utilities=>newline ).
|
|
||||||
CATCH cx_root.
|
|
||||||
zcx_abapgit_ajson_error=>raise( 'Error converting input table (should be string_table)' ).
|
|
||||||
ENDTRY.
|
|
||||||
WHEN OTHERS.
|
|
||||||
zcx_abapgit_ajson_error=>raise( 'Unsupported type of input (must be char, string, string_table, or xstring)' ).
|
|
||||||
ENDCASE.
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
@ -306,8 +188,8 @@ CLASS lcl_json_parser DEFINITION FINAL.
|
||||||
|
|
||||||
METHODS parse
|
METHODS parse
|
||||||
IMPORTING
|
IMPORTING
|
||||||
iv_json TYPE any
|
iv_json TYPE string
|
||||||
iv_keep_item_order TYPE abap_bool DEFAULT abap_false
|
iv_keep_item_order TYPE abap_bool DEFAULT abap_false
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(rt_json_tree) TYPE zif_abapgit_ajson_types=>ty_nodes_tt
|
VALUE(rt_json_tree) TYPE zif_abapgit_ajson_types=>ty_nodes_tt
|
||||||
RAISING
|
RAISING
|
||||||
|
@ -330,7 +212,7 @@ CLASS lcl_json_parser DEFINITION FINAL.
|
||||||
|
|
||||||
METHODS _parse
|
METHODS _parse
|
||||||
IMPORTING
|
IMPORTING
|
||||||
iv_json TYPE xstring
|
iv_json TYPE string
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(rt_json_tree) TYPE zif_abapgit_ajson_types=>ty_nodes_tt
|
VALUE(rt_json_tree) TYPE zif_abapgit_ajson_types=>ty_nodes_tt
|
||||||
RAISING
|
RAISING
|
||||||
|
@ -351,20 +233,17 @@ CLASS lcl_json_parser IMPLEMENTATION.
|
||||||
DATA lx_sxml_parse TYPE REF TO cx_sxml_parse_error.
|
DATA lx_sxml_parse TYPE REF TO cx_sxml_parse_error.
|
||||||
DATA lx_sxml TYPE REF TO cx_dynamic_check.
|
DATA lx_sxml TYPE REF TO cx_dynamic_check.
|
||||||
DATA lv_location TYPE string.
|
DATA lv_location TYPE string.
|
||||||
DATA lv_json TYPE xstring.
|
|
||||||
|
|
||||||
mv_keep_item_order = iv_keep_item_order.
|
mv_keep_item_order = iv_keep_item_order.
|
||||||
|
|
||||||
lv_json = lcl_utils=>any_to_xstring( iv_json ).
|
|
||||||
|
|
||||||
TRY.
|
TRY.
|
||||||
" TODO sane JSON check:
|
" TODO sane JSON check:
|
||||||
" JSON can be true,false,null,(-)digits
|
" JSON can be true,false,null,(-)digits
|
||||||
" or start from " or from {
|
" or start from " or from {
|
||||||
rt_json_tree = _parse( lv_json ).
|
rt_json_tree = _parse( iv_json ).
|
||||||
CATCH cx_sxml_parse_error INTO lx_sxml_parse.
|
CATCH cx_sxml_parse_error INTO lx_sxml_parse.
|
||||||
lv_location = _get_location(
|
lv_location = _get_location(
|
||||||
iv_json = lcl_utils=>any_to_string( iv_json )
|
iv_json = iv_json
|
||||||
iv_offset = lx_sxml_parse->xml_offset ).
|
iv_offset = lx_sxml_parse->xml_offset ).
|
||||||
zcx_abapgit_ajson_error=>raise(
|
zcx_abapgit_ajson_error=>raise(
|
||||||
iv_msg = |Json parsing error (SXML): { lx_sxml_parse->get_text( ) }|
|
iv_msg = |Json parsing error (SXML): { lx_sxml_parse->get_text( ) }|
|
||||||
|
@ -426,7 +305,7 @@ CLASS lcl_json_parser IMPLEMENTATION.
|
||||||
IF iv_json IS INITIAL.
|
IF iv_json IS INITIAL.
|
||||||
RETURN.
|
RETURN.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
lo_reader = cl_sxml_string_reader=>create( iv_json ).
|
lo_reader = cl_sxml_string_reader=>create( lcl_utils=>string_to_xstring_utf8( iv_json ) ).
|
||||||
|
|
||||||
" TODO: self protection, check non-empty, check starting from object ...
|
" TODO: self protection, check non-empty, check starting from object ...
|
||||||
|
|
||||||
|
@ -527,9 +406,9 @@ CLASS lcl_json_serializer DEFINITION FINAL CREATE PRIVATE.
|
||||||
|
|
||||||
CLASS-METHODS stringify
|
CLASS-METHODS stringify
|
||||||
IMPORTING
|
IMPORTING
|
||||||
it_json_tree TYPE zif_abapgit_ajson_types=>ty_nodes_ts
|
it_json_tree TYPE zif_abapgit_ajson_types=>ty_nodes_ts
|
||||||
iv_indent TYPE i DEFAULT 0
|
iv_indent TYPE i DEFAULT 0
|
||||||
iv_keep_item_order TYPE abap_bool DEFAULT abap_false
|
iv_keep_item_order TYPE abap_bool DEFAULT abap_false
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(rv_json_string) TYPE string
|
VALUE(rv_json_string) TYPE string
|
||||||
RAISING
|
RAISING
|
||||||
|
@ -549,7 +428,7 @@ CLASS lcl_json_serializer DEFINITION FINAL CREATE PRIVATE.
|
||||||
|
|
||||||
CLASS-METHODS escape_string
|
CLASS-METHODS escape_string
|
||||||
IMPORTING
|
IMPORTING
|
||||||
iv_unescaped TYPE string
|
iv_unescaped TYPE string
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(rv_escaped) TYPE string.
|
VALUE(rv_escaped) TYPE string.
|
||||||
|
|
||||||
|
@ -568,7 +447,7 @@ CLASS lcl_json_serializer DEFINITION FINAL CREATE PRIVATE.
|
||||||
METHODS stringify_set
|
METHODS stringify_set
|
||||||
IMPORTING
|
IMPORTING
|
||||||
iv_parent_path TYPE string
|
iv_parent_path TYPE string
|
||||||
iv_array TYPE abap_bool
|
iv_array TYPE abap_bool
|
||||||
RAISING
|
RAISING
|
||||||
zcx_abapgit_ajson_error.
|
zcx_abapgit_ajson_error.
|
||||||
|
|
||||||
|
@ -771,7 +650,7 @@ CLASS lcl_json_to_abap DEFINITION FINAL.
|
||||||
|
|
||||||
METHODS to_abap
|
METHODS to_abap
|
||||||
IMPORTING
|
IMPORTING
|
||||||
it_nodes TYPE zif_abapgit_ajson_types=>ty_nodes_ts
|
it_nodes TYPE zif_abapgit_ajson_types=>ty_nodes_ts
|
||||||
CHANGING
|
CHANGING
|
||||||
c_container TYPE any
|
c_container TYPE any
|
||||||
RAISING
|
RAISING
|
||||||
|
@ -819,16 +698,16 @@ CLASS lcl_json_to_abap DEFINITION FINAL.
|
||||||
|
|
||||||
METHODS any_to_abap
|
METHODS any_to_abap
|
||||||
IMPORTING
|
IMPORTING
|
||||||
iv_path TYPE string
|
iv_path TYPE string
|
||||||
is_parent_type TYPE ty_type_cache OPTIONAL
|
is_parent_type TYPE ty_type_cache OPTIONAL
|
||||||
i_container_ref TYPE REF TO data
|
i_container_ref TYPE REF TO data
|
||||||
RAISING
|
RAISING
|
||||||
zcx_abapgit_ajson_error.
|
zcx_abapgit_ajson_error.
|
||||||
|
|
||||||
METHODS value_to_abap
|
METHODS value_to_abap
|
||||||
IMPORTING
|
IMPORTING
|
||||||
is_node TYPE zif_abapgit_ajson_types=>ty_node
|
is_node TYPE zif_abapgit_ajson_types=>ty_node
|
||||||
is_node_type TYPE ty_type_cache
|
is_node_type TYPE ty_type_cache
|
||||||
i_container_ref TYPE REF TO data
|
i_container_ref TYPE REF TO data
|
||||||
RAISING
|
RAISING
|
||||||
zcx_abapgit_ajson_error
|
zcx_abapgit_ajson_error
|
||||||
|
@ -836,9 +715,9 @@ CLASS lcl_json_to_abap DEFINITION FINAL.
|
||||||
|
|
||||||
METHODS get_node_type
|
METHODS get_node_type
|
||||||
IMPORTING
|
IMPORTING
|
||||||
is_node TYPE zif_abapgit_ajson_types=>ty_node OPTIONAL " Empty for root
|
is_node TYPE zif_abapgit_ajson_types=>ty_node OPTIONAL " Empty for root
|
||||||
is_parent_type TYPE ty_type_cache OPTIONAL
|
is_parent_type TYPE ty_type_cache OPTIONAL
|
||||||
i_container_ref TYPE REF TO data OPTIONAL
|
i_container_ref TYPE REF TO data OPTIONAL
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(rs_node_type) TYPE ty_type_cache
|
VALUE(rs_node_type) TYPE ty_type_cache
|
||||||
RAISING
|
RAISING
|
||||||
|
@ -1017,8 +896,6 @@ CLASS lcl_json_to_abap IMPLEMENTATION.
|
||||||
IF is_parent_type-tab_item_buf IS NOT BOUND. " Indirect hint that table was srt/hsh, see get_node_type
|
IF is_parent_type-tab_item_buf IS NOT BOUND. " Indirect hint that table was srt/hsh, see get_node_type
|
||||||
APPEND INITIAL LINE TO <parent_stdtab> REFERENCE INTO lr_target_field.
|
APPEND INITIAL LINE TO <parent_stdtab> REFERENCE INTO lr_target_field.
|
||||||
ASSERT sy-subrc = 0.
|
ASSERT sy-subrc = 0.
|
||||||
ELSE.
|
|
||||||
CLEAR <tab_item>.
|
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
WHEN lif_kind=>struct_flat OR lif_kind=>struct_deep.
|
WHEN lif_kind=>struct_flat OR lif_kind=>struct_deep.
|
||||||
|
@ -1262,12 +1139,12 @@ CLASS lcl_abap_to_json DEFINITION FINAL.
|
||||||
|
|
||||||
CLASS-METHODS convert
|
CLASS-METHODS convert
|
||||||
IMPORTING
|
IMPORTING
|
||||||
iv_data TYPE any
|
iv_data TYPE any
|
||||||
is_prefix TYPE zif_abapgit_ajson_types=>ty_path_name OPTIONAL
|
is_prefix TYPE zif_abapgit_ajson_types=>ty_path_name OPTIONAL
|
||||||
iv_array_index TYPE i DEFAULT 0
|
iv_array_index TYPE i DEFAULT 0
|
||||||
ii_custom_mapping TYPE REF TO zif_abapgit_ajson_mapping OPTIONAL
|
ii_custom_mapping TYPE REF TO zif_abapgit_ajson_mapping OPTIONAL
|
||||||
is_opts TYPE zif_abapgit_ajson=>ty_opts OPTIONAL
|
is_opts TYPE zif_abapgit_ajson=>ty_opts OPTIONAL
|
||||||
iv_item_order TYPE i DEFAULT 0
|
iv_item_order TYPE i DEFAULT 0
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(rt_nodes) TYPE zif_abapgit_ajson_types=>ty_nodes_tt
|
VALUE(rt_nodes) TYPE zif_abapgit_ajson_types=>ty_nodes_tt
|
||||||
RAISING
|
RAISING
|
||||||
|
@ -1275,13 +1152,13 @@ CLASS lcl_abap_to_json DEFINITION FINAL.
|
||||||
|
|
||||||
CLASS-METHODS insert_with_type
|
CLASS-METHODS insert_with_type
|
||||||
IMPORTING
|
IMPORTING
|
||||||
iv_data TYPE any
|
iv_data TYPE any
|
||||||
iv_type TYPE zif_abapgit_ajson_types=>ty_node_type
|
iv_type TYPE zif_abapgit_ajson_types=>ty_node_type
|
||||||
is_prefix TYPE zif_abapgit_ajson_types=>ty_path_name OPTIONAL
|
is_prefix TYPE zif_abapgit_ajson_types=>ty_path_name OPTIONAL
|
||||||
iv_array_index TYPE i DEFAULT 0
|
iv_array_index TYPE i DEFAULT 0
|
||||||
ii_custom_mapping TYPE REF TO zif_abapgit_ajson_mapping OPTIONAL
|
ii_custom_mapping TYPE REF TO zif_abapgit_ajson_mapping OPTIONAL
|
||||||
is_opts TYPE zif_abapgit_ajson=>ty_opts OPTIONAL
|
is_opts TYPE zif_abapgit_ajson=>ty_opts OPTIONAL
|
||||||
iv_item_order TYPE i DEFAULT 0
|
iv_item_order TYPE i DEFAULT 0
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(rt_nodes) TYPE zif_abapgit_ajson_types=>ty_nodes_tt
|
VALUE(rt_nodes) TYPE zif_abapgit_ajson_types=>ty_nodes_tt
|
||||||
RAISING
|
RAISING
|
||||||
|
@ -1289,17 +1166,17 @@ CLASS lcl_abap_to_json DEFINITION FINAL.
|
||||||
|
|
||||||
CLASS-METHODS format_date
|
CLASS-METHODS format_date
|
||||||
IMPORTING
|
IMPORTING
|
||||||
iv_date TYPE d
|
iv_date TYPE d
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(rv_str) TYPE string.
|
VALUE(rv_str) TYPE string.
|
||||||
CLASS-METHODS format_time
|
CLASS-METHODS format_time
|
||||||
IMPORTING
|
IMPORTING
|
||||||
iv_time TYPE t
|
iv_time TYPE t
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(rv_str) TYPE string.
|
VALUE(rv_str) TYPE string.
|
||||||
CLASS-METHODS format_timestamp
|
CLASS-METHODS format_timestamp
|
||||||
IMPORTING
|
IMPORTING
|
||||||
iv_ts TYPE timestamp
|
iv_ts TYPE timestamp
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(rv_str) TYPE string.
|
VALUE(rv_str) TYPE string.
|
||||||
|
|
||||||
|
@ -1314,84 +1191,84 @@ CLASS lcl_abap_to_json DEFINITION FINAL.
|
||||||
|
|
||||||
METHODS convert_any
|
METHODS convert_any
|
||||||
IMPORTING
|
IMPORTING
|
||||||
iv_data TYPE any
|
iv_data TYPE any
|
||||||
io_type TYPE REF TO cl_abap_typedescr
|
io_type TYPE REF TO cl_abap_typedescr
|
||||||
is_prefix TYPE zif_abapgit_ajson_types=>ty_path_name
|
is_prefix TYPE zif_abapgit_ajson_types=>ty_path_name
|
||||||
iv_index TYPE i DEFAULT 0
|
iv_index TYPE i DEFAULT 0
|
||||||
iv_item_order TYPE i DEFAULT 0
|
iv_item_order TYPE i DEFAULT 0
|
||||||
CHANGING
|
CHANGING
|
||||||
ct_nodes TYPE zif_abapgit_ajson_types=>ty_nodes_tt
|
ct_nodes TYPE zif_abapgit_ajson_types=>ty_nodes_tt
|
||||||
RAISING
|
RAISING
|
||||||
zcx_abapgit_ajson_error.
|
zcx_abapgit_ajson_error.
|
||||||
|
|
||||||
METHODS convert_ajson
|
METHODS convert_ajson
|
||||||
IMPORTING
|
IMPORTING
|
||||||
io_json TYPE REF TO zif_abapgit_ajson
|
io_json TYPE REF TO zif_abapgit_ajson
|
||||||
is_prefix TYPE zif_abapgit_ajson_types=>ty_path_name
|
is_prefix TYPE zif_abapgit_ajson_types=>ty_path_name
|
||||||
iv_index TYPE i DEFAULT 0
|
iv_index TYPE i DEFAULT 0
|
||||||
iv_item_order TYPE i DEFAULT 0
|
iv_item_order TYPE i DEFAULT 0
|
||||||
CHANGING
|
CHANGING
|
||||||
ct_nodes TYPE zif_abapgit_ajson_types=>ty_nodes_tt
|
ct_nodes TYPE zif_abapgit_ajson_types=>ty_nodes_tt
|
||||||
RAISING
|
RAISING
|
||||||
zcx_abapgit_ajson_error.
|
zcx_abapgit_ajson_error.
|
||||||
|
|
||||||
METHODS convert_value
|
METHODS convert_value
|
||||||
IMPORTING
|
IMPORTING
|
||||||
iv_data TYPE any
|
iv_data TYPE any
|
||||||
io_type TYPE REF TO cl_abap_typedescr
|
io_type TYPE REF TO cl_abap_typedescr
|
||||||
is_prefix TYPE zif_abapgit_ajson_types=>ty_path_name
|
is_prefix TYPE zif_abapgit_ajson_types=>ty_path_name
|
||||||
iv_index TYPE i DEFAULT 0
|
iv_index TYPE i DEFAULT 0
|
||||||
iv_item_order TYPE i DEFAULT 0
|
iv_item_order TYPE i DEFAULT 0
|
||||||
CHANGING
|
CHANGING
|
||||||
ct_nodes TYPE zif_abapgit_ajson_types=>ty_nodes_tt
|
ct_nodes TYPE zif_abapgit_ajson_types=>ty_nodes_tt
|
||||||
RAISING
|
RAISING
|
||||||
zcx_abapgit_ajson_error.
|
zcx_abapgit_ajson_error.
|
||||||
|
|
||||||
METHODS convert_ref
|
METHODS convert_ref
|
||||||
IMPORTING
|
IMPORTING
|
||||||
iv_data TYPE any
|
iv_data TYPE any
|
||||||
is_prefix TYPE zif_abapgit_ajson_types=>ty_path_name
|
is_prefix TYPE zif_abapgit_ajson_types=>ty_path_name
|
||||||
iv_index TYPE i DEFAULT 0
|
iv_index TYPE i DEFAULT 0
|
||||||
iv_item_order TYPE i DEFAULT 0
|
iv_item_order TYPE i DEFAULT 0
|
||||||
CHANGING
|
CHANGING
|
||||||
ct_nodes TYPE zif_abapgit_ajson_types=>ty_nodes_tt
|
ct_nodes TYPE zif_abapgit_ajson_types=>ty_nodes_tt
|
||||||
RAISING
|
RAISING
|
||||||
zcx_abapgit_ajson_error.
|
zcx_abapgit_ajson_error.
|
||||||
|
|
||||||
METHODS convert_struc
|
METHODS convert_struc
|
||||||
IMPORTING
|
IMPORTING
|
||||||
iv_data TYPE any
|
iv_data TYPE any
|
||||||
io_type TYPE REF TO cl_abap_typedescr
|
io_type TYPE REF TO cl_abap_typedescr
|
||||||
is_prefix TYPE zif_abapgit_ajson_types=>ty_path_name
|
is_prefix TYPE zif_abapgit_ajson_types=>ty_path_name
|
||||||
iv_index TYPE i DEFAULT 0
|
iv_index TYPE i DEFAULT 0
|
||||||
iv_item_order TYPE i DEFAULT 0
|
iv_item_order TYPE i DEFAULT 0
|
||||||
CHANGING
|
CHANGING
|
||||||
ct_nodes TYPE zif_abapgit_ajson_types=>ty_nodes_tt
|
ct_nodes TYPE zif_abapgit_ajson_types=>ty_nodes_tt
|
||||||
RAISING
|
RAISING
|
||||||
zcx_abapgit_ajson_error.
|
zcx_abapgit_ajson_error.
|
||||||
|
|
||||||
METHODS convert_table
|
METHODS convert_table
|
||||||
IMPORTING
|
IMPORTING
|
||||||
iv_data TYPE any
|
iv_data TYPE any
|
||||||
io_type TYPE REF TO cl_abap_typedescr
|
io_type TYPE REF TO cl_abap_typedescr
|
||||||
is_prefix TYPE zif_abapgit_ajson_types=>ty_path_name
|
is_prefix TYPE zif_abapgit_ajson_types=>ty_path_name
|
||||||
iv_index TYPE i DEFAULT 0
|
iv_index TYPE i DEFAULT 0
|
||||||
iv_item_order TYPE i DEFAULT 0
|
iv_item_order TYPE i DEFAULT 0
|
||||||
CHANGING
|
CHANGING
|
||||||
ct_nodes TYPE zif_abapgit_ajson_types=>ty_nodes_tt
|
ct_nodes TYPE zif_abapgit_ajson_types=>ty_nodes_tt
|
||||||
RAISING
|
RAISING
|
||||||
zcx_abapgit_ajson_error.
|
zcx_abapgit_ajson_error.
|
||||||
|
|
||||||
METHODS insert_value_with_type
|
METHODS insert_value_with_type
|
||||||
IMPORTING
|
IMPORTING
|
||||||
iv_data TYPE any
|
iv_data TYPE any
|
||||||
iv_type TYPE zif_abapgit_ajson_types=>ty_node_type
|
iv_type TYPE zif_abapgit_ajson_types=>ty_node_type
|
||||||
io_type TYPE REF TO cl_abap_typedescr
|
io_type TYPE REF TO cl_abap_typedescr
|
||||||
is_prefix TYPE zif_abapgit_ajson_types=>ty_path_name
|
is_prefix TYPE zif_abapgit_ajson_types=>ty_path_name
|
||||||
iv_index TYPE i DEFAULT 0
|
iv_index TYPE i DEFAULT 0
|
||||||
iv_item_order TYPE i DEFAULT 0
|
iv_item_order TYPE i DEFAULT 0
|
||||||
CHANGING
|
CHANGING
|
||||||
ct_nodes TYPE zif_abapgit_ajson_types=>ty_nodes_tt
|
ct_nodes TYPE zif_abapgit_ajson_types=>ty_nodes_tt
|
||||||
RAISING
|
RAISING
|
||||||
zcx_abapgit_ajson_error.
|
zcx_abapgit_ajson_error.
|
||||||
|
|
||||||
|
@ -1872,7 +1749,7 @@ INTERFACE lif_mutator_runner.
|
||||||
IMPORTING
|
IMPORTING
|
||||||
it_source_tree TYPE zif_abapgit_ajson_types=>ty_nodes_ts
|
it_source_tree TYPE zif_abapgit_ajson_types=>ty_nodes_ts
|
||||||
EXPORTING
|
EXPORTING
|
||||||
et_dest_tree TYPE zif_abapgit_ajson_types=>ty_nodes_ts
|
et_dest_tree TYPE zif_abapgit_ajson_types=>ty_nodes_ts
|
||||||
RAISING
|
RAISING
|
||||||
zcx_abapgit_ajson_error.
|
zcx_abapgit_ajson_error.
|
||||||
ENDINTERFACE.
|
ENDINTERFACE.
|
||||||
|
@ -1886,7 +1763,7 @@ CLASS lcl_filter_runner DEFINITION FINAL.
|
||||||
INTERFACES lif_mutator_runner.
|
INTERFACES lif_mutator_runner.
|
||||||
CLASS-METHODS new
|
CLASS-METHODS new
|
||||||
IMPORTING
|
IMPORTING
|
||||||
ii_filter TYPE REF TO zif_abapgit_ajson_filter
|
ii_filter TYPE REF TO zif_abapgit_ajson_filter
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(ro_instance) TYPE REF TO lcl_filter_runner.
|
VALUE(ro_instance) TYPE REF TO lcl_filter_runner.
|
||||||
METHODS constructor
|
METHODS constructor
|
||||||
|
@ -1900,7 +1777,7 @@ CLASS lcl_filter_runner DEFINITION FINAL.
|
||||||
|
|
||||||
METHODS walk
|
METHODS walk
|
||||||
IMPORTING
|
IMPORTING
|
||||||
iv_path TYPE string
|
iv_path TYPE string
|
||||||
CHANGING
|
CHANGING
|
||||||
cs_parent TYPE zif_abapgit_ajson_types=>ty_node OPTIONAL
|
cs_parent TYPE zif_abapgit_ajson_types=>ty_node OPTIONAL
|
||||||
RAISING
|
RAISING
|
||||||
|
@ -1932,13 +1809,8 @@ CLASS lcl_filter_runner IMPLEMENTATION.
|
||||||
METHOD walk.
|
METHOD walk.
|
||||||
|
|
||||||
DATA ls_node TYPE zif_abapgit_ajson_types=>ty_node.
|
DATA ls_node TYPE zif_abapgit_ajson_types=>ty_node.
|
||||||
DATA lv_tab_key TYPE string.
|
|
||||||
|
|
||||||
IF cs_parent-type = zif_abapgit_ajson_types=>node_type-array.
|
LOOP AT mr_source_tree->* INTO ls_node WHERE path = iv_path.
|
||||||
lv_tab_key = 'array_index'. " path + index
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
LOOP AT mr_source_tree->* INTO ls_node USING KEY (lv_tab_key) WHERE path = iv_path.
|
|
||||||
CASE ls_node-type.
|
CASE ls_node-type.
|
||||||
WHEN zif_abapgit_ajson_types=>node_type-boolean OR zif_abapgit_ajson_types=>node_type-null
|
WHEN zif_abapgit_ajson_types=>node_type-boolean OR zif_abapgit_ajson_types=>node_type-null
|
||||||
OR zif_abapgit_ajson_types=>node_type-number OR zif_abapgit_ajson_types=>node_type-string.
|
OR zif_abapgit_ajson_types=>node_type-number OR zif_abapgit_ajson_types=>node_type-string.
|
||||||
|
@ -1998,7 +1870,7 @@ CLASS lcl_mapper_runner DEFINITION FINAL.
|
||||||
INTERFACES lif_mutator_runner.
|
INTERFACES lif_mutator_runner.
|
||||||
CLASS-METHODS new
|
CLASS-METHODS new
|
||||||
IMPORTING
|
IMPORTING
|
||||||
ii_mapper TYPE REF TO zif_abapgit_ajson_mapping
|
ii_mapper TYPE REF TO zif_abapgit_ajson_mapping
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(ro_instance) TYPE REF TO lcl_mapper_runner.
|
VALUE(ro_instance) TYPE REF TO lcl_mapper_runner.
|
||||||
METHODS constructor
|
METHODS constructor
|
||||||
|
@ -2112,7 +1984,7 @@ CLASS lcl_mutator_queue DEFINITION FINAL.
|
||||||
VALUE(ro_instance) TYPE REF TO lcl_mutator_queue.
|
VALUE(ro_instance) TYPE REF TO lcl_mutator_queue.
|
||||||
METHODS add
|
METHODS add
|
||||||
IMPORTING
|
IMPORTING
|
||||||
ii_mutator TYPE REF TO lif_mutator_runner
|
ii_mutator TYPE REF TO lif_mutator_runner
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(ro_self) TYPE REF TO lcl_mutator_queue.
|
VALUE(ro_self) TYPE REF TO lcl_mutator_queue.
|
||||||
|
|
||||||
|
|
|
@ -65,7 +65,7 @@ CLASS ltcl_parser_test DEFINITION FINAL
|
||||||
|
|
||||||
CLASS-METHODS sample_json
|
CLASS-METHODS sample_json
|
||||||
IMPORTING
|
IMPORTING
|
||||||
iv_separator TYPE string OPTIONAL
|
iv_separator TYPE string OPTIONAL
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(rv_json) TYPE string.
|
VALUE(rv_json) TYPE string.
|
||||||
|
|
||||||
|
@ -85,10 +85,6 @@ CLASS ltcl_parser_test DEFINITION FINAL
|
||||||
METHODS parse_date FOR TESTING RAISING zcx_abapgit_ajson_error.
|
METHODS parse_date FOR TESTING RAISING zcx_abapgit_ajson_error.
|
||||||
METHODS parse_bare_values FOR TESTING RAISING zcx_abapgit_ajson_error.
|
METHODS parse_bare_values FOR TESTING RAISING zcx_abapgit_ajson_error.
|
||||||
METHODS parse_error FOR TESTING RAISING zcx_abapgit_ajson_error.
|
METHODS parse_error FOR TESTING RAISING zcx_abapgit_ajson_error.
|
||||||
METHODS parse_input_xstring FOR TESTING RAISING zcx_abapgit_ajson_error.
|
|
||||||
METHODS parse_input_string FOR TESTING RAISING zcx_abapgit_ajson_error.
|
|
||||||
METHODS parse_input_string_table FOR TESTING RAISING zcx_abapgit_ajson_error.
|
|
||||||
METHODS parse_input_error FOR TESTING RAISING zcx_abapgit_ajson_error.
|
|
||||||
METHODS duplicate_key FOR TESTING RAISING zcx_abapgit_ajson_error.
|
METHODS duplicate_key FOR TESTING RAISING zcx_abapgit_ajson_error.
|
||||||
METHODS non_json FOR TESTING RAISING zcx_abapgit_ajson_error.
|
METHODS non_json FOR TESTING RAISING zcx_abapgit_ajson_error.
|
||||||
|
|
||||||
|
@ -252,78 +248,6 @@ CLASS ltcl_parser_test IMPLEMENTATION.
|
||||||
exp = mo_nodes->mt_nodes ).
|
exp = mo_nodes->mt_nodes ).
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD parse_input_xstring.
|
|
||||||
mo_nodes->add( ' | |object | | |1' ).
|
|
||||||
mo_nodes->add( '/ |string |str |abc | |0' ).
|
|
||||||
|
|
||||||
DATA lt_act TYPE zif_abapgit_ajson_types=>ty_nodes_tt.
|
|
||||||
DATA lv_xstr TYPE xstring.
|
|
||||||
|
|
||||||
lv_xstr = '7B22737472696E67223A2022616263227D0A'.
|
|
||||||
lt_act = mo_cut->parse( lv_xstr ).
|
|
||||||
cl_abap_unit_assert=>assert_equals(
|
|
||||||
act = lt_act
|
|
||||||
exp = mo_nodes->mt_nodes ).
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
METHOD parse_input_string.
|
|
||||||
mo_nodes->add( ' | |object | | |1' ).
|
|
||||||
mo_nodes->add( '/ |string |str |abc | |0' ).
|
|
||||||
|
|
||||||
DATA lt_act TYPE zif_abapgit_ajson_types=>ty_nodes_tt.
|
|
||||||
DATA lv_str TYPE string.
|
|
||||||
|
|
||||||
lv_str = `{"string": "abc"}`.
|
|
||||||
lt_act = mo_cut->parse( lv_str ).
|
|
||||||
cl_abap_unit_assert=>assert_equals(
|
|
||||||
act = lt_act
|
|
||||||
exp = mo_nodes->mt_nodes ).
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
METHOD parse_input_string_table.
|
|
||||||
mo_nodes->add( ' | |object | | |2' ).
|
|
||||||
mo_nodes->add( '/ |string |str |abc | |0' ).
|
|
||||||
mo_nodes->add( '/ |number |num |123 | |0' ).
|
|
||||||
|
|
||||||
DATA lt_act TYPE zif_abapgit_ajson_types=>ty_nodes_tt.
|
|
||||||
DATA lt_json TYPE string_table.
|
|
||||||
|
|
||||||
INSERT `{` INTO TABLE lt_json.
|
|
||||||
INSERT `"string": "abc",` INTO TABLE lt_json.
|
|
||||||
INSERT `"number": 123` INTO TABLE lt_json.
|
|
||||||
INSERT `}` INTO TABLE lt_json.
|
|
||||||
|
|
||||||
lt_act = mo_cut->parse( lt_json ).
|
|
||||||
cl_abap_unit_assert=>assert_equals(
|
|
||||||
act = lt_act
|
|
||||||
exp = mo_nodes->mt_nodes ).
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
METHOD parse_input_error.
|
|
||||||
|
|
||||||
DATA lo_cut TYPE REF TO lcl_json_parser.
|
|
||||||
DATA lx TYPE REF TO zcx_abapgit_ajson_error.
|
|
||||||
DATA lv_numc TYPE n LENGTH 10.
|
|
||||||
DATA lt_hashed TYPE HASHED TABLE OF string WITH UNIQUE DEFAULT KEY.
|
|
||||||
|
|
||||||
CREATE OBJECT lo_cut.
|
|
||||||
|
|
||||||
TRY.
|
|
||||||
lo_cut->parse( lv_numc ).
|
|
||||||
cl_abap_unit_assert=>fail( ).
|
|
||||||
CATCH zcx_abapgit_ajson_error INTO lx.
|
|
||||||
cl_abap_unit_assert=>assert_not_initial( lx ).
|
|
||||||
ENDTRY.
|
|
||||||
|
|
||||||
TRY.
|
|
||||||
lo_cut->parse( lt_hashed ).
|
|
||||||
cl_abap_unit_assert=>fail( ).
|
|
||||||
CATCH zcx_abapgit_ajson_error INTO lx.
|
|
||||||
cl_abap_unit_assert=>assert_not_initial( lx ).
|
|
||||||
ENDTRY.
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
METHOD sample_json.
|
METHOD sample_json.
|
||||||
|
|
||||||
rv_json =
|
rv_json =
|
||||||
|
@ -1471,17 +1395,17 @@ CLASS ltcl_json_to_abap DEFINITION
|
||||||
tty_struc_sorted TYPE SORTED TABLE OF ty_struc WITH UNIQUE KEY a,
|
tty_struc_sorted TYPE SORTED TABLE OF ty_struc WITH UNIQUE KEY a,
|
||||||
tty_struc_hashed TYPE HASHED TABLE OF ty_struc WITH UNIQUE KEY a,
|
tty_struc_hashed TYPE HASHED TABLE OF ty_struc WITH UNIQUE KEY a,
|
||||||
BEGIN OF ty_complex,
|
BEGIN OF ty_complex,
|
||||||
str TYPE string,
|
str TYPE string,
|
||||||
int TYPE i,
|
int TYPE i,
|
||||||
float TYPE f,
|
float TYPE f,
|
||||||
bool TYPE abap_bool,
|
bool TYPE abap_bool,
|
||||||
obj TYPE ty_struc,
|
obj TYPE ty_struc,
|
||||||
tab TYPE tty_struc,
|
tab TYPE tty_struc,
|
||||||
tab_plain TYPE string_table,
|
tab_plain TYPE string_table,
|
||||||
tab_hashed TYPE tty_struc_hashed,
|
tab_hashed TYPE tty_struc_hashed,
|
||||||
oref TYPE REF TO object,
|
oref TYPE REF TO object,
|
||||||
date1 TYPE d,
|
date1 TYPE d,
|
||||||
date2 TYPE d,
|
date2 TYPE d,
|
||||||
timestamp1 TYPE timestamp,
|
timestamp1 TYPE timestamp,
|
||||||
timestamp2 TYPE timestamp,
|
timestamp2 TYPE timestamp,
|
||||||
timestamp3 TYPE timestamp,
|
timestamp3 TYPE timestamp,
|
||||||
|
@ -1542,21 +1466,6 @@ CLASS ltcl_json_to_abap DEFINITION
|
||||||
METHODS to_abap_str_to_packed
|
METHODS to_abap_str_to_packed
|
||||||
FOR TESTING
|
FOR TESTING
|
||||||
RAISING cx_static_check.
|
RAISING cx_static_check.
|
||||||
METHODS to_abap_compressed_stdrd
|
|
||||||
FOR TESTING
|
|
||||||
RAISING cx_static_check.
|
|
||||||
METHODS to_abap_compressed_stdrd_key
|
|
||||||
FOR TESTING
|
|
||||||
RAISING cx_static_check.
|
|
||||||
METHODS to_abap_compressed_sort
|
|
||||||
FOR TESTING
|
|
||||||
RAISING cx_static_check.
|
|
||||||
METHODS to_abap_compressed_sort_unique
|
|
||||||
FOR TESTING
|
|
||||||
RAISING cx_static_check.
|
|
||||||
METHODS to_abap_compressed_hash
|
|
||||||
FOR TESTING
|
|
||||||
RAISING cx_static_check.
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
CLASS zcl_abapgit_ajson DEFINITION LOCAL FRIENDS ltcl_json_to_abap.
|
CLASS zcl_abapgit_ajson DEFINITION LOCAL FRIENDS ltcl_json_to_abap.
|
||||||
|
@ -2280,171 +2189,6 @@ CLASS ltcl_json_to_abap IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD to_abap_compressed_stdrd.
|
|
||||||
|
|
||||||
TYPES: BEGIN OF ty_foo_bar,
|
|
||||||
foo TYPE string,
|
|
||||||
bar TYPE string,
|
|
||||||
END OF ty_foo_bar.
|
|
||||||
|
|
||||||
DATA lt_foo_bar TYPE STANDARD TABLE OF ty_foo_bar.
|
|
||||||
DATA ls_foo_bar LIKE LINE OF lt_foo_bar.
|
|
||||||
DATA lo_ajson TYPE REF TO zcl_abapgit_ajson.
|
|
||||||
DATA lv_json TYPE string.
|
|
||||||
|
|
||||||
lv_json =
|
|
||||||
'[' &&
|
|
||||||
' {' &&
|
|
||||||
' "foo": "abc",' &&
|
|
||||||
' "bar": "123"' &&
|
|
||||||
' },' &&
|
|
||||||
' {' &&
|
|
||||||
' "foo": "cde"' &&
|
|
||||||
' }' &&
|
|
||||||
']'.
|
|
||||||
|
|
||||||
lo_ajson = zcl_abapgit_ajson=>parse( lv_json ).
|
|
||||||
|
|
||||||
lo_ajson->to_abap( IMPORTING ev_container = lt_foo_bar ).
|
|
||||||
|
|
||||||
READ TABLE lt_foo_bar WITH KEY foo = 'cde' INTO ls_foo_bar.
|
|
||||||
|
|
||||||
cl_abap_unit_assert=>assert_initial( act = ls_foo_bar-bar ).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
METHOD to_abap_compressed_stdrd_key.
|
|
||||||
|
|
||||||
TYPES: BEGIN OF ty_foo_bar,
|
|
||||||
foo TYPE string,
|
|
||||||
bar TYPE string,
|
|
||||||
END OF ty_foo_bar.
|
|
||||||
|
|
||||||
DATA lt_foo_bar TYPE STANDARD TABLE OF ty_foo_bar WITH NON-UNIQUE KEY foo.
|
|
||||||
DATA ls_foo_bar LIKE LINE OF lt_foo_bar.
|
|
||||||
DATA lo_ajson TYPE REF TO zcl_abapgit_ajson.
|
|
||||||
DATA lv_json TYPE string.
|
|
||||||
|
|
||||||
lv_json =
|
|
||||||
'[' &&
|
|
||||||
' {' &&
|
|
||||||
' "foo": "abc",' &&
|
|
||||||
' "bar": "123"' &&
|
|
||||||
' },' &&
|
|
||||||
' {' &&
|
|
||||||
' "foo": "cde"' &&
|
|
||||||
' }' &&
|
|
||||||
']'.
|
|
||||||
|
|
||||||
lo_ajson = zcl_abapgit_ajson=>parse( lv_json ).
|
|
||||||
|
|
||||||
lo_ajson->to_abap( IMPORTING ev_container = lt_foo_bar ).
|
|
||||||
|
|
||||||
READ TABLE lt_foo_bar WITH KEY foo = 'cde' INTO ls_foo_bar.
|
|
||||||
|
|
||||||
cl_abap_unit_assert=>assert_initial( act = ls_foo_bar-bar ).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
METHOD to_abap_compressed_sort.
|
|
||||||
|
|
||||||
TYPES: BEGIN OF ty_foo_bar,
|
|
||||||
foo TYPE string,
|
|
||||||
bar TYPE string,
|
|
||||||
END OF ty_foo_bar.
|
|
||||||
|
|
||||||
DATA lt_foo_bar TYPE SORTED TABLE OF ty_foo_bar WITH NON-UNIQUE KEY foo.
|
|
||||||
DATA ls_foo_bar LIKE LINE OF lt_foo_bar.
|
|
||||||
DATA lo_ajson TYPE REF TO zcl_abapgit_ajson.
|
|
||||||
DATA lv_json TYPE string.
|
|
||||||
|
|
||||||
lv_json =
|
|
||||||
'[' &&
|
|
||||||
' {' &&
|
|
||||||
' "foo": "abc",' &&
|
|
||||||
' "bar": "123"' &&
|
|
||||||
' },' &&
|
|
||||||
' {' &&
|
|
||||||
' "foo": "cde"' &&
|
|
||||||
' }' &&
|
|
||||||
']'.
|
|
||||||
|
|
||||||
lo_ajson = zcl_abapgit_ajson=>parse( lv_json ).
|
|
||||||
|
|
||||||
lo_ajson->to_abap( IMPORTING ev_container = lt_foo_bar ).
|
|
||||||
|
|
||||||
READ TABLE lt_foo_bar WITH KEY foo = 'cde' INTO ls_foo_bar.
|
|
||||||
|
|
||||||
cl_abap_unit_assert=>assert_initial( act = ls_foo_bar-bar ).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
METHOD to_abap_compressed_sort_unique.
|
|
||||||
|
|
||||||
TYPES: BEGIN OF ty_foo_bar,
|
|
||||||
foo TYPE string,
|
|
||||||
bar TYPE string,
|
|
||||||
END OF ty_foo_bar.
|
|
||||||
|
|
||||||
DATA lt_foo_bar TYPE SORTED TABLE OF ty_foo_bar WITH UNIQUE KEY foo.
|
|
||||||
DATA ls_foo_bar LIKE LINE OF lt_foo_bar.
|
|
||||||
DATA lo_ajson TYPE REF TO zcl_abapgit_ajson.
|
|
||||||
DATA lv_json TYPE string.
|
|
||||||
|
|
||||||
lv_json =
|
|
||||||
'[' &&
|
|
||||||
' {' &&
|
|
||||||
' "foo": "abc",' &&
|
|
||||||
' "bar": "123"' &&
|
|
||||||
' },' &&
|
|
||||||
' {' &&
|
|
||||||
' "foo": "cde"' &&
|
|
||||||
' }' &&
|
|
||||||
']'.
|
|
||||||
|
|
||||||
lo_ajson = zcl_abapgit_ajson=>parse( lv_json ).
|
|
||||||
|
|
||||||
lo_ajson->to_abap( IMPORTING ev_container = lt_foo_bar ).
|
|
||||||
|
|
||||||
READ TABLE lt_foo_bar WITH KEY foo = 'cde' INTO ls_foo_bar.
|
|
||||||
|
|
||||||
cl_abap_unit_assert=>assert_initial( act = ls_foo_bar-bar ).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
METHOD to_abap_compressed_hash.
|
|
||||||
|
|
||||||
TYPES: BEGIN OF ty_foo_bar,
|
|
||||||
foo TYPE string,
|
|
||||||
bar TYPE string,
|
|
||||||
END OF ty_foo_bar.
|
|
||||||
|
|
||||||
DATA lt_foo_bar TYPE HASHED TABLE OF ty_foo_bar WITH UNIQUE KEY foo.
|
|
||||||
DATA ls_foo_bar LIKE LINE OF lt_foo_bar.
|
|
||||||
DATA lo_ajson TYPE REF TO zcl_abapgit_ajson.
|
|
||||||
DATA lv_json TYPE string.
|
|
||||||
|
|
||||||
lv_json =
|
|
||||||
'[' &&
|
|
||||||
' {' &&
|
|
||||||
' "foo": "abc",' &&
|
|
||||||
' "bar": "123"' &&
|
|
||||||
' },' &&
|
|
||||||
' {' &&
|
|
||||||
' "foo": "cde"' &&
|
|
||||||
' }' &&
|
|
||||||
']'.
|
|
||||||
|
|
||||||
lo_ajson = zcl_abapgit_ajson=>parse( lv_json ).
|
|
||||||
|
|
||||||
lo_ajson->to_abap( IMPORTING ev_container = lt_foo_bar ).
|
|
||||||
|
|
||||||
READ TABLE lt_foo_bar WITH KEY foo = 'cde' INTO ls_foo_bar.
|
|
||||||
|
|
||||||
cl_abap_unit_assert=>assert_initial( act = ls_foo_bar-bar ).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
**********************************************************************
|
**********************************************************************
|
||||||
|
@ -2477,7 +2221,6 @@ CLASS ltcl_writer_test DEFINITION FINAL
|
||||||
METHODS set_bool_tab FOR TESTING RAISING zcx_abapgit_ajson_error.
|
METHODS set_bool_tab FOR TESTING RAISING zcx_abapgit_ajson_error.
|
||||||
METHODS set_str FOR TESTING RAISING zcx_abapgit_ajson_error.
|
METHODS set_str FOR TESTING RAISING zcx_abapgit_ajson_error.
|
||||||
METHODS set_int FOR TESTING RAISING zcx_abapgit_ajson_error.
|
METHODS set_int FOR TESTING RAISING zcx_abapgit_ajson_error.
|
||||||
METHODS set_number FOR TESTING RAISING zcx_abapgit_ajson_error.
|
|
||||||
METHODS set_date FOR TESTING RAISING zcx_abapgit_ajson_error.
|
METHODS set_date FOR TESTING RAISING zcx_abapgit_ajson_error.
|
||||||
METHODS set_timestamp FOR TESTING RAISING zcx_abapgit_ajson_error.
|
METHODS set_timestamp FOR TESTING RAISING zcx_abapgit_ajson_error.
|
||||||
METHODS read_only FOR TESTING RAISING zcx_abapgit_ajson_error.
|
METHODS read_only FOR TESTING RAISING zcx_abapgit_ajson_error.
|
||||||
|
@ -2493,9 +2236,9 @@ CLASS ltcl_writer_test DEFINITION FINAL
|
||||||
|
|
||||||
METHODS set_with_type_slice
|
METHODS set_with_type_slice
|
||||||
IMPORTING
|
IMPORTING
|
||||||
io_json_in TYPE REF TO zcl_abapgit_ajson
|
io_json_in TYPE REF TO zcl_abapgit_ajson
|
||||||
io_json_out TYPE REF TO zif_abapgit_ajson
|
io_json_out TYPE REF TO zif_abapgit_ajson
|
||||||
iv_path TYPE string
|
iv_path TYPE string
|
||||||
RAISING
|
RAISING
|
||||||
zcx_abapgit_ajson_error.
|
zcx_abapgit_ajson_error.
|
||||||
|
|
||||||
|
@ -3318,27 +3061,6 @@ CLASS ltcl_writer_test IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD set_number.
|
|
||||||
|
|
||||||
DATA lo_nodes_exp TYPE REF TO lcl_nodes_helper.
|
|
||||||
DATA li_json TYPE REF TO zif_abapgit_ajson.
|
|
||||||
DATA lv_p TYPE p LENGTH 5 DECIMALS 2 VALUE '123.45'.
|
|
||||||
|
|
||||||
li_json = zcl_abapgit_ajson=>create_empty( ).
|
|
||||||
CREATE OBJECT lo_nodes_exp.
|
|
||||||
lo_nodes_exp->add( ' | |object | ||1' ).
|
|
||||||
lo_nodes_exp->add( '/ |a |num |123.45 ||0' ).
|
|
||||||
|
|
||||||
li_json->set(
|
|
||||||
iv_path = '/a'
|
|
||||||
iv_val = lv_p ).
|
|
||||||
|
|
||||||
cl_abap_unit_assert=>assert_equals(
|
|
||||||
act = li_json->mt_json_tree
|
|
||||||
exp = lo_nodes_exp->sorted( ) ).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
METHOD set_date.
|
METHOD set_date.
|
||||||
|
|
||||||
DATA lo_cut TYPE REF TO zcl_abapgit_ajson.
|
DATA lo_cut TYPE REF TO zcl_abapgit_ajson.
|
||||||
|
@ -3822,22 +3544,22 @@ CLASS ltcl_integrated DEFINITION
|
||||||
col TYPE i,
|
col TYPE i,
|
||||||
END OF ty_loc,
|
END OF ty_loc,
|
||||||
BEGIN OF ty_issue,
|
BEGIN OF ty_issue,
|
||||||
message TYPE string,
|
message TYPE string,
|
||||||
key TYPE string,
|
key TYPE string,
|
||||||
filename TYPE string,
|
filename TYPE string,
|
||||||
start TYPE ty_loc,
|
start TYPE ty_loc,
|
||||||
end TYPE ty_loc,
|
end TYPE ty_loc,
|
||||||
END OF ty_issue,
|
END OF ty_issue,
|
||||||
tt_issues TYPE STANDARD TABLE OF ty_issue WITH KEY message key,
|
tt_issues TYPE STANDARD TABLE OF ty_issue WITH KEY message key,
|
||||||
BEGIN OF ty_target,
|
BEGIN OF ty_target,
|
||||||
string TYPE string,
|
string TYPE string,
|
||||||
number TYPE i,
|
number TYPE i,
|
||||||
float TYPE f,
|
float TYPE f,
|
||||||
boolean TYPE abap_bool,
|
boolean TYPE abap_bool,
|
||||||
false TYPE abap_bool,
|
false TYPE abap_bool,
|
||||||
null TYPE string,
|
null TYPE string,
|
||||||
date TYPE string, " ??? TODO
|
date TYPE string, " ??? TODO
|
||||||
issues TYPE tt_issues,
|
issues TYPE tt_issues,
|
||||||
END OF ty_target.
|
END OF ty_target.
|
||||||
|
|
||||||
METHODS reader FOR TESTING RAISING zcx_abapgit_ajson_error.
|
METHODS reader FOR TESTING RAISING zcx_abapgit_ajson_error.
|
||||||
|
@ -4686,47 +4408,15 @@ CLASS ltcl_filter_test IMPLEMENTATION.
|
||||||
lo_json->push(
|
lo_json->push(
|
||||||
iv_path = '/'
|
iv_path = '/'
|
||||||
iv_val = 'b' ).
|
iv_val = 'b' ).
|
||||||
lo_json->push(
|
|
||||||
iv_path = '/'
|
|
||||||
iv_val = 'c' ).
|
|
||||||
lo_json->push(
|
|
||||||
iv_path = '/'
|
|
||||||
iv_val = 'd' ).
|
|
||||||
lo_json->push(
|
|
||||||
iv_path = '/'
|
|
||||||
iv_val = 'e' ).
|
|
||||||
lo_json->push(
|
|
||||||
iv_path = '/'
|
|
||||||
iv_val = 'f' ).
|
|
||||||
lo_json->push(
|
|
||||||
iv_path = '/'
|
|
||||||
iv_val = 'g' ).
|
|
||||||
lo_json->push(
|
|
||||||
iv_path = '/'
|
|
||||||
iv_val = 'h' ).
|
|
||||||
lo_json->push(
|
|
||||||
iv_path = '/'
|
|
||||||
iv_val = 'i' ).
|
|
||||||
lo_json->push(
|
|
||||||
iv_path = '/'
|
|
||||||
iv_val = 'j' ).
|
|
||||||
|
|
||||||
lo_json_filtered = zcl_abapgit_ajson=>create_from(
|
lo_json_filtered = zcl_abapgit_ajson=>create_from(
|
||||||
ii_source_json = lo_json
|
ii_source_json = lo_json
|
||||||
ii_filter = me ).
|
ii_filter = me ).
|
||||||
|
|
||||||
CREATE OBJECT lo_nodes_exp.
|
CREATE OBJECT lo_nodes_exp.
|
||||||
lo_nodes_exp->add( ' | |array | | |10' ).
|
lo_nodes_exp->add( ' | |array | | |2' ).
|
||||||
lo_nodes_exp->add( '/ |1 |str |a |1|0' ).
|
lo_nodes_exp->add( '/ |1 |str |a |1|0' ).
|
||||||
lo_nodes_exp->add( '/ |2 |str |b |2|0' ).
|
lo_nodes_exp->add( '/ |2 |str |b |2|0' ).
|
||||||
lo_nodes_exp->add( '/ |3 |str |c |3|0' ).
|
|
||||||
lo_nodes_exp->add( '/ |4 |str |d |4|0' ).
|
|
||||||
lo_nodes_exp->add( '/ |5 |str |e |5|0' ).
|
|
||||||
lo_nodes_exp->add( '/ |6 |str |f |6|0' ).
|
|
||||||
lo_nodes_exp->add( '/ |7 |str |g |7|0' ).
|
|
||||||
lo_nodes_exp->add( '/ |8 |str |h |8|0' ).
|
|
||||||
lo_nodes_exp->add( '/ |9 |str |i |9|0' ).
|
|
||||||
lo_nodes_exp->add( '/ |10 |str |j |10|0' ).
|
|
||||||
|
|
||||||
cl_abap_unit_assert=>assert_equals(
|
cl_abap_unit_assert=>assert_equals(
|
||||||
act = lo_json_filtered->mt_json_tree
|
act = lo_json_filtered->mt_json_tree
|
||||||
|
|
|
@ -12,16 +12,16 @@ CLASS zcl_abapgit_ajson_filter_lib DEFINITION
|
||||||
zcx_abapgit_ajson_error .
|
zcx_abapgit_ajson_error .
|
||||||
CLASS-METHODS create_path_filter
|
CLASS-METHODS create_path_filter
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!it_skip_paths TYPE string_table OPTIONAL
|
!it_skip_paths TYPE string_table OPTIONAL
|
||||||
!iv_skip_paths TYPE string OPTIONAL
|
!iv_skip_paths TYPE string OPTIONAL
|
||||||
!iv_pattern_search TYPE abap_bool DEFAULT abap_false
|
!iv_pattern_search TYPE abap_bool DEFAULT abap_false
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(ri_filter) TYPE REF TO zif_abapgit_ajson_filter
|
VALUE(ri_filter) TYPE REF TO zif_abapgit_ajson_filter
|
||||||
RAISING
|
RAISING
|
||||||
zcx_abapgit_ajson_error .
|
zcx_abapgit_ajson_error .
|
||||||
CLASS-METHODS create_and_filter
|
CLASS-METHODS create_and_filter
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!it_filters TYPE zif_abapgit_ajson_filter=>ty_filter_tab
|
!it_filters TYPE zif_abapgit_ajson_filter=>ty_filter_tab
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(ri_filter) TYPE REF TO zif_abapgit_ajson_filter
|
VALUE(ri_filter) TYPE REF TO zif_abapgit_ajson_filter
|
||||||
RAISING
|
RAISING
|
||||||
|
|
|
@ -27,8 +27,8 @@ CLASS lcl_paths_filter DEFINITION FINAL.
|
||||||
INTERFACES zif_abapgit_ajson_filter.
|
INTERFACES zif_abapgit_ajson_filter.
|
||||||
METHODS constructor
|
METHODS constructor
|
||||||
IMPORTING
|
IMPORTING
|
||||||
it_skip_paths TYPE string_table OPTIONAL
|
it_skip_paths TYPE string_table OPTIONAL
|
||||||
iv_skip_paths TYPE string OPTIONAL
|
iv_skip_paths TYPE string OPTIONAL
|
||||||
iv_pattern_search TYPE abap_bool
|
iv_pattern_search TYPE abap_bool
|
||||||
RAISING
|
RAISING
|
||||||
zcx_abapgit_ajson_error.
|
zcx_abapgit_ajson_error.
|
||||||
|
@ -72,7 +72,7 @@ CLASS lcl_paths_filter IMPLEMENTATION.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
LOOP AT it_skip_paths INTO lv_s.
|
LOOP AT it_skip_paths INTO lv_s.
|
||||||
lv_s = condense( lv_s ).
|
lv_s = to_lower( lv_s ).
|
||||||
APPEND lv_s TO lt_tab.
|
APPEND lv_s TO lt_tab.
|
||||||
ENDLOOP.
|
ENDLOOP.
|
||||||
|
|
||||||
|
@ -83,7 +83,7 @@ CLASS lcl_paths_filter IMPLEMENTATION.
|
||||||
DELETE lt_tab INDEX sy-tabix.
|
DELETE lt_tab INDEX sy-tabix.
|
||||||
CONTINUE.
|
CONTINUE.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
<s> = condense( <s> ).
|
<s> = condense( to_lower( <s> ) ).
|
||||||
ENDLOOP.
|
ENDLOOP.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
|
|
|
@ -10,7 +10,6 @@ CLASS ltcl_filters_test DEFINITION FINAL
|
||||||
METHODS path_filter_w_patterns FOR TESTING RAISING zcx_abapgit_ajson_error.
|
METHODS path_filter_w_patterns FOR TESTING RAISING zcx_abapgit_ajson_error.
|
||||||
METHODS path_filter_deep FOR TESTING RAISING zcx_abapgit_ajson_error.
|
METHODS path_filter_deep FOR TESTING RAISING zcx_abapgit_ajson_error.
|
||||||
METHODS and_filter FOR TESTING RAISING zcx_abapgit_ajson_error.
|
METHODS and_filter FOR TESTING RAISING zcx_abapgit_ajson_error.
|
||||||
METHODS mixed_case_filter FOR TESTING RAISING zcx_abapgit_ajson_error.
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
@ -228,36 +227,4 @@ CLASS ltcl_filters_test IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD mixed_case_filter.
|
|
||||||
|
|
||||||
DATA li_json TYPE REF TO zif_abapgit_ajson.
|
|
||||||
DATA li_json_filtered TYPE REF TO zif_abapgit_ajson.
|
|
||||||
|
|
||||||
li_json = zcl_abapgit_ajson=>create_empty( ).
|
|
||||||
li_json->set(
|
|
||||||
iv_path = '/a'
|
|
||||||
iv_val = '1' ).
|
|
||||||
li_json->set(
|
|
||||||
iv_path = '/bB'
|
|
||||||
iv_val = '2' ).
|
|
||||||
li_json->set(
|
|
||||||
iv_path = '/CC'
|
|
||||||
iv_val = '3' ).
|
|
||||||
li_json->set(
|
|
||||||
iv_path = '/cc'
|
|
||||||
iv_val = '4' ).
|
|
||||||
li_json->set(
|
|
||||||
iv_path = '/d'
|
|
||||||
iv_val = 5 ).
|
|
||||||
|
|
||||||
li_json_filtered = zcl_abapgit_ajson=>create_from(
|
|
||||||
ii_source_json = li_json
|
|
||||||
ii_filter = zcl_abapgit_ajson_filter_lib=>create_path_filter( iv_skip_paths = '/bB,/CC' ) ).
|
|
||||||
|
|
||||||
cl_abap_unit_assert=>assert_equals(
|
|
||||||
act = li_json_filtered->stringify( )
|
|
||||||
exp = '{"a":"1","cc":"4","d":5}' ).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
|
@ -40,17 +40,17 @@ CLASS zcl_abapgit_ajson_mapping DEFINITION
|
||||||
|
|
||||||
CLASS-METHODS create_rename
|
CLASS-METHODS create_rename
|
||||||
IMPORTING
|
IMPORTING
|
||||||
it_rename_map TYPE zif_abapgit_ajson_mapping=>tty_rename_map
|
it_rename_map TYPE zif_abapgit_ajson_mapping=>tty_rename_map
|
||||||
iv_rename_by TYPE i DEFAULT rename_by-attr_name
|
iv_rename_by TYPE i DEFAULT rename_by-attr_name
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(ri_mapping) TYPE REF TO zif_abapgit_ajson_mapping.
|
VALUE(ri_mapping) TYPE REF TO zif_abapgit_ajson_mapping.
|
||||||
|
|
||||||
CLASS-METHODS create_compound_mapper
|
CLASS-METHODS create_compound_mapper
|
||||||
IMPORTING
|
IMPORTING
|
||||||
ii_mapper1 TYPE REF TO zif_abapgit_ajson_mapping OPTIONAL
|
ii_mapper1 TYPE REF TO zif_abapgit_ajson_mapping OPTIONAL
|
||||||
ii_mapper2 TYPE REF TO zif_abapgit_ajson_mapping OPTIONAL
|
ii_mapper2 TYPE REF TO zif_abapgit_ajson_mapping OPTIONAL
|
||||||
ii_mapper3 TYPE REF TO zif_abapgit_ajson_mapping OPTIONAL
|
ii_mapper3 TYPE REF TO zif_abapgit_ajson_mapping OPTIONAL
|
||||||
it_more TYPE zif_abapgit_ajson_mapping=>ty_table_of OPTIONAL
|
it_more TYPE zif_abapgit_ajson_mapping=>ty_table_of OPTIONAL
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(ri_mapping) TYPE REF TO zif_abapgit_ajson_mapping.
|
VALUE(ri_mapping) TYPE REF TO zif_abapgit_ajson_mapping.
|
||||||
|
|
||||||
|
@ -62,7 +62,7 @@ CLASS zcl_abapgit_ajson_mapping DEFINITION
|
||||||
IMPORTING
|
IMPORTING
|
||||||
iv_first_json_upper TYPE abap_bool DEFAULT abap_false
|
iv_first_json_upper TYPE abap_bool DEFAULT abap_false
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(ri_mapping) TYPE REF TO zif_abapgit_ajson_mapping.
|
VALUE(ri_mapping) TYPE REF TO zif_abapgit_ajson_mapping.
|
||||||
|
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
|
|
||||||
|
|
|
@ -22,7 +22,7 @@ CLASS lcl_rename DEFINITION.
|
||||||
METHODS constructor
|
METHODS constructor
|
||||||
IMPORTING
|
IMPORTING
|
||||||
it_rename_map TYPE zif_abapgit_ajson_mapping~tty_rename_map
|
it_rename_map TYPE zif_abapgit_ajson_mapping~tty_rename_map
|
||||||
iv_rename_by TYPE i.
|
iv_rename_by TYPE i.
|
||||||
|
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
|
|
||||||
|
|
|
@ -358,7 +358,6 @@ CLASS ltcl_fields DEFINITION FINAL FOR TESTING
|
||||||
to_json_without_path FOR TESTING RAISING zcx_abapgit_ajson_error,
|
to_json_without_path FOR TESTING RAISING zcx_abapgit_ajson_error,
|
||||||
to_json_with_path FOR TESTING RAISING zcx_abapgit_ajson_error,
|
to_json_with_path FOR TESTING RAISING zcx_abapgit_ajson_error,
|
||||||
to_abap FOR TESTING RAISING zcx_abapgit_ajson_error,
|
to_abap FOR TESTING RAISING zcx_abapgit_ajson_error,
|
||||||
to_abap_with_slice FOR TESTING RAISING zcx_abapgit_ajson_error,
|
|
||||||
to_json IMPORTING iv_path TYPE string RETURNING VALUE(rv_result) TYPE string RAISING zcx_abapgit_ajson_error.
|
to_json IMPORTING iv_path TYPE string RETURNING VALUE(rv_result) TYPE string RAISING zcx_abapgit_ajson_error.
|
||||||
|
|
||||||
|
|
||||||
|
@ -404,33 +403,6 @@ CLASS ltcl_fields IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD to_abap_with_slice.
|
|
||||||
|
|
||||||
DATA: BEGIN OF ls_act,
|
|
||||||
y TYPE i,
|
|
||||||
END OF ls_act.
|
|
||||||
|
|
||||||
DATA lo_cut TYPE REF TO zif_abapgit_ajson.
|
|
||||||
DATA lt_mapping_fields TYPE zif_abapgit_ajson_mapping=>ty_mapping_fields.
|
|
||||||
DATA ls_mapping_field LIKE LINE OF lt_mapping_fields.
|
|
||||||
|
|
||||||
CLEAR ls_mapping_field.
|
|
||||||
ls_mapping_field-abap = 'Y'.
|
|
||||||
ls_mapping_field-json = 'c'.
|
|
||||||
INSERT ls_mapping_field INTO TABLE lt_mapping_fields.
|
|
||||||
|
|
||||||
lo_cut = zcl_abapgit_ajson=>parse( iv_json = '{"a":1,"b":{"c":2},"d":{"e":3}}'
|
|
||||||
ii_custom_mapping = zcl_abapgit_ajson_mapping=>create_field_mapping( lt_mapping_fields )
|
|
||||||
)->slice( `/b` ).
|
|
||||||
|
|
||||||
lo_cut->to_abap( IMPORTING ev_container = ls_act ).
|
|
||||||
|
|
||||||
cl_abap_unit_assert=>assert_equals(
|
|
||||||
act = ls_act-y
|
|
||||||
exp = 2 ).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
|
|
||||||
METHOD to_json_without_path.
|
METHOD to_json_without_path.
|
||||||
|
|
||||||
|
|
|
@ -41,10 +41,10 @@ CLASS zcl_abapgit_ajson_utilities DEFINITION
|
||||||
zcx_abapgit_ajson_error .
|
zcx_abapgit_ajson_error .
|
||||||
METHODS is_equal
|
METHODS is_equal
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!iv_json_a TYPE string OPTIONAL
|
!iv_json_a TYPE string OPTIONAL
|
||||||
!iv_json_b TYPE string OPTIONAL
|
!iv_json_b TYPE string OPTIONAL
|
||||||
!ii_json_a TYPE REF TO zif_abapgit_ajson OPTIONAL
|
!ii_json_a TYPE REF TO zif_abapgit_ajson OPTIONAL
|
||||||
!ii_json_b TYPE REF TO zif_abapgit_ajson OPTIONAL
|
!ii_json_b TYPE REF TO zif_abapgit_ajson OPTIONAL
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(rv_yes) TYPE abap_bool
|
VALUE(rv_yes) TYPE abap_bool
|
||||||
RAISING
|
RAISING
|
||||||
|
|
|
@ -1,15 +1,15 @@
|
||||||
INTERFACE zif_abapgit_ajson
|
INTERFACE zif_abapgit_ajson
|
||||||
PUBLIC.
|
PUBLIC.
|
||||||
|
|
||||||
CONSTANTS version TYPE string VALUE 'v1.1.11'. "#EC NOTEXT
|
CONSTANTS version TYPE string VALUE 'v1.1.10'. "#EC NOTEXT
|
||||||
CONSTANTS origin TYPE string VALUE 'https://github.com/sbcgua/ajson'. "#EC NOTEXT
|
CONSTANTS origin TYPE string VALUE 'https://github.com/sbcgua/ajson'. "#EC NOTEXT
|
||||||
CONSTANTS license TYPE string VALUE 'MIT'. "#EC NOTEXT
|
CONSTANTS license TYPE string VALUE 'MIT'. "#EC NOTEXT
|
||||||
|
|
||||||
TYPES:
|
TYPES:
|
||||||
BEGIN OF ty_opts,
|
BEGIN OF ty_opts,
|
||||||
read_only TYPE abap_bool,
|
read_only TYPE abap_bool,
|
||||||
keep_item_order TYPE abap_bool,
|
keep_item_order TYPE abap_bool,
|
||||||
format_datetime TYPE abap_bool,
|
format_datetime TYPE abap_bool,
|
||||||
to_abap_corresponding_only TYPE abap_bool,
|
to_abap_corresponding_only TYPE abap_bool,
|
||||||
END OF ty_opts.
|
END OF ty_opts.
|
||||||
|
|
||||||
|
@ -26,14 +26,14 @@ INTERFACE zif_abapgit_ajson
|
||||||
zcx_abapgit_ajson_error.
|
zcx_abapgit_ajson_error.
|
||||||
METHODS filter
|
METHODS filter
|
||||||
IMPORTING
|
IMPORTING
|
||||||
ii_filter TYPE REF TO zif_abapgit_ajson_filter
|
ii_filter TYPE REF TO zif_abapgit_ajson_filter
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(ri_json) TYPE REF TO zif_abapgit_ajson
|
VALUE(ri_json) TYPE REF TO zif_abapgit_ajson
|
||||||
RAISING
|
RAISING
|
||||||
zcx_abapgit_ajson_error.
|
zcx_abapgit_ajson_error.
|
||||||
METHODS map
|
METHODS map
|
||||||
IMPORTING
|
IMPORTING
|
||||||
ii_mapper TYPE REF TO zif_abapgit_ajson_mapping
|
ii_mapper TYPE REF TO zif_abapgit_ajson_mapping
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(ri_json) TYPE REF TO zif_abapgit_ajson
|
VALUE(ri_json) TYPE REF TO zif_abapgit_ajson
|
||||||
RAISING
|
RAISING
|
||||||
|
@ -47,12 +47,12 @@ INTERFACE zif_abapgit_ajson
|
||||||
VALUE(ri_json) TYPE REF TO zif_abapgit_ajson.
|
VALUE(ri_json) TYPE REF TO zif_abapgit_ajson.
|
||||||
METHODS format_datetime
|
METHODS format_datetime
|
||||||
IMPORTING
|
IMPORTING
|
||||||
iv_use_iso TYPE abap_bool DEFAULT abap_true
|
iv_use_iso TYPE abap_bool DEFAULT abap_true
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(ri_json) TYPE REF TO zif_abapgit_ajson.
|
VALUE(ri_json) TYPE REF TO zif_abapgit_ajson.
|
||||||
METHODS to_abap_corresponding_only
|
METHODS to_abap_corresponding_only
|
||||||
IMPORTING
|
IMPORTING
|
||||||
iv_enable TYPE abap_bool DEFAULT abap_true
|
iv_enable TYPE abap_bool DEFAULT abap_true
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(ri_json) TYPE REF TO zif_abapgit_ajson.
|
VALUE(ri_json) TYPE REF TO zif_abapgit_ajson.
|
||||||
METHODS opts
|
METHODS opts
|
||||||
|
@ -67,67 +67,67 @@ INTERFACE zif_abapgit_ajson
|
||||||
|
|
||||||
METHODS exists
|
METHODS exists
|
||||||
IMPORTING
|
IMPORTING
|
||||||
iv_path TYPE string
|
iv_path TYPE string
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(rv_exists) TYPE abap_bool.
|
VALUE(rv_exists) TYPE abap_bool.
|
||||||
|
|
||||||
METHODS members
|
METHODS members
|
||||||
IMPORTING
|
IMPORTING
|
||||||
iv_path TYPE string
|
iv_path TYPE string
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(rt_members) TYPE string_table.
|
VALUE(rt_members) TYPE string_table.
|
||||||
|
|
||||||
METHODS get
|
METHODS get
|
||||||
IMPORTING
|
IMPORTING
|
||||||
iv_path TYPE string
|
iv_path TYPE string
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(rv_value) TYPE string.
|
VALUE(rv_value) TYPE string.
|
||||||
|
|
||||||
METHODS get_node_type
|
METHODS get_node_type
|
||||||
IMPORTING
|
IMPORTING
|
||||||
iv_path TYPE string
|
iv_path TYPE string
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(rv_node_type) TYPE zif_abapgit_ajson_types=>ty_node_type.
|
VALUE(rv_node_type) TYPE zif_abapgit_ajson_types=>ty_node_type.
|
||||||
|
|
||||||
METHODS get_boolean
|
METHODS get_boolean
|
||||||
IMPORTING
|
IMPORTING
|
||||||
iv_path TYPE string
|
iv_path TYPE string
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(rv_value) TYPE abap_bool.
|
VALUE(rv_value) TYPE abap_bool.
|
||||||
|
|
||||||
METHODS get_integer
|
METHODS get_integer
|
||||||
IMPORTING
|
IMPORTING
|
||||||
iv_path TYPE string
|
iv_path TYPE string
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(rv_value) TYPE i.
|
VALUE(rv_value) TYPE i.
|
||||||
|
|
||||||
METHODS get_number
|
METHODS get_number
|
||||||
IMPORTING
|
IMPORTING
|
||||||
iv_path TYPE string
|
iv_path TYPE string
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(rv_value) TYPE f.
|
VALUE(rv_value) TYPE f.
|
||||||
|
|
||||||
METHODS get_date
|
METHODS get_date
|
||||||
IMPORTING
|
IMPORTING
|
||||||
iv_path TYPE string
|
iv_path TYPE string
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(rv_value) TYPE d.
|
VALUE(rv_value) TYPE d.
|
||||||
|
|
||||||
METHODS get_timestamp
|
METHODS get_timestamp
|
||||||
IMPORTING
|
IMPORTING
|
||||||
iv_path TYPE string
|
iv_path TYPE string
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(rv_value) TYPE timestamp.
|
VALUE(rv_value) TYPE timestamp.
|
||||||
|
|
||||||
METHODS get_string
|
METHODS get_string
|
||||||
IMPORTING
|
IMPORTING
|
||||||
iv_path TYPE string
|
iv_path TYPE string
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(rv_value) TYPE string.
|
VALUE(rv_value) TYPE string.
|
||||||
|
|
||||||
METHODS slice
|
METHODS slice
|
||||||
IMPORTING
|
IMPORTING
|
||||||
iv_path TYPE string
|
iv_path TYPE string
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(ri_json) TYPE REF TO zif_abapgit_ajson.
|
VALUE(ri_json) TYPE REF TO zif_abapgit_ajson.
|
||||||
|
|
||||||
|
@ -135,13 +135,13 @@ INTERFACE zif_abapgit_ajson
|
||||||
IMPORTING
|
IMPORTING
|
||||||
iv_corresponding TYPE abap_bool DEFAULT abap_false
|
iv_corresponding TYPE abap_bool DEFAULT abap_false
|
||||||
EXPORTING
|
EXPORTING
|
||||||
ev_container TYPE any
|
ev_container TYPE any
|
||||||
RAISING
|
RAISING
|
||||||
zcx_abapgit_ajson_error.
|
zcx_abapgit_ajson_error.
|
||||||
|
|
||||||
METHODS array_to_string_table
|
METHODS array_to_string_table
|
||||||
IMPORTING
|
IMPORTING
|
||||||
iv_path TYPE string
|
iv_path TYPE string
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(rt_string_table) TYPE string_table
|
VALUE(rt_string_table) TYPE string_table
|
||||||
RAISING
|
RAISING
|
||||||
|
@ -155,18 +155,18 @@ INTERFACE zif_abapgit_ajson
|
||||||
|
|
||||||
METHODS set
|
METHODS set
|
||||||
IMPORTING
|
IMPORTING
|
||||||
iv_path TYPE string
|
iv_path TYPE string
|
||||||
iv_val TYPE any
|
iv_val TYPE any
|
||||||
iv_ignore_empty TYPE abap_bool DEFAULT abap_true
|
iv_ignore_empty TYPE abap_bool DEFAULT abap_true
|
||||||
iv_node_type TYPE zif_abapgit_ajson_types=>ty_node_type OPTIONAL
|
iv_node_type TYPE zif_abapgit_ajson_types=>ty_node_type OPTIONAL
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(ri_json) TYPE REF TO zif_abapgit_ajson
|
VALUE(ri_json) TYPE REF TO zif_abapgit_ajson
|
||||||
RAISING
|
RAISING
|
||||||
zcx_abapgit_ajson_error.
|
zcx_abapgit_ajson_error.
|
||||||
|
|
||||||
METHODS setx
|
METHODS setx
|
||||||
IMPORTING
|
IMPORTING
|
||||||
iv_param TYPE string
|
iv_param TYPE string
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(ri_json) TYPE REF TO zif_abapgit_ajson
|
VALUE(ri_json) TYPE REF TO zif_abapgit_ajson
|
||||||
RAISING
|
RAISING
|
||||||
|
@ -174,8 +174,8 @@ INTERFACE zif_abapgit_ajson
|
||||||
|
|
||||||
METHODS set_boolean
|
METHODS set_boolean
|
||||||
IMPORTING
|
IMPORTING
|
||||||
iv_path TYPE string
|
iv_path TYPE string
|
||||||
iv_val TYPE any
|
iv_val TYPE any
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(ri_json) TYPE REF TO zif_abapgit_ajson
|
VALUE(ri_json) TYPE REF TO zif_abapgit_ajson
|
||||||
RAISING
|
RAISING
|
||||||
|
@ -183,8 +183,8 @@ INTERFACE zif_abapgit_ajson
|
||||||
|
|
||||||
METHODS set_string
|
METHODS set_string
|
||||||
IMPORTING
|
IMPORTING
|
||||||
iv_path TYPE string
|
iv_path TYPE string
|
||||||
iv_val TYPE clike
|
iv_val TYPE clike
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(ri_json) TYPE REF TO zif_abapgit_ajson
|
VALUE(ri_json) TYPE REF TO zif_abapgit_ajson
|
||||||
RAISING
|
RAISING
|
||||||
|
@ -192,8 +192,8 @@ INTERFACE zif_abapgit_ajson
|
||||||
|
|
||||||
METHODS set_integer
|
METHODS set_integer
|
||||||
IMPORTING
|
IMPORTING
|
||||||
iv_path TYPE string
|
iv_path TYPE string
|
||||||
iv_val TYPE i
|
iv_val TYPE i
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(ri_json) TYPE REF TO zif_abapgit_ajson
|
VALUE(ri_json) TYPE REF TO zif_abapgit_ajson
|
||||||
RAISING
|
RAISING
|
||||||
|
@ -201,8 +201,8 @@ INTERFACE zif_abapgit_ajson
|
||||||
|
|
||||||
METHODS set_date
|
METHODS set_date
|
||||||
IMPORTING
|
IMPORTING
|
||||||
iv_path TYPE string
|
iv_path TYPE string
|
||||||
iv_val TYPE d
|
iv_val TYPE d
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(ri_json) TYPE REF TO zif_abapgit_ajson
|
VALUE(ri_json) TYPE REF TO zif_abapgit_ajson
|
||||||
RAISING
|
RAISING
|
||||||
|
@ -210,8 +210,8 @@ INTERFACE zif_abapgit_ajson
|
||||||
|
|
||||||
METHODS set_timestamp
|
METHODS set_timestamp
|
||||||
IMPORTING
|
IMPORTING
|
||||||
iv_path TYPE string
|
iv_path TYPE string
|
||||||
iv_val TYPE timestamp
|
iv_val TYPE timestamp
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(ri_json) TYPE REF TO zif_abapgit_ajson
|
VALUE(ri_json) TYPE REF TO zif_abapgit_ajson
|
||||||
RAISING
|
RAISING
|
||||||
|
@ -219,7 +219,7 @@ INTERFACE zif_abapgit_ajson
|
||||||
|
|
||||||
METHODS set_null
|
METHODS set_null
|
||||||
IMPORTING
|
IMPORTING
|
||||||
iv_path TYPE string
|
iv_path TYPE string
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(ri_json) TYPE REF TO zif_abapgit_ajson
|
VALUE(ri_json) TYPE REF TO zif_abapgit_ajson
|
||||||
RAISING
|
RAISING
|
||||||
|
@ -227,7 +227,7 @@ INTERFACE zif_abapgit_ajson
|
||||||
|
|
||||||
METHODS delete
|
METHODS delete
|
||||||
IMPORTING
|
IMPORTING
|
||||||
iv_path TYPE string
|
iv_path TYPE string
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(ri_json) TYPE REF TO zif_abapgit_ajson
|
VALUE(ri_json) TYPE REF TO zif_abapgit_ajson
|
||||||
RAISING
|
RAISING
|
||||||
|
@ -235,8 +235,8 @@ INTERFACE zif_abapgit_ajson
|
||||||
|
|
||||||
METHODS touch_array
|
METHODS touch_array
|
||||||
IMPORTING
|
IMPORTING
|
||||||
iv_path TYPE string
|
iv_path TYPE string
|
||||||
iv_clear TYPE abap_bool DEFAULT abap_false
|
iv_clear TYPE abap_bool DEFAULT abap_false
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(ri_json) TYPE REF TO zif_abapgit_ajson
|
VALUE(ri_json) TYPE REF TO zif_abapgit_ajson
|
||||||
RAISING
|
RAISING
|
||||||
|
@ -244,8 +244,8 @@ INTERFACE zif_abapgit_ajson
|
||||||
|
|
||||||
METHODS push
|
METHODS push
|
||||||
IMPORTING
|
IMPORTING
|
||||||
iv_path TYPE string
|
iv_path TYPE string
|
||||||
iv_val TYPE any
|
iv_val TYPE any
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(ri_json) TYPE REF TO zif_abapgit_ajson
|
VALUE(ri_json) TYPE REF TO zif_abapgit_ajson
|
||||||
RAISING
|
RAISING
|
||||||
|
@ -253,7 +253,7 @@ INTERFACE zif_abapgit_ajson
|
||||||
|
|
||||||
METHODS stringify
|
METHODS stringify
|
||||||
IMPORTING
|
IMPORTING
|
||||||
iv_indent TYPE i DEFAULT 0
|
iv_indent TYPE i DEFAULT 0
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(rv_json) TYPE string
|
VALUE(rv_json) TYPE string
|
||||||
RAISING
|
RAISING
|
||||||
|
|
|
@ -13,8 +13,8 @@ INTERFACE zif_abapgit_ajson_filter
|
||||||
|
|
||||||
METHODS keep_node
|
METHODS keep_node
|
||||||
IMPORTING
|
IMPORTING
|
||||||
is_node TYPE zif_abapgit_ajson_types=>ty_node
|
is_node TYPE zif_abapgit_ajson_types=>ty_node
|
||||||
iv_visit TYPE ty_visit_type DEFAULT visit_type-value
|
iv_visit TYPE ty_visit_type DEFAULT visit_type-value
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(rv_keep) TYPE abap_bool
|
VALUE(rv_keep) TYPE abap_bool
|
||||||
RAISING
|
RAISING
|
||||||
|
|
|
@ -13,7 +13,7 @@ INTERFACE zif_abapgit_ajson_mapping
|
||||||
TYPES:
|
TYPES:
|
||||||
BEGIN OF ty_rename,
|
BEGIN OF ty_rename,
|
||||||
from TYPE string,
|
from TYPE string,
|
||||||
to TYPE string,
|
to TYPE string,
|
||||||
END OF ty_rename,
|
END OF ty_rename,
|
||||||
tty_rename_map TYPE STANDARD TABLE OF ty_rename
|
tty_rename_map TYPE STANDARD TABLE OF ty_rename
|
||||||
WITH UNIQUE SORTED KEY by_name COMPONENTS from.
|
WITH UNIQUE SORTED KEY by_name COMPONENTS from.
|
||||||
|
|
|
@ -16,12 +16,12 @@ INTERFACE zif_abapgit_ajson_types
|
||||||
|
|
||||||
TYPES:
|
TYPES:
|
||||||
BEGIN OF ty_node,
|
BEGIN OF ty_node,
|
||||||
path TYPE string,
|
path TYPE string,
|
||||||
name TYPE string,
|
name TYPE string,
|
||||||
type TYPE ty_node_type,
|
type TYPE ty_node_type,
|
||||||
value TYPE string,
|
value TYPE string,
|
||||||
index TYPE i,
|
index TYPE i,
|
||||||
order TYPE i,
|
order TYPE i,
|
||||||
children TYPE i,
|
children TYPE i,
|
||||||
END OF ty_node.
|
END OF ty_node.
|
||||||
TYPES:
|
TYPES:
|
||||||
|
|
|
@ -46,30 +46,20 @@ CLASS ZCL_ABAPGIT_AFF_REGISTRY IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
METHOD initialize_registry_table.
|
METHOD initialize_registry_table.
|
||||||
register( 'APLO' ).
|
|
||||||
register( 'BGQC' ).
|
|
||||||
register( 'CDBO' ).
|
register( 'CDBO' ).
|
||||||
register( 'CHKC' ).
|
register( 'CHKC' ).
|
||||||
register( 'CHKO' ).
|
register( 'CHKO' ).
|
||||||
register( 'CHKV' ).
|
register( 'CHKV' ).
|
||||||
register( 'COTA' ).
|
|
||||||
register( 'DRTY' ).
|
register( 'DRTY' ).
|
||||||
register( 'DTEB' ).
|
register( 'DTEB' ).
|
||||||
register( 'DSFI' ).
|
|
||||||
register( 'DRAS' ).
|
|
||||||
register( 'DSFD' ).
|
|
||||||
register( 'EVTB' ).
|
register( 'EVTB' ).
|
||||||
register( 'EEEC' ).
|
register( 'EEEC' ).
|
||||||
register( 'GSMP' ).
|
register( 'GSMP' ).
|
||||||
register( iv_obj_type = 'INTF'
|
register( iv_obj_type = 'INTF'
|
||||||
iv_experimental = abap_true ).
|
iv_experimental = abap_true ).
|
||||||
register( 'SAJT' ).
|
|
||||||
register( 'SAJC' ).
|
|
||||||
register( 'SMBC' ).
|
register( 'SMBC' ).
|
||||||
register( 'SWCR' ).
|
|
||||||
register( 'NONT' ).
|
register( 'NONT' ).
|
||||||
register( 'RONT' ).
|
register( 'RONT' ).
|
||||||
register( 'UIAD' ).
|
|
||||||
register( 'UIPG' ).
|
register( 'UIPG' ).
|
||||||
register( 'UIST' ).
|
register( 'UIST' ).
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
|
@ -18,7 +18,7 @@ CLASS zcl_abapgit_json_handler DEFINITION
|
||||||
mappings TYPE ty_json_abap_mappings,
|
mappings TYPE ty_json_abap_mappings,
|
||||||
END OF ty_enum_mapping .
|
END OF ty_enum_mapping .
|
||||||
TYPES:
|
TYPES:
|
||||||
ty_enum_mappings TYPE STANDARD TABLE OF ty_enum_mapping WITH DEFAULT KEY .
|
ty_enum_mappings TYPE TABLE OF ty_enum_mapping WITH DEFAULT KEY .
|
||||||
TYPES:
|
TYPES:
|
||||||
BEGIN OF ty_path_value_pair,
|
BEGIN OF ty_path_value_pair,
|
||||||
path TYPE string,
|
path TYPE string,
|
||||||
|
|
|
@ -1,24 +0,0 @@
|
||||||
CLASS zcl_abapgit_object_aplo DEFINITION
|
|
||||||
PUBLIC
|
|
||||||
INHERITING FROM zcl_abapgit_object_common_aff
|
|
||||||
FINAL
|
|
||||||
CREATE PUBLIC .
|
|
||||||
|
|
||||||
PUBLIC SECTION.
|
|
||||||
|
|
||||||
METHODS zif_abapgit_object~changed_by
|
|
||||||
REDEFINITION .
|
|
||||||
PROTECTED SECTION.
|
|
||||||
PRIVATE SECTION.
|
|
||||||
|
|
||||||
ENDCLASS.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CLASS ZCL_ABAPGIT_OBJECT_APLO IMPLEMENTATION.
|
|
||||||
|
|
||||||
|
|
||||||
METHOD zif_abapgit_object~changed_by.
|
|
||||||
CLEAR rv_user.
|
|
||||||
ENDMETHOD.
|
|
||||||
ENDCLASS.
|
|
|
@ -1,16 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
|
|
||||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
|
||||||
<asx:values>
|
|
||||||
<VSEOCLASS>
|
|
||||||
<CLSNAME>ZCL_ABAPGIT_OBJECT_APLO</CLSNAME>
|
|
||||||
<LANGU>E</LANGU>
|
|
||||||
<DESCRIPT>abapGit - APLO - Application Log Object</DESCRIPT>
|
|
||||||
<STATE>1</STATE>
|
|
||||||
<CLSCCINCL>X</CLSCCINCL>
|
|
||||||
<FIXPT>X</FIXPT>
|
|
||||||
<UNICODE>X</UNICODE>
|
|
||||||
</VSEOCLASS>
|
|
||||||
</asx:values>
|
|
||||||
</asx:abap>
|
|
||||||
</abapGit>
|
|
|
@ -1,56 +0,0 @@
|
||||||
CLASS zcl_abapgit_object_bgqc DEFINITION
|
|
||||||
PUBLIC
|
|
||||||
INHERITING FROM zcl_abapgit_object_common_aff FINAL
|
|
||||||
CREATE PUBLIC.
|
|
||||||
|
|
||||||
PUBLIC SECTION.
|
|
||||||
METHODS zif_abapgit_object~changed_by REDEFINITION.
|
|
||||||
|
|
||||||
PRIVATE SECTION.
|
|
||||||
CONSTANTS c_bgqc_name TYPE string VALUE 'BGQCNAME'.
|
|
||||||
CONSTANTS c_bgqc_wbi_p TYPE string VALUE 'CL_BGQC_WBI_P'.
|
|
||||||
CONSTANTS c_select_changed_by TYPE string VALUE 'IF_BGQC_WBI_P~SELECT_CHANGED_BY'.
|
|
||||||
|
|
||||||
ENDCLASS.
|
|
||||||
|
|
||||||
|
|
||||||
CLASS zcl_abapgit_object_bgqc IMPLEMENTATION.
|
|
||||||
METHOD zif_abapgit_object~changed_by.
|
|
||||||
DATA lo_bgqc_wbi_p TYPE REF TO object.
|
|
||||||
DATA lv_ref_bgqc_name TYPE REF TO data.
|
|
||||||
DATA lv_changed_by TYPE syuname.
|
|
||||||
DATA lv_subrc TYPE sy-subrc.
|
|
||||||
DATA lx_root TYPE REF TO cx_root.
|
|
||||||
|
|
||||||
FIELD-SYMBOLS: <lv_ref_bgqc_name> TYPE any.
|
|
||||||
|
|
||||||
TRY.
|
|
||||||
|
|
||||||
CREATE DATA lv_ref_bgqc_name TYPE (c_bgqc_name).
|
|
||||||
ASSIGN lv_ref_bgqc_name->* TO <lv_ref_bgqc_name>.
|
|
||||||
ASSERT sy-subrc = 0.
|
|
||||||
|
|
||||||
me->ms_item-obj_name = <lv_ref_bgqc_name>.
|
|
||||||
|
|
||||||
CREATE OBJECT lo_bgqc_wbi_p TYPE (c_bgqc_wbi_p).
|
|
||||||
|
|
||||||
CALL METHOD lo_bgqc_wbi_p->(c_select_changed_by)
|
|
||||||
EXPORTING
|
|
||||||
iv_bgqc_name = <lv_ref_bgqc_name>
|
|
||||||
IMPORTING
|
|
||||||
ev_changed_by = lv_changed_by
|
|
||||||
ev_subrc = lv_subrc.
|
|
||||||
|
|
||||||
IF lv_subrc <> 0.
|
|
||||||
zcx_abapgit_exception=>raise_t100( ).
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
rv_user = lv_changed_by.
|
|
||||||
|
|
||||||
CATCH cx_root INTO lx_root.
|
|
||||||
|
|
||||||
zcx_abapgit_exception=>raise_with_text( lx_root ).
|
|
||||||
|
|
||||||
ENDTRY.
|
|
||||||
ENDMETHOD.
|
|
||||||
ENDCLASS.
|
|
|
@ -1,16 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
|
|
||||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
|
||||||
<asx:values>
|
|
||||||
<VSEOCLASS>
|
|
||||||
<CLSNAME>ZCL_ABAPGIT_OBJECT_BGQC</CLSNAME>
|
|
||||||
<LANGU>E</LANGU>
|
|
||||||
<DESCRIPT>abapGit - BGQC - Background Processing Context</DESCRIPT>
|
|
||||||
<STATE>1</STATE>
|
|
||||||
<CLSCCINCL>X</CLSCCINCL>
|
|
||||||
<FIXPT>X</FIXPT>
|
|
||||||
<UNICODE>X</UNICODE>
|
|
||||||
</VSEOCLASS>
|
|
||||||
</asx:values>
|
|
||||||
</asx:abap>
|
|
||||||
</abapGit>
|
|
|
@ -7,34 +7,29 @@ CLASS zcl_abapgit_object_cdbo DEFINITION
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
|
|
||||||
METHODS constructor
|
METHODS constructor
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!is_item TYPE zif_abapgit_definitions=>ty_item
|
!is_item TYPE zif_abapgit_definitions=>ty_item
|
||||||
!iv_language TYPE spras
|
!iv_language TYPE spras
|
||||||
!io_files TYPE REF TO zcl_abapgit_objects_files OPTIONAL
|
RAISING
|
||||||
!io_i18n_params TYPE REF TO zcl_abapgit_i18n_params OPTIONAL
|
zcx_abapgit_exception .
|
||||||
RAISING
|
|
||||||
zcx_abapgit_exception.
|
|
||||||
|
|
||||||
METHODS zif_abapgit_object~changed_by REDEFINITION.
|
|
||||||
|
|
||||||
|
METHODS zif_abapgit_object~changed_by
|
||||||
|
REDEFINITION .
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
|
|
||||||
CONSTANTS c_table_name TYPE tabname VALUE 'CDB_OBJH' ##NO_TEXT.
|
CONSTANTS c_table_name TYPE tabname VALUE 'CDB_OBJH' ##NO_TEXT.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CLASS zcl_abapgit_object_cdbo IMPLEMENTATION.
|
CLASS ZCL_ABAPGIT_OBJECT_CDBO IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
METHOD constructor.
|
METHOD constructor.
|
||||||
|
|
||||||
super->constructor( is_item = is_item
|
super->constructor( is_item = is_item
|
||||||
iv_language = iv_language
|
iv_language = iv_language ).
|
||||||
io_files = io_files
|
|
||||||
io_i18n_params = io_i18n_params ).
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -30,7 +30,7 @@ CLASS zcl_abapgit_object_common_aff DEFINITION
|
||||||
!io_files TYPE REF TO zcl_abapgit_objects_files OPTIONAL
|
!io_files TYPE REF TO zcl_abapgit_objects_files OPTIONAL
|
||||||
!io_i18n_params TYPE REF TO zcl_abapgit_i18n_params OPTIONAL
|
!io_i18n_params TYPE REF TO zcl_abapgit_i18n_params OPTIONAL
|
||||||
RAISING
|
RAISING
|
||||||
zcx_abapgit_type_not_supported.
|
zcx_abapgit_exception.
|
||||||
|
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
TYPES: BEGIN OF ty_extension_mapper_pair,
|
TYPES: BEGIN OF ty_extension_mapper_pair,
|
||||||
|
@ -55,9 +55,7 @@ CLASS zcl_abapgit_object_common_aff DEFINITION
|
||||||
|
|
||||||
METHODS create_aff_setting_deserialize FINAL
|
METHODS create_aff_setting_deserialize FINAL
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(ro_settings_deserialize) TYPE REF TO object
|
VALUE(ro_settings_deserialize) TYPE REF TO object.
|
||||||
RAISING
|
|
||||||
zcx_abapgit_exception.
|
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
METHODS is_file_empty
|
METHODS is_file_empty
|
||||||
|
@ -106,35 +104,12 @@ CLASS zcl_abapgit_object_common_aff IMPLEMENTATION.
|
||||||
ENDTRY.
|
ENDTRY.
|
||||||
|
|
||||||
IF lv_is_supported IS INITIAL.
|
IF lv_is_supported IS INITIAL.
|
||||||
RAISE EXCEPTION TYPE zcx_abapgit_type_not_supported EXPORTING obj_type = is_item-obj_type.
|
zcx_abapgit_exception=>raise( |Object type { is_item-obj_type } is not supported by this system| ).
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD create_aff_setting_deserialize.
|
|
||||||
IF ms_item-abap_language_version <> zcl_abapgit_abap_language_vers=>c_any_abap_language_version AND
|
|
||||||
ms_item-abap_language_version <> zcl_abapgit_abap_language_vers=>c_no_abap_language_version.
|
|
||||||
TRY.
|
|
||||||
CREATE OBJECT ro_settings_deserialize TYPE ('CL_AFF_SETTINGS_DESERIALIZE')
|
|
||||||
EXPORTING
|
|
||||||
version = 'A'
|
|
||||||
language = mv_language
|
|
||||||
user = sy-uname
|
|
||||||
abap_language_version = ms_item-abap_language_version.
|
|
||||||
CATCH cx_root.
|
|
||||||
zcx_abapgit_exception=>raise( |System does not supported ABAP language version for AFF| ).
|
|
||||||
ENDTRY.
|
|
||||||
ELSE.
|
|
||||||
CREATE OBJECT ro_settings_deserialize TYPE ('CL_AFF_SETTINGS_DESERIALIZE')
|
|
||||||
EXPORTING
|
|
||||||
version = 'A'
|
|
||||||
language = mv_language
|
|
||||||
user = sy-uname.
|
|
||||||
ENDIF.
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
|
|
||||||
METHOD get_additional_extensions.
|
METHOD get_additional_extensions.
|
||||||
RETURN.
|
RETURN.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
@ -437,6 +412,25 @@ CLASS zcl_abapgit_object_common_aff IMPLEMENTATION.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD create_aff_setting_deserialize.
|
||||||
|
IF ms_item-abap_language_version <> zcl_abapgit_abap_language_vers=>c_any_abap_language_version AND
|
||||||
|
ms_item-abap_language_version <> zcl_abapgit_abap_language_vers=>c_no_abap_language_version.
|
||||||
|
CREATE OBJECT ro_settings_deserialize TYPE ('CL_AFF_SETTINGS_DESERIALIZE')
|
||||||
|
EXPORTING
|
||||||
|
version = 'A'
|
||||||
|
language = mv_language
|
||||||
|
user = sy-uname
|
||||||
|
abap_language_version = ms_item-abap_language_version.
|
||||||
|
ELSE.
|
||||||
|
CREATE OBJECT ro_settings_deserialize TYPE ('CL_AFF_SETTINGS_DESERIALIZE')
|
||||||
|
EXPORTING
|
||||||
|
version = 'A'
|
||||||
|
language = mv_language
|
||||||
|
user = sy-uname.
|
||||||
|
ENDIF.
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD zif_abapgit_object~exists.
|
METHOD zif_abapgit_object~exists.
|
||||||
DATA: lr_intf_aff_obj TYPE REF TO data,
|
DATA: lr_intf_aff_obj TYPE REF TO data,
|
||||||
lo_object_handler TYPE REF TO object,
|
lo_object_handler TYPE REF TO object,
|
||||||
|
|
|
@ -226,41 +226,34 @@ CLASS ltcl_aff_settings_deserialize IMPLEMENTATION.
|
||||||
is_item = ls_item
|
is_item = ls_item
|
||||||
iv_language = 'E'.
|
iv_language = 'E'.
|
||||||
|
|
||||||
TRY.
|
lo_settings_deserialize = lo_cut->create_aff_setting_deserialize( ).
|
||||||
lo_settings_deserialize = lo_cut->create_aff_setting_deserialize( ).
|
CALL METHOD lo_settings_deserialize->('IF_AFF_SETTINGS_DESERIALIZE~GET_ABAP_LANGUAGE_VERSION')
|
||||||
|
RECEIVING
|
||||||
|
result = lv_act_setting_abap_lv.
|
||||||
|
cl_abap_unit_assert=>assert_equals( msg = 'Unexpected ABAP language version in settings'
|
||||||
|
act = lv_act_setting_abap_lv
|
||||||
|
exp = iv_exp_setting_abap_lv ).
|
||||||
|
|
||||||
CALL METHOD lo_settings_deserialize->('IF_AFF_SETTINGS_DESERIALIZE~GET_ABAP_LANGUAGE_VERSION')
|
CALL METHOD lo_settings_deserialize->('IF_AFF_SETTINGS_DESERIALIZE~GET_VERSION')
|
||||||
RECEIVING
|
RECEIVING
|
||||||
result = lv_act_setting_abap_lv.
|
result = lv_act_setting_version.
|
||||||
cl_abap_unit_assert=>assert_equals( msg = 'Unexpected ABAP language version in settings'
|
cl_abap_unit_assert=>assert_equals( msg = 'Unexpected Version in settings'
|
||||||
act = lv_act_setting_abap_lv
|
act = lv_act_setting_version
|
||||||
exp = iv_exp_setting_abap_lv ).
|
exp = 'A' ).
|
||||||
|
|
||||||
CALL METHOD lo_settings_deserialize->('IF_AFF_SETTINGS_DESERIALIZE~GET_VERSION')
|
CALL METHOD lo_settings_deserialize->('IF_AFF_SETTINGS_DESERIALIZE~GET_LANGUAGE')
|
||||||
RECEIVING
|
RECEIVING
|
||||||
result = lv_act_setting_version.
|
result = lv_act_setting_language.
|
||||||
cl_abap_unit_assert=>assert_equals( msg = 'Unexpected Version in settings'
|
cl_abap_unit_assert=>assert_equals( msg = 'Unexpected Language in settings'
|
||||||
act = lv_act_setting_version
|
act = lv_act_setting_language
|
||||||
exp = 'A' ).
|
exp = 'E' ).
|
||||||
|
|
||||||
CALL METHOD lo_settings_deserialize->('IF_AFF_SETTINGS_DESERIALIZE~GET_LANGUAGE')
|
CALL METHOD lo_settings_deserialize->('IF_AFF_SETTINGS_DESERIALIZE~GET_USER')
|
||||||
RECEIVING
|
RECEIVING
|
||||||
result = lv_act_setting_language.
|
result = lv_act_setting_user.
|
||||||
cl_abap_unit_assert=>assert_equals( msg = 'Unexpected Language in settings'
|
cl_abap_unit_assert=>assert_equals( msg = 'Unexpected User in settings'
|
||||||
act = lv_act_setting_language
|
act = lv_act_setting_user
|
||||||
exp = 'E' ).
|
exp = sy-uname ).
|
||||||
|
|
||||||
CALL METHOD lo_settings_deserialize->('IF_AFF_SETTINGS_DESERIALIZE~GET_USER')
|
|
||||||
RECEIVING
|
|
||||||
result = lv_act_setting_user.
|
|
||||||
cl_abap_unit_assert=>assert_equals( msg = 'Unexpected User in settings'
|
|
||||||
act = lv_act_setting_user
|
|
||||||
exp = sy-uname ).
|
|
||||||
|
|
||||||
CATCH cx_root.
|
|
||||||
" System doesn't support AFF with ABAP language version
|
|
||||||
RETURN.
|
|
||||||
ENDTRY.
|
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
|
@ -1,46 +0,0 @@
|
||||||
CLASS zcl_abapgit_object_cota DEFINITION
|
|
||||||
PUBLIC
|
|
||||||
INHERITING FROM zcl_abapgit_object_common_aff
|
|
||||||
FINAL
|
|
||||||
CREATE PUBLIC .
|
|
||||||
|
|
||||||
PUBLIC SECTION.
|
|
||||||
METHODS zif_abapgit_object~changed_by REDEFINITION.
|
|
||||||
METHODS zif_abapgit_object~delete REDEFINITION.
|
|
||||||
PROTECTED SECTION.
|
|
||||||
PRIVATE SECTION.
|
|
||||||
ENDCLASS.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CLASS zcl_abapgit_object_cota IMPLEMENTATION.
|
|
||||||
|
|
||||||
METHOD zif_abapgit_object~changed_by.
|
|
||||||
DATA lx_error TYPE REF TO cx_root.
|
|
||||||
TRY.
|
|
||||||
SELECT SINGLE changedby FROM ('sapcontargethead') INTO rv_user
|
|
||||||
WHERE id = ms_item-obj_name AND version = 'I'.
|
|
||||||
|
|
||||||
IF rv_user IS INITIAL.
|
|
||||||
SELECT SINGLE changedby FROM ('sapcontargethead') INTO rv_user
|
|
||||||
WHERE id = ms_item-obj_name AND version = 'A'.
|
|
||||||
ENDIF.
|
|
||||||
CATCH cx_root INTO lx_error.
|
|
||||||
zcx_abapgit_exception=>raise_with_text( lx_error ).
|
|
||||||
ENDTRY.
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
METHOD zif_abapgit_object~delete.
|
|
||||||
DATA lx_error TYPE REF TO cx_root.
|
|
||||||
DATA lv_cota_name TYPE c LENGTH 30.
|
|
||||||
TRY.
|
|
||||||
lv_cota_name = ms_item-obj_name.
|
|
||||||
CALL METHOD ('CL_COTA_FACTORY')=>('DELETE_COTA')
|
|
||||||
EXPORTING
|
|
||||||
cota_name = lv_cota_name
|
|
||||||
korrnum = iv_transport.
|
|
||||||
CATCH cx_root INTO lx_error.
|
|
||||||
zcx_abapgit_exception=>raise_with_text( lx_error ).
|
|
||||||
ENDTRY.
|
|
||||||
ENDMETHOD.
|
|
||||||
ENDCLASS.
|
|
|
@ -1,16 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
|
|
||||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
|
||||||
<asx:values>
|
|
||||||
<VSEOCLASS>
|
|
||||||
<CLSNAME>ZCL_ABAPGIT_OBJECT_COTA</CLSNAME>
|
|
||||||
<LANGU>E</LANGU>
|
|
||||||
<DESCRIPT>abapGit - COTA - Communication Target</DESCRIPT>
|
|
||||||
<STATE>1</STATE>
|
|
||||||
<CLSCCINCL>X</CLSCCINCL>
|
|
||||||
<FIXPT>X</FIXPT>
|
|
||||||
<UNICODE>X</UNICODE>
|
|
||||||
</VSEOCLASS>
|
|
||||||
</asx:values>
|
|
||||||
</asx:abap>
|
|
||||||
</abapGit>
|
|
|
@ -1,68 +0,0 @@
|
||||||
CLASS zcl_abapgit_object_dras DEFINITION
|
|
||||||
PUBLIC
|
|
||||||
INHERITING FROM zcl_abapgit_object_common_aff
|
|
||||||
FINAL
|
|
||||||
CREATE PUBLIC .
|
|
||||||
|
|
||||||
PUBLIC SECTION.
|
|
||||||
METHODS zif_abapgit_object~changed_by REDEFINITION.
|
|
||||||
METHODS zif_abapgit_object~get_deserialize_steps REDEFINITION.
|
|
||||||
PROTECTED SECTION.
|
|
||||||
METHODS get_additional_extensions REDEFINITION.
|
|
||||||
PRIVATE SECTION.
|
|
||||||
ENDCLASS.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CLASS zcl_abapgit_object_dras IMPLEMENTATION.
|
|
||||||
METHOD zif_abapgit_object~changed_by.
|
|
||||||
|
|
||||||
DATA: lo_dras_handler TYPE REF TO object,
|
|
||||||
lo_dras_source_container TYPE REF TO object,
|
|
||||||
lv_object_key TYPE seu_objkey,
|
|
||||||
lv_exists TYPE abap_bool,
|
|
||||||
lx_error TYPE REF TO cx_root.
|
|
||||||
|
|
||||||
TRY.
|
|
||||||
lv_object_key = ms_item-obj_name.
|
|
||||||
CALL METHOD ('CL_DRAS_AFF_OBJECT_HANDLER')=>('GET_DDIC_HANDLER')
|
|
||||||
EXPORTING
|
|
||||||
object_key = lv_object_key
|
|
||||||
RECEIVING
|
|
||||||
handler = lo_dras_handler.
|
|
||||||
|
|
||||||
CALL METHOD lo_dras_handler->('IF_DD_DRAS_WB_HANDLER~CHECK_EXISTENCE')
|
|
||||||
EXPORTING
|
|
||||||
iv_as4local = 'A'
|
|
||||||
RECEIVING
|
|
||||||
rv_exists = lv_exists.
|
|
||||||
|
|
||||||
IF lv_exists = abap_true.
|
|
||||||
CALL METHOD lo_dras_handler->('IF_DD_DRAS_WB_HANDLER~GET_SOURCE_CONTAINER')
|
|
||||||
EXPORTING
|
|
||||||
iv_as4local = 'A'
|
|
||||||
RECEIVING
|
|
||||||
ro_result = lo_dras_source_container.
|
|
||||||
CALL METHOD lo_dras_source_container->('IF_DD_DRAS_SOURCE_CONTAINER~GET_AS4USER')
|
|
||||||
RECEIVING
|
|
||||||
rv_as4user = rv_user.
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
CATCH cx_root INTO lx_error.
|
|
||||||
zcx_abapgit_exception=>raise_with_text( lx_error ).
|
|
||||||
ENDTRY.
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
METHOD zif_abapgit_object~get_deserialize_steps.
|
|
||||||
APPEND zif_abapgit_object=>gc_step_id-ddic TO rt_steps.
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
METHOD get_additional_extensions.
|
|
||||||
DATA ls_additional_extension LIKE LINE OF rv_additional_extensions.
|
|
||||||
ls_additional_extension-extension = 'acds'.
|
|
||||||
CALL METHOD ('CL_CDS_AFF_FILE_NAME_MAPPER')=>for_cds
|
|
||||||
RECEIVING
|
|
||||||
result = ls_additional_extension-file_name_mapper.
|
|
||||||
APPEND ls_additional_extension TO rv_additional_extensions.
|
|
||||||
ENDMETHOD.
|
|
||||||
ENDCLASS.
|
|
|
@ -1,16 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
|
|
||||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
|
||||||
<asx:values>
|
|
||||||
<VSEOCLASS>
|
|
||||||
<CLSNAME>ZCL_ABAPGIT_OBJECT_DRAS</CLSNAME>
|
|
||||||
<LANGU>E</LANGU>
|
|
||||||
<DESCRIPT>abapGit - DRAS - CDS Aspect</DESCRIPT>
|
|
||||||
<STATE>1</STATE>
|
|
||||||
<CLSCCINCL>X</CLSCCINCL>
|
|
||||||
<FIXPT>X</FIXPT>
|
|
||||||
<UNICODE>X</UNICODE>
|
|
||||||
</VSEOCLASS>
|
|
||||||
</asx:values>
|
|
||||||
</asx:abap>
|
|
||||||
</abapGit>
|
|
|
@ -1,69 +0,0 @@
|
||||||
CLASS zcl_abapgit_object_dsfd DEFINITION
|
|
||||||
PUBLIC
|
|
||||||
INHERITING FROM zcl_abapgit_object_common_aff
|
|
||||||
FINAL
|
|
||||||
CREATE PUBLIC .
|
|
||||||
|
|
||||||
PUBLIC SECTION.
|
|
||||||
METHODS zif_abapgit_object~changed_by REDEFINITION.
|
|
||||||
METHODS zif_abapgit_object~get_deserialize_steps REDEFINITION.
|
|
||||||
PROTECTED SECTION.
|
|
||||||
METHODS get_additional_extensions REDEFINITION.
|
|
||||||
PRIVATE SECTION.
|
|
||||||
ENDCLASS.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CLASS zcl_abapgit_object_dsfd IMPLEMENTATION.
|
|
||||||
METHOD zif_abapgit_object~changed_by.
|
|
||||||
|
|
||||||
DATA: lo_dsfd_handler TYPE REF TO object,
|
|
||||||
lo_dsfd_source_container TYPE REF TO object,
|
|
||||||
lv_object_key TYPE seu_objkey,
|
|
||||||
lv_exists TYPE abap_bool,
|
|
||||||
lx_error TYPE REF TO cx_root.
|
|
||||||
|
|
||||||
TRY.
|
|
||||||
lv_object_key = ms_item-obj_name.
|
|
||||||
CALL METHOD ('CL_DSFD_AFF_OBJECT_HANDLER')=>('GET_DDIC_HANDLER')
|
|
||||||
EXPORTING
|
|
||||||
object_key = lv_object_key
|
|
||||||
RECEIVING
|
|
||||||
handler = lo_dsfd_handler.
|
|
||||||
|
|
||||||
CALL METHOD lo_dsfd_handler->('IF_DD_DSFD_WB_HANDLER~CHECK_EXISTENCE')
|
|
||||||
EXPORTING
|
|
||||||
iv_as4local = 'A'
|
|
||||||
RECEIVING
|
|
||||||
rv_exists = lv_exists.
|
|
||||||
|
|
||||||
IF lv_exists = abap_true.
|
|
||||||
CALL METHOD lo_dsfd_handler->('IF_DD_DSFD_WB_HANDLER~GET_SOURCE_CONTAINER')
|
|
||||||
EXPORTING
|
|
||||||
iv_as4local = 'A'
|
|
||||||
RECEIVING
|
|
||||||
ro_result = lo_dsfd_source_container.
|
|
||||||
|
|
||||||
CALL METHOD lo_dsfd_source_container->('IF_DD_DSFD_CONTAINER_SRC~GET_AS4USER')
|
|
||||||
RECEIVING
|
|
||||||
rv_as4user = rv_user.
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
CATCH cx_root INTO lx_error.
|
|
||||||
zcx_abapgit_exception=>raise_with_text( lx_error ).
|
|
||||||
ENDTRY.
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
METHOD zif_abapgit_object~get_deserialize_steps.
|
|
||||||
APPEND zif_abapgit_object=>gc_step_id-ddic TO rt_steps.
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
METHOD get_additional_extensions.
|
|
||||||
DATA ls_additional_extension LIKE LINE OF rv_additional_extensions.
|
|
||||||
ls_additional_extension-extension = 'acds'.
|
|
||||||
CALL METHOD ('CL_CDS_AFF_FILE_NAME_MAPPER')=>for_cds
|
|
||||||
RECEIVING
|
|
||||||
result = ls_additional_extension-file_name_mapper.
|
|
||||||
APPEND ls_additional_extension TO rv_additional_extensions.
|
|
||||||
ENDMETHOD.
|
|
||||||
ENDCLASS.
|
|
|
@ -1,16 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
|
|
||||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
|
||||||
<asx:values>
|
|
||||||
<VSEOCLASS>
|
|
||||||
<CLSNAME>ZCL_ABAPGIT_OBJECT_DSFD</CLSNAME>
|
|
||||||
<LANGU>E</LANGU>
|
|
||||||
<DESCRIPT>abapGit - DSFD - CDS Scalar Function Definition</DESCRIPT>
|
|
||||||
<STATE>1</STATE>
|
|
||||||
<CLSCCINCL>X</CLSCCINCL>
|
|
||||||
<FIXPT>X</FIXPT>
|
|
||||||
<UNICODE>X</UNICODE>
|
|
||||||
</VSEOCLASS>
|
|
||||||
</asx:values>
|
|
||||||
</asx:abap>
|
|
||||||
</abapGit>
|
|
|
@ -1,64 +0,0 @@
|
||||||
CLASS zcl_abapgit_object_dsfi DEFINITION
|
|
||||||
PUBLIC
|
|
||||||
INHERITING FROM zcl_abapgit_object_common_aff
|
|
||||||
FINAL
|
|
||||||
CREATE PUBLIC .
|
|
||||||
|
|
||||||
PUBLIC SECTION.
|
|
||||||
METHODS zif_abapgit_object~changed_by REDEFINITION.
|
|
||||||
METHODS zif_abapgit_object~get_deserialize_steps REDEFINITION.
|
|
||||||
PROTECTED SECTION.
|
|
||||||
PRIVATE SECTION.
|
|
||||||
ENDCLASS.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CLASS zcl_abapgit_object_dsfi IMPLEMENTATION.
|
|
||||||
METHOD zif_abapgit_object~changed_by.
|
|
||||||
|
|
||||||
DATA: lo_dsfi_handler TYPE REF TO object,
|
|
||||||
lo_dsfi_source_container TYPE REF TO object,
|
|
||||||
lv_object_key TYPE seu_objkey,
|
|
||||||
lv_exists TYPE abap_bool,
|
|
||||||
lx_error TYPE REF TO cx_root.
|
|
||||||
FIELD-SYMBOLS: <lv_active> TYPE any.
|
|
||||||
|
|
||||||
TRY.
|
|
||||||
lv_object_key = ms_item-obj_name.
|
|
||||||
CALL METHOD ('CL_DSFI_AFF_OBJECT_HANDLER')=>('GET_DDIC_HANDLER')
|
|
||||||
EXPORTING
|
|
||||||
object_key = lv_object_key
|
|
||||||
RECEIVING
|
|
||||||
handler = lo_dsfi_handler.
|
|
||||||
|
|
||||||
ASSIGN ('CE_DD_DSFI_AS4LOCAL=>EN_STATE-ACTIVE')
|
|
||||||
TO <lv_active>.
|
|
||||||
IF sy-subrc = 0.
|
|
||||||
CALL METHOD lo_dsfi_handler->('IF_DD_DSFI_WB_HANDLER~CHECK_EXISTENCE')
|
|
||||||
EXPORTING
|
|
||||||
iv_as4local = <lv_active>
|
|
||||||
RECEIVING
|
|
||||||
rv_exists = lv_exists.
|
|
||||||
|
|
||||||
IF lv_exists = abap_true.
|
|
||||||
CALL METHOD lo_dsfi_handler->('IF_DD_DSFI_WB_HANDLER~GET_SOURCE_CONTAINER')
|
|
||||||
EXPORTING
|
|
||||||
iv_as4local = <lv_active>
|
|
||||||
RECEIVING
|
|
||||||
ro_result = lo_dsfi_source_container.
|
|
||||||
|
|
||||||
CALL METHOD lo_dsfi_source_container->('IF_DD_DSFI_SRC_CONTAINER~GET_AS4USER')
|
|
||||||
RECEIVING
|
|
||||||
rv_result = rv_user.
|
|
||||||
ENDIF.
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
CATCH cx_root INTO lx_error.
|
|
||||||
zcx_abapgit_exception=>raise_with_text( lx_error ).
|
|
||||||
ENDTRY.
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
METHOD zif_abapgit_object~get_deserialize_steps.
|
|
||||||
APPEND zif_abapgit_object=>gc_step_id-ddic TO rt_steps.
|
|
||||||
ENDMETHOD.
|
|
||||||
ENDCLASS.
|
|
|
@ -1,16 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
|
|
||||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
|
||||||
<asx:values>
|
|
||||||
<VSEOCLASS>
|
|
||||||
<CLSNAME>ZCL_ABAPGIT_OBJECT_DSFI</CLSNAME>
|
|
||||||
<LANGU>E</LANGU>
|
|
||||||
<DESCRIPT>abapGit - DSFI - CDS Scalar Function Implementation</DESCRIPT>
|
|
||||||
<STATE>1</STATE>
|
|
||||||
<CLSCCINCL>X</CLSCCINCL>
|
|
||||||
<FIXPT>X</FIXPT>
|
|
||||||
<UNICODE>X</UNICODE>
|
|
||||||
</VSEOCLASS>
|
|
||||||
</asx:values>
|
|
||||||
</asx:abap>
|
|
||||||
</abapGit>
|
|
|
@ -1,38 +0,0 @@
|
||||||
CLASS zcl_abapgit_object_sajc DEFINITION
|
|
||||||
PUBLIC
|
|
||||||
INHERITING FROM zcl_abapgit_object_common_aff
|
|
||||||
FINAL
|
|
||||||
CREATE PUBLIC .
|
|
||||||
|
|
||||||
PUBLIC SECTION.
|
|
||||||
|
|
||||||
METHODS zif_abapgit_object~changed_by
|
|
||||||
REDEFINITION .
|
|
||||||
PROTECTED SECTION.
|
|
||||||
PRIVATE SECTION.
|
|
||||||
ENDCLASS.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CLASS ZCL_ABAPGIT_OBJECT_SAJC IMPLEMENTATION.
|
|
||||||
|
|
||||||
|
|
||||||
METHOD zif_abapgit_object~changed_by.
|
|
||||||
|
|
||||||
CONSTANTS lc_table_name TYPE tabname VALUE 'APJ_W_JCE_ROOT'.
|
|
||||||
|
|
||||||
SELECT SINGLE lst_ch_user_acct
|
|
||||||
FROM (lc_table_name)
|
|
||||||
INTO rv_user
|
|
||||||
WHERE job_catalog_entry_name = ms_item-obj_name
|
|
||||||
AND job_catalog_entry_version = 'I'.
|
|
||||||
|
|
||||||
IF rv_user IS INITIAL.
|
|
||||||
SELECT SINGLE lst_ch_user_acct
|
|
||||||
FROM (lc_table_name)
|
|
||||||
INTO rv_user
|
|
||||||
WHERE job_catalog_entry_name = ms_item-obj_name
|
|
||||||
AND job_catalog_entry_version = 'A'.
|
|
||||||
ENDIF.
|
|
||||||
ENDMETHOD.
|
|
||||||
ENDCLASS.
|
|
|
@ -1,16 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
|
|
||||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
|
||||||
<asx:values>
|
|
||||||
<VSEOCLASS>
|
|
||||||
<CLSNAME>ZCL_ABAPGIT_OBJECT_SAJC</CLSNAME>
|
|
||||||
<LANGU>E</LANGU>
|
|
||||||
<DESCRIPT>abapGit - SAJC - Application Job Catalog Entry</DESCRIPT>
|
|
||||||
<STATE>1</STATE>
|
|
||||||
<CLSCCINCL>X</CLSCCINCL>
|
|
||||||
<FIXPT>X</FIXPT>
|
|
||||||
<UNICODE>X</UNICODE>
|
|
||||||
</VSEOCLASS>
|
|
||||||
</asx:values>
|
|
||||||
</asx:abap>
|
|
||||||
</abapGit>
|
|
|
@ -1,39 +0,0 @@
|
||||||
CLASS zcl_abapgit_object_sajt DEFINITION
|
|
||||||
PUBLIC
|
|
||||||
INHERITING FROM zcl_abapgit_object_common_aff
|
|
||||||
FINAL
|
|
||||||
CREATE PUBLIC .
|
|
||||||
|
|
||||||
PUBLIC SECTION.
|
|
||||||
|
|
||||||
METHODS zif_abapgit_object~changed_by
|
|
||||||
REDEFINITION .
|
|
||||||
PROTECTED SECTION.
|
|
||||||
PRIVATE SECTION.
|
|
||||||
ENDCLASS.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CLASS ZCL_ABAPGIT_OBJECT_SAJT IMPLEMENTATION.
|
|
||||||
|
|
||||||
|
|
||||||
METHOD zif_abapgit_object~changed_by.
|
|
||||||
|
|
||||||
CONSTANTS lc_table_name TYPE tabname VALUE 'APJ_W_JT_ROOT'.
|
|
||||||
|
|
||||||
SELECT SINGLE lst_ch_user_acct
|
|
||||||
FROM (lc_table_name)
|
|
||||||
INTO rv_user
|
|
||||||
WHERE job_template_name = ms_item-obj_name
|
|
||||||
AND job_template_version = 'I'.
|
|
||||||
|
|
||||||
IF rv_user IS INITIAL.
|
|
||||||
SELECT SINGLE lst_ch_user_acct
|
|
||||||
FROM (lc_table_name)
|
|
||||||
INTO rv_user
|
|
||||||
WHERE job_template_name = ms_item-obj_name
|
|
||||||
AND job_template_version = 'A'.
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
ENDCLASS.
|
|
|
@ -1,16 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
|
|
||||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
|
||||||
<asx:values>
|
|
||||||
<VSEOCLASS>
|
|
||||||
<CLSNAME>ZCL_ABAPGIT_OBJECT_SAJT</CLSNAME>
|
|
||||||
<LANGU>E</LANGU>
|
|
||||||
<DESCRIPT>abapGit - SAJT - Application Job Template</DESCRIPT>
|
|
||||||
<STATE>1</STATE>
|
|
||||||
<CLSCCINCL>X</CLSCCINCL>
|
|
||||||
<FIXPT>X</FIXPT>
|
|
||||||
<UNICODE>X</UNICODE>
|
|
||||||
</VSEOCLASS>
|
|
||||||
</asx:values>
|
|
||||||
</asx:abap>
|
|
||||||
</abapGit>
|
|
|
@ -6,44 +6,13 @@ CLASS zcl_abapgit_object_smbc DEFINITION
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
METHODS zif_abapgit_object~changed_by REDEFINITION.
|
METHODS zif_abapgit_object~changed_by REDEFINITION.
|
||||||
METHODS constructor
|
|
||||||
IMPORTING
|
|
||||||
is_item TYPE zif_abapgit_definitions=>ty_item
|
|
||||||
iv_language TYPE spras
|
|
||||||
io_files TYPE REF TO zcl_abapgit_objects_files OPTIONAL
|
|
||||||
io_i18n_params TYPE REF TO zcl_abapgit_i18n_params OPTIONAL
|
|
||||||
RAISING
|
|
||||||
zcx_abapgit_type_not_supported.
|
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CLASS zcl_abapgit_object_smbc IMPLEMENTATION.
|
CLASS ZCL_ABAPGIT_OBJECT_SMBC IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD constructor.
|
|
||||||
|
|
||||||
DATA: lo_handler TYPE REF TO object,
|
|
||||||
lo_db_api TYPE REF TO object,
|
|
||||||
lr_data TYPE REF TO data.
|
|
||||||
|
|
||||||
super->constructor(
|
|
||||||
is_item = is_item
|
|
||||||
iv_language = iv_language
|
|
||||||
io_files = io_files
|
|
||||||
io_i18n_params = io_i18n_params ).
|
|
||||||
|
|
||||||
TRY.
|
|
||||||
CREATE OBJECT lo_handler TYPE ('CL_SMBC_AFF_OBJECT_HANDLER').
|
|
||||||
CREATE OBJECT lo_db_api TYPE ('CL_MBC_BUSINESS_CONFIG_DB').
|
|
||||||
CREATE DATA lr_data TYPE ('SMBC_CONFIG').
|
|
||||||
CATCH cx_sy_create_object_error
|
|
||||||
cx_sy_create_data_error.
|
|
||||||
RAISE EXCEPTION TYPE zcx_abapgit_type_not_supported EXPORTING obj_type = is_item-obj_type.
|
|
||||||
ENDTRY.
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
|
|
||||||
METHOD zif_abapgit_object~changed_by.
|
METHOD zif_abapgit_object~changed_by.
|
||||||
|
@ -55,12 +24,15 @@ CLASS zcl_abapgit_object_smbc IMPLEMENTATION.
|
||||||
|
|
||||||
FIELD-SYMBOLS: <ls_smbc_config> TYPE any,
|
FIELD-SYMBOLS: <ls_smbc_config> TYPE any,
|
||||||
<lv_smbc_changed_by> TYPE any.
|
<lv_smbc_changed_by> TYPE any.
|
||||||
|
TRY.
|
||||||
CREATE OBJECT lo_handler TYPE ('CL_SMBC_AFF_OBJECT_HANDLER').
|
CREATE OBJECT lo_handler TYPE ('CL_SMBC_AFF_OBJECT_HANDLER').
|
||||||
CREATE OBJECT lo_db_api TYPE ('CL_MBC_BUSINESS_CONFIG_DB').
|
CREATE OBJECT lo_db_api TYPE ('CL_MBC_BUSINESS_CONFIG_DB').
|
||||||
CREATE DATA lr_data TYPE ('SMBC_CONFIG').
|
CREATE DATA lr_data TYPE ('SMBC_CONFIG').
|
||||||
ASSIGN lr_data->* TO <ls_smbc_config>.
|
ASSIGN lr_data->* TO <ls_smbc_config>.
|
||||||
|
CATCH cx_sy_create_object_error
|
||||||
|
cx_sy_create_data_error.
|
||||||
|
zcx_abapgit_exception=>raise( 'SMBC not supported' ).
|
||||||
|
ENDTRY.
|
||||||
lv_technical_id = ms_item-obj_name.
|
lv_technical_id = ms_item-obj_name.
|
||||||
CALL METHOD lo_db_api->('IF_MBC_BUSINESS_CONFIG_DB~READ')
|
CALL METHOD lo_db_api->('IF_MBC_BUSINESS_CONFIG_DB~READ')
|
||||||
EXPORTING
|
EXPORTING
|
||||||
|
|
|
@ -1,61 +0,0 @@
|
||||||
CLASS zcl_abapgit_object_swcr DEFINITION
|
|
||||||
PUBLIC
|
|
||||||
INHERITING FROM zcl_abapgit_object_common_aff
|
|
||||||
FINAL
|
|
||||||
CREATE PUBLIC .
|
|
||||||
|
|
||||||
PUBLIC SECTION.
|
|
||||||
METHODS: zif_abapgit_object~changed_by REDEFINITION.
|
|
||||||
PROTECTED SECTION.
|
|
||||||
PRIVATE SECTION.
|
|
||||||
ENDCLASS.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CLASS zcl_abapgit_object_swcr IMPLEMENTATION.
|
|
||||||
METHOD zif_abapgit_object~changed_by.
|
|
||||||
|
|
||||||
DATA: lr_data TYPE REF TO data,
|
|
||||||
lo_swcr_db_api TYPE REF TO object,
|
|
||||||
lv_name TYPE c LENGTH 30,
|
|
||||||
lx_error TYPE REF TO cx_root.
|
|
||||||
|
|
||||||
FIELD-SYMBOLS: <ls_swcr_header> TYPE any,
|
|
||||||
<ls_swcr_user> TYPE any.
|
|
||||||
|
|
||||||
TRY.
|
|
||||||
CALL METHOD ('CL_SCR_DB_ACCESS')=>('CREATE_INSTANCE')
|
|
||||||
RECEIVING
|
|
||||||
result = lo_swcr_db_api.
|
|
||||||
CREATE DATA lr_data TYPE ('IF_SCR_TYPES=>TY_S_HEADER').
|
|
||||||
ASSIGN lr_data->* TO <ls_swcr_header>.
|
|
||||||
|
|
||||||
lv_name = ms_item-obj_name.
|
|
||||||
|
|
||||||
TRY.
|
|
||||||
CALL METHOD lo_swcr_db_api->('IF_SCR_DB_ACCESS~READ_HEADER')
|
|
||||||
EXPORTING
|
|
||||||
software_component = lv_name
|
|
||||||
version = 'A'
|
|
||||||
RECEIVING
|
|
||||||
result = <ls_swcr_header>.
|
|
||||||
CATCH cx_root. " no active version found, try to find an inactive version
|
|
||||||
CALL METHOD lo_swcr_db_api->('IF_SCR_DB_ACCESS~READ_HEADER')
|
|
||||||
EXPORTING
|
|
||||||
software_component = lv_name
|
|
||||||
version = 'I'
|
|
||||||
RECEIVING
|
|
||||||
result = <ls_swcr_header>.
|
|
||||||
ENDTRY.
|
|
||||||
|
|
||||||
ASSIGN COMPONENT 'LAST_CHANGED_BY' OF STRUCTURE <ls_swcr_header> TO <ls_swcr_user>.
|
|
||||||
rv_user = <ls_swcr_user>.
|
|
||||||
|
|
||||||
CATCH cx_root INTO lx_error.
|
|
||||||
zcx_abapgit_exception=>raise( iv_text = lx_error->get_text( )
|
|
||||||
ix_previous = lx_error ).
|
|
||||||
ENDTRY.
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
ENDCLASS.
|
|
|
@ -1,16 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
|
|
||||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
|
||||||
<asx:values>
|
|
||||||
<VSEOCLASS>
|
|
||||||
<CLSNAME>ZCL_ABAPGIT_OBJECT_SWCR</CLSNAME>
|
|
||||||
<LANGU>E</LANGU>
|
|
||||||
<DESCRIPT>abapGit - SWCR - Software Component Relations</DESCRIPT>
|
|
||||||
<STATE>1</STATE>
|
|
||||||
<CLSCCINCL>X</CLSCCINCL>
|
|
||||||
<FIXPT>X</FIXPT>
|
|
||||||
<UNICODE>X</UNICODE>
|
|
||||||
</VSEOCLASS>
|
|
||||||
</asx:values>
|
|
||||||
</asx:abap>
|
|
||||||
</abapGit>
|
|
|
@ -1,85 +0,0 @@
|
||||||
CLASS zcl_abapgit_object_uiad DEFINITION
|
|
||||||
PUBLIC
|
|
||||||
INHERITING FROM zcl_abapgit_object_common_aff
|
|
||||||
FINAL
|
|
||||||
CREATE PUBLIC .
|
|
||||||
|
|
||||||
PUBLIC SECTION.
|
|
||||||
|
|
||||||
METHODS zif_abapgit_object~changed_by
|
|
||||||
REDEFINITION .
|
|
||||||
METHODS constructor
|
|
||||||
IMPORTING
|
|
||||||
is_item TYPE zif_abapgit_definitions=>ty_item
|
|
||||||
iv_language TYPE spras
|
|
||||||
io_files TYPE REF TO zcl_abapgit_objects_files OPTIONAL
|
|
||||||
io_i18n_params TYPE REF TO zcl_abapgit_i18n_params OPTIONAL
|
|
||||||
RAISING
|
|
||||||
zcx_abapgit_type_not_supported.
|
|
||||||
PROTECTED SECTION.
|
|
||||||
PRIVATE SECTION.
|
|
||||||
ENDCLASS.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CLASS zcl_abapgit_object_uiad IMPLEMENTATION.
|
|
||||||
|
|
||||||
METHOD constructor.
|
|
||||||
|
|
||||||
DATA: lo_db_api TYPE REF TO object,
|
|
||||||
lr_data TYPE REF TO data.
|
|
||||||
|
|
||||||
super->constructor(
|
|
||||||
is_item = is_item
|
|
||||||
iv_language = iv_language
|
|
||||||
io_files = io_files
|
|
||||||
io_i18n_params = io_i18n_params ).
|
|
||||||
|
|
||||||
TRY.
|
|
||||||
CALL METHOD ('CL_SUI_UIAD_DB_ACCESS')=>('GET_INSTANCE')
|
|
||||||
RECEIVING
|
|
||||||
ro_instance = lo_db_api.
|
|
||||||
CREATE DATA lr_data TYPE ('CL_BLUE_AFF_WB_ACCESS=>TY_METADATA').
|
|
||||||
CATCH cx_sy_dyn_call_error
|
|
||||||
cx_sy_create_data_error.
|
|
||||||
RAISE EXCEPTION TYPE zcx_abapgit_type_not_supported EXPORTING obj_type = is_item-obj_type.
|
|
||||||
ENDTRY.
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
|
|
||||||
METHOD zif_abapgit_object~changed_by.
|
|
||||||
|
|
||||||
DATA: lo_db_api TYPE REF TO object,
|
|
||||||
lr_data TYPE REF TO data,
|
|
||||||
lv_object_key TYPE c LENGTH 32,
|
|
||||||
lx_root TYPE REF TO cx_root.
|
|
||||||
|
|
||||||
FIELD-SYMBOLS: <ls_metadata> TYPE any,
|
|
||||||
<lv_changed_by> TYPE any.
|
|
||||||
|
|
||||||
CALL METHOD ('CL_SUI_UIAD_DB_ACCESS')=>('GET_INSTANCE')
|
|
||||||
RECEIVING
|
|
||||||
ro_instance = lo_db_api.
|
|
||||||
CREATE DATA lr_data TYPE ('CL_BLUE_AFF_WB_ACCESS=>TY_METADATA').
|
|
||||||
ASSIGN lr_data->* TO <ls_metadata>.
|
|
||||||
|
|
||||||
TRY.
|
|
||||||
lv_object_key = ms_item-obj_name.
|
|
||||||
CALL METHOD lo_db_api->('IF_SUI_UIAD_DB_ACCESS~READ_WB_METADATA')
|
|
||||||
EXPORTING
|
|
||||||
iv_id = lv_object_key
|
|
||||||
iv_version = 'A'
|
|
||||||
iv_language = mv_language
|
|
||||||
RECEIVING
|
|
||||||
rs_metadata = <ls_metadata>.
|
|
||||||
|
|
||||||
ASSIGN COMPONENT 'CHANGED_BY' OF STRUCTURE <ls_metadata> TO <lv_changed_by>.
|
|
||||||
rv_user = <lv_changed_by>.
|
|
||||||
|
|
||||||
CATCH cx_root INTO lx_root.
|
|
||||||
zcx_abapgit_exception=>raise_with_text( lx_root ).
|
|
||||||
ENDTRY.
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
ENDCLASS.
|
|
|
@ -1,16 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
|
|
||||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
|
||||||
<asx:values>
|
|
||||||
<VSEOCLASS>
|
|
||||||
<CLSNAME>ZCL_ABAPGIT_OBJECT_UIAD</CLSNAME>
|
|
||||||
<LANGU>E</LANGU>
|
|
||||||
<DESCRIPT>abapGit - UIAD - Launchpad App Descriptor Item</DESCRIPT>
|
|
||||||
<STATE>1</STATE>
|
|
||||||
<CLSCCINCL>X</CLSCCINCL>
|
|
||||||
<FIXPT>X</FIXPT>
|
|
||||||
<UNICODE>X</UNICODE>
|
|
||||||
</VSEOCLASS>
|
|
||||||
</asx:values>
|
|
||||||
</asx:abap>
|
|
||||||
</abapGit>
|
|
|
@ -8,44 +8,13 @@ CLASS zcl_abapgit_object_uipg DEFINITION
|
||||||
|
|
||||||
METHODS zif_abapgit_object~changed_by
|
METHODS zif_abapgit_object~changed_by
|
||||||
REDEFINITION .
|
REDEFINITION .
|
||||||
METHODS constructor
|
|
||||||
IMPORTING
|
|
||||||
is_item TYPE zif_abapgit_definitions=>ty_item
|
|
||||||
iv_language TYPE spras
|
|
||||||
io_files TYPE REF TO zcl_abapgit_objects_files OPTIONAL
|
|
||||||
io_i18n_params TYPE REF TO zcl_abapgit_i18n_params OPTIONAL
|
|
||||||
RAISING
|
|
||||||
zcx_abapgit_type_not_supported.
|
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CLASS zcl_abapgit_object_uipg IMPLEMENTATION.
|
CLASS ZCL_ABAPGIT_OBJECT_UIPG IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD constructor.
|
|
||||||
|
|
||||||
DATA: lo_db_api TYPE REF TO object,
|
|
||||||
lr_data TYPE REF TO data.
|
|
||||||
|
|
||||||
super->constructor(
|
|
||||||
is_item = is_item
|
|
||||||
iv_language = iv_language
|
|
||||||
io_files = io_files
|
|
||||||
io_i18n_params = io_i18n_params ).
|
|
||||||
|
|
||||||
TRY.
|
|
||||||
CALL METHOD ('/UI2/CL_UIPG_DB_ACCESS')=>('GET_INSTANCE')
|
|
||||||
RECEIVING
|
|
||||||
ro_instance = lo_db_api.
|
|
||||||
CREATE DATA lr_data TYPE ('CL_BLUE_AFF_WB_ACCESS=>TY_METADATA').
|
|
||||||
CATCH cx_sy_dyn_call_error
|
|
||||||
cx_sy_create_data_error.
|
|
||||||
RAISE EXCEPTION TYPE zcx_abapgit_type_not_supported EXPORTING obj_type = is_item-obj_type.
|
|
||||||
ENDTRY.
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
|
|
||||||
METHOD zif_abapgit_object~changed_by.
|
METHOD zif_abapgit_object~changed_by.
|
||||||
|
|
|
@ -8,42 +8,13 @@ CLASS zcl_abapgit_object_uist DEFINITION
|
||||||
|
|
||||||
METHODS zif_abapgit_object~changed_by
|
METHODS zif_abapgit_object~changed_by
|
||||||
REDEFINITION .
|
REDEFINITION .
|
||||||
METHODS constructor
|
|
||||||
IMPORTING
|
|
||||||
is_item TYPE zif_abapgit_definitions=>ty_item
|
|
||||||
iv_language TYPE spras
|
|
||||||
io_files TYPE REF TO zcl_abapgit_objects_files OPTIONAL
|
|
||||||
io_i18n_params TYPE REF TO zcl_abapgit_i18n_params OPTIONAL
|
|
||||||
RAISING
|
|
||||||
zcx_abapgit_type_not_supported.
|
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CLASS zcl_abapgit_object_uist IMPLEMENTATION.
|
CLASS ZCL_ABAPGIT_OBJECT_UIST IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD constructor.
|
|
||||||
|
|
||||||
DATA: lo_db_api TYPE REF TO object,
|
|
||||||
lr_data TYPE REF TO data.
|
|
||||||
|
|
||||||
super->constructor(
|
|
||||||
is_item = is_item
|
|
||||||
iv_language = iv_language
|
|
||||||
io_files = io_files
|
|
||||||
io_i18n_params = io_i18n_params ).
|
|
||||||
|
|
||||||
TRY.
|
|
||||||
CREATE OBJECT lo_db_api TYPE ('/UI2/CL_UIST_SVAL_SQL').
|
|
||||||
CREATE DATA lr_data TYPE ('CL_BLUE_AFF_WB_ACCESS=>TY_METADATA').
|
|
||||||
CATCH cx_sy_create_object_error
|
|
||||||
cx_sy_create_data_error.
|
|
||||||
RAISE EXCEPTION TYPE zcx_abapgit_type_not_supported EXPORTING obj_type = is_item-obj_type.
|
|
||||||
ENDTRY.
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
|
|
||||||
METHOD zif_abapgit_object~changed_by.
|
METHOD zif_abapgit_object~changed_by.
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user