PackagePackagetypeA library you install and call yourself.See every one →What this type is →by a community orgby a community orgoriginPublished by a community organisation, so it outlives any one maintainer.See every one →

abap2UI5-addons/popups

Ready-made dialogs for an abap2UI5 app: confirm, inform, select from a list, file up- and download, table, text edit, PDF, HTML, messages, range, value help and search help, each opened with one factory( ) call.

Almost every app needs the same handful of dialogs, and building each one as an XML view with its own events and callbacks is repetitive work. Each popup here is an abap2UI5 app of its own: it is opened with client->nav_app_call( z2ui5_cl_popup_to_confirm=>factory( ... ) ), and the outcome comes back either as an event the caller named or from the popup's result( ) method after check_on_navigated( ). The classes in src/ were moved here out of the abap2UI5 core framework, and the repository's original classes stay in src/99/ as obsolete. The value-help and search-help popups build their views through abap2UI5-addons/layout-management, which is pulled into the system alongside. The utilities the popups call are a trimmed, renamed copy of abap-util's context class rather than a dependency, because abapGit has no dependency management.

Facts

Last pushLicenceMIT

Where it sits

Lives in
Provides
UI written in ABAPABAPUI written in ABAPcapabilityProducing a web user interface from ABAP code, with the application’s backend language also defining what the user sees and how it behaves.
Add-on to
abap2UI5abap2UI5artifactOne ABAP class implementing z2ui5_if_app is the whole app: the browser loads a generic UI5 shell once, and every interaction after that is an HTTP roundtrip back into ABAP.
Requires
abap2UI5abap2UI5artifactThe framework the popups are apps of: each popup implements an abap2UI5 app and is opened with client->nav_app_call( ). The README lists it under Requirements and the abaplint configs pin it to a release tag.layout-managementlayout-managementartifactThe addon the Value-Help and Search-Help popups in src/03/ build their views with; a system that pulls this repository without it fails activation of src/03/ with "HEADER" is not type-compatible with formal parameter "XML".abapGitabapGitartifactPulling the repository into the system, from main or from the downported 702 branch; the same client installs abap2UI5 and layout-management first.

Who is behind it

abap2UI5-addonsabap2UI5-addonsOrganisationMaintains this
In the atlas: maintains 21
@abap2UI5-addons
maintainerabapsheepPersonContributes to this
In the atlas: contributes to 6
@abapsheep
oblomov-devPersonContributes to this
In the atlas: maintains 4, contributes to 44
@oblomov-dev
2 contributors

Before choosing this

Conditions

PracticalFunctional boundary

The value-help and search-help popups read whichever DDIC check table the user selects without an authorisation check of their own, so the README asks for your own checks and a restriction on which tables may be browsed before they are used beyond a development system. The transport-request popup works only on-premise, and the search help does not yet run on the Cloud stack.

What it declares

Every artifact

Type
Package
Origin
By a community org

As a package

Where it runs
does not say
Distributed through
does not say

Connections4

abap2UI5-addons/popups connectionsabap2UI5-addons/popupsPROVIDES→ provides1provides stated Supplies the dialogs of an ABAP-written UI as finished classes — confirm, inform, select, file up- and download, table, data and demo output, text editor, HTML, PDF, messages, errors, input validation, range selection, image editor, value help, search help and transport requests — each an abap2UI5 app of its own that renders itself and hands its result back to the calling app. abap2UI5-addons/popups — README: https://github.com/abap2ui5-addons/popups abap2UI5-addons/popups — AGENTS.md, Project Overview: https://raw.githubusercontent.com/abap2UI5-addons/popups/main/AGENTS.mdUI written in ABAPNEEDS→ needs3needs stated The framework the popups are apps of: each popup implements an abap2UI5 app and is opened with `client->nav_app_call( )`. The README lists it under Requirements and the abaplint configs pin it to a release tag. abap2UI5-addons/popups — AGENTS.md, Project Overview: https://raw.githubusercontent.com/abap2UI5-addons/popups/main/AGENTS.md abap2UI5-addons/popups — README, Installation requirements: https://github.com/abap2ui5-addons/popupsabap2UI5needs stated Pulling the repository into the system, from `main` or from the downported `702` branch; the same client installs abap2UI5 and layout-management first. abap2UI5-addons/popups — README, Installation steps: https://github.com/abap2ui5-addons/popups abap2UI5-addons/popups — AGENTS.md, Dependencies: https://raw.githubusercontent.com/abap2UI5-addons/popups/main/AGENTS.mdabapGitneeds stated The addon the Value-Help and Search-Help popups in `src/03/` build their views with; a system that pulls this repository without it fails activation of `src/03/` with `"HEADER" is not type-compatible with formal parameter "XML"`. abap2UI5-addons/popups — AGENTS.md, Dependencies: https://raw.githubusercontent.com/abap2UI5-addons/popups/main/AGENTS.md abap2UI5-addons/popups — README, Installation steps: https://github.com/abap2ui5-addons/popupslayout-management

