Compare commits

..

No commits in common. "main" and "v1.121.0" have entirely different histories.

1241 changed files with 20420 additions and 61198 deletions

View File

@ -1,10 +1,6 @@
{
"name": "abapGit",
"image": "mcr.microsoft.com/vscode/devcontainers/javascript-node:0-20",
"customizations": {
"vscode": {
"extensions": ["larshp.vscode-abaplint"]
}
},
"image": "mcr.microsoft.com/vscode/devcontainers/javascript-node:0-12",
"extensions": ["larshp.vscode-abaplint"],
"postCreateCommand": "npm install"
}
}

View File

@ -12,10 +12,6 @@ trim_trailing_whitespace = true
indent_style = space
indent_size = 1
# XSLT source code must have CR LF to be deserialized correctly by SAP code
[*.xslt.source.xml]
end_of_line = crlf
# match the format used by abapGit
[*.{abap,js,json,html,css}]
charset = utf-8
@ -24,12 +20,3 @@ insert_final_newline = true
trim_trailing_whitespace = true
indent_size = 2
indent_style = space
# YAML and Bash Files
[*.{yml,yaml,sh}]
charset = utf-8
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
indent_size = 2
indent_style = space

14
.eslintrc.yaml Normal file
View File

@ -0,0 +1,14 @@
---
parserOptions:
ecmaVersion: 5
env:
browser: true
extends:
- eslint:recommended
rules:
quotes: ['error', 'double', { 'avoidEscape': true }]
semi: ['error', 'always', { 'omitLastInOneLineBlock': true}]
no-console: off
indent: ['error', 2]
no-trailing-spaces: ['error']
no-unused-vars: ['warn']

View File

@ -19,8 +19,11 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
- uses: actions/checkout@v3
- name: Use Node.js
uses: actions/setup-node@v3
with:
node-version: '16'
- name: run
run: |
git clone https://github.com/abapGit/ajson_mirror.git

View File

@ -9,8 +9,11 @@ jobs:
build-merged:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
- uses: actions/checkout@v3
- name: Use Node.js
uses: actions/setup-node@v3
with:
node-version: '16'
- name: Run npm steps
run: |
npm install
@ -41,10 +44,12 @@ jobs:
outputs:
pushedTag: ${{ steps.deploy-release-tag.outputs.pushedTag }}
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v3
with:
fetch-depth: 2
- uses: actions/setup-node@v4
- uses: actions/setup-node@v3
with:
node-version: '16'
- name: deploy-release-tag
id: deploy-release-tag
if: github.ref == 'refs/heads/main' && github.repository == 'abapGit/abapGit'
@ -59,16 +64,16 @@ jobs:
needs: [build-merged, auto-tag]
if: github.ref == 'refs/heads/main' && github.repository == 'abapGit/abapGit' && !!needs.auto-tag.outputs.pushedTag
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v3
with:
repository: abapGit/build
path: build
ssh-key: ${{ secrets.DEPLOY_ABAPGIT_BUILD }}
- uses: actions/checkout@v4
- uses: actions/checkout@v3
with:
path: abapGit
- name: mirror tag to the artifact
env:
GITHUB_API_KEY: ${{ secrets.DEPLOY_ABAPGIT_BUILD }}
GIT_USER_NAME: 'github-actions[bot]'
GIT_USER_EMAIL: 'github-actions[bot]@users.noreply.github.com'
run: |
@ -79,8 +84,10 @@ jobs:
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: '16'
- name: npm run unit
run: |
npm install

View File

@ -1,11 +0,0 @@
name: REUSE Compliance Check
on: [pull_request, workflow_dispatch]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: REUSE Compliance Check
uses: fsfe/reuse-action@v5

View File

@ -11,9 +11,12 @@ jobs:
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
- run: |
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: '16'
- name: npm install
run: |
npm install
npm run eslint
npm run merge
@ -29,21 +32,15 @@ jobs:
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
- run: npm install
- run: npm run unit
- run: npm run coverage
integration:
runs-on: ubuntu-latest
needs: unit-tests
timeout-minutes: 10
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
- run: npm install
- name: start gitea
working-directory: test/gitea/
run: npm install && npm run gitea
- run: npm run integration
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: '16'
- name: npm install
run: npm install
- name: npm run unit
run: npm run unit
- name: npm run coverage
run: npm run coverage
- name: npm run integration
run: npm run integration

9
.gitignore vendored
View File

@ -6,11 +6,4 @@ lint_deps
output
ci/*.abap
allure-report
coverage
Heap.*
list.txt
/test-results/
/playwright-report/
/blob-report/
/playwright/.cache/
.DS_Store
coverage

View File

@ -1,20 +0,0 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: abapGit
Upstream-Contact: Lars Hvam
Source: https://github.com/abapGit/abapGit
Files: *
Copyright: 2014 abapGit Contributors <https://abapgit.org>
License: MIT
Files: src/ui/zabapgit_icon_font*
Copyright: 2021 Font Awesome <https://fontawesome.com/>
License: CC-BY-4.0
Files: src/json/*
Copyright: 2020 Alexander Tsybulsky <https://github.com/sbcgua/ajson>
License: MIT
Files: src/stringmap/*
Copyright: 2020 Alexander Tsybulsky <https://github.com/sbcgua/abap-string-map>
License: MIT

View File

@ -2,131 +2,45 @@
## Our Pledge
We as members, contributors, and leaders pledge to make participation in our
community a harassment-free experience for everyone, regardless of age, body
size, visible or invisible disability, ethnicity, sex characteristics, gender
identity and expression, level of experience, education, socio-economic status,
nationality, personal appearance, race, caste, color, religion, or sexual identity
and orientation.
We pledge to act and interact in ways that contribute to an open, welcoming,
diverse, inclusive, and healthy community.
In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
## Our Standards
Examples of behavior that contributes to a positive environment for our
community include:
Examples of behavior that contributes to creating a positive environment include:
* Demonstrating empathy and kindness toward other people
* Being respectful of differing opinions, viewpoints, and experiences
* Giving and gracefully accepting constructive feedback
* Accepting responsibility and apologizing to those affected by our mistakes,
and learning from the experience
* Focusing on what is best not just for us as individuals, but for the
overall community
* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members
Examples of unacceptable behavior include:
Examples of unacceptable behavior by participants include:
* The use of sexualized language or imagery, and sexual attention or
advances of any kind
* Trolling, insulting or derogatory comments, and personal or political attacks
* The use of sexualized language or imagery and unwelcome sexual attention or advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or email
address, without their explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting
* Publishing others' private information, such as a physical or electronic address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a professional setting
## Enforcement Responsibilities
## Our Responsibilities
Community leaders are responsible for clarifying and enforcing our standards of
acceptable behavior and will take appropriate and fair corrective action in
response to any behavior that they deem inappropriate, threatening, offensive,
or harmful.
Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.
Community leaders have the right and responsibility to remove, edit, or reject
comments, commits, code, wiki edits, issues, and other contributions that are
not aligned to this Code of Conduct, and will communicate reasons for moderation
decisions when appropriate.
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
## Scope
This Code of Conduct applies within all community spaces, and also applies when
an individual is officially representing the community in public spaces.
Examples of representing our community include using an official e-mail address,
posting via an official social media account, or acting as an appointed
representative at an online or offline event.
This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported to the community leaders responsible for enforcement in the abapGit
Slack at https://communityinviter.com/apps/abapgit/abap.
All complaints will be reviewed and investigated promptly and fairly.
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at https://abapgit-slackinviter.herokuapp.com/. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
All community leaders are obligated to respect the privacy and security of the
reporter of any incident.
## Enforcement Guidelines
Community leaders will follow these Community Impact Guidelines in determining
the consequences for any action they deem in violation of this Code of Conduct:
### 1. Correction
**Community Impact**: Use of inappropriate language or other behavior deemed
unprofessional or unwelcome in the community.
**Consequence**: A private, written warning from community leaders, providing
clarity around the nature of the violation and an explanation of why the
behavior was inappropriate. A public apology may be requested.
### 2. Warning
**Community Impact**: A violation through a single incident or series
of actions.
**Consequence**: A warning with consequences for continued behavior. No
interaction with the people involved, including unsolicited interaction with
those enforcing the Code of Conduct, for a specified period of time. This
includes avoiding interactions in community spaces as well as external channels
like social media. Violating these terms may lead to a temporary or
permanent ban.
### 3. Temporary Ban
**Community Impact**: A serious violation of community standards, including
sustained inappropriate behavior.
**Consequence**: A temporary ban from any sort of interaction or public
communication with the community for a specified period of time. No public or
private interaction with the people involved, including unsolicited interaction
with those enforcing the Code of Conduct, is allowed during this period.
Violating these terms may lead to a permanent ban.
### 4. Permanent Ban
**Community Impact**: Demonstrating a pattern of violation of community
standards, including sustained inappropriate behavior, harassment of an
individual, or aggression toward or disparagement of classes of individuals.
**Consequence**: A permanent ban from any sort of public interaction within
the community.
Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
version 2.1, available at
[https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1].
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]
Community Impact Guidelines were inspired by
[Mozilla's code of conduct enforcement ladder][Mozilla CoC].
For answers to common questions about this code of conduct, see the FAQ at
[https://www.contributor-covenant.org/faq][FAQ]. Translations are available
at [https://www.contributor-covenant.org/translations][translations].
[homepage]: https://www.contributor-covenant.org
[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html
[Mozilla CoC]: https://github.com/mozilla/diversity
[FAQ]: https://www.contributor-covenant.org/faq
[translations]: https://www.contributor-covenant.org/translations
[homepage]: http://contributor-covenant.org
[version]: http://contributor-covenant.org/version/1/4/

View File

@ -1,6 +1,6 @@
## General advice
* If you're new and want to help out, try one of [these](https://github.com/larshp/abapGit/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22). They should not be complicated to implement but require you to get the project up and running. Or pick something that annoys you. Fix a typo. Improve an error message. Correct some [coding conventions](https://docs.abapgit.org/development-guide/). Or try something unusual just to see if it works and if it doesn't, open an issue.
* If you're new and want to help out, try one of [these](https://github.com/larshp/abapGit/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22). They should not be complicated to implement but require you to get the project up and running. Or pick something that annoys you. Fix a typo. Improve an error message. Correct some [coding conventions](https://docs.abapgit.org/development/guidelines.html). Or try something unusual just to see if it works and if it doesn't, open an issue.
* Before starting any significant development, open an issue and propose your solution first. A discussion can save a lot of unnecessary work. It also helps others know that this is being worked on.
@ -26,8 +26,8 @@ A good bug report should not leave others needing to chase you up for more infor
## Development Guidelines
https://docs.abapgit.org/development-guide/
http://docs.abapgit.org/development/guidelines.html
## Building/Creating a PR
https://docs.abapgit.org/development-guide/read-first/contributing.html
http://docs.abapgit.org/development/contributing.html

View File

@ -1,396 +0,0 @@
Attribution 4.0 International
=======================================================================
Creative Commons Corporation ("Creative Commons") is not a law firm and
does not provide legal services or legal advice. Distribution of
Creative Commons public licenses does not create a lawyer-client or
other relationship. Creative Commons makes its licenses and related
information available on an "as-is" basis. Creative Commons gives no
warranties regarding its licenses, any material licensed under their
terms and conditions, or any related information. Creative Commons
disclaims all liability for damages resulting from their use to the
fullest extent possible.
Using Creative Commons Public Licenses
Creative Commons public licenses provide a standard set of terms and
conditions that creators and other rights holders may use to share
original works of authorship and other material subject to copyright
and certain other rights specified in the public license below. The
following considerations are for informational purposes only, are not
exhaustive, and do not form part of our licenses.
Considerations for licensors: Our public licenses are
intended for use by those authorized to give the public
permission to use material in ways otherwise restricted by
copyright and certain other rights. Our licenses are
irrevocable. Licensors should read and understand the terms
and conditions of the license they choose before applying it.
Licensors should also secure all rights necessary before
applying our licenses so that the public can reuse the
material as expected. Licensors should clearly mark any
material not subject to the license. This includes other CC-
licensed material, or material used under an exception or
limitation to copyright. More considerations for licensors:
wiki.creativecommons.org/Considerations_for_licensors
Considerations for the public: By using one of our public
licenses, a licensor grants the public permission to use the
licensed material under specified terms and conditions. If
the licensor's permission is not necessary for any reason--for
example, because of any applicable exception or limitation to
copyright--then that use is not regulated by the license. Our
licenses grant only permissions under copyright and certain
other rights that a licensor has authority to grant. Use of
the licensed material may still be restricted for other
reasons, including because others have copyright or other
rights in the material. A licensor may make special requests,
such as asking that all changes be marked or described.
Although not required by our licenses, you are encouraged to
respect those requests where reasonable. More considerations
for the public:
wiki.creativecommons.org/Considerations_for_licensees
=======================================================================
Creative Commons Attribution 4.0 International Public License
By exercising the Licensed Rights (defined below), You accept and agree
to be bound by the terms and conditions of this Creative Commons
Attribution 4.0 International Public License ("Public License"). To the
extent this Public License may be interpreted as a contract, You are
granted the Licensed Rights in consideration of Your acceptance of
these terms and conditions, and the Licensor grants You such rights in
consideration of benefits the Licensor receives from making the
Licensed Material available under these terms and conditions.
Section 1 -- Definitions.
a. Adapted Material means material subject to Copyright and Similar
Rights that is derived from or based upon the Licensed Material
and in which the Licensed Material is translated, altered,
arranged, transformed, or otherwise modified in a manner requiring
permission under the Copyright and Similar Rights held by the
Licensor. For purposes of this Public License, where the Licensed
Material is a musical work, performance, or sound recording,
Adapted Material is always produced where the Licensed Material is
synched in timed relation with a moving image.
b. Adapter's License means the license You apply to Your Copyright
and Similar Rights in Your contributions to Adapted Material in
accordance with the terms and conditions of this Public License.
c. Copyright and Similar Rights means copyright and/or similar rights
closely related to copyright including, without limitation,
performance, broadcast, sound recording, and Sui Generis Database
Rights, without regard to how the rights are labeled or
categorized. For purposes of this Public License, the rights
specified in Section 2(b)(1)-(2) are not Copyright and Similar
Rights.
d. Effective Technological Measures means those measures that, in the
absence of proper authority, may not be circumvented under laws
fulfilling obligations under Article 11 of the WIPO Copyright
Treaty adopted on December 20, 1996, and/or similar international
agreements.
e. Exceptions and Limitations means fair use, fair dealing, and/or
any other exception or limitation to Copyright and Similar Rights
that applies to Your use of the Licensed Material.
f. Licensed Material means the artistic or literary work, database,
or other material to which the Licensor applied this Public
License.
g. Licensed Rights means the rights granted to You subject to the
terms and conditions of this Public License, which are limited to
all Copyright and Similar Rights that apply to Your use of the
Licensed Material and that the Licensor has authority to license.
h. Licensor means the individual(s) or entity(ies) granting rights
under this Public License.
i. Share means to provide material to the public by any means or
process that requires permission under the Licensed Rights, such
as reproduction, public display, public performance, distribution,
dissemination, communication, or importation, and to make material
available to the public including in ways that members of the
public may access the material from a place and at a time
individually chosen by them.
j. Sui Generis Database Rights means rights other than copyright
resulting from Directive 96/9/EC of the European Parliament and of
the Council of 11 March 1996 on the legal protection of databases,
as amended and/or succeeded, as well as other essentially
equivalent rights anywhere in the world.
k. You means the individual or entity exercising the Licensed Rights
under this Public License. Your has a corresponding meaning.
Section 2 -- Scope.
a. License grant.
1. Subject to the terms and conditions of this Public License,
the Licensor hereby grants You a worldwide, royalty-free,
non-sublicensable, non-exclusive, irrevocable license to
exercise the Licensed Rights in the Licensed Material to:
a. reproduce and Share the Licensed Material, in whole or
in part; and
b. produce, reproduce, and Share Adapted Material.
2. Exceptions and Limitations. For the avoidance of doubt, where
Exceptions and Limitations apply to Your use, this Public
License does not apply, and You do not need to comply with
its terms and conditions.
3. Term. The term of this Public License is specified in Section
6(a).
4. Media and formats; technical modifications allowed. The
Licensor authorizes You to exercise the Licensed Rights in
all media and formats whether now known or hereafter created,
and to make technical modifications necessary to do so. The
Licensor waives and/or agrees not to assert any right or
authority to forbid You from making technical modifications
necessary to exercise the Licensed Rights, including
technical modifications necessary to circumvent Effective
Technological Measures. For purposes of this Public License,
simply making modifications authorized by this Section 2(a)
(4) never produces Adapted Material.
5. Downstream recipients.
a. Offer from the Licensor -- Licensed Material. Every
recipient of the Licensed Material automatically
receives an offer from the Licensor to exercise the
Licensed Rights under the terms and conditions of this
Public License.
b. No downstream restrictions. You may not offer or impose
any additional or different terms or conditions on, or
apply any Effective Technological Measures to, the
Licensed Material if doing so restricts exercise of the
Licensed Rights by any recipient of the Licensed
Material.
6. No endorsement. Nothing in this Public License constitutes or
may be construed as permission to assert or imply that You
are, or that Your use of the Licensed Material is, connected
with, or sponsored, endorsed, or granted official status by,
the Licensor or others designated to receive attribution as
provided in Section 3(a)(1)(A)(i).
b. Other rights.
1. Moral rights, such as the right of integrity, are not
licensed under this Public License, nor are publicity,
privacy, and/or other similar personality rights; however, to
the extent possible, the Licensor waives and/or agrees not to
assert any such rights held by the Licensor to the limited
extent necessary to allow You to exercise the Licensed
Rights, but not otherwise.
2. Patent and trademark rights are not licensed under this
Public License.
3. To the extent possible, the Licensor waives any right to
collect royalties from You for the exercise of the Licensed
Rights, whether directly or through a collecting society
under any voluntary or waivable statutory or compulsory
licensing scheme. In all other cases the Licensor expressly
reserves any right to collect such royalties.
Section 3 -- License Conditions.
Your exercise of the Licensed Rights is expressly made subject to the
following conditions.
a. Attribution.
1. If You Share the Licensed Material (including in modified
form), You must:
a. retain the following if it is supplied by the Licensor
with the Licensed Material:
i. identification of the creator(s) of the Licensed
Material and any others designated to receive
attribution, in any reasonable manner requested by
the Licensor (including by pseudonym if
designated);
ii. a copyright notice;
iii. a notice that refers to this Public License;
iv. a notice that refers to the disclaimer of
warranties;
v. a URI or hyperlink to the Licensed Material to the
extent reasonably practicable;
b. indicate if You modified the Licensed Material and
retain an indication of any previous modifications; and
c. indicate the Licensed Material is licensed under this
Public License, and include the text of, or the URI or
hyperlink to, this Public License.
2. You may satisfy the conditions in Section 3(a)(1) in any
reasonable manner based on the medium, means, and context in
which You Share the Licensed Material. For example, it may be
reasonable to satisfy the conditions by providing a URI or
hyperlink to a resource that includes the required
information.
3. If requested by the Licensor, You must remove any of the
information required by Section 3(a)(1)(A) to the extent
reasonably practicable.
4. If You Share Adapted Material You produce, the Adapter's
License You apply must not prevent recipients of the Adapted
Material from complying with this Public License.
Section 4 -- Sui Generis Database Rights.
Where the Licensed Rights include Sui Generis Database Rights that
apply to Your use of the Licensed Material:
a. for the avoidance of doubt, Section 2(a)(1) grants You the right
to extract, reuse, reproduce, and Share all or a substantial
portion of the contents of the database;
b. if You include all or a substantial portion of the database
contents in a database in which You have Sui Generis Database
Rights, then the database in which You have Sui Generis Database
Rights (but not its individual contents) is Adapted Material; and
c. You must comply with the conditions in Section 3(a) if You Share
all or a substantial portion of the contents of the database.
For the avoidance of doubt, this Section 4 supplements and does not
replace Your obligations under this Public License where the Licensed
Rights include other Copyright and Similar Rights.
Section 5 -- Disclaimer of Warranties and Limitation of Liability.
a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE
EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS
AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF
ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS,
IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION,
WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS,
ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT
KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT
ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU.
b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE
TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION,
NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT,
INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES,
COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR
USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN
ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR
DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR
IN PART, THIS LIMITATION MAY NOT APPLY TO YOU.
c. The disclaimer of warranties and limitation of liability provided
above shall be interpreted in a manner that, to the extent
possible, most closely approximates an absolute disclaimer and
waiver of all liability.
Section 6 -- Term and Termination.
a. This Public License applies for the term of the Copyright and
Similar Rights licensed here. However, if You fail to comply with
this Public License, then Your rights under this Public License
terminate automatically.
b. Where Your right to use the Licensed Material has terminated under
Section 6(a), it reinstates:
1. automatically as of the date the violation is cured, provided
it is cured within 30 days of Your discovery of the
violation; or
2. upon express reinstatement by the Licensor.
For the avoidance of doubt, this Section 6(b) does not affect any
right the Licensor may have to seek remedies for Your violations
of this Public License.
c. For the avoidance of doubt, the Licensor may also offer the
Licensed Material under separate terms or conditions or stop
distributing the Licensed Material at any time; however, doing so
will not terminate this Public License.
d. Sections 1, 5, 6, 7, and 8 survive termination of this Public
License.
Section 7 -- Other Terms and Conditions.
a. The Licensor shall not be bound by any additional or different
terms or conditions communicated by You unless expressly agreed.
b. Any arrangements, understandings, or agreements regarding the
Licensed Material not stated herein are separate from and
independent of the terms and conditions of this Public License.
Section 8 -- Interpretation.
a. For the avoidance of doubt, this Public License does not, and
shall not be interpreted to, reduce, limit, restrict, or impose
conditions on any use of the Licensed Material that could lawfully
be made without permission under this Public License.
b. To the extent possible, if any provision of this Public License is
deemed unenforceable, it shall be automatically reformed to the
minimum extent necessary to make it enforceable. If the provision
cannot be reformed, it shall be severed from this Public License
without affecting the enforceability of the remaining terms and
conditions.
c. No term or condition of this Public License will be waived and no
failure to comply consented to unless expressly agreed to by the
Licensor.
d. Nothing in this Public License constitutes or may be interpreted
as a limitation upon, or waiver of, any privileges and immunities
that apply to the Licensor or You, including from the legal
processes of any jurisdiction or authority.
=======================================================================
Creative Commons is not a party to its public
licenses. Notwithstanding, Creative Commons may elect to apply one of
its public licenses to material it publishes and in those instances
will be considered the “Licensor.” The text of the Creative Commons
public licenses is dedicated to the public domain under the CC0 Public
Domain Dedication. Except for the limited purpose of indicating that
material is shared under a Creative Commons public license or as
otherwise permitted by the Creative Commons policies published at
creativecommons.org/policies, Creative Commons does not authorize the
use of the trademark "Creative Commons" or any other trademark or logo
of Creative Commons without its prior written consent including,
without limitation, in connection with any unauthorized modifications
to any of its public licenses or any other arrangements,
understandings, or agreements concerning use of licensed material. For
the avoidance of doubt, this paragraph does not form part of the
public licenses.
Creative Commons may be contacted at creativecommons.org.

View File

@ -1,19 +0,0 @@
The MIT License (MIT)
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@ -1,9 +1,7 @@
![Build](https://github.com/abapGit/abapGit/workflows/main-build/badge.svg)
![Test](https://github.com/abapGit/abapGit/workflows/test-pr/badge.svg)
[![License](https://img.shields.io/github/license/abapGit/abapGit?label=License&color=green)](LICENSE)
[![REUSE Status](https://api.reuse.software/badge/github.com/abapGit/abapGit?color=success)](https://api.reuse.software/info/github.com/abapGit/abapGit)
[![Slack](https://img.shields.io/badge/Join-Slack-blue)](https://communityinviter.com/apps/abapgit/abap)
[![abap package version](https://img.shields.io/endpoint?url=https://shield.abappm.com/github/abapGit/abapGit/-main/src/zif_abapgit_version.intf.abap/c_abap_version&label=version)](https://github.com/abapGit/abapGit/blob/main/src/zif_abapgit_version.intf.abap)
[![abap package version](https://img.shields.io/endpoint?url=https://shield.abap.space/version-shield-json/github/abapGit/abapGit/src/zif_abapgit_version.intf.abap/c_abap_version&label=version)](https://github.com/abapGit/abapGit/blob/main/src/zif_abapgit_version.intf.abap)
<!--
<picture>
@ -29,7 +27,7 @@ Works with: [GitHub](https://github.com/),
[Azure DevOps](https://azure.microsoft.com/en-us/services/devops) and
[more](https://git.wiki.kernel.org/index.php/GitHosting).
ABAP Version: 702 SP 8 or higher
ABAP Version: 702 or higher
Latest build: [zabapgit_standalone.prog.abap](https://raw.githubusercontent.com/abapGit/build/main/zabapgit_standalone.prog.abap)
@ -48,8 +46,6 @@ It is recommended to use SAP GUI for Windows, since there are known issues relat
https://docs.abapgit.org
[Join Slack channel](https://communityinviter.com/apps/abapgit/abap)
## Contributing
You can find the contribution guidelines [here](CONTRIBUTING.md).
@ -66,7 +62,4 @@ For questions/comments/bugs/feature requests/wishes please create an [issue](htt
## Credits and References
- 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))
- [AFF](https://github.com/SAP/abap-file-formats) formats are by SAP ([MIT](LICENSES/MIT.txt))
Icons used in abapGit are created from [Font Awesome](https://fontawesome.com/) free icon set ([CC BY 4.0 License](https://fontawesome.com/license/free)).

View File

@ -1,3 +0,0 @@
# Reporting Security Issues
To report a security issue, please use the GitHub Security Advisory ["Report a Vulnerability"](https://github.com/abapGit/abapGit/security/advisories/new) tab.

View File

@ -1,35 +1,35 @@
{
"global": {
"files": "/{test/src,src}/**/*.*",
"skipGeneratedFunctionGroups": true,
"files": "/{test,src}/**/*.*",
"skipGeneratedGatewayClasses": true,
"skipGeneratedPersistentClasses": true
"skipGeneratedPersistentClasses": true,
"skipGeneratedFunctionGroups": true
},
"dependencies": [
{
"files": "/**/*.*",
"folder": "/deps"
"folder": "/deps",
"files": "/**/*.*"
},
{
"url": "https://github.com/abaplint/deps",
"files": "/src/**/*.*",
"folder": "/lint_deps"
"folder": "/lint_deps",
"files": "/src/**/*.*"
}
],
"syntax": {
"errorNamespace": "^(Z|Y|LT?CL_|TY_|LIF_|C_|.*ABAPGIT)",
"version": "v702",
"errorNamespace": "^(Z|Y|LT?CL_|TY_|LIF_|.*ABAPGIT)",
"globalConstants": [
"abap_func_exporting",
"abap_func_tables",
"cssf_formtype_text",
"seok_access_free",
"seok_access_modify",
"seok_pgmid_r3tr",
"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",
@ -46,254 +46,254 @@
"wdyn_limu_component_definition",
"wdyn_limu_component_view"
],
"version": "v702"
"globalMacros": []
},
"rules": {
"cds_legacy_view": true,
"superfluous_value": true,
"classic_exceptions_overlap": true,
"local_testclass_consistency": true,
"no_external_form_calls": false,
"no_inline_in_optional_branches": true,
"pragma_style": true,
"slow_parameter_passing": false,
"unnecessary_pragma": false,
"align_parameters": false,
"cds_parser_error": true,
"constant_classes": true,
"no_aliases": false,
"nrob_consistency": true,
"omit_preceding_zeros": true,
"prefer_corresponding": true,
"static_call_via_instance": false,
"unnecessary_chaining": false,
"unsecure_fae": false,
"identical_descriptions": false,
"modify_only_own_db_tables": false,
"no_yoda_conditions": false,
"no_chained_assignment": true,
"select_add_order_by": false,
"dangerous_statement": false,
"db_operation_in_loop": false,
"select_performance": false,
"max_one_method_parameter_per_line": true,
"unused_ddic": true,
"prefer_raise_exception_new": true,
"use_class_based_exceptions": true,
"uncaught_exception": true,
"intf_referencing_clas": false,
"method_implemented_twice": true,
"parser_702_chaining": true,
"sy_modification": {
"exclude": [
"zcl_abapgit_objects_program.clas.abap"
]
},
"call_transaction_authority_check": true,
"function_module_recommendations": false,
"method_overwrites_builtin": {
"exclude": [
"zcl_abapgit_stage.clas.abap",
"zif_abapgit_log.intf.abap"
]
},
"omit_parameter_name": false,
"omit_receiving": true,
"unused_methods": true,
"identical_contents": false,
"many_parentheses": true,
"prefer_xsdbool": true,
"prefer_is_not": false,
"use_bool_expression": true,
"check_subrc": false,
"cyclomatic_complexity": {
"max": 25
},
"identical_conditions": true,
"use_line_exists": true,
"line_break_style": true,
"forbidden_pseudo_and_pragma": {
"ignoreGlobalClassDefinition": true,
"ignoreGlobalInterface": true,
"pragmas": ["##NO_TEXT"],
"pseudo": ["#EC NOTEXT"]
},
"unused_types": {
"exclude": ["/aff_types/"]
},
"begin_single_include": true,
"names_no_dash": true,
"parser_missing_space": true,
"prefer_inline": false,
"reduce_string_templates": true,
"downport": false,
"line_break_multiple_parameters": true,
"unknown_types": true,
"forbidden_void_type": {
"check": ["^stringtab$", "^SYCHAR01$", "^char2$", "^char20$", "^int4$", "^SYREPID$",
"^flag$", "^char12$", "^char10$", "^char70$", "^char4$", "^sydatum$", "^syuzeit$",
"^syst_title$", "^sychar70$", "^char30$", "^char50$",
"^numc2$", "^sap_bool$", "^SYCHAR10$", "^sylangu$",
"^cl_blue_wb_utility$", "^boole_d$",
"^cl_srvd_wb_object_data$", "^cx_aff_", "^cl_aff_", "^if_aff_",
"^cl_wb_object_operator_factory$",
"^cl_aunit_assert$",
"^I18_A_LANGISO2$",
"^if_adt_lock_handle$",
"^cx_wb_object_operation_error$",
"^if_srvd_types$", "^xubname$",
"^if_wb_adt_plugin_resource_co$",
"^if_wb_object_data_selection_co$",
"^if_wb_object_operator$",
"^cl_abap_syst",
"^SABP_T_TADIR_KEYS$",
"^CL_OO_SOURCE$",
"^CL_SAUNIT_INTERNAL_RESULT$",
"^CL_AUCV_TEST_RUNNER_ABSTRACT$",
"^IF_SAUNIT_INTERNAL_RESULT$",
"^IF_SAUNIT_INTERNAL_RESULT_TYPE$",
"^CL_AUCV_TEST_RUNNER_STANDARD$"
]
},
"forbidden_identifier": true,
"try_without_catch": true,
"unused_variables": false,
"prefix_is_current_class": true,
"allowed_object_naming": true,
"check_comments": false,
"cyclic_oo": false,
"fully_type_constants": true,
"keep_single_parameter_on_one_line": true,
"prefer_returning_to_exporting": {
"exclude": ["/json/"]
},
"selection_screen_naming": true,
"sicf_consistency": true,
"sql_escape_host_variables": true,
"xml_consistency": true,
"newline_between_methods": false,
"chain_mainly_declarations": {
"definitions": true,
"write": true,
"move": true,
"refresh": true,
"unassign": true,
"sort": true,
"clear": true,
"hide": true,
"free": true,
"include": true,
"check": true
},
"check_abstract": true,
"check_text_elements": true,
"types_naming": {
"pattern": "^TY_.+$",
"exclude": ["/json/"]
},
"7bit_ascii": {
"exclude": [
"zcl_abapgit_git_commit.clas.testclasses.abap",
"zcl_abapgit_gui_event.clas.testclasses.abap",
"zcl_abapgit_utils.clas.testclasses.abap",
"zcl_abapgit_html_action_utils.clas.testclasses.abap"
]
},
"abapdoc": false,
"align_type_expressions": true,
"align_pseudo_comments": false,
"invalid_table_index": true,
"tables_declared_locally": true,
"unused_macros": true,
"align_parameters": false,
"allowed_object_naming": true,
"check_ddic": true,
"check_include": true,
"allowed_object_types": {
"exclude": ["test/src/"],
"allowed": [
"CLAS",
"DEVC",
"FUGR",
"INTF",
"PROG",
"CLAS",
"INTF",
"FUGR",
"DEVC",
"TRAN",
"W3MI"
]
},
"ambiguous_statement": true,
"avoid_use": {
"break": true,
"defaultKey": false,
"define": true,
"testSeams": true,
"defaultKey": false,
"describeLines": true,
"exportToDatabase": true,
"exportToMemory": false,
"statics": true,
"testSeams": true
"break": true,
"statics": true
},
"begin_end_names": true,
"begin_single_include": true,
"call_transaction_authority_check": true,
"cds_comment_style": true,
"cds_legacy_view": true,
"cds_parser_error": true,
"chain_mainly_declarations": {
"check": true,
"clear": true,
"definitions": true,
"free": true,
"hide": true,
"include": true,
"move": true,
"refresh": true,
"sort": true,
"unassign": true,
"write": true
},
"change_if_to_case": false,
"check_abstract": true,
"check_comments": false,
"check_ddic": true,
"check_include": true,
"check_subrc": false,
"check_syntax": true,
"check_text_elements": true,
"check_transformation_exists": true,
"check_syntax": true,
"class_attribute_names": {
"constants": "^C_.*$",
"exclude": [
"/json/",
"zif_abapgit_objects"
],
"ignoreExceptions": true,
"ignoreInterfaces": false,
"statics": "^G._.*$",
"ignoreLocal": false,
"instance": "^M._.*$",
"statics": "^G._.*$"
"constants": "",
"instance": "^M._.*$"
},
"classic_exceptions_overlap": true,
"cloud_types": true,
"colon_missing_space": true,
"commented_code": {
"allowIncludeInFugr": false,
"exclude": [
"intf",
"otgr"
]
"exclude": ["otgr", "intf"]
},
"constant_classes": true,
"constructor_visibility_public": true,
"contains_tab": true,
"cyclic_oo": false,
"cyclomatic_complexity": {
"max": 25
},
"dangerous_statement": false,
"db_operation_in_loop": false,
"definitions_top": {
"exclude": [
"/json/"
]
"exclude": ["/json/"]
},
"description_empty": {
"exclude": [
"/test/"
]
"exclude": ["/test/"]
},
"double_space": true,
"downport": false,
"add_test_attributes": true,
"implicit_start_of_selection": true,
"empty_event": true,
"dynpro_checks": false,
"easy_to_find_messages": false,
"double_space": false,
"empty_line_in_statement": {
"allowChained": true
},
"empty_statement": true,
"empty_structure": {
"at": true,
"case": true,
"do": true,
"loopAllowIfSubrc": false,
"if": false,
"loop": true,
"select": true,
"if": false,
"try": true,
"while": true,
"case": true,
"select": true,
"when": false,
"while": true
"do": true,
"at": true
},
"exit_or_check": true,
"expand_macros": true,
"exporting": true,
"forbidden_identifier": true,
"forbidden_pseudo_and_pragma": {
"ignoreGlobalClassDefinition": true,
"ignoreGlobalInterface": true,
"pragmas": [
"##NO_TEXT"
],
"pseudo": [
"#EC NOTEXT"
]
},
"forbidden_void_type": {
"check": [
"^boole_d$",
"^char10$",
"^char12$",
"^char2$",
"^char20$",
"^char30$",
"^char4$",
"^char50$",
"^char70$",
"^cl_abap_syst",
"^cl_aff_",
"^cl_aucv_test_runner_abstract$",
"^cl_aucv_test_runner_standard$",
"^cl_aunit_assert$",
"^cl_axt_dbtable$",
"^cl_blue_wb_utility$",
"^cl_oo_source$",
"^cl_saunit_internal_result$",
"^cl_srvd_wb_object_data$",
"^cl_wb_object_operator_factory$",
"^cl_wer_const$",
"^cl_xco_",
"^cx_aff_",
"^cx_wb_object_operation_error$",
"^cx_xco_",
"^flag$",
"^i18_a_langiso2$",
"^if_adt_lock_handle$",
"^if_aff_",
"^if_satc_ci_variant_access$",
"^if_saunit_internal_result_type$",
"^if_saunit_internal_result$",
"^if_srvd_types$",
"^if_wb_adt_plugin_resource_co$",
"^if_wb_object_data_selection_co$",
"^if_wb_object_operator$",
"^if_xco_",
"^int4$",
"^numc2$",
"^pgmid$",
"^sabp_t_tadir_keys$",
"^sap_bool$",
"^srcsystem$",
"^stringtab$",
"^sychar01$",
"^sychar10$",
"^sychar70$",
"^sydatum$",
"^sylangu$",
"^syst_langu$",
"^syst_title$",
"^syuzeit$",
"^xubname$"
]
},
"form_tables_obsolete": true,
"fully_type_constants": true,
"fully_type_itabs": false,
"function_module_recommendations": false,
"form_tables_obsolete": false,
"functional_writing": {
"ignoreExceptions": true
},
"global_class": true,
"identical_conditions": true,
"identical_contents": false,
"identical_descriptions": false,
"identical_form_names": true,
"if_in_if": true,
"implement_methods": true,
"in_statement_indentation": false,
"indentation": {
"alignTryCatch": false,
"globalClassSkipFirst": false,
"ignoreExceptions": true,
"alignTryCatch": false,
"selectionScreenBlockIndentation": false,
"globalClassSkipFirst": false,
"ignoreGlobalClassDefinition": false,
"ignoreGlobalInterface": false,
"selectionScreenBlockIndentation": false
"ignoreGlobalInterface": false
},
"inline_data_old_versions": true,
"intf_referencing_clas": false,
"keep_single_parameter_on_one_line": true,
"keyword_case": {
"style": "upper",
"ignoreExceptions": true,
"ignoreFunctionModuleName": false,
"ignoreGlobalClassBoundaries": false,
"ignoreLowerClassImplmentationStatement": true,
"ignoreGlobalClassDefinition": false,
"ignoreGlobalInterface": false,
"ignoreKeywords": [],
"ignoreLowerClassImplmentationStatement": true,
"style": "upper"
"ignoreGlobalClassBoundaries": false,
"ignoreFunctionModuleName": false
},
"line_break_multiple_parameters": true,
"line_break_style": true,
"line_length": {
"exclude": [
"/json/",
"zcl_abapgit_object_pdts.clas.testclasses.abap"
],
"length": 125
"length": 120,
"exclude": ["zcl_abapgit_object_pdts.clas.testclasses.abap", "/json/"]
},
"line_only_punc": {
"ignoreExceptions": true
@ -303,207 +303,100 @@
"local": "^LCL_.*$",
"test": "^LT.+$"
},
"local_testclass_consistency": true,
"local_variable_names": {
"exclude": [
"/json/"
],
"expectedConstant": "^LC_.*$",
"expectedData": "^L._.*$",
"expectedFS": "^<L._.*>$"
"expectedConstant": "^LC_.*$",
"expectedFS": "^<L._.*>$",
"exclude": ["/json/"]
},
"main_file_contents": true,
"many_parentheses": true,
"max_one_method_parameter_per_line": true,
"max_one_statement": true,
"message_exists": true,
"method_implemented_twice": true,
"message_exists": false,
"method_length": {
"exclude": [
"zcl_abapgit_convert.clas.locals_imp.abap"
],
"statements": 100,
"checkForms": true,
"errorWhenEmpty": false,
"ignoreTestClasses": false,
"statements": 110
},
"method_overwrites_builtin": {
"exclude": [
"zcl_abapgit_stage.clas.abap",
"zif_abapgit_log.intf.abap"
]
"errorWhenEmpty": false
},
"method_parameter_names": {
"changing": "^C._.*$",
"exclude": [
"/json/"
],
"exporting": "^E._.*$",
"ignoreExceptions": true,
"importing": "^I._.*$",
"returning": "^R._.*$",
"changing": "^C._.*$",
"exporting": "^E._.*$",
"ignoreNames": [
"P_TASK"
],
"importing": "^I._.*$",
"returning": "^R._.*$"
"exclude": ["/json/"]
},
"mix_returning": true,
"modify_only_own_db_tables": false,
"msag_consistency": true,
"names_no_dash": true,
"nesting": {
"depth": 6
},
"newline_between_methods": false,
"no_aliases": {
"exclude": [
"/json/",
"zcl_abapgit_repo.clas.abap",
"zcl_abapgit_repo_online.clas.abap"
]
},
"no_chained_assignment": true,
"no_external_form_calls": false,
"no_inline_in_optional_branches": true,
"no_public_attributes": false,
"no_yoda_conditions": false,
"nrob_consistency": true,
"object_naming": {
"auth": "^Z",
"clas": "^ZC(L|X)\\_ABAPGIT\\_",
"doma": "^Z",
"dtel": "^Z",
"enqu": "^EZ",
"fugr": "^ZABAPGIT",
"idoc": "^Z",
"intf": "^ZIF\\_ABAPGIT\\_",
"msag": "^Z",
"pinf": "^Z",
"prog": "^ZABAPGIT",
"shlp": "^Z",
"fugr": "^ZABAPGIT",
"tabl": "^Z",
"ttyp": "^Z",
"dtel": "^Z",
"doma": "^Z",
"msag": "^Z",
"tran": "^Z",
"enqu": "^EZ",
"auth": "^Z",
"pinf": "^Z",
"idoc": "^Z",
"ssfo": "^Z",
"ssst": "^Z",
"tabl": "^Z",
"tran": "^Z",
"ttyp": "^Z",
"shlp": "^Z",
"xslt": "^Z"
},
"obsolete_statement": true,
"omit_parameter_name": {
"exclude": [
"/json/"
]
},
"omit_preceding_zeros": true,
"omit_receiving": true,
"parser_702_chaining": true,
"parser_error": true,
"parser_missing_space": true,
"pragma_style": true,
"prefer_corresponding": true,
"prefer_inline": false,
"prefer_is_not": false,
"prefer_pragmas": false,
"prefer_raise_exception_new": true,
"prefer_returning_to_exporting": {
"exclude": [
"/json/"
]
},
"prefer_xsdbool": true,
"preferred_compare_operator": {
"badOperators": [
"><",
"EQ",
"><",
"NE",
"GE",
"GT",
"LE",
"LT",
"NE"
"LE"
]
},
"prefix_is_current_class": true,
"reduce_string_templates": true,
"release_idoc": true,
"remove_descriptions": {
"exclude": [
"/json/"
],
"ignoreWorkflow": false,
"ignoreExceptions": false,
"ignoreWorkflow": false
"exclude": ["/json/"]
},
"rfc_error_handling": false,
"select_add_order_by": {
"skipForAllEntries": true
},
"select_performance": false,
"select_single_full_key": true,
"selection_screen_naming": true,
"sequential_blank": {
"lines": 4
},
"short_case": {
"length": 1,
"allow": [
"iv_action",
"sy"
],
"length": 1
]
},
"sicf_consistency": true,
"slow_parameter_passing": true,
"smim_consistency": true,
"space_before_colon": true,
"space_before_dot": {
"ignoreExceptions": true,
"ignoreGlobalDefinition": true
"ignoreGlobalDefinition": true,
"ignoreExceptions": true
},
"sql_escape_host_variables": true,
"sql_value_conversion": true,
"start_at_tab": true,
"static_call_via_instance": false,
"strict_sql": false,
"superclass_final": true,
"superfluous_value": true,
"sy_modification": {
"exclude": [
"zcl_abapgit_objects_program.clas.abap"
]
},
"tabl_enhancement_category": true,
"try_without_catch": true,
"type_form_parameters": true,
"types_naming": {
"exclude": [
"/json/"
],
"pattern": "^TY_.+$"
},
"uncaught_exception": true,
"unknown_types": true,
"unnecessary_chaining": false,
"unnecessary_pragma": {
"allowNoTextGlobal": true
},
"unnecessary_return": false,
"unreachable_code": true,
"unsecure_fae": false,
"unused_ddic": true,
"unused_methods": true,
"unused_types": {
"exclude": [
"/aff_types/"
]
},
"unused_variables": true,
"use_bool_expression": true,
"use_class_based_exceptions": {
"exclude": [
"zcl_abapgit_convert.clas.abap"
]
},
"use_line_exists": true,
"use_new": true,
"when_others_last": true,
"whitespace_end": true,
"xml_consistency": true
"whitespace_end": true
}
}

