@abaplint/core 2.119.43 → 2.119.45

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (374) hide show
  1. package/build/abaplint.d.ts +506 -7
  2. package/build/src/abap/2_statements/combi.js +100 -39
  3. package/build/src/abap/2_statements/expand_macros.js +6 -4
  4. package/build/src/abap/2_statements/expressions/_dynamic_access.js +2 -2
  5. package/build/src/abap/2_statements/expressions/_select_core.js +14 -12
  6. package/build/src/abap/2_statements/expressions/assign_source.js +10 -4
  7. package/build/src/abap/2_statements/expressions/cast.js +1 -1
  8. package/build/src/abap/2_statements/expressions/compare.js +2 -2
  9. package/build/src/abap/2_statements/expressions/component_compare.js +1 -1
  10. package/build/src/abap/2_statements/expressions/component_compare_simple.js +1 -1
  11. package/build/src/abap/2_statements/expressions/cond.js +1 -1
  12. package/build/src/abap/2_statements/expressions/corresponding_body.js +1 -1
  13. package/build/src/abap/2_statements/expressions/data_definition.js +1 -1
  14. package/build/src/abap/2_statements/expressions/database_table.js +8 -0
  15. package/build/src/abap/2_statements/expressions/find_type.js +1 -1
  16. package/build/src/abap/2_statements/expressions/for.js +2 -2
  17. package/build/src/abap/2_statements/expressions/function_exporting_parameter.js +1 -1
  18. package/build/src/abap/2_statements/expressions/index.js +9 -0
  19. package/build/src/abap/2_statements/expressions/inlinedata.js +1 -1
  20. package/build/src/abap/2_statements/expressions/inlinefs.js +1 -1
  21. package/build/src/abap/2_statements/expressions/loop_source.js +1 -1
  22. package/build/src/abap/2_statements/expressions/message_source_source.js +1 -1
  23. package/build/src/abap/2_statements/expressions/new_object.js +1 -1
  24. package/build/src/abap/2_statements/expressions/reduce_next.js +1 -1
  25. package/build/src/abap/2_statements/expressions/select.js +2 -2
  26. package/build/src/abap/2_statements/expressions/select_cte.js +7 -6
  27. package/build/src/abap/2_statements/expressions/source.js +11 -11
  28. package/build/src/abap/2_statements/expressions/sql_aggregation.js +9 -9
  29. package/build/src/abap/2_statements/expressions/sql_association_entry.js +1 -1
  30. package/build/src/abap/2_statements/expressions/sql_associations_list.js +1 -1
  31. package/build/src/abap/2_statements/expressions/sql_case.js +1 -1
  32. package/build/src/abap/2_statements/expressions/sql_client.js +2 -2
  33. package/build/src/abap/2_statements/expressions/sql_compare.js +7 -6
  34. package/build/src/abap/2_statements/expressions/sql_cte_associations.js +1 -1
  35. package/build/src/abap/2_statements/expressions/sql_cte_hierarchy.js +1 -1
  36. package/build/src/abap/2_statements/expressions/sql_field.js +4 -4
  37. package/build/src/abap/2_statements/expressions/sql_field_list.js +1 -1
  38. package/build/src/abap/2_statements/expressions/sql_field_list_loop.js +2 -2
  39. package/build/src/abap/2_statements/expressions/sql_field_list_loop_greedy.js +2 -2
  40. package/build/src/abap/2_statements/expressions/sql_from.js +9 -8
  41. package/build/src/abap/2_statements/expressions/sql_from_source.js +4 -3
  42. package/build/src/abap/2_statements/expressions/sql_function.js +363 -31
  43. package/build/src/abap/2_statements/expressions/sql_function_input.js +1 -1
  44. package/build/src/abap/2_statements/expressions/sql_group_by.js +2 -2
  45. package/build/src/abap/2_statements/expressions/sql_hierarchy_accessor.js +1 -1
  46. package/build/src/abap/2_statements/expressions/sql_hierarchy_aggregate.js +1 -1
  47. package/build/src/abap/2_statements/expressions/sql_hierarchy_source.js +1 -1
  48. package/build/src/abap/2_statements/expressions/sql_in.js +2 -2
  49. package/build/src/abap/2_statements/expressions/sql_into_list.js +1 -1
  50. package/build/src/abap/2_statements/expressions/sql_join.js +1 -1
  51. package/build/src/abap/2_statements/expressions/sql_like_regexpr.js +19 -0
  52. package/build/src/abap/2_statements/expressions/sql_locate_regexpr.js +18 -0
  53. package/build/src/abap/2_statements/expressions/sql_occurrences_regexpr.js +15 -0
  54. package/build/src/abap/2_statements/expressions/sql_options.js +2 -2
  55. package/build/src/abap/2_statements/expressions/sql_over.js +2 -2
  56. package/build/src/abap/2_statements/expressions/sql_path_for_column.js +1 -1
  57. package/build/src/abap/2_statements/expressions/sql_path_for_entity.js +1 -1
  58. package/build/src/abap/2_statements/expressions/sql_path_segment.js +3 -3
  59. package/build/src/abap/2_statements/expressions/sql_privileged_access.js +1 -1
  60. package/build/src/abap/2_statements/expressions/sql_regexpr_from.js +17 -0
  61. package/build/src/abap/2_statements/expressions/sql_regexpr_group.js +17 -0
  62. package/build/src/abap/2_statements/expressions/sql_regexpr_occurrence.js +17 -0
  63. package/build/src/abap/2_statements/expressions/sql_regexpr_pattern.js +18 -0
  64. package/build/src/abap/2_statements/expressions/sql_replace_regexpr.js +22 -0
  65. package/build/src/abap/2_statements/expressions/sql_set_op.js +1 -1
  66. package/build/src/abap/2_statements/expressions/sql_set_op_group.js +2 -2
  67. package/build/src/abap/2_statements/expressions/sql_source.js +1 -1
  68. package/build/src/abap/2_statements/expressions/sql_source_no_space.js +1 -1
  69. package/build/src/abap/2_statements/expressions/sql_source_simple.js +1 -1
  70. package/build/src/abap/2_statements/expressions/sql_substring_regexpr.js +18 -0
  71. package/build/src/abap/2_statements/expressions/sql_target.js +2 -2
  72. package/build/src/abap/2_statements/expressions/string_template.js +1 -1
  73. package/build/src/abap/2_statements/expressions/string_template_formatting.js +2 -2
  74. package/build/src/abap/2_statements/expressions/table_expression.js +1 -1
  75. package/build/src/abap/2_statements/expressions/type.js +1 -1
  76. package/build/src/abap/2_statements/expressions/type_table.js +1 -1
  77. package/build/src/abap/2_statements/expressions/type_table_key.js +1 -1
  78. package/build/src/abap/2_statements/expressions/value_body.js +1 -1
  79. package/build/src/abap/2_statements/result.js +6 -0
  80. package/build/src/abap/2_statements/statement_parser.js +8 -5
  81. package/build/src/abap/2_statements/statements/add.js +2 -1
  82. package/build/src/abap/2_statements/statements/add_corresponding.js +1 -1
  83. package/build/src/abap/2_statements/statements/append.js +1 -1
  84. package/build/src/abap/2_statements/statements/assert.js +2 -1
  85. package/build/src/abap/2_statements/statements/assign.js +8 -3
  86. package/build/src/abap/2_statements/statements/assign_local_copy.js +1 -1
  87. package/build/src/abap/2_statements/statements/at.js +2 -1
  88. package/build/src/abap/2_statements/statements/at_line_selection.js +1 -1
  89. package/build/src/abap/2_statements/statements/at_pf.js +1 -1
  90. package/build/src/abap/2_statements/statements/at_selection_screen.js +1 -1
  91. package/build/src/abap/2_statements/statements/at_user_command.js +1 -1
  92. package/build/src/abap/2_statements/statements/authority_check.js +2 -1
  93. package/build/src/abap/2_statements/statements/back.js +1 -1
  94. package/build/src/abap/2_statements/statements/break.js +1 -1
  95. package/build/src/abap/2_statements/statements/break_id.js +1 -1
  96. package/build/src/abap/2_statements/statements/call.js +2 -1
  97. package/build/src/abap/2_statements/statements/call_badi.js +1 -1
  98. package/build/src/abap/2_statements/statements/call_database.js +1 -1
  99. package/build/src/abap/2_statements/statements/call_dialog.js +1 -1
  100. package/build/src/abap/2_statements/statements/call_function.js +5 -5
  101. package/build/src/abap/2_statements/statements/call_kernel.js +1 -1
  102. package/build/src/abap/2_statements/statements/call_ole.js +1 -1
  103. package/build/src/abap/2_statements/statements/call_screen.js +1 -1
  104. package/build/src/abap/2_statements/statements/call_selection_screen.js +1 -1
  105. package/build/src/abap/2_statements/statements/call_subscreen.js +1 -1
  106. package/build/src/abap/2_statements/statements/call_transaction.js +1 -1
  107. package/build/src/abap/2_statements/statements/call_transformation.js +2 -1
  108. package/build/src/abap/2_statements/statements/case_type.js +1 -1
  109. package/build/src/abap/2_statements/statements/catch_system_exceptions.js +1 -1
  110. package/build/src/abap/2_statements/statements/chain.js +1 -1
  111. package/build/src/abap/2_statements/statements/check_select_options.js +1 -1
  112. package/build/src/abap/2_statements/statements/class_deferred.js +2 -1
  113. package/build/src/abap/2_statements/statements/class_definition.js +1 -1
  114. package/build/src/abap/2_statements/statements/class_definition_load.js +2 -1
  115. package/build/src/abap/2_statements/statements/close_cursor.js +1 -1
  116. package/build/src/abap/2_statements/statements/close_dataset.js +1 -1
  117. package/build/src/abap/2_statements/statements/commit.js +2 -1
  118. package/build/src/abap/2_statements/statements/commit_entities.js +1 -1
  119. package/build/src/abap/2_statements/statements/communication.js +1 -1
  120. package/build/src/abap/2_statements/statements/compute.js +1 -1
  121. package/build/src/abap/2_statements/statements/contexts.js +1 -1
  122. package/build/src/abap/2_statements/statements/controls.js +1 -1
  123. package/build/src/abap/2_statements/statements/convert.js +2 -2
  124. package/build/src/abap/2_statements/statements/create_data.js +2 -2
  125. package/build/src/abap/2_statements/statements/create_object.js +2 -2
  126. package/build/src/abap/2_statements/statements/create_ole.js +1 -1
  127. package/build/src/abap/2_statements/statements/define.js +1 -1
  128. package/build/src/abap/2_statements/statements/delete_cluster.js +1 -1
  129. package/build/src/abap/2_statements/statements/delete_database.js +2 -1
  130. package/build/src/abap/2_statements/statements/delete_dataset.js +1 -1
  131. package/build/src/abap/2_statements/statements/delete_dynpro.js +1 -1
  132. package/build/src/abap/2_statements/statements/delete_internal.js +3 -1
  133. package/build/src/abap/2_statements/statements/delete_memory.js +1 -1
  134. package/build/src/abap/2_statements/statements/delete_report.js +1 -1
  135. package/build/src/abap/2_statements/statements/delete_textpool.js +1 -1
  136. package/build/src/abap/2_statements/statements/demand.js +1 -1
  137. package/build/src/abap/2_statements/statements/describe.js +1 -1
  138. package/build/src/abap/2_statements/statements/detail.js +1 -1
  139. package/build/src/abap/2_statements/statements/divide.js +2 -1
  140. package/build/src/abap/2_statements/statements/editor_call.js +1 -1
  141. package/build/src/abap/2_statements/statements/end_chain.js +1 -1
  142. package/build/src/abap/2_statements/statements/end_enhancement.js +1 -1
  143. package/build/src/abap/2_statements/statements/end_enhancement_section.js +1 -1
  144. package/build/src/abap/2_statements/statements/end_of_page.js +1 -1
  145. package/build/src/abap/2_statements/statements/end_of_selection.js +1 -1
  146. package/build/src/abap/2_statements/statements/end_test_seam.js +1 -1
  147. package/build/src/abap/2_statements/statements/endcatch.js +1 -1
  148. package/build/src/abap/2_statements/statements/enddefine.js +1 -1
  149. package/build/src/abap/2_statements/statements/endexec.js +1 -1
  150. package/build/src/abap/2_statements/statements/endform.js +2 -2
  151. package/build/src/abap/2_statements/statements/endfunction.js +2 -1
  152. package/build/src/abap/2_statements/statements/endmodule.js +1 -1
  153. package/build/src/abap/2_statements/statements/endon.js +1 -1
  154. package/build/src/abap/2_statements/statements/endprovide.js +1 -1
  155. package/build/src/abap/2_statements/statements/endwith.js +1 -1
  156. package/build/src/abap/2_statements/statements/enhancement.js +1 -1
  157. package/build/src/abap/2_statements/statements/enhancement_point.js +1 -1
  158. package/build/src/abap/2_statements/statements/enhancement_section.js +1 -1
  159. package/build/src/abap/2_statements/statements/exec_sql.js +1 -1
  160. package/build/src/abap/2_statements/statements/export.js +4 -3
  161. package/build/src/abap/2_statements/statements/export_dynpro.js +1 -1
  162. package/build/src/abap/2_statements/statements/extract.js +1 -1
  163. package/build/src/abap/2_statements/statements/fetch_next_cursor.js +1 -1
  164. package/build/src/abap/2_statements/statements/field.js +1 -1
  165. package/build/src/abap/2_statements/statements/field_group.js +1 -1
  166. package/build/src/abap/2_statements/statements/fields.js +1 -1
  167. package/build/src/abap/2_statements/statements/form.js +2 -1
  168. package/build/src/abap/2_statements/statements/format.js +1 -1
  169. package/build/src/abap/2_statements/statements/free.js +2 -1
  170. package/build/src/abap/2_statements/statements/free_memory.js +1 -1
  171. package/build/src/abap/2_statements/statements/free_object.js +1 -1
  172. package/build/src/abap/2_statements/statements/function_module.js +2 -1
  173. package/build/src/abap/2_statements/statements/function_pool.js +2 -1
  174. package/build/src/abap/2_statements/statements/generate_dynpro.js +1 -1
  175. package/build/src/abap/2_statements/statements/generate_report.js +1 -1
  176. package/build/src/abap/2_statements/statements/generate_subroutine.js +1 -1
  177. package/build/src/abap/2_statements/statements/get.js +1 -1
  178. package/build/src/abap/2_statements/statements/get_badi.js +1 -1
  179. package/build/src/abap/2_statements/statements/get_cursor.js +1 -1
  180. package/build/src/abap/2_statements/statements/get_dataset.js +1 -1
  181. package/build/src/abap/2_statements/statements/get_locale.js +1 -1
  182. package/build/src/abap/2_statements/statements/get_parameter.js +1 -1
  183. package/build/src/abap/2_statements/statements/get_permissions.js +1 -1
  184. package/build/src/abap/2_statements/statements/get_pf_status.js +1 -1
  185. package/build/src/abap/2_statements/statements/get_property.js +1 -1
  186. package/build/src/abap/2_statements/statements/get_reference.js +2 -1
  187. package/build/src/abap/2_statements/statements/get_run_time.js +1 -1
  188. package/build/src/abap/2_statements/statements/get_time.js +2 -1
  189. package/build/src/abap/2_statements/statements/hide.js +1 -1
  190. package/build/src/abap/2_statements/statements/import.js +5 -4
  191. package/build/src/abap/2_statements/statements/import_dynpro.js +1 -1
  192. package/build/src/abap/2_statements/statements/import_nametab.js +1 -1
  193. package/build/src/abap/2_statements/statements/infotypes.js +1 -1
  194. package/build/src/abap/2_statements/statements/initialization.js +1 -1
  195. package/build/src/abap/2_statements/statements/input.js +1 -1
  196. package/build/src/abap/2_statements/statements/insert_database.js +2 -1
  197. package/build/src/abap/2_statements/statements/insert_field_group.js +1 -1
  198. package/build/src/abap/2_statements/statements/insert_internal.js +1 -1
  199. package/build/src/abap/2_statements/statements/insert_report.js +2 -2
  200. package/build/src/abap/2_statements/statements/insert_textpool.js +1 -1
  201. package/build/src/abap/2_statements/statements/interface_def.js +1 -1
  202. package/build/src/abap/2_statements/statements/interface_deferred.js +2 -1
  203. package/build/src/abap/2_statements/statements/interface_load.js +2 -1
  204. package/build/src/abap/2_statements/statements/leave.js +1 -1
  205. package/build/src/abap/2_statements/statements/load_of_program.js +1 -1
  206. package/build/src/abap/2_statements/statements/load_report.js +1 -1
  207. package/build/src/abap/2_statements/statements/local.js +1 -1
  208. package/build/src/abap/2_statements/statements/log_point.js +1 -1
  209. package/build/src/abap/2_statements/statements/loop.js +4 -4
  210. package/build/src/abap/2_statements/statements/loop_at_screen.js +1 -1
  211. package/build/src/abap/2_statements/statements/loop_extract.js +2 -1
  212. package/build/src/abap/2_statements/statements/message.js +3 -2
  213. package/build/src/abap/2_statements/statements/method_def.js +9 -5
  214. package/build/src/abap/2_statements/statements/method_implementation.js +3 -1
  215. package/build/src/abap/2_statements/statements/modify_database.js +2 -1
  216. package/build/src/abap/2_statements/statements/modify_entities.js +1 -1
  217. package/build/src/abap/2_statements/statements/modify_line.js +1 -1
  218. package/build/src/abap/2_statements/statements/modify_screen.js +1 -1
  219. package/build/src/abap/2_statements/statements/module.js +1 -1
  220. package/build/src/abap/2_statements/statements/move.js +2 -2
  221. package/build/src/abap/2_statements/statements/move_corresponding.js +2 -2
  222. package/build/src/abap/2_statements/statements/multiply.js +2 -1
  223. package/build/src/abap/2_statements/statements/new_line.js +1 -1
  224. package/build/src/abap/2_statements/statements/new_page.js +1 -1
  225. package/build/src/abap/2_statements/statements/nodes.js +1 -1
  226. package/build/src/abap/2_statements/statements/on_change.js +1 -1
  227. package/build/src/abap/2_statements/statements/open_cursor.js +2 -2
  228. package/build/src/abap/2_statements/statements/open_dataset.js +1 -1
  229. package/build/src/abap/2_statements/statements/pack.js +1 -1
  230. package/build/src/abap/2_statements/statements/parameter.js +1 -1
  231. package/build/src/abap/2_statements/statements/perform.js +3 -3
  232. package/build/src/abap/2_statements/statements/position.js +1 -1
  233. package/build/src/abap/2_statements/statements/print_control.js +1 -1
  234. package/build/src/abap/2_statements/statements/process_after_input.js +1 -1
  235. package/build/src/abap/2_statements/statements/process_before_output.js +1 -1
  236. package/build/src/abap/2_statements/statements/process_on_help_request.js +1 -1
  237. package/build/src/abap/2_statements/statements/process_on_value_request.js +1 -1
  238. package/build/src/abap/2_statements/statements/program.js +1 -1
  239. package/build/src/abap/2_statements/statements/provide.js +1 -1
  240. package/build/src/abap/2_statements/statements/put.js +1 -1
  241. package/build/src/abap/2_statements/statements/raise.js +4 -3
  242. package/build/src/abap/2_statements/statements/raise_entity_event.js +2 -1
  243. package/build/src/abap/2_statements/statements/raise_event.js +2 -1
  244. package/build/src/abap/2_statements/statements/ranges.js +1 -1
  245. package/build/src/abap/2_statements/statements/read_dataset.js +1 -1
  246. package/build/src/abap/2_statements/statements/read_entities.js +1 -1
  247. package/build/src/abap/2_statements/statements/read_line.js +1 -1
  248. package/build/src/abap/2_statements/statements/read_report.js +1 -1
  249. package/build/src/abap/2_statements/statements/read_table.js +4 -3
  250. package/build/src/abap/2_statements/statements/read_textpool.js +1 -1
  251. package/build/src/abap/2_statements/statements/receive.js +1 -1
  252. package/build/src/abap/2_statements/statements/refresh.js +1 -1
  253. package/build/src/abap/2_statements/statements/refresh_control.js +1 -1
  254. package/build/src/abap/2_statements/statements/reject.js +1 -1
  255. package/build/src/abap/2_statements/statements/report.js +1 -1
  256. package/build/src/abap/2_statements/statements/reserve.js +1 -1
  257. package/build/src/abap/2_statements/statements/retry.js +1 -1
  258. package/build/src/abap/2_statements/statements/return.js +1 -1
  259. package/build/src/abap/2_statements/statements/rollback.js +2 -1
  260. package/build/src/abap/2_statements/statements/rollback_entities.js +1 -1
  261. package/build/src/abap/2_statements/statements/scan.js +1 -1
  262. package/build/src/abap/2_statements/statements/scroll_list.js +1 -1
  263. package/build/src/abap/2_statements/statements/search.js +1 -1
  264. package/build/src/abap/2_statements/statements/selectionscreen.js +1 -1
  265. package/build/src/abap/2_statements/statements/selectoption.js +1 -1
  266. package/build/src/abap/2_statements/statements/set_blank.js +1 -1
  267. package/build/src/abap/2_statements/statements/set_country.js +1 -1
  268. package/build/src/abap/2_statements/statements/set_cursor.js +1 -1
  269. package/build/src/abap/2_statements/statements/set_dataset.js +1 -1
  270. package/build/src/abap/2_statements/statements/set_extended_check.js +1 -1
  271. package/build/src/abap/2_statements/statements/set_handler.js +2 -1
  272. package/build/src/abap/2_statements/statements/set_language.js +1 -1
  273. package/build/src/abap/2_statements/statements/set_left.js +1 -1
  274. package/build/src/abap/2_statements/statements/set_locale.js +1 -1
  275. package/build/src/abap/2_statements/statements/set_locks.js +1 -1
  276. package/build/src/abap/2_statements/statements/set_margin.js +1 -1
  277. package/build/src/abap/2_statements/statements/set_parameter.js +1 -1
  278. package/build/src/abap/2_statements/statements/set_pf_status.js +1 -1
  279. package/build/src/abap/2_statements/statements/set_property.js +1 -1
  280. package/build/src/abap/2_statements/statements/set_run_time.js +1 -1
  281. package/build/src/abap/2_statements/statements/set_screen.js +1 -1
  282. package/build/src/abap/2_statements/statements/set_titlebar.js +1 -1
  283. package/build/src/abap/2_statements/statements/set_update_task.js +1 -1
  284. package/build/src/abap/2_statements/statements/set_user_command.js +1 -1
  285. package/build/src/abap/2_statements/statements/skip.js +1 -1
  286. package/build/src/abap/2_statements/statements/sort_dataset.js +1 -1
  287. package/build/src/abap/2_statements/statements/start_of_selection.js +1 -1
  288. package/build/src/abap/2_statements/statements/static.js +3 -2
  289. package/build/src/abap/2_statements/statements/stop.js +1 -1
  290. package/build/src/abap/2_statements/statements/submit.js +1 -1
  291. package/build/src/abap/2_statements/statements/subtract.js +2 -1
  292. package/build/src/abap/2_statements/statements/subtract_corresponding.js +1 -1
  293. package/build/src/abap/2_statements/statements/sum.js +1 -1
  294. package/build/src/abap/2_statements/statements/summary.js +1 -1
  295. package/build/src/abap/2_statements/statements/supply.js +1 -1
  296. package/build/src/abap/2_statements/statements/suppress_dialog.js +1 -1
  297. package/build/src/abap/2_statements/statements/syntax_check.js +1 -1
  298. package/build/src/abap/2_statements/statements/system_call.js +1 -1
  299. package/build/src/abap/2_statements/statements/tables.js +1 -1
  300. package/build/src/abap/2_statements/statements/test_injection.js +2 -1
  301. package/build/src/abap/2_statements/statements/test_seam.js +1 -1
  302. package/build/src/abap/2_statements/statements/top_of_page.js +1 -1
  303. package/build/src/abap/2_statements/statements/transfer.js +1 -1
  304. package/build/src/abap/2_statements/statements/truncate_dataset.js +1 -1
  305. package/build/src/abap/2_statements/statements/type.js +1 -1
  306. package/build/src/abap/2_statements/statements/type_begin.js +1 -1
  307. package/build/src/abap/2_statements/statements/type_enum.js +1 -1
  308. package/build/src/abap/2_statements/statements/type_enum_begin.js +1 -1
  309. package/build/src/abap/2_statements/statements/type_enum_end.js +1 -1
  310. package/build/src/abap/2_statements/statements/type_mesh.js +1 -1
  311. package/build/src/abap/2_statements/statements/type_mesh_begin.js +1 -1
  312. package/build/src/abap/2_statements/statements/type_mesh_end.js +1 -1
  313. package/build/src/abap/2_statements/statements/type_pool.js +1 -1
  314. package/build/src/abap/2_statements/statements/type_pools.js +1 -1
  315. package/build/src/abap/2_statements/statements/uline.js +1 -1
  316. package/build/src/abap/2_statements/statements/unpack.js +1 -1
  317. package/build/src/abap/2_statements/statements/update_database.js +4 -3
  318. package/build/src/abap/2_statements/statements/verification_message.js +1 -1
  319. package/build/src/abap/2_statements/statements/wait.js +4 -3
  320. package/build/src/abap/2_statements/statements/when_type.js +1 -1
  321. package/build/src/abap/2_statements/statements/window.js +1 -1
  322. package/build/src/abap/2_statements/statements/with.js +1 -1
  323. package/build/src/abap/2_statements/statements/write.js +1 -1
  324. package/build/src/abap/5_syntax/_builtin.js +50 -50
  325. package/build/src/abap/5_syntax/_current_scope.js +9 -0
  326. package/build/src/abap/5_syntax/expressions/field_chain.js +3 -3
  327. package/build/src/abap/5_syntax/expressions/method_source.js +1 -1
  328. package/build/src/abap/5_syntax/expressions/select.js +13 -3
  329. package/build/src/abap/5_syntax/statements/call_function.js +1 -1
  330. package/build/src/abap/5_syntax/statements/loop.js +1 -1
  331. package/build/src/abap/5_syntax/statements/move_corresponding.js +3 -3
  332. package/build/src/abap/abap_parser.js +21 -5
  333. package/build/src/abap/nodes/expression_node.js +3 -0
  334. package/build/src/cds/cds_parser.js +8 -8
  335. package/build/src/cds/expressions/cds_define_projection.js +1 -1
  336. package/build/src/cds/expressions/cds_define_view.js +1 -1
  337. package/build/src/config.js +42 -12
  338. package/build/src/ddl/ddl_parser.js +2 -2
  339. package/build/src/index.js +6 -2
  340. package/build/src/objects/_abap_object.js +3 -2
  341. package/build/src/objects/_abstract_object.js +1 -1
  342. package/build/src/objects/proxy_object.js +1 -1
  343. package/build/src/objects/table.js +1 -1
  344. package/build/src/registry.js +3 -3
  345. package/build/src/rules/ambiguous_statement.js +1 -1
  346. package/build/src/rules/avoid_use.js +2 -2
  347. package/build/src/rules/call_transaction_authority_check.js +3 -3
  348. package/build/src/rules/cds_legacy_view.js +2 -2
  349. package/build/src/rules/cloud_types.js +1 -1
  350. package/build/src/rules/downport.js +11 -11
  351. package/build/src/rules/function_module_recommendations.js +23 -2
  352. package/build/src/rules/index.js +1 -0
  353. package/build/src/rules/inline_data_old_versions.js +3 -3
  354. package/build/src/rules/local_testclass_consistency.js +1 -1
  355. package/build/src/rules/main_file_contents.js +1 -1
  356. package/build/src/rules/no_inline_in_optional_branches.js +4 -4
  357. package/build/src/rules/obsolete_statement.js +6 -6
  358. package/build/src/rules/parser_702_chaining.js +2 -2
  359. package/build/src/rules/parser_error.js +2 -2
  360. package/build/src/rules/prefer_corresponding.js +1 -1
  361. package/build/src/rules/prefer_inline.js +2 -1
  362. package/build/src/rules/prefer_raise_exception_new.js +1 -1
  363. package/build/src/rules/prefer_xsdbool.js +2 -1
  364. package/build/src/rules/sql_escape_host_variables.js +3 -3
  365. package/build/src/rules/strict_sql.js +2 -2
  366. package/build/src/rules/superfluous_value.js +2 -2
  367. package/build/src/rules/sy_read_restriction.js +152 -0
  368. package/build/src/rules/use_bool_expression.js +6 -5
  369. package/build/src/rules/use_line_exists.js +4 -3
  370. package/build/src/rules/use_new.js +2 -1
  371. package/build/src/version.js +148 -3
  372. package/package.json +1 -1
  373. package/build/src/abap/2_statements/expressions/association_name.js +0 -11
  374. package/build/src/abap/2_statements/expressions/sql_path.js +0 -17
