diff --git a/file-formats/sajt/README.md b/file-formats/sajt/README.md index 2426d644e..51b9cd760 100644 --- a/file-formats/sajt/README.md +++ b/file-formats/sajt/README.md @@ -1,5 +1,5 @@ # SAJT File Format - File | Cardinality | Definition | Schema | Example - :--- | :--- | :--- | :--- | :--- - `.sajt.json` | 1 | [`zif_aff_sajt_v1.intf.abap`](./type/zif_aff_sajt_v1.intf.abap) | [`sajt-v1.json`](./sajt-v1.json) | [`z_aff_example_sajt.sajt.json`](./examples/z_aff_example_sajt.sajt.json) +File | Cardinality | Definition | Schema | Example +:--- | :--- | :--- | :--- | :--- +`.sajt.json` | 1 | [`zif_aff_sajt_v1.intf.abap`](./type/zif_aff_sajt_v1.intf.abap) | [`sajt-v1.json`](./sajt-v1.json) | [`z_aff_example_sajt.sajt.json`](./examples/z_aff_example_sajt.sajt.json) diff --git a/file-formats/sajt/examples/z_aff_example_sajt.sajt.json b/file-formats/sajt/examples/z_aff_example_sajt.sajt.json index 545341ea8..9d4c8fc26 100644 --- a/file-formats/sajt/examples/z_aff_example_sajt.sajt.json +++ b/file-formats/sajt/examples/z_aff_example_sajt.sajt.json @@ -5,52 +5,38 @@ "originalLanguage": "en" }, "catalogName": "JCE_APJ_SIMPLE", - "parameters": [ - { - "name": "P_COUNT", - "valueRanges": [ - { - "sign": "include", - "option": "equals", - "low": "200" - } - ] - }, - { - "name": "P_DESCR", - "valueRanges": [ - { - "sign": "include", - "option": "equals", - "low": "My Default Description" - } - ] - }, - { - "name": "P_SIMUL", - "valueRanges": [ - { - "sign": "include", - "option": "equals", - "low": "X" - } - ] - }, - { - "name": "S_ID", - "valueRanges": [ - { - "sign": "include", - "option": "equals", - "low": "4711" - }, - { - "sign": "include", - "option": "between", - "low": "AAA", - "high": "ZZZ" - } - ] - } - ] + "parameters": { + "singleValueParameters": [ + { + "name": "P_COUNT", + "value": "200" + }, + { + "name": "P_DESCR", + "value": "My Default Description" + }, + { + "name": "P_SIMUL", + "value": "X" + } + ], + "valueRangesParameters": [ + { + "name": "S_ID", + "valueRanges": [ + { + "sign": "include", + "option": "equals", + "low": "4711" + }, + { + "sign": "include", + "option": "between", + "low": "AAA", + "high": "ZZZ" + } + ] + } + ] + } } diff --git a/file-formats/sajt/sajt-v1.json b/file-formats/sajt/sajt-v1.json index a2b517e4c..e01f22ff1 100644 --- a/file-formats/sajt/sajt-v1.json +++ b/file-formats/sajt/sajt-v1.json @@ -57,7 +57,7 @@ ] }, "catalogName": { - "title": "Application Job Catalog Entry", + "title": "Job Catalog Entry", "description": "Name of the application job catalog entry to which the template refers", "type": "string", "maxLength": 40 @@ -65,112 +65,149 @@ "parameters": { "title": "Parameters", "description": "Parameters of the class which runs within the job", - "type": "array", - "items": { - "title": "Parameter Name and Values", - "description": "Name of the parameter and its values as ranges table", - "type": "object", - "properties": { - "name": { - "title": "Parameter Name", - "description": "Name of the parameter", - "type": "string", - "maxLength": 8 - }, - "valueRanges": { - "title": "Values", - "description": "Values of the parameter as ranges table", - "type": "array", - "items": { - "title": "Entry of Ranges Table", - "description": "Entry of ranges table", - "type": "object", - "properties": { - "sign": { - "title": "Sign", - "description": "Include/exclude values (I/E)", - "type": "string", - "enum": [ - "include", - "exclude" - ], - "enumTitles": [ - "Include", - "Exclude" - ], - "enumDescriptions": [ - "Include", - "Exclude" - ] - }, - "option": { - "title": "Option", - "description": "Operator of the ranges condition (EQ/NE/GE/GT/LE/LT/CP/NP/BT/NB)", - "type": "string", - "enum": [ - "equals", - "between", - "greaterThan", - "containsPattern", - "notEqual", - "notBetween", - "notContainsPattern", - "greaterEqual", - "lessThan", - "lessEqual" - ], - "enumTitles": [ - "Equals", - "Between", - "Greater Than", - "Contains Pattern", - "Not Equal", - "Not Between", - "Not Contains Pattern", - "Greater Equal", - "Less Than", - "Less Equal" - ], - "enumDescriptions": [ - "Equals", - "Between", - "Greater than", - "Contains pattern", - "Not equal", - "Not between", - "Not contains pattern", - "Greater equal", - "Less than", - "Less equal" - ] - }, - "low": { - "title": "Low Value", - "description": "Low value of the ranges condition", - "type": "string", - "maxLength": 255 - }, - "high": { - "title": "High Value", - "description": "High value of the ranges condition", - "type": "string", - "maxLength": 255 - } + "type": "object", + "properties": { + "singleValueParameters": { + "title": "Parameters with Single Value", + "description": "List of parameters with single value", + "type": "array", + "items": { + "title": "Parameter Details", + "description": "Name of the parameter and its value", + "type": "object", + "properties": { + "name": { + "title": "Name", + "description": "Name of the parameter", + "type": "string", + "maxLength": 8 }, - "additionalProperties": false, - "required": [ - "sign", - "option" - ] - } + "value": { + "title": "Value", + "description": "Value of the parameter", + "type": "string", + "maxLength": 255 + } + }, + "additionalProperties": false, + "required": [ + "name", + "value" + ] } }, - "additionalProperties": false, - "required": [ - "name", - "valueRanges" - ] - } + "valueRangesParameters": { + "title": "Parameters with Value Ranges", + "description": "List of parameters with value ranges", + "type": "array", + "items": { + "title": "Parameter Details", + "description": "Name of the parameter and its values as ranges table", + "type": "object", + "properties": { + "name": { + "title": "Name", + "description": "Name of the parameter", + "type": "string", + "maxLength": 8 + }, + "valueRanges": { + "title": "Values", + "description": "Values of the parameter as ranges table", + "type": "array", + "items": { + "title": "Entry of Ranges Table", + "description": "Entry of ranges table", + "type": "object", + "properties": { + "sign": { + "title": "Sign", + "description": "Include/exclude values (I/E)", + "type": "string", + "enum": [ + "include", + "exclude" + ], + "enumTitles": [ + "Include", + "Exclude" + ], + "enumDescriptions": [ + "Include", + "Exclude" + ] + }, + "option": { + "title": "Option", + "description": "Operator of the ranges condition (EQ/NE/GE/GT/LE/LT/CP/NP/BT/NB)", + "type": "string", + "enum": [ + "equals", + "between", + "greaterThan", + "containsPattern", + "notEqual", + "notBetween", + "notContainsPattern", + "greaterEqual", + "lessThan", + "lessEqual" + ], + "enumTitles": [ + "Equals", + "Between", + "Greater Than", + "Contains Pattern", + "Not Equal", + "Not Between", + "Not Contains Pattern", + "Greater Equal", + "Less Than", + "Less Equal" + ], + "enumDescriptions": [ + "Equals", + "Between", + "Greater than", + "Contains pattern", + "Not equal", + "Not between", + "Not contains pattern", + "Greater equal", + "Less than", + "Less equal" + ] + }, + "low": { + "title": "Low Value", + "description": "Low value of the ranges condition", + "type": "string", + "maxLength": 255 + }, + "high": { + "title": "High Value", + "description": "High value of the ranges condition", + "type": "string", + "maxLength": 255 + } + }, + "additionalProperties": false, + "required": [ + "sign", + "option" + ] + } + } + }, + "additionalProperties": false, + "required": [ + "name", + "valueRanges" + ] + } + } + }, + "additionalProperties": false } }, "additionalProperties": false, diff --git a/file-formats/sajt/type/zif_aff_sajt_v1.intf.abap b/file-formats/sajt/type/zif_aff_sajt_v1.intf.abap index f306be4af..2f68e7f95 100644 --- a/file-formats/sajt/type/zif_aff_sajt_v1.intf.abap +++ b/file-formats/sajt/type/zif_aff_sajt_v1.intf.abap @@ -17,7 +17,7 @@ INTERFACE zif_aff_sajt_v1 "! ABAP language version "! $values {@link zif_aff_types_v1.data:co_abap_language_version_cloud} "! $default {@link zif_aff_types_v1.data:co_abap_language_version_cloud.standard} - abap_language_version TYPE zif_aff_types_v1=>ty_abap_language_version, + abap_language_version TYPE zif_aff_types_v1=>ty_abap_language_version_cloud, END OF ty_header. TYPES: @@ -45,17 +45,34 @@ INTERFACE zif_aff_sajt_v1 "! High value of the ranges condition high TYPE c LENGTH 255, END OF ty_value_range_entry. - TYPES: "!

