diff --git a/file-formats/sajc/examples/z_aff_example_sajc.sajc.json b/file-formats/sajc/examples/z_aff_example_sajc.sajc.json index 6364f67b4..846c65347 100644 --- a/file-formats/sajc/examples/z_aff_example_sajc.sajc.json +++ b/file-formats/sajc/examples/z_aff_example_sajc.sajc.json @@ -1,15 +1,107 @@ { "formatVersion": "1", "header": { - "description": "Example for CL_APJ_SIMPLE", + "description": "Catalog Entry of CL_APJ_DEMO_REPORT", "originalLanguage": "en" }, "generalInformation": { - "className": "CL_APJ_SIMPLE" + "className": "CL_APJ_DEMO_REPORT" }, "exitClasses": { - "check": "CL_CHECK_APJ_SIMPLE", + "check": "CL_APJ_HOME_DEMO_CHECK", "valueHelp": "CL_VALUE_HELP_APJ_SIMPLE", - "notification": "CL_APJ_HOME_DEMO_CHECK" - } + "notification": "CL_APJ_HOME_DEMO_CHECK", + "delete": "CL_APJT_RT_JOB_DELETE_EXIT" + }, + "sections": [ + { + "name": "1", + "title": "Customer Section" + }, + { + "name": "2", + "title": "General Section" + } + ], + "groups": [ + { + "name": "GRP_BUYER", + "title": "Buyer", + "section": "1" + }, + { + "name": "GRP_SELLER", + "title": "Seller", + "section": "1" + }, + { + "name": "GRP_GEN", + "title": "General", + "section": "2" + } + ], + "parameters": [ + { + "name": "P_BUY_C", + "group": "GRP_BUYER" + }, + { + "name": "S_PLANT", + "group": "GRP_BUYER", + "indented": true, + "enabledByParameter": "P_BUY_C" + }, + { + "name": "P_BUY_D", + "group": "GRP_BUYER", + "indented": true, + "mandatory": true, + "enabledByParameter": "P_BUY_C" + }, + { + "name": "P_SEL_C", + "group": "GRP_SELLER" + }, + { + "name": "P_INCR", + "group": "GRP_SELLER", + "indented": true, + "enabledByParameter": "P_SEL_C", + "backendCall": true + }, + { + "name": "P_SEV_N", + "group": "GRP_GEN" + }, + { + "name": "P_SEV_S", + "group": "GRP_GEN" + }, + { + "name": "P_SEV_I", + "group": "GRP_GEN" + }, + { + "name": "P_SEV_E", + "group": "GRP_GEN" + }, + { + "name": "P_SEV_A", + "group": "GRP_GEN" + }, + { + "name": "P_TEXT", + "group": "GRP_GEN", + "mandatory": true, + "textEditorLines": 4 + }, + { + "name": "P_JOB_T", + "group": "GRP_GEN" + }, + { + "name": "P_SEV_IN", + "hidden": true + } + ] } diff --git a/file-formats/sajc/sajc-v1.json b/file-formats/sajc/sajc-v1.json index 212ba9495..896ef57d6 100644 --- a/file-formats/sajc/sajc-v1.json +++ b/file-formats/sajc/sajc-v1.json @@ -101,9 +101,150 @@ "description": "Name of the class which contains the notification exit", "type": "string", "maxLength": 30 + }, + "delete": { + "title": "Delete", + "description": "Name of the class which contains the delete exit", + "type": "string", + "maxLength": 30 } }, "additionalProperties": false + }, + "sections": { + "title": "Sections", + "description": "List of sections", + "type": "array", + "items": { + "title": "Section", + "description": "Section of parameter groups on the selection screen", + "type": "object", + "properties": { + "name": { + "title": "Name", + "description": "Name of the section", + "type": "string", + "maxLength": 10 + }, + "title": { + "title": "Title", + "description": "Title of the section on the selection screen", + "type": "string", + "maxLength": 120 + } + }, + "additionalProperties": false, + "required": [ + "name", + "title" + ] + } + }, + "groups": { + "title": "Groups", + "description": "List of groups", + "type": "array", + "items": { + "title": "Group", + "description": "Group of parameters on the selection screen", + "type": "object", + "properties": { + "name": { + "title": "Name", + "description": "Name of the group", + "type": "string", + "maxLength": 10 + }, + "title": { + "title": "Title", + "description": "Title of the group on the selection screen", + "type": "string", + "maxLength": 120 + }, + "section": { + "title": "Section", + "description": "Name of the group section", + "type": "string", + "maxLength": 10 + } + }, + "additionalProperties": false, + "required": [ + "name", + "title" + ] + } + }, + "parameters": { + "title": "Parameters", + "description": "List of parameters", + "type": "array", + "items": { + "title": "Parameter", + "description": "Parameter of the class which is executed within the job", + "type": "object", + "properties": { + "name": { + "title": "Name", + "description": "Name of the parameter", + "type": "string", + "maxLength": 38 + }, + "group": { + "title": "Group", + "description": "Name of the parameter group", + "type": "string", + "maxLength": 10 + }, + "indented": { + "title": "Indented", + "description": "Flag indicating whether the parameter is indented on the selection screen", + "type": "boolean" + }, + "mandatory": { + "title": "Mandatory", + "description": "Flag indicating whether the parameter is mandatory", + "type": "boolean" + }, + "hidden": { + "title": "Hidden", + "description": "Flag indicating whether the parameter is hidden", + "type": "boolean" + }, + "readOnly": { + "title": "Read Only", + "description": "Flag indicating whether the parameter is read only", + "type": "boolean" + }, + "enabledByParameter": { + "title": "Enabled By Parameter", + "description": "Name of the boolean parameter which enables / disables the current parameter", + "type": "string", + "maxLength": 38 + }, + "backendCall": { + "title": "Backend Call", + "description": "Flag indicating whether a call of the backend system is triggered after a parameter value change to check it", + "type": "boolean" + }, + "singleValues": { + "title": "Only Single Values", + "description": "Flag indicating whether only single values are allowed (no conditions like 'not equal' or 'between')", + "type": "boolean" + }, + "textEditorLines": { + "title": "Text Lines in Editor", + "description": "Number of lines of the text editor (0 means no multiline editor)", + "type": "integer", + "minimum": 0, + "maximum": 20 + } + }, + "additionalProperties": false, + "required": [ + "name" + ] + } } }, "additionalProperties": false, diff --git a/file-formats/sajc/type/zif_aff_sajc_v1.intf.abap b/file-formats/sajc/type/zif_aff_sajc_v1.intf.abap index 16a62352d..cc7be4c9f 100644 --- a/file-formats/sajc/type/zif_aff_sajc_v1.intf.abap +++ b/file-formats/sajc/type/zif_aff_sajc_v1.intf.abap @@ -24,6 +24,19 @@ INTERFACE zif_aff_sajc_v1 "! Name of the program TYPES ty_program_name TYPE c LENGTH 40. + TYPES: + "!