View File

@ -8,376 +8,6 @@ Legend
+ : added
- : 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
-------------------
+ DEVC,NSPC: Serialize software component for add-ons (#6891)
+ Where-used page (#6897)
+ CDBO: Customer Data Browser Object (#6930)
+ VIEW: Add authorization group to serialize and deserialize (#6918)
+ Exclude files from remote (#6942)
+ Read-only support for SXSD - Classic BAdI definition (#6958)
* Change message if local packages got lost (#6905)
* SOTS: Remove from TADIR selection (#6906)
* Fix bug in "Object to Files" Page. (#6908)
* DEVC: Fix "Package must be assigned to the software component LOCAL" (#6912)
* Improve error message for SUSH objects not being supported. (#6916)
* Use bcp47 language code for AFF (#6915)
* Suppress popup when using background API (#6926)
* Fix Issue Encountered on "Data Config" Page. (#6913)
* Bugfix, new pull page: decide package warnings (#6932)
* Set Character Limit for "Table" Field in Data Config page (#6934)
* ENHO: workaround dump during serialization (#6935)
* HOOK: catch exception (#6937)
* Sync UI theme in dark mode (#6940)
* Set Default Git User Details (#6920)
* Small performance improvement in folder logic (#6941)
* Fix folder logic buffer (#6945)
* Fix yank mode - copy to clipboad (#6946)
* Data serializer: fix carriage return problem (#6957)
* TABL: Clear DBINCLEXCL and DBSYSSELx fields (#6960)
2024-04-05 v1.128.0
-------------------
! Make HTTP/1.1 new default in abapGit (#6902)
! Distinguish between "Global Settings" and "Repository Settings" (#6759)
+ Add support for DRTY - CDS Type (#6767)
+ Add support for DTEB - CDS Entity Buffer (#6769)
+ Add "ignore sub-packages" option to package export (#6815)
+ HTTP connection check and improved error messages (#6806)
+ UIPG, UIST: Add support for Launchpad Page and Space Templates (#6873)
+ ENHO/ENHS: Add missing longtexts (#6890)
* Fix typos and adjust comments (#6778, #6779, #6780, #6783, #6785, #6786m #6858, #6864)
* User exit: include settings parameters in change_tadir() (#6775)
* Remove Duplicate Entries in Command Palette (#6763)
* Ignore macOS "Desktop Services Store" files (#6787)
* Fix ABAP Language Version Handling for Repository Setting "Any" for AFF Object Types (#6793)
* Fix bug in Command Palette (#6799)
* DIAL: Prefill package popup (#6805)
* XSLT: Add check for correct EOL separator (#6803)
* Update the text "Submit Query" in the Command Palette. (#6810)
* CLAS/INTF-SYNTAX_CHECK: Suppress status message (#6812)
* Improve error messages when checking branches/tags (#6814)
* Improve form validation of text fields (#6813)
* Fix bug in Personal settings page (#6818)
* Fix Navigation Issue in "Config Display" and "Config Edit" pages. (#6820)
* Fix Filter Application Bug (#6824)
* Change transport type when setting original system (#6816)
* FORM: Fix existence check (#6832)
* Apack: fix namespace problem (#6841)
* Remove duplicate labels from Command Palette. (#6821)
* IDOC: Fix MOVE_TO_LIT_NOTALLOWED_NODATA (#6852)
* SICF: Include alternate service name (#6853)
* Apack: additional namespace case (#6851)
* SFPI: exists() also look for inactive objects (#6867)
* Code inspector pages improvements (#6862)
* AFF: deserialize translation files (#6830)
* Fix Unexpected Functionality for "Maximum Length of Comment" Field (#6871)
* Avoid popup on exit after saving remote settings (#6875)
* Fix Hint for "Maximum Length of Comment" Field (#6877)
* Fix changing transport type when setting original system (#6870)
* Limit Package Name to 30 characters (#6889)
* Item graph: performance (#6885)
* Add specific error message for 426 http error (#6901)
2024-01-24 v1.127.0
-------------------
+ Flow Page (beta, https://docs.abapgit.org/user-guide/reference/flow.html)
+ Repo List: Make labels clickable (#6651)
+ Support short/long timestamps in field rules (#6666)
+ Add "Ignore" option for ABAP Language Version (#6663)
+ Add some stats for DB view (#6675)
+ Remember last used folder (#6677)
+ Debug info: Show exits coded in exit super class (#6708)
+ New feature: Original system (#6715)
* Prevent calls to exit implementations in tests (#6653)
* Disable superfluous check for offline repos (#6662)
* Fix filename for export to ZIP (#6664, #6665)
* DDLX: Set "Changed At" and "Changed By" (#6661)
* Fix home and back again (#6670)
* Debug page: open external links in new window (#6671)
* Fix running multiple instances of abapGit (#6679)
* CLAS: Fix deserializing child exception classes (#6682)
* IOBJ: Fix uninstall (#6685)
* TABU: Fix staging in background process (#6683)
* TABU: Fix deserializing data config (#6684)
* Check for ABAP language version during serialize (#6681)
* TSTC select, ABAP Cloud/Steampunk compatibility (#6695)
* Fix ABAP language version check (#6693)
* CLAS: Avoid popups in lower releases (#6709)
* FUGR: Fix check if include belong to function grp (#6711)
* Add object type to error message (#6714)
* Fix abapGit popups external call (#6716)
* Refresh repository to reduce memory usage in background mode (#6728)
* Remove exception when deleting files (#6729)
* Do a syntax check before accessing version constant (#6733)
* Avoid loss of log during background processing (#6736)
* Fix APACK issues (#6743)
* DDLS: deletes remaining TADIR entry during delete (#6745)
* Fix: Cannot change repo settings without version constant (#6753)
* Create package popup: Fix prefill package name (#6752)
* BG: Ensure auth buffer is cleared even in error case (#6756)
* Fix empty JSON file for AFF based objects (#6766)
2023-11-16 v1.126.0
-------------------
! Add ABAP Language Version to repo settings (experimental feature) (#6476,#6484,#6486,#6487,#6488,#6525,#6603)
! IAMU v2: Serialize MIMEs as separate file + fixes (#6515)
! SRVB: Clear metadata links (#6550)
! Change the order of popups on pull; first check prerequisites and dependencies (#6613)
! Add "name" to repository settings (#6633,#6634,#6635,#6637)
+ Add option to remove all objects but keep repository (#6499)
+ Diff View: Collapse/expand all diffs (#6511)
+ Add back button to DB page (#6521)
+ unit test page: add re-run button (#6533)
+ Improve unit test page (#6543)
+ DB edit+display page: add back button (#6545)
+ Add exit to adjust rfc server group for parallel serialization (#6503)
+ Implement changed_by for several objects (#6554)
+ Repo View: Shorten URL display (#6555)
+ Pass repo metadata to adjust_display_filename exit (#6556)
+ Improve Backup (#6617)
+ Enhance repo labels (#6442)
* Repo view: Fix display of original system (#6478)
* Consider filter at zcl_abapgit_repo_status=>calculate (#6480)
* Escape display name for javascript repo catalog (#6482)
* Remove test data container variants on pull that do not exist on the remote (#6493)
* ECTD: Fix diff after import based on sort order (#6494)
* CMPT: Remove redundant and admin fields from XML (#6502)
* Fix dump in when using namespaced package for repo (#6500)
* Do not assign T packages to a transport request (#6506)
* Fix command palette default form action with edge (#6508)
* Fix link hints for radio buttons with edge control (#6509)
* Fix unit tests in zcl_abapgit_abap_language_vers (#6516)
* SFxx: Fix missing lock checks and unlocking (#6519)
* Diff: Fix refresh of single file (#6524)
* CUS2: Add missing tadir and transport entries (#6527)
* CMPT: Fix missing transport entry on deletion (#6526)
* Fix ignoring sub-packages when adding offline repo (#6538)
* TOBJ: Serialization shows diffs on an HANA database (#6547)
* Fix 'determine_max_processes' for disabled Parallel Processing and Merged abapGit (#6559)
* PROG, FUGR: Fix handling of inactive code (#6557)
* TABL: Drop secondary indexes on pull (#6578)
* PR ENUM: fix for private repos (#6592)
* Add version constant back to repo settings (#6596)
* zlib performance optimizations (#6597)
* FUGR: Fix import of template screens (#6582)
* Show object type in activation log (#6611)
* Fix "Open in Main Language" if language is not installed (#6610)
* APACK: Manifest interface in sub-package (#6614)
* SSFO: Fix order of T_CAPTION data (#6609)
* Fix dump restoring abapGit backup (#6621)
* Fix typo in "orange" label (#6622)
* Sort pull request popup (#6623)
* SAP GUI for HTML: Fix dialog buttons (#6566)
* APACK: Allow overwriting missing dependencies (#6612)
* INTF: Fix file format feature switch (#6628)
* Fix text field when switching to offline (#6632)
* Fix APACK for namespaces (#6639)
* Fix deletion/uninstall when using local settings (#6640)
* Fix APACK performance (#6649)
2023-09-06 v1.125.0
-------------------
+ Include deletions in "Transport to Branch" (#6291)
+ Persist repository list settings (#6295)
+ Repo view: Show icon for different original language (#6297)
+ Added auto-confirmation of transport messages (#6317)
+ EEEC: Enable object handler for Event Consumption Model (#6348)
+ Separate translations from XML, PO files (#6189)
+ Unit test page result: show syntax errors (#6308)
+ SOD1/2: Add support for API Package & API Package Assignment (#6352)
+ Enhance experimental features (#6393)
+ SKTD: Knowledge Transfer Document (#6400)
+ APIS: API Release State (#6403)
+ IWOM/IWPR/TRAN: Implement changed_by (#6411)
+ Add online/offline filter option for repo list (#6449)
* Don't dump for unknown frontend (#6302)
* IDOC, TABL: Set released and closed status (#6306)
* Fix is_dirty check for Repo Settings (#6309)
* Unit test page: don't show SAUNIT_NO_TEST_CLASS err (#6310)
* Fixed links to new documentation (#6319)
* Fix "Data" page: On back go back (#6322)
* OO serializer: skip includes not found (#6324)
* Bugfix, dump GETWA_NOT_ASSIGNED (#6325)
* Fix syntax error insert report ... version (#6327)
* Fix syntax error in zcl_abapgit_file_deserialize (#6328)
* Fix dialog exit (#6326)
* Fix GUI actions for Edge browser control (#6336)
* Fix processing of TABU entries in case of multiple tables (#6338)
* Fix Code Inspector jump (#6343)
* Fix hotkeys for edge browser control (#6344)
* Handling unsupported objects in deserialize process (#6320)
* ALV: steampunk syntax compatibility (#6381)
* Fix description handling (#6384)
* TABU: Update entries with same key but different component values (#6380)
* Clarify minimum version (#6391)
* Fix potential crash in background mode (#6392)
* TABU: Fix deserializing data (#6394)
* Fix update of checksums on pull (#6395)
* Fix unit test page if there are no unit tests (#6397)
* Fix edge control (#6401)
* DRUL: fix changed_by() (#6402)
* SOD1/2: Check for support and add changed_by (#6404)
* Improve confusing progress message (seemingly always 200 objects) (#6432)
* Improve performance of push for large repos (#6390)
* Fix runtime error in zcl_abapgit_abap_language_vers (#6427)
* Fix Syntax Check warnings regarding secondary keys (#6435)
* DSYS: Fix error for objects containing / in name (#6431)
* Clarify error messages about folder logic (#6447)
+ Unit Test List subpackages (#6445)
* CLAS/INTF: Fix seocompotx during deserialization (#6457)
* Apply filter after TADIR selection (#6462)
* Fix dump in ZCL_ABAPGIT_GIT_PACK=>DECODE (#6468)
2023-05-15 v1.124.0
-------------------
+ Improve "Advanced > Unit Tests" (#6213)
+ Improve copy&paste on diff page (#6218)
+ Add debug option to show href-links on hover (#6239)
+ FUGR,CLAS: Enhance "jump to" (#6250)
+ New UserExit at REPO TOOLBAR for adding custom repo settings (#6249)
+ Add warning banner if wrong browser control is used (#6260)
+ NSPC: Automatic creation of namespaces (#6210)
+ Add GUI and HTML control info to page footer (#6261)
+ FUGR, CLAS: Enhance "changed by" (#6274)
* Fix checksums on pull with new objects (#6211)
* Check repo package against namespace (#6212)
* SHI3 translation serialization fix (#6214, #6217)
* Avoid remote connection for uninstalling repo (#6219)
* run unit page: fix back button (#6223)
* Fix xstring conversion on non-Unicode systems (#6237)
* Improve deletion of OTR texts (#6228)
* ECATT: Avoid diffs between dialog and background (#6240)
* Fix unhandled exception in SRVB (#6246)
* DEVC: Clear TPCLASS (#6251)
* NROB: clear admin fields (#6255, #6280)
* INTF, WEBI: Hide objects generated by proxy (SPRX) (#6259)
* Fix for namespace check when there are multiple namespaces within a repo (#6263)
* Run unit tests: Fallback to code inspector (#6264)
* fix dump in `zcl_abapgit_data_utils` while getting key fields (#6269)
* Fix dump related to exit implementations (#6268)
* fix dump, IS_CUSTOMIZING_TABLE (#6272)
* Add fallback for ADT transport link (#6283)
2023-04-06 v1.123.0
-------------------
+ New user exit: change allowed object types (#6173)
+ LXE: Support more objects (#6144)
+ Show performance metrics for long-running ops (#6148)
+ AQBG support - ABAP Query: User group (#6155)
+ GSMP Object Handler (#6159)
+ AQSG support - ABAP Query: InfoSet (#6161)
+ AQQU support - ABAP Query (#6165)
+ SICF: Add missing error pages (#6145)
+ Pull enabled for customizing tables (#6138)
+ AQSG, AQQU: Add jump to object (#6184)
+ CLAS: Serialize long texts for exception classes (#6186)
+ TABU: Add customizing request to local settings (#6191)
+ Add runtime measurement to Unit Test page (#6196)
* CLAS: Fix variable name (#6127)
* Fix check for unsaved data in local settings (#6139)
* DEVC: Fix error handling (#6141)
* Improve pull dialog: Usability (#6137)
* Fix namespace check for AFF (#6146)
* data: throw error if hitting max (#6157)
* Improve error handling for password_dialog (#6163)
* Fix detection of inactive objects (#6167)
* Improve pull dialog button logic (#6169)
* USE_LXE settings and serialization of selected languages (in old format) (#6168)
2023-03-03 v1.122.0
-------------------
+ Better pull dialog, Screen status (#6093)
+ Improve visualization of tags (#6098)
+ Visualize when experimental features are enabled (#6050)
+ Enhance login popup (#6022)
+ New user-exit for validating before pushing into remote (#6013)
* Fix ITAB_DUPLICATE_KEY dump during deserialize (#6121)
* PROG: assign authorization group during report creation (#6117)
* CLAS: Fix error when changing redefinitions (#6102)
* Fix tag deletion (#6095)
* Fix zip diff command visibility (#6087)
* CUS0/CUS0 add SORT to avoid diffs (#6088)
* SHIx: Fix application component hierarchy issues (#6065)
* Prevent dump if too many requests are selected (#6064)
* Fix hotkeys repo list (#6062)
* Fix error handling in "Stage by Transport" (#6060)
* Fix highlighting in case of back quotes (#6059)
* Escape output for plain text highlighter (#6058)
* TABL: Fix activation of secondary indexes (#6055)
* Fix hotkeys in repo view (#6054)
* CLAS: Fix recording of changes in transport (#6047)
* SFBF, SFBS, SFSW: Major bug fixes (#6020)
* Data: clear in case of errors (#6014)
* Delete, fix dump (#6011)
2023-01-25 v1.121.0
-------------------
@ -1703,7 +1333,7 @@ Legend
------------------
* minor fixes for tags
* downport
* fix serialization of SXCI in background mode
* fix serilization of SXCI in background mode
2018-01-03 v1.51.0
------------------

View File

@ -43,11 +43,9 @@
"seoc_exposure_public",
"seoc_state_implemented",
"seoc_version_active",
"seoc_version_deleted",
"seoc_version_inactive",
"seok_access_free",
"seok_access_modify",
"seox_false",
"seok_pgmid_r3tr",
"seoo_cmptype_type",
"seoo_cmptype_event",
@ -68,8 +66,6 @@
"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",

View File

@ -14,15 +14,14 @@ fi
git config user.email "$GIT_USER_EMAIL"
git config user.name "$GIT_USER_NAME"
# REPO_URL=$(git remote -v | grep -m1 '^origin' | sed -Ene 's#.*(https://[^[:space:]]+).*#\1#p')
# echo "Repo URL: $REPO_URL"
REPO_URL=$(git remote -v | grep -m1 '^origin' | sed -Ene 's#.*(https://[^[:space:]]+).*#\1#p')
echo "Repo URL: $REPO_URL"
# PUSH_URL=$(echo "$REPO_URL" | sed -Ene 's|(https://)|\1'"$GITHUB_API_KEY"'@|p')
# # e.g. https://$GITHUB_API_KEY@github.com/larshp/abapGit.git
PUSH_URL=$(echo "$REPO_URL" | sed -Ene 's|(https://)|\1'"$GITHUB_API_KEY"'@|p')
# e.g. https://$GITHUB_API_KEY@github.com/larshp/abapGit.git
git remote -v
git tag $TAG || exit 1
echo "New tag list:"
git tag
git push origin $TAG || exit 1
git push $PUSH_URL $TAG || exit 1

61
deps/cdnames.tabl.xml vendored
View File

@ -1,61 +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>CDNAMES</TABNAME>
<DDLANGUAGE>E</DDLANGUAGE>
<TABCLASS>INTTAB</TABCLASS>
<DDTEXT>CDNAMES</DDTEXT>
<EXCLASS>1</EXCLASS>
</DD02V>
<DD03P_TABLE>
<DD03P>
<FIELDNAME>REPNAMEC</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>REPNAMET</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>REPNAMEFIX</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>REPNAMEVAR</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>FGRP</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
</DD03P_TABLE>
</asx:values>
</asx:abap>
</abapGit>

View File

@ -1,24 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<abapGit version="v1.0.0" serializer="LCL_OBJECT_DTEL" serializer_version="v1.0.0">
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
<asx:values>
<DD04V>
<ROLLNAME>CDOBJECTCL</ROLLNAME>
<DDLANGUAGE>E</DDLANGUAGE>
<HEADLEN>15</HEADLEN>
<SCRLEN1>10</SCRLEN1>
<SCRLEN2>20</SCRLEN2>
<SCRLEN3>40</SCRLEN3>
<DDTEXT>CDOBJECTCL</DDTEXT>
<REPTEXT>CDOBJECTCL</REPTEXT>
<SCRTEXT_S>CDOBJECTCL</SCRTEXT_S>
<SCRTEXT_M>CDOBJECTCL</SCRTEXT_M>
<SCRTEXT_L>CDOBJECTCL</SCRTEXT_L>
<DTELMASTER>E</DTELMASTER>
<DATATYPE>CHAR</DATATYPE>
<LENG>000015</LENG>
<OUTPUTLEN>000015</OUTPUTLEN>
</DD04V>
</asx:values>
</asx:abap>
</abapGit>

View File

@ -2,10 +2,10 @@ CLASS cl_package_factory DEFINITION PUBLIC.
PUBLIC SECTION.
CLASS-METHODS load_package
IMPORTING
i_package_name TYPE devclass
i_package_name TYPE devclass
VALUE(i_force_reload) TYPE abap_bool OPTIONAL
EXPORTING
VALUE(e_package) TYPE REF TO if_package
VALUE(e_package) TYPE REF TO if_package
EXCEPTIONS
object_not_existing
unexpected_error
@ -19,9 +19,9 @@ CLASS cl_package_factory DEFINITION PUBLIC.
!i_suppress_dialog TYPE abap_bool DEFAULT abap_false
!i_suppress_access_permission TYPE abap_bool DEFAULT abap_false
EXPORTING
VALUE(e_package) TYPE REF TO if_package
VALUE(e_package) TYPE REF TO if_package
CHANGING
c_package_data TYPE any.
c_package_data TYPE any.
ENDCLASS.
CLASS cl_package_factory IMPLEMENTATION.

View File

@ -1,25 +0,0 @@
CLASS cl_package_helper DEFINITION PUBLIC.
PUBLIC SECTION.
CLASS-METHODS check_package_name
IMPORTING
i_package_name TYPE any.
CLASS-METHODS check_package_existence
IMPORTING
i_package_name TYPE any
EXPORTING
e_package_exists TYPE abap_bool.
ENDCLASS.
CLASS cl_package_helper IMPLEMENTATION.
METHOD check_package_name.
ASSERT i_package_name IS NOT INITIAL.
ENDMETHOD.
METHOD check_package_existence.
ASSERT i_package_name IS NOT INITIAL.
e_package_exists = abap_true.
ENDMETHOD.
ENDCLASS.

61
deps/cvers.tabl.xml vendored
View File

@ -1,61 +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>CVERS</TABNAME>
<DDLANGUAGE>E</DDLANGUAGE>
<TABCLASS>TRANSP</TABCLASS>
<CONTFLAG>W</CONTFLAG>
</DD02V>
<DD09L>
<TABNAME>CVERS</TABNAME>
<AS4LOCAL>A</AS4LOCAL>
<TABKAT>0</TABKAT>
<TABART>APPL0</TABART>
<PUFFERUNG>X</PUFFERUNG>
<BUFALLOW>X</BUFALLOW>
</DD09L>
<DD03P_TABLE>
<DD03P>
<FIELDNAME>COMPONENT</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>RELEASE</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000020</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000010</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>EXTRELEASE</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000020</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000010</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>COMP_TYPE</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
</DD03P_TABLE>
</asx:values>
</asx:abap>
</abapGit>

View File

@ -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>CVERS_REF</TABNAME>
<DDLANGUAGE>E</DDLANGUAGE>
<TABCLASS>TRANSP</TABCLASS>
<CONTFLAG>W</CONTFLAG>
</DD02V>
<DD09L>
<TABNAME>CVERS</TABNAME>
<AS4LOCAL>A</AS4LOCAL>
<TABKAT>0</TABKAT>
<TABART>APPL0</TABART>
<PUFFERUNG>X</PUFFERUNG>
<BUFALLOW>X</BUFALLOW>
</DD09L>
<DD03P_TABLE>
<DD03P>
<FIELDNAME>COMPONENT</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>LANGU</FIELDNAME>
<KEYFLAG>X</KEYFLAG>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<NOTNULL>X</NOTNULL>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>DESC_TEXT</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000160</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000080</LENG>
<MASK> CHAR</MASK>
</DD03P>
</DD03P_TABLE>
</asx:values>
</asx:abap>
</abapGit>

48
deps/dd02l.tabl.xml vendored
View File

@ -60,54 +60,6 @@
<LENG>000008</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>SQLTAB</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000060</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000030</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>CONTFLAG</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<NOTNULL>X</NOTNULL>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
</DD03P_TABLE>
</asx:values>
</asx:abap>

62
deps/dd02t.tabl.xml vendored
View File

@ -1,62 +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>DD02T</TABNAME>
<DDLANGUAGE>E</DDLANGUAGE>
<TABCLASS>INTTAB</TABCLASS>
<DDTEXT>DD02T</DDTEXT>
<EXCLASS>1</EXCLASS>
</DD02V>
<DD03P_TABLE>
<DD03P>
<FIELDNAME>TABNAME</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000060</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000030</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>DDLANGUAGE</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>AS4LOCAL</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>AS4VERS</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>N</INTTYPE>
<INTLEN>000008</INTLEN>
<DATATYPE>NUMC</DATATYPE>
<LENG>000004</LENG>
<MASK> NUMC</MASK>
</DD03P>
<DD03P>
<FIELDNAME>DDTEXT</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>

460
deps/dd02v.tabl.xml vendored
View File

@ -1,460 +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>DD02V</TABNAME>
<DDLANGUAGE>E</DDLANGUAGE>
<TABCLASS>INTTAB</TABCLASS>
<DDTEXT>DD02V</DDTEXT>
<EXCLASS>1</EXCLASS>
</DD02V>
<DD03P_TABLE>
<DD03P>
<FIELDNAME>TABNAME</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000060</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000030</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>DDLANGUAGE</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>TABCLASS</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000016</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000008</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>SQLTAB</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000060</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000030</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>DATMIN</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>N</INTTYPE>
<INTLEN>000020</INTLEN>
<DATATYPE>NUMC</DATATYPE>
<LENG>000010</LENG>
<MASK> NUMC</MASK>
</DD03P>
<DD03P>
<FIELDNAME>DATMAX</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>N</INTTYPE>
<INTLEN>000020</INTLEN>
<DATATYPE>NUMC</DATATYPE>
<LENG>000010</LENG>
<MASK> NUMC</MASK>
</DD03P>
<DD03P>
<FIELDNAME>DATAVG</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>N</INTTYPE>
<INTLEN>000020</INTLEN>
<DATATYPE>NUMC</DATATYPE>
<LENG>000010</LENG>
<MASK> NUMC</MASK>
</DD03P>
<DD03P>
<FIELDNAME>CLIDEP</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>BUFFERED</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>COMPRFLAG</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>LANGDEP</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>DDTEXT</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000120</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000060</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>ACTFLAG</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>APPLCLASS</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000008</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000004</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>AUTHCLASS</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>N</INTTYPE>
<INTLEN>000004</INTLEN>
<DATATYPE>NUMC</DATATYPE>
<LENG>000002</LENG>
<MASK> NUMC</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>MASTERLANG</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>LANG</DATATYPE>
<LENG>000001</LENG>
<MASK> LANG</MASK>
</DD03P>
<DD03P>
<FIELDNAME>MAINFLAG</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>CONTFLAG</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>RESERVETAB</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000008</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000004</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>GLOBALFLAG</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>PROZPUFF</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>N</INTTYPE>
<INTLEN>000006</INTLEN>
<DATATYPE>NUMC</DATATYPE>
<LENG>000003</LENG>
<MASK> NUMC</MASK>
</DD03P>
<DD03P>
<FIELDNAME>VIEWCLASS</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>VIEWGRANT</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>MULTIPLEX</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>SHLPEXI</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>PROXYTYPE</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>EXCLASS</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>N</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>NUMC</DATATYPE>
<LENG>000001</LENG>
<MASK> NUMC</MASK>
</DD03P>
<DD03P>
<FIELDNAME>WRONGCL</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>ALWAYSTRP</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>ALLDATAINCL</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>WITH_PARAMETERS</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>EXVIEW_INCLUDED</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>KEYMAX_FEATURE</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>KEYLEN_FEATURE</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>TABLEN_FEATURE</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>NONTRP_INCLUDED</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>VIEWREF</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000060</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000030</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>VIEWREF_ERR</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>VIEWREF_POS_CHG</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>TBFUNC_INCLUDED</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>IS_GTT</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>SESSION_VAR_EX</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>FROM_ENTITY</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>PK_IS_INVHASH</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>USED_SESSION_VARS</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000010</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000005</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>HDB_ONLY_ENTITY_INCLUDED</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
</DD03P_TABLE>
</asx:values>
</asx:abap>
</abapGit>

691
deps/dd03p.tabl.xml vendored
View File

@ -1,691 +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>DD03P</TABNAME>
<DDLANGUAGE>E</DDLANGUAGE>
<TABCLASS>INTTAB</TABCLASS>
<DDTEXT>DD03P</DDTEXT>
<EXCLASS>1</EXCLASS>
</DD02V>
<DD03P_TABLE>
<DD03P>
<FIELDNAME>TABNAME</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000060</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000030</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>FIELDNAME</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000060</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000030</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>DDLANGUAGE</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>LANG</DATATYPE>
<LENG>000001</LENG>
<MASK> LANG</MASK>
</DD03P>
<DD03P>
<FIELDNAME>POSITION</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>N</INTTYPE>
<INTLEN>000008</INTLEN>
<DATATYPE>NUMC</DATATYPE>
<LENG>000004</LENG>
<MASK> NUMC</MASK>
</DD03P>
<DD03P>
<FIELDNAME>KEYFLAG</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>MANDATORY</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>ROLLNAME</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000060</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000030</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>CHECKTABLE</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000060</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000030</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>ADMINFIELD</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>INTTYPE</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>INTLEN</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>N</INTTYPE>
<INTLEN>000012</INTLEN>
<DATATYPE>NUMC</DATATYPE>
<LENG>000006</LENG>
<MASK> NUMC</MASK>
</DD03P>
<DD03P>
<FIELDNAME>REFTABLE</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000060</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000030</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>PRECFIELD</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000060</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000030</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>REFFIELD</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000060</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000030</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>CONROUT</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000020</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000010</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>NOTNULL</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>DOMNAME</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000060</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000030</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>ROUTPUTLEN</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>N</INTTYPE>
<INTLEN>000012</INTLEN>
<DATATYPE>NUMC</DATATYPE>
<LENG>000006</LENG>
<MASK> NUMC</MASK>
</DD03P>
<DD03P>
<FIELDNAME>MEMORYID</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000040</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000020</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>LOGFLAG</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>HEADLEN</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>N</INTTYPE>
<INTLEN>000004</INTLEN>
<DATATYPE>NUMC</DATATYPE>
<LENG>000002</LENG>
<MASK> NUMC</MASK>
</DD03P>
<DD03P>
<FIELDNAME>SCRLEN1</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>N</INTTYPE>
<INTLEN>000004</INTLEN>
<DATATYPE>NUMC</DATATYPE>
<LENG>000002</LENG>
<MASK> NUMC</MASK>
</DD03P>
<DD03P>
<FIELDNAME>SCRLEN2</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>N</INTTYPE>
<INTLEN>000004</INTLEN>
<DATATYPE>NUMC</DATATYPE>
<LENG>000002</LENG>
<MASK> NUMC</MASK>
</DD03P>
<DD03P>
<FIELDNAME>SCRLEN3</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>N</INTTYPE>
<INTLEN>000004</INTLEN>
<DATATYPE>NUMC</DATATYPE>
<LENG>000002</LENG>
<MASK> NUMC</MASK>
</DD03P>
<DD03P>
<FIELDNAME>DTELGLOBAL</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>DTELMASTER</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>LANG</DATATYPE>
<LENG>000001</LENG>
<MASK> LANG</MASK>
</DD03P>
<DD03P>
<FIELDNAME>RESERVEDTE</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000008</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000004</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>DATATYPE</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000008</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000004</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>LENG</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>N</INTTYPE>
<INTLEN>000012</INTLEN>
<DATATYPE>NUMC</DATATYPE>
<LENG>000006</LENG>
<MASK> NUMC</MASK>
</DD03P>
<DD03P>
<FIELDNAME>OUTPUTLEN</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>N</INTTYPE>
<INTLEN>000012</INTLEN>
<DATATYPE>NUMC</DATATYPE>
<LENG>000006</LENG>
<MASK> NUMC</MASK>
</DD03P>
<DD03P>
<FIELDNAME>DECIMALS</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>N</INTTYPE>
<INTLEN>000012</INTLEN>
<DATATYPE>NUMC</DATATYPE>
<LENG>000006</LENG>
<MASK> NUMC</MASK>
</DD03P>
<DD03P>
<FIELDNAME>LOWERCASE</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>SIGNFLAG</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>LANGFLAG</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>VALEXI</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>ENTITYTAB</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000060</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000030</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>CONVEXIT</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000010</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000005</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>MASK</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000040</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000020</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>MASKLEN</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>N</INTTYPE>
<INTLEN>000008</INTLEN>
<DATATYPE>NUMC</DATATYPE>
<LENG>000004</LENG>
<MASK> NUMC</MASK>
</DD03P>
<DD03P>
<FIELDNAME>ACTFLAG</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>DDTEXT</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000120</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000060</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>REPTEXT</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000110</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000055</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>SCRTEXT_S</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000020</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000010</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>SCRTEXT_M</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000040</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000020</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>SCRTEXT_L</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000080</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000040</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>DOMMASTER</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>LANG</DATATYPE>
<LENG>000001</LENG>
<MASK> LANG</MASK>
</DD03P>
<DD03P>
<FIELDNAME>RESERVEDOM</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000008</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000004</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>DOMGLOBAL</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>DOMNAME3L</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000060</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000030</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>SHLPORIGIN</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>SHLPNAME</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000060</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000030</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>SHLPFIELD</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000060</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000030</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>TABLETYPE</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>DEPTH</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>N</INTTYPE>
<INTLEN>000004</INTLEN>
<DATATYPE>NUMC</DATATYPE>
<LENG>000002</LENG>
<MASK> NUMC</MASK>
</DD03P>
<DD03P>
<FIELDNAME>COMPTYPE</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>DEFFDNAME</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000060</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000030</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>GROUPNAME</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000060</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000030</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>REFTYPE</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>PROXYTYPE</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>LANGUFLAG</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>EXCLASS</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>N</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>NUMC</DATATYPE>
<LENG>000001</LENG>
<MASK> NUMC</MASK>
</DD03P>
<DD03P>
<FIELDNAME>LTRFLDDIS</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>BIDICTRLC</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>DBPOSITION</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>N</INTTYPE>
<INTLEN>000008</INTLEN>
<DATATYPE>NUMC</DATATYPE>
<LENG>000004</LENG>
<MASK> NUMC</MASK>
</DD03P>
<DD03P>
<FIELDNAME>ANONYMOUS</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>OUTPUTSTYLE</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>N</INTTYPE>
<INTLEN>000004</INTLEN>
<DATATYPE>NUMC</DATATYPE>
<LENG>000002</LENG>
<MASK> NUMC</MASK>
</DD03P>
<DD03P>
<FIELDNAME>NOHISTORY</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>AMPMFORMAT</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>STREAMORLOC</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>STRORLOCPOS</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>N</INTTYPE>
<INTLEN>000004</INTLEN>
<DATATYPE>NUMC</DATATYPE>
<LENG>000002</LENG>
<MASK> NUMC</MASK>
</DD03P>
<DD03P>
<FIELDNAME>SQL_PASSVALUE</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>IS_VIRTUAL</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>IS_CALCULATED</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>EXTENDNAME</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000060</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000030</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>SRS_ID</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>N</INTTYPE>
<INTLEN>000020</INTLEN>
<DATATYPE>NUMC</DATATYPE>
<LENG>000010</LENG>
<MASK> NUMC</MASK>
</DD03P>
</DD03P_TABLE>
</asx:values>
</asx:abap>
</abapGit>

115
deps/dd05m.tabl.xml vendored
View File

@ -1,115 +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>DD05M</TABNAME>
<DDLANGUAGE>E</DDLANGUAGE>
<TABCLASS>INTTAB</TABCLASS>
<DDTEXT>DD05M</DDTEXT>
<EXCLASS>1</EXCLASS>
</DD02V>
<DD03P_TABLE>
<DD03P>
<FIELDNAME>TABNAME</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000060</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000030</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>FIELDNAME</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000060</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000030</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>FORTABLE</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000060</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000030</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>FORKEY</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000060</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000030</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>CHECKTABLE</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000060</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000030</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>CHECKFIELD</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000060</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000030</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>PRIMPOS</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>N</INTTYPE>
<INTLEN>000008</INTLEN>
<DATATYPE>NUMC</DATATYPE>
<LENG>000004</LENG>
<MASK> NUMC</MASK>
</DD03P>
<DD03P>
<FIELDNAME>DOMNAME</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000060</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000030</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>DATATYPE</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000008</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000004</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>LENG</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>N</INTTYPE>
<INTLEN>000012</INTLEN>
<DATATYPE>NUMC</DATATYPE>
<LENG>000006</LENG>
<MASK> NUMC</MASK>
</DD03P>
<DD03P>
<FIELDNAME>FORSTRING</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>

143
deps/dd08v.tabl.xml vendored
View File

@ -1,143 +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>DD08V</TABNAME>
<DDLANGUAGE>E</DDLANGUAGE>
<TABCLASS>INTTAB</TABCLASS>
<DDTEXT>DD08V</DDTEXT>
<EXCLASS>1</EXCLASS>
</DD02V>
<DD03P_TABLE>
<DD03P>
<FIELDNAME>TABNAME</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000060</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000030</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>FIELDNAME</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000060</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000030</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>DDLANGUAGE</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>CHECKTABLE</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000060</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000030</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>FRKART</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000008</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000004</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>CLASFIELD</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000060</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000030</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>CLASVALUE</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000020</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000010</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>CARD</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000004</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000002</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>CHECKFLAG</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>DDTEXT</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000120</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000060</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>ARBGB</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000040</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000020</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>MSGNR</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000006</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000003</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>NOINHERIT</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>CARDLEFT</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000004</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000002</LENG>
<MASK> CHAR</MASK>
</DD03P>
</DD03P_TABLE>
</asx:values>
</asx:abap>
</abapGit>

117
deps/dd09l.tabl.xml vendored
View File

@ -1,117 +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>DD09L</TABNAME>
<DDLANGUAGE>E</DDLANGUAGE>
<TABCLASS>TRANSP</TABCLASS>
<MASTERLANG>D</MASTERLANG>
<CONTFLAG>W</CONTFLAG>
</DD02V>
<DD09L>
<TABNAME>DD09L</TABNAME>
<AS4LOCAL>A</AS4LOCAL>
<TABKAT>2</TABKAT>
<TABART>SSEXC</TABART>
<TRANSPFLAG>X</TRANSPFLAG>
<BUFALLOW>N</BUFALLOW>
</DD09L>
<DD03P_TABLE>
<DD03P>
<FIELDNAME>TABNAME</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>AS4LOCAL</FIELDNAME>
<KEYFLAG>X</KEYFLAG>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<NOTNULL>X</NOTNULL>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>AS4VERS</FIELDNAME>
<KEYFLAG>X</KEYFLAG>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>N</INTTYPE>
<INTLEN>000008</INTLEN>
<NOTNULL>X</NOTNULL>
<DATATYPE>NUMC</DATATYPE>
<LENG>000004</LENG>
<MASK> NUMC</MASK>
</DD03P>
<DD03P>
<FIELDNAME>TABKAT</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000004</INTLEN>
<NOTNULL>X</NOTNULL>
<DATATYPE>CHAR</DATATYPE>
<LENG>000002</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>TABART</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000010</INTLEN>
<NOTNULL>X</NOTNULL>
<DATATYPE>CHAR</DATATYPE>
<LENG>000005</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>AS4USER</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000024</INTLEN>
<NOTNULL>X</NOTNULL>
<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>BUFALLOW</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<NOTNULL>X</NOTNULL>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
</DD03P_TABLE>
</asx:values>
</asx:abap>
</abapGit>

316
deps/dd12v.tabl.xml vendored
View File

@ -1,316 +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>DD12V</TABNAME>
<DDLANGUAGE>E</DDLANGUAGE>
<TABCLASS>INTTAB</TABCLASS>
<DDTEXT>DD12V</DDTEXT>
<EXCLASS>1</EXCLASS>
</DD02V>
<DD03P_TABLE>
<DD03P>
<FIELDNAME>SQLTAB</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000060</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000030</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>INDEXNAME</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000006</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000003</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>AS4LOCAL</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>AS4VERS</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>N</INTTYPE>
<INTLEN>000008</INTLEN>
<DATATYPE>NUMC</DATATYPE>
<LENG>000004</LENG>
<MASK> NUMC</MASK>
</DD03P>
<DD03P>
<FIELDNAME>DDLANGUAGE</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>AUTHCLASS</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>N</INTTYPE>
<INTLEN>000004</INTLEN>
<DATATYPE>NUMC</DATATYPE>
<LENG>000002</LENG>
<MASK> NUMC</MASK>
</DD03P>
<DD03P>
<FIELDNAME>UNIQUEFLAG</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</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>ACTFLAG</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>DBINDEX</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000080</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000040</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>DBSTATE</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>DBINCLEXCL</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>DBSYSSEL1</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000006</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000003</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>DBSYSSEL2</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000006</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000003</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>DBSYSSEL3</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000006</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000003</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>DBSYSSEL4</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000006</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000003</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>DDTEXT</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000120</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000060</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>ISEXTIND</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>FULL_TEXT</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>LANGU_COLUMN</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000060</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000030</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>MIME_TYPE_COL</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000060</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000030</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>MIME_TYPE</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000254</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000127</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>LANGU_DETECTION</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000400</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000200</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>FAST_PREPROCESS</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>FUZZY_SEARCH_INDX</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>SEARCH_ONLY</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>UPDATE_MODE</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000020</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000010</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>CONFIGURATION</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>PHRASE_INDX_RATIO</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>N</INTTYPE>
<INTLEN>000006</INTLEN>
<DATATYPE>NUMC</DATATYPE>
<LENG>000003</LENG>
<MASK> NUMC</MASK>
</DD03P>
<DD03P>
<FIELDNAME>TEXT_ANALYSIS</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>TOKEN_SEPARATORS</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000100</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000050</LENG>
<MASK> CHAR</MASK>
</DD03P>
</DD03P_TABLE>
</asx:values>
</asx:abap>
</abapGit>

89
deps/dd17v.tabl.xml vendored
View File

@ -1,89 +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>DD17V</TABNAME>
<DDLANGUAGE>E</DDLANGUAGE>
<TABCLASS>INTTAB</TABCLASS>
<DDTEXT>DD17V</DDTEXT>
<EXCLASS>1</EXCLASS>
</DD02V>
<DD03P_TABLE>
<DD03P>
<FIELDNAME>DDLANGUAGE</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>SQLTAB</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000060</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000030</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>INDEXNAME</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000006</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000003</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>POSITION</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>N</INTTYPE>
<INTLEN>000008</INTLEN>
<DATATYPE>NUMC</DATATYPE>
<LENG>000004</LENG>
<MASK> NUMC</MASK>
</DD03P>
<DD03P>
<FIELDNAME>AS4LOCAL</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>AS4VERS</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>N</INTTYPE>
<INTLEN>000008</INTLEN>
<DATATYPE>NUMC</DATATYPE>
<LENG>000004</LENG>
<MASK> NUMC</MASK>
</DD03P>
<DD03P>
<FIELDNAME>FIELDNAME</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000060</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000030</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>DESCFLAG</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
</DD03P_TABLE>
</asx:values>
</asx:abap>
</abapGit>

52
deps/dd35v.tabl.xml vendored
View File

@ -1,52 +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>DD35V</TABNAME>
<DDLANGUAGE>E</DDLANGUAGE>
<TABCLASS>INTTAB</TABCLASS>
<DDTEXT>DD35V</DDTEXT>
<EXCLASS>1</EXCLASS>
</DD02V>
<DD03P_TABLE>
<DD03P>
<FIELDNAME>TABNAME</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000060</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000030</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>FIELDNAME</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000060</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000030</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>SHLPNAME</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000060</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000030</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>SHLPINHER</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
</DD03P_TABLE>
</asx:values>
</asx:abap>
</abapGit>

169
deps/dd36m.tabl.xml vendored
View File

@ -1,169 +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>DD36M</TABNAME>
<DDLANGUAGE>E</DDLANGUAGE>
<TABCLASS>INTTAB</TABCLASS>
<DDTEXT>DD36M</DDTEXT>
<EXCLASS>1</EXCLASS>
</DD02V>
<DD03P_TABLE>
<DD03P>
<FIELDNAME>TABNAME</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000060</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000030</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>FIELDNAME</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000060</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000030</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>SHLPNAME</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000060</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000030</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>SHLPFIELD</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000060</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000030</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>FLPOSITION</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>N</INTTYPE>
<INTLEN>000008</INTLEN>
<DATATYPE>NUMC</DATATYPE>
<LENG>000004</LENG>
<MASK> NUMC</MASK>
</DD03P>
<DD03P>
<FIELDNAME>SHTYPE</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>SHTABLE</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000060</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000030</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>SHFIELD</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000060</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000030</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>SHLPINPUT</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>SHLPOUTPUT</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>ROLLNAME</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000060</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000030</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>DOMNAME</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000060</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000030</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>DATATYPE</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000008</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000004</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>LENG</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>N</INTTYPE>
<INTLEN>000012</INTLEN>
<DATATYPE>NUMC</DATATYPE>
<LENG>000006</LENG>
<MASK> NUMC</MASK>
</DD03P>
<DD03P>
<FIELDNAME>DECIMALS</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>N</INTTYPE>
<INTLEN>000012</INTLEN>
<DATATYPE>NUMC</DATATYPE>
<LENG>000006</LENG>
<MASK> NUMC</MASK>
</DD03P>
<DD03P>
<FIELDNAME>DEFAULTVAL</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000042</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000021</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>DEFAULTTYP</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
</DD03P_TABLE>
</asx:values>
</asx:abap>
</abapGit>

105
deps/e070.tabl.xml vendored
View File

@ -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
View File

@ -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
View File

@ -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
View File

@ -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>

View File

@ -1,128 +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>EDISEGMDEF</TABNAME>
<DDLANGUAGE>E</DDLANGUAGE>
<TABCLASS>INTTAB</TABCLASS>
<DDTEXT>EDISEGMDEF</DDTEXT>
<EXCLASS>1</EXCLASS>
</DD02V>
<DD03P_TABLE>
<DD03P>
<FIELDNAME>SEGTYP</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000054</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000027</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>VERSION</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>N</INTTYPE>
<INTLEN>000006</INTLEN>
<DATATYPE>NUMC</DATATYPE>
<LENG>000003</LENG>
<MASK> NUMC</MASK>
</DD03P>
<DD03P>
<FIELDNAME>SEGDEF</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000060</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000030</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>RELEASED</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000008</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000004</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>CLOSED</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>CREDATE</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>CRETIME</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>LDATE</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>LTIME</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>FIELDNUM</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>N</INTTYPE>
<INTLEN>000008</INTLEN>
<DATATYPE>NUMC</DATATYPE>
<LENG>000004</LENG>
<MASK> NUMC</MASK>
</DD03P>
<DD03P>
<FIELDNAME>EXPLENG</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>N</INTTYPE>
<INTLEN>000008</INTLEN>
<DATATYPE>NUMC</DATATYPE>
<LENG>000004</LENG>
<MASK> NUMC</MASK>
</DD03P>
<DD03P>
<FIELDNAME>APPLREL</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000020</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000010</LENG>
<MASK> CHAR</MASK>
</DD03P>
</DD03P_TABLE>
</asx:values>
</asx:abap>
</abapGit>

View File

@ -1,119 +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>EDISEGMHD</TABNAME>
<DDLANGUAGE>E</DDLANGUAGE>
<TABCLASS>INTTAB</TABCLASS>
<DDTEXT>EDISEGMHD</DDTEXT>
<EXCLASS>1</EXCLASS>
</DD02V>
<DD03P_TABLE>
<DD03P>
<FIELDNAME>SEGTYP</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000054</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000027</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>QUALIFIER</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>GENERATED</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>PRESP</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000060</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000030</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>PWORK</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000060</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000030</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>PLAST</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000024</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000012</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>CREDATE</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>CRETIME</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>LDATE</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>LTIME</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>DESCRP</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>

View File

@ -1,70 +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>EDISEGSTRU</TABNAME>
<DDLANGUAGE>E</DDLANGUAGE>
<TABCLASS>INTTAB</TABCLASS>
<DDTEXT>EDISEGSTRU</DDTEXT>
<EXCLASS>1</EXCLASS>
</DD02V>
<DD03P_TABLE>
<DD03P>
<FIELDNAME>SEGTYP</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000054</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000027</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>POS</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>N</INTTYPE>
<INTLEN>000008</INTLEN>
<DATATYPE>NUMC</DATATYPE>
<LENG>000004</LENG>
<MASK> NUMC</MASK>
</DD03P>
<DD03P>
<FIELDNAME>FIELDNAME</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000060</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000030</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>ROLLNAME</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000060</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000030</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>ISOCODE</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>EXPLENG</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>N</INTTYPE>
<INTLEN>000008</INTLEN>
<DATATYPE>NUMC</DATATYPE>
<LENG>000004</LENG>
<MASK> NUMC</MASK>
</DD03P>
</DD03P_TABLE>
</asx:values>
</asx:abap>
</abapGit>

24
deps/enqmode.dtel.xml vendored
View File

@ -1,24 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<abapGit version="v1.0.0" serializer="LCL_OBJECT_DTEL" serializer_version="v1.0.0">
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
<asx:values>
<DD04V>
<ROLLNAME>ENQMODE</ROLLNAME>
<DDLANGUAGE>E</DDLANGUAGE>
<HEADLEN>55</HEADLEN>
<SCRLEN1>10</SCRLEN1>
<SCRLEN2>20</SCRLEN2>
<SCRLEN3>40</SCRLEN3>
<DDTEXT>ENQMODE</DDTEXT>
<REPTEXT>ENQMODE</REPTEXT>
<SCRTEXT_S>ENQMODE</SCRTEXT_S>
<SCRTEXT_M>ENQMODE</SCRTEXT_M>
<SCRTEXT_L>ENQMODE</SCRTEXT_L>
<DTELMASTER>E</DTELMASTER>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<OUTPUTLEN>000001</OUTPUTLEN>
</DD04V>
</asx:values>
</asx:abap>
</abapGit>

View File

@ -1,16 +1,11 @@
INTERFACE if_package PUBLIC.
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 application_component TYPE string READ-ONLY.
DATA transport_layer TYPE string READ-ONLY.
DATA changed_by TYPE string READ-ONLY.
METHODS save
IMPORTING
i_transport_request TYPE trkorr OPTIONAL
EXCEPTIONS
object_invalid
object_not_changeable

43
deps/ko100.tabl.xml vendored
View File

@ -1,43 +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>KO100</TABNAME>
<DDLANGUAGE>E</DDLANGUAGE>
<TABCLASS>INTTAB</TABCLASS>
<DDTEXT>KO100</DDTEXT>
<EXCLASS>1</EXCLASS>
</DD02V>
<DD03P_TABLE>
<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>TEXT</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>

View File

@ -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>LXE_PCX_S1</TABNAME>
<DDLANGUAGE>E</DDLANGUAGE>
<TABCLASS>INTTAB</TABCLASS>
<DDTEXT>Text Pairs</DDTEXT>
<EXCLASS>1</EXCLASS>
</DD02V>
<DD03P_TABLE>
<DD03P>
<FIELDNAME>TEXTKEY</FIELDNAME>
<ROLLNAME>LXETEXTKEY</ROLLNAME>
<ADMINFIELD>0</ADMINFIELD>
<COMPTYPE>E</COMPTYPE>
</DD03P>
<DD03P>
<FIELDNAME>S_TEXT</FIELDNAME>
<ROLLNAME>LXEUNITLIN</ROLLNAME>
<ADMINFIELD>0</ADMINFIELD>
<COMPTYPE>E</COMPTYPE>
</DD03P>
<DD03P>
<FIELDNAME>T_TEXT</FIELDNAME>
<ROLLNAME>LXEUNITLIN</ROLLNAME>
<ADMINFIELD>0</ADMINFIELD>
<COMPTYPE>E</COMPTYPE>
</DD03P>
<DD03P>
<FIELDNAME>UNITMLT</FIELDNAME>
<ROLLNAME>LXEUNITMLT</ROLLNAME>
<ADMINFIELD>0</ADMINFIELD>
<COMPTYPE>E</COMPTYPE>
</DD03P>
<DD03P>
<FIELDNAME>UPPCASE</FIELDNAME>
<ROLLNAME>LXEUPPCASE</ROLLNAME>
<ADMINFIELD>0</ADMINFIELD>
<VALEXI>X</VALEXI>
<SHLPORIGIN>F</SHLPORIGIN>
<COMPTYPE>E</COMPTYPE>
</DD03P>
<DD03P>
<FIELDNAME>TEXTTYPE</FIELDNAME>
<ROLLNAME>LXETEXTTYPE</ROLLNAME>
<ADMINFIELD>0</ADMINFIELD>
<COMPTYPE>E</COMPTYPE>
</DD03P>
</DD03P_TABLE>
</asx:values>
</asx:abap>
</abapGit>

View File

@ -1,24 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<abapGit version="v1.0.0" serializer="LCL_OBJECT_DTEL" serializer_version="v1.0.0">
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
<asx:values>
<DD04V>
<ROLLNAME>LXECUSTMNR</ROLLNAME>
<DDLANGUAGE>E</DDLANGUAGE>
<HEADLEN>12</HEADLEN>
<SCRLEN1>10</SCRLEN1>
<SCRLEN2>15</SCRLEN2>
<SCRLEN3>20</SCRLEN3>
<DDTEXT>LXECUSTMNR</DDTEXT>
<REPTEXT>LXECUSTMNR</REPTEXT>
<SCRTEXT_S>LXECUSTMNR</SCRTEXT_S>
<SCRTEXT_M>LXECUSTMNR</SCRTEXT_M>
<SCRTEXT_L>LXECUSTMNR</SCRTEXT_L>
<DTELMASTER>E</DTELMASTER>
<DATATYPE>CHAR</DATATYPE>
<LENG>000006</LENG>
<OUTPUTLEN>000006</OUTPUTLEN>
</DD04V>
</asx:values>
</asx:abap>
</abapGit>

View File

@ -1,24 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<abapGit version="v1.0.0" serializer="LCL_OBJECT_DTEL" serializer_version="v1.0.0">
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
<asx:values>
<DD04V>
<ROLLNAME>LXEISOLANG</ROLLNAME>
<DDLANGUAGE>E</DDLANGUAGE>
<HEADLEN>21</HEADLEN>
<SCRLEN1>10</SCRLEN1>
<SCRLEN2>15</SCRLEN2>
<SCRLEN3>21</SCRLEN3>
<DDTEXT>LXEISOLANG</DDTEXT>
<REPTEXT>LXEISOLANG</REPTEXT>
<SCRTEXT_S>LXEISOLANG</SCRTEXT_S>
<SCRTEXT_M>LXEISOLANG</SCRTEXT_M>
<SCRTEXT_L>LXEISOLANG</SCRTEXT_L>
<DTELMASTER>E</DTELMASTER>
<DATATYPE>CHAR</DATATYPE>
<LENG>000004</LENG>
<OUTPUTLEN>000004</OUTPUTLEN>
</DD04V>
</asx:values>
</asx:abap>
</abapGit>

View File

@ -1,24 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<abapGit version="v1.0.0" serializer="LCL_OBJECT_DTEL" serializer_version="v1.0.0">
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
<asx:values>
<DD04V>
<ROLLNAME>LXEOBJNAME</ROLLNAME>
<DDLANGUAGE>E</DDLANGUAGE>
<HEADLEN>55</HEADLEN>
<SCRLEN1>10</SCRLEN1>
<SCRLEN2>18</SCRLEN2>
<SCRLEN3>28</SCRLEN3>
<DDTEXT>LXEOBJNAME</DDTEXT>
<REPTEXT>LXEOBJNAME</REPTEXT>
<SCRTEXT_S>LXEOBJNAME</SCRTEXT_S>
<SCRTEXT_M>LXEOBJNAME</SCRTEXT_M>
<SCRTEXT_L>LXEOBJNAME</SCRTEXT_L>
<DTELMASTER>E</DTELMASTER>
<DATATYPE>CHAR</DATATYPE>
<LENG>000070</LENG>
<OUTPUTLEN>000070</OUTPUTLEN>
</DD04V>
</asx:values>
</asx:abap>
</abapGit>

View File

@ -1,25 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<abapGit version="v1.0.0" serializer="LCL_OBJECT_DTEL" serializer_version="v1.0.0">
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
<asx:values>
<DD04V>
<ROLLNAME>LXETEXTKEY</ROLLNAME>
<DDLANGUAGE>E</DDLANGUAGE>
<DOMNAME>LXECHAR32</DOMNAME>
<HEADLEN>32</HEADLEN>
<SCRLEN1>10</SCRLEN1>
<SCRLEN2>15</SCRLEN2>
<SCRLEN3>20</SCRLEN3>
<DDTEXT>LXETEXTKEY</DDTEXT>
<REPTEXT>LXETEXTKEY</REPTEXT>
<SCRTEXT_S>LXETEXTKEY</SCRTEXT_S>
<SCRTEXT_M>LXETEXTKEY</SCRTEXT_M>
<SCRTEXT_L>LXETEXTKEY</SCRTEXT_L>
<DTELMASTER>E</DTELMASTER>
<DATATYPE>CHAR</DATATYPE>
<LENG>000032</LENG>
<OUTPUTLEN>000032</OUTPUTLEN>
</DD04V>
</asx:values>
</asx:abap>
</abapGit>

View File

@ -1,25 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<abapGit version="v1.0.0" serializer="LCL_OBJECT_DTEL" serializer_version="v1.0.0">
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
<asx:values>
<DD04V>
<ROLLNAME>LXETEXTTYPE</ROLLNAME>
<DDLANGUAGE>E</DDLANGUAGE>
<DOMNAME>LXETEXTTYPE</DOMNAME>
<HEADLEN>09</HEADLEN>
<SCRLEN1>10</SCRLEN1>
<SCRLEN2>15</SCRLEN2>
<SCRLEN3>20</SCRLEN3>
<DDTEXT>LXETEXTTYPE</DDTEXT>
<REPTEXT>LXETEXTTYPE</REPTEXT>
<SCRTEXT_S>LXETEXTTYPE</SCRTEXT_S>
<SCRTEXT_M>LXETEXTTYPE</SCRTEXT_M>
<SCRTEXT_L>LXETEXTTYPE</SCRTEXT_L>
<DTELMASTER>E</DTELMASTER>
<DATATYPE>CHAR</DATATYPE>
<LENG>000004</LENG>
<OUTPUTLEN>000004</OUTPUTLEN>
</DD04V>
</asx:values>
</asx:abap>
</abapGit>

View File

@ -1,25 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<abapGit version="v1.0.0" serializer="LCL_OBJECT_DTEL" serializer_version="v1.0.0">
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
<asx:values>
<DD04V>
<ROLLNAME>LXEUNITLIN</ROLLNAME>
<DDLANGUAGE>E</DDLANGUAGE>
<DOMNAME>LXEUNITLIN</DOMNAME>
<HEADLEN>55</HEADLEN>
<SCRLEN1>10</SCRLEN1>
<SCRLEN2>15</SCRLEN2>
<SCRLEN3>36</SCRLEN3>
<DDTEXT>LXEUNITLIN</DDTEXT>
<REPTEXT>LXEUNITLIN</REPTEXT>
<SCRTEXT_S>LXEUNITLIN</SCRTEXT_S>
<SCRTEXT_M>LXEUNITLIN</SCRTEXT_M>
<SCRTEXT_L>LXEUNITLIN</SCRTEXT_L>
<DTELMASTER>E</DTELMASTER>
<DATATYPE>CHAR</DATATYPE>
<LENG>000255</LENG>
<OUTPUTLEN>000255</OUTPUTLEN>
</DD04V>
</asx:values>
</asx:abap>
</abapGit>

View File

@ -1,25 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<abapGit version="v1.0.0" serializer="LCL_OBJECT_DTEL" serializer_version="v1.0.0">
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
<asx:values>
<DD04V>
<ROLLNAME>LXEUNITMLT</ROLLNAME>
<DDLANGUAGE>E</DDLANGUAGE>
<DOMNAME>LXEUNITLTH</DOMNAME>
<HEADLEN>38</HEADLEN>
<SCRLEN1>10</SCRLEN1>
<SCRLEN2>20</SCRLEN2>
<SCRLEN3>38</SCRLEN3>
<DDTEXT>LXEUNITMLT</DDTEXT>
<REPTEXT>LXEUNITMLT</REPTEXT>
<SCRTEXT_S>LXEUNITMLT</SCRTEXT_S>
<SCRTEXT_M>LXEUNITMLT</SCRTEXT_M>
<SCRTEXT_L>LXEUNITMLT</SCRTEXT_L>
<DTELMASTER>E</DTELMASTER>
<DATATYPE>INT4</DATATYPE>
<LENG>000010</LENG>
<OUTPUTLEN>000010</OUTPUTLEN>
</DD04V>
</asx:values>
</asx:abap>
</abapGit>

View File

@ -1,25 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<abapGit version="v1.0.0" serializer="LCL_OBJECT_DTEL" serializer_version="v1.0.0">
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
<asx:values>
<DD04V>
<ROLLNAME>LXEUPPCASE</ROLLNAME>
<DDLANGUAGE>E</DDLANGUAGE>
<DOMNAME>BOOLE</DOMNAME>
<HEADLEN>14</HEADLEN>
<SCRLEN1>10</SCRLEN1>
<SCRLEN2>15</SCRLEN2>
<SCRLEN3>20</SCRLEN3>
<DDTEXT>LXEUPPCASE</DDTEXT>
<REPTEXT>LXEUPPCASE</REPTEXT>
<SCRTEXT_S>LXEUPPCASE</SCRTEXT_S>
<SCRTEXT_M>LXEUPPCASE</SCRTEXT_M>
<SCRTEXT_L>LXEUPPCASE</SCRTEXT_L>
<DTELMASTER>E</DTELMASTER>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<OUTPUTLEN>000001</OUTPUTLEN>
</DD04V>
</asx:values>
</asx:abap>
</abapGit>

24
deps/r3state.dtel.xml vendored
View File

@ -1,24 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<abapGit version="v1.0.0" serializer="LCL_OBJECT_DTEL" serializer_version="v1.0.0">
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
<asx:values>
<DD04V>
<ROLLNAME>R3STATE</ROLLNAME>
<DDLANGUAGE>E</DDLANGUAGE>
<HEADLEN>55</HEADLEN>
<SCRLEN1>10</SCRLEN1>
<SCRLEN2>20</SCRLEN2>
<SCRLEN3>40</SCRLEN3>
<DDTEXT>R3STATE</DDTEXT>
<REPTEXT>R3STATE</REPTEXT>
<SCRTEXT_S>R3STATE</SCRTEXT_S>
<SCRTEXT_M>R3STATE</SCRTEXT_M>
<SCRTEXT_L>R3STATE</SCRTEXT_L>
<DTELMASTER>E</DTELMASTER>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<OUTPUTLEN>000001</OUTPUTLEN>
</DD04V>
</asx:values>
</asx:abap>
</abapGit>

View File

@ -174,15 +174,6 @@
<LENG>000010</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>TPCLASS</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>KORRFLAG</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>

1
deps/seoc.type.abap vendored
View File

@ -2,7 +2,6 @@ TYPE-POOL seoc.
CONSTANTS seoc_version_inactive TYPE n LENGTH 1 VALUE '0'.
CONSTANTS seoc_version_active TYPE n LENGTH 1 VALUE '1'.
CONSTANTS seoc_version_deleted TYPE n LENGTH 1 VALUE '2'.
CONSTANTS seoc_exposure_public TYPE n LENGTH 1 VALUE '2'.
CONSTANTS seoc_exposure_protected TYPE n LENGTH 1 VALUE '1'.

View File

@ -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>

View File

@ -1,57 +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>SEOMETAREL</TABNAME>
<DDLANGUAGE>E</DDLANGUAGE>
<TABCLASS>TRANSP</TABCLASS>
<DDTEXT>SEOMETAREL</DDTEXT>
<CONTFLAG>A</CONTFLAG>
<EXCLASS>1</EXCLASS>
</DD02V>
<DD09L>
<TABNAME>SEOMETAREL</TABNAME>
<AS4LOCAL>A</AS4LOCAL>
<TABKAT>0</TABKAT>
<TABART>APPL0</TABART>
<BUFALLOW>N</BUFALLOW>
</DD09L>
<DD03P_TABLE>
<DD03P>
<FIELDNAME>CLSNAME</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>REFCLSNAME</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>VERSION</FIELDNAME>
<KEYFLAG>X</KEYFLAG>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<NOTNULL>X</NOTNULL>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
</DD03P_TABLE>
</asx:values>
</asx:abap>
</abapGit>

View File

@ -1,114 +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>SOTR_HEADU</TABNAME>
<DDLANGUAGE>E</DDLANGUAGE>
<TABCLASS>TRANSP</TABCLASS>
<DDTEXT>SOTR_HEADU</DDTEXT>
<CONTFLAG>A</CONTFLAG>
<EXCLASS>1</EXCLASS>
</DD02V>
<DD09L>
<TABNAME>SOTR_HEADU</TABNAME>
<AS4LOCAL>A</AS4LOCAL>
<TABKAT>0</TABKAT>
<TABART>APPL0</TABART>
<BUFALLOW>N</BUFALLOW>
</DD09L>
<DD03P_TABLE>
<DD03P>
<FIELDNAME>CONCEPT</FIELDNAME>
<KEYFLAG>X</KEYFLAG>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000064</INTLEN>
<NOTNULL>X</NOTNULL>
<DATATYPE>CHAR</DATATYPE>
<LENG>000032</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>PAKET</FIELDNAME>
<ROLLNAME>DEVCLASS</ROLLNAME>
<ADMINFIELD>0</ADMINFIELD>
<SHLPORIGIN>D</SHLPORIGIN>
<COMPTYPE>E</COMPTYPE>
</DD03P>
<DD03P>
<FIELDNAME>CREA_NAME</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000024</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000012</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>CREA_TSTUT</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>N</INTTYPE>
<INTLEN>000028</INTLEN>
<DATATYPE>NUMC</DATATYPE>
<LENG>000014</LENG>
<MASK> NUMC</MASK>
</DD03P>
<DD03P>
<FIELDNAME>CHAN_NAME</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000024</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000012</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>CHAN_TSTUT</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>N</INTTYPE>
<INTLEN>000028</INTLEN>
<DATATYPE>NUMC</DATATYPE>
<LENG>000014</LENG>
<MASK> NUMC</MASK>
</DD03P>
<DD03P>
<FIELDNAME>SYSTEM_ID</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000016</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000008</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>OBJID_VEC</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>X</INTTYPE>
<INTLEN>000010</INTLEN>
<DATATYPE>RAW</DATATYPE>
<LENG>000010</LENG>
<MASK> RAW</MASK>
</DD03P>
<DD03P>
<FIELDNAME>CREA_LAN</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>ALIAS_NAME</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000100</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000050</LENG>
<MASK> CHAR</MASK>
</DD03P>
</DD03P_TABLE>
</asx:values>
</asx:abap>
</abapGit>

View File

@ -1,4 +0,0 @@
TYPE-POOL srext.
CONSTANTS srext_ext_class_pool TYPE c LENGTH 2 VALUE 'CP'.
CONSTANTS srext_ext_interface_pool TYPE c LENGTH 2 VALUE 'IP'.

25
deps/tcdrs.tabl.xml vendored
View File

@ -1,25 +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>TCDRS</TABNAME>
<DDLANGUAGE>E</DDLANGUAGE>
<TABCLASS>INTTAB</TABCLASS>
<DDTEXT>TCDRS</DDTEXT>
<EXCLASS>1</EXCLASS>
</DD02V>
<DD03P_TABLE>
<DD03P>
<FIELDNAME>TABNAME</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000060</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000030</LENG>
<MASK> CHAR</MASK>
</DD03P>
</DD03P_TABLE>
</asx:values>
</asx:abap>
</abapGit>

62
deps/tddat.tabl.xml vendored
View File

@ -1,62 +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>TDDAT</TABNAME>
<DDLANGUAGE>E</DDLANGUAGE>
<TABCLASS>TRANSP</TABCLASS>
<DDTEXT>TDDAT</DDTEXT>
<CONTFLAG>A</CONTFLAG>
<EXCLASS>1</EXCLASS>
</DD02V>
<DD09L>
<TABNAME>TDDAT</TABNAME>
<AS4LOCAL>A</AS4LOCAL>
<TABKAT>0</TABKAT>
<TABART>APPL1</TABART>
<BUFALLOW>N</BUFALLOW>
</DD09L>
<DD03P_TABLE>
<DD03P>
<FIELDNAME>TABNAME</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>MCLASS</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000008</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000004</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>CCLASS</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000028</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000014</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_TABLE>
</asx:values>
</asx:abap>
</abapGit>

24
deps/uccheck.dtel.xml vendored
View File

@ -1,24 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<abapGit version="v1.0.0" serializer="LCL_OBJECT_DTEL" serializer_version="v1.0.0">
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
<asx:values>
<DD04V>
<ROLLNAME>UCCHECK</ROLLNAME>
<DDLANGUAGE>E</DDLANGUAGE>
<HEADLEN>55</HEADLEN>
<SCRLEN1>10</SCRLEN1>
<SCRLEN2>20</SCRLEN2>
<SCRLEN3>40</SCRLEN3>
<DDTEXT>UCCHECK</DDTEXT>
<REPTEXT>UCCHECK</REPTEXT>
<SCRTEXT_S>UCCHECK</SCRTEXT_S>
<SCRTEXT_M>UCCHECK</SCRTEXT_M>
<SCRTEXT_L>UCCHECK</SCRTEXT_L>
<DTELMASTER>E</DTELMASTER>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<OUTPUTLEN>000001</OUTPUTLEN>
</DD04V>
</asx:values>
</asx:abap>
</abapGit>

View File

@ -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>ZABAPGIT</TABNAME>
<DDLANGUAGE>E</DDLANGUAGE>
<TABCLASS>TRANSP</TABCLASS>
<DDTEXT>Generated by abapGit</DDTEXT>
<CONTFLAG>L</CONTFLAG>
<EXCLASS>1</EXCLASS>
</DD02V>
<DD09L>
<TABNAME>ZABAPGIT</TABNAME>
<AS4LOCAL>A</AS4LOCAL>
<TABKAT>1</TABKAT>
<TABART>APPL1</TABART>
<BUFALLOW>N</BUFALLOW>
</DD09L>
<DD03P_TABLE>
<DD03P>
<FIELDNAME>TYPE</FIELDNAME>
<KEYFLAG>X</KEYFLAG>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000024</INTLEN>
<NOTNULL>X</NOTNULL>
<DATATYPE>CHAR</DATATYPE>
<LENG>000012</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>VALUE</FIELDNAME>
<KEYFLAG>X</KEYFLAG>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000024</INTLEN>
<NOTNULL>X</NOTNULL>
<DATATYPE>CHAR</DATATYPE>
<LENG>000012</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>DATA_STR</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>g</INTTYPE>
<INTLEN>000008</INTLEN>
<DATATYPE>STRG</DATATYPE>
<MASK> STRG</MASK>
</DD03P>
</DD03P_TABLE>
</asx:values>
</asx:abap>
</abapGit>

View File

@ -1,42 +0,0 @@
import js from "@eslint/js";
import globals from "globals";
export default [
js.configs.recommended,
{
"languageOptions": {
"parserOptions": {
"ecmaVersion": 2015
},
"sourceType": "script",
"globals": globals.browser,
},
"rules": {
"quotes": [
"error",
"double",
{
"avoidEscape": true
}
],
"semi": [
"error",
"always",
{
"omitLastInOneLineBlock": true
}
],
"no-console": "off",
"indent": [
"error",
2
],
"no-trailing-spaces": [
"error"
],
"no-unused-vars": [
"warn"
]
}
}
];

View File

@ -1,16 +1,19 @@
{
"license": "MIT",
"private": true,
"scripts": {
"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 > zabapgit.abap",
"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/",
"unit": "npm run build && echo RUNNING && node output/index.mjs --skip-critical",
"coverage": "npm run unit && c8 node output/index.mjs --skip-critical && c8 report --reporter=html",
"integration": "npm run build && echo RUNNING && node output/index.mjs --only-critical",
"build": "rm -rf output && abap_transpile test/abap_transpile.json",
"unit": "npm run build && echo RUNNING && node output/index.mjs",
"coverage": "npm run unit && c8 node output/index.mjs && c8 report --reporter=html",
"integration": "rm -rf output && cp test/abap_transpile.json test/abap_transpile_int.json && sed -i 's/zcl_abapgit_auth/zcl_abapgit_integration_git/g' test/abap_transpile_int.json && abap_transpile test/abap_transpile_int.json && echo RUNNING && node output/index.mjs",
"abaplint": "abaplint --format codeframe",
"eslint": "eslint src"
"eslint": "eslint src",
"docker-build": "docker-compose -f test/docker-compose.yml build",
"docker-up": "docker-compose -f test/docker-compose.yml up",
"docker-unit": "docker-compose -f test/docker-compose.yml run --workdir=\"/home/node/abapGit\" abapgit npm run-script unit",
"docker-down": "docker-compose -f test/docker-compose.yml down"
},
"repository": {
"type": "git",
@ -23,14 +26,12 @@
]
},
"devDependencies": {
"@abaplint/cli": "^2.113.110",
"@abaplint/database-sqlite": "^2.10.24",
"@abaplint/runtime": "^2.10.44",
"express": "^4.21.2",
"@abaplint/transpiler-cli": "^2.10.44",
"globals": "^16.0.0",
"abapmerge": "^0.16.6",
"c8": "^10.1.3",
"eslint": "^9.25.1"
"@abaplint/cli": "^2.94.23",
"@abaplint/database-sqlite": "^2.3.105",
"@abaplint/runtime": "^2.3.109",
"@abaplint/transpiler-cli": "^2.3.110",
"abapmerge": "^0.14.8",
"c8": "^7.12.0",
"eslint": "^8.32.0"
}
}

View File

@ -21,17 +21,19 @@ CLASS zcl_abapgit_apack_helper DEFINITION
IMPORTING
!iv_package TYPE devclass
RETURNING
VALUE(rs_file) TYPE zif_abapgit_git_definitions=>ty_file
VALUE(rs_file) TYPE zif_abapgit_definitions=>ty_file
RAISING
zcx_abapgit_exception .
CLASS-METHODS get_manifest_implementations
RETURNING
VALUE(rt_manifest_implementations) TYPE zif_abapgit_apack_definitions=>ty_manifest_declarations.
PROTECTED SECTION.
PRIVATE SECTION.
TYPES:
BEGIN OF ty_manifest_declaration,
clsname TYPE seometarel-clsname,
devclass TYPE devclass,
END OF ty_manifest_declaration .
TYPES:
ty_manifest_declarations TYPE STANDARD TABLE OF ty_manifest_declaration WITH NON-UNIQUE DEFAULT KEY .
TYPES:
BEGIN OF ty_dependency_status,
met TYPE zif_abapgit_definitions=>ty_yes_no_partial.
@ -107,21 +109,12 @@ CLASS zcl_abapgit_apack_helper IMPLEMENTATION.
METHOD dependencies_popup.
DATA: lt_met_status TYPE ty_dependency_statuses,
lv_answer TYPE c LENGTH 1.
DATA: lt_met_status TYPE ty_dependency_statuses.
lt_met_status = get_dependencies_met_status( it_dependencies ).
show_dependencies_popup( lt_met_status ).
lv_answer = zcl_abapgit_ui_factory=>get_popups( )->popup_to_confirm(
iv_titlebar = 'Warning'
iv_text_question = 'The project has unmet dependencies. Do you want to continue?' ).
IF lv_answer <> '1'.
zcx_abapgit_exception=>raise( 'Cancelling because of unmet dependencies.' ).
ENDIF.
ENDMETHOD.
@ -233,12 +226,19 @@ CLASS zcl_abapgit_apack_helper IMPLEMENTATION.
METHOD get_installed_packages.
DATA: lo_apack_reader TYPE REF TO zcl_abapgit_apack_reader,
lt_manifest_implementation TYPE zif_abapgit_apack_definitions=>ty_manifest_declarations,
ls_manifest_implementation TYPE zif_abapgit_apack_definitions=>ty_manifest_declaration,
lt_manifest_implementation TYPE ty_manifest_declarations,
ls_manifest_implementation TYPE ty_manifest_declaration,
lo_manifest_provider TYPE REF TO object,
ls_descriptor TYPE zif_abapgit_apack_definitions=>ty_descriptor.
lt_manifest_implementation = get_manifest_implementations( ).
SELECT seometarel~clsname tadir~devclass FROM seometarel "#EC CI_NOORDER
INNER JOIN tadir ON seometarel~clsname = tadir~obj_name "#EC CI_BUFFJOIN
INTO TABLE lt_manifest_implementation
WHERE tadir~pgmid = 'R3TR'
AND tadir~object = 'CLAS'
AND seometarel~version = '1'
AND ( seometarel~refclsname = zif_abapgit_apack_definitions=>c_apack_interface_cust
OR seometarel~refclsname = zif_abapgit_apack_definitions=>c_apack_interface_sap ).
LOOP AT lt_manifest_implementation INTO ls_manifest_implementation.
CLEAR: lo_manifest_provider, lo_apack_reader.
@ -266,39 +266,6 @@ CLASS zcl_abapgit_apack_helper IMPLEMENTATION.
ENDMETHOD.
METHOD get_manifest_implementations.
DATA lt_refclsname TYPE RANGE OF abap_classname.
DATA ls_refclsname LIKE LINE OF lt_refclsname.
ls_refclsname-sign = 'I'.
ls_refclsname-option = 'EQ'.
ls_refclsname-low = zif_abapgit_apack_definitions=>c_apack_interface_cust.
INSERT ls_refclsname INTO TABLE lt_refclsname.
ls_refclsname-sign = 'I'.
ls_refclsname-option = 'EQ'.
ls_refclsname-low = zif_abapgit_apack_definitions=>c_apack_interface_sap.
INSERT ls_refclsname INTO TABLE lt_refclsname.
ls_refclsname-sign = 'I'.
ls_refclsname-option = 'CP'.
ls_refclsname-low = zif_abapgit_apack_definitions=>c_apack_interface_nspc.
INSERT ls_refclsname INTO TABLE lt_refclsname.
" Find all classes that implement customer or SAP version of APACK interface
SELECT seometarel~clsname tadir~devclass FROM seometarel "#EC CI_NOORDER
INNER JOIN tadir ON seometarel~clsname = tadir~obj_name "#EC CI_BUFFJOIN
INTO TABLE rt_manifest_implementations
WHERE tadir~pgmid = 'R3TR'
AND tadir~object = 'CLAS'
AND seometarel~version = '1'
AND seometarel~refclsname IN lt_refclsname
ORDER BY clsname devclass ##SUBRC_OK.
ENDMETHOD.
METHOD show_dependencies_popup.
DATA: lo_alv TYPE REF TO cl_salv_table,
@ -308,7 +275,7 @@ CLASS zcl_abapgit_apack_helper IMPLEMENTATION.
lt_columns TYPE salv_t_column_ref,
ls_column LIKE LINE OF lt_columns,
lt_color_table TYPE ty_color_tab,
ls_position TYPE zif_abapgit_popups=>ty_popup_position,
ls_position TYPE zcl_abapgit_popups=>ty_popup_position,
lx_ex TYPE REF TO cx_root.
IF it_dependencies IS INITIAL.

View File

@ -178,7 +178,7 @@ CLASS zcl_abapgit_apack_migration IMPLEMENTATION.
component_error = 4
no_access = 5
other = 6
OTHERS = 7 ##FM_SUBRC_OK.
OTHERS = 7.
CATCH cx_sy_dyn_call_param_not_found.
CALL FUNCTION 'SEO_INTERFACE_CREATE_COMPLETE'
EXPORTING

View File

@ -43,18 +43,14 @@ CLASS zcl_abapgit_apack_reader DEFINITION
METHODS constructor
IMPORTING
!iv_package_name TYPE ty_package_name .
METHODS refresh.
PROTECTED SECTION.
PRIVATE SECTION.
TYPES:
BEGIN OF ty_instance,
package TYPE ty_package_name,
instance TYPE REF TO zcl_abapgit_apack_reader,
END OF ty_instance,
ty_instances TYPE HASHED TABLE OF ty_instance WITH UNIQUE KEY package.
CLASS-DATA gt_instances TYPE ty_instances.
BEGIN OF ty_s_manifest_declaration,
clsname TYPE seoclsname,
devclass TYPE devclass,
END OF ty_s_manifest_declaration .
DATA mv_package_name TYPE ty_package_name .
DATA ms_cached_descriptor TYPE zif_abapgit_apack_definitions=>ty_descriptor .
@ -78,7 +74,6 @@ CLASS zcl_abapgit_apack_reader IMPLEMENTATION.
METHOD constructor.
ASSERT iv_package_name IS NOT INITIAL.
mv_package_name = iv_package_name.
ENDMETHOD.
@ -89,11 +84,7 @@ CLASS zcl_abapgit_apack_reader IMPLEMENTATION.
ls_my_dependency TYPE zif_abapgit_apack_definitions=>ty_dependency,
ls_descriptor TYPE zif_abapgit_apack_definitions=>ty_descriptor,
lv_descriptor_cust TYPE string,
lv_descriptor_sap TYPE string,
lv_descriptor_nspc TYPE string,
lv_class_name TYPE abap_abstypename,
lv_empty TYPE string,
ls_namespace TYPE zif_abapgit_definitions=>ty_obj_namespace.
lv_descriptor_sap TYPE string.
FIELD-SYMBOLS: <lg_descriptor> TYPE any,
<lt_dependencies> TYPE ANY TABLE,
@ -102,20 +93,9 @@ CLASS zcl_abapgit_apack_reader IMPLEMENTATION.
lv_descriptor_cust = zif_abapgit_apack_definitions=>c_apack_interface_cust && '~DESCRIPTOR'.
lv_descriptor_sap = zif_abapgit_apack_definitions=>c_apack_interface_sap && '~DESCRIPTOR'.
lv_class_name = cl_abap_classdescr=>get_class_name( io_manifest_provider ).
SPLIT lv_class_name AT '\CLASS=' INTO lv_empty lv_class_name.
ls_namespace = zcl_abapgit_factory=>get_sap_namespace( )->split_by_name( lv_class_name ).
IF ls_namespace-namespace IS NOT INITIAL.
lv_descriptor_nspc = |{ ls_namespace-namespace }{ lv_descriptor_sap }|.
ENDIF.
ASSIGN io_manifest_provider->(lv_descriptor_cust) TO <lg_descriptor>.
IF <lg_descriptor> IS NOT ASSIGNED.
ASSIGN io_manifest_provider->(lv_descriptor_sap) TO <lg_descriptor>.
IF <lg_descriptor> IS NOT ASSIGNED AND lv_descriptor_nspc IS NOT INITIAL.
ASSIGN io_manifest_provider->(lv_descriptor_nspc) TO <lg_descriptor>.
ENDIF.
ENDIF.
IF <lg_descriptor> IS ASSIGNED.
" A little more complex than a normal MOVE-CORRSPONDING
@ -137,23 +117,9 @@ CLASS zcl_abapgit_apack_reader IMPLEMENTATION.
METHOD create_instance.
DATA ls_instance TYPE ty_instance.
" One instance per package
READ TABLE gt_instances INTO ls_instance WITH TABLE KEY package = iv_package_name.
IF sy-subrc <> 0.
ls_instance-package = iv_package_name.
CREATE OBJECT ls_instance-instance
EXPORTING
iv_package_name = iv_package_name.
INSERT ls_instance INTO TABLE gt_instances.
ENDIF.
ro_manifest_reader = ls_instance-instance.
CREATE OBJECT ro_manifest_reader
EXPORTING
iv_package_name = iv_package_name.
ENDMETHOD.
@ -166,6 +132,8 @@ CLASS zcl_abapgit_apack_reader IMPLEMENTATION.
ls_data = from_xml( lv_xml ).
ro_manifest_reader = create_instance( iv_package_name ).
ro_manifest_reader = create_instance( iv_package_name ).
ro_manifest_reader->set_manifest_descriptor( ls_data ).
@ -180,7 +148,6 @@ CLASS zcl_abapgit_apack_reader IMPLEMENTATION.
ms_cached_descriptor-sem_version = zcl_abapgit_version=>conv_str_to_version( ms_cached_descriptor-version ).
LOOP AT ms_cached_descriptor-dependencies ASSIGNING <ls_dependency>.
TRANSLATE <ls_dependency>-version TO LOWER CASE.
<ls_dependency>-sem_version = zcl_abapgit_version=>conv_str_to_version( <ls_dependency>-version ).
ENDLOOP.
@ -204,24 +171,27 @@ CLASS zcl_abapgit_apack_reader IMPLEMENTATION.
METHOD get_manifest_descriptor.
DATA: lo_manifest_provider TYPE REF TO object,
lv_package TYPE devclass,
lt_packages TYPE zif_abapgit_sap_package=>ty_devclass_tt,
ls_manifest_implementation TYPE zif_abapgit_apack_definitions=>ty_manifest_declaration,
lt_manifest_implementation TYPE zif_abapgit_apack_definitions=>ty_manifest_declarations.
ls_manifest_implementation TYPE ty_s_manifest_declaration.
IF mv_is_cached IS INITIAL.
lt_packages = zcl_abapgit_factory=>get_sap_package( mv_package_name )->list_subpackages( ).
INSERT mv_package_name INTO TABLE lt_packages.
lt_manifest_implementation = zcl_abapgit_apack_helper=>get_manifest_implementations( ).
LOOP AT lt_packages INTO lv_package.
READ TABLE lt_manifest_implementation INTO ls_manifest_implementation WITH KEY devclass = lv_package.
IF sy-subrc = 0.
EXIT.
ENDIF.
ENDLOOP.
IF mv_is_cached IS INITIAL AND mv_package_name IS NOT INITIAL.
SELECT SINGLE seometarel~clsname tadir~devclass FROM seometarel "#EC CI_NOORDER
INNER JOIN tadir ON seometarel~clsname = tadir~obj_name "#EC CI_BUFFJOIN
INTO ls_manifest_implementation
WHERE tadir~pgmid = 'R3TR' AND
tadir~object = 'CLAS' AND
seometarel~version = '1' AND
seometarel~refclsname = zif_abapgit_apack_definitions=>c_apack_interface_cust AND
tadir~devclass = mv_package_name.
IF ls_manifest_implementation IS INITIAL.
SELECT SINGLE seometarel~clsname tadir~devclass FROM seometarel "#EC CI_NOORDER
INNER JOIN tadir ON seometarel~clsname = tadir~obj_name "#EC CI_BUFFJOIN
INTO ls_manifest_implementation
WHERE tadir~pgmid = 'R3TR' AND
tadir~object = 'CLAS' AND
seometarel~version = '1' AND
seometarel~refclsname = zif_abapgit_apack_definitions=>c_apack_interface_sap AND
tadir~devclass = mv_package_name.
ENDIF.
IF ls_manifest_implementation IS NOT INITIAL.
TRY.
CREATE OBJECT lo_manifest_provider TYPE (ls_manifest_implementation-clsname).
@ -247,16 +217,14 @@ CLASS zcl_abapgit_apack_reader IMPLEMENTATION.
ls_returned_manifest = get_manifest_descriptor( ).
rv_has_manifest = boolc( ls_returned_manifest IS NOT INITIAL ).
rv_has_manifest = abap_false.
IF ls_returned_manifest IS NOT INITIAL.
rv_has_manifest = abap_true.
ENDIF.
ENDMETHOD.
METHOD refresh.
CLEAR: mv_is_cached, ms_cached_descriptor.
ENDMETHOD.
METHOD set_manifest_descriptor.
mv_is_cached = abap_true.
ms_cached_descriptor = is_manifest_descriptor.

View File

@ -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.
PRIVATE SECTION.
METHODS:

View File

@ -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.
PRIVATE SECTION.
METHODS: the_serializator FOR TESTING RAISING cx_static_check.

View File

@ -27,21 +27,13 @@ INTERFACE zif_abapgit_apack_definitions PUBLIC .
BEGIN OF ty_descriptor.
INCLUDE TYPE ty_descriptor_wo_dependencies.
TYPES:
dependencies TYPE ty_dependencies,
dependencies TYPE ty_dependencies,
END OF ty_descriptor,
ty_descriptors TYPE STANDARD TABLE OF ty_descriptor WITH NON-UNIQUE DEFAULT KEY.
TYPES:
BEGIN OF ty_manifest_declaration,
clsname TYPE seoclsname,
devclass TYPE devclass,
END OF ty_manifest_declaration,
ty_manifest_declarations TYPE STANDARD TABLE OF ty_manifest_declaration WITH DEFAULT KEY.
CONSTANTS c_dot_apack_manifest TYPE string VALUE '.apack-manifest.xml' ##NO_TEXT.
CONSTANTS c_repository_type_abapgit TYPE ty_repository_type VALUE 'abapGit' ##NO_TEXT.
CONSTANTS c_apack_interface_sap TYPE seoclsname VALUE 'IF_APACK_MANIFEST' ##NO_TEXT.
CONSTANTS c_apack_interface_cust TYPE seoclsname VALUE 'ZIF_APACK_MANIFEST' ##NO_TEXT.
CONSTANTS c_apack_interface_nspc TYPE seoclsname VALUE '/*/IF_APACK_MANIFEST' ##NO_TEXT.
ENDINTERFACE.

View File

@ -14,115 +14,49 @@ CLASS zcl_abapgit_background DEFINITION
CLASS-METHODS run
RAISING
zcx_abapgit_exception .
CLASS-METHODS list_methods
RETURNING VALUE(rt_methods) TYPE ty_methods.
CLASS-METHODS enqueue
RAISING
zcx_abapgit_exception.
CLASS-METHODS dequeue.
PROTECTED SECTION.
PRIVATE SECTION.
CONSTANTS c_enq_type TYPE c LENGTH 12 VALUE 'BACKGROUND'.
CONSTANTS c_interface TYPE seoclskey VALUE 'ZIF_ABAPGIT_BACKGROUND'.
ENDCLASS.
CLASS zcl_abapgit_background IMPLEMENTATION.
METHOD dequeue.
CALL FUNCTION 'DEQUEUE_EZABAPGIT'
EXPORTING
type = c_enq_type.
ENDMETHOD.
METHOD enqueue.
CALL FUNCTION 'ENQUEUE_EZABAPGIT'
EXPORTING
mode_zabapgit = 'E'
type = c_enq_type
_scope = '3'
EXCEPTIONS
foreign_lock = 1
system_failure = 2
OTHERS = 3.
IF sy-subrc <> 0.
zcx_abapgit_exception=>raise_t100( ).
ENDIF.
ENDMETHOD.
CLASS ZCL_ABAPGIT_BACKGROUND IMPLEMENTATION.
METHOD list_methods.
DATA: ls_method LIKE LINE OF rt_methods,
lt_implementing TYPE seor_implementing_keys,
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.
DATA: ls_method LIKE LINE OF rt_methods,
ls_key TYPE seoclskey,
lt_implementing TYPE seor_implementing_keys,
ls_implementing LIKE LINE OF lt_implementing.
FIELD-SYMBOLS: <ls_local_class> LIKE LINE OF lt_local_classes,
<ls_method> LIKE LINE OF rt_methods.
FIELD-SYMBOLS: <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>.
lv_classname = |\\PROGRAM={ sy-repid }\\CLASS={ <ls_local_class>-name }|.
cl_abap_typedescr=>describe_by_name(
EXPORTING
p_name = lv_classname
RECEIVING
p_descr_ref = lr_typedescr
EXCEPTIONS
type_not_found = 1
OTHERS = 2 ).
* in order to handle local classes in the compiled report
ls_method-class = 'ZCL_ABAPGIT_BACKGROUND_PULL'.
INSERT ls_method INTO TABLE rt_methods.
ls_method-class = 'ZCL_ABAPGIT_BACKGROUND_PUSH_AU'.
INSERT ls_method INTO TABLE rt_methods.
ls_method-class = 'ZCL_ABAPGIT_BACKGROUND_PUSH_FI'.
INSERT ls_method INTO TABLE rt_methods.
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.
ENDIF.
ENDIF.
ENDIF.
ENDLOOP.
ls_key-clsname = 'ZIF_ABAPGIT_BACKGROUND'.
ELSE.
" Assume the developer version runs.
CALL FUNCTION 'SEO_INTERFACE_IMPLEM_GET_ALL'
EXPORTING
intkey = c_interface
IMPORTING
impkeys = lt_implementing
EXCEPTIONS
not_existing = 1
OTHERS = 2.
IF sy-subrc = 0.
LOOP AT lt_implementing INTO ls_implementing.
ls_method-class = ls_implementing-clsname.
INSERT ls_method INTO TABLE rt_methods.
ENDLOOP.
ENDIF.
ENDIF.
CALL FUNCTION 'SEO_INTERFACE_IMPLEM_GET_ALL'
EXPORTING
intkey = ls_key
IMPORTING
impkeys = lt_implementing
EXCEPTIONS
not_existing = 1
OTHERS = 2 ##FM_SUBRC_OK.
LOOP AT lt_implementing INTO ls_implementing.
ls_method-class = ls_implementing-clsname.
INSERT ls_method INTO TABLE rt_methods.
ENDLOOP.
LOOP AT rt_methods ASSIGNING <ls_method>.
CALL METHOD (<ls_method>-class)=>zif_abapgit_background~get_description
@ -135,65 +69,64 @@ CLASS zcl_abapgit_background IMPLEMENTATION.
METHOD run.
DATA:
li_repo TYPE REF TO zif_abapgit_repo,
li_repo_online TYPE REF TO zif_abapgit_repo_online,
lt_list TYPE zif_abapgit_persist_background=>ty_background_keys,
li_background TYPE REF TO zif_abapgit_background,
li_log TYPE REF TO zif_abapgit_log,
lx_error TYPE REF TO zcx_abapgit_exception,
lv_repo_name TYPE string.
CONSTANTS: lc_enq_type TYPE c LENGTH 12 VALUE 'BACKGROUND'.
DATA: lo_per TYPE REF TO zcl_abapgit_persist_background,
lo_repo TYPE REF TO zcl_abapgit_repo_online,
lt_list TYPE zcl_abapgit_persist_background=>ty_background_keys,
li_background TYPE REF TO zif_abapgit_background,
li_log TYPE REF TO zif_abapgit_log,
lx_error TYPE REF TO zcx_abapgit_exception,
lv_repo_name TYPE string.
FIELD-SYMBOLS: <ls_list> LIKE LINE OF lt_list.
TRY.
enqueue( ).
CATCH zcx_abapgit_exception.
WRITE: / 'Another instance of the program is already running'.
RETURN.
ENDTRY.
lt_list = zcl_abapgit_persist_factory=>get_background( )->list( ).
CALL FUNCTION 'ENQUEUE_EZABAPGIT'
EXPORTING
mode_zabapgit = 'E'
type = lc_enq_type
_scope = '3'
EXCEPTIONS
foreign_lock = 1
system_failure = 2
OTHERS = 3.
IF sy-subrc <> 0.
WRITE: / 'Another intance of the program is already running'.
RETURN.
ENDIF.
CREATE OBJECT lo_per.
lt_list = lo_per->list( ).
WRITE: / 'Background mode'.
LOOP AT lt_list ASSIGNING <ls_list>.
CREATE OBJECT li_log TYPE zcl_abapgit_log.
TRY.
li_repo = zcl_abapgit_repo_srv=>get_instance( )->get( <ls_list>-key ).
li_repo_online ?= li_repo.
lv_repo_name = li_repo->get_name( ).
lo_repo ?= zcl_abapgit_repo_srv=>get_instance( )->get( <ls_list>-key ).
lv_repo_name = lo_repo->get_name( ).
WRITE: / <ls_list>-method, lv_repo_name.
zcl_abapgit_login_manager=>set(
iv_uri = li_repo_online->get_url( )
iv_uri = lo_repo->get_url( )
iv_username = <ls_list>-username
iv_password = <ls_list>-password ).
TRY.
CREATE OBJECT li_background TYPE (<ls_list>-method).
CREATE OBJECT li_log TYPE zcl_abapgit_log.
CREATE OBJECT li_background TYPE (<ls_list>-method).
li_background->run(
ii_repo_online = li_repo_online
ii_log = li_log
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.
li_background->run(
io_repo = lo_repo
ii_log = li_log
it_settings = <ls_list>-settings ).
" Clear auth buffer to allow different user/password per repository in background mode
zcl_abapgit_login_manager=>clear( ).
" Decrease memory usage for repository already processed (but keep log)
li_repo->refresh(
iv_drop_cache = abap_true
iv_drop_log = abap_false ).
CATCH zcx_abapgit_exception INTO lx_error.
li_log->add_exception( lx_error ).
ENDTRY.
" Clear auth buffer to allow different user/password per repository in background mode
zcl_abapgit_login_manager=>clear( ).
zcl_abapgit_log_viewer=>write_log( li_log ).
ENDLOOP.
@ -201,7 +134,9 @@ CLASS zcl_abapgit_background IMPLEMENTATION.
WRITE: / 'Nothing configured'.
ENDIF.
dequeue( ).
CALL FUNCTION 'DEQUEUE_EZABAPGIT'
EXPORTING
type = lc_enq_type.
ENDMETHOD.
ENDCLASS.

View File

@ -28,37 +28,19 @@ CLASS zcl_abapgit_background_pull IMPLEMENTATION.
METHOD zif_abapgit_background~run.
DATA: ls_checks TYPE zif_abapgit_definitions=>ty_deserialize_checks,
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.
DATA: ls_checks TYPE zif_abapgit_definitions=>ty_deserialize_checks.
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>.
<ls_overwrite>-decision = zif_abapgit_definitions=>c_yes.
ENDLOOP.
lo_settings = zcl_abapgit_persist_factory=>get_settings( )->read( ).
lv_activation_setting = lo_settings->get_activate_wo_popup( ).
lo_settings->set_activate_wo_popup( abap_true ).
" 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
io_repo->deserialize( is_checks = ls_checks
ii_log = ii_log ).
lo_settings->set_activate_wo_popup( lv_activation_setting ).
ENDMETHOD.
ENDCLASS.

View File

@ -17,18 +17,18 @@ CLASS zcl_abapgit_background_push_au DEFINITION
VALUE(rv_comment) TYPE string .
METHODS push_auto
IMPORTING
!ii_repo_online TYPE REF TO zif_abapgit_repo_online
!io_repo TYPE REF TO zcl_abapgit_repo_online
RAISING
zcx_abapgit_exception .
METHODS determine_user_details
IMPORTING
!iv_changed_by TYPE syuname
RETURNING
VALUE(rs_user) TYPE zif_abapgit_git_definitions=>ty_git_user .
VALUE(rs_user) TYPE zif_abapgit_definitions=>ty_git_user .
METHODS push_deletions
IMPORTING
!ii_repo_online TYPE REF TO zif_abapgit_repo_online
!is_files TYPE zif_abapgit_definitions=>ty_stage_files
!io_repo TYPE REF TO zcl_abapgit_repo_online
!is_files TYPE zif_abapgit_definitions=>ty_stage_files
RAISING
zcx_abapgit_exception .
PRIVATE SECTION.
@ -60,7 +60,7 @@ CLASS zcl_abapgit_background_push_au IMPLEMENTATION.
ELSE.
rv_comment = 'BG: Multiple objects'.
LOOP AT lt_objects INTO lv_str.
CONCATENATE rv_comment cl_abap_char_utilities=>newline lv_str INTO rv_comment.
CONCATENATE rv_comment zif_abapgit_definitions=>c_newline lv_str INTO rv_comment.
ENDLOOP.
ENDIF.
@ -69,12 +69,12 @@ CLASS zcl_abapgit_background_push_au IMPLEMENTATION.
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( ).
rs_user-name = li_user_record->get_name( iv_changed_by ).
rs_user-email = li_user_record->get_email( iv_changed_by ).
lo_user_record = zcl_abapgit_user_record=>get_instance( iv_changed_by ).
rs_user-name = lo_user_record->get_name( ).
rs_user-email = lo_user_record->get_email( ).
* If no email, fall back to localhost/default email
IF rs_user-email IS INITIAL.
@ -97,7 +97,7 @@ CLASS zcl_abapgit_background_push_au IMPLEMENTATION.
changed_by TYPE syuname,
END OF ty_changed.
DATA: ls_comment TYPE zif_abapgit_git_definitions=>ty_comment,
DATA: ls_comment TYPE zif_abapgit_definitions=>ty_comment,
ls_files TYPE zif_abapgit_definitions=>ty_stage_files,
lt_changed TYPE STANDARD TABLE OF ty_changed WITH DEFAULT KEY,
lt_users TYPE STANDARD TABLE OF syuname WITH DEFAULT KEY,
@ -110,12 +110,10 @@ CLASS zcl_abapgit_background_push_au IMPLEMENTATION.
<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>.
lv_changed_by = zcl_abapgit_objects=>changed_by(
is_item = <ls_local>-item
iv_filename = <ls_local>-file-filename ).
lv_changed_by = zcl_abapgit_objects=>changed_by( <ls_local>-item ).
APPEND lv_changed_by TO lt_users.
APPEND INITIAL LINE TO lt_changed ASSIGNING <ls_changed>.
<ls_changed>-changed_by = lv_changed_by.
@ -172,13 +170,13 @@ CLASS zcl_abapgit_background_push_au IMPLEMENTATION.
ls_comment-comment = build_comment( ls_user_files ).
ii_repo_online->push( is_comment = ls_comment
io_stage = lo_stage ).
io_repo->push( is_comment = ls_comment
io_stage = lo_stage ).
ENDLOOP.
IF lines( ls_files-remote ) > 0.
push_deletions( ii_repo_online = ii_repo_online
is_files = ls_files ).
push_deletions( io_repo = io_repo
is_files = ls_files ).
ENDIF.
ENDMETHOD.
@ -187,7 +185,7 @@ CLASS zcl_abapgit_background_push_au IMPLEMENTATION.
METHOD push_deletions.
DATA: lo_stage TYPE REF TO zcl_abapgit_stage,
ls_comment TYPE zif_abapgit_git_definitions=>ty_comment.
ls_comment TYPE zif_abapgit_definitions=>ty_comment.
FIELD-SYMBOLS: <ls_remote> LIKE LINE OF is_files-remote.
@ -204,7 +202,7 @@ CLASS zcl_abapgit_background_push_au IMPLEMENTATION.
lo_stage->rm( iv_path = <ls_remote>-path
iv_filename = <ls_remote>-filename ).
CONCATENATE ls_comment-comment cl_abap_char_utilities=>newline <ls_remote>-filename
CONCATENATE ls_comment-comment zif_abapgit_definitions=>c_newline <ls_remote>-filename
INTO ls_comment-comment.
ENDLOOP.
@ -212,8 +210,8 @@ CLASS zcl_abapgit_background_push_au IMPLEMENTATION.
ls_comment-committer-name = 'Deletion'.
ls_comment-committer-email = 'deletion@localhost'.
ii_repo_online->push( is_comment = ls_comment
io_stage = lo_stage ).
io_repo->push( is_comment = ls_comment
io_stage = lo_stage ).
ENDMETHOD.
@ -237,14 +235,14 @@ CLASS zcl_abapgit_background_push_au IMPLEMENTATION.
DATA: ls_files TYPE zif_abapgit_definitions=>ty_stage_files.
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.
ii_log->add_info( 'Nothing to stage' ).
RETURN.
ENDIF.
push_auto( ii_repo_online ).
push_auto( io_repo ).
ENDMETHOD.
ENDCLASS.

View File

@ -22,9 +22,9 @@ CLASS zcl_abapgit_background_push_fi DEFINITION
VALUE(rv_comment) TYPE string .
METHODS push_fixed
IMPORTING
!ii_repo_online TYPE REF TO zif_abapgit_repo_online
!iv_name TYPE string
!iv_email TYPE string
!io_repo TYPE REF TO zcl_abapgit_repo_online
!iv_name TYPE string
!iv_email TYPE string
RAISING
zcx_abapgit_exception .
PRIVATE SECTION.
@ -32,7 +32,7 @@ ENDCLASS.
CLASS zcl_abapgit_background_push_fi IMPLEMENTATION.
CLASS ZCL_ABAPGIT_BACKGROUND_PUSH_FI IMPLEMENTATION.
METHOD build_comment.
@ -56,7 +56,7 @@ CLASS zcl_abapgit_background_push_fi IMPLEMENTATION.
ELSE.
rv_comment = 'BG: Multiple objects'.
LOOP AT lt_objects INTO lv_str.
CONCATENATE rv_comment cl_abap_char_utilities=>newline lv_str INTO rv_comment.
CONCATENATE rv_comment zif_abapgit_definitions=>c_newline lv_str INTO rv_comment.
ENDLOOP.
ENDIF.
@ -65,7 +65,7 @@ CLASS zcl_abapgit_background_push_fi IMPLEMENTATION.
METHOD push_fixed.
DATA: ls_comment TYPE zif_abapgit_git_definitions=>ty_comment,
DATA: ls_comment TYPE zif_abapgit_definitions=>ty_comment,
ls_files TYPE zif_abapgit_definitions=>ty_stage_files,
lo_stage TYPE REF TO zcl_abapgit_stage.
@ -73,7 +73,7 @@ CLASS zcl_abapgit_background_push_fi IMPLEMENTATION.
<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
OR lines( ls_files-remote ) > 0.
@ -99,8 +99,8 @@ CLASS zcl_abapgit_background_push_fi IMPLEMENTATION.
ls_comment-committer-email = iv_email.
ls_comment-comment = build_comment( ls_files ).
ii_repo_online->push( is_comment = ls_comment
io_stage = lo_stage ).
io_repo->push( is_comment = ls_comment
io_stage = lo_stage ).
ENDMETHOD.
@ -142,7 +142,7 @@ CLASS zcl_abapgit_background_push_fi IMPLEMENTATION.
lv_email TYPE string.
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.
ii_log->add_info( 'Nothing to stage' ).
@ -156,9 +156,9 @@ CLASS zcl_abapgit_background_push_fi IMPLEMENTATION.
lv_email = ls_setting-value.
push_fixed(
ii_repo_online = ii_repo_online
iv_name = lv_name
iv_email = lv_email ).
io_repo = io_repo
iv_name = lv_name
iv_email = lv_email ).
ENDMETHOD.
ENDCLASS.

View File

@ -15,12 +15,12 @@ INTERFACE zif_abapgit_background
VALUE(rv_description) TYPE string .
CLASS-METHODS get_settings
CHANGING
ct_settings TYPE ty_settings_tt .
VALUE(ct_settings) TYPE ty_settings_tt .
METHODS run
IMPORTING
!ii_repo_online TYPE REF TO zif_abapgit_repo_online
!ii_log TYPE REF TO zif_abapgit_log
!it_settings TYPE ty_settings_tt OPTIONAL
!io_repo TYPE REF TO zcl_abapgit_repo_online
!ii_log TYPE REF TO zif_abapgit_log
!it_settings TYPE ty_settings_tt OPTIONAL
RAISING
zcx_abapgit_exception .
ENDINTERFACE.

View File

@ -11,8 +11,6 @@ CLASS zcl_abapgit_cts_api DEFINITION
PROTECTED SECTION.
PRIVATE SECTION.
DATA mv_confirm_transp_msgs_called TYPE abap_bool.
"! Returns the transport request / task the object is currently locked in
"! @parameter iv_program_id | Program ID
"! @parameter iv_object_type | Object type
@ -21,7 +19,7 @@ CLASS zcl_abapgit_cts_api DEFINITION
"! @raising zcx_abapgit_exception | Object is not locked in a transport
METHODS get_current_transport_for_obj
IMPORTING
!iv_program_id TYPE tadir-pgmid DEFAULT 'R3TR'
!iv_program_id TYPE pgmid DEFAULT 'R3TR'
!iv_object_type TYPE trobjtype
!iv_object_name TYPE sobj_name
RETURNING
@ -36,7 +34,7 @@ CLASS zcl_abapgit_cts_api DEFINITION
"! @raising zcx_abapgit_exception | Object is not locked in a transport
METHODS get_current_transport_from_db
IMPORTING
!iv_program_id TYPE tadir-pgmid DEFAULT 'R3TR'
!iv_program_id TYPE pgmid DEFAULT 'R3TR'
!iv_object_type TYPE trobjtype
!iv_object_name TYPE sobj_name
RETURNING
@ -51,7 +49,7 @@ CLASS zcl_abapgit_cts_api DEFINITION
"! @raising zcx_abapgit_exception | Object type is not lockable
METHODS is_object_locked_in_transport
IMPORTING
!iv_program_id TYPE tadir-pgmid DEFAULT 'R3TR'
!iv_program_id TYPE pgmid DEFAULT 'R3TR'
!iv_object_type TYPE trobjtype
!iv_object_name TYPE sobj_name
RETURNING
@ -64,7 +62,7 @@ CLASS zcl_abapgit_cts_api DEFINITION
"! @parameter rv_lockable | Lockable
METHODS is_object_type_lockable
IMPORTING
!iv_program_id TYPE tadir-pgmid DEFAULT 'R3TR'
!iv_program_id TYPE pgmid DEFAULT 'R3TR'
!iv_object_type TYPE trobjtype
RETURNING
VALUE(rv_lockable) TYPE abap_bool .
@ -74,7 +72,7 @@ CLASS zcl_abapgit_cts_api DEFINITION
"! @parameter rv_transportable | Transportable
METHODS is_object_type_transportable
IMPORTING
!iv_program_id TYPE tadir-pgmid DEFAULT 'R3TR'
!iv_program_id TYPE pgmid DEFAULT 'R3TR'
!iv_object_type TYPE trobjtype
RETURNING
VALUE(rv_transportable) TYPE abap_bool .
@ -89,9 +87,6 @@ CLASS zcl_abapgit_cts_api IMPLEMENTATION.
DATA: lv_object_lockable TYPE abap_bool,
lv_locked TYPE abap_bool,
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_tr_object_name TYPE trobj_name.
@ -107,8 +102,6 @@ CLASS zcl_abapgit_cts_api IMPLEMENTATION.
we_locked = lv_locked
we_lock_order = lv_transport_request
we_lock_task = lv_task
TABLES
wt_tlock = lt_tlock
EXCEPTIONS
empty_key = 1
no_systemname = 2
@ -127,15 +120,7 @@ CLASS zcl_abapgit_cts_api IMPLEMENTATION.
zcx_abapgit_exception=>raise( |Object type { iv_program_id }-{ iv_object_type } not lockable| ).
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.
ELSE.
rv_transport = zif_abapgit_definitions=>c_multiple_transports.
ENDIF.
rv_transport = lv_transport_request.
ENDMETHOD.
@ -222,223 +207,7 @@ CLASS zcl_abapgit_cts_api IMPLEMENTATION.
IMPORTING
pe_result = lv_type_check_result.
rv_transportable = boolc( lv_type_check_result CA 'RTL' OR iv_object_type = 'TABU' ).
ENDMETHOD.
METHOD zif_abapgit_cts_api~change_transport_type.
DATA:
ls_request_header TYPE trwbo_request_header,
lt_request_headers TYPE trwbo_request_headers.
CALL FUNCTION 'ENQUEUE_E_TRKORR'
EXPORTING
trkorr = iv_transport_request
EXCEPTIONS
foreign_lock = 1
system_failure = 2
OTHERS = 3.
IF sy-subrc <> 0.
zcx_abapgit_exception=>raise_t100( ).
ENDIF.
CALL FUNCTION 'TR_READ_REQUEST_WITH_TASKS'
EXPORTING
iv_trkorr = iv_transport_request
IMPORTING
et_request_headers = lt_request_headers
EXCEPTIONS
invalid_input = 1
OTHERS = 2.
IF sy-subrc <> 0.
zcx_abapgit_exception=>raise_t100( ).
ENDIF.
LOOP AT lt_request_headers INTO ls_request_header WHERE trfunction = iv_transport_type_from.
CALL FUNCTION 'TRINT_READ_REQUEST_HEADER'
EXPORTING
iv_read_e070 = abap_true
iv_read_e070c = abap_true
CHANGING
cs_request = ls_request_header
EXCEPTIONS
empty_trkorr = 1
not_exist_e070 = 2
OTHERS = 3.
IF sy-subrc <> 0.
zcx_abapgit_exception=>raise_t100( ).
ENDIF.
CALL FUNCTION 'TRINT_CHANGE_TRFUNCTION'
EXPORTING
iv_new_trfunction = iv_transport_type_to
CHANGING
cs_request_header = ls_request_header
EXCEPTIONS
action_aborted_by_user = 1
change_not_allowed = 2
db_access_error = 3
OTHERS = 4.
IF sy-subrc <> 0.
zcx_abapgit_exception=>raise_t100( ).
ENDIF.
ENDLOOP.
CALL FUNCTION 'DEQUEUE_E_TRKORR'
EXPORTING
trkorr = iv_transport_request.
ENDMETHOD.
METHOD zif_abapgit_cts_api~confirm_transport_messages.
TYPES: BEGIN OF ty_s_message,
id TYPE symsgid,
ty TYPE symsgty,
no TYPE symsgno,
v1 TYPE symsgv,
v2 TYPE symsgv,
v3 TYPE symsgv,
v4 TYPE symsgv,
END OF ty_s_message.
DATA ls_message TYPE ty_s_message.
FIELD-SYMBOLS: <lt_confirmed_messages> TYPE STANDARD TABLE.
IF mv_confirm_transp_msgs_called = abap_true.
RETURN.
ENDIF.
" remember the call to avoid duplicates in GT_CONFIRMED_MESSAGES
mv_confirm_transp_msgs_called = abap_true.
" Auto-confirm certain messages (requires SAP Note 1609940)
PERFORM dummy IN PROGRAM saplstrd IF FOUND. "load function group STRD once into memory
ASSIGN ('(SAPLSTRD)GT_CONFIRMED_MESSAGES') TO <lt_confirmed_messages>.
IF sy-subrc <> 0.
RETURN.
ENDIF.
" Object can only be created in package of namespace
ls_message-id = 'TR'.
ls_message-no = '007'.
INSERT ls_message INTO TABLE <lt_confirmed_messages>.
" Original system set to "SAP"
ls_message-id = 'TR'.
ls_message-no = '013'.
INSERT ls_message INTO TABLE <lt_confirmed_messages>.
" Make repairs in foreign namespaces only if they are urgent
ls_message-id = 'TR'.
ls_message-no = '852'.
INSERT ls_message INTO TABLE <lt_confirmed_messages>.
" Make repairs in foreign namespaces only if they are urgent
ls_message-id = 'TK'.
ls_message-no = '016'.
INSERT ls_message INTO TABLE <lt_confirmed_messages>.
rv_messages_confirmed = abap_true.
ENDMETHOD.
METHOD zif_abapgit_cts_api~create_transport_entries.
DATA lt_tables TYPE tredt_objects.
DATA lt_table_keys TYPE STANDARD TABLE OF e071k.
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(
EXPORTING
it_table_ins = it_table_ins
it_table_upd = it_table_upd
it_table_del = it_table_del
iv_tabname = iv_tabname
CHANGING
ct_e071 = lt_tables
ct_e071k = lt_table_keys ).
" cl_table_utilities_brf=>write_transport_entries does not allow passing a request
CALL FUNCTION 'TR_OBJECTS_CHECK'
TABLES
wt_ko200 = lt_tables
wt_e071k = lt_table_keys
EXCEPTIONS
cancel_edit_other_error = 1
show_only_other_error = 2
OTHERS = 3.
IF sy-subrc <> 0.
zcx_abapgit_exception=>raise_t100( ).
ENDIF.
IF iv_transport IS INITIAL.
lv_with_dialog = abap_true.
ENDIF.
READ TABLE lt_tables ASSIGNING <ls_table> INDEX 1.
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
wi_order = iv_transport
wi_ko200 = <ls_table>
iv_no_show_option = abap_true
TABLES
wt_e071k = lt_table_keys
EXCEPTIONS
cancel_edit_other_error = 1
show_only_other_error = 2
OTHERS = 3.
IF sy-subrc <> 0.
zcx_abapgit_exception=>raise_t100( ).
ENDIF.
ENDMETHOD.
METHOD zif_abapgit_cts_api~get_r3tr_obj_for_limu_obj.
CLEAR ev_object.
CLEAR ev_obj_name.
IF iv_object = 'MESS'.
ev_object = 'MSAG'.
ev_obj_name = substring( val = iv_obj_name
len = strlen( iv_obj_name ) - 3 ).
RETURN.
ENDIF.
CALL FUNCTION 'GET_R3TR_OBJECT_FROM_LIMU_OBJ'
EXPORTING
p_limu_objtype = iv_object
p_limu_objname = iv_obj_name
IMPORTING
p_r3tr_objtype = ev_object
p_r3tr_objname = ev_obj_name
EXCEPTIONS
no_mapping = 1
OTHERS = 2.
IF sy-subrc <> 0 OR ev_obj_name IS INITIAL.
zcx_abapgit_exception=>raise( |No R3TR Object found for { iv_object } { iv_obj_name }| ).
ENDIF.
rv_transportable = boolc( lv_type_check_result CA 'RTL' ).
ENDMETHOD.
@ -480,15 +249,11 @@ CLASS zcl_abapgit_cts_api IMPLEMENTATION.
IF lv_type_check_result = 'L'.
LOOP AT lt_tlock ASSIGNING <ls_tlock>
WHERE object = ls_lock_key-obj
AND hikey >= ls_lock_key-low
AND lokey <= ls_lock_key-hi. "#EC PORTABLE
IF lv_request IS INITIAL.
lv_request = <ls_tlock>-trkorr.
ELSE.
lv_request = zif_abapgit_definitions=>c_multiple_transports.
EXIT.
ENDIF.
WHERE object = ls_lock_key-obj
AND hikey >= ls_lock_key-low
AND lokey <= ls_lock_key-hi. "#EC PORTABLE
lv_request = <ls_tlock>-trkorr.
EXIT.
ENDLOOP.
ELSEIF is_object_type_transportable( <ls_item>-obj_type ) = abap_true.
lv_request = get_current_transport_from_db(
@ -534,29 +299,6 @@ CLASS zcl_abapgit_cts_api IMPLEMENTATION.
ENDMETHOD.
METHOD zif_abapgit_cts_api~insert_transport_object.
CALL FUNCTION 'RS_CORR_INSERT'
EXPORTING
object = iv_obj_name
object_class = iv_object
devclass = iv_package
master_language = iv_language
mode = iv_mode
global_lock = abap_true
suppress_dialog = abap_true
EXCEPTIONS
cancelled = 1
permission_failure = 2
unknown_objectclass = 3
OTHERS = 4.
IF sy-subrc <> 0.
zcx_abapgit_exception=>raise_t100( ).
ENDIF.
ENDMETHOD.
METHOD zif_abapgit_cts_api~is_chrec_possible_for_package.
IF iv_package IS NOT INITIAL.
rv_possible = zcl_abapgit_factory=>get_sap_package( iv_package )->are_changes_recorded_in_tr_req( ).
@ -564,167 +306,24 @@ CLASS zcl_abapgit_cts_api IMPLEMENTATION.
ENDMETHOD.
METHOD zif_abapgit_cts_api~list_open_requests_by_user.
METHOD zif_abapgit_cts_api~get_r3tr_obj_for_limu_obj.
TYPES: BEGIN OF ty_e070,
trkorr TYPE e070-trkorr,
trfunction TYPE e070-trfunction,
strkorr TYPE e070-strkorr,
END OF ty_e070.
DATA lt_e070 TYPE STANDARD TABLE OF ty_e070 WITH DEFAULT KEY.
CLEAR ev_object.
CLEAR ev_obj_name.
* find all tasks first
SELECT trkorr trfunction strkorr
FROM e070 INTO TABLE lt_e070
WHERE as4user = sy-uname
AND trstatus = zif_abapgit_cts_api=>c_transport_status-modifiable
AND strkorr <> ''
ORDER BY PRIMARY KEY.
IF lines( lt_e070 ) > 0.
SELECT trkorr FROM e070
INTO TABLE rt_trkorr
FOR ALL ENTRIES IN lt_e070
WHERE trkorr = lt_e070-strkorr
AND trfunction = zif_abapgit_cts_api=>c_transport_type-wb_request.
ENDIF.
ENDMETHOD.
METHOD zif_abapgit_cts_api~list_r3tr_by_request.
TYPES: BEGIN OF ty_contents,
trkorr TYPE e071-trkorr,
as4pos TYPE e071-as4pos,
pgmid TYPE e071-pgmid,
object TYPE e071-object,
obj_name TYPE e071-obj_name,
END OF ty_contents.
DATA lt_tasks TYPE STANDARD TABLE OF trkorr WITH DEFAULT KEY.
DATA lt_contents TYPE STANDARD TABLE OF ty_contents WITH DEFAULT KEY.
DATA ls_contents LIKE LINE OF lt_contents.
DATA ls_list LIKE LINE OF rt_list.
SELECT trkorr FROM e070 INTO TABLE lt_tasks
WHERE strkorr = iv_request
ORDER BY PRIMARY KEY.
IF sy-subrc <> 0.
RETURN.
ENDIF.
SELECT trkorr as4pos pgmid object obj_name FROM e071
INTO TABLE lt_contents
FOR ALL ENTRIES IN lt_tasks
WHERE trkorr = lt_tasks-table_line
ORDER BY PRIMARY KEY.
IF sy-subrc <> 0.
RETURN.
ENDIF.
LOOP AT lt_contents INTO ls_contents.
CASE ls_contents-pgmid.
WHEN 'R3TR'.
ls_list-object = ls_contents-object.
ls_list-obj_name = ls_contents-obj_name.
INSERT ls_list INTO TABLE rt_list.
WHEN 'LIMU'.
TRY.
zif_abapgit_cts_api~get_r3tr_obj_for_limu_obj(
EXPORTING
iv_object = ls_contents-object
iv_obj_name = ls_contents-obj_name
IMPORTING
ev_object = ls_list-object
ev_obj_name = ls_list-obj_name ).
INSERT ls_list INTO TABLE rt_list.
CATCH zcx_abapgit_exception ##NO_HANDLER.
ENDTRY.
ENDCASE.
ENDLOOP.
SORT rt_list BY object obj_name.
DELETE ADJACENT DUPLICATES FROM rt_list COMPARING object obj_name.
ENDMETHOD.
METHOD zif_abapgit_cts_api~read.
DATA ls_request TYPE trwbo_request.
DATA ls_key LIKE LINE OF ls_request-keys.
FIELD-SYMBOLS <ls_key> LIKE LINE OF rs_request-keys.
ls_request-h-trkorr = iv_trkorr.
CALL FUNCTION 'TRINT_READ_REQUEST'
CALL FUNCTION 'GET_R3TR_OBJECT_FROM_LIMU_OBJ'
EXPORTING
iv_read_e070 = abap_true
iv_read_e07t = abap_true
iv_read_e070c = abap_true
iv_read_e070m = abap_true
iv_read_objs_keys = abap_true
iv_read_objs = abap_true
iv_read_attributes = abap_true
CHANGING
cs_request = ls_request
p_limu_objtype = iv_object
p_limu_objname = iv_obj_name
IMPORTING
p_r3tr_objtype = ev_object
p_r3tr_objname = ev_obj_name
EXCEPTIONS
error_occured = 1
OTHERS = 2.
IF sy-subrc <> 0.
zcx_abapgit_exception=>raise_t100( ).
no_mapping = 1
OTHERS = 2.
IF sy-subrc <> 0 OR ev_obj_name IS INITIAL.
zcx_abapgit_exception=>raise( |No R3TR Object found for { iv_object } { iv_obj_name }| ).
ENDIF.
* move to output structure
rs_request-trstatus = ls_request-h-trstatus.
LOOP AT ls_request-keys INTO ls_key.
APPEND INITIAL LINE TO rs_request-keys ASSIGNING <ls_key>.
MOVE-CORRESPONDING ls_key TO <ls_key>.
ENDLOOP.
ENDMETHOD.
METHOD zif_abapgit_cts_api~read_description.
SELECT SINGLE as4text FROM e07t
INTO rv_description
WHERE trkorr = iv_trkorr
AND langu = sy-langu ##SUBRC_OK.
ENDMETHOD.
METHOD zif_abapgit_cts_api~read_user.
SELECT SINGLE as4user FROM e070 INTO rv_uname
WHERE trkorr = iv_trkorr ##SUBRC_OK.
ENDMETHOD.
METHOD zif_abapgit_cts_api~validate_transport_request.
CONSTANTS:
BEGIN OF c_tr_status,
modifiable TYPE trstatus VALUE 'D',
modifiable_protected TYPE trstatus VALUE 'L',
END OF c_tr_status.
DATA ls_request TYPE zif_abapgit_cts_api=>ty_transport_data.
ls_request = zif_abapgit_cts_api~read( iv_transport_request ).
IF ls_request-trstatus <> c_tr_status-modifiable
AND ls_request-trstatus <> c_tr_status-modifiable_protected.
" Task/request &1 has already been released
MESSAGE e064(tk) WITH iv_transport_request INTO zcx_abapgit_exception=>null.
zcx_abapgit_exception=>raise_t100( ).
ENDIF.
ENDMETHOD.
ENDCLASS.

View File

@ -1,18 +1,46 @@
CLASS zcl_abapgit_default_transport DEFINITION
PUBLIC
CREATE PUBLIC .
CREATE PRIVATE .
PUBLIC SECTION.
INTERFACES zif_abapgit_default_transport.
CLASS-METHODS:
get_instance
RETURNING
VALUE(ro_instance) TYPE REF TO zcl_abapgit_default_transport
RAISING
zcx_abapgit_exception.
METHODS:
constructor
RAISING
zcx_abapgit_exception,
set
IMPORTING
iv_transport TYPE trkorr
RAISING
zcx_abapgit_exception,
reset
RAISING
zcx_abapgit_exception,
get
RETURNING
VALUE(rs_default_task) TYPE e070use
RAISING
zcx_abapgit_exception .
METHODS constructor.
PROTECTED SECTION.
PRIVATE SECTION.
CLASS-DATA go_instance TYPE REF TO zcl_abapgit_default_transport .
DATA mv_is_set_by_abapgit TYPE abap_bool .
DATA ms_save TYPE e070use .
METHODS store.
METHODS store
RAISING
zcx_abapgit_exception .
METHODS restore
RAISING
zcx_abapgit_exception .
@ -60,6 +88,64 @@ CLASS zcl_abapgit_default_transport IMPLEMENTATION.
ENDMETHOD.
METHOD get.
DATA: lt_e070use TYPE STANDARD TABLE OF e070use.
CALL FUNCTION 'TR_TASK_GET'
TABLES
tt_e070use = lt_e070use
EXCEPTIONS
invalid_username = 1
invalid_category = 2
invalid_client = 3
OTHERS = 4.
IF sy-subrc <> 0.
zcx_abapgit_exception=>raise_t100( ).
ENDIF.
READ TABLE lt_e070use INTO rs_default_task
INDEX 1.
ENDMETHOD.
METHOD get_instance.
IF go_instance IS NOT BOUND.
CREATE OBJECT go_instance.
ENDIF.
ro_instance = go_instance.
ENDMETHOD.
METHOD reset.
DATA: ls_default_task TYPE e070use.
IF mv_is_set_by_abapgit = abap_false.
" if the default transport request task isn't set
" by us there is nothing to do.
RETURN.
ENDIF.
CLEAR mv_is_set_by_abapgit.
ls_default_task = get( ).
IF ls_default_task IS NOT INITIAL.
clear( ls_default_task ).
ENDIF.
restore( ).
ENDMETHOD.
METHOD restore.
IF ms_save IS INITIAL.
@ -87,6 +173,29 @@ CLASS zcl_abapgit_default_transport IMPLEMENTATION.
ENDMETHOD.
METHOD set.
" checks whether object changes of the package are rerorded in transport
" requests. If true then we set the default task, so that no annoying
" transport request popups are shown while deserializing.
IF mv_is_set_by_abapgit = abap_true.
" the default transport request task is already set by us
" -> no reason to do it again.
RETURN.
ENDIF.
IF iv_transport IS INITIAL.
zcx_abapgit_exception=>raise( |No transport request was supplied| ).
ENDIF.
set_internal( iv_transport ).
mv_is_set_by_abapgit = abap_true.
ENDMETHOD.
METHOD set_internal.
CALL FUNCTION 'TR_TASK_SET'
@ -111,84 +220,7 @@ CLASS zcl_abapgit_default_transport IMPLEMENTATION.
METHOD store.
TRY.
ms_save = zif_abapgit_default_transport~get( ).
CATCH zcx_abapgit_exception.
CLEAR ms_save.
ENDTRY.
ENDMETHOD.
METHOD zif_abapgit_default_transport~get.
DATA lt_e070use TYPE STANDARD TABLE OF e070use WITH DEFAULT KEY.
DATA ls_line LIKE LINE OF lt_e070use.
CALL FUNCTION 'TR_TASK_GET'
TABLES
tt_e070use = lt_e070use
EXCEPTIONS
invalid_username = 1
invalid_category = 2
invalid_client = 3
OTHERS = 4.
IF sy-subrc <> 0.
zcx_abapgit_exception=>raise_t100( ).
ENDIF.
READ TABLE lt_e070use INTO ls_line INDEX 1.
IF sy-subrc = 0.
MOVE-CORRESPONDING ls_line TO rs_default_task.
ENDIF.
ENDMETHOD.
METHOD zif_abapgit_default_transport~reset.
DATA: ls_default_task TYPE e070use.
IF mv_is_set_by_abapgit = abap_false.
" if the default transport request task isn't set
" by us there is nothing to do.
RETURN.
ENDIF.
CLEAR mv_is_set_by_abapgit.
ls_default_task = zif_abapgit_default_transport~get( ).
IF ls_default_task IS NOT INITIAL.
clear( ls_default_task ).
ENDIF.
restore( ).
ENDMETHOD.
METHOD zif_abapgit_default_transport~set.
" checks whether object changes of the package are reordered in transport
" requests. If true then we set the default task, so that no annoying
" transport request popups are shown while deserializing.
IF mv_is_set_by_abapgit = abap_true.
" the default transport request task is already set by us
" -> no reason to do it again.
RETURN.
ENDIF.
IF iv_transport IS INITIAL.
zcx_abapgit_exception=>raise( |No transport request was supplied| ).
ENDIF.
set_internal( iv_transport ).
mv_is_set_by_abapgit = abap_true.
ms_save = get( ).
ENDMETHOD.
ENDCLASS.

View File

@ -16,10 +16,9 @@ CLASS zcl_abapgit_transport DEFINITION
CLASS-METHODS to_tadir
IMPORTING
!iv_trkorr TYPE trkorr
!iv_deleted_objects TYPE abap_bool DEFAULT abap_false
it_transport_headers TYPE trwbo_request_headers
RETURNING
VALUE(rt_tadir) TYPE zif_abapgit_definitions=>ty_tadir_tt
VALUE(rt_tadir) TYPE zif_abapgit_definitions=>ty_tadir_tt
RAISING
zcx_abapgit_exception .
@ -29,13 +28,25 @@ CLASS zcl_abapgit_transport DEFINITION
RAISING
zcx_abapgit_exception .
PROTECTED SECTION.
CLASS-METHODS read
IMPORTING
!is_trkorr TYPE trwbo_request_header OPTIONAL
RETURNING
VALUE(rs_request) TYPE trwbo_request
RAISING
zcx_abapgit_exception .
TYPES ty_trkorr_tt TYPE STANDARD TABLE OF trkorr.
CLASS-METHODS validate_transport_request
IMPORTING
iv_transport_request TYPE trkorr
RAISING
zcx_abapgit_exception.
PROTECTED SECTION.
CLASS-METHODS read_requests
IMPORTING
!it_trkorr TYPE ty_trkorr_tt
!it_trkorr TYPE trwbo_request_headers
RETURNING
VALUE(rt_requests) TYPE trwbo_requests
RAISING
@ -49,10 +60,9 @@ CLASS zcl_abapgit_transport DEFINITION
zcx_abapgit_exception .
CLASS-METHODS resolve
IMPORTING
!it_requests TYPE trwbo_requests
!iv_deleted_objects TYPE abap_bool DEFAULT abap_false
!it_requests TYPE trwbo_requests
RETURNING
VALUE(rt_tadir) TYPE zif_abapgit_definitions=>ty_tadir_tt
VALUE(rt_tadir) TYPE zif_abapgit_definitions=>ty_tadir_tt
RAISING
zcx_abapgit_exception .
PRIVATE SECTION.
@ -103,7 +113,7 @@ CLASS zcl_abapgit_transport IMPLEMENTATION.
" We used TR_REQUEST_CHOICE before, but it issues its error log with
" write lists which are not compatible with abapGit.
" There we user TRINT_REQUEST_CHOICE which returns the error log
" and display the log ourselves.
" and display the log ourselve.
CALL FUNCTION 'TRINT_REQUEST_CHOICE'
EXPORTING
iv_request_types = 'FTCOK'
@ -146,7 +156,7 @@ CLASS zcl_abapgit_transport IMPLEMENTATION.
lt_objects TYPE scts_tadir,
lt_objects_all LIKE lt_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,
lt_packages TYPE zif_abapgit_sap_package=>ty_devclass_tt.
@ -154,8 +164,8 @@ CLASS zcl_abapgit_transport IMPLEMENTATION.
<lv_package> TYPE devclass,
<ls_object> TYPE tadir.
li_repo = zcl_abapgit_repo_srv=>get_instance( )->get( iv_key ).
lv_package = li_repo->get_package( ).
lo_repo ?= zcl_abapgit_repo_srv=>get_instance( )->get( iv_key ).
lv_package = lo_repo->get_package( ).
lt_packages = zcl_abapgit_factory=>get_sap_package( lv_package )->list_subpackages( ).
INSERT lv_package INTO TABLE lt_packages.
@ -230,14 +240,39 @@ CLASS zcl_abapgit_transport IMPLEMENTATION.
ENDMETHOD.
METHOD read.
rs_request-h-trkorr = is_trkorr-trkorr.
CALL FUNCTION 'TRINT_READ_REQUEST'
EXPORTING
iv_read_e070 = abap_true
iv_read_e07t = abap_true
iv_read_e070c = abap_true
iv_read_e070m = abap_true
iv_read_objs_keys = abap_true
iv_read_objs = abap_true
iv_read_attributes = abap_true
CHANGING
cs_request = rs_request
EXCEPTIONS
error_occured = 1
OTHERS = 2.
IF sy-subrc <> 0.
zcx_abapgit_exception=>raise_t100( ).
ENDIF.
ENDMETHOD.
METHOD read_requests.
DATA lt_requests LIKE rt_requests.
FIELD-SYMBOLS <lv_trkorr> LIKE LINE OF it_trkorr.
FIELD-SYMBOLS <ls_trkorr> LIKE LINE OF it_trkorr.
LOOP AT it_trkorr ASSIGNING <lv_trkorr>.
LOOP AT it_trkorr ASSIGNING <ls_trkorr>.
CALL FUNCTION 'TR_READ_REQUEST_WITH_TASKS'
EXPORTING
iv_trkorr = <lv_trkorr>
iv_trkorr = <ls_trkorr>-trkorr
IMPORTING
et_requests = lt_requests
EXCEPTIONS
@ -287,7 +322,7 @@ CLASS zcl_abapgit_transport IMPLEMENTATION.
iv_object = lv_object
iv_obj_name = lv_obj_name ).
IF ls_tadir-delflag IS INITIAL OR iv_deleted_objects = abap_true.
IF ls_tadir-delflag IS INITIAL.
APPEND ls_tadir TO rt_tadir.
ENDIF.
ENDLOOP.
@ -327,20 +362,43 @@ CLASS zcl_abapgit_transport IMPLEMENTATION.
METHOD to_tadir.
DATA lt_requests TYPE trwbo_requests.
DATA lt_trkorr TYPE ty_trkorr_tt.
DATA: lt_requests TYPE trwbo_requests.
IF iv_trkorr IS INITIAL.
IF lines( it_transport_headers ) = 0.
RETURN.
ENDIF.
INSERT iv_trkorr INTO TABLE lt_trkorr.
lt_requests = read_requests( it_transport_headers ).
rt_tadir = resolve( lt_requests ).
ENDMETHOD.
lt_requests = read_requests( lt_trkorr ).
rt_tadir = resolve(
it_requests = lt_requests
iv_deleted_objects = iv_deleted_objects ).
METHOD validate_transport_request.
CONSTANTS:
BEGIN OF c_tr_status,
modifiable TYPE trstatus VALUE 'D',
modifiable_protected TYPE trstatus VALUE 'L',
release_started TYPE trstatus VALUE 'O',
released TYPE trstatus VALUE 'R',
released_with_import_protect TYPE trstatus VALUE 'N', " Released (with Import Protection for Repaired Objects)
END OF c_tr_status.
DATA:
ls_trkorr TYPE trwbo_request_header,
ls_request TYPE trwbo_request.
ls_trkorr-trkorr = iv_transport_request.
ls_request = read( ls_trkorr ).
IF ls_request-h-trstatus <> c_tr_status-modifiable
AND ls_request-h-trstatus <> c_tr_status-modifiable_protected.
" Task/request &1 has already been released
MESSAGE e064(tk) WITH iv_transport_request INTO zcx_abapgit_exception=>null.
zcx_abapgit_exception=>raise_t100( ).
ENDIF.
ENDMETHOD.
@ -352,17 +410,13 @@ CLASS zcl_abapgit_transport IMPLEMENTATION.
lv_package TYPE devclass,
lo_dot_abapgit TYPE REF TO zcl_abapgit_dot_abapgit,
ls_local_settings TYPE zif_abapgit_persistence=>ty_repo-local_settings,
lt_trkorr TYPE ty_trkorr_tt,
lv_trkorr TYPE trkorr.
lt_trkorr TYPE trwbo_request_headers.
IF is_trkorr IS SUPPLIED.
APPEND is_trkorr-trkorr TO lt_trkorr.
APPEND is_trkorr TO lt_trkorr.
ELSE.
lv_trkorr = zcl_abapgit_ui_factory=>get_popups( )->popup_to_select_transport( ).
IF lv_trkorr IS NOT INITIAL.
APPEND lv_trkorr TO lt_trkorr.
ENDIF.
lt_trkorr = zcl_abapgit_ui_factory=>get_popups( )->popup_to_select_transports( ).
ENDIF.
IF lines( lt_trkorr ) = 0.

View File

@ -7,7 +7,7 @@ CLASS zcl_abapgit_transport_2_branch DEFINITION
METHODS create
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
!it_transport_objects TYPE zif_abapgit_definitions=>ty_tadir_tt
RAISING
@ -18,7 +18,7 @@ CLASS zcl_abapgit_transport_2_branch DEFINITION
IMPORTING
!is_transport_to_branch TYPE zif_abapgit_definitions=>ty_transport_to_branch
RETURNING
VALUE(rs_comment) TYPE zif_abapgit_git_definitions=>ty_comment .
VALUE(rs_comment) TYPE zif_abapgit_definitions=>ty_comment .
METHODS stage_transport_objects
IMPORTING
!it_transport_objects TYPE zif_abapgit_definitions=>ty_tadir_tt
@ -32,13 +32,13 @@ ENDCLASS.
CLASS zcl_abapgit_transport_2_branch IMPLEMENTATION.
CLASS ZCL_ABAPGIT_TRANSPORT_2_BRANCH IMPLEMENTATION.
METHOD create.
DATA:
lv_branch_name TYPE string,
ls_comment TYPE zif_abapgit_git_definitions=>ty_comment,
ls_comment TYPE zif_abapgit_definitions=>ty_comment,
lo_stage TYPE REF TO zcl_abapgit_stage,
ls_stage_objects TYPE zif_abapgit_definitions=>ty_stage_files,
lt_object_statuses TYPE zif_abapgit_definitions=>ty_results_tt.
@ -46,13 +46,13 @@ CLASS zcl_abapgit_transport_2_branch IMPLEMENTATION.
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 ) ).
ii_repo_online->create_branch( lv_branch_name ).
io_repository->create_branch( lv_branch_name ).
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 = io_repository->status( ).
stage_transport_objects(
it_transport_objects = it_transport_objects
@ -62,8 +62,8 @@ CLASS zcl_abapgit_transport_2_branch IMPLEMENTATION.
ls_comment = generate_commit_message( is_transport_to_branch ).
ii_repo_online->push( is_comment = ls_comment
io_stage = lo_stage ).
io_repository->push( is_comment = ls_comment
io_stage = lo_stage ).
ENDMETHOD.

View File

@ -53,7 +53,7 @@ CLASS zcl_abapgit_transport_mass IMPLEMENTATION.
lcl_gui=>open_folder_frontend( lo_transport_zipper->get_folder( ) ).
ELSE.
* No data found for the provided selection criteria
* No data found for the provided selection criterias
zcx_abapgit_exception=>raise( 'No transport requests selected' ).
ENDIF.

View File

@ -13,6 +13,10 @@ CLASS lcl_gui DEFINITION FINAL.
CLASS-METHODS select_tr_requests
RETURNING
VALUE(rt_trkorr) TYPE trwbo_request_headers.
PRIVATE SECTION.
CLASS-DATA gv_last_folder TYPE string.
ENDCLASS.
CLASS lcl_gui IMPLEMENTATION.
@ -28,9 +32,13 @@ CLASS lcl_gui IMPLEMENTATION.
lo_fe_serv->directory_browse(
EXPORTING
iv_window_title = lv_title
iv_initial_folder = gv_last_folder
CHANGING
cv_selected_folder = rv_folder ).
"Store the last directory for user friendly UI
gv_last_folder = rv_folder.
ENDMETHOD.
METHOD open_folder_frontend.
@ -63,7 +71,7 @@ CLASS lcl_gui IMPLEMENTATION.
iv_via_selscreen = 'X'
is_selection = ls_selection
iv_complete_projects = space
iv_title = 'abapGit Transport Mass Downloader'
iv_title = 'ABAPGit Transport Mass Downloader'
is_popup = ls_popup
IMPORTING
et_requests = rt_trkorr
@ -157,7 +165,7 @@ CLASS lcl_transport_zipper IMPLEMENTATION.
ENDMETHOD.
METHOD does_folder_exist.
rv_folder_exist = zcl_abapgit_ui_factory=>get_frontend_services( )->directory_exist( iv_folder ).
rv_folder_exist = zcl_abapgit_ui_factory=>get_frontend_services( )->directory_exist( iv_directory = iv_folder ).
ENDMETHOD.
METHOD get_full_folder.

View File

@ -38,17 +38,15 @@ CLASS zcl_abapgit_transport_objects IMPLEMENTATION.
LOOP AT mt_transport_objects INTO ls_transport_object.
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
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.
WHEN zif_abapgit_definitions=>c_state-added OR zif_abapgit_definitions=>c_state-modified.
IF ls_transport_object-delflag = abap_true.
zcx_abapgit_exception=>raise( |Object { ls_transport_object-object }|
&& | { ls_transport_object-obj_name } should be added/modified,|
&& | but has deletion flag in transport| ).
zcx_abapgit_exception=>raise( |Object { ls_transport_object-obj_name
} should be added/modified, but has deletion flag in transport| ).
ENDIF.
READ TABLE is_stage_objects-local
@ -57,8 +55,8 @@ CLASS zcl_abapgit_transport_objects IMPLEMENTATION.
item-obj_type = ls_transport_object-object
file-filename = ls_object_status-filename.
IF sy-subrc <> 0.
zcx_abapgit_exception=>raise( |Object { ls_transport_object-object }|
&& | { ls_transport_object-obj_name } not found in the local repository files| ).
zcx_abapgit_exception=>raise( |Object { ls_transport_object-obj_name
} not found in the local repository files| ).
ELSE.
io_stage->add(
iv_path = ls_local_file-file-path
@ -66,6 +64,16 @@ CLASS zcl_abapgit_transport_objects IMPLEMENTATION.
iv_data = ls_local_file-file-data ).
ENDIF.
WHEN zif_abapgit_definitions=>c_state-deleted.
* SUSC, see https://github.com/abapGit/abapGit/issues/2772
IF ls_transport_object-delflag = abap_false
AND ls_transport_object-object <> 'SUSC'
AND ls_transport_object-object <> 'IWOM'
AND ls_transport_object-object <> 'IWMO'
AND ls_transport_object-object <> 'IWSG'
AND ls_transport_object-object <> 'IWSV'.
zcx_abapgit_exception=>raise( |Object { ls_transport_object-obj_name
} should be removed, but has NO deletion flag in transport| ).
ENDIF.
io_stage->rm(
iv_path = ls_object_status-path
iv_filename = ls_object_status-filename ).
@ -75,7 +83,7 @@ CLASS zcl_abapgit_transport_objects IMPLEMENTATION.
ENDLOOP.
IF sy-subrc <> 0.
" Since not all objects in a transport might be in the local repo
" i.e. generated SADL objects, we don't add these objects to
" i.e generated SADL objects, we don't add these objects to
" the stage.
ENDIF.
ENDLOOP.

View File

@ -1,3 +1,4 @@
CLASS ltcl_transport_objects DEFINITION FOR TESTING DURATION SHORT RISK LEVEL HARMLESS.
PRIVATE SECTION.
@ -9,7 +10,12 @@ CLASS ltcl_transport_objects DEFINITION FOR TESTING DURATION SHORT RISK LEVEL HA
cant_be_added_with_del_flag FOR TESTING RAISING cx_static_check,
cant_be_modified_with_del_flag FOR TESTING RAISING cx_static_check,
deleted_to_removed_files FOR TESTING RAISING cx_static_check,
should_remove_no_delflag FOR TESTING RAISING cx_static_check,
should_remove_no_delflag_iwmo FOR TESTING RAISING cx_static_check,
should_remove_no_delflag_iwom FOR TESTING RAISING cx_static_check,
should_remove_no_delflag_iwsg FOR TESTING RAISING cx_static_check,
should_remove_no_delflag_iwsv FOR TESTING RAISING cx_static_check,
should_remove_no_delflag_susc FOR TESTING RAISING cx_static_check,
shouldnt_remove_no_delflag FOR TESTING RAISING cx_static_check,
should_add_all_local_files FOR TESTING RAISING cx_static_check,
should_delete_all_related FOR TESTING RAISING cx_static_check,
setup,
@ -70,13 +76,13 @@ CLASS ltcl_transport_objects IMPLEMENTATION.
given_the_object_status(
iv_obj_name = 'CL_FOO'
iv_obj_type = 'CLAS'
iv_filename = 'cl_foo.clas.abap'
iv_filename = 'CL_FOO.abap'
iv_lstate = zif_abapgit_definitions=>c_state-added ).
ls_local_file = given_the_local_file(
iv_obj_name = 'CL_FOO'
iv_obj_type = 'CLAS'
iv_filename = 'cl_foo.clas.abap'
iv_filename = 'CL_FOO.abap'
iv_path = '/path'
iv_data = 'data' ).
@ -84,7 +90,6 @@ CLASS ltcl_transport_objects IMPLEMENTATION.
then_file_should_be_added( ls_local_file ).
ENDMETHOD.
METHOD modified_to_new_local_files.
DATA ls_local_file TYPE zif_abapgit_definitions=>ty_file_item.
given_the_transport_object(
@ -94,13 +99,13 @@ CLASS ltcl_transport_objects IMPLEMENTATION.
given_the_object_status(
iv_obj_name = 'CL_FOO'
iv_obj_type = 'CLAS'
iv_filename = 'cl_foo.clas.abap'
iv_filename = 'CL_FOO.abap'
iv_lstate = zif_abapgit_definitions=>c_state-modified ).
ls_local_file = given_the_local_file(
iv_obj_name = 'CL_FOO'
iv_obj_type = 'CLAS'
iv_filename = 'cl_foo.clas.abap'
iv_filename = 'CL_FOO.abap'
iv_path = '/path'
iv_data = 'data' ).
@ -108,7 +113,6 @@ CLASS ltcl_transport_objects IMPLEMENTATION.
then_file_should_be_added( ls_local_file ).
ENDMETHOD.
METHOD should_add_all_local_files.
"Not only .abap, but also .xml and other includes
DATA ls_abap_local_file TYPE zif_abapgit_definitions=>ty_file_item.
@ -121,26 +125,26 @@ CLASS ltcl_transport_objects IMPLEMENTATION.
given_the_object_status(
iv_obj_name = 'CL_FOO'
iv_obj_type = 'CLAS'
iv_filename = 'cl_foo.clas.abap'
iv_filename = 'CL_FOO.abap'
iv_lstate = zif_abapgit_definitions=>c_state-modified ).
given_the_object_status(
iv_obj_name = 'CL_FOO'
iv_obj_type = 'CLAS'
iv_filename = 'cl_foo.clas.xml'
iv_filename = 'CL_FOO.xml'
iv_lstate = zif_abapgit_definitions=>c_state-modified ).
ls_abap_local_file = given_the_local_file(
iv_obj_name = 'CL_FOO'
iv_obj_type = 'CLAS'
iv_filename = 'cl_foo.clas.abap'
iv_filename = 'CL_FOO.abap'
iv_path = '/path'
iv_data = 'data' ).
ls_xml_local_file = given_the_local_file(
iv_obj_name = 'CL_FOO'
iv_obj_type = 'CLAS'
iv_filename = 'cl_foo.clas.xml'
iv_filename = 'CL_FOO.xml'
iv_path = '/path'
iv_data = 'data' ).
@ -149,7 +153,6 @@ CLASS ltcl_transport_objects IMPLEMENTATION.
then_file_should_be_added( ls_abap_local_file ).
then_file_should_be_added( ls_xml_local_file ).
ENDMETHOD.
METHOD transport_not_in_repository.
given_the_transport_object(
iv_obj_name = 'CL_A_CLASS_NOT_IN_REPO'
@ -178,10 +181,10 @@ CLASS ltcl_transport_objects IMPLEMENTATION.
given_the_local_file(
iv_obj_name = 'CL_ANOTHER_LOCAL_FILE'
iv_obj_type = 'CLAS'
iv_filename = 'cl_foo.clas.abap'
iv_filename = 'CL_FOO.abap'
iv_path = '/path'
iv_data = 'data' ).
then_it_should_raise_exception( 'Object CLAS CL_FOO not found in the local repository files' ).
then_it_should_raise_exception( 'Object CL_FOO not found in the local repository files' ).
ENDMETHOD.
METHOD cant_be_added_with_del_flag.
@ -195,7 +198,7 @@ CLASS ltcl_transport_objects IMPLEMENTATION.
iv_obj_type = 'CLAS'
iv_lstate = zif_abapgit_definitions=>c_state-added ).
then_it_should_raise_exception( 'Object CLAS CL_FOO should be added/modified, but has deletion flag in transport' ).
then_it_should_raise_exception( 'Object CL_FOO should be added/modified, but has deletion flag in transport' ).
ENDMETHOD.
METHOD cant_be_modified_with_del_flag.
@ -209,7 +212,7 @@ CLASS ltcl_transport_objects IMPLEMENTATION.
iv_obj_type = 'CLAS'
iv_lstate = zif_abapgit_definitions=>c_state-modified ).
then_it_should_raise_exception( 'Object CLAS CL_FOO should be added/modified, but has deletion flag in transport' ).
then_it_should_raise_exception( 'Object CL_FOO should be added/modified, but has deletion flag in transport' ).
ENDMETHOD.
METHOD deleted_to_removed_files.
@ -221,14 +224,14 @@ CLASS ltcl_transport_objects IMPLEMENTATION.
given_the_object_status(
iv_obj_name = 'CL_FOO'
iv_obj_type = 'CLAS'
iv_filename = 'cl_foo.clas.abap'
iv_filename = 'CL_FOO.abap'
iv_path = '/a_path'
iv_lstate = zif_abapgit_definitions=>c_state-deleted ).
when_staging( ).
then_it_should_remove_at_stage(
iv_filename = 'cl_foo.clas.abap'
iv_filename = 'CL_FOO.abap'
iv_path = '/a_path' ).
ENDMETHOD.
@ -242,44 +245,124 @@ CLASS ltcl_transport_objects IMPLEMENTATION.
given_the_object_status(
iv_obj_name = 'CL_FOO'
iv_obj_type = 'CLAS'
iv_filename = 'cl_foo.clas.abap'
iv_filename = 'CL_FOO.abap'
iv_path = '/a_path'
iv_lstate = zif_abapgit_definitions=>c_state-deleted ).
given_the_object_status(
iv_obj_name = 'CL_FOO'
iv_obj_type = 'CLAS'
iv_filename = 'cl_foo.clas.xml'
iv_filename = 'CL_FOO.xml'
iv_path = '/a_path'
iv_lstate = zif_abapgit_definitions=>c_state-deleted ).
when_staging( ).
then_it_should_remove_at_stage(
iv_filename = 'cl_foo.clas.abap'
iv_filename = 'CL_FOO.abap'
iv_path = '/a_path' ).
then_it_should_remove_at_stage(
iv_filename = 'cl_foo.clas.xml'
iv_filename = 'CL_FOO.xml'
iv_path = '/a_path' ).
ENDMETHOD.
METHOD should_remove_no_delflag.
METHOD should_remove_no_delflag_iwmo.
given_the_transport_object(
iv_obj_name = 'ZFOO'
iv_obj_type = 'CLAS'
iv_obj_type = 'IWMO'
iv_delflag = abap_false ).
given_the_object_status(
iv_obj_name = 'ZFOO'
iv_obj_type = 'CLAS'
iv_filename = 'zfoo.clas.xml'
iv_obj_type = 'IWMO'
iv_filename = 'zfoo.iwmo.xml'
iv_path = '/a_path'
iv_lstate = zif_abapgit_definitions=>c_state-deleted ).
then_it_should_not_raise_excpt( ).
ENDMETHOD.
METHOD should_remove_no_delflag_iwom.
given_the_transport_object(
iv_obj_name = 'ZFOO'
iv_obj_type = 'IWOM'
iv_delflag = abap_false ).
given_the_object_status(
iv_obj_name = 'ZFOO'
iv_obj_type = 'IWOM'
iv_filename = 'zfoo.iwom.xml'
iv_path = '/a_path'
iv_lstate = zif_abapgit_definitions=>c_state-deleted ).
then_it_should_not_raise_excpt( ).
ENDMETHOD.
METHOD should_remove_no_delflag_iwsg.
given_the_transport_object(
iv_obj_name = 'ZFOO'
iv_obj_type = 'IWSG'
iv_delflag = abap_false ).
given_the_object_status(
iv_obj_name = 'ZFOO'
iv_obj_type = 'IWSG'
iv_filename = 'zfoo.iwsg.xml'
iv_path = '/a_path'
iv_lstate = zif_abapgit_definitions=>c_state-deleted ).
then_it_should_not_raise_excpt( ).
ENDMETHOD.
METHOD should_remove_no_delflag_iwsv.
given_the_transport_object(
iv_obj_name = 'ZFOO'
iv_obj_type = 'IWSV'
iv_delflag = abap_false ).
given_the_object_status(
iv_obj_name = 'ZFOO'
iv_obj_type = 'IWSV'
iv_filename = 'zfoo.iwsv.xml'
iv_path = '/a_path'
iv_lstate = zif_abapgit_definitions=>c_state-deleted ).
then_it_should_not_raise_excpt( ).
ENDMETHOD.
METHOD should_remove_no_delflag_susc.
given_the_transport_object(
iv_obj_name = 'ZFOO'
iv_obj_type = 'SUSC'
iv_delflag = abap_false ).
given_the_object_status(
iv_obj_name = 'ZFOO'
iv_obj_type = 'SUSC'
iv_filename = 'zfoo.susc.xml'
iv_path = '/a_path'
iv_lstate = zif_abapgit_definitions=>c_state-deleted ).
then_it_should_not_raise_excpt( ).
ENDMETHOD.
METHOD shouldnt_remove_no_delflag.
given_the_transport_object(
iv_obj_name = 'CL_FOO'
iv_obj_type = 'CLAS'
iv_delflag = abap_false ).
given_the_object_status(
iv_obj_name = 'CL_FOO'
iv_obj_type = 'CLAS'
iv_filename = 'CL_FOO.abap'
iv_path = '/a_path'
iv_lstate = zif_abapgit_definitions=>c_state-deleted ).
then_it_should_raise_exception( 'Object CL_FOO should be removed, but has NO deletion flag in transport' ).
ENDMETHOD.
METHOD given_the_transport_object.
DATA ls_transport_object TYPE zif_abapgit_definitions=>ty_tadir.
ls_transport_object-obj_name = iv_obj_name.

View File

@ -1,87 +1,14 @@
INTERFACE zif_abapgit_cts_api
PUBLIC .
TYPES: BEGIN OF ty_transport,
obj_type TYPE tadir-object,
obj_name TYPE tadir-obj_name,
trkorr TYPE trkorr,
END OF ty_transport.
TYPES:
BEGIN OF ty_transport,
obj_type TYPE tadir-object,
obj_name TYPE tadir-obj_name,
trkorr TYPE trkorr,
END OF ty_transport .
TYPES:
ty_transport_list TYPE SORTED TABLE OF ty_transport WITH NON-UNIQUE KEY obj_type obj_name .
TYPES:
ty_trkorr_tt TYPE STANDARD TABLE OF trkorr WITH DEFAULT KEY .
TYPES:
BEGIN OF ty_transport_key,
object TYPE e071k-object,
objname TYPE e071k-objname,
tabkey TYPE e071k-tabkey,
END OF ty_transport_key .
TYPES:
BEGIN OF ty_transport_data,
trstatus TYPE e070-trstatus,
keys TYPE STANDARD TABLE OF ty_transport_key WITH DEFAULT KEY,
END OF ty_transport_data .
TYPES:
BEGIN OF ty_transport_obj,
object TYPE e071-object,
obj_name TYPE e071-obj_name,
END OF ty_transport_obj .
TYPES:
ty_transport_obj_tt TYPE STANDARD TABLE OF ty_transport_obj WITH DEFAULT KEY .
TYPES ty_transport_list TYPE SORTED TABLE OF ty_transport WITH NON-UNIQUE KEY obj_type obj_name.
CONSTANTS:
BEGIN OF c_transport_type,
wb_request TYPE c LENGTH 1 VALUE 'K', "workbench request
wb_repair TYPE c LENGTH 1 VALUE 'R', "workbench repair
wb_task TYPE c LENGTH 1 VALUE 'S', "workbench task
cust_request TYPE c LENGTH 1 VALUE 'W', "customizing request
cust_task TYPE c LENGTH 1 VALUE 'Q', "customizing task
END OF c_transport_type .
CONSTANTS:
BEGIN OF c_transport_category,
workbench TYPE c LENGTH 4 VALUE 'SYST',
customizing TYPE c LENGTH 4 VALUE 'CUST',
END OF c_transport_category .
CONSTANTS:
BEGIN OF c_transport_mode,
insert TYPE c LENGTH 1 VALUE 'I',
delete TYPE c LENGTH 1 VALUE 'D',
END OF c_transport_mode .
CONSTANTS:
BEGIN OF c_transport_status,
modifiable TYPE c LENGTH 1 VALUE 'D',
END OF c_transport_status .
METHODS confirm_transport_messages
RETURNING
VALUE(rv_messages_confirmed) TYPE abap_bool .
METHODS create_transport_entries
IMPORTING
!iv_transport TYPE trkorr
!it_table_ins TYPE ANY TABLE OPTIONAL
!it_table_upd TYPE ANY TABLE OPTIONAL
!it_table_del TYPE ANY TABLE OPTIONAL
!iv_tabname TYPE tabname
RAISING
zcx_abapgit_exception .
METHODS get_r3tr_obj_for_limu_obj
IMPORTING
!iv_object TYPE tadir-object
!iv_obj_name TYPE trobj_name
EXPORTING
!ev_object TYPE tadir-object
!ev_obj_name TYPE trobj_name
RAISING
zcx_abapgit_exception .
METHODS get_transports_for_list
IMPORTING
!it_items TYPE zif_abapgit_definitions=>ty_items_tt
RETURNING
VALUE(rt_transports) TYPE ty_transport_list
RAISING
zcx_abapgit_exception .
"! Returns the transport request / task the object is currently in
"! @parameter is_item | Object
"! @parameter rv_transport | Transport request / task
@ -93,19 +20,6 @@ INTERFACE zif_abapgit_cts_api
VALUE(rv_transport) TYPE trkorr
RAISING
zcx_abapgit_exception .
METHODS insert_transport_object
IMPORTING
!iv_pgmid TYPE tadir-pgmid DEFAULT 'R3TR'
!iv_object TYPE tadir-object
!iv_obj_name TYPE csequence
!iv_package TYPE devclass
!iv_language TYPE sy-langu DEFAULT sy-langu
!iv_mode TYPE c DEFAULT 'I'
EXPORTING
!ev_object TYPE tadir-object
!ev_obj_name TYPE trobj_name
RAISING
zcx_abapgit_exception .
"! Check if change recording is possible for the given package
"! @parameter iv_package | Package
"! @parameter rv_possible | Change recording is possible
@ -117,48 +31,21 @@ INTERFACE zif_abapgit_cts_api
VALUE(rv_possible) TYPE abap_bool
RAISING
zcx_abapgit_exception .
METHODS list_open_requests_by_user
METHODS get_transports_for_list
IMPORTING
!iv_user TYPE sy-uname DEFAULT sy-uname
!it_items TYPE zif_abapgit_definitions=>ty_items_tt
RETURNING
VALUE(rt_trkorr) TYPE ty_trkorr_tt
VALUE(rt_transports) TYPE ty_transport_list
RAISING
zcx_abapgit_exception .
METHODS list_r3tr_by_request
METHODS get_r3tr_obj_for_limu_obj
IMPORTING
!iv_request TYPE trkorr
RETURNING
VALUE(rt_list) TYPE ty_transport_obj_tt
RAISING
zcx_abapgit_exception .
METHODS read
IMPORTING
!iv_trkorr TYPE trkorr
RETURNING
VALUE(rs_request) TYPE ty_transport_data
RAISING
zcx_abapgit_exception .
METHODS read_description
IMPORTING
!iv_trkorr TYPE trkorr
RETURNING
VALUE(rv_description) TYPE string .
METHODS read_user
IMPORTING
!iv_trkorr TYPE trkorr
RETURNING
VALUE(rv_uname) TYPE uname .
METHODS validate_transport_request
IMPORTING
!iv_transport_request TYPE trkorr
iv_object TYPE tadir-object
iv_obj_name TYPE trobj_name
EXPORTING
ev_object TYPE tadir-object
ev_obj_name TYPE trobj_name
RAISING
zcx_abapgit_exception .
METHODS change_transport_type
IMPORTING
!iv_transport_request TYPE trkorr
!iv_transport_type_from TYPE trfunction
!iv_transport_type_to TYPE trfunction
RAISING
zcx_abapgit_exception.
ENDINTERFACE.

View File

@ -1,24 +0,0 @@
INTERFACE zif_abapgit_default_transport PUBLIC.
TYPES: BEGIN OF ty_get,
trfunction TYPE c LENGTH 1,
ordernum TYPE trkorr,
END OF ty_get.
METHODS set
IMPORTING
iv_transport TYPE trkorr
RAISING
zcx_abapgit_exception.
METHODS reset
RAISING
zcx_abapgit_exception.
METHODS get
RETURNING
VALUE(rs_default_task) TYPE ty_get
RAISING
zcx_abapgit_exception .
ENDINTERFACE.

View File

@ -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_DEFAULT_TRANSPORT</CLSNAME>
<LANGU>E</LANGU>
<DESCRIPT>abapGit - Default Transport</DESCRIPT>
<EXPOSURE>2</EXPOSURE>
<STATE>1</STATE>
<UNICODE>X</UNICODE>
</VSEOINTERF>
</asx:values>
</asx:abap>
</abapGit>

View File

@ -22,7 +22,7 @@ ENDCLASS.
CLASS zcl_abapgit_data_config IMPLEMENTATION.
CLASS ZCL_ABAPGIT_DATA_CONFIG IMPLEMENTATION.
METHOD dump.
@ -124,7 +124,7 @@ CLASS zcl_abapgit_data_config IMPLEMENTATION.
ls_file-data = dump( ls_config ).
ls_file-sha1 = zcl_abapgit_hash=>sha1_blob( ls_file-data ).
ls_config-type = zif_abapgit_data_config=>c_config.
ls_file-filename = zcl_abapgit_data_utils=>build_data_filename( ls_config ).
ls_file-filename = zcl_abapgit_data_utils=>build_filename( ls_config ).
APPEND ls_file TO rt_files.
ENDLOOP.

View File

@ -8,7 +8,7 @@ CLASS ltcl_test DEFINITION FOR TESTING DURATION SHORT RISK LEVEL HARMLESS FINAL.
METHODS double_add_config FOR TESTING RAISING cx_static_check.
METHODS to_json FOR TESTING RAISING cx_static_check.
METHODS from_json
IMPORTING it_files TYPE zif_abapgit_git_definitions=>ty_files_tt
IMPORTING it_files TYPE zif_abapgit_definitions=>ty_files_tt
RAISING cx_static_check.
ENDCLASS.
@ -59,7 +59,7 @@ CLASS ltcl_test IMPLEMENTATION.
METHOD to_json.
DATA li_config TYPE REF TO zif_abapgit_data_config.
DATA lt_files TYPE zif_abapgit_git_definitions=>ty_files_tt.
DATA lt_files TYPE zif_abapgit_definitions=>ty_files_tt.
DATA ls_file LIKE LINE OF lt_files.
DATA lv_json TYPE string.

View File

@ -13,25 +13,24 @@ CLASS zcl_abapgit_data_deserializer DEFINITION
METHODS convert_json_to_itab
IMPORTING
!is_file TYPE zif_abapgit_git_definitions=>ty_file
!is_file TYPE zif_abapgit_definitions=>ty_file
!ir_data TYPE REF TO data
RAISING
zcx_abapgit_exception .
METHODS preview_database_changes
IMPORTING
!iv_name TYPE tadir-obj_name
!ir_lc_data TYPE REF TO data
!ir_db_data TYPE REF TO data
!it_where TYPE string_table
!ir_data TYPE REF TO data
RETURNING
VALUE(rs_result) TYPE zif_abapgit_data_deserializer=>ty_result
RAISING
zcx_abapgit_exception.
zcx_abapgit_exception .
METHODS write_database_table
IMPORTING
!iv_name TYPE tadir-obj_name
!ir_del TYPE REF TO data
!ir_ins TYPE REF TO data
!ir_upd TYPE REF TO data
RAISING
zcx_abapgit_exception .
METHODS read_database_table
@ -42,23 +41,11 @@ CLASS zcl_abapgit_data_deserializer DEFINITION
VALUE(rr_data) TYPE REF TO data
RAISING
zcx_abapgit_exception .
METHODS determine_transport_request
IMPORTING
ii_repo TYPE REF TO zif_abapgit_repo
iv_transport_type TYPE zif_abapgit_definitions=>ty_transport_type
RETURNING
VALUE(rv_transport_request) TYPE trkorr.
METHODS is_table_allowed_to_edit
IMPORTING
!is_result TYPE zif_abapgit_data_deserializer=>ty_result
RETURNING
VALUE(rv_allowed_to_edit) TYPE abap_bool .
ENDCLASS.
CLASS zcl_abapgit_data_deserializer IMPLEMENTATION.
CLASS ZCL_ABAPGIT_DATA_DESERIALIZER IMPLEMENTATION.
METHOD convert_json_to_itab.
@ -80,39 +67,12 @@ CLASS zcl_abapgit_data_deserializer IMPLEMENTATION.
ENDMETHOD.
METHOD determine_transport_request.
DATA li_exit TYPE REF TO zif_abapgit_exit.
li_exit = zcl_abapgit_exit=>get_instance( ).
" Use transport from repo settings if maintained, or determine via user exit.
" If transport keeps empty here, it'll requested later via popup.
rv_transport_request = ii_repo->get_local_settings( )-customizing_request.
li_exit->determine_transport_request(
EXPORTING
ii_repo = ii_repo
iv_transport_type = iv_transport_type
CHANGING
cv_transport_request = rv_transport_request ).
ENDMETHOD.
METHOD is_table_allowed_to_edit.
" Is the object supported (by default or based on exit)?
rv_allowed_to_edit = zcl_abapgit_data_factory=>get_supporter( )->is_object_supported(
iv_type = is_result-type
iv_name = is_result-name ).
ENDMETHOD.
METHOD preview_database_changes.
* method currently distinguishes between records be deleted and inserted (comparison of complete record)
* to-do: compare records based on database key of table to determine updates to existing records
DATA lr_data TYPE REF TO data.
FIELD-SYMBOLS <lg_old> TYPE ANY TABLE.
FIELD-SYMBOLS <lg_new> TYPE ANY TABLE.
@ -120,19 +80,19 @@ CLASS zcl_abapgit_data_deserializer IMPLEMENTATION.
FIELD-SYMBOLS <ls_ins> TYPE any.
FIELD-SYMBOLS <lg_del> TYPE ANY TABLE.
FIELD-SYMBOLS <lg_ins> TYPE ANY TABLE.
FIELD-SYMBOLS <lg_upd> TYPE ANY TABLE.
ASSIGN ir_db_data->* TO <lg_old>.
ASSIGN ir_lc_data->* TO <lg_new>.
lr_data = read_database_table(
iv_name = iv_name
it_where = it_where ).
rs_result-type = zif_abapgit_data_config=>c_data_type-tabu.
rs_result-name = iv_name.
ASSIGN lr_data->* TO <lg_old>.
ASSIGN ir_data->* TO <lg_new>.
rs_result-table = iv_name.
rs_result-deletes = zcl_abapgit_data_utils=>build_table_itab( iv_name ).
rs_result-inserts = zcl_abapgit_data_utils=>build_table_itab( iv_name ).
rs_result-updates = zcl_abapgit_data_utils=>build_table_itab( iv_name ).
ASSIGN rs_result-deletes->* TO <lg_del>.
ASSIGN rs_result-inserts->* TO <lg_ins>.
ASSIGN rs_result-updates->* TO <lg_upd>.
<lg_del> = <lg_old>.
<lg_ins> = <lg_new>.
@ -141,10 +101,6 @@ CLASS zcl_abapgit_data_deserializer IMPLEMENTATION.
LOOP AT <lg_del> ASSIGNING <ls_del>.
READ TABLE <lg_ins> ASSIGNING <ls_ins> FROM <ls_del>.
IF sy-subrc = 0.
IF <ls_del> <> <ls_ins>.
" Identical key but not identical component values
INSERT <ls_ins> INTO TABLE <lg_upd>.
ENDIF.
DELETE TABLE <lg_del> FROM <ls_del>.
DELETE TABLE <lg_ins> FROM <ls_ins>.
ENDIF.
@ -163,10 +119,10 @@ CLASS zcl_abapgit_data_deserializer IMPLEMENTATION.
ASSIGN rr_data->* TO <lg_tab>.
LOOP AT it_where INTO lv_where.
SELECT * FROM (iv_name) APPENDING TABLE <lg_tab> WHERE (lv_where) ORDER BY PRIMARY KEY.
SELECT * FROM (iv_name) APPENDING TABLE <lg_tab> WHERE (lv_where).
ENDLOOP.
IF lines( it_where ) = 0.
SELECT * FROM (iv_name) INTO TABLE <lg_tab> ORDER BY PRIMARY KEY.
SELECT * FROM (iv_name) INTO TABLE <lg_tab>.
ENDIF.
ENDMETHOD.
@ -176,15 +132,9 @@ CLASS zcl_abapgit_data_deserializer IMPLEMENTATION.
FIELD-SYMBOLS <lg_del> TYPE ANY TABLE.
FIELD-SYMBOLS <lg_ins> TYPE ANY TABLE.
FIELD-SYMBOLS <lg_upd> TYPE ANY TABLE.
IF zcl_abapgit_data_utils=>does_table_exist( iv_name ) = abap_false.
zcx_abapgit_exception=>raise( |Table { iv_name } not found for data deserialization| ).
ENDIF.
ASSIGN ir_del->* TO <lg_del>.
ASSIGN ir_ins->* TO <lg_ins>.
ASSIGN ir_upd->* TO <lg_upd>.
IF lines( <lg_del> ) > 0.
DELETE (iv_name) FROM TABLE <lg_del>.
@ -200,13 +150,6 @@ CLASS zcl_abapgit_data_deserializer IMPLEMENTATION.
ENDIF.
ENDIF.
IF lines( <lg_upd> ) > 0.
UPDATE (iv_name) FROM TABLE <lg_upd>.
IF sy-subrc <> 0.
zcx_abapgit_exception=>raise( |Error updating { lines( <lg_upd> ) } records into table { iv_name }| ).
ENDIF.
ENDIF.
ENDMETHOD.
@ -214,58 +157,13 @@ CLASS zcl_abapgit_data_deserializer IMPLEMENTATION.
* this method updates the database
DATA ls_result LIKE LINE OF it_result.
DATA li_cts_api TYPE REF TO zif_abapgit_cts_api.
FIELD-SYMBOLS:
<lt_ins> TYPE ANY TABLE,
<lt_del> TYPE ANY TABLE,
<lt_upd> TYPE ANY TABLE.
DATA ls_result LIKE LINE OF it_result.
LOOP AT it_result INTO ls_result.
ASSERT ls_result-type = zif_abapgit_data_config=>c_data_type-tabu. " todo
ASSERT ls_result-name IS NOT INITIAL.
" Did the user flagged this object for update?
READ TABLE is_checks-overwrite TRANSPORTING NO FIELDS
WITH KEY object_type_and_name
COMPONENTS
obj_type = ls_result-type
obj_name = ls_result-name
decision = zif_abapgit_definitions=>c_yes.
IF sy-subrc <> 0.
CONTINUE.
ENDIF.
IF is_table_allowed_to_edit( ls_result ) = abap_false.
zcx_abapgit_exception=>raise( |Table { ls_result-name } not supported for updating data| ).
ENDIF.
write_database_table(
iv_name = ls_result-name
iv_name = ls_result-table
ir_del = ls_result-deletes
ir_ins = ls_result-inserts
ir_upd = ls_result-updates ).
ASSIGN ls_result-inserts->* TO <lt_ins>.
ASSIGN ls_result-deletes->* TO <lt_del>.
ASSIGN ls_result-updates->* TO <lt_upd>.
IF zcl_abapgit_data_utils=>is_customizing_table( ls_result-name ) = abap_true.
IF li_cts_api IS INITIAL.
li_cts_api = zcl_abapgit_factory=>get_cts_api( ).
ENDIF.
li_cts_api->create_transport_entries(
iv_transport = is_checks-customizing-transport
it_table_ins = <lt_ins>
it_table_upd = <lt_upd>
it_table_del = <lt_del>
iv_tabname = |{ ls_result-name }| ).
ENDIF.
INSERT ls_result-file INTO TABLE rt_accessed_files. " data file
INSERT ls_result-config INTO TABLE rt_accessed_files. " config file
ir_ins = ls_result-inserts ).
ENDLOOP.
ENDMETHOD.
@ -277,46 +175,30 @@ CLASS zcl_abapgit_data_deserializer IMPLEMENTATION.
DATA lt_configs TYPE zif_abapgit_data_config=>ty_config_tt.
DATA ls_config LIKE LINE OF lt_configs.
DATA lr_lc_data TYPE REF TO data.
DATA lr_db_data TYPE REF TO data.
DATA lr_data TYPE REF TO data.
DATA ls_file LIKE LINE OF it_files.
DATA ls_result LIKE LINE OF rt_result.
ASSERT ii_config IS NOT INITIAL.
lt_configs = ii_config->get_configs( ).
LOOP AT lt_configs INTO ls_config.
ASSERT ls_config-type = zif_abapgit_data_config=>c_data_type-tabu. " todo
ASSERT ls_config-name IS NOT INITIAL.
lr_lc_data = zcl_abapgit_data_utils=>build_table_itab( ls_config-name ).
lr_data = zcl_abapgit_data_utils=>build_table_itab( ls_config-name ).
READ TABLE it_files INTO ls_file
WITH KEY file_path
COMPONENTS path = zif_abapgit_data_config=>c_default_path
filename = zcl_abapgit_data_utils=>build_data_filename( ls_config ).
filename = zcl_abapgit_data_utils=>build_filename( ls_config ).
IF sy-subrc = 0.
convert_json_to_itab(
ir_data = lr_lc_data
ir_data = lr_data
is_file = ls_file ).
lr_db_data = read_database_table(
iv_name = ls_config-name
it_where = ls_config-where ).
ls_result = preview_database_changes(
iv_name = ls_config-name
ir_lc_data = lr_lc_data
ir_db_data = lr_db_data ).
MOVE-CORRESPONDING ls_file TO ls_result-file. " data file
READ TABLE it_files INTO ls_file
WITH KEY file_path
COMPONENTS path = zif_abapgit_data_config=>c_default_path
filename = zcl_abapgit_data_utils=>build_config_filename( ls_config ).
ASSERT sy-subrc = 0.
MOVE-CORRESPONDING ls_file TO ls_result-config. " config file
iv_name = ls_config-name
it_where = ls_config-where
ir_data = lr_data ).
INSERT ls_result INTO TABLE rt_result.
ENDIF.
@ -324,22 +206,4 @@ CLASS zcl_abapgit_data_deserializer IMPLEMENTATION.
ENDLOOP.
ENDMETHOD.
METHOD zif_abapgit_data_deserializer~deserialize_check.
DATA lt_configs TYPE zif_abapgit_data_config=>ty_config_tt.
lt_configs = ii_config->get_configs( ).
IF lt_configs IS NOT INITIAL.
rs_checks-required = abap_true.
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-transport = determine_transport_request(
ii_repo = ii_repo
iv_transport_type = rs_checks-type ).
ENDIF.
ENDMETHOD.
ENDCLASS.

View File

@ -5,9 +5,6 @@ CLASS ltcl_test DEFINITION FOR TESTING DURATION SHORT RISK LEVEL HARMLESS FINAL.
PRIVATE SECTION.
METHODS test1 FOR TESTING RAISING cx_static_check.
METHODS preview_database_changes_ins FOR TESTING RAISING cx_static_check.
METHODS preview_database_changes_upd FOR TESTING RAISING cx_static_check.
METHODS preview_database_changes_del FOR TESTING RAISING cx_static_check.
ENDCLASS.
@ -18,7 +15,7 @@ CLASS ltcl_test IMPLEMENTATION.
DATA li_cut TYPE REF TO zif_abapgit_data_deserializer.
DATA li_config TYPE REF TO zif_abapgit_data_config.
DATA lt_files TYPE zif_abapgit_git_definitions=>ty_files_tt.
DATA lt_files TYPE zif_abapgit_definitions=>ty_files_tt.
DATA ls_config TYPE zif_abapgit_data_config=>ty_config.
CREATE OBJECT li_cut TYPE zcl_abapgit_data_deserializer.
@ -29,203 +26,11 @@ CLASS ltcl_test IMPLEMENTATION.
li_config->add_config( ls_config ).
" this does not change the database. it just gives a preview of changes
* this does not change the database,
li_cut->deserialize(
ii_config = li_config
it_files = lt_files ).
ENDMETHOD.
METHOD preview_database_changes_ins.
CONSTANTS: lc_msgnr TYPE c LENGTH 3 VALUE '999'.
DATA: li_cut TYPE REF TO zcl_abapgit_data_deserializer,
ls_config TYPE zif_abapgit_data_config=>ty_config,
lr_db_data TYPE REF TO data,
lr_lc_data TYPE REF TO data,
ls_t100 TYPE t100,
ls_result TYPE zif_abapgit_data_deserializer=>ty_result.
FIELD-SYMBOLS: <lt_db_data> TYPE ANY TABLE,
<lt_lc_data> TYPE ANY TABLE,
<lg_ins> TYPE ANY TABLE,
<ls_ins> TYPE t100,
<lg_upd> TYPE ANY TABLE,
<lg_del> TYPE ANY TABLE.
ls_config-type = zif_abapgit_data_config=>c_data_type-tabu.
ls_config-name = 'T100'.
lr_db_data = zcl_abapgit_data_utils=>build_table_itab( ls_config-name ).
ASSIGN lr_db_data->* TO <lt_db_data>.
lr_lc_data = zcl_abapgit_data_utils=>build_table_itab( ls_config-name ).
ASSIGN lr_lc_data->* TO <lt_lc_data>.
" Create test data for INSERT
ls_t100-sprsl = sy-langu.
ls_t100-arbgb = 'AUNIT_ABAPGIT'.
ls_t100-msgnr = lc_msgnr.
ls_t100-text = |abapGit aunit test|.
INSERT ls_t100 INTO TABLE <lt_lc_data>.
CREATE OBJECT li_cut TYPE zcl_abapgit_data_deserializer.
ls_result = li_cut->preview_database_changes(
iv_name = ls_config-name
ir_db_data = lr_db_data
ir_lc_data = lr_lc_data ).
ASSIGN ls_result-inserts->* TO <lg_ins>.
ASSIGN ls_result-updates->* TO <lg_upd>.
ASSIGN ls_result-deletes->* TO <lg_del>.
cl_abap_unit_assert=>assert_equals(
exp = 1
act = lines( <lg_ins> ) ).
cl_abap_unit_assert=>assert_equals(
exp = 0
act = lines( <lg_upd> ) ).
cl_abap_unit_assert=>assert_equals(
exp = 0
act = lines( <lg_del> ) ).
LOOP AT <lg_ins> ASSIGNING <ls_ins>.
cl_abap_unit_assert=>assert_equals(
exp = lc_msgnr
act = <ls_ins>-msgnr ).
ENDLOOP.
ENDMETHOD.
METHOD preview_database_changes_upd.
CONSTANTS: lc_msgnr TYPE c LENGTH 3 VALUE '999'.
DATA: li_cut TYPE REF TO zcl_abapgit_data_deserializer,
ls_config TYPE zif_abapgit_data_config=>ty_config,
lr_db_data TYPE REF TO data,
lr_lc_data TYPE REF TO data,
ls_t100 TYPE t100,
ls_result TYPE zif_abapgit_data_deserializer=>ty_result.
FIELD-SYMBOLS: <lt_db_data> TYPE ANY TABLE,
<lt_lc_data> TYPE ANY TABLE,
<lg_ins> TYPE ANY TABLE,
<lg_upd> TYPE ANY TABLE,
<ls_upd> TYPE t100,
<lg_del> TYPE ANY TABLE.
ls_config-type = zif_abapgit_data_config=>c_data_type-tabu.
ls_config-name = 'T100'.
lr_db_data = zcl_abapgit_data_utils=>build_table_itab( ls_config-name ).
ASSIGN lr_db_data->* TO <lt_db_data>.
lr_lc_data = zcl_abapgit_data_utils=>build_table_itab( ls_config-name ).
ASSIGN lr_lc_data->* TO <lt_lc_data>.
" Create test data for UPDATE
ls_t100-sprsl = sy-langu.
ls_t100-arbgb = |AUNIT_ABAPGIT|.
ls_t100-msgnr = lc_msgnr.
ls_t100-text = |abapGit aunit test|.
INSERT ls_t100 INTO TABLE <lt_db_data>.
ls_t100-sprsl = sy-langu.
ls_t100-arbgb = 'AUNIT_ABAPGIT'.
ls_t100-msgnr = lc_msgnr.
ls_t100-text = |abapGit aunit test UPDATE|.
INSERT ls_t100 INTO TABLE <lt_lc_data>.
CREATE OBJECT li_cut TYPE zcl_abapgit_data_deserializer.
ls_result = li_cut->preview_database_changes(
iv_name = ls_config-name
ir_db_data = lr_db_data
ir_lc_data = lr_lc_data ).
ASSIGN ls_result-inserts->* TO <lg_ins>.
ASSIGN ls_result-updates->* TO <lg_upd>.
ASSIGN ls_result-deletes->* TO <lg_del>.
cl_abap_unit_assert=>assert_equals(
exp = 0
act = lines( <lg_ins> ) ).
cl_abap_unit_assert=>assert_equals(
exp = 1
act = lines( <lg_upd> ) ).
cl_abap_unit_assert=>assert_equals(
exp = 0
act = lines( <lg_del> ) ).
LOOP AT <lg_upd> ASSIGNING <ls_upd>.
cl_abap_unit_assert=>assert_equals(
exp = lc_msgnr
act = <ls_upd>-msgnr ).
ENDLOOP.
ENDMETHOD.
METHOD preview_database_changes_del.
CONSTANTS: lc_msgnr TYPE c LENGTH 3 VALUE '999'.
DATA: li_cut TYPE REF TO zcl_abapgit_data_deserializer,
ls_config TYPE zif_abapgit_data_config=>ty_config,
lr_db_data TYPE REF TO data,
lr_lc_data TYPE REF TO data,
ls_t100 TYPE t100,
ls_result TYPE zif_abapgit_data_deserializer=>ty_result.
FIELD-SYMBOLS: <lt_db_data> TYPE ANY TABLE,
<lt_lc_data> TYPE ANY TABLE,
<lg_ins> TYPE ANY TABLE,
<lg_upd> TYPE ANY TABLE,
<lg_del> TYPE ANY TABLE,
<ls_del> TYPE t100.
ls_config-type = zif_abapgit_data_config=>c_data_type-tabu.
ls_config-name = 'T100'.
lr_db_data = zcl_abapgit_data_utils=>build_table_itab( ls_config-name ).
ASSIGN lr_db_data->* TO <lt_db_data>.
lr_lc_data = zcl_abapgit_data_utils=>build_table_itab( ls_config-name ).
ASSIGN lr_lc_data->* TO <lt_lc_data>.
" Create test data for DELETE
ls_t100-sprsl = sy-langu.
ls_t100-arbgb = 'AUNIT_ABAPGIT'.
ls_t100-msgnr = lc_msgnr.
ls_t100-text = |abapGit aunit test DELETE|.
INSERT ls_t100 INTO TABLE <lt_db_data>.
CREATE OBJECT li_cut TYPE zcl_abapgit_data_deserializer.
ls_result = li_cut->preview_database_changes(
iv_name = ls_config-name
ir_db_data = lr_db_data
ir_lc_data = lr_lc_data ).
ASSIGN ls_result-inserts->* TO <lg_ins>.
ASSIGN ls_result-updates->* TO <lg_upd>.
ASSIGN ls_result-deletes->* TO <lg_del>.
cl_abap_unit_assert=>assert_equals(
exp = 0
act = lines( <lg_ins> ) ).
cl_abap_unit_assert=>assert_equals(
exp = 0
act = lines( <lg_upd> ) ).
cl_abap_unit_assert=>assert_equals(
exp = 1
act = lines( <lg_del> ) ).
LOOP AT <lg_del> ASSIGNING <ls_del>.
cl_abap_unit_assert=>assert_equals(
exp = lc_msgnr
act = <ls_del>-msgnr ).
ENDLOOP.
ENDMETHOD.
ENDCLASS.

View File

@ -5,9 +5,6 @@ CLASS zcl_abapgit_data_factory DEFINITION
PUBLIC SECTION.
CLASS-METHODS get_supporter
RETURNING
VALUE(ri_supporter) TYPE REF TO zif_abapgit_data_supporter .
CLASS-METHODS get_serializer
RETURNING
VALUE(ri_serializer) TYPE REF TO zif_abapgit_data_serializer .
@ -20,14 +17,13 @@ CLASS zcl_abapgit_data_factory DEFINITION
PROTECTED SECTION.
PRIVATE SECTION.
CLASS-DATA gi_supporter TYPE REF TO zif_abapgit_data_supporter .
CLASS-DATA gi_serializer TYPE REF TO zif_abapgit_data_serializer .
CLASS-DATA gi_deserializer TYPE REF TO zif_abapgit_data_deserializer .
ENDCLASS.
CLASS zcl_abapgit_data_factory IMPLEMENTATION.
CLASS ZCL_ABAPGIT_DATA_FACTORY IMPLEMENTATION.
METHOD get_config.
@ -55,15 +51,4 @@ CLASS zcl_abapgit_data_factory IMPLEMENTATION.
ri_serializer = gi_serializer.
ENDMETHOD.
METHOD get_supporter.
IF gi_supporter IS INITIAL.
CREATE OBJECT gi_supporter TYPE zcl_abapgit_data_supporter.
ENDIF.
ri_supporter = gi_supporter.
ENDMETHOD.
ENDCLASS.

View File

@ -1,13 +1,9 @@
CLASS zcl_abapgit_data_injector DEFINITION
PUBLIC
FOR TESTING
CREATE PUBLIC .
PUBLIC SECTION.
METHODS set_supporter
IMPORTING
!ii_supporter TYPE REF TO zif_abapgit_data_supporter .
METHODS set_serializer
IMPORTING
!ii_serializer TYPE REF TO zif_abapgit_data_serializer .
@ -20,7 +16,7 @@ ENDCLASS.
CLASS zcl_abapgit_data_injector IMPLEMENTATION.
CLASS ZCL_ABAPGIT_DATA_INJECTOR IMPLEMENTATION.
METHOD set_deserializer.
@ -31,9 +27,4 @@ CLASS zcl_abapgit_data_injector IMPLEMENTATION.
METHOD set_serializer.
zcl_abapgit_data_factory=>gi_serializer = ii_serializer.
ENDMETHOD.
METHOD set_supporter.
zcl_abapgit_data_factory=>gi_supporter = ii_supporter.
ENDMETHOD.
ENDCLASS.

View File

@ -6,7 +6,6 @@
<CLSNAME>ZCL_ABAPGIT_DATA_INJECTOR</CLSNAME>
<LANGU>E</LANGU>
<DESCRIPT>abapGit - Data Injector</DESCRIPT>
<CATEGORY>05</CATEGORY>
<STATE>1</STATE>
<CLSCCINCL>X</CLSCCINCL>
<FIXPT>X</FIXPT>

View File

@ -33,7 +33,7 @@ ENDCLASS.
CLASS zcl_abapgit_data_serializer IMPLEMENTATION.
CLASS ZCL_ABAPGIT_DATA_SERIALIZER IMPLEMENTATION.
METHOD convert_itab_to_json.
@ -82,10 +82,10 @@ CLASS zcl_abapgit_data_serializer IMPLEMENTATION.
TRY.
LOOP AT it_where INTO lv_where.
SELECT * FROM (iv_name) APPENDING TABLE <lg_tab> WHERE (lv_where) ORDER BY PRIMARY KEY.
SELECT * FROM (iv_name) APPENDING TABLE <lg_tab> WHERE (lv_where).
ENDLOOP.
IF lines( it_where ) = 0.
SELECT * FROM (iv_name) INTO TABLE <lg_tab> ORDER BY PRIMARY KEY.
SELECT * FROM (iv_name) INTO TABLE <lg_tab>.
ENDIF.
CATCH cx_sy_sql_error INTO lx_sql.
zcx_abapgit_exception=>raise(
@ -105,9 +105,9 @@ CLASS zcl_abapgit_data_serializer IMPLEMENTATION.
METHOD zif_abapgit_data_serializer~serialize.
DATA lt_configs TYPE zif_abapgit_data_config=>ty_config_tt.
DATA ls_config LIKE LINE OF lt_configs.
DATA ls_file LIKE LINE OF rt_files.
DATA lr_data TYPE REF TO data.
DATA ls_config LIKE LINE OF lt_configs.
DATA ls_file LIKE LINE OF rt_files.
DATA lr_data TYPE REF TO data.
ls_file-path = zif_abapgit_data_config=>c_default_path.
lt_configs = ii_config->get_configs( ).
@ -116,19 +116,20 @@ CLASS zcl_abapgit_data_serializer IMPLEMENTATION.
ASSERT ls_config-type = zif_abapgit_data_config=>c_data_type-tabu. " todo
ASSERT ls_config-name IS NOT INITIAL.
IF zcl_abapgit_data_utils=>does_table_exist( ls_config-name ) = abap_true.
lr_data = read_database_table(
iv_name = ls_config-name
it_where = ls_config-where ).
TRY.
lr_data = read_database_table(
iv_name = ls_config-name
it_where = ls_config-where ).
ls_file-data = convert_itab_to_json(
ir_data = lr_data
iv_skip_initial = ls_config-skip_initial ).
ELSE.
ls_file-data = zcl_abapgit_convert=>string_to_xstring_utf8( '[]' ).
ENDIF.
ls_file-data = convert_itab_to_json(
ir_data = lr_data
iv_skip_initial = ls_config-skip_initial ).
ls_file-filename = zcl_abapgit_data_utils=>build_data_filename( ls_config ).
CATCH zcx_abapgit_exception.
" DB table might not yet exist
ENDTRY.
ls_file-filename = zcl_abapgit_data_utils=>build_filename( ls_config ).
ls_file-sha1 = zcl_abapgit_hash=>sha1_blob( ls_file-data ).
APPEND ls_file TO rt_files.
ENDLOOP.

View File

@ -25,7 +25,7 @@ CLASS ltcl_test IMPLEMENTATION.
METHOD serialize.
DATA ls_config TYPE zif_abapgit_data_config=>ty_config.
DATA lt_files TYPE zif_abapgit_git_definitions=>ty_files_tt.
DATA lt_files TYPE zif_abapgit_definitions=>ty_files_tt.
DATA lv_where LIKE LINE OF ls_config-where.
ls_config-type = 'TABU'.
@ -77,8 +77,8 @@ CLASS ltcl_test IMPLEMENTATION.
TRY.
mi_cut->serialize( mi_config ).
cl_abap_unit_assert=>fail( ).
CATCH zcx_abapgit_exception.
cl_abap_unit_assert=>fail( ).
ENDTRY.
ENDMETHOD.

View File

@ -1,83 +0,0 @@
CLASS zcl_abapgit_data_supporter DEFINITION
PUBLIC
CREATE PRIVATE
GLOBAL FRIENDS zcl_abapgit_data_factory .
PUBLIC SECTION.
INTERFACES zif_abapgit_data_supporter.
PROTECTED SECTION.
PRIVATE SECTION.
DATA mt_supported_objects TYPE zif_abapgit_data_supporter=>ty_objects.
METHODS get_supported_objects.
ENDCLASS.
CLASS zcl_abapgit_data_supporter IMPLEMENTATION.
METHOD get_supported_objects.
DATA:
lt_tables TYPE STANDARD TABLE OF tabname,
lv_tabname TYPE tabname,
ls_object LIKE LINE OF mt_supported_objects,
li_exit TYPE REF TO zif_abapgit_exit.
" For safety reasons, by default only customer-defined customizing tables are supported
SELECT dd02l~tabname
FROM dd09l JOIN dd02l
ON dd09l~tabname = dd02l~tabname
AND dd09l~as4local = dd02l~as4local
AND dd09l~as4vers = dd02l~as4vers
INTO TABLE lt_tables
WHERE dd02l~tabclass = 'TRANSP'
AND dd09l~tabart = 'APPL2'
AND dd09l~as4user <> 'SAP'
AND dd09l~as4local = 'A' "Only active tables
AND dd02l~contflag = 'C' "Only customizing tables
ORDER BY dd02l~tabname.
LOOP AT lt_tables INTO lv_tabname.
ls_object-type = zif_abapgit_data_config=>c_data_type-tabu.
ls_object-name = lv_tabname.
INSERT ls_object INTO TABLE mt_supported_objects.
ENDLOOP.
" The list of supported objects can be enhanced using an exit
" Name patterns are allowed. For example, TABU T009*
li_exit = zcl_abapgit_exit=>get_instance( ).
li_exit->change_supported_data_objects( CHANGING ct_objects = mt_supported_objects ).
ENDMETHOD.
METHOD zif_abapgit_data_supporter~is_object_supported.
FIELD-SYMBOLS <ls_object> LIKE LINE OF mt_supported_objects.
IF mt_supported_objects IS INITIAL.
get_supported_objects( ).
ENDIF.
READ TABLE mt_supported_objects TRANSPORTING NO FIELDS
WITH TABLE KEY type = iv_type name = iv_name.
IF sy-subrc = 0.
rv_supported = abap_true.
ELSE.
" Check if object name matches pattern
LOOP AT mt_supported_objects ASSIGNING <ls_object> WHERE type = iv_type.
IF iv_name CP <ls_object>-name.
rv_supported = abap_true.
RETURN.
ENDIF.
ENDLOOP.
ENDIF.
ENDMETHOD.
ENDCLASS.

Some files were not shown because too many files have changed in this diff Show More