Parameter Values

"! Parameter values as ranges table ty_value_ranges_table TYPE STANDARD TABLE OF ty_value_range_entry WITH DEFAULT KEY. TYPES: - "!

Parameter Name and Values

+ "!

Parameter Details

+ "! Name of the parameter and its value + BEGIN OF ty_single_value_parameter, + "!

Name

+ "! Name of the parameter + "! $required + name TYPE c LENGTH 8, + "!

Value

+ "! Value of the parameter + "! $required + value TYPE c LENGTH 255, + END OF ty_single_value_parameter. + TYPES: + "!

Table of Parameters with Single Value

+ "! Table of parameters with single value + ty_single_value_param_table TYPE STANDARD TABLE OF ty_single_value_parameter WITH KEY name. + + TYPES: + "!

Parameter Details

"! Name of the parameter and its values as ranges table - BEGIN OF ty_parameter, - "!

Parameter Name

+ BEGIN OF ty_value_ranges_parameter, + "!

Name

"! Name of the parameter "! $required name TYPE c LENGTH 8, @@ -63,12 +80,23 @@ INTERFACE zif_aff_sajt_v1 "! Values of the parameter as ranges table "! $required value_ranges TYPE ty_value_ranges_table, - END OF ty_parameter. + END OF ty_value_ranges_parameter. + TYPES: + "!

Table of Parameters with Value Ranges

+ "! Table of parameters with value ranges + ty_value_ranges_param_table TYPE STANDARD TABLE OF ty_value_ranges_parameter WITH KEY name. TYPES: - "!

Parameter Table

- "! Table of parameters - ty_parameter_table TYPE STANDARD TABLE OF ty_parameter WITH KEY name. + "!

Parameters

+ "! List of parameters + BEGIN OF ty_parameters, + "!

Parameters with Single Value

+ "! List of parameters with single value + single_value_parameters TYPE ty_single_value_param_table, + "!

Parameters with Value Ranges

+ "! List of parameters with value ranges + value_ranges_parameters TYPE ty_value_ranges_param_table, + END OF ty_parameters. TYPES: "!

Application Job Template

@@ -80,13 +108,12 @@ INTERFACE zif_aff_sajt_v1 "! Header "! $required header TYPE ty_header, - "!

Application Job Catalog Entry

+ "!

Job Catalog Entry

"! Name of the application job catalog entry to which the template refers "! $required catalog_name TYPE ty_catalog_name, "!

Parameters

"! Parameters of the class which runs within the job - parameters TYPE ty_parameter_table, + parameters TYPE ty_parameters, END OF ty_main. - ENDINTERFACE.