General Information

+ "! General information + BEGIN OF ty_general_information, + "!

Class with Execute Method

+ "! Name of the class which contains the execute-method to run within the job + "! $required + class_name TYPE zif_aff_types_v1=>ty_object_name_30, + "!

Executed Program

+ "! Name of the program which is executed within the job + program_name TYPE ty_program_name, + END OF ty_general_information. + TYPES: "!

Exit Classes

"! Classes which contain the exits of the job scheduling and processing @@ -37,20 +50,105 @@ INTERFACE zif_aff_sajc_v1 "!

Notification

"! Name of the class which contains the notification exit notification TYPE zif_aff_types_v1=>ty_object_name_30, + "!

Delete

+ "! Name of the class which contains the delete exit + delete TYPE zif_aff_types_v1=>ty_object_name_30, END OF ty_exit_classes. + "!

Parameter Name

+ "! Name of the parameter + TYPES ty_parameter_name TYPE c LENGTH 38. + "!

Group Name

+ "! Name of the group + TYPES ty_group_name TYPE c LENGTH 10. + "!

Section Name

+ "! Name of the section + TYPES ty_section_name TYPE c LENGTH 10. + "!

Title Text

+ "! Text of the title + TYPES ty_title_text TYPE c LENGTH 120. + TYPES: - "!