@@ -9,14 +9,15 @@ class ReadTable {
9
9
  getMatcher() {
10
10
  const comparing = (0, combi_1.seq)("COMPARING", (0, combi_1.alt)((0, combi_1.plus)(expressions_1.FieldSub), (0, combi_1.plus)(expressions_1.Dynamic)));
11
11
  const index = (0, combi_1.seq)("INDEX", expressions_1.Source);
12
- const components = (0, combi_1.seq)((0, combi_1.alt)(expressions_1.Field, expressions_1.Dynamic), "COMPONENTS", expressions_1.ComponentCompareSimple);
12
+ // Dynamic key name or dynamic component name blocked in KeyUser
13
+ const components = (0, combi_1.seq)((0, combi_1.verNotLang)(version_1.LanguageVersion.KeyUser, (0, combi_1.alt)(expressions_1.Field, expressions_1.Dynamic)), "COMPONENTS", expressions_1.ComponentCompareSimple);
13
14
  const key = (0, combi_1.seq)((0, combi_1.altPrio)("WITH KEY", "WITH TABLE KEY"), (0, combi_1.alt)(expressions_1.ComponentCompareSimple, components, (0, combi_1.seq)((0, combi_1.optPrio)("="), expressions_1.Source)));
14
- const using = (0, combi_1.seq)("USING KEY", (0, combi_1.alt)(expressions_1.Field, expressions_1.Dynamic));
15
+ const using = (0, combi_1.seq)("USING KEY", (0, combi_1.alt)(expressions_1.Field, (0, combi_1.verNotLang)(version_1.LanguageVersion.KeyUser, expressions_1.Dynamic)));
15
16
  const from = (0, combi_1.seq)("FROM", expressions_1.Source);
16
17
  const transporting = (0, combi_1.seq)("TRANSPORTING", (0, combi_1.altPrio)("ALL FIELDS", "NO FIELDS", transporting_fields_1.TransportingFields));
17
18
  const common = [expressions_1.ReadTableTarget, comparing, "CASTING", transporting, "BINARY SEARCH"];
18
19
  const perm = (0, combi_1.alt)((0, combi_1.per)((0, combi_1.alt)(index, from), using, ...common), (0, combi_1.per)(key, ...common), (0, combi_1.per)(...common));
19
- return (0, combi_1.seq)("READ TABLE", (0, combi_1.alt)(expressions_1.SimpleSource2, (0, combi_1.ver)(version_1.Version.v740sp02, expressions_1.Source, version_1.Version.OpenABAP)), (0, combi_1.opt)(perm));
20
+ return (0, combi_1.seq)("READ TABLE", (0, combi_1.alt)(expressions_1.SimpleSource2, (0, combi_1.ver)(version_1.Release.v740sp02, expressions_1.Source, { also: combi_1.AlsoIn.OpenABAP })), (0, combi_1.opt)(perm));
20
21
  }
21
22
  }