README

quoted from abap2UI5-addons/popups under MIT, read
abap2UI5-addons/popups/README.mdOn GitHub

popups

abap2UI5-addons ABAP abap2UI5 layout-management License
ABAP Cloud ABAP Standard ABAP 7.02 rename check-abap2UI5 abap2UI5

Ready-to-use popups and dialogs for your abap2UI5 apps - one factory( ) call each. Confirm, inform, select from a list, edit a text, up- and download a file, show a table, a PDF, HTML or messages, pick a range, a value help or a search help: each popup is an abap2UI5 app of its own that you call with client->nav_app_call( ) and that hands its result back to your app. The classes were moved here from the abap2UI5 core framework.

Part of abap2UI5-addons - addons and apps for abap2UI5, installed with abapGit.

Why

Almost every app needs the same handful of dialogs: "Are you sure?", "Enter a value", "Pick one of these", "Upload a file". Building each of them as an XML view with its own events, buffers and callbacks is repetitive work.

popups gives you these dialogs as finished classes. You call the popup, it renders itself, and your app gets the result back - either as an event you name, or through the popup's result( ) method.

Good for:

  • abap2UI5 developers who need standard dialogs without writing views.
  • Moving classic code to abap2UI5 - counterparts for POPUP_TO_CONFIRM, POPUP_TO_INFORM, file up- and download and CL_DEMO_OUTPUT.

Installation

Requirements

  • ABAP Cloud (S/4 Public Cloud, BTP ABAP Environment), S/4 Private Cloud or On-Premise, or SAP NetWeaver AS ABAP 7.50 or higher; NetWeaver 7.02 with the downported branch 702
  • abap2UI5
  • abap2UI5-addons/layout-management - pull it together with this repository: the Value-Help/Search-Help popups build their views with z2ui5_cl_ui5_view_builder, so an older layout-management (whose z2ui5_cl_layo_pop=>render_layout_function still takes a z2ui5_cl_xml_view) fails activation with "HEADER" is not type-compatible with formal parameter "XML"

No dependency on abap-util at installation time - the needed utilities are embedded as a vendored copy (see Utility class).

Steps - with abapGit, in this order:

  1. abap2UI5
  2. abap2UI5-addons/layout-management
  3. this repository, from the branch that fits your system:
SystemBranch to pull
ABAP Cloud, S/4HANA, NetWeaver 7.50 or highermain
NetWeaver 7.02 - 7.40702 (downported automatically from main)

On NetWeaver 7.02 pull layout-management from its 702 branch as well.

Start - run a sample like any abap2UI5 app, e.g. ?app_start=z2ui5_cl_popup_sample_05 for the confirm popup. All samples are listed under Samples.

Usage

Call a popup with nav_app_call( ) and react to the event it raises when it closes:

METHOD z2ui5_if_app~main.

  IF client->check_on_event( `DELETE` ).
    client->nav_app_call( z2ui5_cl_popup_to_confirm=>factory(
        i_question_text = `Delete the entry?`
        i_event_confirm = `DELETE_CONFIRMED`
        i_event_cancel  = `DELETE_CANCELED` ) ).

  ELSEIF client->check_on_event( `DELETE_CONFIRMED` ).
    client->message_box_display( `Entry deleted` ).

  ELSEIF client->check_on_event( `DELETE_CANCELED` ).
    client->message_box_display( `Nothing changed` ).

  ENDIF.

ENDMETHOD.

Popups that return data hand it over through result( ). When control comes back, read it from the previous app:

