pokrakam/abapDevSysInit
A single ABAP report that automates setting up a new ABAP Developer Edition or trial system, from the user profile and a GitHub RFC destination to fetching abapGit and pulling repositories.
Automates the repetitive tasks of preparing a new ABAP Developer Edition or trial system: setting the user profile, creating a GitHubGitHubA hosted git service: repositories, pull requests with reviews, and branch rulesets that decide what may reach a branch. Things here that push objects out of an SAP system, or keep a review record outside it, call its API and open their pull requests on it. RFC destination, installing SSL certificates, fetching abapGitabapGitA Git client written in ABAP that runs inside the system, so objects are cloned, pulled and pushed without leaving it; with no package manager in ABAP, a cloned repository is how code is distributed.community org, abap Standalone, creating the user exit that lets abapGit Standalone reach private repositories, and pulling a configured list of repositories, each offered as its own checkbox. On startup it looks at what is already in the system and proposes the actions accordingly. Everything ships as one report and one configuration include, so it can be copied in by hand before abapGit itself is available on the system; the include carries the GitHub user and token, which is why the maintainer says to keep it out of the published package and to delete the token once the RFC destination has been created. It stops at those checkbox actions: a repository that fails to pull, on a package conflict or anywhere abapGit needs an answer, still needs abapGit run by hand.
Facts
Where it sits
Who is behind it
In the atlas: maintains 1, contributes to 11@pokrakammaintainerAboContributes to this
In the atlas: contributes to 8@AndreaBorgia-Abo1 contributor
Before choosing this
Signals
ActivityQuietNo published releases; repository quiet for 24 months
It publishes no releases, and its repository has been quiet for at least 24 full months. This may be normal for stable software; check whether its current state still fits your use.
Conditions
PracticalFunctional boundary
Not against a system holding local repository changes that have not been pushed: Pull Repos overwrites every repository named in zdevsysinit_params, which is why the maintainer leaves that box unticked and calls it a danger zone. The maintainer calls the whole report work in progress, to be used at own risk.
What it declares
Every artifact
- Type
- App
- Origin
- Independently maintained
As an app
- Where it runs
- Inside the system it serves
- Distributed through
- abapGitCopied into the project
Connections
Running the whole stack on a laptop against real bindings
A hosted git service: repositories, pull requests with reviews, and branch rulesets that decide what may reach a branch. Things here that push objects out of an SAP system, or keep a review record outside it, call its API and open their pull requests on it.
A hosted git service: repositories, pull requests with reviews, and branch rulesets that decide what may reach a branch. Things here that push objects out of an SAP system, or keep a review record outside it, call its API and open their pull requests on it.
Download
Where it sits in your app
Download
README
quoted from pokrakam/abapDevSysInit under MIT, readabapDevSysInit
ABAP Development System Configurator. Work in progress, expect bugs and changes, may break stuff, use at own risk.
Purpose
To automate the repetitive tasks in setting up and personalizing a new ABAP Developer Edition or Trial system. Several actions can be selected, such as setting up the user profile and abapGit environment, and pulling a list of repos from GitHub.
See projects page to see what's planned
Usage
Installing
The design is to have everything in one report for ease of installing by copy-paste as abapGit may not be available. Configuration is also done by copy-paste and editing an ABAP include.
If abapGit is already installed, pull as usual. If not, create package $ZDEVSYSINIT and report zdevsysinit and copy-paste
the source from zdevsysinit.prog.abap.
Configuration
In order to keep the configuration handy for repeated installs, it is done by setting variables in an include that can be stored locally. The only two parameters available for input are the GitHub user and password that may be sensitive info - particularly the password should not be stored as free text.
Create include zdevsysinit_params in package $tmp, and copy the initialization parameter examples from zdevsysinit_sample.abap
and update with appropriate values.
Do not put zdevsysinit_params in the same package as this may include personal
information that should not be published on GitHub. Instead, save a copy on your
laptop on in a Gist to reuse the next time you set up a new dev/trial system.
It is highly recommended not to put tokens into the source code, or to delete
them once the RFC destination has been created.
Running
If the program has been copy-pasted into the system, the selection screen texts will be updated the first time it is run. Please restart the program for this to take effect.
The actions that can be carried out are listed as checkbox items:
| Action | Description |
|---|---|
| Update User Profile | Sets the user data and settings specified in zdevsysinit_params |
| Set up GitHub RFC Destination | Creates an RFC destination GITHUB in order to securely store a user and API Token in the SAP database. These can be specified in zdevsysinit_params or directly in the selection screen using the additional input fields GitHub User and GitHub Token, as at least the token should not be permanently saved in a plaintext file |
| Install SSL Certificates | Sets up the SSL Certificates needed for communicating to GitHub |
| Get abapGit Standalone | Fetches the latest version of ZABAPGIT_STANDALONE into package $TMP |
| Create abapGit Standalone Exit | Creates user exit to enable abapGit Standalone to access GitHub private repositories using the User/Token supplied above |
| Pull Repos (Overwrite local!) | Pulls all the repositories specified in zdevsysinit_params |
On startup, zdevsysinit checks what is in the system and proposes actions accordingly. For example if ZABAPGIT_STANDALONE is present then "abapGit Standalone" will be unticked.
Tick any of the boxes to perform the action anyway, e.g. to fetch the latest version of abapGit Standalone and overwrite the local copy. (Note that the one in A4H 2022 is outdated and should be updated on a new system, so please check this box at least one)
*** Please Note *** The action "Pull Repos" will always be unchecked as this is a danger zone. It will overwrite all local repos specified in zdevsysinit_params and any local updates will be overwritten. If you wish to use this to regularly pull some public repo updates then comment out or delete any private repos that you may be working on after the first pull into a new system. However it may be a better alternative to set those as background pull and run abapGit as a background job.
Some abapGit repos may fail to import for various reasons that are outside the scope of this app. For example package conflicts or other situations where abapGit needs user input. The message generated by abapGit should be shown in the log. The quickest solution is to run abapGit and import them manually. In most cases the repo should already have been created and can simply be selected from abapGit and pulled.
Others providing
Compare all 5 on the Local development page →- abap2UI5 Playgroundabap2UI5 PlaygroundABAP in the editor on the left and the abap2UI5 app it builds on the right, both inside one browser tab: the framework is transpiled to JavaScript at build time and the class in the editor is compiled when Run is pressed.community org, abapIn-browser ABAP editor beside the abap2UI5 app it builds
- web-abap2UI5web-abap2UI5A build pipeline and the page it deploys: the abap2UI5 backend downported, transpiled to JavaScript and webpacked into one script that runs inside a browser tab, with no server and no SAP system behind it.community org, abapabap2UI5 transpiled to JavaScript and run in a browser tab
- abap_trial_dockerabap_trial_dockerShell scripts that build a Docker image from the SAP NetWeaver ABAP Developer Edition 7.52 SP04 installation files and run it as an unprivileged container, setting the stable hostname the installer wants.independent, abapScripts running the ABAP Developer Edition in Docker
- open-steamgateopen-steamgateAn ABAP application server you clone and run on your own machine: transpiled ABAP serving classic /IWBEP/ OData v2 to Fiori over a local database, with no SAP system attached.independent, abapLocal ABAP server serving /IWBEP/ OData v2 without an SAP system
Details
Sources
Sources are graph entities: the same page may back several entries, and an unreachable source flags every row that rests on it.
Compatibility and provenance
abaplint
Flavors
“To automate the repetitive tasks in setting up and personalizing a new ABAP Developer Edition or Trial system.” — pokrakam/abapDevSysInit — README, Purpose
Contributors
History in the atlas
- First seen.
For your agent
- Ref
artifact:pokrakam-abapdevsysinit- JSON
- /artifacts/pokrakam-abapdevsysinit.json
- MCP
- Connecting an agent