General Information

- "! General information - BEGIN OF ty_general_information, - "!

Class with Execute Method

- "! Name of the class which contains the execute-method to run within the job + "!

Parameter

+ "! Parameter of the class which is executed within the job + BEGIN OF ty_parameter, + "!

Name

+ "! Name of the parameter "! $required - class_name TYPE zif_aff_types_v1=>ty_object_name_30, - "!

Executed Program

- "! Name of the program which is executed within the job - program_name TYPE ty_program_name, - END OF ty_general_information. + name TYPE ty_parameter_name, + "!

Group

+ "! Name of the parameter group + group TYPE ty_group_name, + "!

Indented

+ "! Flag indicating whether the parameter is indented on the selection screen + indented TYPE abap_bool, + "!

Mandatory

+ "! Flag indicating whether the parameter is mandatory + mandatory TYPE abap_bool, + "!

Hidden

+ "! Flag indicating whether the parameter is hidden + hidden TYPE abap_bool, + "!

Read Only

+ "! Flag indicating whether the parameter is read only + read_only TYPE abap_bool, + "!

Enabled By Parameter

+ "! Name of the boolean parameter which enables / disables the current parameter + enabled_by_parameter TYPE ty_parameter_name, + "!

Backend Call

+ "! Flag indicating whether a call of the backend system is triggered after a parameter value change to check it + backend_call TYPE abap_bool, + "!

Only Single Values

+ "! Flag indicating whether only single values are allowed (no conditions like 'not equal' or 'between') + single_values TYPE abap_bool, + "!

Text Lines in Editor

+ "! Number of lines of the text editor (0 means no multiline editor) + "! $minimum 0 + "! $maximum 20 + text_editor_lines TYPE i, + END OF ty_parameter. + TYPES: + "!

Parameters

+ "! List of parameters + ty_parameter_table TYPE STANDARD TABLE OF ty_parameter WITH KEY name. + + TYPES: + "!

Group

+ "! Group of parameters on the selection screen + BEGIN OF ty_group, + "!

Name

+ "! Name of the group + "! $required + name TYPE ty_group_name, + "!

Title

+ "! Title of the group on the selection screen + "! $required + title TYPE ty_title_text, + "!

Section

+ "! Name of the group section + section TYPE ty_section_name, + END OF ty_group. + TYPES: + "!

Groups

+ "! List of groups + ty_group_table TYPE STANDARD TABLE OF ty_group WITH KEY name. + + TYPES: + "!

Section

+ "! Section of parameter groups on the selection screen + BEGIN OF ty_section, + "!

Name

+ "! Name of the section + "! $required + name TYPE ty_section_name, + "!

Title

+ "! Title of the section on the selection screen + "! $required + title TYPE ty_title_text, + END OF ty_section. + TYPES: + "!

Sections

+ "! List of sections + ty_section_table TYPE STANDARD TABLE OF ty_section WITH KEY name. TYPES: "!

Application Job Catalog Entry

@@ -69,5 +167,14 @@ INTERFACE zif_aff_sajc_v1 "!

Exit Classes

"! Classes which contain the exits of the job scheduling and processing exit_classes TYPE ty_exit_classes, + "!

Sections

+ "! List of sections + sections TYPE ty_section_table, + "!

Groups

+ "! List of groups + groups TYPE ty_group_table, + "!

Parameters

+ "! List of parameters + parameters TYPE ty_parameter_table, END OF ty_main. ENDINTERFACE.