From ef64f21b404e075e8cdef19e07a051e6b96a8232 Mon Sep 17 00:00:00 2001 From: bsrdjan Date: Sat, 30 Jan 2021 11:53:21 +0100 Subject: [PATCH] User parameters (SU3) added to call template --- abap-api-tools/README.md | 2 +- abap-api-tools/package-lock.json | 4 +- abap-api-tools/package.json | 2 +- abap-api-tools/src/ts/frontend.ts | 72 +++++++++++-------------------- 4 files changed, 28 insertions(+), 52 deletions(-) diff --git a/abap-api-tools/README.md b/abap-api-tools/README.md index ef807614..6a9de6f2 100644 --- a/abap-api-tools/README.md +++ b/abap-api-tools/README.md @@ -99,7 +99,7 @@ The call template provides a source code for ABAP function module invocation, wi - Optional parameters are commented and initialized with ABAP default values - Required parameters are initialized with empty string, buffer or zero number -- Conversion Exit ("ALPHA Exit"), if attached to data element, is mentioned in data element comment +- Conversion Exit ("ALPHA Exit") and User Profile parameter (SU3) are mentioned in parameter or field comment More than one ABAP function module diff --git a/abap-api-tools/package-lock.json b/abap-api-tools/package-lock.json index 262559c3..68418b28 100644 --- a/abap-api-tools/package-lock.json +++ b/abap-api-tools/package-lock.json @@ -1,11 +1,11 @@ { "name": "abap-api-tools", - "version": "1.0.0", + "version": "1.0.1", "lockfileVersion": 2, "requires": true, "packages": { "": { - "version": "1.0.0", + "version": "1.0.1", "cpu": [ "!arm" ], diff --git a/abap-api-tools/package.json b/abap-api-tools/package.json index c7944c17..9fa718e0 100644 --- a/abap-api-tools/package.json +++ b/abap-api-tools/package.json @@ -1,7 +1,7 @@ { "name": "abap-api-tools", "description": "ABAP api tools", - "version": "1.0.0", + "version": "1.0.1", "homepage": "https://github.com/sap/fundamental-tools", "author": "SAP", "license": "Apache-2.0", diff --git a/abap-api-tools/src/ts/frontend.ts b/abap-api-tools/src/ts/frontend.ts index 3dd58cff..4f170285 100644 --- a/abap-api-tools/src/ts/frontend.ts +++ b/abap-api-tools/src/ts/frontend.ts @@ -222,9 +222,7 @@ export class Frontend { result.init = this.abapConfig[result.abaptype].initial; if (Field.input) { if (Field.input.CONVEXIT) result.alpha = Field.input.CONVEXIT; - if (Field.input.MEMORYID) { - result.mid = Field.input.MEMORYID; - } + if (Field.input.MEMORYID) result.mid = Field.input.MEMORYID; } } else { result["init"] = '"native ABAP type"'; @@ -260,11 +258,9 @@ export class Frontend { if (!isEmpty(Field)) { result.abaptype = Field.format.DATATYPE; result.leng = `${Field.format.LENG}`; - if (Field.input && Field.input.CONVEXIT) { - result.alpha = Field.input.CONVEXIT; - } - if (Field.input && Field.input.MEMORYID) { - result.mid = Field.input.MEMORYID; + if (Field.input) { + if (Field.input.CONVEXIT) result.alpha = Field.input.CONVEXIT; + if (Field.input.MEMORYID) result.mid = Field.input.MEMORYID; } } else { if (!Param.nativeKey) { @@ -399,7 +395,7 @@ export class Frontend { // parameter init // - const paramText = Param.PARAMTEXT + let paramText = Param.PARAMTEXT ? Param.PARAMTEXT : `no text (${this.argv.lang})`; let left = Param.paramName; @@ -418,28 +414,17 @@ export class Frontend { jsWriter.write(sprintf("%-33s // %s", left, paramText)); } else { const right = this.get_param_initializer(Param, Field); - if (right.alpha) { - jsWriter.write( - sprintf( - `%-${paramNameLen}s: %12s, // %s ALPHA=%s %s`, - left, - right.init, - right.abaptype, - right.alpha, - paramText - ) - ); - } else { - jsWriter.write( - sprintf( - `%-${paramNameLen}s: %12s, // %s %s`, - left, - right.init, - right.abaptype, - paramText - ) - ); - } + if (right.mid) paramText = `SU3=${right.mid} ` + paramText; + if (right.alpha) paramText = `ALPHA=${right.alpha} ` + paramText; + jsWriter.write( + sprintf( + `%-${paramNameLen}s: %12s, // %s %s`, + left, + right.init, + right.abaptype, + paramText + ) + ); } } jsWriter.write("};"); @@ -643,26 +628,17 @@ export class Frontend { left = `""`; // line type table field_text += ` [line type table]`; } - let line: string; - if (right["alpha"]) { - line = sprintf( - "%-33s: %4s, // %s ALPHA=%s %s", - left, - right["init"], - right["abaptype"], - right["alpha"], - field_text - ); - } else { - line = sprintf( + if (right.mid) field_text = `SU3=${right.mid} ` + field_text; + if (right.alpha) field_text = `ALPHA=${right.alpha} ` + field_text; + jsWriter.write( + sprintf( "%-33s: %4s, // %s %s", left, - right["init"], - right["abaptype"], + right.init, + right.abaptype, field_text - ); - } - jsWriter.write(line); + ) + ); if (htmlWriter) { const field = this.html_field(Param, Field, field_name); if (field) {