" open
client->nav_app_call( z2ui5_cl_popup_textedit=>factory( `this is a text` ) ).

" back in your app
IF client->check_on_navigated( ).
  TRY.
      DATA(lo_prev) = client->get_app( client->get( )-s_draft-id_prev_app ).
      DATA(lv_text) = CAST z2ui5_cl_popup_textedit( lo_prev )->result( )-text.
    CATCH cx_root.
  ENDTRY.
ENDIF.

Features

  • Confirm, Inform & Select popups (z2ui5_cl_popup_to_confirm, z2ui5_cl_popup_to_inform, z2ui5_cl_popup_to_select)
  • File Download & Upload (z2ui5_cl_popup_file_dl, z2ui5_cl_popup_file_ul)
  • Table, Data & Demo Output (z2ui5_cl_popup_table, z2ui5_cl_popup_data, z2ui5_cl_popup_demo_output)
  • Text Editor, HTML & PDF display (z2ui5_cl_popup_textedit, z2ui5_cl_popup_html, z2ui5_cl_popup_pdf)
  • Messages, Error & Input Validation (z2ui5_cl_popup_messages, z2ui5_cl_popup_error, z2ui5_cl_popup_input_val)
  • Range Selection (z2ui5_cl_popup_get_range, z2ui5_cl_popup_get_range_m)
  • Image Editor & JS Loader (z2ui5_cl_popup_image_edit, z2ui5_cl_popup_js_loader)
  • Value-Help & Search-Help (z2ui5_cl_popup_value_help, z2ui5_cl_popup_search_help)
  • Transport Requests (z2ui5_cl_popup_show_tr)
  • Samples for all popups (src/02/, z2ui5_cl_popup_sample_*)

Samples

SamplePopup
z2ui5_cl_popup_sample_01Value-Help (z2ui5_cl_popup_value_help)
z2ui5_cl_popup_sample_02Search-Help (z2ui5_cl_popup_search_help)
z2ui5_cl_popup_sample_03Image editor (z2ui5_cl_popup_image_edit)
z2ui5_cl_popup_sample_04HTML (z2ui5_cl_popup_html)
z2ui5_cl_popup_sample_05Confirm (z2ui5_cl_popup_to_confirm)
z2ui5_cl_popup_sample_06Inform (z2ui5_cl_popup_to_inform)
z2ui5_cl_popup_sample_07, _17Select from a list (z2ui5_cl_popup_to_select)
z2ui5_cl_popup_sample_08Messages and errors (z2ui5_cl_popup_messages, z2ui5_cl_popup_error)
z2ui5_cl_popup_sample_09Text editor (z2ui5_cl_popup_textedit)
z2ui5_cl_popup_sample_10Input value (z2ui5_cl_popup_input_val)
z2ui5_cl_popup_sample_11File upload (z2ui5_cl_popup_file_ul)
z2ui5_cl_popup_sample_12, _13PDF (z2ui5_cl_popup_pdf)
z2ui5_cl_popup_sample_14Select-options over several fields (z2ui5_cl_popup_get_range_m)
z2ui5_cl_popup_sample_15Table (z2ui5_cl_popup_table)
z2ui5_cl_popup_sample_16File download (z2ui5_cl_popup_file_dl)
z2ui5_cl_popup_sample_18CL_DEMO_OUTPUT (z2ui5_cl_popup_demo_output)
z2ui5_cl_popup_sample_19Range of one field (z2ui5_cl_popup_get_range)

Demo

Search-Help
image
Value-Help
image
Transport Requests
image

Package Structure

PackageContent
src/Popup classes (z2ui5_cl_popup_*)
src/00/Context/utility class z2ui5_cl_popup_context — a vendored copy from abap-util, see below
src/02/Samples (z2ui5_cl_popup_sample_*)
src/03/Popups with layout-management dependency (Value-Help, Search-Help)
src/99/Obsolete: the original classes of this repository, kept for compatibility

The classes in src/ were moved here from the abap2UI5 core framework (formerly the built-in popups in its obsolete package); the previous content of this repository lives in src/99/ (obsolete).

Utility class - vendored copy from abap-util

z2ui5_cl_popup_context (src/00/) is a renamed copy of zabaputil_cl_util_context from the abap-util master catalog, reduced to the methods actually used by the popup apps. This keeps the installation dependency-free (abapGit has no dependency management) and namespace-isolated, while abap-util remains the catalog that contains all utility classes with all methods.