22
23
  exports.ReadTable = ReadTable;
@@ -10,7 +10,7 @@ class ReadTextpool {
10
10
  const into = (0, combi_1.seq)("INTO", expressions_1.SimpleTarget);
11
11
  const state = (0, combi_1.seq)("STATE", expressions_1.Source);
12
12
  const ret = (0, combi_1.seq)("READ TEXTPOOL", expressions_1.Source, (0, combi_1.per)(into, language, state));
13
- return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
13
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
14
14
  }
15
15
  }
16
16
  exports.ReadTextpool = ReadTextpool;
@@ -7,7 +7,7 @@ const version_1 = require("../../../version");
7
7
  class Receive {
8
8
  getMatcher() {
9
9
  const ret = (0, combi_1.seq)("RECEIVE RESULTS FROM FUNCTION", expressions_1.FunctionName, (0, combi_1.opt)("KEEPING TASK"), expressions_1.ReceiveParameters);
10
- return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
10
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
11
11
  }
12
12
  }
13
13
  exports.Receive = Receive;
@@ -8,7 +8,7 @@ class Refresh {
8
8
  getMatcher() {
9
9
  const from = (0, combi_1.seq)("FROM TABLE", expressions_1.DatabaseTable);
10
10
  const ret = (0, combi_1.seq)("REFRESH", expressions_1.Target, (0, combi_1.optPrio)(from));
11
- return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
11
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
12
12
  }
13
13
  }
