diff --git a/default-2.113.10.json b/default-2.113.10.json new file mode 100644 index 0000000..5a92889 --- /dev/null +++ b/default-2.113.10.json @@ -0,0 +1,1116 @@ +{ + "global": { + "files": "/src/**/*.*", + "exclude": [], + "noIssues": [], + "skipGeneratedBOPFInterfaces": false, + "skipGeneratedFunctionGroups": false, + "skipGeneratedGatewayClasses": false, + "skipGeneratedPersistentClasses": false, + "skipGeneratedProxyClasses": false, + "skipGeneratedProxyInterfaces": false, + "useApackDependencies": false, + "skipIncludesWithoutMain": false + }, + "dependencies": [ + { + "url": "https://github.com/abaplint/deps", + "folder": "/deps", + "files": "/src/**/*.*" + } + ], + "syntax": { + "version": "v758", + "errorNamespace": "^(Z|Y|LCL_|TY_|LIF_)", + "globalConstants": [], + "globalMacros": [] + }, + "rules": { + "7bit_ascii": { + "exclude": [], + "severity": "Error" + }, + "abapdoc": { + "exclude": [], + "severity": "Error", + "checkLocal": false, + "classDefinition": false, + "interfaceDefinition": false, + "ignoreTestClasses": true + }, + "add_test_attributes": { + "exclude": [], + "severity": "Error" + }, + "align_parameters": { + "exclude": [], + "severity": "Error" + }, + "align_pseudo_comments": { + "exclude": [], + "severity": "Error" + }, + "align_type_expressions": { + "exclude": [], + "severity": "Error", + "ignoreExceptions": true + }, + "allowed_object_naming": { + "exclude": [], + "severity": "Error" + }, + "allowed_object_types": { + "exclude": [], + "severity": "Error", + "allowed": [] + }, + "ambiguous_statement": { + "exclude": [], + "severity": "Error" + }, + "avoid_use": { + "exclude": [], + "severity": "Error", + "skipQuickFix": false, + "define": true, + "statics": true, + "defaultKey": true, + "break": true, + "testSeams": true, + "describeLines": true, + "exportToMemory": true, + "exportToDatabase": true + }, + "begin_end_names": { + "exclude": [], + "severity": "Error" + }, + "begin_single_include": { + "exclude": [], + "severity": "Error" + }, + "call_transaction_authority_check": { + "exclude": [], + "severity": "Error" + }, + "cds_comment_style": { + "exclude": [], + "severity": "Error" + }, + "cds_legacy_view": { + "exclude": [], + "severity": "Error" + }, + "cds_parser_error": { + "exclude": [], + "severity": "Error" + }, + "chain_mainly_declarations": { + "exclude": [], + "severity": "Error", + "definitions": true, + "write": true, + "move": true, + "refresh": true, + "unassign": true, + "clear": true, + "hide": true, + "free": true, + "include": true, + "check": true, + "sort": true + }, + "change_if_to_case": { + "exclude": [], + "severity": "Error", + "skipNames": [] + }, + "check_abstract": { + "exclude": [], + "severity": "Error" + }, + "check_comments": { + "exclude": [], + "severity": "Error", + "allowEndOfLine": false + }, + "check_ddic": { + "exclude": [], + "severity": "Error" + }, + "check_include": { + "exclude": [], + "severity": "Error" + }, + "check_subrc": { + "exclude": [], + "severity": "Error", + "openDataset": true, + "authorityCheck": true, + "selectSingle": true, + "selectTable": true, + "updateDatabase": true, + "insertDatabase": true, + "modifyDatabase": true, + "readTable": true, + "assign": true, + "find": true + }, + "check_syntax": { + "exclude": [], + "severity": "Error" + }, + "check_text_elements": { + "exclude": [], + "severity": "Error" + }, + "check_transformation_exists": { + "exclude": [], + "severity": "Error" + }, + "class_attribute_names": { + "exclude": [], + "severity": "Error", + "patternKind": "required", + "ignoreNames": [], + "ignorePatterns": [], + "ignoreExceptions": true, + "ignoreLocal": true, + "ignoreInterfaces": false, + "statics": "^G._.+$", + "instance": "^M._.+$", + "constants": "" + }, + "classic_exceptions_overlap": { + "exclude": [], + "severity": "Error" + }, + "cloud_types": { + "exclude": [], + "severity": "Error" + }, + "colon_missing_space": { + "exclude": [], + "severity": "Error" + }, + "commented_code": { + "exclude": [], + "severity": "Error", + "allowIncludeInFugr": true + }, + "constant_classes": { + "exclude": [], + "severity": "Error", + "mapping": [] + }, + "constructor_visibility_public": { + "exclude": [], + "severity": "Error" + }, + "contains_tab": { + "exclude": [], + "severity": "Error", + "spaces": 1 + }, + "cyclic_oo": { + "exclude": [], + "severity": "Error", + "skip": [], + "skipSharedMemory": true, + "skipTestclasses": true + }, + "cyclomatic_complexity": { + "exclude": [], + "severity": "Error", + "max": 20 + }, + "dangerous_statement": { + "exclude": [], + "severity": "Error", + "execSQL": true, + "kernelCall": true, + "systemCall": true, + "insertReport": true, + "generateDynpro": true, + "generateReport": true, + "generateSubroutine": true, + "deleteReport": true, + "deleteTextpool": true, + "insertTextpool": true, + "deleteDynpro": true, + "exportDynpro": true, + "dynamicSQL": true + }, + "db_operation_in_loop": { + "exclude": [], + "severity": "Error" + }, + "definitions_top": { + "exclude": [], + "severity": "Error" + }, + "description_empty": { + "exclude": [], + "severity": "Error" + }, + "double_space": { + "exclude": [], + "severity": "Error", + "keywords": true, + "skipKeywords": [ + "CHANGING", + "EXPORTING", + "OTHERS" + ], + "startParen": true, + "endParen": true, + "afterColon": true + }, + "downport": { + "exclude": [], + "severity": "Error" + }, + "dynpro_checks": { + "exclude": [], + "severity": "Error" + }, + "easy_to_find_messages": { + "exclude": [], + "severity": "Error" + }, + "empty_event": { + "exclude": [], + "severity": "Error" + }, + "empty_line_in_statement": { + "exclude": [], + "severity": "Error", + "allowChained": false + }, + "empty_statement": { + "exclude": [], + "severity": "Error" + }, + "empty_structure": { + "exclude": [], + "severity": "Error", + "loop": true, + "loopAllowIfSubrc": true, + "if": true, + "while": true, + "case": true, + "select": true, + "do": true, + "at": true, + "try": true, + "when": true + }, + "exit_or_check": { + "exclude": [], + "severity": "Error", + "allowExit": false, + "allowCheck": false + }, + "expand_macros": { + "exclude": [], + "severity": "Error" + }, + "exporting": { + "exclude": [], + "severity": "Error" + }, + "forbidden_identifier": { + "exclude": [], + "severity": "Error", + "check": [] + }, + "forbidden_pseudo_and_pragma": { + "exclude": [], + "severity": "Error", + "pseudo": [ + "\"#EC *" + ], + "pragmas": [], + "ignoreGlobalClassDefinition": false, + "ignoreGlobalInterface": false + }, + "forbidden_void_type": { + "exclude": [], + "severity": "Error", + "check": [] + }, + "form_tables_obsolete": { + "exclude": [], + "severity": "Error" + }, + "fully_type_constants": { + "exclude": [], + "severity": "Error", + "checkData": true + }, + "fully_type_itabs": { + "exclude": [], + "severity": "Error" + }, + "function_module_recommendations": { + "exclude": [], + "severity": "Error", + "recommendations": [ + { + "name": "CALCULATE_HASH_FOR_RAW", + "replace": "use CL_ABAP_HMAC or CL_ABAP_MESSAGE_DIGEST" + }, + { + "name": "CCU_TIMESTAMP_DIFFERENCE", + "replace": "use CL_ABAP_TSTMP" + }, + { + "name": "CONVERT_DATE_TO_EXTERNAL", + "replace": "use CL_ABAP_DATFM" + }, + { + "name": "CONVERT_TIME_INPUT", + "replace": "use CL_ABAP_TIMEFM" + }, + { + "name": "ECATT_CONV_XSTRING_TO_STRING", + "replace": "use CL_BINARY_CONVERT" + }, + { + "name": "F4_FILENAME", + "replace": "use CL_GUI_FRONTEND_SERVICES" + }, + { + "name": "FUNCTION_EXISTS", + "replace": "surround with try-catch CX_SY_DYN_CALL_ILLEGAL_METHOD instead" + }, + { + "name": "GUI_DOWNLOAD", + "replace": "use CL_GUI_FRONTEND_SERVICES" + }, + { + "name": "GUI_UPLOAD", + "replace": "use CL_GUI_FRONTEND_SERVICES" + }, + { + "name": "GUID_CREATE", + "replace": "use CL_SYSTEM_UUID" + }, + { + "name": "IGN_TIMESTAMP_DIFFERENCE", + "replace": "use CL_ABAP_TSTMP" + }, + { + "name": "IGN_TIMESTAMP_PLUSMINUS", + "replace": "use CL_ABAP_TSTMP" + }, + { + "name": "ISM_SD_GET_PRICING_CONDITIONS", + "replace": "use CL_PRC_RESULT_FACTORY as per note 2220005" + }, + { + "name": "JOB_CREATE", + "replace": "use CL_BP_ABAP_JOB" + }, + { + "name": "JOB_SUBMIT", + "replace": "use CL_BP_ABAP_JOB" + }, + { + "name": "POPUP_TO_CONFIRM_STEP", + "replace": "use POPUP_TO_CONFIRM" + }, + { + "name": "POPUP_TO_DECIDE", + "replace": "use POPUP_TO_CONFIRM" + }, + { + "name": "POPUP_TO_GET_VALUE", + "replace": "use POPUP_GET_VALUES" + }, + { + "name": "QF05_RANDOM_INTEGER", + "replace": "use CL_ABAP_RANDOM_INT" + }, + { + "name": "REUSE_ALV_GRID_DISPLAY", + "replace": "use CL_SALV_TABLE=>FACTORY or CL_GUI_ALV_GRID" + }, + { + "name": "ROUND", + "replace": "use built in function: round()" + }, + { + "name": "SAPGUI_PROGRESS_INDICATOR", + "replace": "use CL_PROGRESS_INDICATOR" + }, + { + "name": "SCMS_BASE64_DECODE_STR", + "replace": "use class CL_HTTP_UTILITY methods" + }, + { + "name": "SCMS_STRING_TO_XSTRING", + "replace": "use CL_BINARY_CONVERT" + }, + { + "name": "SO_NEW_DOCUMENT_ATT_SEND_API1", + "replace": "use CL_BCS" + }, + { + "name": "SSFC_BASE64_DECODE", + "replace": "use class CL_HTTP_UTILITY methods" + }, + { + "name": "SSFC_BASE64_ENCODE", + "replace": "use class CL_HTTP_UTILITY methods" + }, + { + "name": "SUBST_GET_FILE_LIST", + "replace": "see note 1686357" + }, + { + "name": "WS_FILENAME_GET", + "replace": "use CL_GUI_FRONTEND_SERVICES" + } + ] + }, + "functional_writing": { + "exclude": [], + "severity": "Error", + "ignoreExceptions": true + }, + "global_class": { + "exclude": [], + "severity": "Error" + }, + "identical_conditions": { + "exclude": [], + "severity": "Error" + }, + "identical_contents": { + "exclude": [], + "severity": "Error" + }, + "identical_descriptions": { + "exclude": [], + "severity": "Error" + }, + "identical_form_names": { + "exclude": [], + "severity": "Error" + }, + "if_in_if": { + "exclude": [], + "severity": "Error" + }, + "implement_methods": { + "exclude": [], + "severity": "Error" + }, + "implicit_start_of_selection": { + "exclude": [], + "severity": "Error" + }, + "in_statement_indentation": { + "exclude": [], + "severity": "Error", + "blockStatements": 2, + "ignoreExceptions": true + }, + "indentation": { + "exclude": [], + "severity": "Error", + "ignoreExceptions": true, + "alignTryCatch": false, + "selectionScreenBlockIndentation": false, + "globalClassSkipFirst": false, + "ignoreGlobalClassDefinition": false, + "ignoreGlobalInterface": false + }, + "inline_data_old_versions": { + "exclude": [], + "severity": "Error" + }, + "intf_referencing_clas": { + "exclude": [], + "severity": "Error", + "allow": [] + }, + "invalid_table_index": { + "exclude": [], + "severity": "Error" + }, + "keep_single_parameter_on_one_line": { + "exclude": [], + "severity": "Error", + "length": 120 + }, + "keyword_case": { + "exclude": [], + "severity": "Error", + "style": "upper", + "ignoreExceptions": true, + "ignoreLowerClassImplmentationStatement": true, + "ignoreGlobalClassDefinition": false, + "ignoreGlobalInterface": false, + "ignoreFunctionModuleName": false, + "ignoreGlobalClassBoundaries": false, + "ignoreKeywords": [] + }, + "line_break_multiple_parameters": { + "exclude": [], + "severity": "Error", + "count": 1 + }, + "line_break_style": { + "exclude": [], + "severity": "Error" + }, + "line_length": { + "exclude": [], + "severity": "Error", + "length": 120 + }, + "line_only_punc": { + "exclude": [], + "severity": "Error", + "ignoreExceptions": true + }, + "local_class_naming": { + "exclude": [], + "severity": "Error", + "patternKind": "required", + "ignoreNames": [], + "ignorePatterns": [], + "local": "^LCL_.+$", + "exception": "^LCX_.+$", + "test": "^LTCL_.+$" + }, + "local_testclass_consistency": { + "exclude": [], + "severity": "Error" + }, + "local_variable_names": { + "exclude": [], + "severity": "Error", + "patternKind": "required", + "ignoreNames": [], + "ignorePatterns": [], + "expectedData": "^L._.+$", + "expectedConstant": "^LC_.+$", + "expectedFS": "^$" + }, + "macro_naming": { + "exclude": [], + "severity": "Error", + "pattern": "^_.+$" + }, + "main_file_contents": { + "exclude": [], + "severity": "Error" + }, + "many_parentheses": { + "exclude": [], + "severity": "Error" + }, + "max_one_method_parameter_per_line": { + "exclude": [], + "severity": "Error" + }, + "max_one_statement": { + "exclude": [], + "severity": "Error" + }, + "message_exists": { + "exclude": [], + "severity": "Error", + "checkPlaceholders": true + }, + "method_implemented_twice": { + "exclude": [], + "severity": "Error" + }, + "method_length": { + "exclude": [], + "severity": "Error", + "statements": 100, + "errorWhenEmpty": true, + "ignoreTestClasses": false, + "checkForms": true + }, + "method_overwrites_builtin": { + "exclude": [], + "severity": "Error" + }, + "method_parameter_names": { + "exclude": [], + "severity": "Error", + "patternKind": "required", + "ignoreNames": [], + "ignorePatterns": [], + "ignoreExceptions": true, + "importing": "^I._.+$", + "returning": "^R._.+$", + "changing": "^C._.+$", + "exporting": "^E._.+$" + }, + "mix_returning": { + "exclude": [], + "severity": "Error" + }, + "modify_only_own_db_tables": { + "exclude": [], + "severity": "Error", + "reportDynamic": true, + "ownTables": "^[yz]" + }, + "msag_consistency": { + "exclude": [], + "severity": "Error", + "numericParameters": true + }, + "names_no_dash": { + "exclude": [], + "severity": "Error" + }, + "nesting": { + "exclude": [], + "severity": "Error", + "depth": 5 + }, + "newline_between_methods": { + "exclude": [], + "severity": "Error", + "count": 3, + "logic": "less" + }, + "no_aliases": { + "exclude": [], + "severity": "Error" + }, + "no_chained_assignment": { + "exclude": [], + "severity": "Error" + }, + "no_external_form_calls": { + "exclude": [], + "severity": "Error" + }, + "no_inline_in_optional_branches": { + "exclude": [], + "severity": "Error" + }, + "no_prefixes": { + "exclude": [], + "severity": "Error", + "data": "^[LGM].?_", + "statics": "^S.?_", + "fieldSymbols": "^<[LGM].?_", + "constants": "^[LGM]?C.?_", + "types": "^TY_", + "methodParameters": "^[ICER].?_", + "allowIsPrefixBoolean": true + }, + "no_public_attributes": { + "exclude": [], + "severity": "Error", + "allowReadOnly": false, + "ignoreTestClasses": false + }, + "no_yoda_conditions": { + "exclude": [], + "severity": "Error", + "onlyConstants": false + }, + "nrob_consistency": { + "exclude": [], + "severity": "Error" + }, + "object_naming": { + "exclude": [], + "severity": "Error", + "patternKind": "required", + "ignoreNames": [], + "ignorePatterns": [], + "clas": "^ZC(L|X)", + "intf": "^ZIF", + "prog": "^Z", + "fugr": "^Z", + "tabl": "^Z", + "ttyp": "^Z", + "dtel": "^Z", + "doma": "^Z", + "msag": "^Z", + "tran": "^Z", + "enqu": "^EZ", + "auth": "^Z", + "pinf": "^Z", + "idoc": "^Z", + "xslt": "^Z", + "ssfo": "^Z", + "ssst": "^Z", + "shlp": "^Z", + "sxci": "^Z", + "enhs": "^Z", + "enho": "^Z", + "cmod": "^Z", + "form": "^Z", + "sfpf": "^Z", + "sfpi": "^Z", + "aqqu": "^Z", + "aqsg": "^Z", + "aqbg": "^Z", + "suso": "^Z", + "sucu": "^Z", + "wdya": "^Z", + "wdyn": "^Z" + }, + "obsolete_statement": { + "exclude": [], + "severity": "Error", + "refresh": true, + "compute": true, + "add": true, + "subtract": true, + "multiply": true, + "divide": true, + "move": true, + "requested": true, + "occurs": true, + "setExtended": true, + "withHeaderLine": true, + "fieldSymbolStructure": true, + "typePools": true, + "load": true, + "parameter": true, + "ranges": true, + "communication": true, + "pack": true, + "selectWithoutInto": true, + "freeMemory": true, + "exitFromSQL": true, + "sortByFS": true, + "callTransformation": true, + "regex": true, + "occurences": true, + "clientSpecified": true, + "formDefinition": true, + "formImplementation": true + }, + "omit_parameter_name": { + "exclude": [], + "severity": "Error" + }, + "omit_preceding_zeros": { + "exclude": [], + "severity": "Error" + }, + "omit_receiving": { + "exclude": [], + "severity": "Error" + }, + "parser_702_chaining": { + "exclude": [], + "severity": "Error" + }, + "parser_error": { + "exclude": [], + "severity": "Error" + }, + "parser_missing_space": { + "exclude": [], + "severity": "Error" + }, + "pragma_style": { + "exclude": [], + "severity": "Error", + "style": "upper" + }, + "prefer_corresponding": { + "exclude": [], + "severity": "Error" + }, + "prefer_inline": { + "exclude": [], + "severity": "Error" + }, + "prefer_is_not": { + "exclude": [], + "severity": "Error" + }, + "prefer_pragmas": { + "exclude": [], + "severity": "Error", + "check": [ + { + "pseudo": "#EC CI_SUBRC", + "pragma": "SUBRC_OK" + }, + { + "pseudo": "#EC NEEDED", + "pragma": "NEEDED" + }, + { + "pseudo": "#EC NOTEXT", + "pragma": "NO_TEXT" + }, + { + "pseudo": "#EC NO_HANDLER", + "pragma": "NO_HANDLER" + } + ] + }, + "prefer_raise_exception_new": { + "exclude": [], + "severity": "Error" + }, + "prefer_returning_to_exporting": { + "exclude": [], + "severity": "Error" + }, + "prefer_xsdbool": { + "exclude": [], + "severity": "Error" + }, + "preferred_compare_operator": { + "exclude": [], + "severity": "Error", + "badOperators": [ + "EQ", + "><", + "NE", + "GE", + "GT", + "LT", + "LE" + ] + }, + "prefix_is_current_class": { + "exclude": [], + "severity": "Error", + "omitMeInstanceCalls": true + }, + "reduce_procedural_code": { + "exclude": [], + "severity": "Error", + "maxStatements": 10 + }, + "reduce_string_templates": { + "exclude": [], + "severity": "Error" + }, + "release_idoc": { + "exclude": [], + "severity": "Error" + }, + "remove_descriptions": { + "exclude": [], + "severity": "Error", + "ignoreExceptions": false, + "ignoreWorkflow": true + }, + "rfc_error_handling": { + "exclude": [], + "severity": "Error" + }, + "select_add_order_by": { + "exclude": [], + "severity": "Error", + "skipForAllEntries": false + }, + "select_performance": { + "exclude": [], + "severity": "Error", + "endSelect": true, + "selectStar": true, + "starOkayIfFewColumns": 10 + }, + "select_single_full_key": { + "exclude": [], + "severity": "Error", + "allowPseudo": true + }, + "selection_screen_naming": { + "exclude": [], + "severity": "Error", + "patternKind": "required", + "ignoreNames": [], + "ignorePatterns": [], + "parameter": "^P_.+$", + "selectOption": "^S_.+$", + "screenElement": "^SC_.+$" + }, + "sequential_blank": { + "exclude": [], + "severity": "Error", + "lines": 4 + }, + "short_case": { + "exclude": [], + "severity": "Error", + "length": 1, + "allow": [] + }, + "sicf_consistency": { + "exclude": [], + "severity": "Error", + "skipNames": [] + }, + "slow_parameter_passing": { + "exclude": [], + "severity": "Error" + }, + "smim_consistency": { + "exclude": [], + "severity": "Error" + }, + "space_before_colon": { + "exclude": [], + "severity": "Error" + }, + "space_before_dot": { + "exclude": [], + "severity": "Error", + "ignoreGlobalDefinition": true, + "ignoreExceptions": true + }, + "sql_escape_host_variables": { + "exclude": [], + "severity": "Error" + }, + "sql_value_conversion": { + "exclude": [], + "severity": "Error" + }, + "start_at_tab": { + "exclude": [], + "severity": "Error" + }, + "static_call_via_instance": { + "exclude": [], + "severity": "Error", + "allowInTestclassIncludes": false + }, + "strict_sql": { + "exclude": [], + "severity": "Error" + }, + "superclass_final": { + "exclude": [], + "severity": "Error" + }, + "superfluous_value": { + "exclude": [], + "severity": "Error" + }, + "sy_modification": { + "exclude": [], + "severity": "Error" + }, + "tabl_enhancement_category": { + "exclude": [], + "severity": "Error" + }, + "tables_declared_locally": { + "exclude": [], + "severity": "Error" + }, + "try_without_catch": { + "exclude": [], + "severity": "Error" + }, + "type_form_parameters": { + "exclude": [], + "severity": "Error" + }, + "types_naming": { + "exclude": [], + "severity": "Error", + "pattern": "^TY_.+$" + }, + "uncaught_exception": { + "exclude": [], + "severity": "Error", + "reportDynamic": false, + "reportNoCheck": false + }, + "unknown_types": { + "exclude": [], + "severity": "Error" + }, + "unnecessary_chaining": { + "exclude": [], + "severity": "Error" + }, + "unnecessary_pragma": { + "exclude": [], + "severity": "Error", + "allowNoTextGlobal": false + }, + "unnecessary_return": { + "exclude": [], + "severity": "Error", + "allowEmpty": false + }, + "unreachable_code": { + "exclude": [], + "severity": "Error" + }, + "unsecure_fae": { + "exclude": [], + "severity": "Error" + }, + "unused_ddic": { + "exclude": [], + "severity": "Error" + }, + "unused_macros": { + "exclude": [], + "severity": "Error", + "skipNames": [] + }, + "unused_methods": { + "exclude": [], + "severity": "Error" + }, + "unused_types": { + "exclude": [], + "severity": "Error", + "skipNames": [] + }, + "unused_variables": { + "exclude": [], + "severity": "Error", + "skipNames": [], + "skipAbstract": false + }, + "use_bool_expression": { + "exclude": [], + "severity": "Error" + }, + "use_class_based_exceptions": { + "exclude": [], + "severity": "Error" + }, + "use_line_exists": { + "exclude": [], + "severity": "Error" + }, + "use_new": { + "exclude": [], + "severity": "Error" + }, + "when_others_last": { + "exclude": [], + "severity": "Error" + }, + "whitespace_end": { + "exclude": [], + "severity": "Error" + }, + "xml_consistency": { + "exclude": [], + "severity": "Error" + } + } +} diff --git a/default.json b/default.json index bd5d5b7..5a92889 100644 --- a/default.json +++ b/default.json @@ -236,6 +236,7 @@ "generateSubroutine": true, "deleteReport": true, "deleteTextpool": true, + "insertTextpool": true, "deleteDynpro": true, "exportDynpro": true, "dynamicSQL": true diff --git a/schema-2.113.10.json b/schema-2.113.10.json new file mode 100644 index 0000000..a7ad104 --- /dev/null +++ b/schema-2.113.10.json @@ -0,0 +1,8397 @@ +{ + "$ref": "#/definitions/IConfig", + "$schema": "http://json-schema.org/draft-07/schema#", + "definitions": { + "AbapdocConf": { + "additionalProperties": false, + "properties": { + "checkLocal": { + "description": "Check local classes and interfaces for abapdoc.", + "type": "boolean" + }, + "classDefinition": { + "type": "boolean" + }, + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "ignoreTestClasses": { + "description": "Ignores classes flagged as FOR TESTING", + "type": "boolean" + }, + "interfaceDefinition": { + "type": "boolean" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "required": [ + "checkLocal", + "classDefinition", + "interfaceDefinition", + "ignoreTestClasses" + ], + "type": "object" + }, + "AddTestAttributesConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "AlignParametersConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "AlignPseudoCommentsConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "AlignTypeExpressionsConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "ignoreExceptions": { + "description": "Ignore global exception classes", + "type": "boolean" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "required": [ + "ignoreExceptions" + ], + "type": "object" + }, + "AllowedObjectNamingConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "AllowedObjectTypesConf": { + "additionalProperties": false, + "properties": { + "allowed": { + "description": "List of allowed object types, example: [\"CLAS\", \"INTF\"]", + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "required": [ + "allowed" + ], + "type": "object" + }, + "AmbiguousStatementConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "AvoidUseConf": { + "additionalProperties": false, + "properties": { + "break": { + "description": "Detects BREAK and BREAK-POINTS", + "type": "boolean" + }, + "defaultKey": { + "description": "Detects DEFAULT KEY definitions, from version v740sp02 and up. Use pseudo comment DEFAULT_KEY to ignore", + "type": "boolean" + }, + "define": { + "description": "Detects DEFINE (macro definitions)", + "type": "boolean" + }, + "describeLines": { + "description": "Detects DESCRIBE TABLE LINES, use lines() instead", + "type": "boolean" + }, + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "exportToDatabase": { + "description": "Detects EXPORT TO DATABASE", + "type": "boolean" + }, + "exportToMemory": { + "description": "Detects EXPORT TO MEMORY", + "type": "boolean" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + }, + "skipQuickFix": { + "description": "Do not emit quick fix suggestion", + "type": "boolean" + }, + "statics": { + "description": "Detects statics", + "type": "boolean" + }, + "testSeams": { + "description": "Detects TEST SEAMS. Use pseudo comment TEST_SEAM_USAGE to ignore", + "type": "boolean" + } + }, + "required": [ + "define", + "statics", + "defaultKey", + "break", + "testSeams", + "describeLines", + "exportToMemory", + "exportToDatabase" + ], + "type": "object" + }, + "BeginEndNamesConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "BeginSingleIncludeConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "CDSCommentStyleConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "CDSLegacyViewConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "CDSParserErrorConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "CallTransactionAuthorityCheckConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "ChainMainlyDeclarationsConf": { + "additionalProperties": false, + "properties": { + "check": { + "description": "Allow CHECK statements to be chained", + "type": "boolean" + }, + "clear": { + "description": "Allow CLEAR statements to be chained", + "type": "boolean" + }, + "definitions": { + "description": "Allow definition statements to be chained", + "type": "boolean" + }, + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "free": { + "description": "Allow FREE statements to be chained", + "type": "boolean" + }, + "hide": { + "description": "Allow HIDE statements to be chained", + "type": "boolean" + }, + "include": { + "description": "Allow INCLUDE statements to be chained", + "type": "boolean" + }, + "move": { + "description": "Allow MOVE statements to be chained", + "type": "boolean" + }, + "refresh": { + "description": "Allow REFRESH statements to be chained", + "type": "boolean" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + }, + "sort": { + "description": "Allow SORT statements to be chained", + "type": "boolean" + }, + "unassign": { + "description": "Allow UNASSIGN statements to be chained", + "type": "boolean" + }, + "write": { + "description": "Allow WRITE statements to be chained", + "type": "boolean" + } + }, + "required": [ + "definitions", + "write", + "move", + "refresh", + "unassign", + "clear", + "hide", + "free", + "include", + "check", + "sort" + ], + "type": "object" + }, + "ChangeIfToCaseConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + }, + "skipNames": { + "description": "skip specific names, case insensitive regular expression", + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "CheckAbstractConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "CheckCommentsConf": { + "additionalProperties": false, + "properties": { + "allowEndOfLine": { + "description": "Allows the use of end-of-line comments.", + "type": "boolean" + }, + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "required": [ + "allowEndOfLine" + ], + "type": "object" + }, + "CheckDDICConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "CheckIncludeConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "CheckSubrcConf": { + "additionalProperties": false, + "properties": { + "assign": { + "type": "boolean" + }, + "authorityCheck": { + "type": "boolean" + }, + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "find": { + "type": "boolean" + }, + "insertDatabase": { + "type": "boolean" + }, + "modifyDatabase": { + "type": "boolean" + }, + "openDataset": { + "type": "boolean" + }, + "readTable": { + "type": "boolean" + }, + "selectSingle": { + "type": "boolean" + }, + "selectTable": { + "type": "boolean" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + }, + "updateDatabase": { + "type": "boolean" + } + }, + "required": [ + "openDataset", + "authorityCheck", + "selectSingle", + "selectTable", + "updateDatabase", + "insertDatabase", + "modifyDatabase", + "readTable", + "assign", + "find" + ], + "type": "object" + }, + "CheckSyntaxConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "CheckTextElementsConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "CheckTransformationExistsConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "ClassAttributeNamesConf": { + "additionalProperties": false, + "properties": { + "constants": { + "description": "The pattern for constant variable names", + "type": "string" + }, + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "ignoreExceptions": { + "description": "Ignore global exception classes", + "type": "boolean" + }, + "ignoreInterfaces": { + "description": "Ignore interfaces", + "type": "boolean" + }, + "ignoreLocal": { + "description": "Ignore local classes", + "type": "boolean" + }, + "ignoreNames": { + "description": "A list of names to be ignored", + "items": { + "type": "string" + }, + "type": "array" + }, + "ignorePatterns": { + "description": "A list of patterns to be ignored. For example, you can use it to ignore ambiguous prefixes", + "items": { + "type": "string" + }, + "type": "array" + }, + "instance": { + "description": "The pattern for instance variable names", + "type": "string" + }, + "patternKind": { + "$ref": "#/definitions/PatternKind", + "description": "Specifies whether the pattern is forbidden (violation if name matches) or required (violation if name does not match)." + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + }, + "statics": { + "description": "The pattern for static variable names", + "type": "string" + } + }, + "required": [ + "ignoreExceptions", + "ignoreLocal", + "ignoreInterfaces", + "statics", + "instance", + "constants" + ], + "type": "object" + }, + "ClassicExceptionsOverlapConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "CloudTypesConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "ColonMissingSpaceConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "CommentedCodeConf": { + "additionalProperties": false, + "properties": { + "allowIncludeInFugr": { + "description": "Allow INCLUDEs in function groups", + "type": "boolean" + }, + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "required": [ + "allowIncludeInFugr" + ], + "type": "object" + }, + "ConstantClassesConf": { + "additionalProperties": false, + "description": "Checks that constants classes are in sync with domain fixed values", + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "mapping": { + "description": "Specify a list of domain-class pairs which will be validated", + "items": { + "$ref": "#/definitions/DomainClassMapping" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "required": [ + "mapping" + ], + "type": "object" + }, + "ConstructorVisibilityPublicConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "ContainsTabConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + }, + "spaces": { + "description": "quick fix replace with number of spaces", + "type": "number" + } + }, + "required": [ + "spaces" + ], + "type": "object" + }, + "CyclicOOConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + }, + "skip": { + "description": "List of object names to skip, must be full upper case name", + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "skipSharedMemory": { + "description": "Skips shared memory enabled classes", + "type": "boolean" + }, + "skipTestclasses": { + "description": "Skip testclass inclues", + "type": "boolean" + } + }, + "required": [ + "skip", + "skipSharedMemory", + "skipTestclasses" + ], + "type": "object" + }, + "CyclomaticComplexityConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "max": { + "type": "number" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "required": [ + "max" + ], + "type": "object" + }, + "DangerousStatementConf": { + "additionalProperties": false, + "properties": { + "deleteDynpro": { + "type": "boolean" + }, + "deleteReport": { + "type": "boolean" + }, + "deleteTextpool": { + "type": "boolean" + }, + "dynamicSQL": { + "description": "Finds instances of dynamic SQL: SELECT, UPDATE, DELETE, INSERT, MODIFY", + "type": "boolean" + }, + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "execSQL": { + "description": "Detects execSQL (dynamic SQL)", + "type": "boolean" + }, + "exportDynpro": { + "type": "boolean" + }, + "generateDynpro": { + "type": "boolean" + }, + "generateReport": { + "type": "boolean" + }, + "generateSubroutine": { + "type": "boolean" + }, + "insertReport": { + "description": "Detects INSERT REPORT", + "type": "boolean" + }, + "insertTextpool": { + "type": "boolean" + }, + "kernelCall": { + "description": "Detects kernel calls", + "type": "boolean" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + }, + "systemCall": { + "description": "Detects SYSTEM-CALL", + "type": "boolean" + } + }, + "required": [ + "execSQL", + "kernelCall", + "systemCall", + "insertReport", + "generateDynpro", + "generateReport", + "generateSubroutine", + "deleteReport", + "deleteTextpool", + "insertTextpool", + "deleteDynpro", + "exportDynpro", + "dynamicSQL" + ], + "type": "object" + }, + "DbOperationInLoopConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "DefinitionsTopConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "DescriptionEmptyConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "DomainClassMapping": { + "additionalProperties": false, + "properties": { + "class": { + "description": "Class name", + "type": "string" + }, + "constantForDomainName": { + "description": "Specify additional constant name containing the domain name (optional). A domain name constant is preferable to using a hardcoded value as the usage can be located by a where-used-list", + "type": "string" + }, + "domain": { + "description": "Domain name. The domain must have fixed values.", + "type": "string" + }, + "useExactType": { + "description": "Ensure the type of the constant is an exact match of the domain name.", + "type": "boolean" + } + }, + "required": [ + "domain", + "class" + ], + "type": "object" + }, + "DoubleSpaceConf": { + "additionalProperties": false, + "properties": { + "afterColon": { + "description": "Check for double space after colon/chaining operator", + "type": "boolean" + }, + "endParen": { + "description": "Check for double space before end parenthesis", + "type": "boolean" + }, + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "keywords": { + "description": "Check for double space after keywords", + "type": "boolean" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + }, + "skipKeywords": { + "description": "list of keywords to skip, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "startParen": { + "description": "Check for double space after start parenthesis", + "type": "boolean" + } + }, + "required": [ + "keywords", + "startParen", + "endParen", + "afterColon" + ], + "type": "object" + }, + "DownportConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "DynproChecksConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "EasyToFindMessagesConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "EmptyEventConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "EmptyLineinStatementConf": { + "additionalProperties": false, + "properties": { + "allowChained": { + "description": "Allow changed empty lines in chanined statements", + "type": "boolean" + }, + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "required": [ + "allowChained" + ], + "type": "object" + }, + "EmptyStatementConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "EmptyStructureConf": { + "additionalProperties": false, + "properties": { + "at": { + "description": "Checks for empty AT blocks", + "type": "boolean" + }, + "case": { + "description": "Checks for empty CASE blocks", + "type": "boolean" + }, + "do": { + "description": "Checks for empty DO blocks", + "type": "boolean" + }, + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "if": { + "description": "Checks for empty IF blocks", + "type": "boolean" + }, + "loop": { + "description": "Checks for empty LOOP blocks", + "type": "boolean" + }, + "loopAllowIfSubrc": { + "description": "Allow empty LOOP if subrc is checked after the loop", + "type": "boolean" + }, + "select": { + "description": "Checks for empty SELECT blockss", + "type": "boolean" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + }, + "try": { + "description": "Checks for empty TRY blocks", + "type": "boolean" + }, + "when": { + "description": "Checks for empty WHEN blocks", + "type": "boolean" + }, + "while": { + "description": "Checks for empty WHILE blocks", + "type": "boolean" + } + }, + "required": [ + "loop", + "loopAllowIfSubrc", + "if", + "while", + "case", + "select", + "do", + "at", + "try", + "when" + ], + "type": "object" + }, + "ExitOrCheckConf": { + "additionalProperties": false, + "properties": { + "allowCheck": { + "type": "boolean" + }, + "allowExit": { + "type": "boolean" + }, + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "required": [ + "allowExit", + "allowCheck" + ], + "type": "object" + }, + "ExpandMacrosConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "ExportingConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "ForbiddenIdentifierConf": { + "additionalProperties": false, + "properties": { + "check": { + "description": "List of forbideen identifiers, array of string regex", + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "required": [ + "check" + ], + "type": "object" + }, + "ForbiddenPseudoAndPragmaConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "ignoreGlobalClassDefinition": { + "type": "boolean" + }, + "ignoreGlobalInterface": { + "type": "boolean" + }, + "pragmas": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "pseudo": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "required": [ + "pseudo", + "pragmas", + "ignoreGlobalClassDefinition", + "ignoreGlobalInterface" + ], + "type": "object" + }, + "ForbiddenVoidTypeConf": { + "additionalProperties": false, + "properties": { + "check": { + "description": "List of forbidden void types, array of string regex, case in-sensitive", + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "required": [ + "check" + ], + "type": "object" + }, + "FormTablesObsoleteConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "FullyTypeConsantsConf": { + "additionalProperties": false, + "properties": { + "checkData": { + "description": "Add check for implicit data definition, require full typing.", + "type": "boolean" + }, + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "required": [ + "checkData" + ], + "type": "object" + }, + "FullyTypeITabsConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "FunctionModuleRecommendationsConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "recommendations": { + "description": "Tuple of Function Module Name to be replaced, the recommended alternative and the version from which the recommendation is valid.", + "items": { + "$ref": "#/definitions/Recommendations" + }, + "type": "array", + "uniqueItems": true + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "required": [ + "recommendations" + ], + "type": "object" + }, + "FunctionalWritingConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "ignoreExceptions": { + "description": "Ignore functional writing in exception classes, local + global", + "type": "boolean" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "required": [ + "ignoreExceptions" + ], + "type": "object" + }, + "GlobalClassConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "IAbaplintAppSettings": { + "additionalProperties": false, + "properties": { + "observations": { + "description": "Enable or disable observations, enabled by default", + "type": "boolean" + } + }, + "type": "object" + }, + "IConfig": { + "additionalProperties": false, + "properties": { + "app": { + "$ref": "#/definitions/IAbaplintAppSettings", + "description": "abaplint.app settings, see https://docs.abaplint.app" + }, + "dependencies": { + "description": "External git dependencies used for syntax checks", + "items": { + "$ref": "#/definitions/IDependency" + }, + "type": "array" + }, + "global": { + "$ref": "#/definitions/IGlobalConfig", + "description": "Global settings" + }, + "rename": { + "$ref": "#/definitions/IRenameSettings", + "description": "Automatic object rename settings, use with command line paramter \"--rename\"" + }, + "rules": { + "additionalProperties": false, + "description": "Settings for each rule, see https://rules.abaplint.org", + "properties": { + "7bit_ascii": { + "anyOf": [ + { + "$ref": "#/definitions/SevenBitAsciiConf" + }, + { + "type": "boolean" + } + ], + "description": "Only allow characters from the 7bit ASCII set.\nTags: SingleFile\nhttps://rules.abaplint.org/7bit_ascii" + }, + "abapdoc": { + "anyOf": [ + { + "$ref": "#/definitions/AbapdocConf" + }, + { + "type": "boolean" + } + ], + "description": "Various checks regarding abapdoc.\nTags: SingleFile, Styleguide\nhttps://rules.abaplint.org/abapdoc" + }, + "add_test_attributes": { + "anyOf": [ + { + "$ref": "#/definitions/AddTestAttributesConf" + }, + { + "type": "boolean" + } + ], + "description": "Add test attributes DURATION and RISK LEVEL for tests classes with test methods\nTags: SingleFile\nhttps://rules.abaplint.org/add_test_attributes" + }, + "align_parameters": { + "anyOf": [ + { + "$ref": "#/definitions/AlignParametersConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks for vertially aligned parameters\nTags: SingleFile, Whitespace, Styleguide, Quickfix\nhttps://rules.abaplint.org/align_parameters" + }, + "align_pseudo_comments": { + "anyOf": [ + { + "$ref": "#/definitions/AlignPseudoCommentsConf" + }, + { + "type": "boolean" + } + ], + "description": "Align code inspector pseudo comments in statements\nTags: SingleFile, Whitespace, Quickfix\nhttps://rules.abaplint.org/align_pseudo_comments" + }, + "align_type_expressions": { + "anyOf": [ + { + "$ref": "#/definitions/AlignTypeExpressionsConf" + }, + { + "type": "boolean" + } + ], + "description": "Align TYPE expressions in statements\nTags: SingleFile, Whitespace, Quickfix\nhttps://rules.abaplint.org/align_type_expressions" + }, + "allowed_object_naming": { + "anyOf": [ + { + "$ref": "#/definitions/AllowedObjectNamingConf" + }, + { + "type": "boolean" + } + ], + "description": "Enforces basic name length and namespace restrictions, see note SAP 104010\nTags: Naming, SingleFile\nhttps://rules.abaplint.org/allowed_object_naming" + }, + "allowed_object_types": { + "anyOf": [ + { + "$ref": "#/definitions/AllowedObjectTypesConf" + }, + { + "type": "boolean" + } + ], + "description": "Restricts the set of allowed object types.\nTags: SingleFile\nhttps://rules.abaplint.org/allowed_object_types" + }, + "ambiguous_statement": { + "anyOf": [ + { + "$ref": "#/definitions/AmbiguousStatementConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks for ambiguity between deleting or modifying from internal and database table\nAdd \"TABLE\" keyword or \"@\" for escaping SQL variables\n\nOnly works if the target version is 740sp05 or above\nTags: SingleFile\nhttps://rules.abaplint.org/ambiguous_statement" + }, + "avoid_use": { + "anyOf": [ + { + "$ref": "#/definitions/AvoidUseConf" + }, + { + "type": "boolean" + } + ], + "description": "Detects usage of certain statements.\nTags: Styleguide, SingleFile\nhttps://rules.abaplint.org/avoid_use" + }, + "begin_end_names": { + "anyOf": [ + { + "$ref": "#/definitions/BeginEndNamesConf" + }, + { + "type": "boolean" + } + ], + "description": "Check BEGIN OF and END OF names match, plus there must be statements between BEGIN and END\nTags: Syntax, Quickfix, SingleFile\nhttps://rules.abaplint.org/begin_end_names" + }, + "begin_single_include": { + "anyOf": [ + { + "$ref": "#/definitions/BeginSingleIncludeConf" + }, + { + "type": "boolean" + } + ], + "description": "Finds TYPE BEGIN with just one INCLUDE TYPE, and DATA with single INCLUDE STRUCTURE\nTags: SingleFile\nhttps://rules.abaplint.org/begin_single_include" + }, + "call_transaction_authority_check": { + "anyOf": [ + { + "$ref": "#/definitions/CallTransactionAuthorityCheckConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks that usages of CALL TRANSACTION contain an authority-check.\nTags: Styleguide, SingleFile, Security\nhttps://rules.abaplint.org/call_transaction_authority_check" + }, + "cds_comment_style": { + "anyOf": [ + { + "$ref": "#/definitions/CDSCommentStyleConf" + }, + { + "type": "boolean" + } + ], + "description": "Check for obsolete comment style\nTags: SingleFile\nhttps://rules.abaplint.org/cds_comment_style" + }, + "cds_legacy_view": { + "anyOf": [ + { + "$ref": "#/definitions/CDSLegacyViewConf" + }, + { + "type": "boolean" + } + ], + "description": "Identify CDS Legacy Views\nTags: SingleFile, Upport\nhttps://rules.abaplint.org/cds_legacy_view" + }, + "cds_parser_error": { + "anyOf": [ + { + "$ref": "#/definitions/CDSParserErrorConf" + }, + { + "type": "boolean" + } + ], + "description": "CDS parsing\nTags: Syntax\nhttps://rules.abaplint.org/cds_parser_error" + }, + "chain_mainly_declarations": { + "anyOf": [ + { + "$ref": "#/definitions/ChainMainlyDeclarationsConf" + }, + { + "type": "boolean" + } + ], + "description": "Chain mainly declarations, allows chaining for the configured statements, reports errors for other statements.\nTags: SingleFile, Quickfix\nhttps://rules.abaplint.org/chain_mainly_declarations" + }, + "change_if_to_case": { + "anyOf": [ + { + "$ref": "#/definitions/ChangeIfToCaseConf" + }, + { + "type": "boolean" + } + ], + "description": "Finds IF constructs that can be changed to CASE\nTags: SingleFile, Styleguide\nhttps://rules.abaplint.org/change_if_to_case" + }, + "check_abstract": { + "anyOf": [ + { + "$ref": "#/definitions/CheckAbstractConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks abstract methods and classes:\n- class defined as abstract and final,\n- non-abstract class contains abstract methods\nTags: SingleFile\nhttps://rules.abaplint.org/check_abstract" + }, + "check_comments": { + "anyOf": [ + { + "$ref": "#/definitions/CheckCommentsConf" + }, + { + "type": "boolean" + } + ], + "description": "\nVarious checks for comment usage.\nTags: Styleguide, SingleFile\nhttps://rules.abaplint.org/check_comments" + }, + "check_ddic": { + "anyOf": [ + { + "$ref": "#/definitions/CheckDDICConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks the types of DDIC objects can be resolved, the namespace of the development/errors can be configured in \"errorNamespace\" \nTags: Syntax\nhttps://rules.abaplint.org/check_ddic" + }, + "check_include": { + "anyOf": [ + { + "$ref": "#/definitions/CheckIncludeConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks INCLUDE statements\nTags: Syntax\nhttps://rules.abaplint.org/check_include" + }, + "check_subrc": { + "anyOf": [ + { + "$ref": "#/definitions/CheckSubrcConf" + }, + { + "type": "boolean" + } + ], + "description": "Check sy-subrc\nTags: SingleFile, Quickfix\nhttps://rules.abaplint.org/check_subrc" + }, + "check_syntax": { + "anyOf": [ + { + "$ref": "#/definitions/CheckSyntaxConf" + }, + { + "type": "boolean" + } + ], + "description": "Enables syntax check and variable resolution\nTags: Syntax\nhttps://rules.abaplint.org/check_syntax" + }, + "check_text_elements": { + "anyOf": [ + { + "$ref": "#/definitions/CheckTextElementsConf" + }, + { + "type": "boolean" + } + ], + "description": "Check text elements exists or matches code\nhttps://rules.abaplint.org/check_text_elements" + }, + "check_transformation_exists": { + "anyOf": [ + { + "$ref": "#/definitions/CheckTransformationExistsConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks that used XSLT transformations exist.\nTags: Syntax\nhttps://rules.abaplint.org/check_transformation_exists" + }, + "class_attribute_names": { + "anyOf": [ + { + "$ref": "#/definitions/ClassAttributeNamesConf" + }, + { + "type": "boolean" + } + ], + "description": "Allows you to enforce a pattern, such as a prefix, for class variable names.\nTags: Naming, SingleFile\nhttps://rules.abaplint.org/class_attribute_names" + }, + "classic_exceptions_overlap": { + "anyOf": [ + { + "$ref": "#/definitions/ClassicExceptionsOverlapConf" + }, + { + "type": "boolean" + } + ], + "description": "Find overlapping classic exceptions\nTags: SingleFile\nhttps://rules.abaplint.org/classic_exceptions_overlap" + }, + "cloud_types": { + "anyOf": [ + { + "$ref": "#/definitions/CloudTypesConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks that the package does not contain any object types unsupported in cloud ABAP.\nTags: SingleFile, Syntax\nhttps://rules.abaplint.org/cloud_types" + }, + "colon_missing_space": { + "anyOf": [ + { + "$ref": "#/definitions/ColonMissingSpaceConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks for missing spaces after colons in chained statements.\nTags: Whitespace, Quickfix, SingleFile\nhttps://rules.abaplint.org/colon_missing_space" + }, + "commented_code": { + "anyOf": [ + { + "$ref": "#/definitions/CommentedCodeConf" + }, + { + "type": "boolean" + } + ], + "description": "Detects usage of commented out code.\nTags: Styleguide, Quickfix, SingleFile\nhttps://rules.abaplint.org/commented_code" + }, + "constant_classes": { + "anyOf": [ + { + "$ref": "#/definitions/ConstantClassesConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks that constants classes are in sync with domain fixed values\nhttps://rules.abaplint.org/constant_classes" + }, + "constructor_visibility_public": { + "anyOf": [ + { + "$ref": "#/definitions/ConstructorVisibilityPublicConf" + }, + { + "type": "boolean" + } + ], + "description": "Constructor must be placed in the public section, even if the class is not CREATE PUBLIC.\nTags: Styleguide, SingleFile\nhttps://rules.abaplint.org/constructor_visibility_public" + }, + "contains_tab": { + "anyOf": [ + { + "$ref": "#/definitions/ContainsTabConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks for usage of tabs (enable to enforce spaces)\nTags: Whitespace, Quickfix, Styleguide, SingleFile\nhttps://rules.abaplint.org/contains_tab" + }, + "cyclic_oo": { + "anyOf": [ + { + "$ref": "#/definitions/CyclicOOConf" + }, + { + "type": "boolean" + } + ], + "description": "Finds cyclic/circular OO references\nhttps://rules.abaplint.org/cyclic_oo" + }, + "cyclomatic_complexity": { + "anyOf": [ + { + "$ref": "#/definitions/CyclomaticComplexityConf" + }, + { + "type": "boolean" + } + ], + "description": "Cyclomatic complexity, only reported for methods\nTags: SingleFile\nhttps://rules.abaplint.org/cyclomatic_complexity" + }, + "dangerous_statement": { + "anyOf": [ + { + "$ref": "#/definitions/DangerousStatementConf" + }, + { + "type": "boolean" + } + ], + "description": "Detects potentially dangerous statements\nTags: SingleFile, Security\nhttps://rules.abaplint.org/dangerous_statement" + }, + "db_operation_in_loop": { + "anyOf": [ + { + "$ref": "#/definitions/DbOperationInLoopConf" + }, + { + "type": "boolean" + } + ], + "description": "Database operation in LOOP/DO/WHILE\nTags: SingleFile, Performance\nhttps://rules.abaplint.org/db_operation_in_loop" + }, + "definitions_top": { + "anyOf": [ + { + "$ref": "#/definitions/DefinitionsTopConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks that definitions are placed at the beginning of METHODs, FORMs and FUNCTIONs.\nTags: SingleFile, Quickfix\nhttps://rules.abaplint.org/definitions_top" + }, + "description_empty": { + "anyOf": [ + { + "$ref": "#/definitions/DescriptionEmptyConf" + }, + { + "type": "boolean" + } + ], + "description": "Ensures descriptions in class metadata exist.\nhttps://rules.abaplint.org/description_empty" + }, + "double_space": { + "anyOf": [ + { + "$ref": "#/definitions/DoubleSpaceConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks that only a single space follows certain common statements.\nTags: Whitespace, Quickfix, SingleFile\nhttps://rules.abaplint.org/double_space" + }, + "downport": { + "anyOf": [ + { + "$ref": "#/definitions/DownportConf" + }, + { + "type": "boolean" + } + ], + "description": "Downport functionality\nTags: Downport, Quickfix\nhttps://rules.abaplint.org/downport" + }, + "dynpro_checks": { + "anyOf": [ + { + "$ref": "#/definitions/DynproChecksConf" + }, + { + "type": "boolean" + } + ], + "description": "Various Dynpro checks\nTags: Syntax\nhttps://rules.abaplint.org/dynpro_checks" + }, + "easy_to_find_messages": { + "anyOf": [ + { + "$ref": "#/definitions/EasyToFindMessagesConf" + }, + { + "type": "boolean" + } + ], + "description": "Make messages easy to find\nTags: Styleguide\nhttps://rules.abaplint.org/easy_to_find_messages" + }, + "empty_event": { + "anyOf": [ + { + "$ref": "#/definitions/EmptyEventConf" + }, + { + "type": "boolean" + } + ], + "description": "Empty selection screen or list processing event block\nTags: SingleFile\nhttps://rules.abaplint.org/empty_event" + }, + "empty_line_in_statement": { + "anyOf": [ + { + "$ref": "#/definitions/EmptyLineinStatementConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks that statements do not contain empty lines.\nTags: Quickfix, Whitespace, SingleFile, Styleguide\nhttps://rules.abaplint.org/empty_line_in_statement" + }, + "empty_statement": { + "anyOf": [ + { + "$ref": "#/definitions/EmptyStatementConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks for empty statements (an empty statement is a single dot)\nTags: Quickfix, SingleFile\nhttps://rules.abaplint.org/empty_statement" + }, + "empty_structure": { + "anyOf": [ + { + "$ref": "#/definitions/EmptyStructureConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks that the code does not contain empty blocks.\nTags: Styleguide, SingleFile\nhttps://rules.abaplint.org/empty_structure" + }, + "exit_or_check": { + "anyOf": [ + { + "$ref": "#/definitions/ExitOrCheckConf" + }, + { + "type": "boolean" + } + ], + "description": "Detects usages of EXIT or CHECK statements outside of loops.\nUse RETURN to leave procesing blocks instead.\nTags: Styleguide, SingleFile, Quickfix\nhttps://rules.abaplint.org/exit_or_check" + }, + "expand_macros": { + "anyOf": [ + { + "$ref": "#/definitions/ExpandMacrosConf" + }, + { + "type": "boolean" + } + ], + "description": "Allows expanding macro calls with quick fixes\nTags: Styleguide, Quickfix, Upport\nhttps://rules.abaplint.org/expand_macros" + }, + "exporting": { + "anyOf": [ + { + "$ref": "#/definitions/ExportingConf" + }, + { + "type": "boolean" + } + ], + "description": "Detects EXPORTING statements which can be omitted.\nTags: Styleguide, Quickfix, SingleFile\nhttps://rules.abaplint.org/exporting" + }, + "forbidden_identifier": { + "anyOf": [ + { + "$ref": "#/definitions/ForbiddenIdentifierConf" + }, + { + "type": "boolean" + } + ], + "description": "Forbid use of specified identifiers, list of regex.\nTags: SingleFile\nhttps://rules.abaplint.org/forbidden_identifier" + }, + "forbidden_pseudo_and_pragma": { + "anyOf": [ + { + "$ref": "#/definitions/ForbiddenPseudoAndPragmaConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks for unwanted pseudo comments and pragma\nTags: Quickfix, SingleFile\nhttps://rules.abaplint.org/forbidden_pseudo_and_pragma" + }, + "forbidden_void_type": { + "anyOf": [ + { + "$ref": "#/definitions/ForbiddenVoidTypeConf" + }, + { + "type": "boolean" + } + ], + "description": "Avoid usage of specified void types.\nhttps://rules.abaplint.org/forbidden_void_type" + }, + "form_tables_obsolete": { + "anyOf": [ + { + "$ref": "#/definitions/FormTablesObsoleteConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks for TABLES parameters in forms.\nTags: SingleFile\nhttps://rules.abaplint.org/form_tables_obsolete" + }, + "fully_type_constants": { + "anyOf": [ + { + "$ref": "#/definitions/FullyTypeConsantsConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks constants for full typing - no implicit typing allowed.\nTags: SingleFile\nhttps://rules.abaplint.org/fully_type_constants" + }, + "fully_type_itabs": { + "anyOf": [ + { + "$ref": "#/definitions/FullyTypeITabsConf" + }, + { + "type": "boolean" + } + ], + "description": "No implict table types or table keys\nTags: SingleFile\nhttps://rules.abaplint.org/fully_type_itabs" + }, + "function_module_recommendations": { + "anyOf": [ + { + "$ref": "#/definitions/FunctionModuleRecommendationsConf" + }, + { + "type": "boolean" + } + ], + "description": "Suggests replacements for various function modules\nTags: SingleFile\nhttps://rules.abaplint.org/function_module_recommendations" + }, + "functional_writing": { + "anyOf": [ + { + "$ref": "#/definitions/FunctionalWritingConf" + }, + { + "type": "boolean" + } + ], + "description": "Detects usage of call method when functional style calls can be used.\nTags: Styleguide, Quickfix, SingleFile\nhttps://rules.abaplint.org/functional_writing" + }, + "global_class": { + "anyOf": [ + { + "$ref": "#/definitions/GlobalClassConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks related to global classes\nTags: Syntax\nhttps://rules.abaplint.org/global_class" + }, + "identical_conditions": { + "anyOf": [ + { + "$ref": "#/definitions/IdenticalConditionsConf" + }, + { + "type": "boolean" + } + ], + "description": "Find identical conditions in IF + CASE + WHILE etc\n\nPrerequsites: code is pretty printed with identical cAsE\nTags: SingleFile\nhttps://rules.abaplint.org/identical_conditions" + }, + "identical_contents": { + "anyOf": [ + { + "$ref": "#/definitions/IdenticalContentsConf" + }, + { + "type": "boolean" + } + ], + "description": "Find identical contents in blocks inside IFs, both in the beginning and in the end.\nTags: SingleFile\nhttps://rules.abaplint.org/identical_contents" + }, + "identical_descriptions": { + "anyOf": [ + { + "$ref": "#/definitions/IdenticalDescriptionsConf" + }, + { + "type": "boolean" + } + ], + "description": "Searches for objects with the same type and same description\nhttps://rules.abaplint.org/identical_descriptions" + }, + "identical_form_names": { + "anyOf": [ + { + "$ref": "#/definitions/IdenticalFormNamesConf" + }, + { + "type": "boolean" + } + ], + "description": "Detects identically named FORMs\nTags: Syntax\nhttps://rules.abaplint.org/identical_form_names" + }, + "if_in_if": { + "anyOf": [ + { + "$ref": "#/definitions/IfInIfConf" + }, + { + "type": "boolean" + } + ], + "description": "Detects nested ifs which can be refactored.\nTags: Styleguide, SingleFile, Quickfix\nhttps://rules.abaplint.org/if_in_if" + }, + "implement_methods": { + "anyOf": [ + { + "$ref": "#/definitions/ImplementMethodsConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks for abstract methods and methods from interfaces which need implementing.\nTags: Syntax, Quickfix\nhttps://rules.abaplint.org/implement_methods" + }, + "implicit_start_of_selection": { + "anyOf": [ + { + "$ref": "#/definitions/ImplicitStartOfSelectionConf" + }, + { + "type": "boolean" + } + ], + "description": "Add explicit selection screen event handling\nTags: SingleFile\nhttps://rules.abaplint.org/implicit_start_of_selection" + }, + "in_statement_indentation": { + "anyOf": [ + { + "$ref": "#/definitions/InStatementIndentationConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks alignment within statements which span multiple lines.\nTags: Whitespace, Quickfix, SingleFile\nhttps://rules.abaplint.org/in_statement_indentation" + }, + "indentation": { + "anyOf": [ + { + "$ref": "#/definitions/IndentationConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks indentation\nTags: Whitespace, Quickfix, SingleFile\nhttps://rules.abaplint.org/indentation" + }, + "inline_data_old_versions": { + "anyOf": [ + { + "$ref": "#/definitions/InlineDataOldVersionsConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks for inline data declarations in older releases. Only active for versions less than v740sp02\nTags: Syntax, SingleFile\nhttps://rules.abaplint.org/inline_data_old_versions" + }, + "intf_referencing_clas": { + "anyOf": [ + { + "$ref": "#/definitions/IntfReferencingClasConf" + }, + { + "type": "boolean" + } + ], + "description": "Interface contains references to class\nhttps://rules.abaplint.org/intf_referencing_clas" + }, + "invalid_table_index": { + "anyOf": [ + { + "$ref": "#/definitions/InvalidTableIndexConf" + }, + { + "type": "boolean" + } + ], + "description": "Issues error for constant table index zero, as ABAP starts from 1\nTags: SingleFile, Quickfix\nhttps://rules.abaplint.org/invalid_table_index" + }, + "keep_single_parameter_on_one_line": { + "anyOf": [ + { + "$ref": "#/definitions/KeepSingleParameterCallsOnOneLineConf" + }, + { + "type": "boolean" + } + ], + "description": "Keep single parameter calls on one line\nTags: Whitespace, Styleguide, SingleFile\nhttps://rules.abaplint.org/keep_single_parameter_on_one_line" + }, + "keyword_case": { + "anyOf": [ + { + "$ref": "#/definitions/KeywordCaseConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks that keywords have the same case. Non-keywords must be lower case.\nTags: Styleguide, SingleFile, Quickfix\nhttps://rules.abaplint.org/keyword_case" + }, + "line_break_multiple_parameters": { + "anyOf": [ + { + "$ref": "#/definitions/LineBreakMultipleParametersConf" + }, + { + "type": "boolean" + } + ], + "description": "Line break multiple parameters\nTags: Whitespace, Styleguide, Quickfix, SingleFile\nhttps://rules.abaplint.org/line_break_multiple_parameters" + }, + "line_break_style": { + "anyOf": [ + { + "$ref": "#/definitions/LineBreakStyleConf" + }, + { + "type": "boolean" + } + ], + "description": "Enforces LF as newlines in ABAP files\n\nabapGit does not work with CRLF\nTags: Whitespace, SingleFile\nhttps://rules.abaplint.org/line_break_style" + }, + "line_length": { + "anyOf": [ + { + "$ref": "#/definitions/LineLengthConf" + }, + { + "type": "boolean" + } + ], + "description": "Detects lines exceeding the provided maximum length.\nTags: Styleguide, SingleFile\nhttps://rules.abaplint.org/line_length" + }, + "line_only_punc": { + "anyOf": [ + { + "$ref": "#/definitions/LineOnlyPuncConf" + }, + { + "type": "boolean" + } + ], + "description": "Detects lines containing only punctuation.\nTags: Styleguide, Quickfix, SingleFile\nhttps://rules.abaplint.org/line_only_punc" + }, + "local_class_naming": { + "anyOf": [ + { + "$ref": "#/definitions/LocalClassNamingConf" + }, + { + "type": "boolean" + } + ], + "description": "Allows you to enforce a pattern, such as a prefix, for local class names.\nTags: Naming, SingleFile\nhttps://rules.abaplint.org/local_class_naming" + }, + "local_testclass_consistency": { + "anyOf": [ + { + "$ref": "#/definitions/LocalTestclassConsistencyConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks that local test classes are placed in the test include, and class unit test flag is set\nTags: Syntax\nhttps://rules.abaplint.org/local_testclass_consistency" + }, + "local_variable_names": { + "anyOf": [ + { + "$ref": "#/definitions/LocalVariableNamesConf" + }, + { + "type": "boolean" + } + ], + "description": "\nAllows you to enforce a pattern, such as a prefix, for local variables, constants and field symbols.\nRegexes are case-insensitive.\nTags: Naming, SingleFile\nhttps://rules.abaplint.org/local_variable_names" + }, + "macro_naming": { + "anyOf": [ + { + "$ref": "#/definitions/MacroNamingConf" + }, + { + "type": "boolean" + } + ], + "description": "Allows you to enforce a pattern for macro definitions\nTags: Naming, SingleFile\nhttps://rules.abaplint.org/macro_naming" + }, + "main_file_contents": { + "anyOf": [ + { + "$ref": "#/definitions/MainFileContentsConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks related to report declarations.\nhttps://rules.abaplint.org/main_file_contents" + }, + "many_parentheses": { + "anyOf": [ + { + "$ref": "#/definitions/ManyParenthesesConf" + }, + { + "type": "boolean" + } + ], + "description": "Searches for expressions where extra parentheses can safely be removed\nTags: SingleFile, Quickfix\nhttps://rules.abaplint.org/many_parentheses" + }, + "max_one_method_parameter_per_line": { + "anyOf": [ + { + "$ref": "#/definitions/MaxOneMethodParameterPerLineConf" + }, + { + "type": "boolean" + } + ], + "description": "Keep max one method parameter description per line\nTags: SingleFile, Whitespace\nhttps://rules.abaplint.org/max_one_method_parameter_per_line" + }, + "max_one_statement": { + "anyOf": [ + { + "$ref": "#/definitions/MaxOneStatementConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks that each line contains only a single statement.\nTags: Styleguide, Quickfix, SingleFile\nhttps://rules.abaplint.org/max_one_statement" + }, + "message_exists": { + "anyOf": [ + { + "$ref": "#/definitions/MessageExistsConf" + }, + { + "type": "boolean" + } + ], + "description": "In message statements, check that the message class + id exist\nTags: Syntax\nhttps://rules.abaplint.org/message_exists" + }, + "method_implemented_twice": { + "anyOf": [ + { + "$ref": "#/definitions/MethodImplementedTwiceConf" + }, + { + "type": "boolean" + } + ], + "description": "Reports an error if a method is implemented or defined twice\nTags: SingleFile, Syntax\nhttps://rules.abaplint.org/method_implemented_twice" + }, + "method_length": { + "anyOf": [ + { + "$ref": "#/definitions/MethodLengthConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks relating to method/form length.\nTags: Styleguide, SingleFile\nhttps://rules.abaplint.org/method_length" + }, + "method_overwrites_builtin": { + "anyOf": [ + { + "$ref": "#/definitions/MethodOverwritesBuiltInConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks Method names that overwrite builtin SAP functions\nTags: Naming, SingleFile, Styleguide\nhttps://rules.abaplint.org/method_overwrites_builtin" + }, + "method_parameter_names": { + "anyOf": [ + { + "$ref": "#/definitions/MethodParameterNamesConf" + }, + { + "type": "boolean" + } + ], + "description": "Allows you to enforce a pattern, such as a prefix, for method parameter names\nTags: Naming, SingleFile\nhttps://rules.abaplint.org/method_parameter_names" + }, + "mix_returning": { + "anyOf": [ + { + "$ref": "#/definitions/MixReturningConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks that methods don't have a mixture of returning and exporting/changing parameters\nTags: Styleguide, SingleFile\nhttps://rules.abaplint.org/mix_returning" + }, + "modify_only_own_db_tables": { + "anyOf": [ + { + "$ref": "#/definitions/ModifyOnlyOwnDBTablesConf" + }, + { + "type": "boolean" + } + ], + "description": "Modify only own DB tables\nTags: Security\nhttps://rules.abaplint.org/modify_only_own_db_tables" + }, + "msag_consistency": { + "anyOf": [ + { + "$ref": "#/definitions/MSAGConsistencyConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks the validity of messages in message classes\nhttps://rules.abaplint.org/msag_consistency" + }, + "names_no_dash": { + "anyOf": [ + { + "$ref": "#/definitions/NamesNoDashConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks for a \"-\" in FORM, DATA, PARAMETER and SELECT-OPTION names\nTags: SingleFile, Naming\nhttps://rules.abaplint.org/names_no_dash" + }, + "nesting": { + "anyOf": [ + { + "$ref": "#/definitions/NestingConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks for methods exceeding a maximum nesting depth\nTags: Styleguide, SingleFile\nhttps://rules.abaplint.org/nesting" + }, + "newline_between_methods": { + "anyOf": [ + { + "$ref": "#/definitions/NewlineBetweenMethodsConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks for newlines between method implementations.\nTags: Whitespace, SingleFile\nhttps://rules.abaplint.org/newline_between_methods" + }, + "no_aliases": { + "anyOf": [ + { + "$ref": "#/definitions/NoAliasesConf" + }, + { + "type": "boolean" + } + ], + "description": "Detects use of the ALIAS statement\nTags: SingleFile\nhttps://rules.abaplint.org/no_aliases" + }, + "no_chained_assignment": { + "anyOf": [ + { + "$ref": "#/definitions/NoChainedAssignmentConf" + }, + { + "type": "boolean" + } + ], + "description": "Find chained assingments and reports issues\nTags: SingleFile, Styleguide\nhttps://rules.abaplint.org/no_chained_assignment" + }, + "no_external_form_calls": { + "anyOf": [ + { + "$ref": "#/definitions/NoExternalFormCallsConf" + }, + { + "type": "boolean" + } + ], + "description": "Detect external form calls\nTags: SingleFile\nhttps://rules.abaplint.org/no_external_form_calls" + }, + "no_inline_in_optional_branches": { + "anyOf": [ + { + "$ref": "#/definitions/NoInlineInOptionalBranchesConf" + }, + { + "type": "boolean" + } + ], + "description": "Don't declare inline in optional branches\nTags: Styleguide, SingleFile\nhttps://rules.abaplint.org/no_inline_in_optional_branches" + }, + "no_prefixes": { + "anyOf": [ + { + "$ref": "#/definitions/NoPrefixesConf" + }, + { + "type": "boolean" + } + ], + "description": "Dont use hungarian notation\nTags: SingleFile, Styleguide\nhttps://rules.abaplint.org/no_prefixes" + }, + "no_public_attributes": { + "anyOf": [ + { + "$ref": "#/definitions/NoPublicAttributesConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks that classes and interfaces don't contain any public attributes.\nExceptions are excluded from this rule.\nTags: Styleguide, SingleFile\nhttps://rules.abaplint.org/no_public_attributes" + }, + "no_yoda_conditions": { + "anyOf": [ + { + "$ref": "#/definitions/NoYodaConditionsConf" + }, + { + "type": "boolean" + } + ], + "description": "Finds Yoda conditions and reports issues\nTags: SingleFile\nhttps://rules.abaplint.org/no_yoda_conditions" + }, + "nrob_consistency": { + "anyOf": [ + { + "$ref": "#/definitions/NROBConsistencyConf" + }, + { + "type": "boolean" + } + ], + "description": "Consistency checks for number ranges\nTags: SingleFile\nhttps://rules.abaplint.org/nrob_consistency" + }, + "object_naming": { + "anyOf": [ + { + "$ref": "#/definitions/ObjectNamingConf" + }, + { + "type": "boolean" + } + ], + "description": "Allows you to enforce a pattern, such as a prefix, for object names\nTags: Naming\nhttps://rules.abaplint.org/object_naming" + }, + "obsolete_statement": { + "anyOf": [ + { + "$ref": "#/definitions/ObsoleteStatementConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks for usages of certain obsolete statements\nTags: SingleFile, Styleguide, Quickfix\nhttps://rules.abaplint.org/obsolete_statement" + }, + "omit_parameter_name": { + "anyOf": [ + { + "$ref": "#/definitions/OmitParameterNameConf" + }, + { + "type": "boolean" + } + ], + "description": "Omit the parameter name in single parameter calls\nTags: Styleguide, Quickfix\nhttps://rules.abaplint.org/omit_parameter_name" + }, + "omit_preceding_zeros": { + "anyOf": [ + { + "$ref": "#/definitions/OmitPrecedingZerosConf" + }, + { + "type": "boolean" + } + ], + "description": "Omit preceding zeros from integer constants\nTags: SingleFile, Quickfix\nhttps://rules.abaplint.org/omit_preceding_zeros" + }, + "omit_receiving": { + "anyOf": [ + { + "$ref": "#/definitions/OmitReceivingConf" + }, + { + "type": "boolean" + } + ], + "description": "Omit RECEIVING\nTags: Styleguide, SingleFile\nhttps://rules.abaplint.org/omit_receiving" + }, + "parser_702_chaining": { + "anyOf": [ + { + "$ref": "#/definitions/Parser702ChainingConf" + }, + { + "type": "boolean" + } + ], + "description": "ABAP on 702 does not allow for method chaining with IMPORTING/EXPORTING/CHANGING keywords,\nthis rule finds these and reports errors.\nOnly active on target version 702 and below.\nTags: Syntax, SingleFile\nhttps://rules.abaplint.org/parser_702_chaining" + }, + "parser_error": { + "anyOf": [ + { + "$ref": "#/definitions/ParserErrorConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks for syntax not recognized by abaplint.\n\nSee recognized syntax at https://syntax.abaplint.org\nTags: Syntax, SingleFile\nhttps://rules.abaplint.org/parser_error" + }, + "parser_missing_space": { + "anyOf": [ + { + "$ref": "#/definitions/ParserMissingSpaceConf" + }, + { + "type": "boolean" + } + ], + "description": "In special cases the ABAP language allows for not having spaces before or after string literals.\nThis rule makes sure the spaces are consistently required across the language.\nTags: Syntax, Whitespace, SingleFile\nhttps://rules.abaplint.org/parser_missing_space" + }, + "pragma_style": { + "anyOf": [ + { + "$ref": "#/definitions/PragmaStyleConf" + }, + { + "type": "boolean" + } + ], + "description": "Check pragmas placement and case\nTags: SingleFile\nhttps://rules.abaplint.org/pragma_style" + }, + "prefer_corresponding": { + "anyOf": [ + { + "$ref": "#/definitions/PreferCorrespondingConf" + }, + { + "type": "boolean" + } + ], + "description": "Prefer corresponding( ) to MOVE-CORRESPONDING, from v740sp05 and up\nTags: SingleFile, Upport, Styleguide\nhttps://rules.abaplint.org/prefer_corresponding" + }, + "prefer_inline": { + "anyOf": [ + { + "$ref": "#/definitions/PreferInlineConf" + }, + { + "type": "boolean" + } + ], + "description": "Prefer inline to up-front declarations.\nTags: Styleguide, Upport, Experimental, Quickfix\nhttps://rules.abaplint.org/prefer_inline" + }, + "prefer_is_not": { + "anyOf": [ + { + "$ref": "#/definitions/PreferIsNotConf" + }, + { + "type": "boolean" + } + ], + "description": "Prefer IS NOT to NOT IS\nTags: Styleguide, Quickfix, SingleFile\nhttps://rules.abaplint.org/prefer_is_not" + }, + "prefer_pragmas": { + "anyOf": [ + { + "$ref": "#/definitions/PreferPragmasConf" + }, + { + "type": "boolean" + } + ], + "description": "prefer pragmas over pseudo comments \nTags: SingleFile, Styleguide\nhttps://rules.abaplint.org/prefer_pragmas" + }, + "prefer_raise_exception_new": { + "anyOf": [ + { + "$ref": "#/definitions/PreferRaiseExceptionNewConf" + }, + { + "type": "boolean" + } + ], + "description": "Prefer RAISE EXCEPTION NEW to RAISE EXCEPTION TYPE\nTags: Styleguide, SingleFile, Quickfix, Upport\nhttps://rules.abaplint.org/prefer_raise_exception_new" + }, + "prefer_returning_to_exporting": { + "anyOf": [ + { + "$ref": "#/definitions/PreferReturningToExportingConf" + }, + { + "type": "boolean" + } + ], + "description": "Prefer RETURNING to EXPORTING. Generic types cannot be RETURNING.\nTags: Styleguide, SingleFile\nhttps://rules.abaplint.org/prefer_returning_to_exporting" + }, + "prefer_xsdbool": { + "anyOf": [ + { + "$ref": "#/definitions/PreferXsdboolConf" + }, + { + "type": "boolean" + } + ], + "description": "Prefer xsdbool over boolc\nTags: Styleguide, Upport, Quickfix, SingleFile\nhttps://rules.abaplint.org/prefer_xsdbool" + }, + "preferred_compare_operator": { + "anyOf": [ + { + "$ref": "#/definitions/PreferredCompareOperatorConf" + }, + { + "type": "boolean" + } + ], + "description": "Configure undesired operator variants\nTags: SingleFile, Quickfix\nhttps://rules.abaplint.org/preferred_compare_operator" + }, + "prefix_is_current_class": { + "anyOf": [ + { + "$ref": "#/definitions/PrefixIsCurrentClassConf" + }, + { + "type": "boolean" + } + ], + "description": "Reports errors if the current class or interface references itself with \"current_class=>\"\nTags: Styleguide, Quickfix, SingleFile\nhttps://rules.abaplint.org/prefix_is_current_class" + }, + "reduce_procedural_code": { + "anyOf": [ + { + "$ref": "#/definitions/ReduceProceduralCodeConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks FORM and FUNCTION-MODULE have few statements\nTags: SingleFile, Styleguide\nhttps://rules.abaplint.org/reduce_procedural_code" + }, + "reduce_string_templates": { + "anyOf": [ + { + "$ref": "#/definitions/ReduceStringTemplatesConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks for string templates\nTags: SingleFile\nhttps://rules.abaplint.org/reduce_string_templates" + }, + "release_idoc": { + "anyOf": [ + { + "$ref": "#/definitions/ReleaseIdocConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks idoc types and segments are set to status released\nhttps://rules.abaplint.org/release_idoc" + }, + "remove_descriptions": { + "anyOf": [ + { + "$ref": "#/definitions/RemoveDescriptionsConf" + }, + { + "type": "boolean" + } + ], + "description": "Ensures you have no descriptions in metadata of methods, parameters, etc.\n\nClass descriptions are required, see rule description_empty.\n\nConsider using ABAP Doc for documentation.\nhttps://rules.abaplint.org/remove_descriptions" + }, + "rfc_error_handling": { + "anyOf": [ + { + "$ref": "#/definitions/RFCErrorHandlingConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks that exceptions 'system_failure' and 'communication_failure' are handled in RFC calls\nTags: SingleFile\nhttps://rules.abaplint.org/rfc_error_handling" + }, + "select_add_order_by": { + "anyOf": [ + { + "$ref": "#/definitions/SelectAddOrderByConf" + }, + { + "type": "boolean" + } + ], + "description": "SELECTs add ORDER BY clause\nTags: SingleFile\nhttps://rules.abaplint.org/select_add_order_by" + }, + "select_performance": { + "anyOf": [ + { + "$ref": "#/definitions/SelectPerformanceConf" + }, + { + "type": "boolean" + } + ], + "description": "Various checks regarding SELECT performance.\nTags: SingleFile, Performance\nhttps://rules.abaplint.org/select_performance" + }, + "select_single_full_key": { + "anyOf": [ + { + "$ref": "#/definitions/SelectSingleFullKeyConf" + }, + { + "type": "boolean" + } + ], + "description": "Detect SELECT SINGLE which are possibily not unique\nTags: Quickfix\nhttps://rules.abaplint.org/select_single_full_key" + }, + "selection_screen_naming": { + "anyOf": [ + { + "$ref": "#/definitions/SelectionScreenNamingConf" + }, + { + "type": "boolean" + } + ], + "description": "Allows you to enforce a pattern, such as a prefix, for selection-screen variable names.\nTags: Naming, SingleFile\nhttps://rules.abaplint.org/selection_screen_naming" + }, + "sequential_blank": { + "anyOf": [ + { + "$ref": "#/definitions/SequentialBlankConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks that code does not contain more than the configured number of blank lines in a row.\nTags: Whitespace, Quickfix, SingleFile\nhttps://rules.abaplint.org/sequential_blank" + }, + "short_case": { + "anyOf": [ + { + "$ref": "#/definitions/ShortCaseConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks for CASE statements which have fewer than the specified number of branches\nTags: SingleFile\nhttps://rules.abaplint.org/short_case" + }, + "sicf_consistency": { + "anyOf": [ + { + "$ref": "#/definitions/SICFConsistencyConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks the validity of ICF services\nhttps://rules.abaplint.org/sicf_consistency" + }, + "slow_parameter_passing": { + "anyOf": [ + { + "$ref": "#/definitions/SlowParameterPassingConf" + }, + { + "type": "boolean" + } + ], + "description": "Detects slow pass by value passing for methods where parameter is not changed\nTags: Performance\nhttps://rules.abaplint.org/slow_parameter_passing" + }, + "smim_consistency": { + "anyOf": [ + { + "$ref": "#/definitions/SMIMConsistencyConf" + }, + { + "type": "boolean" + } + ], + "description": "SMIM consistency check\nhttps://rules.abaplint.org/smim_consistency" + }, + "space_before_colon": { + "anyOf": [ + { + "$ref": "#/definitions/SpaceBeforeColonConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks that there are no spaces in front of colons in chained statements.\nTags: Whitespace, SingleFile, Quickfix\nhttps://rules.abaplint.org/space_before_colon" + }, + "space_before_dot": { + "anyOf": [ + { + "$ref": "#/definitions/SpaceBeforeDotConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks for extra spaces before dots at the ends of statements\nTags: Whitespace, Quickfix, Styleguide, SingleFile\nhttps://rules.abaplint.org/space_before_dot" + }, + "sql_escape_host_variables": { + "anyOf": [ + { + "$ref": "#/definitions/SQLEscapeHostVariablesConf" + }, + { + "type": "boolean" + } + ], + "description": "Escape SQL host variables, from 740sp05\nTags: Upport, Styleguide, Quickfix, Syntax\nhttps://rules.abaplint.org/sql_escape_host_variables" + }, + "sql_value_conversion": { + "anyOf": [ + { + "$ref": "#/definitions/SQLValueConversionConf" + }, + { + "type": "boolean" + } + ], + "description": "Ensure types match when selecting from database\nhttps://rules.abaplint.org/sql_value_conversion" + }, + "start_at_tab": { + "anyOf": [ + { + "$ref": "#/definitions/StartAtTabConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks that statements start at tabstops.\nTags: Whitespace, Styleguide, SingleFile\nhttps://rules.abaplint.org/start_at_tab" + }, + "static_call_via_instance": { + "anyOf": [ + { + "$ref": "#/definitions/StaticCallViaInstanceConf" + }, + { + "type": "boolean" + } + ], + "description": "Static method call via instance variable\nTags: Styleguide\nhttps://rules.abaplint.org/static_call_via_instance" + }, + "strict_sql": { + "anyOf": [ + { + "$ref": "#/definitions/StrictSQLConf" + }, + { + "type": "boolean" + } + ], + "description": "Strict SQL\nTags: Upport, Quickfix\nhttps://rules.abaplint.org/strict_sql" + }, + "superclass_final": { + "anyOf": [ + { + "$ref": "#/definitions/SuperclassFinalConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks that classes which are inherited from are not declared as FINAL.\nTags: Syntax\nhttps://rules.abaplint.org/superclass_final" + }, + "superfluous_value": { + "anyOf": [ + { + "$ref": "#/definitions/SuperfluousValueConf" + }, + { + "type": "boolean" + } + ], + "description": "Find superfluous VALUE expressions\nTags: SingleFile\nhttps://rules.abaplint.org/superfluous_value" + }, + "sy_modification": { + "anyOf": [ + { + "$ref": "#/definitions/SyModificationConf" + }, + { + "type": "boolean" + } + ], + "description": "Finds modification of sy fields\nTags: SingleFile\nhttps://rules.abaplint.org/sy_modification" + }, + "tabl_enhancement_category": { + "anyOf": [ + { + "$ref": "#/definitions/TABLEnhancementCategoryConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks that tables do not have the enhancement category 'not classified'.\nhttps://rules.abaplint.org/tabl_enhancement_category" + }, + "tables_declared_locally": { + "anyOf": [ + { + "$ref": "#/definitions/TablesDeclaredLocallyConf" + }, + { + "type": "boolean" + } + ], + "description": "TABLES are always global, so declare them globally\nTags: SingleFile\nhttps://rules.abaplint.org/tables_declared_locally" + }, + "try_without_catch": { + "anyOf": [ + { + "$ref": "#/definitions/TryWithoutCatchConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks for TRY blocks without a CATCH and CLEANUP block\nTags: SingleFile\nhttps://rules.abaplint.org/try_without_catch" + }, + "type_form_parameters": { + "anyOf": [ + { + "$ref": "#/definitions/TypeFormParametersConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks for untyped FORM parameters\nTags: SingleFile\nhttps://rules.abaplint.org/type_form_parameters" + }, + "types_naming": { + "anyOf": [ + { + "$ref": "#/definitions/TypesNamingConf" + }, + { + "type": "boolean" + } + ], + "description": "Allows you to enforce a pattern for TYPES definitions\nTags: Naming, SingleFile\nhttps://rules.abaplint.org/types_naming" + }, + "uncaught_exception": { + "anyOf": [ + { + "$ref": "#/definitions/UncaughtExceptionConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks for uncaught static exception\nTags: Syntax\nhttps://rules.abaplint.org/uncaught_exception" + }, + "unknown_types": { + "anyOf": [ + { + "$ref": "#/definitions/UnknownTypesConf" + }, + { + "type": "boolean" + } + ], + "description": "Enables check for unknown data types, respects errorNamespace\nTags: Syntax\nhttps://rules.abaplint.org/unknown_types" + }, + "unnecessary_chaining": { + "anyOf": [ + { + "$ref": "#/definitions/UnnecessaryChainingConf" + }, + { + "type": "boolean" + } + ], + "description": "Find unnecessary chaining, all statements are checked\nTags: SingleFile, Quickfix\nhttps://rules.abaplint.org/unnecessary_chaining" + }, + "unnecessary_pragma": { + "anyOf": [ + { + "$ref": "#/definitions/UnnecessaryPragmaConf" + }, + { + "type": "boolean" + } + ], + "description": "Finds pragmas which can be removed\nTags: SingleFile\nhttps://rules.abaplint.org/unnecessary_pragma" + }, + "unnecessary_return": { + "anyOf": [ + { + "$ref": "#/definitions/UnnecessaryReturnConf" + }, + { + "type": "boolean" + } + ], + "description": "Finds unnecessary RETURN statements\nTags: SingleFile, Quickfix\nhttps://rules.abaplint.org/unnecessary_return" + }, + "unreachable_code": { + "anyOf": [ + { + "$ref": "#/definitions/UnreachableCodeConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks for unreachable code.\nTags: SingleFile\nhttps://rules.abaplint.org/unreachable_code" + }, + "unsecure_fae": { + "anyOf": [ + { + "$ref": "#/definitions/UnsecureFAEConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks for unsecure FAE\nTags: Experimental, Performance\nhttps://rules.abaplint.org/unsecure_fae" + }, + "unused_ddic": { + "anyOf": [ + { + "$ref": "#/definitions/UnusedDDICConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks the usage of DDIC objects\nhttps://rules.abaplint.org/unused_ddic" + }, + "unused_macros": { + "anyOf": [ + { + "$ref": "#/definitions/UnusedMacrosConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks for unused macro definitions definitions\nTags: Quickfix\nhttps://rules.abaplint.org/unused_macros" + }, + "unused_methods": { + "anyOf": [ + { + "$ref": "#/definitions/UnusedMethodsConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks for unused methods\nTags: Quickfix\nhttps://rules.abaplint.org/unused_methods" + }, + "unused_types": { + "anyOf": [ + { + "$ref": "#/definitions/UnusedTypesConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks for unused TYPE definitions\nTags: Quickfix\nhttps://rules.abaplint.org/unused_types" + }, + "unused_variables": { + "anyOf": [ + { + "$ref": "#/definitions/UnusedVariablesConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks for unused variables and constants\nTags: Quickfix\nhttps://rules.abaplint.org/unused_variables" + }, + "use_bool_expression": { + "anyOf": [ + { + "$ref": "#/definitions/UseBoolExpressionConf" + }, + { + "type": "boolean" + } + ], + "description": "Use boolean expression, xsdbool from 740sp08 and up, boolc from 702 and up\nTags: Upport, Styleguide, Quickfix, SingleFile\nhttps://rules.abaplint.org/use_bool_expression" + }, + "use_class_based_exceptions": { + "anyOf": [ + { + "$ref": "#/definitions/UseClassBasedExceptionsConf" + }, + { + "type": "boolean" + } + ], + "description": "Use class based exceptions, checks interface and class definitions\nTags: Styleguide, SingleFile\nhttps://rules.abaplint.org/use_class_based_exceptions" + }, + "use_line_exists": { + "anyOf": [ + { + "$ref": "#/definitions/UseLineExistsConf" + }, + { + "type": "boolean" + } + ], + "description": "Use line_exists, from 740sp02 and up\nTags: Upport, Styleguide, SingleFile\nhttps://rules.abaplint.org/use_line_exists" + }, + "use_new": { + "anyOf": [ + { + "$ref": "#/definitions/UseNewConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks for deprecated CREATE OBJECT statements.\nTags: Upport, Styleguide, Quickfix, SingleFile\nhttps://rules.abaplint.org/use_new" + }, + "when_others_last": { + "anyOf": [ + { + "$ref": "#/definitions/WhenOthersLastConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks that WHEN OTHERS is placed the last within a CASE statement.\nTags: SingleFile\nhttps://rules.abaplint.org/when_others_last" + }, + "whitespace_end": { + "anyOf": [ + { + "$ref": "#/definitions/WhitespaceEndConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks for redundant whitespace at the end of each line.\nTags: Whitespace, Quickfix, SingleFile\nhttps://rules.abaplint.org/whitespace_end" + }, + "xml_consistency": { + "anyOf": [ + { + "$ref": "#/definitions/XMLConsistencyConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks the consistency of main XML files, eg. naming for CLAS and INTF objects\nTags: Naming, Syntax\nhttps://rules.abaplint.org/xml_consistency" + } + }, + "type": "object" + }, + "syntax": { + "$ref": "#/definitions/ISyntaxSettings", + "description": "Syntax settings" + }, + "targetRules": { + "additionalProperties": false, + "description": "see https://abaplint.app", + "properties": { + "7bit_ascii": { + "anyOf": [ + { + "$ref": "#/definitions/SevenBitAsciiConf" + }, + { + "type": "boolean" + } + ], + "description": "Only allow characters from the 7bit ASCII set.\nTags: SingleFile\nhttps://rules.abaplint.org/7bit_ascii" + }, + "abapdoc": { + "anyOf": [ + { + "$ref": "#/definitions/AbapdocConf" + }, + { + "type": "boolean" + } + ], + "description": "Various checks regarding abapdoc.\nTags: SingleFile, Styleguide\nhttps://rules.abaplint.org/abapdoc" + }, + "add_test_attributes": { + "anyOf": [ + { + "$ref": "#/definitions/AddTestAttributesConf" + }, + { + "type": "boolean" + } + ], + "description": "Add test attributes DURATION and RISK LEVEL for tests classes with test methods\nTags: SingleFile\nhttps://rules.abaplint.org/add_test_attributes" + }, + "align_parameters": { + "anyOf": [ + { + "$ref": "#/definitions/AlignParametersConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks for vertially aligned parameters\nTags: SingleFile, Whitespace, Styleguide, Quickfix\nhttps://rules.abaplint.org/align_parameters" + }, + "align_pseudo_comments": { + "anyOf": [ + { + "$ref": "#/definitions/AlignPseudoCommentsConf" + }, + { + "type": "boolean" + } + ], + "description": "Align code inspector pseudo comments in statements\nTags: SingleFile, Whitespace, Quickfix\nhttps://rules.abaplint.org/align_pseudo_comments" + }, + "align_type_expressions": { + "anyOf": [ + { + "$ref": "#/definitions/AlignTypeExpressionsConf" + }, + { + "type": "boolean" + } + ], + "description": "Align TYPE expressions in statements\nTags: SingleFile, Whitespace, Quickfix\nhttps://rules.abaplint.org/align_type_expressions" + }, + "allowed_object_naming": { + "anyOf": [ + { + "$ref": "#/definitions/AllowedObjectNamingConf" + }, + { + "type": "boolean" + } + ], + "description": "Enforces basic name length and namespace restrictions, see note SAP 104010\nTags: Naming, SingleFile\nhttps://rules.abaplint.org/allowed_object_naming" + }, + "allowed_object_types": { + "anyOf": [ + { + "$ref": "#/definitions/AllowedObjectTypesConf" + }, + { + "type": "boolean" + } + ], + "description": "Restricts the set of allowed object types.\nTags: SingleFile\nhttps://rules.abaplint.org/allowed_object_types" + }, + "ambiguous_statement": { + "anyOf": [ + { + "$ref": "#/definitions/AmbiguousStatementConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks for ambiguity between deleting or modifying from internal and database table\nAdd \"TABLE\" keyword or \"@\" for escaping SQL variables\n\nOnly works if the target version is 740sp05 or above\nTags: SingleFile\nhttps://rules.abaplint.org/ambiguous_statement" + }, + "avoid_use": { + "anyOf": [ + { + "$ref": "#/definitions/AvoidUseConf" + }, + { + "type": "boolean" + } + ], + "description": "Detects usage of certain statements.\nTags: Styleguide, SingleFile\nhttps://rules.abaplint.org/avoid_use" + }, + "begin_end_names": { + "anyOf": [ + { + "$ref": "#/definitions/BeginEndNamesConf" + }, + { + "type": "boolean" + } + ], + "description": "Check BEGIN OF and END OF names match, plus there must be statements between BEGIN and END\nTags: Syntax, Quickfix, SingleFile\nhttps://rules.abaplint.org/begin_end_names" + }, + "begin_single_include": { + "anyOf": [ + { + "$ref": "#/definitions/BeginSingleIncludeConf" + }, + { + "type": "boolean" + } + ], + "description": "Finds TYPE BEGIN with just one INCLUDE TYPE, and DATA with single INCLUDE STRUCTURE\nTags: SingleFile\nhttps://rules.abaplint.org/begin_single_include" + }, + "call_transaction_authority_check": { + "anyOf": [ + { + "$ref": "#/definitions/CallTransactionAuthorityCheckConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks that usages of CALL TRANSACTION contain an authority-check.\nTags: Styleguide, SingleFile, Security\nhttps://rules.abaplint.org/call_transaction_authority_check" + }, + "cds_comment_style": { + "anyOf": [ + { + "$ref": "#/definitions/CDSCommentStyleConf" + }, + { + "type": "boolean" + } + ], + "description": "Check for obsolete comment style\nTags: SingleFile\nhttps://rules.abaplint.org/cds_comment_style" + }, + "cds_legacy_view": { + "anyOf": [ + { + "$ref": "#/definitions/CDSLegacyViewConf" + }, + { + "type": "boolean" + } + ], + "description": "Identify CDS Legacy Views\nTags: SingleFile, Upport\nhttps://rules.abaplint.org/cds_legacy_view" + }, + "cds_parser_error": { + "anyOf": [ + { + "$ref": "#/definitions/CDSParserErrorConf" + }, + { + "type": "boolean" + } + ], + "description": "CDS parsing\nTags: Syntax\nhttps://rules.abaplint.org/cds_parser_error" + }, + "chain_mainly_declarations": { + "anyOf": [ + { + "$ref": "#/definitions/ChainMainlyDeclarationsConf" + }, + { + "type": "boolean" + } + ], + "description": "Chain mainly declarations, allows chaining for the configured statements, reports errors for other statements.\nTags: SingleFile, Quickfix\nhttps://rules.abaplint.org/chain_mainly_declarations" + }, + "change_if_to_case": { + "anyOf": [ + { + "$ref": "#/definitions/ChangeIfToCaseConf" + }, + { + "type": "boolean" + } + ], + "description": "Finds IF constructs that can be changed to CASE\nTags: SingleFile, Styleguide\nhttps://rules.abaplint.org/change_if_to_case" + }, + "check_abstract": { + "anyOf": [ + { + "$ref": "#/definitions/CheckAbstractConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks abstract methods and classes:\n- class defined as abstract and final,\n- non-abstract class contains abstract methods\nTags: SingleFile\nhttps://rules.abaplint.org/check_abstract" + }, + "check_comments": { + "anyOf": [ + { + "$ref": "#/definitions/CheckCommentsConf" + }, + { + "type": "boolean" + } + ], + "description": "\nVarious checks for comment usage.\nTags: Styleguide, SingleFile\nhttps://rules.abaplint.org/check_comments" + }, + "check_ddic": { + "anyOf": [ + { + "$ref": "#/definitions/CheckDDICConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks the types of DDIC objects can be resolved, the namespace of the development/errors can be configured in \"errorNamespace\" \nTags: Syntax\nhttps://rules.abaplint.org/check_ddic" + }, + "check_include": { + "anyOf": [ + { + "$ref": "#/definitions/CheckIncludeConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks INCLUDE statements\nTags: Syntax\nhttps://rules.abaplint.org/check_include" + }, + "check_subrc": { + "anyOf": [ + { + "$ref": "#/definitions/CheckSubrcConf" + }, + { + "type": "boolean" + } + ], + "description": "Check sy-subrc\nTags: SingleFile, Quickfix\nhttps://rules.abaplint.org/check_subrc" + }, + "check_syntax": { + "anyOf": [ + { + "$ref": "#/definitions/CheckSyntaxConf" + }, + { + "type": "boolean" + } + ], + "description": "Enables syntax check and variable resolution\nTags: Syntax\nhttps://rules.abaplint.org/check_syntax" + }, + "check_text_elements": { + "anyOf": [ + { + "$ref": "#/definitions/CheckTextElementsConf" + }, + { + "type": "boolean" + } + ], + "description": "Check text elements exists or matches code\nhttps://rules.abaplint.org/check_text_elements" + }, + "check_transformation_exists": { + "anyOf": [ + { + "$ref": "#/definitions/CheckTransformationExistsConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks that used XSLT transformations exist.\nTags: Syntax\nhttps://rules.abaplint.org/check_transformation_exists" + }, + "class_attribute_names": { + "anyOf": [ + { + "$ref": "#/definitions/ClassAttributeNamesConf" + }, + { + "type": "boolean" + } + ], + "description": "Allows you to enforce a pattern, such as a prefix, for class variable names.\nTags: Naming, SingleFile\nhttps://rules.abaplint.org/class_attribute_names" + }, + "classic_exceptions_overlap": { + "anyOf": [ + { + "$ref": "#/definitions/ClassicExceptionsOverlapConf" + }, + { + "type": "boolean" + } + ], + "description": "Find overlapping classic exceptions\nTags: SingleFile\nhttps://rules.abaplint.org/classic_exceptions_overlap" + }, + "cloud_types": { + "anyOf": [ + { + "$ref": "#/definitions/CloudTypesConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks that the package does not contain any object types unsupported in cloud ABAP.\nTags: SingleFile, Syntax\nhttps://rules.abaplint.org/cloud_types" + }, + "colon_missing_space": { + "anyOf": [ + { + "$ref": "#/definitions/ColonMissingSpaceConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks for missing spaces after colons in chained statements.\nTags: Whitespace, Quickfix, SingleFile\nhttps://rules.abaplint.org/colon_missing_space" + }, + "commented_code": { + "anyOf": [ + { + "$ref": "#/definitions/CommentedCodeConf" + }, + { + "type": "boolean" + } + ], + "description": "Detects usage of commented out code.\nTags: Styleguide, Quickfix, SingleFile\nhttps://rules.abaplint.org/commented_code" + }, + "constant_classes": { + "anyOf": [ + { + "$ref": "#/definitions/ConstantClassesConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks that constants classes are in sync with domain fixed values\nhttps://rules.abaplint.org/constant_classes" + }, + "constructor_visibility_public": { + "anyOf": [ + { + "$ref": "#/definitions/ConstructorVisibilityPublicConf" + }, + { + "type": "boolean" + } + ], + "description": "Constructor must be placed in the public section, even if the class is not CREATE PUBLIC.\nTags: Styleguide, SingleFile\nhttps://rules.abaplint.org/constructor_visibility_public" + }, + "contains_tab": { + "anyOf": [ + { + "$ref": "#/definitions/ContainsTabConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks for usage of tabs (enable to enforce spaces)\nTags: Whitespace, Quickfix, Styleguide, SingleFile\nhttps://rules.abaplint.org/contains_tab" + }, + "cyclic_oo": { + "anyOf": [ + { + "$ref": "#/definitions/CyclicOOConf" + }, + { + "type": "boolean" + } + ], + "description": "Finds cyclic/circular OO references\nhttps://rules.abaplint.org/cyclic_oo" + }, + "cyclomatic_complexity": { + "anyOf": [ + { + "$ref": "#/definitions/CyclomaticComplexityConf" + }, + { + "type": "boolean" + } + ], + "description": "Cyclomatic complexity, only reported for methods\nTags: SingleFile\nhttps://rules.abaplint.org/cyclomatic_complexity" + }, + "dangerous_statement": { + "anyOf": [ + { + "$ref": "#/definitions/DangerousStatementConf" + }, + { + "type": "boolean" + } + ], + "description": "Detects potentially dangerous statements\nTags: SingleFile, Security\nhttps://rules.abaplint.org/dangerous_statement" + }, + "db_operation_in_loop": { + "anyOf": [ + { + "$ref": "#/definitions/DbOperationInLoopConf" + }, + { + "type": "boolean" + } + ], + "description": "Database operation in LOOP/DO/WHILE\nTags: SingleFile, Performance\nhttps://rules.abaplint.org/db_operation_in_loop" + }, + "definitions_top": { + "anyOf": [ + { + "$ref": "#/definitions/DefinitionsTopConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks that definitions are placed at the beginning of METHODs, FORMs and FUNCTIONs.\nTags: SingleFile, Quickfix\nhttps://rules.abaplint.org/definitions_top" + }, + "description_empty": { + "anyOf": [ + { + "$ref": "#/definitions/DescriptionEmptyConf" + }, + { + "type": "boolean" + } + ], + "description": "Ensures descriptions in class metadata exist.\nhttps://rules.abaplint.org/description_empty" + }, + "double_space": { + "anyOf": [ + { + "$ref": "#/definitions/DoubleSpaceConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks that only a single space follows certain common statements.\nTags: Whitespace, Quickfix, SingleFile\nhttps://rules.abaplint.org/double_space" + }, + "downport": { + "anyOf": [ + { + "$ref": "#/definitions/DownportConf" + }, + { + "type": "boolean" + } + ], + "description": "Downport functionality\nTags: Downport, Quickfix\nhttps://rules.abaplint.org/downport" + }, + "dynpro_checks": { + "anyOf": [ + { + "$ref": "#/definitions/DynproChecksConf" + }, + { + "type": "boolean" + } + ], + "description": "Various Dynpro checks\nTags: Syntax\nhttps://rules.abaplint.org/dynpro_checks" + }, + "easy_to_find_messages": { + "anyOf": [ + { + "$ref": "#/definitions/EasyToFindMessagesConf" + }, + { + "type": "boolean" + } + ], + "description": "Make messages easy to find\nTags: Styleguide\nhttps://rules.abaplint.org/easy_to_find_messages" + }, + "empty_event": { + "anyOf": [ + { + "$ref": "#/definitions/EmptyEventConf" + }, + { + "type": "boolean" + } + ], + "description": "Empty selection screen or list processing event block\nTags: SingleFile\nhttps://rules.abaplint.org/empty_event" + }, + "empty_line_in_statement": { + "anyOf": [ + { + "$ref": "#/definitions/EmptyLineinStatementConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks that statements do not contain empty lines.\nTags: Quickfix, Whitespace, SingleFile, Styleguide\nhttps://rules.abaplint.org/empty_line_in_statement" + }, + "empty_statement": { + "anyOf": [ + { + "$ref": "#/definitions/EmptyStatementConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks for empty statements (an empty statement is a single dot)\nTags: Quickfix, SingleFile\nhttps://rules.abaplint.org/empty_statement" + }, + "empty_structure": { + "anyOf": [ + { + "$ref": "#/definitions/EmptyStructureConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks that the code does not contain empty blocks.\nTags: Styleguide, SingleFile\nhttps://rules.abaplint.org/empty_structure" + }, + "exit_or_check": { + "anyOf": [ + { + "$ref": "#/definitions/ExitOrCheckConf" + }, + { + "type": "boolean" + } + ], + "description": "Detects usages of EXIT or CHECK statements outside of loops.\nUse RETURN to leave procesing blocks instead.\nTags: Styleguide, SingleFile, Quickfix\nhttps://rules.abaplint.org/exit_or_check" + }, + "expand_macros": { + "anyOf": [ + { + "$ref": "#/definitions/ExpandMacrosConf" + }, + { + "type": "boolean" + } + ], + "description": "Allows expanding macro calls with quick fixes\nTags: Styleguide, Quickfix, Upport\nhttps://rules.abaplint.org/expand_macros" + }, + "exporting": { + "anyOf": [ + { + "$ref": "#/definitions/ExportingConf" + }, + { + "type": "boolean" + } + ], + "description": "Detects EXPORTING statements which can be omitted.\nTags: Styleguide, Quickfix, SingleFile\nhttps://rules.abaplint.org/exporting" + }, + "forbidden_identifier": { + "anyOf": [ + { + "$ref": "#/definitions/ForbiddenIdentifierConf" + }, + { + "type": "boolean" + } + ], + "description": "Forbid use of specified identifiers, list of regex.\nTags: SingleFile\nhttps://rules.abaplint.org/forbidden_identifier" + }, + "forbidden_pseudo_and_pragma": { + "anyOf": [ + { + "$ref": "#/definitions/ForbiddenPseudoAndPragmaConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks for unwanted pseudo comments and pragma\nTags: Quickfix, SingleFile\nhttps://rules.abaplint.org/forbidden_pseudo_and_pragma" + }, + "forbidden_void_type": { + "anyOf": [ + { + "$ref": "#/definitions/ForbiddenVoidTypeConf" + }, + { + "type": "boolean" + } + ], + "description": "Avoid usage of specified void types.\nhttps://rules.abaplint.org/forbidden_void_type" + }, + "form_tables_obsolete": { + "anyOf": [ + { + "$ref": "#/definitions/FormTablesObsoleteConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks for TABLES parameters in forms.\nTags: SingleFile\nhttps://rules.abaplint.org/form_tables_obsolete" + }, + "fully_type_constants": { + "anyOf": [ + { + "$ref": "#/definitions/FullyTypeConsantsConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks constants for full typing - no implicit typing allowed.\nTags: SingleFile\nhttps://rules.abaplint.org/fully_type_constants" + }, + "fully_type_itabs": { + "anyOf": [ + { + "$ref": "#/definitions/FullyTypeITabsConf" + }, + { + "type": "boolean" + } + ], + "description": "No implict table types or table keys\nTags: SingleFile\nhttps://rules.abaplint.org/fully_type_itabs" + }, + "function_module_recommendations": { + "anyOf": [ + { + "$ref": "#/definitions/FunctionModuleRecommendationsConf" + }, + { + "type": "boolean" + } + ], + "description": "Suggests replacements for various function modules\nTags: SingleFile\nhttps://rules.abaplint.org/function_module_recommendations" + }, + "functional_writing": { + "anyOf": [ + { + "$ref": "#/definitions/FunctionalWritingConf" + }, + { + "type": "boolean" + } + ], + "description": "Detects usage of call method when functional style calls can be used.\nTags: Styleguide, Quickfix, SingleFile\nhttps://rules.abaplint.org/functional_writing" + }, + "global_class": { + "anyOf": [ + { + "$ref": "#/definitions/GlobalClassConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks related to global classes\nTags: Syntax\nhttps://rules.abaplint.org/global_class" + }, + "identical_conditions": { + "anyOf": [ + { + "$ref": "#/definitions/IdenticalConditionsConf" + }, + { + "type": "boolean" + } + ], + "description": "Find identical conditions in IF + CASE + WHILE etc\n\nPrerequsites: code is pretty printed with identical cAsE\nTags: SingleFile\nhttps://rules.abaplint.org/identical_conditions" + }, + "identical_contents": { + "anyOf": [ + { + "$ref": "#/definitions/IdenticalContentsConf" + }, + { + "type": "boolean" + } + ], + "description": "Find identical contents in blocks inside IFs, both in the beginning and in the end.\nTags: SingleFile\nhttps://rules.abaplint.org/identical_contents" + }, + "identical_descriptions": { + "anyOf": [ + { + "$ref": "#/definitions/IdenticalDescriptionsConf" + }, + { + "type": "boolean" + } + ], + "description": "Searches for objects with the same type and same description\nhttps://rules.abaplint.org/identical_descriptions" + }, + "identical_form_names": { + "anyOf": [ + { + "$ref": "#/definitions/IdenticalFormNamesConf" + }, + { + "type": "boolean" + } + ], + "description": "Detects identically named FORMs\nTags: Syntax\nhttps://rules.abaplint.org/identical_form_names" + }, + "if_in_if": { + "anyOf": [ + { + "$ref": "#/definitions/IfInIfConf" + }, + { + "type": "boolean" + } + ], + "description": "Detects nested ifs which can be refactored.\nTags: Styleguide, SingleFile, Quickfix\nhttps://rules.abaplint.org/if_in_if" + }, + "implement_methods": { + "anyOf": [ + { + "$ref": "#/definitions/ImplementMethodsConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks for abstract methods and methods from interfaces which need implementing.\nTags: Syntax, Quickfix\nhttps://rules.abaplint.org/implement_methods" + }, + "implicit_start_of_selection": { + "anyOf": [ + { + "$ref": "#/definitions/ImplicitStartOfSelectionConf" + }, + { + "type": "boolean" + } + ], + "description": "Add explicit selection screen event handling\nTags: SingleFile\nhttps://rules.abaplint.org/implicit_start_of_selection" + }, + "in_statement_indentation": { + "anyOf": [ + { + "$ref": "#/definitions/InStatementIndentationConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks alignment within statements which span multiple lines.\nTags: Whitespace, Quickfix, SingleFile\nhttps://rules.abaplint.org/in_statement_indentation" + }, + "indentation": { + "anyOf": [ + { + "$ref": "#/definitions/IndentationConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks indentation\nTags: Whitespace, Quickfix, SingleFile\nhttps://rules.abaplint.org/indentation" + }, + "inline_data_old_versions": { + "anyOf": [ + { + "$ref": "#/definitions/InlineDataOldVersionsConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks for inline data declarations in older releases. Only active for versions less than v740sp02\nTags: Syntax, SingleFile\nhttps://rules.abaplint.org/inline_data_old_versions" + }, + "intf_referencing_clas": { + "anyOf": [ + { + "$ref": "#/definitions/IntfReferencingClasConf" + }, + { + "type": "boolean" + } + ], + "description": "Interface contains references to class\nhttps://rules.abaplint.org/intf_referencing_clas" + }, + "invalid_table_index": { + "anyOf": [ + { + "$ref": "#/definitions/InvalidTableIndexConf" + }, + { + "type": "boolean" + } + ], + "description": "Issues error for constant table index zero, as ABAP starts from 1\nTags: SingleFile, Quickfix\nhttps://rules.abaplint.org/invalid_table_index" + }, + "keep_single_parameter_on_one_line": { + "anyOf": [ + { + "$ref": "#/definitions/KeepSingleParameterCallsOnOneLineConf" + }, + { + "type": "boolean" + } + ], + "description": "Keep single parameter calls on one line\nTags: Whitespace, Styleguide, SingleFile\nhttps://rules.abaplint.org/keep_single_parameter_on_one_line" + }, + "keyword_case": { + "anyOf": [ + { + "$ref": "#/definitions/KeywordCaseConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks that keywords have the same case. Non-keywords must be lower case.\nTags: Styleguide, SingleFile, Quickfix\nhttps://rules.abaplint.org/keyword_case" + }, + "line_break_multiple_parameters": { + "anyOf": [ + { + "$ref": "#/definitions/LineBreakMultipleParametersConf" + }, + { + "type": "boolean" + } + ], + "description": "Line break multiple parameters\nTags: Whitespace, Styleguide, Quickfix, SingleFile\nhttps://rules.abaplint.org/line_break_multiple_parameters" + }, + "line_break_style": { + "anyOf": [ + { + "$ref": "#/definitions/LineBreakStyleConf" + }, + { + "type": "boolean" + } + ], + "description": "Enforces LF as newlines in ABAP files\n\nabapGit does not work with CRLF\nTags: Whitespace, SingleFile\nhttps://rules.abaplint.org/line_break_style" + }, + "line_length": { + "anyOf": [ + { + "$ref": "#/definitions/LineLengthConf" + }, + { + "type": "boolean" + } + ], + "description": "Detects lines exceeding the provided maximum length.\nTags: Styleguide, SingleFile\nhttps://rules.abaplint.org/line_length" + }, + "line_only_punc": { + "anyOf": [ + { + "$ref": "#/definitions/LineOnlyPuncConf" + }, + { + "type": "boolean" + } + ], + "description": "Detects lines containing only punctuation.\nTags: Styleguide, Quickfix, SingleFile\nhttps://rules.abaplint.org/line_only_punc" + }, + "local_class_naming": { + "anyOf": [ + { + "$ref": "#/definitions/LocalClassNamingConf" + }, + { + "type": "boolean" + } + ], + "description": "Allows you to enforce a pattern, such as a prefix, for local class names.\nTags: Naming, SingleFile\nhttps://rules.abaplint.org/local_class_naming" + }, + "local_testclass_consistency": { + "anyOf": [ + { + "$ref": "#/definitions/LocalTestclassConsistencyConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks that local test classes are placed in the test include, and class unit test flag is set\nTags: Syntax\nhttps://rules.abaplint.org/local_testclass_consistency" + }, + "local_variable_names": { + "anyOf": [ + { + "$ref": "#/definitions/LocalVariableNamesConf" + }, + { + "type": "boolean" + } + ], + "description": "\nAllows you to enforce a pattern, such as a prefix, for local variables, constants and field symbols.\nRegexes are case-insensitive.\nTags: Naming, SingleFile\nhttps://rules.abaplint.org/local_variable_names" + }, + "macro_naming": { + "anyOf": [ + { + "$ref": "#/definitions/MacroNamingConf" + }, + { + "type": "boolean" + } + ], + "description": "Allows you to enforce a pattern for macro definitions\nTags: Naming, SingleFile\nhttps://rules.abaplint.org/macro_naming" + }, + "main_file_contents": { + "anyOf": [ + { + "$ref": "#/definitions/MainFileContentsConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks related to report declarations.\nhttps://rules.abaplint.org/main_file_contents" + }, + "many_parentheses": { + "anyOf": [ + { + "$ref": "#/definitions/ManyParenthesesConf" + }, + { + "type": "boolean" + } + ], + "description": "Searches for expressions where extra parentheses can safely be removed\nTags: SingleFile, Quickfix\nhttps://rules.abaplint.org/many_parentheses" + }, + "max_one_method_parameter_per_line": { + "anyOf": [ + { + "$ref": "#/definitions/MaxOneMethodParameterPerLineConf" + }, + { + "type": "boolean" + } + ], + "description": "Keep max one method parameter description per line\nTags: SingleFile, Whitespace\nhttps://rules.abaplint.org/max_one_method_parameter_per_line" + }, + "max_one_statement": { + "anyOf": [ + { + "$ref": "#/definitions/MaxOneStatementConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks that each line contains only a single statement.\nTags: Styleguide, Quickfix, SingleFile\nhttps://rules.abaplint.org/max_one_statement" + }, + "message_exists": { + "anyOf": [ + { + "$ref": "#/definitions/MessageExistsConf" + }, + { + "type": "boolean" + } + ], + "description": "In message statements, check that the message class + id exist\nTags: Syntax\nhttps://rules.abaplint.org/message_exists" + }, + "method_implemented_twice": { + "anyOf": [ + { + "$ref": "#/definitions/MethodImplementedTwiceConf" + }, + { + "type": "boolean" + } + ], + "description": "Reports an error if a method is implemented or defined twice\nTags: SingleFile, Syntax\nhttps://rules.abaplint.org/method_implemented_twice" + }, + "method_length": { + "anyOf": [ + { + "$ref": "#/definitions/MethodLengthConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks relating to method/form length.\nTags: Styleguide, SingleFile\nhttps://rules.abaplint.org/method_length" + }, + "method_overwrites_builtin": { + "anyOf": [ + { + "$ref": "#/definitions/MethodOverwritesBuiltInConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks Method names that overwrite builtin SAP functions\nTags: Naming, SingleFile, Styleguide\nhttps://rules.abaplint.org/method_overwrites_builtin" + }, + "method_parameter_names": { + "anyOf": [ + { + "$ref": "#/definitions/MethodParameterNamesConf" + }, + { + "type": "boolean" + } + ], + "description": "Allows you to enforce a pattern, such as a prefix, for method parameter names\nTags: Naming, SingleFile\nhttps://rules.abaplint.org/method_parameter_names" + }, + "mix_returning": { + "anyOf": [ + { + "$ref": "#/definitions/MixReturningConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks that methods don't have a mixture of returning and exporting/changing parameters\nTags: Styleguide, SingleFile\nhttps://rules.abaplint.org/mix_returning" + }, + "modify_only_own_db_tables": { + "anyOf": [ + { + "$ref": "#/definitions/ModifyOnlyOwnDBTablesConf" + }, + { + "type": "boolean" + } + ], + "description": "Modify only own DB tables\nTags: Security\nhttps://rules.abaplint.org/modify_only_own_db_tables" + }, + "msag_consistency": { + "anyOf": [ + { + "$ref": "#/definitions/MSAGConsistencyConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks the validity of messages in message classes\nhttps://rules.abaplint.org/msag_consistency" + }, + "names_no_dash": { + "anyOf": [ + { + "$ref": "#/definitions/NamesNoDashConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks for a \"-\" in FORM, DATA, PARAMETER and SELECT-OPTION names\nTags: SingleFile, Naming\nhttps://rules.abaplint.org/names_no_dash" + }, + "nesting": { + "anyOf": [ + { + "$ref": "#/definitions/NestingConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks for methods exceeding a maximum nesting depth\nTags: Styleguide, SingleFile\nhttps://rules.abaplint.org/nesting" + }, + "newline_between_methods": { + "anyOf": [ + { + "$ref": "#/definitions/NewlineBetweenMethodsConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks for newlines between method implementations.\nTags: Whitespace, SingleFile\nhttps://rules.abaplint.org/newline_between_methods" + }, + "no_aliases": { + "anyOf": [ + { + "$ref": "#/definitions/NoAliasesConf" + }, + { + "type": "boolean" + } + ], + "description": "Detects use of the ALIAS statement\nTags: SingleFile\nhttps://rules.abaplint.org/no_aliases" + }, + "no_chained_assignment": { + "anyOf": [ + { + "$ref": "#/definitions/NoChainedAssignmentConf" + }, + { + "type": "boolean" + } + ], + "description": "Find chained assingments and reports issues\nTags: SingleFile, Styleguide\nhttps://rules.abaplint.org/no_chained_assignment" + }, + "no_external_form_calls": { + "anyOf": [ + { + "$ref": "#/definitions/NoExternalFormCallsConf" + }, + { + "type": "boolean" + } + ], + "description": "Detect external form calls\nTags: SingleFile\nhttps://rules.abaplint.org/no_external_form_calls" + }, + "no_inline_in_optional_branches": { + "anyOf": [ + { + "$ref": "#/definitions/NoInlineInOptionalBranchesConf" + }, + { + "type": "boolean" + } + ], + "description": "Don't declare inline in optional branches\nTags: Styleguide, SingleFile\nhttps://rules.abaplint.org/no_inline_in_optional_branches" + }, + "no_prefixes": { + "anyOf": [ + { + "$ref": "#/definitions/NoPrefixesConf" + }, + { + "type": "boolean" + } + ], + "description": "Dont use hungarian notation\nTags: SingleFile, Styleguide\nhttps://rules.abaplint.org/no_prefixes" + }, + "no_public_attributes": { + "anyOf": [ + { + "$ref": "#/definitions/NoPublicAttributesConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks that classes and interfaces don't contain any public attributes.\nExceptions are excluded from this rule.\nTags: Styleguide, SingleFile\nhttps://rules.abaplint.org/no_public_attributes" + }, + "no_yoda_conditions": { + "anyOf": [ + { + "$ref": "#/definitions/NoYodaConditionsConf" + }, + { + "type": "boolean" + } + ], + "description": "Finds Yoda conditions and reports issues\nTags: SingleFile\nhttps://rules.abaplint.org/no_yoda_conditions" + }, + "nrob_consistency": { + "anyOf": [ + { + "$ref": "#/definitions/NROBConsistencyConf" + }, + { + "type": "boolean" + } + ], + "description": "Consistency checks for number ranges\nTags: SingleFile\nhttps://rules.abaplint.org/nrob_consistency" + }, + "object_naming": { + "anyOf": [ + { + "$ref": "#/definitions/ObjectNamingConf" + }, + { + "type": "boolean" + } + ], + "description": "Allows you to enforce a pattern, such as a prefix, for object names\nTags: Naming\nhttps://rules.abaplint.org/object_naming" + }, + "obsolete_statement": { + "anyOf": [ + { + "$ref": "#/definitions/ObsoleteStatementConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks for usages of certain obsolete statements\nTags: SingleFile, Styleguide, Quickfix\nhttps://rules.abaplint.org/obsolete_statement" + }, + "omit_parameter_name": { + "anyOf": [ + { + "$ref": "#/definitions/OmitParameterNameConf" + }, + { + "type": "boolean" + } + ], + "description": "Omit the parameter name in single parameter calls\nTags: Styleguide, Quickfix\nhttps://rules.abaplint.org/omit_parameter_name" + }, + "omit_preceding_zeros": { + "anyOf": [ + { + "$ref": "#/definitions/OmitPrecedingZerosConf" + }, + { + "type": "boolean" + } + ], + "description": "Omit preceding zeros from integer constants\nTags: SingleFile, Quickfix\nhttps://rules.abaplint.org/omit_preceding_zeros" + }, + "omit_receiving": { + "anyOf": [ + { + "$ref": "#/definitions/OmitReceivingConf" + }, + { + "type": "boolean" + } + ], + "description": "Omit RECEIVING\nTags: Styleguide, SingleFile\nhttps://rules.abaplint.org/omit_receiving" + }, + "parser_702_chaining": { + "anyOf": [ + { + "$ref": "#/definitions/Parser702ChainingConf" + }, + { + "type": "boolean" + } + ], + "description": "ABAP on 702 does not allow for method chaining with IMPORTING/EXPORTING/CHANGING keywords,\nthis rule finds these and reports errors.\nOnly active on target version 702 and below.\nTags: Syntax, SingleFile\nhttps://rules.abaplint.org/parser_702_chaining" + }, + "parser_error": { + "anyOf": [ + { + "$ref": "#/definitions/ParserErrorConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks for syntax not recognized by abaplint.\n\nSee recognized syntax at https://syntax.abaplint.org\nTags: Syntax, SingleFile\nhttps://rules.abaplint.org/parser_error" + }, + "parser_missing_space": { + "anyOf": [ + { + "$ref": "#/definitions/ParserMissingSpaceConf" + }, + { + "type": "boolean" + } + ], + "description": "In special cases the ABAP language allows for not having spaces before or after string literals.\nThis rule makes sure the spaces are consistently required across the language.\nTags: Syntax, Whitespace, SingleFile\nhttps://rules.abaplint.org/parser_missing_space" + }, + "pragma_style": { + "anyOf": [ + { + "$ref": "#/definitions/PragmaStyleConf" + }, + { + "type": "boolean" + } + ], + "description": "Check pragmas placement and case\nTags: SingleFile\nhttps://rules.abaplint.org/pragma_style" + }, + "prefer_corresponding": { + "anyOf": [ + { + "$ref": "#/definitions/PreferCorrespondingConf" + }, + { + "type": "boolean" + } + ], + "description": "Prefer corresponding( ) to MOVE-CORRESPONDING, from v740sp05 and up\nTags: SingleFile, Upport, Styleguide\nhttps://rules.abaplint.org/prefer_corresponding" + }, + "prefer_inline": { + "anyOf": [ + { + "$ref": "#/definitions/PreferInlineConf" + }, + { + "type": "boolean" + } + ], + "description": "Prefer inline to up-front declarations.\nTags: Styleguide, Upport, Experimental, Quickfix\nhttps://rules.abaplint.org/prefer_inline" + }, + "prefer_is_not": { + "anyOf": [ + { + "$ref": "#/definitions/PreferIsNotConf" + }, + { + "type": "boolean" + } + ], + "description": "Prefer IS NOT to NOT IS\nTags: Styleguide, Quickfix, SingleFile\nhttps://rules.abaplint.org/prefer_is_not" + }, + "prefer_pragmas": { + "anyOf": [ + { + "$ref": "#/definitions/PreferPragmasConf" + }, + { + "type": "boolean" + } + ], + "description": "prefer pragmas over pseudo comments \nTags: SingleFile, Styleguide\nhttps://rules.abaplint.org/prefer_pragmas" + }, + "prefer_raise_exception_new": { + "anyOf": [ + { + "$ref": "#/definitions/PreferRaiseExceptionNewConf" + }, + { + "type": "boolean" + } + ], + "description": "Prefer RAISE EXCEPTION NEW to RAISE EXCEPTION TYPE\nTags: Styleguide, SingleFile, Quickfix, Upport\nhttps://rules.abaplint.org/prefer_raise_exception_new" + }, + "prefer_returning_to_exporting": { + "anyOf": [ + { + "$ref": "#/definitions/PreferReturningToExportingConf" + }, + { + "type": "boolean" + } + ], + "description": "Prefer RETURNING to EXPORTING. Generic types cannot be RETURNING.\nTags: Styleguide, SingleFile\nhttps://rules.abaplint.org/prefer_returning_to_exporting" + }, + "prefer_xsdbool": { + "anyOf": [ + { + "$ref": "#/definitions/PreferXsdboolConf" + }, + { + "type": "boolean" + } + ], + "description": "Prefer xsdbool over boolc\nTags: Styleguide, Upport, Quickfix, SingleFile\nhttps://rules.abaplint.org/prefer_xsdbool" + }, + "preferred_compare_operator": { + "anyOf": [ + { + "$ref": "#/definitions/PreferredCompareOperatorConf" + }, + { + "type": "boolean" + } + ], + "description": "Configure undesired operator variants\nTags: SingleFile, Quickfix\nhttps://rules.abaplint.org/preferred_compare_operator" + }, + "prefix_is_current_class": { + "anyOf": [ + { + "$ref": "#/definitions/PrefixIsCurrentClassConf" + }, + { + "type": "boolean" + } + ], + "description": "Reports errors if the current class or interface references itself with \"current_class=>\"\nTags: Styleguide, Quickfix, SingleFile\nhttps://rules.abaplint.org/prefix_is_current_class" + }, + "reduce_procedural_code": { + "anyOf": [ + { + "$ref": "#/definitions/ReduceProceduralCodeConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks FORM and FUNCTION-MODULE have few statements\nTags: SingleFile, Styleguide\nhttps://rules.abaplint.org/reduce_procedural_code" + }, + "reduce_string_templates": { + "anyOf": [ + { + "$ref": "#/definitions/ReduceStringTemplatesConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks for string templates\nTags: SingleFile\nhttps://rules.abaplint.org/reduce_string_templates" + }, + "release_idoc": { + "anyOf": [ + { + "$ref": "#/definitions/ReleaseIdocConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks idoc types and segments are set to status released\nhttps://rules.abaplint.org/release_idoc" + }, + "remove_descriptions": { + "anyOf": [ + { + "$ref": "#/definitions/RemoveDescriptionsConf" + }, + { + "type": "boolean" + } + ], + "description": "Ensures you have no descriptions in metadata of methods, parameters, etc.\n\nClass descriptions are required, see rule description_empty.\n\nConsider using ABAP Doc for documentation.\nhttps://rules.abaplint.org/remove_descriptions" + }, + "rfc_error_handling": { + "anyOf": [ + { + "$ref": "#/definitions/RFCErrorHandlingConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks that exceptions 'system_failure' and 'communication_failure' are handled in RFC calls\nTags: SingleFile\nhttps://rules.abaplint.org/rfc_error_handling" + }, + "select_add_order_by": { + "anyOf": [ + { + "$ref": "#/definitions/SelectAddOrderByConf" + }, + { + "type": "boolean" + } + ], + "description": "SELECTs add ORDER BY clause\nTags: SingleFile\nhttps://rules.abaplint.org/select_add_order_by" + }, + "select_performance": { + "anyOf": [ + { + "$ref": "#/definitions/SelectPerformanceConf" + }, + { + "type": "boolean" + } + ], + "description": "Various checks regarding SELECT performance.\nTags: SingleFile, Performance\nhttps://rules.abaplint.org/select_performance" + }, + "select_single_full_key": { + "anyOf": [ + { + "$ref": "#/definitions/SelectSingleFullKeyConf" + }, + { + "type": "boolean" + } + ], + "description": "Detect SELECT SINGLE which are possibily not unique\nTags: Quickfix\nhttps://rules.abaplint.org/select_single_full_key" + }, + "selection_screen_naming": { + "anyOf": [ + { + "$ref": "#/definitions/SelectionScreenNamingConf" + }, + { + "type": "boolean" + } + ], + "description": "Allows you to enforce a pattern, such as a prefix, for selection-screen variable names.\nTags: Naming, SingleFile\nhttps://rules.abaplint.org/selection_screen_naming" + }, + "sequential_blank": { + "anyOf": [ + { + "$ref": "#/definitions/SequentialBlankConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks that code does not contain more than the configured number of blank lines in a row.\nTags: Whitespace, Quickfix, SingleFile\nhttps://rules.abaplint.org/sequential_blank" + }, + "short_case": { + "anyOf": [ + { + "$ref": "#/definitions/ShortCaseConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks for CASE statements which have fewer than the specified number of branches\nTags: SingleFile\nhttps://rules.abaplint.org/short_case" + }, + "sicf_consistency": { + "anyOf": [ + { + "$ref": "#/definitions/SICFConsistencyConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks the validity of ICF services\nhttps://rules.abaplint.org/sicf_consistency" + }, + "slow_parameter_passing": { + "anyOf": [ + { + "$ref": "#/definitions/SlowParameterPassingConf" + }, + { + "type": "boolean" + } + ], + "description": "Detects slow pass by value passing for methods where parameter is not changed\nTags: Performance\nhttps://rules.abaplint.org/slow_parameter_passing" + }, + "smim_consistency": { + "anyOf": [ + { + "$ref": "#/definitions/SMIMConsistencyConf" + }, + { + "type": "boolean" + } + ], + "description": "SMIM consistency check\nhttps://rules.abaplint.org/smim_consistency" + }, + "space_before_colon": { + "anyOf": [ + { + "$ref": "#/definitions/SpaceBeforeColonConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks that there are no spaces in front of colons in chained statements.\nTags: Whitespace, SingleFile, Quickfix\nhttps://rules.abaplint.org/space_before_colon" + }, + "space_before_dot": { + "anyOf": [ + { + "$ref": "#/definitions/SpaceBeforeDotConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks for extra spaces before dots at the ends of statements\nTags: Whitespace, Quickfix, Styleguide, SingleFile\nhttps://rules.abaplint.org/space_before_dot" + }, + "sql_escape_host_variables": { + "anyOf": [ + { + "$ref": "#/definitions/SQLEscapeHostVariablesConf" + }, + { + "type": "boolean" + } + ], + "description": "Escape SQL host variables, from 740sp05\nTags: Upport, Styleguide, Quickfix, Syntax\nhttps://rules.abaplint.org/sql_escape_host_variables" + }, + "sql_value_conversion": { + "anyOf": [ + { + "$ref": "#/definitions/SQLValueConversionConf" + }, + { + "type": "boolean" + } + ], + "description": "Ensure types match when selecting from database\nhttps://rules.abaplint.org/sql_value_conversion" + }, + "start_at_tab": { + "anyOf": [ + { + "$ref": "#/definitions/StartAtTabConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks that statements start at tabstops.\nTags: Whitespace, Styleguide, SingleFile\nhttps://rules.abaplint.org/start_at_tab" + }, + "static_call_via_instance": { + "anyOf": [ + { + "$ref": "#/definitions/StaticCallViaInstanceConf" + }, + { + "type": "boolean" + } + ], + "description": "Static method call via instance variable\nTags: Styleguide\nhttps://rules.abaplint.org/static_call_via_instance" + }, + "strict_sql": { + "anyOf": [ + { + "$ref": "#/definitions/StrictSQLConf" + }, + { + "type": "boolean" + } + ], + "description": "Strict SQL\nTags: Upport, Quickfix\nhttps://rules.abaplint.org/strict_sql" + }, + "superclass_final": { + "anyOf": [ + { + "$ref": "#/definitions/SuperclassFinalConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks that classes which are inherited from are not declared as FINAL.\nTags: Syntax\nhttps://rules.abaplint.org/superclass_final" + }, + "superfluous_value": { + "anyOf": [ + { + "$ref": "#/definitions/SuperfluousValueConf" + }, + { + "type": "boolean" + } + ], + "description": "Find superfluous VALUE expressions\nTags: SingleFile\nhttps://rules.abaplint.org/superfluous_value" + }, + "sy_modification": { + "anyOf": [ + { + "$ref": "#/definitions/SyModificationConf" + }, + { + "type": "boolean" + } + ], + "description": "Finds modification of sy fields\nTags: SingleFile\nhttps://rules.abaplint.org/sy_modification" + }, + "tabl_enhancement_category": { + "anyOf": [ + { + "$ref": "#/definitions/TABLEnhancementCategoryConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks that tables do not have the enhancement category 'not classified'.\nhttps://rules.abaplint.org/tabl_enhancement_category" + }, + "tables_declared_locally": { + "anyOf": [ + { + "$ref": "#/definitions/TablesDeclaredLocallyConf" + }, + { + "type": "boolean" + } + ], + "description": "TABLES are always global, so declare them globally\nTags: SingleFile\nhttps://rules.abaplint.org/tables_declared_locally" + }, + "try_without_catch": { + "anyOf": [ + { + "$ref": "#/definitions/TryWithoutCatchConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks for TRY blocks without a CATCH and CLEANUP block\nTags: SingleFile\nhttps://rules.abaplint.org/try_without_catch" + }, + "type_form_parameters": { + "anyOf": [ + { + "$ref": "#/definitions/TypeFormParametersConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks for untyped FORM parameters\nTags: SingleFile\nhttps://rules.abaplint.org/type_form_parameters" + }, + "types_naming": { + "anyOf": [ + { + "$ref": "#/definitions/TypesNamingConf" + }, + { + "type": "boolean" + } + ], + "description": "Allows you to enforce a pattern for TYPES definitions\nTags: Naming, SingleFile\nhttps://rules.abaplint.org/types_naming" + }, + "uncaught_exception": { + "anyOf": [ + { + "$ref": "#/definitions/UncaughtExceptionConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks for uncaught static exception\nTags: Syntax\nhttps://rules.abaplint.org/uncaught_exception" + }, + "unknown_types": { + "anyOf": [ + { + "$ref": "#/definitions/UnknownTypesConf" + }, + { + "type": "boolean" + } + ], + "description": "Enables check for unknown data types, respects errorNamespace\nTags: Syntax\nhttps://rules.abaplint.org/unknown_types" + }, + "unnecessary_chaining": { + "anyOf": [ + { + "$ref": "#/definitions/UnnecessaryChainingConf" + }, + { + "type": "boolean" + } + ], + "description": "Find unnecessary chaining, all statements are checked\nTags: SingleFile, Quickfix\nhttps://rules.abaplint.org/unnecessary_chaining" + }, + "unnecessary_pragma": { + "anyOf": [ + { + "$ref": "#/definitions/UnnecessaryPragmaConf" + }, + { + "type": "boolean" + } + ], + "description": "Finds pragmas which can be removed\nTags: SingleFile\nhttps://rules.abaplint.org/unnecessary_pragma" + }, + "unnecessary_return": { + "anyOf": [ + { + "$ref": "#/definitions/UnnecessaryReturnConf" + }, + { + "type": "boolean" + } + ], + "description": "Finds unnecessary RETURN statements\nTags: SingleFile, Quickfix\nhttps://rules.abaplint.org/unnecessary_return" + }, + "unreachable_code": { + "anyOf": [ + { + "$ref": "#/definitions/UnreachableCodeConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks for unreachable code.\nTags: SingleFile\nhttps://rules.abaplint.org/unreachable_code" + }, + "unsecure_fae": { + "anyOf": [ + { + "$ref": "#/definitions/UnsecureFAEConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks for unsecure FAE\nTags: Experimental, Performance\nhttps://rules.abaplint.org/unsecure_fae" + }, + "unused_ddic": { + "anyOf": [ + { + "$ref": "#/definitions/UnusedDDICConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks the usage of DDIC objects\nhttps://rules.abaplint.org/unused_ddic" + }, + "unused_macros": { + "anyOf": [ + { + "$ref": "#/definitions/UnusedMacrosConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks for unused macro definitions definitions\nTags: Quickfix\nhttps://rules.abaplint.org/unused_macros" + }, + "unused_methods": { + "anyOf": [ + { + "$ref": "#/definitions/UnusedMethodsConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks for unused methods\nTags: Quickfix\nhttps://rules.abaplint.org/unused_methods" + }, + "unused_types": { + "anyOf": [ + { + "$ref": "#/definitions/UnusedTypesConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks for unused TYPE definitions\nTags: Quickfix\nhttps://rules.abaplint.org/unused_types" + }, + "unused_variables": { + "anyOf": [ + { + "$ref": "#/definitions/UnusedVariablesConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks for unused variables and constants\nTags: Quickfix\nhttps://rules.abaplint.org/unused_variables" + }, + "use_bool_expression": { + "anyOf": [ + { + "$ref": "#/definitions/UseBoolExpressionConf" + }, + { + "type": "boolean" + } + ], + "description": "Use boolean expression, xsdbool from 740sp08 and up, boolc from 702 and up\nTags: Upport, Styleguide, Quickfix, SingleFile\nhttps://rules.abaplint.org/use_bool_expression" + }, + "use_class_based_exceptions": { + "anyOf": [ + { + "$ref": "#/definitions/UseClassBasedExceptionsConf" + }, + { + "type": "boolean" + } + ], + "description": "Use class based exceptions, checks interface and class definitions\nTags: Styleguide, SingleFile\nhttps://rules.abaplint.org/use_class_based_exceptions" + }, + "use_line_exists": { + "anyOf": [ + { + "$ref": "#/definitions/UseLineExistsConf" + }, + { + "type": "boolean" + } + ], + "description": "Use line_exists, from 740sp02 and up\nTags: Upport, Styleguide, SingleFile\nhttps://rules.abaplint.org/use_line_exists" + }, + "use_new": { + "anyOf": [ + { + "$ref": "#/definitions/UseNewConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks for deprecated CREATE OBJECT statements.\nTags: Upport, Styleguide, Quickfix, SingleFile\nhttps://rules.abaplint.org/use_new" + }, + "when_others_last": { + "anyOf": [ + { + "$ref": "#/definitions/WhenOthersLastConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks that WHEN OTHERS is placed the last within a CASE statement.\nTags: SingleFile\nhttps://rules.abaplint.org/when_others_last" + }, + "whitespace_end": { + "anyOf": [ + { + "$ref": "#/definitions/WhitespaceEndConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks for redundant whitespace at the end of each line.\nTags: Whitespace, Quickfix, SingleFile\nhttps://rules.abaplint.org/whitespace_end" + }, + "xml_consistency": { + "anyOf": [ + { + "$ref": "#/definitions/XMLConsistencyConf" + }, + { + "type": "boolean" + } + ], + "description": "Checks the consistency of main XML files, eg. naming for CLAS and INTF objects\nTags: Naming, Syntax\nhttps://rules.abaplint.org/xml_consistency" + } + }, + "type": "object" + } + }, + "required": [ + "global", + "syntax", + "rules" + ], + "type": "object" + }, + "IDependency": { + "additionalProperties": false, + "properties": { + "files": { + "description": "File search, glob pattern", + "type": "string" + }, + "folder": { + "description": "Name of local folder with dependencies", + "type": "string" + }, + "url": { + "description": "Url of a git repository", + "type": "string" + } + }, + "required": [ + "files" + ], + "type": "object" + }, + "IGlobalConfig": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "list of files to exclude, these files are not added when running syntax check or any other rules, case insensitive regex", + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "files": { + "description": "input files, glob format", + "type": "string" + }, + "noIssues": { + "description": "list of files to not report any issues for, case insensitive regex", + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "skipGeneratedBOPFInterfaces": { + "type": "boolean" + }, + "skipGeneratedFunctionGroups": { + "description": "Skips generated table maintenances, determined via TOBJ object", + "type": "boolean" + }, + "skipGeneratedGatewayClasses": { + "type": "boolean" + }, + "skipGeneratedPersistentClasses": { + "type": "boolean" + }, + "skipGeneratedProxyClasses": { + "type": "boolean" + }, + "skipGeneratedProxyInterfaces": { + "type": "boolean" + }, + "skipIncludesWithoutMain": { + "description": "Do not report any issues for includes without main programs", + "type": "boolean" + }, + "useApackDependencies": { + "description": "Clone and parse dependencies specified in .apack-manifest.xml if it is present", + "type": "boolean" + } + }, + "required": [ + "files" + ], + "type": "object" + }, + "IRenameSettings": { + "additionalProperties": false, + "properties": { + "output": { + "description": "output folder, if value is empty or undefined the changes are written inline in the input folders", + "type": "string" + }, + "patterns": { + "description": "List of rename patterns", + "items": { + "additionalProperties": false, + "properties": { + "newName": { + "description": "new name, match groups from oldName regex can be used", + "type": "string" + }, + "oldName": { + "description": "Matches object name, regex, case insensitive", + "type": "string" + }, + "type": { + "description": "Object type, example \"CLAS\", regex, case insensitive", + "type": "string" + } + }, + "required": [ + "type", + "oldName", + "newName" + ], + "type": "object" + }, + "type": "array", + "uniqueItems": true + }, + "skip": { + "description": "list of regex, matches filenames to be skipped, case insensitive", + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "patterns" + ], + "type": "object" + }, + "ISyntaxSettings": { + "additionalProperties": false, + "properties": { + "errorNamespace": { + "description": "Report error for objects in this regex namespace. Types not in namespace will be void. Case insensitive", + "type": "string" + }, + "globalConstants": { + "description": "List of full named global constants (regex not possible)", + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "globalMacros": { + "description": "List of full named global macros (regex not possible)", + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "version": { + "$ref": "#/definitions/Version", + "description": "ABAP language version" + } + }, + "required": [ + "errorNamespace" + ], + "type": "object" + }, + "IdenticalConditionsConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "IdenticalContentsConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "IdenticalDescriptionsConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "IdenticalFormNamesConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "IfInIfConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "ImplementMethodsConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "ImplicitStartOfSelectionConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "InStatementIndentationConf": { + "additionalProperties": false, + "properties": { + "blockStatements": { + "description": "Additional indent for first statement of blocks", + "type": "number" + }, + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "ignoreExceptions": { + "description": "Ignore global exception classes", + "type": "boolean" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "required": [ + "blockStatements", + "ignoreExceptions" + ], + "type": "object" + }, + "IndentationConf": { + "additionalProperties": false, + "properties": { + "alignTryCatch": { + "description": "Align TRY CATCH, TRY and CATCH should have the same indentation", + "type": "boolean" + }, + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "globalClassSkipFirst": { + "type": "boolean" + }, + "ignoreExceptions": { + "description": "Ignore global exception classes", + "type": "boolean" + }, + "ignoreGlobalClassDefinition": { + "type": "boolean" + }, + "ignoreGlobalInterface": { + "type": "boolean" + }, + "selectionScreenBlockIndentation": { + "description": "Add indentation for SELECTION SCREEN BLOCK, standard pretty printer indents this from 754", + "type": "boolean" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "required": [ + "ignoreExceptions", + "alignTryCatch", + "selectionScreenBlockIndentation", + "globalClassSkipFirst", + "ignoreGlobalClassDefinition", + "ignoreGlobalInterface" + ], + "type": "object" + }, + "InlineDataOldVersionsConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "IntfReferencingClasConf": { + "additionalProperties": false, + "properties": { + "allow": { + "description": "List of classes allowed to be referenced, regex, case insensitive", + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "required": [ + "allow" + ], + "type": "object" + }, + "InvalidTableIndexConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "KeepSingleParameterCallsOnOneLineConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "length": { + "description": "Max line length, in characters", + "type": "number" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "required": [ + "length" + ], + "type": "object" + }, + "KeywordCaseConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "ignoreExceptions": { + "description": "Ignore global exception classes", + "type": "boolean" + }, + "ignoreFunctionModuleName": { + "type": "boolean" + }, + "ignoreGlobalClassBoundaries": { + "type": "boolean" + }, + "ignoreGlobalClassDefinition": { + "type": "boolean" + }, + "ignoreGlobalInterface": { + "type": "boolean" + }, + "ignoreKeywords": { + "description": "A list of keywords to be ignored", + "items": { + "type": "string" + }, + "type": "array" + }, + "ignoreLowerClassImplmentationStatement": { + "type": "boolean" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + }, + "style": { + "$ref": "#/definitions/KeywordCaseStyle" + } + }, + "required": [ + "style", + "ignoreExceptions", + "ignoreLowerClassImplmentationStatement", + "ignoreGlobalClassDefinition", + "ignoreGlobalInterface", + "ignoreFunctionModuleName", + "ignoreGlobalClassBoundaries", + "ignoreKeywords" + ], + "type": "object" + }, + "KeywordCaseStyle": { + "enum": [ + "upper", + "lower" + ], + "type": "string" + }, + "LineBreakMultipleParametersConf": { + "additionalProperties": false, + "properties": { + "count": { + "description": "Amount of allowed parameters on one line", + "type": "number" + }, + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "required": [ + "count" + ], + "type": "object" + }, + "LineBreakStyleConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "LineLengthConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "length": { + "description": "Maximum line length in characters, trailing whitespace ignored", + "type": "number" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "required": [ + "length" + ], + "type": "object" + }, + "LineOnlyPuncConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "ignoreExceptions": { + "description": "Ignore lines with only puncutation in global exception classes", + "type": "boolean" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "required": [ + "ignoreExceptions" + ], + "type": "object" + }, + "LocalClassNamingConf": { + "additionalProperties": false, + "properties": { + "exception": { + "description": "The pattern for local exception names", + "type": "string" + }, + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "ignoreNames": { + "description": "A list of names to be ignored", + "items": { + "type": "string" + }, + "type": "array" + }, + "ignorePatterns": { + "description": "A list of patterns to be ignored. For example, you can use it to ignore ambiguous prefixes", + "items": { + "type": "string" + }, + "type": "array" + }, + "local": { + "description": "The pattern for local class names", + "type": "string" + }, + "patternKind": { + "$ref": "#/definitions/PatternKind", + "description": "Specifies whether the pattern is forbidden (violation if name matches) or required (violation if name does not match)." + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + }, + "test": { + "description": "The pattern for local test class names", + "type": "string" + } + }, + "required": [ + "local", + "exception", + "test" + ], + "type": "object" + }, + "LocalTestclassConsistencyConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "LocalVariableNamesConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "expectedConstant": { + "description": "The pattern for local constant names", + "type": "string" + }, + "expectedData": { + "description": "The pattern for local variable names", + "type": "string" + }, + "expectedFS": { + "description": "The pattern for field symbol names", + "type": "string" + }, + "ignoreNames": { + "description": "A list of names to be ignored", + "items": { + "type": "string" + }, + "type": "array" + }, + "ignorePatterns": { + "description": "A list of patterns to be ignored. For example, you can use it to ignore ambiguous prefixes", + "items": { + "type": "string" + }, + "type": "array" + }, + "patternKind": { + "$ref": "#/definitions/PatternKind", + "description": "Specifies whether the pattern is forbidden (violation if name matches) or required (violation if name does not match)." + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "required": [ + "expectedData", + "expectedConstant", + "expectedFS" + ], + "type": "object" + }, + "MSAGConsistencyConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "numericParameters": { + "type": "boolean" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "required": [ + "numericParameters" + ], + "type": "object" + }, + "MacroNamingConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "pattern": { + "description": "The pattern for macros, case insensitive", + "type": "string" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "required": [ + "pattern" + ], + "type": "object" + }, + "MainFileContentsConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "ManyParenthesesConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "MaxOneMethodParameterPerLineConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "MaxOneStatementConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "MessageExistsConf": { + "additionalProperties": false, + "properties": { + "checkPlaceholders": { + "type": "boolean" + }, + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "required": [ + "checkPlaceholders" + ], + "type": "object" + }, + "MethodImplementedTwiceConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "MethodLengthConf": { + "additionalProperties": false, + "properties": { + "checkForms": { + "description": "Option to check forms.", + "type": "boolean" + }, + "errorWhenEmpty": { + "description": "Checks for empty methods/forms.", + "type": "boolean" + }, + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "ignoreTestClasses": { + "description": "Option to ignore test classes for this check.", + "type": "boolean" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + }, + "statements": { + "description": "Maximum method/form length in statements.", + "type": "number" + } + }, + "required": [ + "statements", + "errorWhenEmpty", + "ignoreTestClasses", + "checkForms" + ], + "type": "object" + }, + "MethodOverwritesBuiltInConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "MethodParameterNamesConf": { + "additionalProperties": false, + "properties": { + "changing": { + "description": "The pattern for changing parameters", + "type": "string" + }, + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "exporting": { + "description": "The pattern for exporting parameters", + "type": "string" + }, + "ignoreExceptions": { + "description": "Ignore parameters in methods of exception classes", + "type": "boolean" + }, + "ignoreNames": { + "description": "A list of names to be ignored", + "items": { + "type": "string" + }, + "type": "array" + }, + "ignorePatterns": { + "description": "A list of patterns to be ignored. For example, you can use it to ignore ambiguous prefixes", + "items": { + "type": "string" + }, + "type": "array" + }, + "importing": { + "description": "The pattern for importing parameters", + "type": "string" + }, + "patternKind": { + "$ref": "#/definitions/PatternKind", + "description": "Specifies whether the pattern is forbidden (violation if name matches) or required (violation if name does not match)." + }, + "returning": { + "description": "The pattern for returning parameters", + "type": "string" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "required": [ + "ignoreExceptions", + "importing", + "returning", + "changing", + "exporting" + ], + "type": "object" + }, + "MixReturningConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "ModifyOnlyOwnDBTablesConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "ownTables": { + "description": "Case insensitve regex for own tables", + "type": "string" + }, + "reportDynamic": { + "type": "boolean" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "required": [ + "reportDynamic", + "ownTables" + ], + "type": "object" + }, + "NROBConsistencyConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "NamesNoDashConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "NestingConf": { + "additionalProperties": false, + "properties": { + "depth": { + "description": "Maximum allowed nesting depth", + "type": "number" + }, + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "required": [ + "depth" + ], + "type": "object" + }, + "NewlineBetweenMethodsConf": { + "additionalProperties": false, + "properties": { + "count": { + "description": "Amount of newlines, works in conjunction with \"newlineLogic\"", + "type": "number" + }, + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "logic": { + "$ref": "#/definitions/NewlineLogic", + "description": "Exact: the exact number of required newlines between methods is defined by \"newlineAmount\"\n\nLess: the required number of newlines has to be less than \"newlineAmount\"" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "required": [ + "count", + "logic" + ], + "type": "object" + }, + "NewlineLogic": { + "enum": [ + "exact", + "less" + ], + "type": "string" + }, + "NoAliasesConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "NoChainedAssignmentConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "NoExternalFormCallsConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "NoInlineInOptionalBranchesConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "NoPrefixesConf": { + "additionalProperties": false, + "properties": { + "allowIsPrefixBoolean": { + "type": "boolean" + }, + "constants": { + "description": "CONSTANTS, CONSTANTS BEGIN OF, case insensitive regex", + "type": "string" + }, + "data": { + "description": "DATA, CLASS-DATA, DATA BEGIN OF, CLASS-DATA BEGIN OF, FINAL(), DATA(), case insensitive regex", + "type": "string" + }, + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "fieldSymbols": { + "description": "FIELD-SYMBOLS and inline FIELD-SYMBOLS(), case insensitive regex", + "type": "string" + }, + "methodParameters": { + "description": "importing, exporting, returning and changing parameters, case insensitive regex", + "type": "string" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + }, + "statics": { + "description": "STATICS, STATICS BEGIN OF, case insensitive regex", + "type": "string" + }, + "types": { + "description": "TYPES, ENUM, MESH, case insensitive regex", + "type": "string" + } + }, + "required": [ + "data", + "statics", + "fieldSymbols", + "constants", + "types", + "methodParameters", + "allowIsPrefixBoolean" + ], + "type": "object" + }, + "NoPublicAttributesConf": { + "additionalProperties": false, + "properties": { + "allowReadOnly": { + "description": "Allows public attributes, if they are declared as READ-ONLY.", + "type": "boolean" + }, + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "ignoreTestClasses": { + "description": "Option to ignore test classes for this check.", + "type": "boolean" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "required": [ + "allowReadOnly", + "ignoreTestClasses" + ], + "type": "object" + }, + "NoYodaConditionsConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "onlyConstants": { + "description": "Only report issues where the left side is a constant", + "type": "boolean" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "required": [ + "onlyConstants" + ], + "type": "object" + }, + "ObjectNamingConf": { + "additionalProperties": false, + "properties": { + "aqbg": { + "description": "The regex pattern for ABAP Query: User group", + "type": "string" + }, + "aqqu": { + "description": "The regex pattern for ABAP Query: Query", + "type": "string" + }, + "aqsg": { + "description": "The regex pattern for ABAP Query: Functional area", + "type": "string" + }, + "auth": { + "description": "The regex pattern for authorization object names", + "type": "string" + }, + "clas": { + "description": "The regex pattern for global class names", + "type": "string" + }, + "cmod": { + "description": "The regex pattern for Customer enhancement projects", + "type": "string" + }, + "doma": { + "description": "The regex pattern for domain names", + "type": "string" + }, + "dtel": { + "description": "The regex pattern for data element names", + "type": "string" + }, + "enho": { + "description": "The regex pattern for Enhancement Implementation", + "type": "string" + }, + "enhs": { + "description": "The regex pattern for Enhancement Spot", + "type": "string" + }, + "enqu": { + "description": "The regex pattern for lock object names", + "type": "string" + }, + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "form": { + "description": "The regex pattern for SAPscript form", + "type": "string" + }, + "fugr": { + "description": "The regex pattern for function group names", + "type": "string" + }, + "idoc": { + "description": "The regex pattern for idoc names", + "type": "string" + }, + "ignoreNames": { + "description": "A list of names to be ignored", + "items": { + "type": "string" + }, + "type": "array" + }, + "ignorePatterns": { + "description": "A list of patterns to be ignored. For example, you can use it to ignore ambiguous prefixes", + "items": { + "type": "string" + }, + "type": "array" + }, + "intf": { + "description": "The regex pattern for global interface names", + "type": "string" + }, + "msag": { + "description": "The regex pattern for message class names", + "type": "string" + }, + "patternKind": { + "$ref": "#/definitions/PatternKind", + "description": "Specifies whether the pattern is forbidden (violation if name matches) or required (violation if name does not match)." + }, + "pinf": { + "description": "The regex pattern for package interface names", + "type": "string" + }, + "prog": { + "description": "The regex pattern for program (report) names", + "type": "string" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + }, + "sfpf": { + "description": "The regex pattern for Adobe Form Definition", + "type": "string" + }, + "sfpi": { + "description": "The regex pattern for Adobe Interface Definition", + "type": "string" + }, + "shlp": { + "description": "The regex pattern for search helps", + "type": "string" + }, + "ssfo": { + "description": "The regex pattern for smartform names", + "type": "string" + }, + "ssst": { + "description": "The regex pattern for smartstyle names", + "type": "string" + }, + "sucu": { + "description": "The regex pattern for Authorization Group", + "type": "string" + }, + "suso": { + "description": "The regex pattern for Authorization Object", + "type": "string" + }, + "sxci": { + "description": "The regex pattern for BADI Implementation", + "type": "string" + }, + "tabl": { + "description": "The regex pattern for DDIC table names", + "type": "string" + }, + "tran": { + "description": "The regex pattern for transaction names", + "type": "string" + }, + "ttyp": { + "description": "The regex pattern for DDIC table type names", + "type": "string" + }, + "wdya": { + "description": "The regex pattern for Web Dynpro Application", + "type": "string" + }, + "wdyn": { + "description": "The regex pattern for Web Dynpro Component", + "type": "string" + }, + "xslt": { + "description": "The regex pattern for transformation names", + "type": "string" + } + }, + "type": "object" + }, + "ObsoleteStatementConf": { + "additionalProperties": false, + "properties": { + "add": { + "description": "Check for ADD statement", + "type": "boolean" + }, + "callTransformation": { + "description": "Checks for CALL TRANSFORMATION OBJECTS", + "type": "boolean" + }, + "clientSpecified": { + "description": "Check for CLIENT SPECIFIED", + "type": "boolean" + }, + "communication": { + "description": "Checks for COMMUNICATION", + "type": "boolean" + }, + "compute": { + "description": "Check for COMPUTE statement", + "type": "boolean" + }, + "divide": { + "description": "Check for DIVIDE statement", + "type": "boolean" + }, + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "exitFromSQL": { + "description": "Checks for EXIT FROM SQL", + "type": "boolean" + }, + "fieldSymbolStructure": { + "description": "Checks for FIELD-SYMBOLS ... STRUCTURE", + "type": "boolean" + }, + "formDefinition": { + "description": "Check for FORM DEFINITION", + "type": "boolean" + }, + "formImplementation": { + "description": "Check for FORM IMPLEMENTATION", + "type": "boolean" + }, + "freeMemory": { + "description": "FREE MEMORY, without ID", + "type": "boolean" + }, + "load": { + "description": "Checks for addition LOAD", + "type": "boolean" + }, + "move": { + "description": "Check for MOVE statement", + "type": "boolean" + }, + "multiply": { + "description": "Check for MULTIPLY statement", + "type": "boolean" + }, + "occurences": { + "description": "Check for OCCURENCES vs OCCURRENCES usage", + "type": "boolean" + }, + "occurs": { + "description": "Checks for usages of OCCURS", + "type": "boolean" + }, + "pack": { + "description": "Checks for PACK", + "type": "boolean" + }, + "parameter": { + "description": "Checks for PARAMETER", + "type": "boolean" + }, + "ranges": { + "description": "Checks for RANGES", + "type": "boolean" + }, + "refresh": { + "description": "Check for REFRESH statement", + "type": "boolean" + }, + "regex": { + "description": "Check for POSIX REGEX usage", + "type": "boolean" + }, + "requested": { + "description": "Checks for usages of IS REQUESTED", + "type": "boolean" + }, + "selectWithoutInto": { + "description": "Checks for SELECT without INTO", + "type": "boolean" + }, + "setExtended": { + "description": "Checks for SET EXTENDED CHECK", + "type": "boolean" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + }, + "sortByFS": { + "description": "Checks for SORT itab BY ", + "type": "boolean" + }, + "subtract": { + "description": "Check for SUBTRACT statement", + "type": "boolean" + }, + "typePools": { + "description": "Checks for TYPE-POOLS", + "type": "boolean" + }, + "withHeaderLine": { + "description": "Checks for WITH HEADER LINE", + "type": "boolean" + } + }, + "required": [ + "refresh", + "compute", + "add", + "subtract", + "multiply", + "divide", + "move", + "requested", + "occurs", + "setExtended", + "withHeaderLine", + "fieldSymbolStructure", + "typePools", + "load", + "parameter", + "ranges", + "communication", + "pack", + "selectWithoutInto", + "freeMemory", + "exitFromSQL", + "sortByFS", + "callTransformation", + "regex", + "occurences", + "clientSpecified", + "formDefinition", + "formImplementation" + ], + "type": "object" + }, + "OmitParameterNameConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "OmitPrecedingZerosConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "OmitReceivingConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "Parser702ChainingConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "ParserErrorConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "ParserMissingSpaceConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "PatternKind": { + "enum": [ + "required", + "forbidden" + ], + "type": "string" + }, + "PragmaStyleConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + }, + "style": { + "$ref": "#/definitions/KeywordCaseStyle" + } + }, + "required": [ + "style" + ], + "type": "object" + }, + "PreferCorrespondingConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "PreferInlineConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "PreferIsNotConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "PreferPragmasConf": { + "additionalProperties": false, + "properties": { + "check": { + "items": { + "additionalProperties": false, + "properties": { + "pragma": { + "type": "string" + }, + "pseudo": { + "type": "string" + } + }, + "required": [ + "pseudo", + "pragma" + ], + "type": "object" + }, + "type": "array" + }, + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "required": [ + "check" + ], + "type": "object" + }, + "PreferRaiseExceptionNewConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "PreferReturningToExportingConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "PreferXsdboolConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "PreferredCompareOperatorConf": { + "additionalProperties": false, + "properties": { + "badOperators": { + "description": "Operators which are not allowed", + "items": { + "type": "string" + }, + "type": "array" + }, + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "required": [ + "badOperators" + ], + "type": "object" + }, + "PrefixIsCurrentClassConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "omitMeInstanceCalls": { + "description": "Checks usages of self references with 'me' when calling instance methods", + "type": "boolean" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "required": [ + "omitMeInstanceCalls" + ], + "type": "object" + }, + "RFCErrorHandlingConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "Recommendations": { + "additionalProperties": false, + "properties": { + "from": { + "$ref": "#/definitions/Version" + }, + "name": { + "pattern": "^\\w+$", + "type": "string" + }, + "replace": { + "type": "string" + } + }, + "required": [ + "name", + "replace" + ], + "type": "object" + }, + "ReduceProceduralCodeConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "maxStatements": { + "type": "number" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "required": [ + "maxStatements" + ], + "type": "object" + }, + "ReduceStringTemplatesConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "ReleaseIdocConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "RemoveDescriptionsConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "ignoreExceptions": { + "description": "Ignore global exception classes", + "type": "boolean" + }, + "ignoreWorkflow": { + "description": "Ignore global workflow classes", + "type": "boolean" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "required": [ + "ignoreExceptions", + "ignoreWorkflow" + ], + "type": "object" + }, + "SICFConsistencyConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + }, + "skipNames": { + "description": "skip specific names, case insensitive", + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "SMIMConsistencyConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "SQLEscapeHostVariablesConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "SQLValueConversionConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "SelectAddOrderByConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + }, + "skipForAllEntries": { + "type": "boolean" + } + }, + "required": [ + "skipForAllEntries" + ], + "type": "object" + }, + "SelectPerformanceConf": { + "additionalProperties": false, + "properties": { + "endSelect": { + "description": "Detects ENDSELECT", + "type": "boolean" + }, + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "selectStar": { + "description": "Detects SELECT *", + "type": "boolean" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + }, + "starOkayIfFewColumns": { + "default": 10, + "description": "\"SELECT\" * is considered okay if the table is less than X columns, the table must be known to the linter", + "type": "number" + } + }, + "required": [ + "endSelect", + "selectStar", + "starOkayIfFewColumns" + ], + "type": "object" + }, + "SelectSingleFullKeyConf": { + "additionalProperties": false, + "properties": { + "allowPseudo": { + "type": "boolean" + }, + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "required": [ + "allowPseudo" + ], + "type": "object" + }, + "SelectionScreenNamingConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "ignoreNames": { + "description": "A list of names to be ignored", + "items": { + "type": "string" + }, + "type": "array" + }, + "ignorePatterns": { + "description": "A list of patterns to be ignored. For example, you can use it to ignore ambiguous prefixes", + "items": { + "type": "string" + }, + "type": "array" + }, + "parameter": { + "description": "The pattern for selection-screen parameters", + "type": "string" + }, + "patternKind": { + "$ref": "#/definitions/PatternKind", + "description": "Specifies whether the pattern is forbidden (violation if name matches) or required (violation if name does not match)." + }, + "screenElement": { + "description": "The pattern for selection-screen screen elements", + "type": "string" + }, + "selectOption": { + "description": "The pattern for selection-screen select-options", + "type": "string" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "required": [ + "parameter", + "selectOption", + "screenElement" + ], + "type": "object" + }, + "SequentialBlankConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "lines": { + "description": "An equal or higher number of sequential blank lines will trigger a violation. Example: if lines = 3, a maximum of 2 is allowed.", + "type": "number" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "required": [ + "lines" + ], + "type": "object" + }, + "SevenBitAsciiConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "Severity": { + "enum": [ + "Error", + "Warning", + "Info" + ], + "type": "string" + }, + "ShortCaseConf": { + "additionalProperties": false, + "properties": { + "allow": { + "description": "List of inputs for CASE which are allowed", + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "length": { + "description": "The smallest number of WHEN branches which will trigger a violation. Example: if length = 1, at least 2 branches are required", + "type": "number" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "required": [ + "length", + "allow" + ], + "type": "object" + }, + "SlowParameterPassingConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "SpaceBeforeColonConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "SpaceBeforeDotConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "ignoreExceptions": { + "type": "boolean" + }, + "ignoreGlobalDefinition": { + "type": "boolean" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "required": [ + "ignoreGlobalDefinition", + "ignoreExceptions" + ], + "type": "object" + }, + "StartAtTabConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "StaticCallViaInstanceConf": { + "additionalProperties": false, + "properties": { + "allowInTestclassIncludes": { + "description": "Allow in test class includes", + "type": "boolean" + }, + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "StrictSQLConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "SuperclassFinalConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "SuperfluousValueConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "SyModificationConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "TABLEnhancementCategoryConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "TablesDeclaredLocallyConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "TryWithoutCatchConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "TypeFormParametersConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "TypesNamingConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "pattern": { + "description": "The pattern for TYPES, case insensitive", + "type": "string" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "required": [ + "pattern" + ], + "type": "object" + }, + "UncaughtExceptionConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "reportDynamic": { + "type": "boolean" + }, + "reportNoCheck": { + "type": "boolean" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "required": [ + "reportDynamic", + "reportNoCheck" + ], + "type": "object" + }, + "UnknownTypesConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "UnnecessaryChainingConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "UnnecessaryPragmaConf": { + "additionalProperties": false, + "properties": { + "allowNoTextGlobal": { + "description": "Allow NO_TEXT in global CLAS and INTF definitions, its added automatically by SE24 in some cases where it should not", + "type": "boolean" + }, + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "UnnecessaryReturnConf": { + "additionalProperties": false, + "properties": { + "allowEmpty": { + "type": "boolean" + }, + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "required": [ + "allowEmpty" + ], + "type": "object" + }, + "UnreachableCodeConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "UnsecureFAEConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "UnusedDDICConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "UnusedMacrosConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + }, + "skipNames": { + "description": "skip specific names, case insensitive", + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "UnusedMethodsConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "UnusedTypesConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + }, + "skipNames": { + "description": "skip specific names, case insensitive", + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "UnusedVariablesConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + }, + "skipAbstract": { + "description": "skip parameters from abstract methods", + "type": "boolean" + }, + "skipNames": { + "description": "skip specific names, case insensitive", + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "skipAbstract" + ], + "type": "object" + }, + "UseBoolExpressionConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "UseClassBasedExceptionsConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "UseLineExistsConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "UseNewConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "Version": { + "enum": [ + "open-abap", + "v700", + "v702", + "v740sp02", + "v740sp05", + "v740sp08", + "v750", + "v751", + "v752", + "v753", + "v754", + "v755", + "v756", + "v757", + "v758", + "Cloud" + ], + "type": "string" + }, + "WhenOthersLastConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "WhitespaceEndConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + }, + "XMLConsistencyConf": { + "additionalProperties": false, + "properties": { + "exclude": { + "description": "List of file regex filename patterns to exclude, case insensitive", + "items": { + "type": "string" + }, + "type": "array" + }, + "severity": { + "$ref": "#/definitions/Severity", + "description": "Problem severity" + } + }, + "type": "object" + } + } +} \ No newline at end of file diff --git a/schema.json b/schema.json index ba1fd89..a7ad104 100644 --- a/schema.json +++ b/schema.json @@ -940,6 +940,9 @@ "description": "Detects INSERT REPORT", "type": "boolean" }, + "insertTextpool": { + "type": "boolean" + }, "kernelCall": { "description": "Detects kernel calls", "type": "boolean" @@ -963,6 +966,7 @@ "generateSubroutine", "deleteReport", "deleteTextpool", + "insertTextpool", "deleteDynpro", "exportDynpro", "dynamicSQL" @@ -3373,7 +3377,7 @@ "type": "boolean" } ], - "description": "Checks for unused methods\nhttps://rules.abaplint.org/unused_methods" + "description": "Checks for unused methods\nTags: Quickfix\nhttps://rules.abaplint.org/unused_methods" }, "unused_types": { "anyOf": [ @@ -5265,7 +5269,7 @@ "type": "boolean" } ], - "description": "Checks for unused methods\nhttps://rules.abaplint.org/unused_methods" + "description": "Checks for unused methods\nTags: Quickfix\nhttps://rules.abaplint.org/unused_methods" }, "unused_types": { "anyOf": [