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
|
||||||
-------------------
|
-------------------
|
||||||
|
|
||||||
|
|
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.
|
||||||
|
|
||||||
|
|
||||||
|
@ -61,68 +60,35 @@ 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,
|
||||||
|
ls_key TYPE seoclskey,
|
||||||
lt_implementing TYPE seor_implementing_keys,
|
lt_implementing TYPE seor_implementing_keys,
|
||||||
ls_implementing LIKE LINE OF lt_implementing,
|
ls_implementing LIKE LINE OF lt_implementing.
|
||||||
lt_interf TYPE abap_intfdescr_tab,
|
|
||||||
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
|
|
||||||
EXCEPTIONS
|
|
||||||
type_not_found = 1
|
|
||||||
OTHERS = 2 ).
|
|
||||||
|
|
||||||
IF sy-subrc = 0 AND lr_typedescr IS BOUND.
|
|
||||||
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.
|
INSERT ls_method INTO TABLE rt_methods.
|
||||||
ENDIF.
|
|
||||||
ENDIF.
|
|
||||||
ENDIF.
|
|
||||||
ENDLOOP.
|
|
||||||
|
|
||||||
ELSE.
|
ls_key-clsname = 'ZIF_ABAPGIT_BACKGROUND'.
|
||||||
" Assume the developer version runs.
|
|
||||||
CALL FUNCTION 'SEO_INTERFACE_IMPLEM_GET_ALL'
|
CALL FUNCTION 'SEO_INTERFACE_IMPLEM_GET_ALL'
|
||||||
EXPORTING
|
EXPORTING
|
||||||
intkey = c_interface
|
intkey = ls_key
|
||||||
IMPORTING
|
IMPORTING
|
||||||
impkeys = lt_implementing
|
impkeys = lt_implementing
|
||||||
EXCEPTIONS
|
EXCEPTIONS
|
||||||
not_existing = 1
|
not_existing = 1
|
||||||
OTHERS = 2.
|
OTHERS = 2 ##FM_SUBRC_OK.
|
||||||
IF sy-subrc = 0.
|
|
||||||
LOOP AT lt_implementing INTO ls_implementing.
|
LOOP AT lt_implementing INTO ls_implementing.
|
||||||
ls_method-class = ls_implementing-clsname.
|
ls_method-class = ls_implementing-clsname.
|
||||||
INSERT ls_method INTO TABLE rt_methods.
|
INSERT ls_method INTO TABLE rt_methods.
|
||||||
ENDLOOP.
|
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,10 +101,9 @@ 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,
|
||||||
|
@ -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,7 +27,7 @@ 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 .
|
||||||
|
@ -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,12 +172,12 @@ 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.
|
||||||
|
|
||||||
|
@ -212,7 +212,7 @@ 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,7 +22,7 @@ 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
|
||||||
|
@ -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,7 +99,7 @@ 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,7 +156,7 @@ 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 ).
|
||||||
|
|
||||||
|
|
|
@ -18,7 +18,7 @@ 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
|
||||||
|
|
|
@ -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.
|
|
||||||
COLLECT ls_tlock-trkorr INTO lt_transports.
|
|
||||||
ENDLOOP.
|
|
||||||
|
|
||||||
IF lines( lt_transports ) = 1.
|
|
||||||
rv_transport = lv_transport_request.
|
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.
|
||||||
ELSE.
|
|
||||||
lv_request = zif_abapgit_definitions=>c_multiple_transports.
|
|
||||||
EXIT.
|
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,7 +62,7 @@ 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.
|
||||||
|
|
||||||
|
|
|
@ -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>
|
|
205
src/env/zcl_abapgit_environment.clas.abap
vendored
205
src/env/zcl_abapgit_environment.clas.abap
vendored
|
@ -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.
|
||||||
|
|
196
src/env/zcl_abapgit_user_record.clas.abap
vendored
196
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(
|
CALL FUNCTION 'SUSR_USER_ADDRESS_READ'
|
||||||
EXPORTING
|
EXPORTING
|
||||||
iv_user = iv_user
|
user_name = iv_username
|
||||||
IMPORTING
|
IMPORTING
|
||||||
ev_fullname = rs_user-name
|
user_address = ls_user_address
|
||||||
ev_email = rs_user-email ).
|
EXCEPTIONS
|
||||||
CATCH zcx_abapgit_exception.
|
user_address_not_found = 1
|
||||||
" Could not find user, try to get from other clients
|
OTHERS = 2.
|
||||||
rs_user = get_user_dtls_from_other_clnt( iv_user ).
|
IF sy-subrc = 0.
|
||||||
ENDTRY.
|
rv_title = ls_user_address-name_text.
|
||||||
|
ENDIF.
|
||||||
rs_user-user = iv_user.
|
|
||||||
INSERT rs_user INTO TABLE gt_user.
|
|
||||||
|
|
||||||
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,7 +317,7 @@ 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 ).
|
||||||
|
@ -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.
|
||||||
|
@ -454,7 +442,7 @@ CLASS zcl_abapgit_exit IMPLEMENTATION.
|
||||||
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.
|
||||||
|
|
||||||
|
|
|
@ -82,7 +82,6 @@ INTERFACE zif_abapgit_git_definitions
|
||||||
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,7 +7,7 @@ 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
|
||||||
|
@ -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.
|
||||||
|
@ -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,7 +50,7 @@ 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
|
||||||
|
@ -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:
|
||||||
|
@ -80,25 +80,6 @@ CLASS lcl_utils DEFINITION FINAL.
|
||||||
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,7 +188,7 @@ 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
|
||||||
|
@ -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 ...
|
||||||
|
|
||||||
|
@ -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.
|
||||||
|
@ -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.
|
||||||
|
|
|
@ -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 =
|
||||||
|
@ -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.
|
||||||
|
@ -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.
|
||||||
|
@ -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
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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.
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
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
|
||||||
|
|
||||||
|
|
|
@ -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>
|
|
|
@ -10,31 +10,26 @@ CLASS zcl_abapgit_object_cdbo DEFINITION
|
||||||
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
|
|
||||||
!io_i18n_params TYPE REF TO zcl_abapgit_i18n_params OPTIONAL
|
|
||||||
RAISING
|
RAISING
|
||||||
zcx_abapgit_exception .
|
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,9 +226,7 @@ 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')
|
CALL METHOD lo_settings_deserialize->('IF_AFF_SETTINGS_DESERIALIZE~GET_ABAP_LANGUAGE_VERSION')
|
||||||
RECEIVING
|
RECEIVING
|
||||||
result = lv_act_setting_abap_lv.
|
result = lv_act_setting_abap_lv.
|
||||||
|
@ -257,11 +255,6 @@ CLASS ltcl_aff_settings_deserialize IMPLEMENTATION.
|
||||||
act = lv_act_setting_user
|
act = lv_act_setting_user
|
||||||
exp = sy-uname ).
|
exp = sy-uname ).
|
||||||
|
|
||||||
CATCH cx_root.
|
|
||||||
" System doesn't support AFF with ABAP language version
|
|
||||||
RETURN.
|
|
||||||
ENDTRY.
|
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD abap_language_version_standard.
|
METHOD abap_language_version_standard.
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -61,7 +61,7 @@ CLASS zcl_abapgit_dependencies IMPLEMENTATION.
|
||||||
INSERT ls_ddls_name INTO TABLE lt_ddls_name.
|
INSERT ls_ddls_name INTO TABLE lt_ddls_name.
|
||||||
|
|
||||||
PERFORM ('DDLS_GET_DEP') IN PROGRAM ('RADMASDL')
|
PERFORM ('DDLS_GET_DEP') IN PROGRAM ('RADMASDL')
|
||||||
TABLES lt_ddls_name rt_dependency ##PERF_NO_FORM.
|
TABLES lt_ddls_name rt_dependency.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
@ -119,7 +119,7 @@ CLASS zcl_abapgit_dependencies IMPLEMENTATION.
|
||||||
" AUTH after DCLS
|
" AUTH after DCLS
|
||||||
<ls_tadir>-korrnum = '715000'.
|
<ls_tadir>-korrnum = '715000'.
|
||||||
WHEN 'SUSH'.
|
WHEN 'SUSH'.
|
||||||
" SUSH after SUSC and SRVB
|
" SUSH after SUSC
|
||||||
<ls_tadir>-korrnum = '712000'.
|
<ls_tadir>-korrnum = '712000'.
|
||||||
WHEN 'SUSC'.
|
WHEN 'SUSC'.
|
||||||
" SUSC after SUSO
|
" SUSC after SUSO
|
||||||
|
@ -130,14 +130,6 @@ CLASS zcl_abapgit_dependencies IMPLEMENTATION.
|
||||||
WHEN 'DCLS'.
|
WHEN 'DCLS'.
|
||||||
" AUTH and SUSO after DCLS
|
" AUTH and SUSO after DCLS
|
||||||
<ls_tadir>-korrnum = '705000'.
|
<ls_tadir>-korrnum = '705000'.
|
||||||
WHEN 'G4BA' OR 'G4BS' OR 'IWMO' OR 'IWSV' OR 'IWVB'.
|
|
||||||
" after SRVB
|
|
||||||
<ls_tadir>-korrnum = '610000'.
|
|
||||||
WHEN 'SRVB'.
|
|
||||||
" after SRVD
|
|
||||||
<ls_tadir>-korrnum = '600500'.
|
|
||||||
WHEN 'SRVD'.
|
|
||||||
<ls_tadir>-korrnum = '600000'.
|
|
||||||
WHEN 'IASP'.
|
WHEN 'IASP'.
|
||||||
<ls_tadir>-korrnum = '552000'.
|
<ls_tadir>-korrnum = '552000'.
|
||||||
WHEN 'IARP'.
|
WHEN 'IARP'.
|
||||||
|
|
|
@ -75,10 +75,6 @@ CLASS ltcl_sap_package IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD zif_abapgit_sap_package~get. "##needed
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
METHOD zif_abapgit_sap_package~exists. "##needed
|
METHOD zif_abapgit_sap_package~exists. "##needed
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
|
@ -6,7 +6,7 @@ CLASS zcl_abapgit_file_deserialize DEFINITION
|
||||||
|
|
||||||
CLASS-METHODS get_results
|
CLASS-METHODS get_results
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!ii_repo TYPE REF TO zif_abapgit_repo
|
!io_repo TYPE REF TO zcl_abapgit_repo
|
||||||
!ii_log TYPE REF TO zif_abapgit_log OPTIONAL
|
!ii_log TYPE REF TO zif_abapgit_log OPTIONAL
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(rt_results) TYPE zif_abapgit_definitions=>ty_results_tt
|
VALUE(rt_results) TYPE zif_abapgit_definitions=>ty_results_tt
|
||||||
|
@ -139,7 +139,7 @@ CLASS zcl_abapgit_file_deserialize IMPLEMENTATION.
|
||||||
DATA lt_results TYPE zif_abapgit_definitions=>ty_results_tt.
|
DATA lt_results TYPE zif_abapgit_definitions=>ty_results_tt.
|
||||||
|
|
||||||
lt_results = filter_files_to_deserialize(
|
lt_results = filter_files_to_deserialize(
|
||||||
it_results = zcl_abapgit_repo_status=>calculate( ii_repo )
|
it_results = zcl_abapgit_repo_status=>calculate( io_repo )
|
||||||
ii_log = ii_log ).
|
ii_log = ii_log ).
|
||||||
|
|
||||||
rt_results = prioritize_deser(
|
rt_results = prioritize_deser(
|
||||||
|
@ -214,9 +214,6 @@ CLASS zcl_abapgit_file_deserialize IMPLEMENTATION.
|
||||||
DELETE lt_requires WHERE obj_type <> 'IASP'
|
DELETE lt_requires WHERE obj_type <> 'IASP'
|
||||||
AND obj_type <> 'PROG'
|
AND obj_type <> 'PROG'
|
||||||
AND obj_type <> 'IARP'.
|
AND obj_type <> 'IARP'.
|
||||||
WHEN 'IDOC' OR 'IEXT'.
|
|
||||||
lt_requires = lt_items.
|
|
||||||
DELETE lt_requires WHERE obj_type <> 'TABL'.
|
|
||||||
WHEN 'DCLS'.
|
WHEN 'DCLS'.
|
||||||
lt_requires = lt_items.
|
lt_requires = lt_items.
|
||||||
DELETE lt_requires WHERE obj_type <> 'DDLS'.
|
DELETE lt_requires WHERE obj_type <> 'DDLS'.
|
||||||
|
@ -248,15 +245,6 @@ CLASS zcl_abapgit_file_deserialize IMPLEMENTATION.
|
||||||
WHEN 'ENSC'.
|
WHEN 'ENSC'.
|
||||||
lt_requires = lt_items.
|
lt_requires = lt_items.
|
||||||
DELETE lt_requires WHERE obj_type <> 'ENHS'.
|
DELETE lt_requires WHERE obj_type <> 'ENHS'.
|
||||||
WHEN 'IWMO' OR 'IWSV' OR 'IWVB'.
|
|
||||||
lt_requires = lt_items.
|
|
||||||
DELETE lt_requires WHERE obj_type <> 'SRVB'.
|
|
||||||
WHEN 'SUSH'.
|
|
||||||
lt_requires = lt_items.
|
|
||||||
DELETE lt_requires WHERE obj_type <> 'SRVB' AND obj_type <> 'HTTP'.
|
|
||||||
WHEN 'SRVB'.
|
|
||||||
lt_requires = lt_items.
|
|
||||||
DELETE lt_requires WHERE obj_type <> 'SRVD'.
|
|
||||||
ENDCASE.
|
ENDCASE.
|
||||||
* TODO: END extract to object handler method
|
* TODO: END extract to object handler method
|
||||||
|
|
||||||
|
|
|
@ -112,15 +112,6 @@ CLASS zcl_abapgit_filename_logic DEFINITION
|
||||||
RAISING
|
RAISING
|
||||||
zcx_abapgit_exception.
|
zcx_abapgit_exception.
|
||||||
|
|
||||||
CLASS-METHODS get_lang_and_ext
|
|
||||||
IMPORTING
|
|
||||||
iv_filename TYPE string
|
|
||||||
EXPORTING
|
|
||||||
ev_lang TYPE laiso
|
|
||||||
ev_ext TYPE string
|
|
||||||
RAISING
|
|
||||||
zcx_abapgit_exception.
|
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
@ -193,7 +184,6 @@ CLASS zcl_abapgit_filename_logic IMPLEMENTATION.
|
||||||
|
|
||||||
DATA lo_dot TYPE REF TO zcl_abapgit_dot_abapgit.
|
DATA lo_dot TYPE REF TO zcl_abapgit_dot_abapgit.
|
||||||
|
|
||||||
CLEAR: es_item, ev_lang, ev_ext.
|
|
||||||
lo_dot = zcl_abapgit_dot_abapgit=>build_default( ).
|
lo_dot = zcl_abapgit_dot_abapgit=>build_default( ).
|
||||||
|
|
||||||
file_to_object(
|
file_to_object(
|
||||||
|
@ -204,12 +194,8 @@ CLASS zcl_abapgit_filename_logic IMPLEMENTATION.
|
||||||
IMPORTING
|
IMPORTING
|
||||||
es_item = es_item ).
|
es_item = es_item ).
|
||||||
|
|
||||||
get_lang_and_ext(
|
FIND FIRST OCCURRENCE OF REGEX 'i18n\.([^.]{2})\.([^.]+)$' IN iv_filename
|
||||||
EXPORTING
|
SUBMATCHES ev_lang ev_ext ##SUBRC_OK.
|
||||||
iv_filename = iv_filename
|
|
||||||
IMPORTING
|
|
||||||
ev_lang = ev_lang
|
|
||||||
ev_ext = ev_ext ).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
@ -318,17 +304,15 @@ CLASS zcl_abapgit_filename_logic IMPLEMENTATION.
|
||||||
METHOD object_to_file.
|
METHOD object_to_file.
|
||||||
|
|
||||||
DATA lv_obj_name TYPE string.
|
DATA lv_obj_name TYPE string.
|
||||||
DATA lv_obj_type TYPE string.
|
|
||||||
DATA lv_nb_of_slash TYPE string.
|
DATA lv_nb_of_slash TYPE string.
|
||||||
|
|
||||||
" Get escaped object name
|
" Get escaped object name
|
||||||
lv_obj_name = to_lower( name_escape( is_item-obj_name ) ).
|
lv_obj_name = to_lower( name_escape( is_item-obj_name ) ).
|
||||||
lv_obj_type = to_lower( is_item-obj_type ).
|
|
||||||
|
|
||||||
IF iv_extra IS INITIAL.
|
IF iv_extra IS INITIAL.
|
||||||
CONCATENATE lv_obj_name '.' lv_obj_type INTO rv_filename.
|
CONCATENATE lv_obj_name '.' is_item-obj_type INTO rv_filename.
|
||||||
ELSE.
|
ELSE.
|
||||||
CONCATENATE lv_obj_name '.' lv_obj_type '.' iv_extra INTO rv_filename.
|
CONCATENATE lv_obj_name '.' is_item-obj_type '.' iv_extra INTO rv_filename.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
IF iv_ext IS NOT INITIAL.
|
IF iv_ext IS NOT INITIAL.
|
||||||
|
@ -360,60 +344,17 @@ CLASS zcl_abapgit_filename_logic IMPLEMENTATION.
|
||||||
REPLACE ALL OCCURRENCES OF '/' IN rv_filename WITH '#'.
|
REPLACE ALL OCCURRENCES OF '/' IN rv_filename WITH '#'.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
IF iv_ext = 'properties'.
|
|
||||||
RETURN.
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
TRANSLATE rv_filename TO LOWER CASE.
|
TRANSLATE rv_filename TO LOWER CASE.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD object_to_i18n_file.
|
METHOD object_to_i18n_file.
|
||||||
DATA: lv_langu_sap1 TYPE sy-langu,
|
|
||||||
lv_langu_bcp47 TYPE string.
|
|
||||||
|
|
||||||
lv_langu_sap1 = zcl_abapgit_convert=>language_sap2_to_sap1( to_upper( iv_lang ) ).
|
|
||||||
lv_langu_bcp47 = zcl_abapgit_convert=>language_sap1_to_bcp47( lv_langu_sap1 ).
|
|
||||||
|
|
||||||
rv_filename = object_to_file(
|
rv_filename = object_to_file(
|
||||||
is_item = is_item
|
is_item = is_item
|
||||||
iv_extra = |i18n.{ lv_langu_bcp47 }|
|
iv_extra = |i18n.{ iv_lang }|
|
||||||
iv_ext = iv_ext ).
|
iv_ext = iv_ext ).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD get_lang_and_ext.
|
|
||||||
|
|
||||||
DATA lt_filename_elements TYPE string_table.
|
|
||||||
DATA lv_langu_bcp47 TYPE string.
|
|
||||||
DATA lv_sap1 TYPE sy-langu.
|
|
||||||
|
|
||||||
SPLIT iv_filename AT '.' INTO TABLE lt_filename_elements.
|
|
||||||
|
|
||||||
READ TABLE lt_filename_elements INDEX lines( lt_filename_elements ) INTO ev_ext.
|
|
||||||
IF sy-subrc <> 0.
|
|
||||||
zcx_abapgit_exception=>raise( |Could not derive file extension of file { iv_filename }| ).
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
READ TABLE lt_filename_elements WITH KEY table_line = `i18n` TRANSPORTING NO FIELDS.
|
|
||||||
IF sy-subrc = 0.
|
|
||||||
READ TABLE lt_filename_elements INDEX ( sy-tabix + 1 ) INTO lv_langu_bcp47.
|
|
||||||
IF sy-subrc = 0.
|
|
||||||
lv_sap1 = zcl_abapgit_convert=>language_bcp47_to_sap1( lv_langu_bcp47 ).
|
|
||||||
ev_lang = zcl_abapgit_convert=>language_sap1_to_sap2( lv_sap1 ). " actually it is to_upper( ISO-639 )
|
|
||||||
|
|
||||||
" to not break existing PO file implementations
|
|
||||||
IF ev_ext = `po`.
|
|
||||||
ev_lang = to_lower( ev_lang ).
|
|
||||||
ENDIF.
|
|
||||||
ENDIF.
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
IF ev_lang IS INITIAL.
|
|
||||||
CLEAR ev_ext.
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
|
@ -30,10 +30,8 @@ CLASS ltcl_run_checks DEFINITION FOR TESTING RISK LEVEL HARMLESS
|
||||||
object_to_file FOR TESTING RAISING zcx_abapgit_exception,
|
object_to_file FOR TESTING RAISING zcx_abapgit_exception,
|
||||||
i18n_file_to_object FOR TESTING RAISING zcx_abapgit_exception,
|
i18n_file_to_object FOR TESTING RAISING zcx_abapgit_exception,
|
||||||
object_to_i18n_file FOR TESTING RAISING zcx_abapgit_exception,
|
object_to_i18n_file FOR TESTING RAISING zcx_abapgit_exception,
|
||||||
object_to_i18n_file_bcp47 FOR TESTING RAISING zcx_abapgit_exception,
|
|
||||||
file_to_object_package FOR TESTING RAISING zcx_abapgit_exception,
|
file_to_object_package FOR TESTING RAISING zcx_abapgit_exception,
|
||||||
object_to_file_package FOR TESTING RAISING zcx_abapgit_exception,
|
object_to_file_package FOR TESTING RAISING zcx_abapgit_exception.
|
||||||
i18n_file_to_object_is_initial FOR TESTING RAISING zcx_abapgit_exception.
|
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
@ -385,27 +383,6 @@ CLASS ltcl_run_checks IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD i18n_file_to_object_is_initial.
|
|
||||||
DATA lv_lang TYPE laiso.
|
|
||||||
DATA lv_ext TYPE string.
|
|
||||||
|
|
||||||
lv_ext = `txt`.
|
|
||||||
lv_lang = `E`.
|
|
||||||
|
|
||||||
zcl_abapgit_filename_logic=>i18n_file_to_object(
|
|
||||||
EXPORTING
|
|
||||||
iv_filename = 'zif_abapgit.intf.abap'
|
|
||||||
iv_path = '/src/'
|
|
||||||
IMPORTING
|
|
||||||
ev_lang = lv_lang
|
|
||||||
ev_ext = lv_ext ).
|
|
||||||
|
|
||||||
cl_abap_unit_assert=>assert_initial( lv_ext ).
|
|
||||||
cl_abap_unit_assert=>assert_initial( lv_lang ).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
|
|
||||||
METHOD i18n_file_to_object.
|
METHOD i18n_file_to_object.
|
||||||
|
|
||||||
DATA ls_item TYPE zif_abapgit_definitions=>ty_item.
|
DATA ls_item TYPE zif_abapgit_definitions=>ty_item.
|
||||||
|
@ -452,7 +429,7 @@ CLASS ltcl_run_checks IMPLEMENTATION.
|
||||||
exp = 'ZPROGRAM'
|
exp = 'ZPROGRAM'
|
||||||
act = ls_item-obj_name ).
|
act = ls_item-obj_name ).
|
||||||
cl_abap_unit_assert=>assert_equals(
|
cl_abap_unit_assert=>assert_equals(
|
||||||
exp = 'EN'
|
exp = 'en'
|
||||||
act = lv_lang ).
|
act = lv_lang ).
|
||||||
cl_abap_unit_assert=>assert_equals(
|
cl_abap_unit_assert=>assert_equals(
|
||||||
exp = 'properties'
|
exp = 'properties'
|
||||||
|
@ -490,26 +467,6 @@ CLASS ltcl_run_checks IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD object_to_i18n_file_bcp47.
|
|
||||||
|
|
||||||
DATA ls_item TYPE zif_abapgit_definitions=>ty_item.
|
|
||||||
DATA lv_filename TYPE string.
|
|
||||||
|
|
||||||
ls_item-obj_type = 'INTF'.
|
|
||||||
ls_item-obj_name = 'ZIF_ABAP'.
|
|
||||||
|
|
||||||
" Properties files
|
|
||||||
lv_filename = zcl_abapgit_filename_logic=>object_to_i18n_file(
|
|
||||||
is_item = ls_item
|
|
||||||
iv_lang = '6N'
|
|
||||||
iv_ext = 'properties' ).
|
|
||||||
|
|
||||||
cl_abap_unit_assert=>assert_equals(
|
|
||||||
exp = 'zif_abap.intf.i18n.en-GB.properties'
|
|
||||||
act = lv_filename ).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
METHOD file_to_object_package.
|
METHOD file_to_object_package.
|
||||||
|
|
||||||
DATA ls_item TYPE zif_abapgit_definitions=>ty_item.
|
DATA ls_item TYPE zif_abapgit_definitions=>ty_item.
|
||||||
|
|
|
@ -92,10 +92,6 @@ CLASS ltcl_folder_logic_package IMPLEMENTATION.
|
||||||
RETURN.
|
RETURN.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD zif_abapgit_sap_package~get.
|
|
||||||
RETURN.
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
METHOD zif_abapgit_sap_package~exists.
|
METHOD zif_abapgit_sap_package~exists.
|
||||||
rv_bool = abap_true.
|
rv_bool = abap_true.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
@ -187,10 +183,6 @@ CLASS ltcl_folder_logic IMPLEMENTATION.
|
||||||
RETURN.
|
RETURN.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD zif_abapgit_sap_package~get.
|
|
||||||
RETURN.
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
METHOD zif_abapgit_sap_package~exists.
|
METHOD zif_abapgit_sap_package~exists.
|
||||||
rv_bool = abap_true.
|
rv_bool = abap_true.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
@ -409,10 +401,6 @@ CLASS ltcl_folder_logic_namespaces IMPLEMENTATION.
|
||||||
RETURN.
|
RETURN.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD zif_abapgit_sap_package~get.
|
|
||||||
RETURN.
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
METHOD zif_abapgit_sap_package~exists.
|
METHOD zif_abapgit_sap_package~exists.
|
||||||
rv_bool = abap_true.
|
rv_bool = abap_true.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
@ -548,10 +536,6 @@ CLASS ltcl_folder_logic_no_parent IMPLEMENTATION.
|
||||||
RETURN.
|
RETURN.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD zif_abapgit_sap_package~get.
|
|
||||||
RETURN.
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
METHOD zif_abapgit_sap_package~exists.
|
METHOD zif_abapgit_sap_package~exists.
|
||||||
rv_bool = abap_true.
|
rv_bool = abap_true.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
|
@ -46,7 +46,7 @@ CLASS zcl_abapgit_objects_activation DEFINITION
|
||||||
|
|
||||||
CONSTANTS:
|
CONSTANTS:
|
||||||
c_domain TYPE c LENGTH 9 VALUE 'DOMA DOMD',
|
c_domain TYPE c LENGTH 9 VALUE 'DOMA DOMD',
|
||||||
c_types TYPE c LENGTH 55 VALUE 'DTEL DTED TABL TABD SQLT SQLD TTYP TTYD VIEW VIED DRTY',
|
c_types TYPE c LENGTH 50 VALUE 'DTEL DTED TABL TABD SQLT SQLD TTYP TTYD VIEW VIED',
|
||||||
c_technset TYPE c LENGTH 24 VALUE 'TABT VIET SQTT INDX XINX',
|
c_technset TYPE c LENGTH 24 VALUE 'TABT VIET SQTT INDX XINX',
|
||||||
c_f4_objects TYPE c LENGTH 35 VALUE 'SHLP SHLD MCOB MCOD MACO MACD MCID',
|
c_f4_objects TYPE c LENGTH 35 VALUE 'SHLP SHLD MCOB MCOD MACO MACD MCID',
|
||||||
c_enqueue TYPE c LENGTH 9 VALUE 'ENQU ENQD',
|
c_enqueue TYPE c LENGTH 9 VALUE 'ENQU ENQD',
|
||||||
|
@ -56,9 +56,7 @@ CLASS zcl_abapgit_objects_activation DEFINITION
|
||||||
c_ddls TYPE c LENGTH 24 VALUE 'DDLS DRUL DTDC DTEB',
|
c_ddls TYPE c LENGTH 24 VALUE 'DDLS DRUL DTDC DTEB',
|
||||||
c_switches TYPE c LENGTH 24 VALUE 'SF01 SF02 SFSW SFBS SFBF',
|
c_switches TYPE c LENGTH 24 VALUE 'SF01 SF02 SFSW SFBS SFBF',
|
||||||
c_para TYPE c LENGTH 4 VALUE 'PARA', " can be referenced by DTEL
|
c_para TYPE c LENGTH 4 VALUE 'PARA', " can be referenced by DTEL
|
||||||
c_enhd TYPE c LENGTH 4 VALUE 'ENHD',
|
c_enhd TYPE c LENGTH 4 VALUE 'ENHD'.
|
||||||
c_scalarfunc TYPE c LENGTH 9 VALUE 'DSFD DSFI',
|
|
||||||
c_aspect TYPE c LENGTH 4 VALUE 'DRAS'.
|
|
||||||
|
|
||||||
CLASS-DATA:
|
CLASS-DATA:
|
||||||
gt_classes TYPE STANDARD TABLE OF ty_classes WITH DEFAULT KEY .
|
gt_classes TYPE STANDARD TABLE OF ty_classes WITH DEFAULT KEY .
|
||||||
|
@ -310,7 +308,7 @@ CLASS zcl_abapgit_objects_activation IMPLEMENTATION.
|
||||||
excecution_error = 1
|
excecution_error = 1
|
||||||
cancelled = 2
|
cancelled = 2
|
||||||
insert_into_corr_error = 3
|
insert_into_corr_error = 3
|
||||||
OTHERS = 4 ##FM_SUBRC_OK.
|
OTHERS = 4 ##SUBRC_OK.
|
||||||
CATCH cx_sy_dyn_call_param_not_found.
|
CATCH cx_sy_dyn_call_param_not_found.
|
||||||
CALL FUNCTION 'RS_WORKING_OBJECTS_ACTIVATE'
|
CALL FUNCTION 'RS_WORKING_OBJECTS_ACTIVATE'
|
||||||
EXPORTING
|
EXPORTING
|
||||||
|
@ -324,7 +322,7 @@ CLASS zcl_abapgit_objects_activation IMPLEMENTATION.
|
||||||
excecution_error = 1
|
excecution_error = 1
|
||||||
cancelled = 2
|
cancelled = 2
|
||||||
insert_into_corr_error = 3
|
insert_into_corr_error = 3
|
||||||
OTHERS = 4 ##FM_SUBRC_OK.
|
OTHERS = 4 ##SUBRC_OK.
|
||||||
ENDTRY.
|
ENDTRY.
|
||||||
CASE sy-subrc.
|
CASE sy-subrc.
|
||||||
WHEN 1 OR 3 OR 4.
|
WHEN 1 OR 3 OR 4.
|
||||||
|
@ -392,24 +390,15 @@ CLASS zcl_abapgit_objects_activation IMPLEMENTATION.
|
||||||
IF strlen( <ls_message>-object_text ) > 5.
|
IF strlen( <ls_message>-object_text ) > 5.
|
||||||
ls_item-obj_type = <ls_message>-object_text(4).
|
ls_item-obj_type = <ls_message>-object_text(4).
|
||||||
ls_item-obj_name = <ls_message>-object_text+5(*).
|
ls_item-obj_name = <ls_message>-object_text+5(*).
|
||||||
ELSEIF <ls_message>-show_req IS NOT INITIAL.
|
ELSE.
|
||||||
ls_item-obj_name = <ls_message>-show_req->object_name.
|
ls_item-obj_name = <ls_message>-show_req->object_name.
|
||||||
SELECT SINGLE tadir FROM euobjedit INTO ls_item-obj_type
|
SELECT SINGLE tadir FROM euobjedit INTO ls_item-obj_type
|
||||||
WHERE type = <ls_message>-show_req->object_type.
|
WHERE type = <ls_message>-show_req->object_type.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
LOOP AT <ls_message>-mtext ASSIGNING <lv_msg>.
|
LOOP AT <ls_message>-mtext ASSIGNING <lv_msg>.
|
||||||
IF sy-tabix = 1.
|
|
||||||
ii_log->add(
|
|
||||||
iv_type = 'E'
|
|
||||||
iv_msg = <lv_msg>
|
|
||||||
iv_class = <ls_message>-message-msgid
|
|
||||||
iv_number = <ls_message>-message-msgno
|
|
||||||
is_item = ls_item ).
|
|
||||||
ELSE.
|
|
||||||
ii_log->add_error(
|
ii_log->add_error(
|
||||||
iv_msg = <lv_msg>
|
iv_msg = <lv_msg>
|
||||||
is_item = ls_item ).
|
is_item = ls_item ).
|
||||||
ENDIF.
|
|
||||||
ENDLOOP.
|
ENDLOOP.
|
||||||
ENDLOOP.
|
ENDLOOP.
|
||||||
|
|
||||||
|
@ -449,9 +438,7 @@ CLASS zcl_abapgit_objects_activation IMPLEMENTATION.
|
||||||
|
|
||||||
LOOP AT lt_lines ASSIGNING <ls_line>.
|
LOOP AT lt_lines ASSIGNING <ls_line>.
|
||||||
ii_log->add( iv_msg = <ls_line>-line
|
ii_log->add( iv_msg = <ls_line>-line
|
||||||
iv_type = <ls_line>-severity
|
iv_type = <ls_line>-severity ).
|
||||||
iv_class = <ls_line>-class
|
|
||||||
iv_number = |{ <ls_line>-number }| ).
|
|
||||||
ENDLOOP.
|
ENDLOOP.
|
||||||
|
|
||||||
ii_log->add_info( |View complete activation log in program RSPUTPRT (type D, log name { iv_logname })| ).
|
ii_log->add_info( |View complete activation log in program RSPUTPRT (type D, log name { iv_logname })| ).
|
||||||
|
@ -567,8 +554,7 @@ CLASS zcl_abapgit_objects_activation IMPLEMENTATION.
|
||||||
c_enqueue NS iv_obj_type AND c_sqsc NS iv_obj_type AND
|
c_enqueue NS iv_obj_type AND c_sqsc NS iv_obj_type AND
|
||||||
c_stob NS iv_obj_type AND c_ntab NS iv_obj_type AND
|
c_stob NS iv_obj_type AND c_ntab NS iv_obj_type AND
|
||||||
c_ddls NS iv_obj_type AND c_para NS iv_obj_type AND
|
c_ddls NS iv_obj_type AND c_para NS iv_obj_type AND
|
||||||
c_switches NS iv_obj_type AND iv_obj_type <> c_enhd AND
|
c_switches NS iv_obj_type AND iv_obj_type <> c_enhd.
|
||||||
c_aspect NS iv_obj_type AND c_scalarfunc NS iv_obj_type.
|
|
||||||
rv_result = abap_false.
|
rv_result = abap_false.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
|
|
|
@ -4,39 +4,26 @@ CLASS zcl_abapgit_objects_check DEFINITION
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
|
|
||||||
CLASS-METHODS class_constructor.
|
|
||||||
|
|
||||||
CLASS-METHODS deserialize_checks
|
CLASS-METHODS deserialize_checks
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!ii_repo TYPE REF TO zif_abapgit_repo
|
!io_repo TYPE REF TO zcl_abapgit_repo
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(rs_checks) TYPE zif_abapgit_definitions=>ty_deserialize_checks
|
VALUE(rs_checks) TYPE zif_abapgit_definitions=>ty_deserialize_checks
|
||||||
RAISING
|
RAISING
|
||||||
zcx_abapgit_exception .
|
zcx_abapgit_exception .
|
||||||
|
CLASS-METHODS class_constructor.
|
||||||
CLASS-METHODS checks_adjust
|
CLASS-METHODS checks_adjust
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!ii_repo TYPE REF TO zif_abapgit_repo
|
!io_repo TYPE REF TO zcl_abapgit_repo
|
||||||
!is_checks TYPE zif_abapgit_definitions=>ty_deserialize_checks
|
!is_checks TYPE zif_abapgit_definitions=>ty_deserialize_checks
|
||||||
CHANGING
|
CHANGING
|
||||||
!ct_results TYPE zif_abapgit_definitions=>ty_results_tt
|
!ct_results TYPE zif_abapgit_definitions=>ty_results_tt
|
||||||
RAISING
|
RAISING
|
||||||
zcx_abapgit_exception .
|
zcx_abapgit_exception .
|
||||||
|
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
|
CLASS-DATA: gi_exit TYPE REF TO zif_abapgit_exit.
|
||||||
CLASS-DATA gi_exit TYPE REF TO zif_abapgit_exit.
|
|
||||||
|
|
||||||
CLASS-METHODS adjust_result
|
|
||||||
IMPORTING
|
|
||||||
!iv_txt TYPE string
|
|
||||||
!it_overwrite_old TYPE zif_abapgit_definitions=>ty_overwrite_tt
|
|
||||||
!it_overwrite_new TYPE zif_abapgit_definitions=>ty_overwrite_tt
|
|
||||||
CHANGING
|
|
||||||
!ct_results TYPE zif_abapgit_definitions=>ty_results_tt
|
|
||||||
RAISING
|
|
||||||
zcx_abapgit_exception.
|
|
||||||
|
|
||||||
CLASS-METHODS warning_overwrite_adjust
|
CLASS-METHODS warning_overwrite_adjust
|
||||||
IMPORTING
|
IMPORTING
|
||||||
|
@ -45,62 +32,38 @@ CLASS zcl_abapgit_objects_check DEFINITION
|
||||||
!ct_results TYPE zif_abapgit_definitions=>ty_results_tt
|
!ct_results TYPE zif_abapgit_definitions=>ty_results_tt
|
||||||
RAISING
|
RAISING
|
||||||
zcx_abapgit_exception.
|
zcx_abapgit_exception.
|
||||||
|
|
||||||
CLASS-METHODS warning_overwrite_find
|
CLASS-METHODS warning_overwrite_find
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!it_results TYPE zif_abapgit_definitions=>ty_results_tt
|
!it_results TYPE zif_abapgit_definitions=>ty_results_tt
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(rt_overwrite) TYPE zif_abapgit_definitions=>ty_overwrite_tt.
|
VALUE(rt_overwrite) TYPE zif_abapgit_definitions=>ty_overwrite_tt.
|
||||||
|
|
||||||
CLASS-METHODS warning_package_adjust
|
CLASS-METHODS warning_package_adjust
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!ii_repo TYPE REF TO zif_abapgit_repo
|
!io_repo TYPE REF TO zcl_abapgit_repo
|
||||||
!it_overwrite TYPE zif_abapgit_definitions=>ty_overwrite_tt
|
!it_overwrite TYPE zif_abapgit_definitions=>ty_overwrite_tt
|
||||||
CHANGING
|
CHANGING
|
||||||
!ct_results TYPE zif_abapgit_definitions=>ty_results_tt
|
!ct_results TYPE zif_abapgit_definitions=>ty_results_tt
|
||||||
RAISING
|
RAISING
|
||||||
zcx_abapgit_exception.
|
zcx_abapgit_exception.
|
||||||
|
|
||||||
CLASS-METHODS warning_package_find
|
CLASS-METHODS warning_package_find
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!it_results TYPE zif_abapgit_definitions=>ty_results_tt
|
!it_results TYPE zif_abapgit_definitions=>ty_results_tt
|
||||||
!ii_repo TYPE REF TO zif_abapgit_repo
|
!io_repo TYPE REF TO zcl_abapgit_repo
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(rt_overwrite) TYPE zif_abapgit_definitions=>ty_overwrite_tt
|
VALUE(rt_overwrite) TYPE zif_abapgit_definitions=>ty_overwrite_tt
|
||||||
RAISING
|
RAISING
|
||||||
zcx_abapgit_exception.
|
zcx_abapgit_exception.
|
||||||
|
|
||||||
CLASS-METHODS warning_data_loss_adjust
|
|
||||||
IMPORTING
|
|
||||||
!ii_repo TYPE REF TO zif_abapgit_repo
|
|
||||||
!it_overwrite TYPE zif_abapgit_definitions=>ty_overwrite_tt
|
|
||||||
CHANGING
|
|
||||||
!ct_results TYPE zif_abapgit_definitions=>ty_results_tt
|
|
||||||
RAISING
|
|
||||||
zcx_abapgit_exception.
|
|
||||||
|
|
||||||
CLASS-METHODS warning_data_loss_find
|
|
||||||
IMPORTING
|
|
||||||
!ii_repo TYPE REF TO zif_abapgit_repo
|
|
||||||
!it_results TYPE zif_abapgit_definitions=>ty_results_tt
|
|
||||||
RETURNING
|
|
||||||
VALUE(rt_overwrite) TYPE zif_abapgit_definitions=>ty_overwrite_tt
|
|
||||||
RAISING
|
|
||||||
zcx_abapgit_exception.
|
|
||||||
|
|
||||||
CLASS-METHODS determine_transport_request
|
CLASS-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.
|
||||||
|
|
||||||
CLASS-METHODS check_multiple_files
|
CLASS-METHODS check_multiple_files
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!it_results TYPE zif_abapgit_definitions=>ty_results_tt
|
!it_results TYPE zif_abapgit_definitions=>ty_results_tt
|
||||||
RAISING
|
RAISING
|
||||||
zcx_abapgit_exception.
|
zcx_abapgit_exception.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
@ -108,36 +71,8 @@ ENDCLASS.
|
||||||
CLASS zcl_abapgit_objects_check IMPLEMENTATION.
|
CLASS zcl_abapgit_objects_check IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
METHOD adjust_result.
|
|
||||||
|
|
||||||
DATA ls_overwrite TYPE zif_abapgit_definitions=>ty_overwrite.
|
|
||||||
|
|
||||||
FIELD-SYMBOLS <ls_overwrite> TYPE zif_abapgit_definitions=>ty_overwrite.
|
|
||||||
|
|
||||||
LOOP AT it_overwrite_new ASSIGNING <ls_overwrite>.
|
|
||||||
|
|
||||||
READ TABLE it_overwrite_old INTO ls_overwrite WITH TABLE KEY object_type_and_name
|
|
||||||
COMPONENTS obj_type = <ls_overwrite>-obj_type obj_name = <ls_overwrite>-obj_name.
|
|
||||||
IF sy-subrc <> 0 OR ls_overwrite-decision IS INITIAL.
|
|
||||||
zcx_abapgit_exception=>raise( |{ iv_txt } { <ls_overwrite>-obj_type } { <ls_overwrite>-obj_name } undecided| ).
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
IF ls_overwrite-decision = zif_abapgit_definitions=>c_no.
|
|
||||||
DELETE ct_results WHERE obj_type = <ls_overwrite>-obj_type AND obj_name = <ls_overwrite>-obj_name.
|
|
||||||
ASSERT sy-subrc = 0.
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
ENDLOOP.
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
|
|
||||||
METHOD checks_adjust.
|
METHOD checks_adjust.
|
||||||
|
|
||||||
" Make sure to get the current status, as something might have changed in the meanwhile
|
|
||||||
" - Remove objects from results that were deselected in confirmation popup
|
|
||||||
" - Raise exception if an object has no decision of what to do
|
|
||||||
|
|
||||||
warning_overwrite_adjust(
|
warning_overwrite_adjust(
|
||||||
EXPORTING
|
EXPORTING
|
||||||
it_overwrite = is_checks-overwrite
|
it_overwrite = is_checks-overwrite
|
||||||
|
@ -146,18 +81,11 @@ CLASS zcl_abapgit_objects_check IMPLEMENTATION.
|
||||||
|
|
||||||
warning_package_adjust(
|
warning_package_adjust(
|
||||||
EXPORTING
|
EXPORTING
|
||||||
ii_repo = ii_repo
|
io_repo = io_repo
|
||||||
it_overwrite = is_checks-warning_package
|
it_overwrite = is_checks-warning_package
|
||||||
CHANGING
|
CHANGING
|
||||||
ct_results = ct_results ).
|
ct_results = ct_results ).
|
||||||
|
|
||||||
warning_data_loss_adjust(
|
|
||||||
EXPORTING
|
|
||||||
ii_repo = ii_repo
|
|
||||||
it_overwrite = is_checks-data_loss
|
|
||||||
CHANGING
|
|
||||||
ct_results = ct_results ).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
@ -206,27 +134,23 @@ CLASS zcl_abapgit_objects_check IMPLEMENTATION.
|
||||||
li_package TYPE REF TO zif_abapgit_sap_package.
|
li_package TYPE REF TO zif_abapgit_sap_package.
|
||||||
|
|
||||||
" get unfiltered status to evaluate properly which warnings are required
|
" get unfiltered status to evaluate properly which warnings are required
|
||||||
lt_results = zcl_abapgit_repo_status=>calculate( ii_repo ).
|
lt_results = zcl_abapgit_repo_status=>calculate( io_repo ).
|
||||||
|
|
||||||
check_multiple_files( lt_results ).
|
check_multiple_files( lt_results ).
|
||||||
|
|
||||||
rs_checks-overwrite = warning_overwrite_find( lt_results ).
|
rs_checks-overwrite = warning_overwrite_find( lt_results ).
|
||||||
|
|
||||||
rs_checks-warning_package = warning_package_find(
|
rs_checks-warning_package = warning_package_find(
|
||||||
ii_repo = ii_repo
|
io_repo = io_repo
|
||||||
it_results = lt_results ).
|
|
||||||
|
|
||||||
rs_checks-data_loss = warning_data_loss_find(
|
|
||||||
ii_repo = ii_repo
|
|
||||||
it_results = lt_results ).
|
it_results = lt_results ).
|
||||||
|
|
||||||
IF lines( lt_results ) > 0.
|
IF lines( lt_results ) > 0.
|
||||||
li_package = zcl_abapgit_factory=>get_sap_package( ii_repo->get_package( ) ).
|
li_package = zcl_abapgit_factory=>get_sap_package( io_repo->get_package( ) ).
|
||||||
rs_checks-transport-required = li_package->are_changes_recorded_in_tr_req( ).
|
rs_checks-transport-required = li_package->are_changes_recorded_in_tr_req( ).
|
||||||
IF NOT rs_checks-transport-required IS INITIAL.
|
IF NOT rs_checks-transport-required IS INITIAL.
|
||||||
rs_checks-transport-type = li_package->get_transport_type( ).
|
rs_checks-transport-type = li_package->get_transport_type( ).
|
||||||
rs_checks-transport-transport = determine_transport_request(
|
rs_checks-transport-transport = determine_transport_request(
|
||||||
ii_repo = ii_repo
|
io_repo = io_repo
|
||||||
iv_transport_type = rs_checks-transport-type ).
|
iv_transport_type = rs_checks-transport-type ).
|
||||||
ENDIF.
|
ENDIF.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
@ -238,11 +162,11 @@ CLASS zcl_abapgit_objects_check 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( )-transport_request.
|
rv_transport_request = io_repo->get_local_settings( )-transport_request.
|
||||||
|
|
||||||
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 = rv_transport_request ).
|
cv_transport_request = rv_transport_request ).
|
||||||
|
@ -250,62 +174,33 @@ CLASS zcl_abapgit_objects_check IMPLEMENTATION.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD warning_data_loss_adjust.
|
METHOD warning_overwrite_adjust.
|
||||||
|
|
||||||
DATA lt_overwrite LIKE it_overwrite.
|
DATA: lt_overwrite LIKE it_overwrite,
|
||||||
|
ls_overwrite LIKE LINE OF lt_overwrite.
|
||||||
|
|
||||||
lt_overwrite = warning_data_loss_find(
|
FIELD-SYMBOLS: <ls_overwrite> LIKE LINE OF lt_overwrite.
|
||||||
it_results = ct_results
|
|
||||||
ii_repo = ii_repo ).
|
|
||||||
|
|
||||||
adjust_result(
|
|
||||||
EXPORTING
|
|
||||||
iv_txt = 'Potential data loss for'
|
|
||||||
it_overwrite_old = it_overwrite
|
|
||||||
it_overwrite_new = lt_overwrite
|
|
||||||
CHANGING
|
|
||||||
ct_results = ct_results ).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
|
|
||||||
METHOD warning_data_loss_find.
|
* make sure to get the current status, as something might have changed in the meanwhile
|
||||||
|
lt_overwrite = warning_overwrite_find( ct_results ).
|
||||||
|
|
||||||
DATA:
|
LOOP AT lt_overwrite ASSIGNING <ls_overwrite>.
|
||||||
ls_item TYPE zif_abapgit_definitions=>ty_item,
|
|
||||||
li_comparator TYPE REF TO zif_abapgit_comparator,
|
|
||||||
lv_result TYPE string.
|
|
||||||
|
|
||||||
FIELD-SYMBOLS:
|
READ TABLE it_overwrite INTO ls_overwrite
|
||||||
<ls_result> LIKE LINE OF it_results,
|
WITH TABLE KEY object_type_and_name
|
||||||
<ls_overwrite> LIKE LINE OF rt_overwrite.
|
COMPONENTS obj_type = <ls_overwrite>-obj_type
|
||||||
|
obj_name = <ls_overwrite>-obj_name.
|
||||||
" For optimal performance, we limit here by object type since we know that only TABL has a comparator
|
IF sy-subrc <> 0 OR ls_overwrite-decision IS INITIAL.
|
||||||
" If there are other object types in the future, extend the where clause or remove the check on object type.
|
zcx_abapgit_exception=>raise( |Overwrite { <ls_overwrite>-obj_type } {
|
||||||
LOOP AT it_results ASSIGNING <ls_result> WHERE match IS INITIAL AND filename CP '*.xml'
|
<ls_overwrite>-obj_name } undecided| ).
|
||||||
AND obj_type = 'TABL' ##PRIMKEY[SEC_KEY].
|
|
||||||
|
|
||||||
CLEAR ls_item.
|
|
||||||
MOVE-CORRESPONDING <ls_result> TO ls_item.
|
|
||||||
|
|
||||||
li_comparator = zcl_abapgit_objects_compare=>get_comparator( ls_item ).
|
|
||||||
IF NOT li_comparator IS BOUND.
|
|
||||||
RETURN.
|
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
lv_result = zcl_abapgit_objects_compare=>get_result(
|
IF ls_overwrite-decision = zif_abapgit_definitions=>c_no.
|
||||||
ii_comparator = li_comparator
|
DELETE ct_results WHERE
|
||||||
iv_filename = <ls_result>-filename
|
obj_type = <ls_overwrite>-obj_type AND
|
||||||
it_local = ii_repo->get_files_local( )
|
obj_name = <ls_overwrite>-obj_name.
|
||||||
it_remote = ii_repo->get_files_remote( iv_ignore_files = abap_true ) ).
|
ASSERT sy-subrc = 0.
|
||||||
|
|
||||||
IF lv_result IS NOT INITIAL.
|
|
||||||
APPEND INITIAL LINE TO rt_overwrite ASSIGNING <ls_overwrite>.
|
|
||||||
MOVE-CORRESPONDING <ls_result> TO <ls_overwrite>.
|
|
||||||
<ls_overwrite>-devclass = <ls_result>-package.
|
|
||||||
<ls_overwrite>-action = zif_abapgit_objects=>c_deserialize_action-data_loss.
|
|
||||||
<ls_overwrite>-icon = icon_warning.
|
|
||||||
<ls_overwrite>-text = lv_result.
|
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
ENDLOOP.
|
ENDLOOP.
|
||||||
|
@ -313,23 +208,6 @@ CLASS zcl_abapgit_objects_check IMPLEMENTATION.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD warning_overwrite_adjust.
|
|
||||||
|
|
||||||
DATA lt_overwrite LIKE it_overwrite.
|
|
||||||
|
|
||||||
lt_overwrite = warning_overwrite_find( ct_results ).
|
|
||||||
|
|
||||||
adjust_result(
|
|
||||||
EXPORTING
|
|
||||||
iv_txt = 'Overwrite of object'
|
|
||||||
it_overwrite_old = it_overwrite
|
|
||||||
it_overwrite_new = lt_overwrite
|
|
||||||
CHANGING
|
|
||||||
ct_results = ct_results ).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
|
|
||||||
METHOD warning_overwrite_find.
|
METHOD warning_overwrite_find.
|
||||||
|
|
||||||
DATA:
|
DATA:
|
||||||
|
@ -423,19 +301,36 @@ CLASS zcl_abapgit_objects_check IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD warning_package_adjust.
|
METHOD warning_package_adjust.
|
||||||
|
|
||||||
DATA lt_overwrite LIKE it_overwrite.
|
DATA: lt_overwrite LIKE it_overwrite,
|
||||||
|
ls_overwrite LIKE LINE OF lt_overwrite.
|
||||||
|
|
||||||
|
FIELD-SYMBOLS: <ls_overwrite> LIKE LINE OF lt_overwrite.
|
||||||
|
|
||||||
|
|
||||||
|
* make sure to get the current status, as something might have changed in the meanwhile
|
||||||
lt_overwrite = warning_package_find(
|
lt_overwrite = warning_package_find(
|
||||||
it_results = ct_results
|
it_results = ct_results
|
||||||
ii_repo = ii_repo ).
|
io_repo = io_repo ).
|
||||||
|
|
||||||
adjust_result(
|
LOOP AT lt_overwrite ASSIGNING <ls_overwrite>.
|
||||||
EXPORTING
|
|
||||||
iv_txt = 'Overwrite of package'
|
READ TABLE it_overwrite INTO ls_overwrite
|
||||||
it_overwrite_old = it_overwrite
|
WITH TABLE KEY object_type_and_name
|
||||||
it_overwrite_new = lt_overwrite
|
COMPONENTS obj_type = <ls_overwrite>-obj_type
|
||||||
CHANGING
|
obj_name = <ls_overwrite>-obj_name.
|
||||||
ct_results = ct_results ).
|
IF sy-subrc <> 0 OR ls_overwrite-decision IS INITIAL.
|
||||||
|
zcx_abapgit_exception=>raise( |Overwrite of package { <ls_overwrite>-obj_type } {
|
||||||
|
<ls_overwrite>-obj_name } undecided| ).
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
IF ls_overwrite-decision = zif_abapgit_definitions=>c_no.
|
||||||
|
DELETE ct_results WHERE
|
||||||
|
obj_type = <ls_overwrite>-obj_type AND
|
||||||
|
obj_name = <ls_overwrite>-obj_name.
|
||||||
|
ASSERT sy-subrc = 0.
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
ENDLOOP.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
@ -456,8 +351,8 @@ CLASS zcl_abapgit_objects_check IMPLEMENTATION.
|
||||||
LOOP AT it_results ASSIGNING <ls_result> WHERE match IS INITIAL AND packmove IS INITIAL.
|
LOOP AT it_results ASSIGNING <ls_result> WHERE match IS INITIAL AND packmove IS INITIAL.
|
||||||
|
|
||||||
lv_package = lo_folder_logic->path_to_package(
|
lv_package = lo_folder_logic->path_to_package(
|
||||||
iv_top = ii_repo->get_package( )
|
iv_top = io_repo->get_package( )
|
||||||
io_dot = ii_repo->get_dot_abapgit( )
|
io_dot = io_repo->get_dot_abapgit( )
|
||||||
iv_path = <ls_result>-path
|
iv_path = <ls_result>-path
|
||||||
iv_create_if_not_exists = abap_false ).
|
iv_create_if_not_exists = abap_false ).
|
||||||
|
|
||||||
|
@ -466,7 +361,7 @@ CLASS zcl_abapgit_objects_check IMPLEMENTATION.
|
||||||
iv_obj_name = <ls_result>-obj_name ).
|
iv_obj_name = <ls_result>-obj_name ).
|
||||||
|
|
||||||
IF NOT ls_tadir IS INITIAL AND ls_tadir-devclass <> lv_package.
|
IF NOT ls_tadir IS INITIAL AND ls_tadir-devclass <> lv_package.
|
||||||
" overwriting object from different package than expected
|
* overwriting object from different package than expected
|
||||||
CLEAR ls_overwrite.
|
CLEAR ls_overwrite.
|
||||||
CONCATENATE <ls_result>-lstate <ls_result>-rstate INTO ls_overwrite-state RESPECTING BLANKS.
|
CONCATENATE <ls_result>-lstate <ls_result>-rstate INTO ls_overwrite-state RESPECTING BLANKS.
|
||||||
REPLACE ALL OCCURRENCES OF ` ` IN ls_overwrite-state WITH '_'.
|
REPLACE ALL OCCURRENCES OF ` ` IN ls_overwrite-state WITH '_'.
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user