14
14
  exports.Refresh = Refresh;
@@ -7,7 +7,7 @@ const version_1 = require("../../../version");
7
7
  class RefreshControl {
8
8
  getMatcher() {
9
9
  const ret = (0, combi_1.seq)("REFRESH CONTROL", expressions_1.Source, "FROM SCREEN", expressions_1.Source);
10
- return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
10
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
11
11
  }
12
12
  }
13
13
  exports.RefreshControl = RefreshControl;
@@ -7,7 +7,7 @@ const version_1 = require("../../../version");
7
7
  class Reject {
8
8
  getMatcher() {
9
9
  const ret = (0, combi_1.seq)("REJECT", (0, combi_1.opt)(expressions_1.Source));
10
- return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
10
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
11
11
  }
12
12
  }
13
13
  exports.Reject = Reject;
@@ -14,7 +14,7 @@ class Report {
14
14
  const message = (0, combi_1.seq)("MESSAGE-ID", expressions_1.MessageClass);
15
15
  const database = (0, combi_1.seq)("USING DATABASE", expressions_1.Field);
16
16
  const ret = (0, combi_1.seq)("REPORT", (0, combi_1.opt)(expressions_1.ReportName), (0, combi_1.opt)((0, combi_1.per)(heading, size, count, database, message)));
17
- return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
17
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
18
18
  }
