@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
@@ -1,11 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.InterfaceLoad = 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 InterfaceLoad {
7
8
  getMatcher() {
8
- return (0, combi_1.seq)("INTERFACE", expressions_1.InterfaceName, "LOAD");
9
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.KeyUser, (0, combi_1.seq)("INTERFACE", expressions_1.InterfaceName, "LOAD"));
9
10
  }
10
11
  }
11
12
  exports.InterfaceLoad = InterfaceLoad;
@@ -9,7 +9,7 @@ class Leave {
9
9
  const retu = (0, combi_1.seq)(expressions_1.AndReturn, "TO SCREEN", expressions_1.Source);
10
10
  const transaction = (0, combi_1.seq)("TO TRANSACTION", expressions_1.Source, (0, combi_1.opt)("AND SKIP FIRST SCREEN"));
11
11
  const ret = (0, combi_1.seq)("LEAVE", (0, combi_1.opt)((0, combi_1.alt)((0, combi_1.seq)("TO CURRENT TRANSACTION", (0, combi_1.opt)("AND SKIP FIRST SCREEN")), (0, combi_1.seq)((0, combi_1.opt)("TO"), "LIST-PROCESSING", (0, combi_1.opt)(retu)), "LIST-PROCESSING", "SCREEN", transaction, "PROGRAM", (0, combi_1.seq)("TO SCREEN", 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.Leave = Leave;
@@ -6,7 +6,7 @@ const version_1 = require("../../../version");
6
6
  class LoadOfProgram {
7
7
  getMatcher() {
8
8
  const ret = (0, combi_1.str)("LOAD-OF-PROGRAM");
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.LoadOfProgram = LoadOfProgram;
@@ -7,7 +7,7 @@ const version_1 = require("../../../version");
7
7
  class LoadReport {
8
8
  getMatcher() {
9
9
  const ret = (0, combi_1.seq)("LOAD REPORT", expressions_1.Source, "PART", expressions_1.Source, "INTO", 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.LoadReport = LoadReport;
@@ -7,7 +7,7 @@ const version_1 = require("../../../version");
7
7
  class Local {
8
8
  getMatcher() {
9
9
  const ret = (0, combi_1.seq)("LOCAL", expressions_1.FieldSub, (0, combi_1.opt)(expressions_1.TableBody));
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.Local = Local;
@@ -9,7 +9,7 @@ class LogPoint {
9
9
  const subkey = (0, combi_1.seq)("SUBKEY", expressions_1.Source);
10
10
  const fields = (0, combi_1.seq)("FIELDS", (0, combi_1.plus)(expressions_1.Source));
11
11
  const ret = (0, combi_1.seq)("LOG-POINT ID", expressions_1.NamespaceSimpleName, (0, combi_1.opt)(subkey), (0, combi_1.opt)(fields));
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.LogPoint = LogPoint;
@@ -7,14 +7,14 @@ const version_1 = require("../../../version");
7
7
  const loop_group_by_1 = require("../expressions/loop_group_by");
8
8
  class Loop {
9
9
  getMatcher() {
10
- const where = (0, combi_1.seq)("WHERE", (0, combi_1.alt)(expressions_1.ComponentCond, expressions_1.Dynamic));
11
- const group = (0, combi_1.ver)(version_1.Version.v740sp08, (0, combi_1.seq)("GROUP BY", loop_group_by_1.LoopGroupBy), version_1.Version.OpenABAP);
12
- const step = (0, combi_1.ver)(version_1.Version.v757, (0, combi_1.seq)("STEP", expressions_1.Source));
10
+ 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)));
11
+ const group = (0, combi_1.ver)(version_1.Release.v740sp08, (0, combi_1.seq)("GROUP BY", loop_group_by_1.LoopGroupBy), { also: combi_1.AlsoIn.OpenABAP });
12
+ const step = (0, combi_1.ver)(version_1.Release.v757, (0, combi_1.seq)("STEP", expressions_1.Source));
13
13
  const from = (0, combi_1.seq)("FROM", expressions_1.Source);
14
14
  const to = (0, combi_1.seq)("TO", expressions_1.Source);
15
15
  const usingKey = (0, combi_1.seq)("USING KEY", (0, combi_1.altPrio)(expressions_1.SimpleName, expressions_1.Dynamic));
16
16
  const options = (0, combi_1.per)(expressions_1.LoopTarget, from, to, where, usingKey, group, step);
17
- const at = (0, combi_1.seq)((0, combi_1.opt)((0, combi_1.seq)("SCREEN", (0, combi_1.failCombinator)())), (0, combi_1.opt)((0, combi_1.ver)(version_1.Version.v740sp08, "GROUP", version_1.Version.OpenABAP)), expressions_1.LoopSource, (0, combi_1.opt)(options));
17
+ const at = (0, combi_1.seq)((0, combi_1.opt)((0, combi_1.seq)("SCREEN", (0, combi_1.failCombinator)())), (0, combi_1.opt)((0, combi_1.ver)(version_1.Release.v740sp08, "GROUP", { also: combi_1.AlsoIn.OpenABAP })), expressions_1.LoopSource, (0, combi_1.opt)(options));
18
18
  return (0, combi_1.seq)("LOOP AT", at);
19
19
  }
20
20
  }
@@ -7,7 +7,7 @@ const expressions_1 = require("../expressions");
7
7
  class LoopAtScreen {
8
8
  getMatcher() {
9
9
  const l = (0, combi_1.seq)("LOOP AT SCREEN", (0, combi_1.opt)((0, combi_1.seq)("INTO", expressions_1.Target)));
10
- return (0, combi_1.verNot)(version_1.Version.Cloud, l);
10
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, l);
11
11
  }
12
12
  }
13
13
  exports.LoopAtScreen = LoopAtScreen;
@@ -2,9 +2,10 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.LoopExtract = void 0;
4
4
  const combi_1 = require("../combi");
5
+ const version_1 = require("../../../version");
5
6
  class LoopExtract {
6
7
  getMatcher() {
7
- return (0, combi_1.str)("LOOP");
8
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.KeyUser, (0, combi_1.str)("LOOP"));
8
9
  }
9
10
  }
10
11
  exports.LoopExtract = LoopExtract;
@@ -8,7 +8,8 @@ class Message {
8
8
  getMatcher() {
9
9
  const like = (0, combi_1.seq)("DISPLAY LIKE", expressions_1.Source);
10
10
  const into = (0, combi_1.seq)("INTO", expressions_1.Target);
11
- const raising = (0, combi_1.seq)("RAISING", expressions_1.ExceptionName);
11
+ // RAISING addition blocked in KeyUser
12
+ const raising = (0, combi_1.verNotLang)(version_1.LanguageVersion.KeyUser, (0, combi_1.seq)("RAISING", expressions_1.ExceptionName));
12
13
  const options = (0, combi_1.per)(like, into, raising);
13
14
  const type = (0, combi_1.seq)("TYPE", expressions_1.Source);
14
15
  const sou = (0, combi_1.altPrio)(options, expressions_1.MessageSourceSource);
@@ -19,7 +20,7 @@ class Message {
19
20
  const cloud1 = (0, combi_1.seq)((0, combi_1.opt)((0, combi_1.seq)("WITH", expressions_1.Source, (0, combi_1.opt)(expressions_1.Source), (0, combi_1.opt)(expressions_1.Source), (0, combi_1.opt)(expressions_1.Source))), (0, combi_1.altPrio)(into, raising));
20
21
  const cloud2 = (0, combi_1.seq)((0, combi_1.altPrio)(into, raising), (0, combi_1.opt)((0, combi_1.seq)("WITH", expressions_1.Source, (0, combi_1.opt)(expressions_1.Source), (0, combi_1.opt)(expressions_1.Source), (0, combi_1.opt)(expressions_1.Source))));
21
22
  const cloud = (0, combi_1.seq)(expressions_1.MessageSource, (0, combi_1.alt)(cloud1, cloud2));
22
- const ret = (0, combi_1.seq)("MESSAGE", (0, combi_1.altPrio)((0, combi_1.verNot)(version_1.Version.Cloud, foo), (0, combi_1.verNot)(version_1.Version.Cloud, text), (0, combi_1.ver)(version_1.Version.Cloud, cloud)));
23
+ const ret = (0, combi_1.seq)("MESSAGE", (0, combi_1.altPrio)((0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, foo), (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, text), (0, combi_1.verLang)(version_1.LanguageVersion.Cloud, cloud)));
23
24
  return ret;
24
25
  }
25
26
  }
@@ -6,9 +6,11 @@ const combi_1 = require("../combi");
6
6
  const expressions_1 = require("../expressions");
7
7
  class MethodDef {
8
8
  getMatcher() {
9
- const def = (0, combi_1.ver)(version_1.Version.v740sp08, (0, combi_1.seq)("DEFAULT", (0, combi_1.altPrio)("FAIL", "IGNORE")), version_1.Version.OpenABAP);
10
- const parameters = (0, combi_1.seq)((0, combi_1.optPrio)((0, combi_1.altPrio)("FINAL", def, expressions_1.Abstract)), (0, combi_1.optPrio)(expressions_1.MethodDefImporting), (0, combi_1.optPrio)(expressions_1.MethodDefExporting), (0, combi_1.optPrio)(expressions_1.MethodDefChanging), (0, combi_1.optPrio)(expressions_1.MethodDefReturning), (0, combi_1.optPrio)((0, combi_1.altPrio)(expressions_1.MethodDefRaising, expressions_1.MethodDefExceptions)));
11
- const testing = (0, combi_1.seq)((0, combi_1.optPrio)(expressions_1.Abstract), "FOR TESTING", (0, combi_1.optPrio)((0, combi_1.altPrio)(expressions_1.MethodDefRaising, expressions_1.MethodDefExceptions)));
9
+ const def = (0, combi_1.ver)(version_1.Release.v740sp08, (0, combi_1.seq)("DEFAULT", (0, combi_1.altPrio)("FAIL", "IGNORE")), { also: combi_1.AlsoIn.OpenABAP });
10
+ const parameters = (0, combi_1.seq)((0, combi_1.optPrio)((0, combi_1.altPrio)("FINAL", def, expressions_1.Abstract)), (0, combi_1.optPrio)(expressions_1.MethodDefImporting), (0, combi_1.optPrio)(expressions_1.MethodDefExporting), (0, combi_1.optPrio)(expressions_1.MethodDefChanging), (0, combi_1.optPrio)(expressions_1.MethodDefReturning),
11
+ // Old-style EXCEPTIONS blocked in KeyUser
12
+ (0, combi_1.optPrio)((0, combi_1.altPrio)(expressions_1.MethodDefRaising, (0, combi_1.verNotLang)(version_1.LanguageVersion.KeyUser, expressions_1.MethodDefExceptions))));
13
+ const testing = (0, combi_1.seq)((0, combi_1.optPrio)(expressions_1.Abstract), "FOR TESTING", (0, combi_1.optPrio)((0, combi_1.altPrio)(expressions_1.MethodDefRaising, (0, combi_1.verNotLang)(version_1.LanguageVersion.KeyUser, expressions_1.MethodDefExceptions))));
12
14
  const result = (0, combi_1.seq)("RESULT", expressions_1.MethodParamName);
13
15
  const link = (0, combi_1.seq)("LINK", expressions_1.MethodParamName);
14
16
  const full = (0, combi_1.seq)("FULL", expressions_1.MethodParamName);
@@ -19,8 +21,10 @@ class MethodDef {
19
21
  (0, combi_1.seq)("TABLE FUNCTION", expressions_1.NamespaceSimpleName), // todo, this is only from version something
20
22
  (0, combi_1.seq)("VALIDATE ON SAVE IMPORTING", expressions_1.MethodParamName, "FOR", expressions_1.TypeName), (0, combi_1.seq)("MODIFY", (0, combi_1.opt)("IMPORTING"), (0, combi_1.plus)((0, combi_1.seq)(expressions_1.MethodParamName, modify))), (0, combi_1.seq)("PRECHECK IMPORTING", expressions_1.MethodParamName, modify), (0, combi_1.seq)("DETERMINATION", expressions_1.TypeName, "IMPORTING", expressions_1.MethodParamName, "FOR", expressions_1.TypeName), (0, combi_1.seq)("VALIDATION", expressions_1.TypeName, "IMPORTING", expressions_1.MethodParamName, "FOR", expressions_1.TypeName), (0, combi_1.seq)("NUMBERING IMPORTING", expressions_1.MethodParamName, modify), (0, combi_1.seq)("READ IMPORTING", expressions_1.MethodParamName, (0, combi_1.altPrio)(forRead, forfunction)), (0, combi_1.seq)("FEATURES IMPORTING", expressions_1.MethodParamName, "REQUEST", expressions_1.NamespaceSimpleName, "FOR", expressions_1.NamespaceSimpleName, result), (0, combi_1.seq)("BEHAVIOR IMPORTING", expressions_1.MethodParamName, "FOR CREATE", expressions_1.TypeName, expressions_1.MethodParamName, "FOR UPDATE", expressions_1.TypeName, expressions_1.MethodParamName, "FOR DELETE", expressions_1.TypeName), (0, combi_1.seq)("BEHAVIOR IMPORTING", expressions_1.MethodParamName, "FOR READ", expressions_1.TypeName, result), (0, combi_1.seq)("BEHAVIOR IMPORTING", expressions_1.MethodParamName, "FOR UPDATE", expressions_1.TypeName), (0, combi_1.seq)((0, combi_1.alt)("BEHAVIOR", "LOCK"), "IMPORTING", expressions_1.MethodParamName, "FOR LOCK", expressions_1.TypeName), (0, combi_1.seq)("DETERMINE", (0, combi_1.alt)("ON MODIFY", "ON SAVE"), "IMPORTING", expressions_1.MethodParamName, "FOR", expressions_1.TypeName), (0, combi_1.seq)("GLOBAL AUTHORIZATION IMPORTING REQUEST", expressions_1.MethodParamName, "FOR", expressions_1.TypeName, result), (0, combi_1.seq)("GLOBAL FEATURES IMPORTING REQUEST", expressions_1.MethodParamName, "FOR", expressions_1.TypeName, result), (0, combi_1.seq)((0, combi_1.seq)((0, combi_1.opt)("INSTANCE"), "AUTHORIZATION IMPORTING"), expressions_1.MethodParamName, "REQUEST", expressions_1.MethodParamName, "FOR", expressions_1.TypeName, result), (0, combi_1.seq)("INSTANCE FEATURES IMPORTING", expressions_1.MethodParamName, "REQUEST", expressions_1.MethodParamName, "FOR", expressions_1.TypeName, result));
21
23
  // todo, this is only from version something
22
- const amdp = (0, combi_1.seq)("AMDP OPTIONS", (0, combi_1.optPrio)("READ-ONLY"), "CDS SESSION CLIENT", (0, combi_1.alt)("CURRENT", "DEPENDENT"), (0, combi_1.optPrio)(expressions_1.MethodDefImporting), (0, combi_1.optPrio)(expressions_1.MethodDefExporting), (0, combi_1.optPrio)(expressions_1.MethodDefRaising));
23
- const ret = (0, combi_1.seq)((0, combi_1.altPrio)("CLASS-METHODS", "METHODS"), expressions_1.MethodName, (0, combi_1.alt)((0, combi_1.seq)((0, combi_1.optPrio)(expressions_1.Abstract), (0, combi_1.optPrio)(def), expressions_1.EventHandler), parameters, testing, (0, combi_1.seq)("FOR", behavior), amdp, "NOT AT END OF MODE", (0, combi_1.optPrio)(expressions_1.Redefinition)));
24
+ // AMDP OPTIONS clause blocked in KeyUser
25
+ const amdp = (0, combi_1.verNotLang)(version_1.LanguageVersion.KeyUser, (0, combi_1.seq)("AMDP OPTIONS", (0, combi_1.optPrio)("READ-ONLY"), "CDS SESSION CLIENT", (0, combi_1.alt)("CURRENT", "DEPENDENT"), (0, combi_1.optPrio)(expressions_1.MethodDefImporting), (0, combi_1.optPrio)(expressions_1.MethodDefExporting), (0, combi_1.optPrio)(expressions_1.MethodDefRaising)));
26
+ // FOR DDL OBJECT / FOR TABLE FUNCTION / FOR SCALAR FUNCTION blocked in KeyUser
27
+ const ret = (0, combi_1.seq)((0, combi_1.altPrio)("CLASS-METHODS", "METHODS"), expressions_1.MethodName, (0, combi_1.alt)((0, combi_1.seq)((0, combi_1.optPrio)(expressions_1.Abstract), (0, combi_1.optPrio)(def), expressions_1.EventHandler), parameters, testing, (0, combi_1.verNotLang)(version_1.LanguageVersion.KeyUser, (0, combi_1.seq)("FOR", behavior)), amdp, "NOT AT END OF MODE", (0, combi_1.optPrio)(expressions_1.Redefinition)));
24
28
  return ret;
25
29
  }
26
30
  }
@@ -3,13 +3,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.MethodImplementation = 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 MethodImplementation {
7
8
  getMatcher() {
8
9
  const name = (0, combi_1.regex)(/[\w~]+/);
9
10
  const kernel = (0, combi_1.seq)("KERNEL MODULE", (0, combi_1.plus)(name), (0, combi_1.optPrio)((0, combi_1.altPrio)("FAIL", "IGNORE")));
10
11
  const using = (0, combi_1.seq)("USING", (0, combi_1.plus)(expressions_1.SimpleFieldChain));
11
12
  const database = (0, combi_1.seq)("DATABASE", (0, combi_1.alt)("PROCEDURE", "FUNCTION", "GRAPH WORKSPACE"), "FOR HDB", expressions_1.Language, (0, combi_1.opt)("OPTIONS READ-ONLY"), (0, combi_1.opt)(using));
12
- const by = (0, combi_1.seq)("BY", (0, combi_1.alt)(kernel, database));
13
+ // BY DATABASE and BY KERNEL both blocked in KeyUser
14
+ const by = (0, combi_1.verNotLang)(version_1.LanguageVersion.KeyUser, (0, combi_1.seq)("BY", (0, combi_1.alt)(kernel, database)));
13
15
  return (0, combi_1.seq)("METHOD", expressions_1.MethodName, (0, combi_1.optPrio)(by));
14
16
  }
15
17
  }
@@ -3,11 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ModifyDatabase = 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 ModifyDatabase {
7
8
  getMatcher() {
8
9
  const from = (0, combi_1.seq)("FROM", (0, combi_1.opt)("TABLE"), expressions_1.SQLSource);
9
10
  const options = (0, combi_1.per)(expressions_1.DatabaseConnection, from, expressions_1.SQLClient);
10
- return (0, combi_1.seq)("MODIFY", expressions_1.DatabaseTable, options);
11
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.KeyUser, (0, combi_1.seq)("MODIFY", expressions_1.DatabaseTable, options));
11
12
  }
12
13
  }
13
14
  exports.ModifyDatabase = ModifyDatabase;
@@ -27,7 +27,7 @@ class ModifyEntities {
27
27
  const create3 = (0, combi_1.seq)("CREATE BY", expressions_1.EMLEntityPath, fieldsWith);
28
28
  const create4 = (0, combi_1.seq)("CREATE FROM", expressions_1.Source, (0, combi_1.plus)((0, combi_1.seq)("CREATE BY", expressions_1.EMLEntityPath, "FROM", expressions_1.Source)));
29
29
  const entity = (0, combi_1.seq)("ENTITY", (0, combi_1.opt)("IN LOCAL MODE"), (0, combi_1.alt)(expressions_1.NamespaceSimpleName, expressions_1.EntityAssociation), (0, combi_1.alt)(execute, create, updateFields, deleteFrom, updateSetFields, updateFrom, create2, create3, create4));
30
- return (0, combi_1.ver)(version_1.Version.v754, (0, combi_1.seq)("MODIFY", (0, combi_1.alt)(entities, entity), end), version_1.Version.OpenABAP);
30
+ return (0, combi_1.ver)(version_1.Release.v754, (0, combi_1.seq)("MODIFY", (0, combi_1.alt)(entities, entity), end), { also: combi_1.AlsoIn.OpenABAP });
31
31
  }
32
32
  }
33
33
  exports.ModifyEntities = ModifyEntities;
@@ -21,7 +21,7 @@ class ModifyLine {
21
21
  const lineFormat = (0, combi_1.seq)("LINE FORMAT", (0, combi_1.per)("INPUT OFF", "INVERSE", "RESET", intensifiedOpt, expressions_1.Color));
22
22
  const options = (0, combi_1.per)(index, value, format, page, lineFormat, lineValue, ocp, intensified, expressions_1.Color);
23
23
  const ret = (0, combi_1.seq)("MODIFY", (0, combi_1.altPrio)("CURRENT LINE", (0, combi_1.seq)("LINE", expressions_1.Source)), (0, combi_1.opt)(options));
24
- return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
24
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
25
25
  }
26
26
  }
27
27
  exports.ModifyLine = ModifyLine;
@@ -7,7 +7,7 @@ const version_1 = require("../../../version");
7
7
  class ModifyScreen {
8
8
  getMatcher() {
9
9
  const ret = (0, combi_1.seq)("MODIFY SCREEN", (0, combi_1.opt)((0, combi_1.seq)("FROM", 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.ModifyScreen = ModifyScreen;
@@ -8,7 +8,7 @@ class Module {
8
8
  getMatcher() {
9
9
  const sw = (0, combi_1.seq)("SWITCH", expressions_1.NamespaceSimpleName);
10
10
  const ret = (0, combi_1.seq)("MODULE", expressions_1.FormName, (0, combi_1.opt)((0, combi_1.alt)("INPUT", "OUTPUT", "ON CHAIN-REQUEST", "ON CHAIN-INPUT", "AT EXIT-COMMAND", sw)));
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.Module = Module;
@@ -7,9 +7,9 @@ const version_1 = require("../../../version");
7
7
  const tokens_1 = require("../../1_lexer/tokens");
8
8
  class Move {
9
9
  getMatcher() {
10
- const mov = (0, combi_1.verNot)(version_1.Version.Cloud, "MOVE");
10
+ const mov = (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, "MOVE");
11
11
  const move = (0, combi_1.seq)(mov, (0, combi_1.altPrio)((0, combi_1.seq)("EXACT", expressions_1.Source, "TO", expressions_1.Target), (0, combi_1.seq)(expressions_1.Source, (0, combi_1.altPrio)("?TO", "TO"), expressions_1.Target)), (0, combi_1.opt)((0, combi_1.seq)("PERCENTAGE", expressions_1.Source, (0, combi_1.opt)((0, combi_1.alt)("LEFT", "RIGHT")))));
12
- const calcAssign = (0, combi_1.ver)(version_1.Version.v754, (0, combi_1.alt)((0, combi_1.seq)((0, combi_1.tok)(tokens_1.WPlus), "="), (0, combi_1.seq)((0, combi_1.tok)(tokens_1.WDash), "="), "/=", "*=", "&&="), version_1.Version.OpenABAP);
12
+ const calcAssign = (0, combi_1.ver)(version_1.Release.v754, (0, combi_1.alt)((0, combi_1.seq)((0, combi_1.tok)(tokens_1.WPlus), "="), (0, combi_1.seq)((0, combi_1.tok)(tokens_1.WDash), "="), "/=", "*=", "&&="), { also: combi_1.AlsoIn.OpenABAP });
13
13
  const chained = (0, combi_1.seq)("=", (0, combi_1.star)((0, combi_1.seq)(expressions_1.Target, "=")));
14
14
  const equals = (0, combi_1.altPrio)((0, combi_1.altPrio)(chained, "?="), calcAssign);
15
15
  // todo, move "?=" to CAST?
@@ -6,8 +6,8 @@ const expressions_1 = require("../expressions");
6
6
  const version_1 = require("../../../version");
7
7
  class MoveCorresponding {
8
8
  getMatcher() {
9
- const keeping = (0, combi_1.ver)(version_1.Version.v740sp05, "KEEPING TARGET LINES", version_1.Version.OpenABAP);
10
- const expanding = (0, combi_1.ver)(version_1.Version.v740sp05, "EXPANDING NESTED TABLES", version_1.Version.OpenABAP);
9
+ const keeping = (0, combi_1.ver)(version_1.Release.v740sp05, "KEEPING TARGET LINES", { also: combi_1.AlsoIn.OpenABAP });
10
+ const expanding = (0, combi_1.ver)(version_1.Release.v740sp05, "EXPANDING NESTED TABLES", { also: combi_1.AlsoIn.OpenABAP });
11
11
  const move = (0, combi_1.seq)("MOVE-CORRESPONDING", (0, combi_1.optPrio)("EXACT"), expressions_1.Source, "TO",
12
12
  // inline defintions not possible in this position,
13
13
  expressions_1.SimpleTarget, (0, combi_1.optPrio)(expanding), (0, combi_1.optPrio)(keeping));
@@ -1,12 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Multiply = 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 Multiply {
7
8
  getMatcher() {
8
9
  const ret = (0, combi_1.seq)("MULTIPLY", 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.Multiply = Multiply;
@@ -6,7 +6,7 @@ const version_1 = require("../../../version");
6
6
  class NewLine {
7
7
  getMatcher() {
8
8
  const ret = (0, combi_1.seq)("NEW-LINE", (0, combi_1.opt)((0, combi_1.alt)("SCROLLING", "NO-SCROLLING")));
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.NewLine = NewLine;
@@ -25,7 +25,7 @@ class NewPage {
25
25
  const name = (0, combi_1.seq)("LIST NAME", expressions_1.Source);
26
26
  const newList = (0, combi_1.seq)("NEW LIST IDENTIFICATION", expressions_1.Source);
27
27
  const ret = (0, combi_1.seq)("NEW-PAGE", (0, combi_1.opt)((0, combi_1.per)(print, (0, combi_1.alt)("NO-TITLE", "WITH-TITLE"), (0, combi_1.alt)("NO-HEADING", "WITH-HEADING"), "NO DIALOG", "NO-TOPOFPAGE", parameters, listAuth, immediately, dataset, coverPage, newList, keep, department, name, layout, destination, receiver, copies, coverText, archive, "NEW-SECTION", lineCount, line)));
28
- return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
28
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
29
29
  }
30
30
  }
31
31
  exports.NewPage = NewPage;
@@ -7,7 +7,7 @@ const version_1 = require("../../../version");
7
7
  class Nodes {
8
8
  getMatcher() {
9
9
  const ret = (0, combi_1.seq)("NODES", 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.Nodes = Nodes;
@@ -8,7 +8,7 @@ class OnChange {
8
8
  getMatcher() {
9
9
  const or = (0, combi_1.seq)("OR", expressions_1.Target);
10
10
  const ret = (0, combi_1.seq)("ON CHANGE OF", expressions_1.Target, (0, combi_1.star)(or));
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.OnChange = OnChange;
@@ -6,9 +6,9 @@ const expressions_1 = require("../expressions");
6
6
  const version_1 = require("../../../version");
7
7
  class OpenCursor {
8
8
  getMatcher() {
9
- const privileged = (0, combi_1.ver)(version_1.Version.v752, (0, combi_1.seq)("WITH", expressions_1.SQLPrivilegedAccess));
9
+ const privileged = (0, combi_1.ver)(version_1.Release.v752, (0, combi_1.seq)("WITH", expressions_1.SQLPrivilegedAccess));
10
10
  const ret = (0, combi_1.seq)("OPEN CURSOR", (0, combi_1.optPrio)("WITH HOLD"), expressions_1.SQLTarget, "FOR", expressions_1.Select, (0, combi_1.optPrio)(privileged), (0, combi_1.optPrio)(expressions_1.SQLOptions));
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.OpenCursor = OpenCursor;
@@ -22,7 +22,7 @@ class OpenDataset {
22
22
  const feed = (0, combi_1.seq)("WITH", linetype, "LINEFEED");
23
23
  const windows = (0, combi_1.str)("WITH WINDOWS LINEFEED");
24
24
  const ret = (0, combi_1.seq)("OPEN DATASET", expressions_1.Source, (0, combi_1.opt)((0, combi_1.per)(direction, type, mode, wbom, replacement, filter, encoding, pos, message, ignoring, bom, code, feed, windows)));
25
- return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
25
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
26
26
  }
27
27
  }
28
28
  exports.OpenDataset = OpenDataset;
@@ -7,7 +7,7 @@ const version_1 = require("../../../version");
7
7
  class Pack {
8
8
  getMatcher() {
9
9
  const ret = (0, combi_1.seq)("PACK", expressions_1.Source, "TO", 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.Pack = Pack;
@@ -21,7 +21,7 @@ class Parameter {
21
21
  const forTable = (0, combi_1.seq)("FOR TABLE", expressions_1.DatabaseTable, (0, combi_1.opt)("VALUE-REQUEST"));
22
22
  const perm = (0, combi_1.per)(type, def, "OBLIGATORY", match, cmd, length, decimals, radio, memory, modif, listbox, visible, forTable, "VALUE CHECK", "NO-DISPLAY", "AS CHECKBOX", "LOWER CASE");
23
23
  const ret = (0, combi_1.seq)(para, expressions_1.FieldSub, (0, combi_1.opt)(expressions_1.ConstantFieldLength), (0, combi_1.opt)(perm));
24
- return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
24
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
25
25
  }
26
26
  }
27
27
  exports.Parameter = Parameter;
@@ -43,14 +43,14 @@ class Perform {
43
43
  getMatcher() {
44
44
  const level = (0, combi_1.seq)("LEVEL", Expressions.Source);
45
45
  const commit = (0, combi_1.alt)((0, combi_1.seq)("ON COMMIT", (0, combi_1.opt)(level)), "ON ROLLBACK");
46
- const short = (0, combi_1.verNot)(version_1.Version.Cloud, (0, combi_1.seq)(Expressions.FormName, (0, combi_1.tok)(tokens_1.ParenLeft), Expressions.IncludeName, (0, combi_1.tok)(tokens_1.ParenRightW)));
46
+ const short = (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, (0, combi_1.seq)(Expressions.FormName, (0, combi_1.tok)(tokens_1.ParenLeft), Expressions.IncludeName, (0, combi_1.tok)(tokens_1.ParenRightW)));
47
47
  const program = (0, combi_1.seq)("IN PROGRAM", (0, combi_1.opt)((0, combi_1.alt)(Expressions.Dynamic, Expressions.IncludeName)));
48
48
  const found = (0, combi_1.str)("IF FOUND");
49
- const full = (0, combi_1.seq)((0, combi_1.alt)(Expressions.FormName, Expressions.Dynamic), (0, combi_1.opt)((0, combi_1.verNot)(version_1.Version.Cloud, program)));
49
+ const full = (0, combi_1.seq)((0, combi_1.alt)(Expressions.FormName, Expressions.Dynamic), (0, combi_1.opt)((0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, program)));
50
50
  const normal = (0, combi_1.seq)((0, combi_1.opt)(found), (0, combi_1.opt)(expressions_1.PerformTables), (0, combi_1.opt)(expressions_1.PerformUsing), (0, combi_1.opt)(expressions_1.PerformChanging), (0, combi_1.opt)(found), (0, combi_1.opt)(commit));
51
51
  const of = (0, combi_1.seq)("OF", (0, combi_1.plus)(Expressions.FormName));
52
52
  const ret = (0, combi_1.seq)("PERFORM", (0, combi_1.alt)(short, full), (0, combi_1.altPrio)(of, normal));
53
- return ret;
53
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.KeyUser, ret);
54
54
  }
55
55
  }
56
56
  exports.Perform = Perform;
@@ -7,7 +7,7 @@ const version_1 = require("../../../version");
7
7
  class Position {
8
8
  getMatcher() {
9
9
  const ret = (0, combi_1.seq)("POSITION", 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.Position = Position;
@@ -15,7 +15,7 @@ class PrintControl {
15
15
  const lpi = (0, combi_1.seq)("LPI", expressions_1.Source);
16
16
  const font = (0, combi_1.seq)("FONT", expressions_1.Source);
17
17
  const ret = (0, combi_1.seq)("PRINT-CONTROL", (0, combi_1.per)(index, func, line, position, size, cpi, lpi, font));
18
- return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
18
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
19
19
  }
20
20
  }
21
21
  exports.PrintControl = PrintControl;
@@ -5,7 +5,7 @@ const combi_1 = require("../combi");
5
5
  const version_1 = require("../../../version");
6
6
  class ProcessAfterInput {
7
7
  getMatcher() {
8
- return (0, combi_1.verNot)(version_1.Version.Cloud, "PROCESS AFTER INPUT");
8
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, "PROCESS AFTER INPUT");
9
9
  }
10
10
  }
11
11
  exports.ProcessAfterInput = ProcessAfterInput;
@@ -5,7 +5,7 @@ const combi_1 = require("../combi");
5
5
  const version_1 = require("../../../version");
6
6
  class ProcessBeforeOutput {
7
7
  getMatcher() {
8
- return (0, combi_1.verNot)(version_1.Version.Cloud, "PROCESS BEFORE OUTPUT");
8
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, "PROCESS BEFORE OUTPUT");
9
9
  }
10
10
  }
11
11
  exports.ProcessBeforeOutput = ProcessBeforeOutput;
@@ -5,7 +5,7 @@ const combi_1 = require("../combi");
5
5
  const version_1 = require("../../../version");
6
6
  class ProcessOnHelpRequest {
7
7
  getMatcher() {
8
- return (0, combi_1.verNot)(version_1.Version.Cloud, "PROCESS ON HELP-REQUEST");
8
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, "PROCESS ON HELP-REQUEST");
9
9
  }
10
10
  }
11
11
  exports.ProcessOnHelpRequest = ProcessOnHelpRequest;
@@ -5,7 +5,7 @@ const combi_1 = require("../combi");
5
5
  const version_1 = require("../../../version");
6
6
  class ProcessOnValueRequest {
7
7
  getMatcher() {
8
- return (0, combi_1.verNot)(version_1.Version.Cloud, "PROCESS ON VALUE-REQUEST");
8
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, "PROCESS ON VALUE-REQUEST");
9
9
  }
10
10
  }
11
11
  exports.ProcessOnValueRequest = ProcessOnValueRequest;
@@ -12,7 +12,7 @@ class Program {
12
12
  const line = (0, combi_1.seq)("LINE-COUNT", expressions_1.Source, (0, combi_1.opt)(expressions_1.FieldLength));
13
13
  const options = (0, combi_1.per)(message, size, heading, line);
14
14
  const ret = (0, combi_1.seq)("PROGRAM", (0, combi_1.opt)(expressions_1.ReportName), (0, combi_1.opt)(options));
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.Program = Program;
@@ -13,7 +13,7 @@ class Provide {
13
13
  const where = (0, combi_1.seq)("WHERE", expressions_1.Cond);
14
14
  const between = (0, combi_1.seq)("BETWEEN", expressions_1.SimpleSource3, "AND", expressions_1.SimpleSource3);
15
15
  const ret = (0, combi_1.seq)("PROVIDE", (0, combi_1.altPrio)((0, combi_1.plusPrio)(fields), (0, combi_1.plusPrio)(fieldList)), (0, combi_1.opt)((0, combi_1.per)(between, where)));
16
- return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
16
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
17
17
  }
18
18
  }
19
19
  exports.Provide = Provide;
@@ -7,7 +7,7 @@ const expressions_1 = require("../expressions");
7
7
  class Put {
8
8
  getMatcher() {
9
9
  const ret = (0, combi_1.seq)("PUT", 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.Put = Put;
@@ -9,10 +9,11 @@ class Raise {
9
9
  const mess = (0, combi_1.seq)("MESSAGE", expressions_1.MessageSource, (0, combi_1.opt)(expressions_1.RaiseWith));
10
10
  const messid = (0, combi_1.seq)("MESSAGE ID", expressions_1.Source, "NUMBER", (0, combi_1.altPrio)(expressions_1.MessageNumber, expressions_1.Source), (0, combi_1.optPrio)(expressions_1.RaiseWith));
11
11
  const exporting = (0, combi_1.seq)("EXPORTING", expressions_1.ParameterListS);
12
- const from = (0, combi_1.seq)("TYPE", expressions_1.ClassName, (0, combi_1.opt)((0, combi_1.alt)((0, combi_1.ver)(version_1.Version.v750, (0, combi_1.alt)(mess, messid), version_1.Version.OpenABAP), (0, combi_1.ver)(version_1.Version.v752, "USING MESSAGE"))), (0, combi_1.optPrio)(exporting));
12
+ const from = (0, combi_1.seq)("TYPE", expressions_1.ClassName, (0, combi_1.opt)((0, combi_1.alt)((0, combi_1.ver)(version_1.Release.v750, (0, combi_1.alt)(mess, messid), { also: combi_1.AlsoIn.OpenABAP }), (0, combi_1.ver)(version_1.Release.v752, "USING MESSAGE"))), (0, combi_1.optPrio)(exporting));
13
13
  const pre = (0, combi_1.altPrio)((0, combi_1.seq)((0, combi_1.optPrio)("RESUMABLE"), "EXCEPTION"), "SHORTDUMP");
14
- const clas = (0, combi_1.seq)(pre, (0, combi_1.altPrio)(from, (0, combi_1.ver)(version_1.Version.v752, expressions_1.Source, version_1.Version.OpenABAP), expressions_1.SimpleSource2));
15
- const ret = (0, combi_1.seq)("RAISE", (0, combi_1.altPrio)(clas, expressions_1.ExceptionName));
14
+ const clas = (0, combi_1.seq)(pre, (0, combi_1.altPrio)(from, (0, combi_1.ver)(version_1.Release.v752, expressions_1.Source, { also: combi_1.AlsoIn.OpenABAP }), expressions_1.SimpleSource2));
15
+ // Old form "RAISE exception_name" blocked in KeyUser
16
+ const ret = (0, combi_1.seq)("RAISE", (0, combi_1.altPrio)(clas, (0, combi_1.verNotLang)(version_1.LanguageVersion.KeyUser, expressions_1.ExceptionName)));
16
17
  return ret;
17
18
  }
18
19
  }
@@ -3,9 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RaiseEntityEvent = 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 RaiseEntityEvent {
7
8
  getMatcher() {
8
- return (0, combi_1.seq)("RAISE ENTITY EVENT", expressions_1.EventName, "FROM", expressions_1.Source);
9
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.KeyUser, (0, combi_1.seq)("RAISE ENTITY EVENT", expressions_1.EventName, "FROM", expressions_1.Source));
9
10
  }
10
11
  }
11
12
  exports.RaiseEntityEvent = RaiseEntityEvent;
@@ -3,10 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RaiseEvent = 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 RaiseEvent {
7
8
  getMatcher() {
8
9
  const exporting = (0, combi_1.seq)("EXPORTING", expressions_1.ParameterListS);
9
- return (0, combi_1.seq)("RAISE EVENT", expressions_1.EventName, (0, combi_1.opt)(exporting));
10
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.KeyUser, (0, combi_1.seq)("RAISE EVENT", expressions_1.EventName, (0, combi_1.opt)(exporting)));
10
11
  }
11
12
  }
12
13
  exports.RaiseEvent = RaiseEvent;
@@ -8,7 +8,7 @@ class Ranges {
8
8
  getMatcher() {
9
9
  const occurs = (0, combi_1.seq)("OCCURS", expressions_1.Source);
10
10
  const ret = (0, combi_1.seq)("RANGES", expressions_1.DefinitionName, "FOR", expressions_1.SimpleFieldChain2, (0, combi_1.optPrio)(occurs), (0, combi_1.optPrio)(expressions_1.FieldLength));
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.Ranges = Ranges;
@@ -7,7 +7,7 @@ const version_1 = require("../../../version");
7
7
  class ReadDataset {
8
8
  getMatcher() {
9
9
  const ret = (0, combi_1.seq)("READ DATASET", expressions_1.Source, "INTO", expressions_1.Target, (0, combi_1.opt)((0, combi_1.per)((0, combi_1.seq)("MAXIMUM LENGTH", expressions_1.Source), (0, combi_1.seq)("ACTUAL LENGTH", expressions_1.Target), (0, combi_1.seq)("LENGTH", 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.ReadDataset = ReadDataset;
@@ -20,7 +20,7 @@ class ReadEntities {
20
20
  const by = (0, combi_1.seq)("BY", expressions_1.EMLEntityPath, fields);
21
21
  const sub = (0, combi_1.seq)((0, combi_1.alt)(all, fields, from, by, byall), result);
22
22
  const single = (0, combi_1.seq)("ENTITY", (0, combi_1.opt)("IN LOCAL MODE"), (0, combi_1.alt)(expressions_1.NamespaceSimpleName, expressions_1.EntityAssociation), (0, combi_1.plus)(sub), (0, combi_1.optPrio)(failed), (0, combi_1.optPrio)(reported));
23
- return (0, combi_1.ver)(version_1.Version.v754, (0, combi_1.seq)("READ", (0, combi_1.alt)(s, single)), version_1.Version.OpenABAP);
23
+ return (0, combi_1.ver)(version_1.Release.v754, (0, combi_1.seq)("READ", (0, combi_1.alt)(s, single)), { also: combi_1.AlsoIn.OpenABAP });
24
24
  }
25
25
  }
26
26
  exports.ReadEntities = ReadEntities;
@@ -13,7 +13,7 @@ class ReadLine {
13
13
  const page = (0, combi_1.seq)("OF PAGE", expressions_1.Source);
14
14
  const current = (0, combi_1.str)("OF CURRENT PAGE");
15
15
  const ret = (0, combi_1.seq)("READ", (0, combi_1.alt)("CURRENT LINE", (0, combi_1.seq)("LINE", expressions_1.Source)), (0, combi_1.opt)((0, combi_1.per)(val, index, field, page, current)));
16
- return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
16
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
17
17
  }
18
18
  }
19
19
  exports.ReadLine = ReadLine;
@@ -10,7 +10,7 @@ class ReadReport {
10
10
  const into = (0, combi_1.seq)("INTO", expressions_1.Target);
11
11
  const maximum = (0, combi_1.seq)("MAXIMUM WIDTH INTO", expressions_1.Target);
12
12
  const ret = (0, combi_1.seq)("READ REPORT", expressions_1.Source, (0, combi_1.per)(state, into, maximum));
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.ReadReport = ReadReport;