@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
@@ -6,10 +6,10 @@ const expressions_1 = require("../expressions");
6
6
  const version_1 = require("../../../version");
7
7
  class CallFunction {
8
8
  getMatcher() {
9
- const starting = (0, combi_1.verNot)(version_1.Version.Cloud, (0, combi_1.seq)("STARTING NEW TASK", expressions_1.SimpleSource2));
10
- const update = (0, combi_1.verNot)(version_1.Version.Cloud, (0, combi_1.str)("IN UPDATE TASK"));
9
+ const starting = (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, (0, combi_1.seq)("STARTING NEW TASK", expressions_1.SimpleSource2));
10
+ const update = (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, (0, combi_1.str)("IN UPDATE TASK"));
11
11
  const unit = (0, combi_1.seq)("UNIT", expressions_1.Source);
12
- const background = (0, combi_1.verNot)(version_1.Version.Cloud, (0, combi_1.seq)("IN BACKGROUND", (0, combi_1.altPrio)("TASK", unit)));
12
+ const background = (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, (0, combi_1.seq)("IN BACKGROUND", (0, combi_1.altPrio)("TASK", unit)));
13
13
  const calling = (0, combi_1.seq)("CALLING", expressions_1.MethodSource, "ON END OF TASK");
14
14
  const performing = (0, combi_1.seq)("PERFORMING", expressions_1.FormName, "ON END OF TASK");
15
15
  const separate = (0, combi_1.str)("AS SEPARATE UNIT");
@@ -17,8 +17,8 @@ class CallFunction {
17
17
  const options = (0, combi_1.per)(starting, update, background, expressions_1.Destination, calling, performing, separate, keeping);
18
18
  const ex = (0, combi_1.seq)("EXCEPTION-TABLE", expressions_1.Source);
19
19
  const dynamic = (0, combi_1.alt)((0, combi_1.seq)("PARAMETER-TABLE", expressions_1.Source, (0, combi_1.opt)(ex)), ex);
20
- const call = (0, combi_1.seq)("CALL", (0, combi_1.altPrio)("FUNCTION", (0, combi_1.verNot)(version_1.Version.Cloud, "CUSTOMER-FUNCTION")), expressions_1.FunctionName, (0, combi_1.opt)(options), (0, combi_1.alt)(expressions_1.FunctionParameters, dynamic));
21
- return call;
20
+ const call = (0, combi_1.seq)("CALL", (0, combi_1.altPrio)("FUNCTION", (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, "CUSTOMER-FUNCTION")), expressions_1.FunctionName, (0, combi_1.opt)(options), (0, combi_1.alt)(expressions_1.FunctionParameters, dynamic));
21
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.KeyUser, call);
22
22
  }
23
23
  }
24
24
  exports.CallFunction = CallFunction;