19
19
  }
20
20
  exports.Report = Report;
@@ -7,7 +7,7 @@ const version_1 = require("../../../version");
7
7
  class Reserve {
8
8
  getMatcher() {
9
9
  const ret = (0, combi_1.seq)("RESERVE", expressions_1.Source, "LINES");
10
- return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
10
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
11
11
  }
12
12
  }
13
13
  exports.Reserve = Reserve;
@@ -5,7 +5,7 @@ const combi_1 = require("../combi");
5
5
  const version_1 = require("../../../version");
6
6
  class Retry {
7
7
  getMatcher() {
8
- return (0, combi_1.ver)(version_1.Version.v702, "RETRY");
8
+ return (0, combi_1.ver)(version_1.Release.v702, "RETRY");
9
9
  }
10
10
  }
11
11
  exports.Retry = Retry;
@@ -6,7 +6,7 @@ const version_1 = require("../../../version");
6
6
  const expressions_1 = require("../expressions");
7
7
  class Return {
8
8
  getMatcher() {
9
- return (0, combi_1.seq)((0, combi_1.str)("RETURN"), (0, combi_1.optPrio)((0, combi_1.ver)(version_1.Version.v758, expressions_1.Source, version_1.Version.OpenABAP)));
9
+ return (0, combi_1.seq)((0, combi_1.str)("RETURN"), (0, combi_1.optPrio)((0, combi_1.ver)(version_1.Release.v758, expressions_1.Source, { also: combi_1.AlsoIn.OpenABAP })));
10
10
  }
11
11
  }
12
12
  exports.Return = Return;
@@ -3,9 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Rollback = void 0;
4
4
  const combi_1 = require("../combi");
5
5
  const expressions_1 = require("../expressions");
6
+ const version_1 = require("../../../version");
6
7
  class Rollback {
7
8
  getMatcher() {
8
- return (0, combi_1.seq)("ROLLBACK", (0, combi_1.altPrio)("WORK", expressions_1.DatabaseConnection));
9
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.KeyUser, (0, combi_1.seq)("ROLLBACK", (0, combi_1.altPrio)("WORK", expressions_1.DatabaseConnection)));
9
10
  }
10
11
  }
11
12
  exports.Rollback = Rollback;
@@ -6,7 +6,7 @@ const version_1 = require("../../../version");
6
6
  class RollbackEntities {
7
7
  getMatcher() {
8
8
  const s = "ROLLBACK ENTITIES";
9
- return (0, combi_1.ver)(version_1.Version.v754, s);
9
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.KeyUser, (0, combi_1.ver)(version_1.Release.v754, s));
10
10
  }
11
11
  }
12
12
  exports.RollbackEntities = RollbackEntities;
@@ -28,7 +28,7 @@ class Scan {
28
28
  const replacing = (0, combi_1.seq)("REPLACING", expressions_1.Source);
29
29
  const id = (0, combi_1.seq)("ID", expressions_1.Source, "TABLE", expressions_1.Source);
30
30
  const ret = (0, combi_1.seq)("SCAN ABAP-SOURCE", expressions_1.Source, (0, combi_1.per)(tokens, levels, from, to, statements, structures, keywords, word, line, offset, overflow, message, includeProgram, include, frame, enhO, enh, program, replacing, "WITH ANALYSIS", "WITH COMMENTS", "WITH TYPE-POOLS", "WITH INCLUDES", "WITHOUT TRMAC", "WITH DECLARATIONS", "WITH BLOCKS", "PRESERVING IDENTIFIER ESCAPING", "WITH LIST TOKENIZATION", "WITH EXPLICIT ENHANCEMENTS", "WITH IMPLICIT ENHANCEMENTS", "WITH INACTIVE ENHANCEMENTS", pragmas, id));
31
- return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
31
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
32
32
  }