How the copy is maintained:

  • Only the context class is trimmed at method level — unused methods are removed (the private helpers a kept method needs stay in the copy); other classes from abap-util would be vendored as-is.
  • If a popup needs a utility method that is not in the copy yet, it is added directly to the local z2ui5_cl_popup_context (if it already exists in abap-util, it is copied from there with its private helpers instead of re-implemented).
  • Every few weeks an AI compares abap-util with all consumers and merges locally added methods back into abap-util, so the master catalog stays the superset of all methods.

Security

The value-help and search-help popups read the DDIC check table the user selects, without an authorization check of their own. Before using them beyond a development system, add your own authorization checks and restrict which tables may be browsed.

Limitations & Todo

  • Transports currently only work in On-Premise
  • Search-Help not yet running on Cloud Stack

Development

npm ci
npm run check           # all gates below, as in CI
npm run lint            # abaplint, Standard ABAP (v750)
npm run check:cloud     # abaplint, ABAP Cloud
npm run check:abap2ui5  # abap2UI5-linter over apps and views
npm run rename          # namespace rename check
npm run downport        # downport the source to 7.02 syntax

Contributing

Issues and pull requests are welcome - whether you're fixing bugs, adding new functionality, or improving documentation. Read CONTRIBUTING.md first.

License

MIT - see LICENSE.

MIT, read

History

Latest

v1.139.0

UI written in ABAP
  1. abap2UI5-localabap2UI5 folded into the local classes of one HTTP handlerfrom ABAP
  2. abap2UI5UI5 apps written as one ABAP class, rendered by a generic shellfrom ABAP
  3. abap-cloud-guiReport-style programming model for abap2UI5 on ABAP Cloudfrom ABAP
  4. custom-controlsThirteen custom UI5 controls for abap2UI5 appsfrom ABAP
  5. http-connectorForwards abap2UI5 roundtrips to another system over HTTPfrom ABAP
  6. layout-managementTable and form layouts with saved variants for abap2UI5from ABAP
  7. abap2UI5 for ExcelOffice add-in running an abap2UI5 app in Excel's task panefrom ABAP
  8. rap-extFloorplans rendered from CDS UI annotations as abap2UI5 appsfrom ABAP
  9. selection-screenSelect-options with saved variants for abap2UI5 appsfrom ABAP
  10. abap2UI5 frontend-webcomponentabap2UI5 frontend rendering with UI5 Web Componentsfrom ABAP
  11. abap2UI5 frontendabap2UI5 frontend as ABAP artefacts installed with abapGitfrom ABAP
  12. abap2UI5 Layout EditorDrag-and-drop UI5 view editor that writes an abap2UI5 app classfrom ABAP
  13. abap2UI5 protocolVersioned specification of the abap2UI5 roundtrip protocolfrom ABAP
  14. ZFPM_TOOLSEdits, copies and transports a whole FPM hierarchy at oncefrom ABAP
  15. ZWD_CALENDAR_VHWeb Dynpro ABAP calendar value help for date fieldsfrom ABAP
  16. abap_mustacheMustache template engine for ABAPfrom ABAP

Details

Sources3
GitHub APIdiscovered herechecked
github.com/abap2UI5-addons/popupstree, 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 viaGitHub API
first seen in the atlas
ecosystem and domainabap, ui-and-frontend-bridge
abaplint
issues under its own abaplint configuration0
lines15,823
statements8,421
objects65
files148
analysed, main
abaplint version2.120.84
Flavors2
ABAP Cloud
“ABAP Cloud (S/4 Public Cloud, BTP ABAP Environment), S/4 Private Cloud or On-Premise, or SAP NetWeaver AS ABAP 7.50 or higher; NetWeaver 7.02 with the downported branch `702`” — abap2UI5-addons/popups — README, Installationchecked
Standard ABAP
“ABAP Cloud (S/4 Public Cloud, BTP ABAP Environment), S/4 Private Cloud or On-Premise, or SAP NetWeaver AS ABAP 7.50 or higher; NetWeaver 7.02 with the downported branch `702`” — abap2UI5-addons/popups — README, Installationchecked
Contributors2

From the repository’s contributor list, .

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