@@ -7,7 +7,7 @@ const version_1 = require("../../../version");
7
7
  class CallKernel {
8
8
  getMatcher() {
9
9
  const ret = (0, combi_1.seq)("CALL", (0, combi_1.altPrio)(expressions_1.Constant, expressions_1.Field), (0, combi_1.starPrio)(expressions_1.KernelId));
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.CallKernel = CallKernel;
@@ -8,7 +8,7 @@ class CallOLE {
8
8
  getMatcher() {
9
9
  const rc = (0, combi_1.seq)("=", expressions_1.Target);
10
10
  const ret = (0, combi_1.seq)("CALL METHOD OF", expressions_1.Source, expressions_1.Source, (0, combi_1.opt)(rc), (0, combi_1.opt)("NO FLUSH"), (0, combi_1.opt)((0, combi_1.alt)("QUEUE-ONLY", "QUEUEONLY")), (0, combi_1.opt)(expressions_1.OLEExporting));
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.CallOLE = CallOLE;
@@ -9,7 +9,7 @@ class CallScreen {
9
9
  const starting = (0, combi_1.seq)("STARTING AT", expressions_1.Source, expressions_1.Source);
10
10
  const ending = (0, combi_1.seq)("ENDING AT", expressions_1.Source, expressions_1.Source);
11
11
  const ret = (0, combi_1.seq)("CALL SCREEN", expressions_1.Source, (0, combi_1.optPrio)((0, combi_1.seq)(starting, (0, combi_1.optPrio)(ending))));
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.CallScreen = CallScreen;
@@ -11,7 +11,7 @@ class CallSelectionScreen {
11
11
  const using = (0, combi_1.seq)("USING SELECTION-SET", expressions_1.Source);
12
12
  const at = (0, combi_1.seq)(starting, (0, combi_1.opt)(ending));
13
13
  const ret = (0, combi_1.seq)("CALL SELECTION-SCREEN", expressions_1.Source, (0, combi_1.opt)(at), (0, combi_1.opt)(using));
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.CallSelectionScreen = CallSelectionScreen;
@@ -8,7 +8,7 @@ class CallSubscreen {
8
8
  getMatcher() {
9
9
  const including = (0, combi_1.seq)("INCLUDING", expressions_1.Source, expressions_1.Source);
10
10
  const ret = (0, combi_1.seq)("CALL SUBSCREEN", expressions_1.Source, (0, combi_1.optPrio)(including));
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.CallSubscreen = CallSubscreen;
@@ -11,7 +11,7 @@ class CallTransaction {
11
11
  const auth = (0, combi_1.seq)((0, combi_1.altPrio)("WITH", "WITHOUT"), "AUTHORITY-CHECK");
12
12
  const perm = (0, combi_1.per)((0, combi_1.seq)("UPDATE", expressions_1.Source), "AND SKIP FIRST SCREEN", options, messages, (0, combi_1.seq)("MODE", expressions_1.Source));
13
13
  const ret = (0, combi_1.seq)("CALL TRANSACTION", expressions_1.Source, (0, combi_1.optPrio)(auth), (0, combi_1.optPrio)((0, combi_1.seq)("USING", expressions_1.Source)), (0, combi_1.opt)(perm));
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.CallTransaction = CallTransaction;
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CallTransformation = 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 CallTransformation {
7
8
  getMatcher() {
8
9
  const options = (0, combi_1.seq)("OPTIONS", expressions_1.CallTransformationOptions);
@@ -13,7 +14,7 @@ class CallTransformation {
13
14
  const result2 = (0, combi_1.seq)("XML", expressions_1.Target);
14
15
  const result = (0, combi_1.seq)("RESULT", (0, combi_1.alt)(expressions_1.CallTransformationParameters, result2));
15
16
  const call = (0, combi_1.seq)("CALL TRANSFORMATION", (0, combi_1.alt)(expressions_1.NamespaceSimpleName, expressions_1.Dynamic), (0, combi_1.per)(options, parameters, objects, source, result));
16
- return call;
17
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.KeyUser, call);
17
18
  }
18
19
  }
19
20
  exports.CallTransformation = CallTransformation;
@@ -6,7 +6,7 @@ const version_1 = require("../../../version");
6
6
  const expressions_1 = require("../expressions");
7
7
  class CaseType {
8
8
  getMatcher() {
9
- return (0, combi_1.ver)(version_1.Version.v750, (0, combi_1.seq)("CASE TYPE OF", expressions_1.Source), version_1.Version.OpenABAP);
9
+ return (0, combi_1.ver)(version_1.Release.v750, (0, combi_1.seq)("CASE TYPE OF", expressions_1.Source), { also: combi_1.AlsoIn.OpenABAP });
10
10
  }
11
11
  }
12
12
  exports.CaseType = CaseType;
@@ -7,7 +7,7 @@ const version_1 = require("../../../version");
7
7
  class CatchSystemExceptions {
8
8
  getMatcher() {
9
9
  const ret = (0, combi_1.seq)("CATCH SYSTEM-EXCEPTIONS", (0, combi_1.plus)((0, combi_1.seq)(expressions_1.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.CatchSystemExceptions = CatchSystemExceptions;
@@ -5,7 +5,7 @@ const combi_1 = require("../combi");
5
5
  const version_1 = require("../../../version");
6
6
  class Chain {
7
7
  getMatcher() {
8
- return (0, combi_1.verNot)(version_1.Version.Cloud, "CHAIN");
8
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, "CHAIN");
9
9
  }
10
10
  }
11
11
  exports.Chain = Chain;
@@ -6,7 +6,7 @@ const version_1 = require("../../../version");
6
6
  class CheckSelectOptions {
7
7
  getMatcher() {
8
8
  const ret = "CHECK SELECT-OPTIONS";
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.CheckSelectOptions = CheckSelectOptions;
@@ -3,9 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ClassDeferred = 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 ClassDeferred {
7
8
  getMatcher() {
8
- return (0, combi_1.seq)("CLASS", expressions_1.ClassName, "DEFINITION DEFERRED", (0, combi_1.optPrio)("PUBLIC"));
9
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.KeyUser, (0, combi_1.seq)("CLASS", expressions_1.ClassName, "DEFINITION DEFERRED", (0, combi_1.optPrio)("PUBLIC")));
9
10
  }
10
11
  }
11
12
  exports.ClassDeferred = ClassDeferred;
@@ -11,7 +11,7 @@ class ClassDefinition {
11
11
  const risk = (0, combi_1.seq)("RISK LEVEL", level);
12
12
  const time = (0, combi_1.altPrio)("LONG", "MEDIUM", "SHORT");
13
13
  const duration = (0, combi_1.seq)("DURATION", time);
14
- const blah = (0, combi_1.per)(expressions_1.ClassGlobal, expressions_1.ClassFinal, "ABSTRACT", (0, combi_1.seq)("INHERITING FROM", expressions_1.SuperClassName), create, "FOR TESTING", risk, "SHARED MEMORY ENABLED", duration, (0, combi_1.ver)(version_1.Version.v754, (0, combi_1.seq)("FOR BEHAVIOR OF", expressions_1.BehaviorDefinitionName), version_1.Version.OpenABAP), expressions_1.ClassFriends);
14
+ const blah = (0, combi_1.per)(expressions_1.ClassGlobal, expressions_1.ClassFinal, "ABSTRACT", (0, combi_1.seq)("INHERITING FROM", expressions_1.SuperClassName), create, "FOR TESTING", risk, "SHARED MEMORY ENABLED", duration, (0, combi_1.ver)(version_1.Release.v754, (0, combi_1.seq)("FOR BEHAVIOR OF", expressions_1.BehaviorDefinitionName), { also: combi_1.AlsoIn.OpenABAP }), expressions_1.ClassFriends);
15
15
  const def = (0, combi_1.seq)("DEFINITION", (0, combi_1.optPrio)(blah));
16
16
  return (0, combi_1.seq)("CLASS", expressions_1.ClassName, def);
17
17
  }
@@ -1,11 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ClassDefinitionLoad = 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 ClassDefinitionLoad {
7
8
  getMatcher() {
8
- return (0, combi_1.seq)("CLASS", expressions_1.ClassName, "DEFINITION LOAD");
9
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.KeyUser, (0, combi_1.seq)("CLASS", expressions_1.ClassName, "DEFINITION LOAD"));
9
10
  }
10
11
  }
11
12
  exports.ClassDefinitionLoad = ClassDefinitionLoad;
@@ -7,7 +7,7 @@ const version_1 = require("../../../version");
7
7
  class CloseCursor {
8
8
  getMatcher() {
9
9
  const ret = (0, combi_1.seq)("CLOSE CURSOR", expressions_1.SQLSourceSimple);
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.CloseCursor = CloseCursor;
@@ -7,7 +7,7 @@ const version_1 = require("../../../version");
7
7
  class CloseDataset {
8
8
  getMatcher() {
9
9
  const ret = (0, combi_1.seq)("CLOSE DATASET", 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.CloseDataset = CloseDataset;
@@ -3,10 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Commit = 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 Commit {
7
8
  getMatcher() {
8
9
  const work = (0, combi_1.seq)("WORK", (0, combi_1.opt)("AND WAIT"));
9
- return (0, combi_1.seq)("COMMIT", (0, combi_1.alt)(work, expressions_1.DatabaseConnection));
10
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.KeyUser, (0, combi_1.seq)("COMMIT", (0, combi_1.alt)(work, expressions_1.DatabaseConnection)));
10
11
  }
11
12
  }
12
13
  exports.Commit = Commit;
@@ -10,7 +10,7 @@ class CommitEntities {
10
10
  const reported = (0, combi_1.seq)("REPORTED", expressions_1.Target);
11
11
  const responses = (0, combi_1.seq)("RESPONSES", failed, reported);
12
12
  const s = (0, combi_1.seq)("COMMIT ENTITIES", (0, combi_1.optPrio)("IN SIMULATION MODE"), (0, combi_1.opt)(responses), (0, combi_1.opt)((0, combi_1.seq)("RESPONSE OF", expressions_1.NamespaceSimpleName, (0, combi_1.per)(failed, reported))));
13
- return (0, combi_1.ver)(version_1.Version.v754, s, version_1.Version.OpenABAP);
13
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.KeyUser, (0, combi_1.ver)(version_1.Release.v754, s, { also: combi_1.AlsoIn.OpenABAP }));
14
14
  }
15
15
  }
16
16
  exports.CommitEntities = CommitEntities;
@@ -16,7 +16,7 @@ class Communication {
16
16
  const accept = (0, combi_1.seq)("ACCEPT ID", expressions_1.Source);
17
17
  const receive = (0, combi_1.seq)("RECEIVE ID", expressions_1.Source, "BUFFER", expressions_1.Source, (0, combi_1.opt)(length), "DATAINFO", expressions_1.Target, "STATUSINFO", expressions_1.Target, "RECEIVED", expressions_1.Target);
18
18
  const ret = (0, combi_1.seq)("COMMUNICATION", (0, combi_1.alt)(init, allocate, send, deallocate, receive, accept));
19
- return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
19
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
20
20
  }
21
21
  }
22
22
  exports.Communication = Communication;
@@ -7,7 +7,7 @@ const version_1 = require("../../../version");
7
7
  class Compute {
8
8
  getMatcher() {
9
9
  const ret = (0, combi_1.seq)("COMPUTE", (0, combi_1.opt)("EXACT"), expressions_1.Target, "=", 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.Compute = Compute;
@@ -7,7 +7,7 @@ const version_1 = require("../../../version");
7
7
  class Contexts {
8
8
  getMatcher() {
9
9
  const ret = (0, combi_1.seq)("CONTEXTS", 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.Contexts = Contexts;
@@ -9,7 +9,7 @@ class Controls {
9
9
  const tableview = (0, combi_1.seq)("TABLEVIEW USING SCREEN", expressions_1.Source);
10
10
  const type = (0, combi_1.seq)("TYPE", (0, combi_1.alt)(tableview, "TABSTRIP"));
11
11
  const ret = (0, combi_1.seq)("CONTROLS", expressions_1.NamespaceSimpleName, type);
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.Controls = Controls;
@@ -16,11 +16,11 @@ class Convert {
16
16
  const dat = (0, combi_1.seq)("DATE", expressions_1.Source);
17
17
  const tim = (0, combi_1.seq)("TIME", expressions_1.Source);
18
18
  const stamp = (0, combi_1.seq)("INTO TIME STAMP", expressions_1.Target);
19
- const intoutc = (0, combi_1.ver)(version_1.Version.v754, (0, combi_1.seq)("INTO UTCLONG", expressions_1.Target));
19
+ const intoutc = (0, combi_1.ver)(version_1.Release.v754, (0, combi_1.seq)("INTO UTCLONG", expressions_1.Target));
20
20
  const invert = (0, combi_1.seq)("INTO INVERTED-DATE", expressions_1.Target);
21
21
  const date = (0, combi_1.seq)((0, combi_1.per)(dat, tim), (0, combi_1.per)(daylightSource, stamp, zone, invert, intoutc));
22
22
  const inv = (0, combi_1.seq)("INVERTED-DATE", expressions_1.Source, "INTO DATE", expressions_1.Target);
23
- const utclong = (0, combi_1.ver)(version_1.Version.v754, (0, combi_1.seq)("UTCLONG", expressions_1.Source, (0, combi_1.per)(zone, into, daylightSource)), version_1.Version.OpenABAP);
23
+ const utclong = (0, combi_1.ver)(version_1.Release.v754, (0, combi_1.seq)("UTCLONG", expressions_1.Source, (0, combi_1.per)(zone, into, daylightSource)), { also: combi_1.AlsoIn.OpenABAP });
24
24
  return (0, combi_1.seq)("CONVERT", (0, combi_1.alt)(time, date, inv, utclong));
25
25
  }
26
26
  }
@@ -15,13 +15,13 @@ class CreateData {
15
15
  const initial = (0, combi_1.seq)("INITIAL SIZE", expressions_1.Source);
16
16
  const decimals = (0, combi_1.seq)("DECIMALS", expressions_1.Source);
17
17
  const uniq = (0, combi_1.alt)("UNIQUE", "NON-UNIQUE");
18
- const emptyKey = (0, combi_1.ver)(version_1.Version.v740sp02, "EMPTY KEY", version_1.Version.OpenABAP);
18
+ const emptyKey = (0, combi_1.ver)(version_1.Release.v740sp02, "EMPTY KEY", { also: combi_1.AlsoIn.OpenABAP });
19
19
  const def = (0, combi_1.seq)((0, combi_1.opt)(uniq), (0, combi_1.alt)("DEFAULT KEY", emptyKey));
20
20
  const kdef = (0, combi_1.seq)((0, combi_1.opt)(uniq), "KEY", (0, combi_1.alt)((0, combi_1.plus)(expressions_1.Field), expressions_1.Dynamic));
21
21
  const key = (0, combi_1.seq)("WITH", (0, combi_1.alt)(def, kdef));
22
22
  const specified = (0, combi_1.seq)((0, combi_1.alt)(type, like), (0, combi_1.opt)(key), (0, combi_1.opt)(initial), (0, combi_1.opt)(length), (0, combi_1.opt)(decimals));
23
23
  const ret = (0, combi_1.seq)("CREATE DATA", expressions_1.Target, (0, combi_1.opt)((0, combi_1.alt)(typeHandle, (0, combi_1.seq)((0, combi_1.opt)(areaHandle), specified))));
24
- return ret;
24
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.KeyUser, ret);
25
25
  }
26
26
  }
27
27
  exports.CreateData = CreateData;
@@ -12,8 +12,8 @@ class CreateObject {
12
12
  const etable = (0, combi_1.seq)("EXCEPTION-TABLE", expressions_1.Source);
13
13
  const area = (0, combi_1.seq)("AREA HANDLE", expressions_1.Source);
14
14
  const type = (0, combi_1.seq)("TYPE", (0, combi_1.altPrio)(expressions_1.ClassName, expressions_1.Dynamic));
15
- const ret = (0, combi_1.seq)("CREATE OBJECT", expressions_1.Target, (0, combi_1.optPrio)((0, combi_1.per)(type, (0, combi_1.verNot)(version_1.Version.Cloud, area))), (0, combi_1.optPrio)((0, combi_1.altPrio)(exporting, ptable)), (0, combi_1.optPrio)((0, combi_1.altPrio)(exceptions, etable)));
16
- return ret;
15
+ const ret = (0, combi_1.seq)("CREATE OBJECT", expressions_1.Target, (0, combi_1.optPrio)((0, combi_1.per)(type, (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, area))), (0, combi_1.optPrio)((0, combi_1.altPrio)(exporting, ptable)), (0, combi_1.optPrio)((0, combi_1.altPrio)(exceptions, etable)));
16
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.KeyUser, ret);
17
17
  }
18
18
  }
19
19
  exports.CreateObject = CreateObject;
@@ -7,7 +7,7 @@ const version_1 = require("../../../version");
7
7
  class CreateOLE {
8
8
  getMatcher() {
9
9
  const ret = (0, combi_1.seq)("CREATE OBJECT", expressions_1.Target, expressions_1.Source, (0, combi_1.opt)("NO FLUSH"), (0, combi_1.opt)("QUEUE-ONLY"));
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.CreateOLE = CreateOLE;
@@ -7,7 +7,7 @@ const version_1 = require("../../../version");
7
7
  class Define {
8
8
  getMatcher() {
9
9
  const ret = (0, combi_1.seq)("DEFINE", expressions_1.MacroName);
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.Define = Define;
@@ -9,7 +9,7 @@ class DeleteCluster {
9
9
  getMatcher() {
10
10
  const client = (0, combi_1.seq)("CLIENT", expressions_1.Source);
11
11
  const ret = (0, combi_1.seq)("DELETE FROM DATABASE", expressions_1.NamespaceSimpleName, (0, combi_1.tok)(tokens_1.ParenLeft), expressions_1.SimpleName, (0, combi_1.tok)(tokens_1.ParenRightW), (0, combi_1.opt)(client), "ID", expressions_1.Source);
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.DeleteCluster = DeleteCluster;
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DeleteDatabase = void 0;
4
4
  const combi_1 = require("../combi");
5
5
  const expressions_1 = require("../expressions");
6
+ const version_1 = require("../../../version");
6
7
  const sql_client_1 = require("../expressions/sql_client");
7
8
  class DeleteDatabase {
8
9
  getMatcher() {
@@ -11,7 +12,7 @@ class DeleteDatabase {
11
12
  const fromSomething = (0, combi_1.seq)("FROM", (0, combi_1.opt)("TABLE"), expressions_1.SQLSourceSimple);
12
13
  const table = (0, combi_1.seq)(expressions_1.DatabaseTable, (0, combi_1.optPrio)(sql_client_1.SQLClient), (0, combi_1.optPrio)(expressions_1.DatabaseConnection), (0, combi_1.optPrio)(fromSomething));
13
14
  const ret = (0, combi_1.seq)("DELETE", (0, combi_1.altPrio)(from, table));
14
- return ret;
15
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.KeyUser, ret);
15
16
  }
16
17
  }
17
18
  exports.DeleteDatabase = DeleteDatabase;
@@ -7,7 +7,7 @@ const version_1 = require("../../../version");
7
7
  class DeleteDataset {
8
8
  getMatcher() {
9
9
  const ret = (0, combi_1.seq)("DELETE DATASET", 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.DeleteDataset = DeleteDataset;
@@ -7,7 +7,7 @@ const version_1 = require("../../../version");
7
7
  class DeleteDynpro {
8
8
  getMatcher() {
9
9
  const ret = (0, combi_1.seq)("DELETE DYNPRO", 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.DeleteDynpro = DeleteDynpro;
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DeleteInternal = 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 DeleteInternal {
7
8
  getMatcher() {
8
9
  // todo, is READ and DELETE similar? something can be reused?
@@ -11,7 +12,8 @@ class DeleteInternal {
11
12
  const using = (0, combi_1.seq)("USING KEY", keyName);
12
13
  const from = (0, combi_1.seq)("FROM", expressions_1.Source);
13
14
  const fromTo = (0, combi_1.seq)((0, combi_1.optPrio)(from), (0, combi_1.optPrio)((0, combi_1.seq)("TO", expressions_1.Source)));
14
- const where = (0, combi_1.seq)("WHERE", (0, combi_1.alt)(expressions_1.ComponentCond, expressions_1.Dynamic));
15
+ // WHERE (dynamic) blocked in KeyUser
16
+ const where = (0, combi_1.seq)("WHERE", (0, combi_1.alt)(expressions_1.ComponentCond, (0, combi_1.verNotLang)(version_1.LanguageVersion.KeyUser, expressions_1.Dynamic)));
15
17
  const key = (0, combi_1.seq)("WITH TABLE KEY", (0, combi_1.opt)((0, combi_1.seq)(keyName, "COMPONENTS")), (0, combi_1.plus)(expressions_1.ComponentCompare));
16
18
  const table = (0, combi_1.seq)("TABLE", expressions_1.Target, (0, combi_1.alt)((0, combi_1.per)(index, using), (0, combi_1.seq)((0, combi_1.optPrio)(from), (0, combi_1.optPrio)(using)), key));
17
19
  const other = (0, combi_1.seq)(expressions_1.Target, (0, combi_1.alt)((0, combi_1.per)(index, using), fromTo, key), (0, combi_1.opt)(where));
@@ -11,7 +11,7 @@ class DeleteMemory {
11
11
  const client = (0, combi_1.seq)("CLIENT", expressions_1.Source);
12
12
  const shared = (0, combi_1.seq)("SHARED", (0, combi_1.altPrio)("MEMORY", "BUFFER"), expressions_1.Field, "(", (0, combi_1.regex)(/^[\w%]+$/), ")", (0, combi_1.optPrio)(client), id);
13
13
  const ret = (0, combi_1.seq)("DELETE FROM", (0, combi_1.alt)(memory, shared));
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.DeleteMemory = DeleteMemory;
@@ -8,7 +8,7 @@ class DeleteReport {
8
8
  getMatcher() {
9
9
  const state = (0, combi_1.seq)("STATE", expressions_1.Source);
10
10
  const ret = (0, combi_1.seq)("DELETE REPORT", expressions_1.Source, (0, combi_1.optPrio)(state));
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.DeleteReport = DeleteReport;
@@ -9,7 +9,7 @@ class DeleteTextpool {
9
9
  const language = (0, combi_1.seq)("LANGUAGE", expressions_1.Source);
10
10
  const state = (0, combi_1.seq)("STATE", expressions_1.Source);
11
11
  const ret = (0, combi_1.seq)("DELETE TEXTPOOL", expressions_1.Source, (0, combi_1.opt)(language), (0, combi_1.opt)(state));
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.DeleteTextpool = DeleteTextpool;
@@ -9,7 +9,7 @@ class Demand {
9
9
  const field = (0, combi_1.seq)(expressions_1.Field, "=", expressions_1.Target);
10
10
  const messages = (0, combi_1.seq)("MESSAGES INTO", expressions_1.Target);
11
11
  const ret = (0, combi_1.seq)("DEMAND", (0, combi_1.plus)(field), "FROM CONTEXT", expressions_1.Field, (0, combi_1.opt)(messages));
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.Demand = Demand;
@@ -24,7 +24,7 @@ class Describe {
24
24
  const first = (0, combi_1.seq)("FIRST-LINE", expressions_1.Target);
25
25
  const list = (0, combi_1.seq)("LIST", (0, combi_1.per)(lines, pages, index, line, page, top, first, tlines, lineSize, lineCount));
26
26
  const ret = (0, combi_1.seq)("DESCRIBE", (0, combi_1.altPrio)(table, field, distance, list));
27
- return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
27
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
28
28
  }
29
29
  }
30
30
  exports.Describe = Describe;
@@ -5,7 +5,7 @@ const combi_1 = require("../combi");
5
5
  const version_1 = require("../../../version");
6
6
  class Detail {
7
7
  getMatcher() {
8
- return (0, combi_1.verNot)(version_1.Version.Cloud, "DETAIL");
8
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, "DETAIL");
9
9
  }
10
10
  }
11
11
  exports.Detail = Detail;
@@ -1,12 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Divide = 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 Divide {
7
8
  getMatcher() {
8
9
  const ret = (0, combi_1.seq)("DIVIDE", expressions_1.Target, "BY", expressions_1.Source);
9
- return ret;
10
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.KeyUser, ret);
10
11
  }
11
12
  }
12
13
  exports.Divide = Divide;
@@ -9,7 +9,7 @@ class EditorCall {
9
9
  const title = (0, combi_1.seq)("TITLE", expressions_1.SimpleSource3);
10
10
  const options = (0, combi_1.per)("DISPLAY-MODE", title);
11
11
  const ret = (0, combi_1.seq)("EDITOR-CALL FOR", (0, combi_1.optPrio)("REPORT"), expressions_1.Source, (0, combi_1.optPrio)(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.EditorCall = EditorCall;
@@ -5,7 +5,7 @@ const combi_1 = require("../combi");
5
5
  const version_1 = require("../../../version");
6
6
  class EndChain {
7
7
  getMatcher() {
8
- return (0, combi_1.verNot)(version_1.Version.Cloud, "ENDCHAIN");
8
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, "ENDCHAIN");
9
9
  }
10
10
  }
11
11
  exports.EndChain = EndChain;
@@ -5,7 +5,7 @@ const combi_1 = require("../combi");
5
5
  const version_1 = require("../../../version");
6
6
  class EndEnhancement {
7
7
  getMatcher() {
8
- return (0, combi_1.verNot)(version_1.Version.Cloud, "ENDENHANCEMENT");
8
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, "ENDENHANCEMENT");
9
9
  }
10
10
  }
11
11
  exports.EndEnhancement = EndEnhancement;
@@ -6,7 +6,7 @@ const version_1 = require("../../../version");
6
6
  class EndEnhancementSection {
7
7
  getMatcher() {
8
8
  const ret = (0, combi_1.str)("END-ENHANCEMENT-SECTION");
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.EndEnhancementSection = EndEnhancementSection;
@@ -5,7 +5,7 @@ const combi_1 = require("../combi");
5
5
  const version_1 = require("../../../version");
6
6
  class EndOfPage {
7
7
  getMatcher() {
8
- return (0, combi_1.verNot)(version_1.Version.Cloud, "END-OF-PAGE");
8
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, "END-OF-PAGE");
9
9
  }
10
10
  }
11
11
  exports.EndOfPage = EndOfPage;
@@ -5,7 +5,7 @@ const combi_1 = require("../combi");
5
5
  const version_1 = require("../../../version");
6
6
  class EndOfSelection {
7
7
  getMatcher() {
8
- return (0, combi_1.verNot)(version_1.Version.Cloud, "END-OF-SELECTION");
8
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, "END-OF-SELECTION");
9
9
  }
10
10
  }
11
11
  exports.EndOfSelection = EndOfSelection;
@@ -5,7 +5,7 @@ const combi_1 = require("../combi");
5
5
  const version_1 = require("../../../version");
6
6
  class EndTestSeam {
7
7
  getMatcher() {
8
- return (0, combi_1.ver)(version_1.Version.v750, (0, combi_1.str)("END-TEST-SEAM"), version_1.Version.OpenABAP);
8
+ return (0, combi_1.ver)(version_1.Release.v750, (0, combi_1.str)("END-TEST-SEAM"), { also: combi_1.AlsoIn.OpenABAP });
9
9
  }
10
10
  }
11
11
  exports.EndTestSeam = EndTestSeam;
@@ -5,7 +5,7 @@ const combi_1 = require("../combi");
5
5
  const version_1 = require("../../../version");
6
6
  class EndCatch {
7
7
  getMatcher() {
8
- return (0, combi_1.verNot)(version_1.Version.Cloud, "ENDCATCH");
8
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, "ENDCATCH");
9
9
  }
10
10
  }
11
11
  exports.EndCatch = EndCatch;
@@ -5,7 +5,7 @@ const combi_1 = require("../combi");
5
5
  const version_1 = require("../../../version");
6
6
  class EndOfDefinition {
7
7
  getMatcher() {
8
- return (0, combi_1.verNot)(version_1.Version.Cloud, "END-OF-DEFINITION");
8
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, "END-OF-DEFINITION");
9
9
  }
10
10
  }
11
11
  exports.EndOfDefinition = EndOfDefinition;
@@ -5,7 +5,7 @@ const combi_1 = require("../combi");
5
5
  const version_1 = require("../../../version");
6
6
  class EndExec {
7
7
  getMatcher() {
8
- return (0, combi_1.verNot)(version_1.Version.Cloud, "ENDEXEC");
8
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, "ENDEXEC");
9
9
  }
10
10
  }
11
11
  exports.EndExec = EndExec;
@@ -2,10 +2,10 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.EndForm = void 0;
4
4
  const combi_1 = require("../combi");
5
+ const version_1 = require("../../../version");
5
6
  class EndForm {
6
7
  getMatcher() {
7
- const ret = (0, combi_1.str)("ENDFORM");
8
- return ret;
8
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.KeyUser, (0, combi_1.str)("ENDFORM"));
9
9
  }
10
10
  }
11
11
  exports.EndForm = EndForm;