33
33
  }
34
34
  exports.Scan = Scan;
@@ -12,7 +12,7 @@ class ScrollList {
12
12
  const to = (0, combi_1.seq)("TO", (0, combi_1.alt)("FIRST PAGE", "LAST PAGE", (0, combi_1.seq)("PAGE", expressions_1.Source)));
13
13
  const pages = (0, combi_1.seq)(expressions_1.Source, "PAGES");
14
14
  const ret = (0, combi_1.seq)("SCROLL LIST", (0, combi_1.per)(index, (0, combi_1.seq)((0, combi_1.alt)(to, "BACKWARD", "FORWARD"), (0, combi_1.opt)(pages)), (0, combi_1.seq)((0, combi_1.alt)("LEFT", "RIGHT"), (0, combi_1.opt)((0, combi_1.seq)("BY", expressions_1.Source, "PLACES"))), column, line));
15
- return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
15
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
16
16
  }
17
17
  }
18
18
  exports.ScrollList = ScrollList;
@@ -11,7 +11,7 @@ class Search {
11
11
  const mark = (0, combi_1.str)("AND MARK");
12
12
  const mode = (0, combi_1.altPrio)("IN BYTE MODE", "IN CHARACTER MODE");
13
13
  const ret = (0, combi_1.seq)("SEARCH", expressions_1.Source, "FOR", expressions_1.Source, (0, combi_1.opt)((0, combi_1.per)(mode, starting, ending, mark)));
14
- return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
14
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
15
15
  }
16
16
  }
17
17
  exports.Search = Search;
@@ -43,7 +43,7 @@ class SelectionScreen {
43
43
  const beginVersion = (0, combi_1.seq)("BEGIN OF VERSION", (0, combi_1.regex)(/^\w+$/), expressions_1.TextElement);
44
44
  const endVersion = (0, combi_1.seq)("END OF VERSION", (0, combi_1.regex)(/^\w+$/));
45
45
  const ret = (0, combi_1.seq)("SELECTION-SCREEN", (0, combi_1.altPrio)(comment, func, skip, pos, incl, iso, push, tab, uline, beginBlock, tabbed, endBlock, beginLine, endLine, param, beginScreen, endScreen, exclude, beginVersion, endVersion, def));
46
- return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
46
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
47
47
  }
48
48
  }
49
49
  exports.SelectionScreen = SelectionScreen;
@@ -17,7 +17,7 @@ class SelectOption {
17
17
  const visible = (0, combi_1.seq)("VISIBLE LENGTH", expressions_1.Source);
18
18
  const options = (0, combi_1.per)(def, option, sign, memory, match, visible, modif, "NO DATABASE SELECTION", "LOWER CASE", "NO-EXTENSION", "NO INTERVALS", "NO-DISPLAY", "OBLIGATORY");
19
19
  const ret = (0, combi_1.seq)("SELECT-OPTIONS", expressions_1.FieldSub, "FOR", (0, combi_1.alt)(expressions_1.FieldChain, expressions_1.Dynamic), (0, combi_1.opt)(options));
20
- return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
20
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
21
21
  }
22
22
  }
23
23
  exports.SelectOption = SelectOption;
@@ -7,7 +7,7 @@ class SetBlank {
7
7
  getMatcher() {
8
8
  const onOff = (0, combi_1.alt)("ON", "OFF");
9
9
  const ret = (0, combi_1.seq)("SET BLANK LINES", onOff);
10
- return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
10
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
11
11
  }
12
12
  }
13
13
  exports.SetBlank = SetBlank;
@@ -7,7 +7,7 @@ const version_1 = require("../../../version");
7
7
  class SetCountry {
8
8
  getMatcher() {
9
9
  const ret = (0, combi_1.seq)("SET COUNTRY", expressions_1.Source);
10
- return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
10
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
11
11
  }
12
12
  }
13
13
  exports.SetCountry = SetCountry;
@@ -11,7 +11,7 @@ class SetCursor {
11
11
  const field = (0, combi_1.seq)("FIELD", expressions_1.Source);
12
12
  const pos = (0, combi_1.seq)(expressions_1.Source, expressions_1.Source);
13
13
  const ret = (0, combi_1.seq)("SET CURSOR", (0, combi_1.altPrio)((0, combi_1.per)(field, offset, line), pos));
14
- return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
14
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
15
15
  }
16
16
  }
17
17
  exports.SetCursor = SetCursor;
@@ -7,7 +7,7 @@ const version_1 = require("../../../version");
7
7
  class SetDataset {
8
8
  getMatcher() {
9
9
  const ret = (0, combi_1.seq)("SET DATASET", expressions_1.Source, "POSITION", (0, combi_1.alt)(expressions_1.Source, "END OF FILE"));
10
- return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
10
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
11
11
  }
12
12
  }
13
13
  exports.SetDataset = SetDataset;
@@ -6,7 +6,7 @@ const version_1 = require("../../../version");
6
6
  class SetExtendedCheck {
7
7
  getMatcher() {
8
8
  const ret = (0, combi_1.seq)("SET EXTENDED CHECK", (0, combi_1.alt)("OFF", "ON"));
9
- return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
9
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
10
10
  }
11
11
  }
12
12
  exports.SetExtendedCheck = SetExtendedCheck;
@@ -3,12 +3,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SetHandler = void 0;
4
4
  const combi_1 = require("../combi");
5
5
  const expressions_1 = require("../expressions");
6
+ const version_1 = require("../../../version");
6
7
  class SetHandler {
7
8
  getMatcher() {
8
9
  const activation = (0, combi_1.seq)("ACTIVATION", expressions_1.Source);
9
10
  const fo = (0, combi_1.seq)("FOR", (0, combi_1.altPrio)("ALL INSTANCES", expressions_1.Source));
10
11
  const ret = (0, combi_1.seq)("SET HANDLER", (0, combi_1.plus)(expressions_1.MethodSource), (0, combi_1.optPrio)(fo), (0, combi_1.optPrio)(activation));
11
- return ret;
12
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.KeyUser, ret);
12
13
  }
13
14
  }
14
15
  exports.SetHandler = SetHandler;
@@ -7,7 +7,7 @@ const version_1 = require("../../../version");
7
7
  class SetLanguage {
8
8
  getMatcher() {
9
9
  const ret = (0, combi_1.seq)("SET LANGUAGE", expressions_1.Source);
10
- return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
10
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
11
11
  }
12
12
  }
13
13
  exports.SetLanguage = SetLanguage;
@@ -7,7 +7,7 @@ const expressions_1 = require("../expressions");
7
7
  class SetLeft {
8
8
  getMatcher() {
9
9
  const column = (0, combi_1.seq)("COLUMN", expressions_1.Source);
10
- return (0, combi_1.verNot)(version_1.Version.Cloud, (0, combi_1.seq)("SET LEFT SCROLL-BOUNDARY", (0, combi_1.opt)(column)));
10
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, (0, combi_1.seq)("SET LEFT SCROLL-BOUNDARY", (0, combi_1.opt)(column)));
11
11
  }
12
12
  }
13
13
  exports.SetLeft = SetLeft;
@@ -9,7 +9,7 @@ class SetLocale {
9
9
  const country = (0, combi_1.seq)("COUNTRY", expressions_1.Source);
10
10
  const modifier = (0, combi_1.seq)("MODIFIER", expressions_1.Source);
11
11
  const ret = (0, combi_1.seq)("SET LOCALE LANGUAGE", expressions_1.Source, (0, combi_1.opt)(country), (0, combi_1.opt)(modifier));
12
- return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
12
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
13
13
  }
14
14
  }
15
15
  exports.SetLocale = SetLocale;
