JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 203
  • Score
    100M100P100Q94866F
  • License MIT

Deploying a SAPUI5/OpenUI5 file structure to SAP NetWeaver ABAP via ADT (ABAP Developer Tools)

Package Exports

  • nwabap-ui5uploader

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (nwabap-ui5uploader) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

nwabap-ui5uploader

This module allows a developer to upload SAPUI5/OpenUI5 sources into a SAP NetWeaver ABAP system. The behavior is (or should be) the same than it is known from the SAP Web IDE app deployment option "Deploy to SAPUI5 ABAP Repository" or from the "SAPUI5 ABAP Repository Team Provider" available for Eclipse via the "UI Development Toolkit for HTML5". The main reason for developing this module is to integrate the deployment process into a Continuous Integration environment, in which for instance a Jenkins server executes several build steps and finally deploys the sources to a SAP NetWeaver ABAP system if all previous build steps are ok. The plugin also allows a developer to deploy the sources to a SAP NetWeaver ABAP system by a npm script using a different IDE than Eclipse or SAP Web IDE (for instance WebStorm).

Based on grunt-nwabap-ui5uploader package

This module is based on the original grunt plugin. Though I didn't like the need of gulp or grunt in my projects purely for CI/CD.

Donations

If you like this port, you find it useful, it has value enough: please donate! ☺️

Ethereum address: 0x951E9eDabD9C41B9A8386091E731Ab15FF574D4f

Prerequisites

ABAP Development Tool Services

The ABAP Development Tool Services have to be activated on the SAP NetWeaver ABAP System (transaction SICF, path /sap/bc/adt). The user used for uploading the sources needs to have the authorization to use the ADT Services and to create/modify BSP applications. The plugin is tested with NW 7.30, NW 7.40 and NW 7.50 systems.

Install

Add it to your local project and use npx to run the binary using a npx-prefix (as of npm 5.2.0):

npm install nwabap-ui5uploader --save-dev

Or just install globally and skip the npx-prefix in the examples below:

npm install -g nwabap-ui5uploader

Usage

This node module describes itself on the command line. Use your favorite CI/CD configuration to call this module.

npx nwabap --help
npx nwabap upload --help

Configuration

It is possible to use a configuration file. Create a .nwabaprc file in your package root, i.e.:

{
    "base": "./dist",
    "conn_server": "http://myserver:8000",
    "conn_user": "upload",
    "conn_password": "upl04d",
    "abap_package": "$TMP",
    "abap_bsp": "ZZ_UI5_LOCAL",
    "abap_bsp_text": "UI5 upload local objects"
}

NOTE: command line arguments are ordered to be mapped after the configuration file. This means that the command line arguments override individual configuration file attributes.

Examples

Upload to $TMP package

npx nwabap upload --base ./dist --conn_server http://myserver:8000 --conn_user upload --conn_password upl04d --abap_package $TMP --abap_bsp ZZ_UI5_LOCAL --abap_bsp_text "UI5 upload local objects"

Upload to a transport tracked package

npx nwabap upload --base ./dist --conn_server http://myserver:8000 --conn_user upload --conn_password upl04d --abap_package ZFRONTENDS_TEST --abap_bsp ZABSHR --abap_bsp_text "Absence HR" --abap_transport PRDNK1230120032

Use package.json script

"scripts": {
    "upload": "npx nwabap upload"
}

#### Use another .nwabaprc file to upload to multiple systems

npx nwabap upload --nwabaprc .nwabaprc2

Release History

CHANGELOG.md

Contribute

My actual goal is to remove all unnecessary code and libs, except console coloring libs since I find these really helpful. I would also like to rewrite the libs used (filestore and filestoreutils). Please, and feel free to help me anytime on the project's GitHub.