GeneratorGeneratortypeCreates a project, a component or configuration once, when you run it, rather than taking part in every build.See every one →What this type is →independently maintainedindependently maintainedoriginPublished by one person or a small company outside SAP. Says nothing about quality; the readings say that.See every one →

guidrasil

A visual designer for classic SAP GUI screens that wraps containers and controls in a generic shell and generates the ABAP program that displays the layout it places.

Building a classic SAP GUI screen normally means writing container and control creation code by hand for every element. guidrasil wraps each container and control it starts with, docking, custom, dialogbox and splitter containers, plus icon, text and calendar controls, in a generic shell created through one CREATE method, with attributes read and saved through a single serialised, generic mechanism. Because its manager class tracks where every container and control sits, it can generate a complete ABAP program that displays them, and the same manager can return object references by name so a generated layout can still be manipulated in code afterwards. It starts from report ZGUIDRASIL_INI_CONTROLS, which registers the available control classes in a custom table.

Facts

Last pushLicenceMIT

Where it sits

Lives in
Provides
SAP GUI screens and listsABAPSAP GUI screens and listscapabilityBuilding screens, lists and interactive controls for the SAP GUI. Producing a web interface is [UI written in ABAP](capability:abap-ui-from-abap); operating an existing screen programmatically is [GUI automation](capability:gui-automation).

Who is behind it

TricktresorTricktresorOrganisationMaintains this
In the atlas: maintains 4
@tricktresor
maintainerChristian GünterPersonContributes to this
In the atlas: maintains 1, contributes to 12
@christianguenter2
EnnoPersonContributes to this
In the atlas: contributes to 8
@Ennowulff
2 contributors

Before choosing this

Signals

ActivityQuietNo published releases; repository quiet for 93 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.

What it declares

Every artifact

Type
Generator
Origin
Independently maintained

As a generator

Generates
does not say
Run with
does not say
Distributed through
does not say

Connections1

README

quoted from tricktresor/guidrasil under MIT, read
tricktresor/guidrasil/README.mdOn GitHub

guidrasil

ABAP GUI designer for Prototyping and more overview

about

Yggdrasill is an immense mythical tree that connects the nine worlds in Norse cosmology. It holds together everything in the world. It's the beginning of all. If yggdrasill will die, the world will die.

Wikipedia: https://en.wikipedia.org/wiki/Yggdrasil

The project name guidrasil shall indicate that the SAPGUI is still the center of everything. If SAPGUI will die, the world ends.

See blog post about guidrasil at http://blogs.sap.com.

idea

guidrasil is a GUI-Designer which I started to build with a former colleague. The idea is that every control can be generically managed. You just need a unique, standardized shell wrapped around the controls so that they can be created all the same.

For placing the controls we created a framework that provides functions for selecting the type of container and inside the container functions for selecting the controls. functions

Controls and container are similar. The great difference is, that containers can held more containers (splitter container) and controls can have different attributes.

Each control can be created with a method CREATE. Inside this method everything will be done for creating the neccessary things. The container has a function to change the name of the controls and set attributes (show/ hide status bar in TextEditControl or the picture in PictureControl. attributes

All controls have a defined structure for managing these attributes. But the attributes will be saved with one generic function using serialization.

start

Start report ZGUIDRASIL_INI_CONTROLS to initialize the controls custom table. This report will add the existing control classes in table ZGUIDRASIL_CTLS where ZGUIDRASIL_ADM selects the usable controls and containers from.

controls

this project starts with following containers:

  • docking container
  • custom container
  • dialogbox container
  • splitter container These two controls can be used for start:
  • icons (picture control)
  • text (textedit control)
  • calendar (calendar control)

detail

You can see a detailed overview in this prezi-presentation that I held 2017 at sitwdf: http://prezi.com/rhil_uifj7rn/?utm_campaign=share&utm_medium=copy

features

prototyping

With guidrasil you can prototype an application as easy as never before. You just need to click the controls you want and save the project.

code creation

As every object in its shell knows what to do to display the control, it can provide the code for creation. The guidrasil manager class knows where the containers are placed and which controls are in there. So you can generate a complete genuine ABAP program for displaying these controls.

object manager

The application provides a GUI for you to select all the containers and controls. But the application can display all controls also without the drop down functions. And the manager also knows the names of the controls. So you are able to just create the project with the manager class and then get the reference of objects by their names. Afterwards you can manipulate the object in the way you are used to it.

visualize settings

All the settings of a control can be customized. For example you can set the attribute "hide statusbar" in the TextEditControl via listbox. At least you could define the complete fieldcatalog of an alv grid in the dialog.

screenshots

initial screen placing docking containers, custom container and dialogbox

01

Empty custom container on the left

02

Add a splitter container

03

Add an icon control

04

Select number of columns and rows for new splitter container

05

attributes window with documentation for TextEditControl

06

some controls and dialog box (design mode)

07

Some controls and dialog box (preview)

08

hierarchical Tree view

09

icon selection

10

Change name of control

11

MIT, read
SAP GUI screens and lists
  1. abeljohny/ZAPMacro DSL turning a one-line select into an ALV listfrom ABAP
  2. abap-ui-toolboxABAP classes for classic SAP GUI development: ALV, screens, treesfrom ABAP
  3. alv_utilitiesABAP class wrapping SALV to set column properties in one callfrom ABAP
  4. abap-alv-struc-viewerALV table view generated from a DDIC structurefrom ABAP
  5. abap-ui-toolsHelper class for classic ABAP dynpro field handling and popupsfrom ABAP
  6. abapEasyALVWrapper classes over classic ALV and SALV reportingfrom ABAP
  7. cds2alvGenerator for ALV list reports from a CDS view's field definitionsfrom ABAP
  8. abapMermaidRenders Mermaid diagrams inside an SAP GUI containerfrom ABAP
  9. ZwdDynscreenSelection screens and popups generated from ABAP objects, no dynprofrom ABAP

Details

Sources3
dotabapdiscovered herechecked
github.com/tricktresor/guidrasiltree, pushes, contributors, CIchecked
README.mdquoted, and what the entry declareschecked

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
discovered viadotabap
first seen in the atlas
ecosystem and domainabap, ui-and-frontend-bridge
abaplint
issues under its own abaplint configuration2,328
lines7,249
statements4,399
objects74
files101
analysed, master
abaplint version2.120.84
Contributors2

From the repository’s contributor list, .

History in the atlas1
  1. First seen.
For your agent
Ref
artifact:tricktresor-guidrasil
JSON
/artifacts/tricktresor-guidrasil.json
MCP
Connecting an agent