@@ -7,7 +7,7 @@ const version_1 = require("../../../version");
7
7
  class SetLocks {
8
8
  getMatcher() {
9
9
  const s = (0, combi_1.seq)("SET LOCKS OF", expressions_1.SimpleName, "ENTITY", expressions_1.SimpleName, "FROM", expressions_1.Source, "FAILED", expressions_1.Target, "REPORTED", expressions_1.Target);
10
- return (0, combi_1.ver)(version_1.Version.v754, s);
10
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.KeyUser, (0, combi_1.ver)(version_1.Release.v754, s));
11
11
  }
12
12
  }
13
13
  exports.SetLocks = SetLocks;
@@ -7,7 +7,7 @@ const version_1 = require("../../../version");
7
7
  class SetMargin {
8
8
  getMatcher() {
9
9
  const ret = (0, combi_1.seq)("SET MARGIN", expressions_1.Source, (0, combi_1.opt)(expressions_1.Source));
10
- return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
10
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
11
11
  }
12
12
  }
13
13
  exports.SetMargin = SetMargin;
@@ -7,7 +7,7 @@ const version_1 = require("../../../version");
7
7
  class SetParameter {
8
8
  getMatcher() {
9
9
  const ret = (0, combi_1.seq)("SET PARAMETER ID", expressions_1.Source, "FIELD", expressions_1.Source);
10
- return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
10
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
11
11
  }
12
12
  }
13
13
  exports.SetParameter = SetParameter;
@@ -9,7 +9,7 @@ class SetPFStatus {
9
9
  const program = (0, combi_1.seq)("OF PROGRAM", expressions_1.Source);
10
10
  const options = (0, combi_1.per)(program, "IMMEDIATELY", (0, combi_1.seq)("EXCLUDING", expressions_1.Source));
11
11
  const ret = (0, combi_1.seq)("SET PF-STATUS", expressions_1.Source, (0, combi_1.opt)(options));
12
- return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
12
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
13
13
  }
14
14
  }
15
15
  exports.SetPFStatus = SetPFStatus;
@@ -7,7 +7,7 @@ const version_1 = require("../../../version");
7
7
  class SetProperty {
8
8
  getMatcher() {
9
9
  const ret = (0, combi_1.seq)("SET PROPERTY OF", expressions_1.Source, (0, combi_1.alt)(expressions_1.Constant, expressions_1.Field), "=", expressions_1.Source, (0, combi_1.optPrio)("NO FLUSH"), (0, combi_1.opt)(expressions_1.OLEExporting), (0, combi_1.opt)("QUEUEONLY"));
10
- return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
10
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
11
11
  }
12
12
  }
13
13
  exports.SetProperty = SetProperty;
@@ -8,7 +8,7 @@ class SetRunTime {
8
8
  const clock = (0, combi_1.seq)("CLOCK RESOLUTION", (0, combi_1.alt)("LOW", "HIGH"));
9
9
  const analyzer = (0, combi_1.seq)("ANALYZER", (0, combi_1.alt)("ON", "OFF"));
10
10
  const ret = (0, combi_1.seq)("SET RUN TIME", (0, combi_1.alt)(clock, analyzer));
11
- return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
11
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
12
12
  }
13
13
  }
14
14
  exports.SetRunTime = SetRunTime;
@@ -7,7 +7,7 @@ const version_1 = require("../../../version");
7
7
  class SetScreen {
8
8
  getMatcher() {
9
9
  const ret = (0, combi_1.seq)("SET SCREEN", expressions_1.Source);
10
- return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
10
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
11
11
  }
12
12
  }
13
13
  exports.SetScreen = SetScreen;
@@ -9,7 +9,7 @@ class SetTitlebar {
9
9
  const wit = (0, combi_1.seq)("WITH", (0, combi_1.plus)(expressions_1.Source));
10
10
  const program = (0, combi_1.seq)("OF PROGRAM", expressions_1.Source);
11
11
  const ret = (0, combi_1.seq)("SET TITLEBAR", expressions_1.Source, (0, combi_1.opt)(program), (0, combi_1.opt)(wit));
12
- return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
12
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
13
13
  }
14
14
  }
15
15
  exports.SetTitlebar = SetTitlebar;
@@ -5,7 +5,7 @@ const combi_1 = require("../combi");
5
5
  const version_1 = require("../../../version");
6
6
  class SetUpdateTask {
7
7
  getMatcher() {
8
- return (0, combi_1.verNot)(version_1.Version.Cloud, "SET UPDATE TASK LOCAL");
8
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, "SET UPDATE TASK LOCAL");
9
9
  }
10
10
  }
11
11
  exports.SetUpdateTask = SetUpdateTask;
@@ -7,7 +7,7 @@ const version_1 = require("../../../version");
7
7
  class SetUserCommand {
8
8
  getMatcher() {
9
9
  const ret = (0, combi_1.seq)("SET USER-COMMAND", expressions_1.Source);
10
- return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
10
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
11
11
  }
12
12
  }
13
13
  exports.SetUserCommand = SetUserCommand;
@@ -7,7 +7,7 @@ const version_1 = require("../../../version");
7
7
  class Skip {
8
8
  getMatcher() {
9
9
  const ret = (0, combi_1.seq)("SKIP", (0, combi_1.opt)("TO LINE"), (0, combi_1.opt)(expressions_1.Source));
10
- return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
10
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
11
11
  }
12
12
  }
13
13
  exports.Skip = Skip;
@@ -11,7 +11,7 @@ class SortDataset {
11
11
  const fields = (0, combi_1.plus)((0, combi_1.seq)(sel, (0, combi_1.optPrio)(order)));
12
12
  const by = (0, combi_1.seq)("BY", fields);
13
13
  const ret = (0, combi_1.seq)("SORT", (0, combi_1.opt)("AS TEXT"), (0, combi_1.opt)(by));
14
- return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
14
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
15
15
  }
16
16
  }
17
17
  exports.SortDataset = SortDataset;
@@ -5,7 +5,7 @@ const combi_1 = require("../combi");
5
5
  const version_1 = require("../../../version");
6
6
  class StartOfSelection {
7
7
  getMatcher() {
8
- return (0, combi_1.verNot)(version_1.Version.Cloud, "START-OF-SELECTION");
8
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, "START-OF-SELECTION");
9
9
  }
10
10
  }
11
11
  exports.StartOfSelection = StartOfSelection;
@@ -36,12 +36,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.Static = void 0;
37
37
  const combi_1 = require("../combi");
38
38
  const Expressions = __importStar(require("../expressions"));
39
+ const version_1 = require("../../../version");
39
40
  class Static {
40
41
  getMatcher() {
41
42
  const p = (0, combi_1.opt)((0, combi_1.per)(Expressions.Type, Expressions.Value, Expressions.Length, Expressions.Decimals));
42
43
  const type = (0, combi_1.seq)((0, combi_1.opt)(Expressions.ConstantFieldLength), p);
43
- const ret = (0, combi_1.seq)((0, combi_1.alt)("STATIC", "STATICS"), Expressions.DefinitionName, (0, combi_1.optPrio)(Expressions.ConstantFieldLength), (0, combi_1.alt)(type, Expressions.TypeTable));
44
- return ret;
44
+ const body = (0, combi_1.seq)(Expressions.DefinitionName, (0, combi_1.optPrio)(Expressions.ConstantFieldLength), (0, combi_1.alt)(type, Expressions.TypeTable));
45
+ return (0, combi_1.altPrio)((0, combi_1.seq)("STATIC", body), (0, combi_1.verNotLang)(version_1.LanguageVersion.KeyUser, (0, combi_1.seq)("STATICS", body)));
45
46
  }
46
47
  }
47
48
  exports.Static = Static;
@@ -5,7 +5,7 @@ const combi_1 = require("../combi");
5
5
  const version_1 = require("../../../version");
6
6
  class Stop {
7
7
  getMatcher() {
8
- return (0, combi_1.verNot)(version_1.Version.Cloud, "STOP");
8
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, "STOP");
9
9
  }
10
10
  }
11
11
  exports.Stop = Stop;
@@ -39,7 +39,7 @@ class Submit {
39
39
  const language = (0, combi_1.seq)("LANGUAGE", expressions_1.Source);
40
40
  const perm = (0, combi_1.per)((0, combi_1.plusPrio)(awith), selectionTable, (0, combi_1.plusPrio)(awith), (0, combi_1.plusPrio)(awith), spool, lineSize, lineCount, archive, archiveMode, receiver, user, sset, ssetp, keep, cover, imm, layout, dest, coverText, listName, language, free, newList, uss, copies, datasetExpiration, "TO SAP-SPOOL", "WITHOUT SPOOL DYNPRO", "VIA SELECTION-SCREEN", exporting, expressions_1.AndReturn, job);
41
41
  const ret = (0, combi_1.seq)("SUBMIT", prog, (0, combi_1.opt)(perm));
42
- return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
42
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
43
43
  }
44
44
  }
45
45
  exports.Submit = Submit;
@@ -1,12 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Subtract = void 0;
4
+ const version_1 = require("../../../version");
4
5
  const combi_1 = require("../combi");
5
6
  const expressions_1 = require("../expressions");
6
7
  class Subtract {
7
8
  getMatcher() {
8
9
  const ret = (0, combi_1.seq)("SUBTRACT", expressions_1.Source, "FROM", expressions_1.Target);
9
- return ret;
10
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.KeyUser, ret);
10
11
  }
11
12
  }
12
13
  exports.Subtract = Subtract;
@@ -7,7 +7,7 @@ const version_1 = require("../../../version");
7
7
  class SubtractCorresponding {
8
8
  getMatcher() {
9
9
  const ret = (0, combi_1.seq)("SUBTRACT-CORRESPONDING", expressions_1.Source, "FROM", expressions_1.Target);
10
- return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
10
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
11
11
  }
12
12
  }
13
13
  exports.SubtractCorresponding = SubtractCorresponding;
@@ -5,7 +5,7 @@ const combi_1 = require("../combi");
5
5
  const version_1 = require("../../../version");
6
6
  class Sum {
7
7
  getMatcher() {
8
- return (0, combi_1.verNot)(version_1.Version.Cloud, "SUM");
8
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, "SUM");
9
9
  }
10
10
  }
11
11
  exports.Sum = Sum;
@@ -5,7 +5,7 @@ const combi_1 = require("../combi");
5
5
  const version_1 = require("../../../version");
6
6
  class Summary {
7
7
  getMatcher() {
8
- return (0, combi_1.verNot)(version_1.Version.Cloud, "SUMMARY");
8
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, "SUMMARY");
9
9
  }
10
10
  }
11
11
  exports.Summary = Summary;
@@ -8,7 +8,7 @@ class Supply {
8
8
  getMatcher() {
9
9
  const field = (0, combi_1.seq)(expressions_1.Field, "=", expressions_1.Source);
10
10
  const ret = (0, combi_1.seq)("SUPPLY", (0, combi_1.plus)(field), "TO CONTEXT", expressions_1.Field);
11
- return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
11
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
12
12
  }
13
13
  }
14
14
  exports.Supply = Supply;
@@ -6,7 +6,7 @@ const version_1 = require("../../../version");
6
6
  class SuppressDialog {
7
7
  getMatcher() {
8
8
  const ret = (0, combi_1.str)("SUPPRESS DIALOG");
9
- return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
9
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
10
10
  }
11
11
  }
12
12
  exports.SuppressDialog = SuppressDialog;
@@ -23,7 +23,7 @@ class SyntaxCheck {
23
23
  const syntax = (0, combi_1.seq)((0, combi_1.optPrio)("PROGRAM"), expressions_1.Source, (0, combi_1.per)(message, line, word, offset, program, replacing, directory, frame, include, messageId, trace, dump, filter, (0, combi_1.plus)(id)));
24
24
  const dynpro = (0, combi_1.seq)("DYNPRO", expressions_1.Source, expressions_1.Source, expressions_1.Source, expressions_1.Source, (0, combi_1.per)(message, line, word, offset, messageId, trace));
25
25
  const ret = (0, combi_1.seq)("SYNTAX-CHECK FOR", (0, combi_1.alt)(syntax, dynpro));
26
- return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
26
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
27
27
  }
28
28
  }
29
29
  exports.SyntaxCheck = SyntaxCheck;
@@ -11,7 +11,7 @@ class SystemCall {
11
11
  const objmgr = (0, combi_1.seq)("OBJMGR CLONE", source_1.Source, "TO", target_1.Target);
12
12
  const did = (0, combi_1.seq)(anyy, "DID", source_1.Source, "PARAMETERS", (0, combi_1.plus)(source_1.Source));
13
13
  const ret = (0, combi_1.seq)("SYSTEM-CALL", (0, combi_1.altPrio)(objmgr, did, (0, combi_1.plus)(anyy)));
14
- return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
14
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
15
15
  }
16
16
  }
17
17
  exports.SystemCall = SystemCall;
@@ -7,7 +7,7 @@ const version_1 = require("../../../version");
7
7
  class Tables {
8
8
  getMatcher() {
9
9
  const ret = (0, combi_1.seq)("TABLES", expressions_1.Field);
10
- return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
10
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
11
11
  }
12
12
  }
13
13
  exports.Tables = Tables;
@@ -1,11 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TestInjection = void 0;
4
+ const version_1 = require("../../../version");
4
5
  const combi_1 = require("../combi");
5
6
  const expressions_1 = require("../expressions");
6
7
  class TestInjection {
7
8
  getMatcher() {
8
- return (0, combi_1.seq)("TEST-INJECTION", expressions_1.TestSeamName);
9
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.KeyUser, (0, combi_1.seq)("TEST-INJECTION", expressions_1.TestSeamName));
9
10
  }
10
11
  }
11
12
  exports.TestInjection = TestInjection;
@@ -6,7 +6,7 @@ const expressions_1 = require("../expressions");
6
6
  const version_1 = require("../../../version");
7
7
  class TestSeam {
8
8
  getMatcher() {
9
- return (0, combi_1.ver)(version_1.Version.v750, (0, combi_1.seq)("TEST-SEAM", expressions_1.TestSeamName), version_1.Version.OpenABAP);
9
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.KeyUser, (0, combi_1.ver)(version_1.Release.v750, (0, combi_1.seq)("TEST-SEAM", expressions_1.TestSeamName), { also: combi_1.AlsoIn.OpenABAP }));
10
10
  }
11
11
  }
12
12
  exports.TestSeam = TestSeam;
@@ -6,7 +6,7 @@ const version_1 = require("../../../version");
6
6
  class TopOfPage {
7
7
  getMatcher() {
8
8
  const ret = (0, combi_1.seq)("TOP-OF-PAGE", (0, combi_1.opt)("DURING LINE-SELECTION"));
9
- return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
9
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
10
10
  }
11
11
  }
12
12
  exports.TopOfPage = TopOfPage;
@@ -8,7 +8,7 @@ class Transfer {
8
8
  getMatcher() {
9
9
  const length = (0, combi_1.seq)("LENGTH", expressions_1.Source);
10
10
  const ret = (0, combi_1.seq)("TRANSFER", expressions_1.Source, "TO", expressions_1.Source, (0, combi_1.opt)(length), (0, combi_1.opt)("NO END OF LINE"));
11
- return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
11
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
12
12
  }
13
13
  }
14
14
  exports.Transfer = Transfer;