@abaplint/core 2.119.43 → 2.119.44
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.
- package/build/abaplint.d.ts +152 -8
- package/build/src/abap/2_statements/combi.js +100 -39
- package/build/src/abap/2_statements/expand_macros.js +6 -4
- package/build/src/abap/2_statements/expressions/_dynamic_access.js +2 -2
- package/build/src/abap/2_statements/expressions/_select_core.js +5 -5
- package/build/src/abap/2_statements/expressions/assign_source.js +1 -1
- package/build/src/abap/2_statements/expressions/cast.js +1 -1
- package/build/src/abap/2_statements/expressions/compare.js +2 -2
- package/build/src/abap/2_statements/expressions/component_compare.js +1 -1
- package/build/src/abap/2_statements/expressions/component_compare_simple.js +1 -1
- package/build/src/abap/2_statements/expressions/cond.js +1 -1
- package/build/src/abap/2_statements/expressions/corresponding_body.js +1 -1
- package/build/src/abap/2_statements/expressions/data_definition.js +1 -1
- package/build/src/abap/2_statements/expressions/find_type.js +1 -1
- package/build/src/abap/2_statements/expressions/for.js +2 -2
- package/build/src/abap/2_statements/expressions/function_exporting_parameter.js +1 -1
- package/build/src/abap/2_statements/expressions/index.js +9 -0
- package/build/src/abap/2_statements/expressions/inlinedata.js +1 -1
- package/build/src/abap/2_statements/expressions/inlinefs.js +1 -1
- package/build/src/abap/2_statements/expressions/loop_source.js +1 -1
- package/build/src/abap/2_statements/expressions/message_source_source.js +1 -1
- package/build/src/abap/2_statements/expressions/new_object.js +1 -1
- package/build/src/abap/2_statements/expressions/reduce_next.js +1 -1
- package/build/src/abap/2_statements/expressions/select.js +1 -1
- package/build/src/abap/2_statements/expressions/select_cte.js +5 -5
- package/build/src/abap/2_statements/expressions/source.js +11 -11
- package/build/src/abap/2_statements/expressions/sql_aggregation.js +9 -9
- package/build/src/abap/2_statements/expressions/sql_association_entry.js +1 -1
- package/build/src/abap/2_statements/expressions/sql_associations_list.js +1 -1
- package/build/src/abap/2_statements/expressions/sql_case.js +1 -1
- package/build/src/abap/2_statements/expressions/sql_client.js +2 -2
- package/build/src/abap/2_statements/expressions/sql_compare.js +7 -6
- package/build/src/abap/2_statements/expressions/sql_cte_associations.js +1 -1
- package/build/src/abap/2_statements/expressions/sql_cte_hierarchy.js +1 -1
- package/build/src/abap/2_statements/expressions/sql_field.js +4 -4
- package/build/src/abap/2_statements/expressions/sql_field_list.js +1 -1
- package/build/src/abap/2_statements/expressions/sql_field_list_loop.js +2 -2
- package/build/src/abap/2_statements/expressions/sql_field_list_loop_greedy.js +2 -2
- package/build/src/abap/2_statements/expressions/sql_from_source.js +2 -2
- package/build/src/abap/2_statements/expressions/sql_function.js +363 -31
- package/build/src/abap/2_statements/expressions/sql_function_input.js +1 -1
- package/build/src/abap/2_statements/expressions/sql_group_by.js +2 -2
- package/build/src/abap/2_statements/expressions/sql_hierarchy_accessor.js +1 -1
- package/build/src/abap/2_statements/expressions/sql_hierarchy_aggregate.js +1 -1
- package/build/src/abap/2_statements/expressions/sql_hierarchy_source.js +1 -1
- package/build/src/abap/2_statements/expressions/sql_in.js +2 -2
- package/build/src/abap/2_statements/expressions/sql_into_list.js +1 -1
- package/build/src/abap/2_statements/expressions/sql_join.js +1 -1
- package/build/src/abap/2_statements/expressions/sql_like_regexpr.js +19 -0
- package/build/src/abap/2_statements/expressions/sql_locate_regexpr.js +18 -0
- package/build/src/abap/2_statements/expressions/sql_occurrences_regexpr.js +15 -0
- package/build/src/abap/2_statements/expressions/sql_options.js +2 -2
- package/build/src/abap/2_statements/expressions/sql_over.js +2 -2
- package/build/src/abap/2_statements/expressions/sql_path_for_column.js +1 -1
- package/build/src/abap/2_statements/expressions/sql_path_for_entity.js +1 -1
- package/build/src/abap/2_statements/expressions/sql_path_segment.js +3 -3
- package/build/src/abap/2_statements/expressions/sql_privileged_access.js +1 -1
- package/build/src/abap/2_statements/expressions/sql_regexpr_from.js +17 -0
- package/build/src/abap/2_statements/expressions/sql_regexpr_group.js +17 -0
- package/build/src/abap/2_statements/expressions/sql_regexpr_occurrence.js +17 -0
- package/build/src/abap/2_statements/expressions/sql_regexpr_pattern.js +18 -0
- package/build/src/abap/2_statements/expressions/sql_replace_regexpr.js +22 -0
- package/build/src/abap/2_statements/expressions/sql_set_op.js +1 -1
- package/build/src/abap/2_statements/expressions/sql_set_op_group.js +2 -2
- package/build/src/abap/2_statements/expressions/sql_source.js +1 -1
- package/build/src/abap/2_statements/expressions/sql_source_no_space.js +1 -1
- package/build/src/abap/2_statements/expressions/sql_source_simple.js +1 -1
- package/build/src/abap/2_statements/expressions/sql_substring_regexpr.js +18 -0
- package/build/src/abap/2_statements/expressions/sql_target.js +2 -2
- package/build/src/abap/2_statements/expressions/string_template.js +1 -1
- package/build/src/abap/2_statements/expressions/string_template_formatting.js +2 -2
- package/build/src/abap/2_statements/expressions/table_expression.js +1 -1
- package/build/src/abap/2_statements/expressions/type.js +1 -1
- package/build/src/abap/2_statements/expressions/type_table.js +1 -1
- package/build/src/abap/2_statements/expressions/type_table_key.js +1 -1
- package/build/src/abap/2_statements/expressions/value_body.js +1 -1
- package/build/src/abap/2_statements/result.js +6 -0
- package/build/src/abap/2_statements/statement_parser.js +8 -5
- package/build/src/abap/2_statements/statements/add_corresponding.js +1 -1
- package/build/src/abap/2_statements/statements/append.js +1 -1
- package/build/src/abap/2_statements/statements/assign.js +1 -1
- package/build/src/abap/2_statements/statements/assign_local_copy.js +1 -1
- package/build/src/abap/2_statements/statements/at_line_selection.js +1 -1
- package/build/src/abap/2_statements/statements/at_pf.js +1 -1
- package/build/src/abap/2_statements/statements/at_selection_screen.js +1 -1
- package/build/src/abap/2_statements/statements/at_user_command.js +1 -1
- package/build/src/abap/2_statements/statements/back.js +1 -1
- package/build/src/abap/2_statements/statements/break.js +1 -1
- package/build/src/abap/2_statements/statements/break_id.js +1 -1
- package/build/src/abap/2_statements/statements/call_badi.js +1 -1
- package/build/src/abap/2_statements/statements/call_database.js +1 -1
- package/build/src/abap/2_statements/statements/call_dialog.js +1 -1
- package/build/src/abap/2_statements/statements/call_function.js +4 -4
- package/build/src/abap/2_statements/statements/call_kernel.js +1 -1
- package/build/src/abap/2_statements/statements/call_ole.js +1 -1
- package/build/src/abap/2_statements/statements/call_screen.js +1 -1
- package/build/src/abap/2_statements/statements/call_selection_screen.js +1 -1
- package/build/src/abap/2_statements/statements/call_subscreen.js +1 -1
- package/build/src/abap/2_statements/statements/call_transaction.js +1 -1
- package/build/src/abap/2_statements/statements/case_type.js +1 -1
- package/build/src/abap/2_statements/statements/catch_system_exceptions.js +1 -1
- package/build/src/abap/2_statements/statements/chain.js +1 -1
- package/build/src/abap/2_statements/statements/check_select_options.js +1 -1
- package/build/src/abap/2_statements/statements/class_definition.js +1 -1
- package/build/src/abap/2_statements/statements/close_cursor.js +1 -1
- package/build/src/abap/2_statements/statements/close_dataset.js +1 -1
- package/build/src/abap/2_statements/statements/commit_entities.js +1 -1
- package/build/src/abap/2_statements/statements/communication.js +1 -1
- package/build/src/abap/2_statements/statements/compute.js +1 -1
- package/build/src/abap/2_statements/statements/contexts.js +1 -1
- package/build/src/abap/2_statements/statements/controls.js +1 -1
- package/build/src/abap/2_statements/statements/convert.js +2 -2
- package/build/src/abap/2_statements/statements/create_data.js +1 -1
- package/build/src/abap/2_statements/statements/create_object.js +1 -1
- package/build/src/abap/2_statements/statements/create_ole.js +1 -1
- package/build/src/abap/2_statements/statements/define.js +1 -1
- package/build/src/abap/2_statements/statements/delete_cluster.js +1 -1
- package/build/src/abap/2_statements/statements/delete_dataset.js +1 -1
- package/build/src/abap/2_statements/statements/delete_dynpro.js +1 -1
- package/build/src/abap/2_statements/statements/delete_memory.js +1 -1
- package/build/src/abap/2_statements/statements/delete_report.js +1 -1
- package/build/src/abap/2_statements/statements/delete_textpool.js +1 -1
- package/build/src/abap/2_statements/statements/demand.js +1 -1
- package/build/src/abap/2_statements/statements/describe.js +1 -1
- package/build/src/abap/2_statements/statements/detail.js +1 -1
- package/build/src/abap/2_statements/statements/editor_call.js +1 -1
- package/build/src/abap/2_statements/statements/end_chain.js +1 -1
- package/build/src/abap/2_statements/statements/end_enhancement.js +1 -1
- package/build/src/abap/2_statements/statements/end_enhancement_section.js +1 -1
- package/build/src/abap/2_statements/statements/end_of_page.js +1 -1
- package/build/src/abap/2_statements/statements/end_of_selection.js +1 -1
- package/build/src/abap/2_statements/statements/end_test_seam.js +1 -1
- package/build/src/abap/2_statements/statements/endcatch.js +1 -1
- package/build/src/abap/2_statements/statements/enddefine.js +1 -1
- package/build/src/abap/2_statements/statements/endexec.js +1 -1
- package/build/src/abap/2_statements/statements/endmodule.js +1 -1
- package/build/src/abap/2_statements/statements/endon.js +1 -1
- package/build/src/abap/2_statements/statements/endprovide.js +1 -1
- package/build/src/abap/2_statements/statements/endwith.js +1 -1
- package/build/src/abap/2_statements/statements/enhancement.js +1 -1
- package/build/src/abap/2_statements/statements/enhancement_point.js +1 -1
- package/build/src/abap/2_statements/statements/enhancement_section.js +1 -1
- package/build/src/abap/2_statements/statements/exec_sql.js +1 -1
- package/build/src/abap/2_statements/statements/export_dynpro.js +1 -1
- package/build/src/abap/2_statements/statements/extract.js +1 -1
- package/build/src/abap/2_statements/statements/fetch_next_cursor.js +1 -1
- package/build/src/abap/2_statements/statements/field.js +1 -1
- package/build/src/abap/2_statements/statements/field_group.js +1 -1
- package/build/src/abap/2_statements/statements/fields.js +1 -1
- package/build/src/abap/2_statements/statements/format.js +1 -1
- package/build/src/abap/2_statements/statements/free_memory.js +1 -1
- package/build/src/abap/2_statements/statements/free_object.js +1 -1
- package/build/src/abap/2_statements/statements/generate_dynpro.js +1 -1
- package/build/src/abap/2_statements/statements/generate_report.js +1 -1
- package/build/src/abap/2_statements/statements/generate_subroutine.js +1 -1
- package/build/src/abap/2_statements/statements/get.js +1 -1
- package/build/src/abap/2_statements/statements/get_badi.js +1 -1
- package/build/src/abap/2_statements/statements/get_cursor.js +1 -1
- package/build/src/abap/2_statements/statements/get_dataset.js +1 -1
- package/build/src/abap/2_statements/statements/get_locale.js +1 -1
- package/build/src/abap/2_statements/statements/get_parameter.js +1 -1
- package/build/src/abap/2_statements/statements/get_permissions.js +1 -1
- package/build/src/abap/2_statements/statements/get_pf_status.js +1 -1
- package/build/src/abap/2_statements/statements/get_property.js +1 -1
- package/build/src/abap/2_statements/statements/get_run_time.js +1 -1
- package/build/src/abap/2_statements/statements/hide.js +1 -1
- package/build/src/abap/2_statements/statements/import_dynpro.js +1 -1
- package/build/src/abap/2_statements/statements/import_nametab.js +1 -1
- package/build/src/abap/2_statements/statements/infotypes.js +1 -1
- package/build/src/abap/2_statements/statements/initialization.js +1 -1
- package/build/src/abap/2_statements/statements/input.js +1 -1
- package/build/src/abap/2_statements/statements/insert_field_group.js +1 -1
- package/build/src/abap/2_statements/statements/insert_internal.js +1 -1
- package/build/src/abap/2_statements/statements/insert_report.js +2 -2
- package/build/src/abap/2_statements/statements/insert_textpool.js +1 -1
- package/build/src/abap/2_statements/statements/interface_def.js +1 -1
- package/build/src/abap/2_statements/statements/leave.js +1 -1
- package/build/src/abap/2_statements/statements/load_of_program.js +1 -1
- package/build/src/abap/2_statements/statements/load_report.js +1 -1
- package/build/src/abap/2_statements/statements/local.js +1 -1
- package/build/src/abap/2_statements/statements/log_point.js +1 -1
- package/build/src/abap/2_statements/statements/loop.js +3 -3
- package/build/src/abap/2_statements/statements/loop_at_screen.js +1 -1
- package/build/src/abap/2_statements/statements/message.js +1 -1
- package/build/src/abap/2_statements/statements/method_def.js +1 -1
- package/build/src/abap/2_statements/statements/modify_entities.js +1 -1
- package/build/src/abap/2_statements/statements/modify_line.js +1 -1
- package/build/src/abap/2_statements/statements/modify_screen.js +1 -1
- package/build/src/abap/2_statements/statements/module.js +1 -1
- package/build/src/abap/2_statements/statements/move.js +2 -2
- package/build/src/abap/2_statements/statements/move_corresponding.js +2 -2
- package/build/src/abap/2_statements/statements/new_line.js +1 -1
- package/build/src/abap/2_statements/statements/new_page.js +1 -1
- package/build/src/abap/2_statements/statements/nodes.js +1 -1
- package/build/src/abap/2_statements/statements/on_change.js +1 -1
- package/build/src/abap/2_statements/statements/open_cursor.js +2 -2
- package/build/src/abap/2_statements/statements/open_dataset.js +1 -1
- package/build/src/abap/2_statements/statements/pack.js +1 -1
- package/build/src/abap/2_statements/statements/parameter.js +1 -1
- package/build/src/abap/2_statements/statements/perform.js +2 -2
- package/build/src/abap/2_statements/statements/position.js +1 -1
- package/build/src/abap/2_statements/statements/print_control.js +1 -1
- package/build/src/abap/2_statements/statements/process_after_input.js +1 -1
- package/build/src/abap/2_statements/statements/process_before_output.js +1 -1
- package/build/src/abap/2_statements/statements/process_on_help_request.js +1 -1
- package/build/src/abap/2_statements/statements/process_on_value_request.js +1 -1
- package/build/src/abap/2_statements/statements/program.js +1 -1
- package/build/src/abap/2_statements/statements/provide.js +1 -1
- package/build/src/abap/2_statements/statements/put.js +1 -1
- package/build/src/abap/2_statements/statements/raise.js +2 -2
- package/build/src/abap/2_statements/statements/ranges.js +1 -1
- package/build/src/abap/2_statements/statements/read_dataset.js +1 -1
- package/build/src/abap/2_statements/statements/read_entities.js +1 -1
- package/build/src/abap/2_statements/statements/read_line.js +1 -1
- package/build/src/abap/2_statements/statements/read_report.js +1 -1
- package/build/src/abap/2_statements/statements/read_table.js +1 -1
- package/build/src/abap/2_statements/statements/read_textpool.js +1 -1
- package/build/src/abap/2_statements/statements/receive.js +1 -1
- package/build/src/abap/2_statements/statements/refresh.js +1 -1
- package/build/src/abap/2_statements/statements/refresh_control.js +1 -1
- package/build/src/abap/2_statements/statements/reject.js +1 -1
- package/build/src/abap/2_statements/statements/report.js +1 -1
- package/build/src/abap/2_statements/statements/reserve.js +1 -1
- package/build/src/abap/2_statements/statements/retry.js +1 -1
- package/build/src/abap/2_statements/statements/return.js +1 -1
- package/build/src/abap/2_statements/statements/rollback_entities.js +1 -1
- package/build/src/abap/2_statements/statements/scan.js +1 -1
- package/build/src/abap/2_statements/statements/scroll_list.js +1 -1
- package/build/src/abap/2_statements/statements/search.js +1 -1
- package/build/src/abap/2_statements/statements/selectionscreen.js +1 -1
- package/build/src/abap/2_statements/statements/selectoption.js +1 -1
- package/build/src/abap/2_statements/statements/set_blank.js +1 -1
- package/build/src/abap/2_statements/statements/set_country.js +1 -1
- package/build/src/abap/2_statements/statements/set_cursor.js +1 -1
- package/build/src/abap/2_statements/statements/set_dataset.js +1 -1
- package/build/src/abap/2_statements/statements/set_extended_check.js +1 -1
- package/build/src/abap/2_statements/statements/set_language.js +1 -1
- package/build/src/abap/2_statements/statements/set_left.js +1 -1
- package/build/src/abap/2_statements/statements/set_locale.js +1 -1
- package/build/src/abap/2_statements/statements/set_locks.js +1 -1
- package/build/src/abap/2_statements/statements/set_margin.js +1 -1
- package/build/src/abap/2_statements/statements/set_parameter.js +1 -1
- package/build/src/abap/2_statements/statements/set_pf_status.js +1 -1
- package/build/src/abap/2_statements/statements/set_property.js +1 -1
- package/build/src/abap/2_statements/statements/set_run_time.js +1 -1
- package/build/src/abap/2_statements/statements/set_screen.js +1 -1
- package/build/src/abap/2_statements/statements/set_titlebar.js +1 -1
- package/build/src/abap/2_statements/statements/set_update_task.js +1 -1
- package/build/src/abap/2_statements/statements/set_user_command.js +1 -1
- package/build/src/abap/2_statements/statements/skip.js +1 -1
- package/build/src/abap/2_statements/statements/sort_dataset.js +1 -1
- package/build/src/abap/2_statements/statements/start_of_selection.js +1 -1
- package/build/src/abap/2_statements/statements/stop.js +1 -1
- package/build/src/abap/2_statements/statements/submit.js +1 -1
- package/build/src/abap/2_statements/statements/subtract_corresponding.js +1 -1
- package/build/src/abap/2_statements/statements/sum.js +1 -1
- package/build/src/abap/2_statements/statements/summary.js +1 -1
- package/build/src/abap/2_statements/statements/supply.js +1 -1
- package/build/src/abap/2_statements/statements/suppress_dialog.js +1 -1
- package/build/src/abap/2_statements/statements/syntax_check.js +1 -1
- package/build/src/abap/2_statements/statements/system_call.js +1 -1
- package/build/src/abap/2_statements/statements/tables.js +1 -1
- package/build/src/abap/2_statements/statements/test_seam.js +1 -1
- package/build/src/abap/2_statements/statements/top_of_page.js +1 -1
- package/build/src/abap/2_statements/statements/transfer.js +1 -1
- package/build/src/abap/2_statements/statements/truncate_dataset.js +1 -1
- package/build/src/abap/2_statements/statements/type.js +1 -1
- package/build/src/abap/2_statements/statements/type_begin.js +1 -1
- package/build/src/abap/2_statements/statements/type_enum.js +1 -1
- package/build/src/abap/2_statements/statements/type_enum_begin.js +1 -1
- package/build/src/abap/2_statements/statements/type_enum_end.js +1 -1
- package/build/src/abap/2_statements/statements/type_mesh.js +1 -1
- package/build/src/abap/2_statements/statements/type_mesh_begin.js +1 -1
- package/build/src/abap/2_statements/statements/type_mesh_end.js +1 -1
- package/build/src/abap/2_statements/statements/type_pool.js +1 -1
- package/build/src/abap/2_statements/statements/type_pools.js +1 -1
- package/build/src/abap/2_statements/statements/uline.js +1 -1
- package/build/src/abap/2_statements/statements/unpack.js +1 -1
- package/build/src/abap/2_statements/statements/update_database.js +1 -1
- package/build/src/abap/2_statements/statements/verification_message.js +1 -1
- package/build/src/abap/2_statements/statements/wait.js +1 -1
- package/build/src/abap/2_statements/statements/when_type.js +1 -1
- package/build/src/abap/2_statements/statements/window.js +1 -1
- package/build/src/abap/2_statements/statements/with.js +1 -1
- package/build/src/abap/2_statements/statements/write.js +1 -1
- package/build/src/abap/5_syntax/_builtin.js +50 -50
- package/build/src/abap/5_syntax/_current_scope.js +10 -0
- package/build/src/abap/5_syntax/expressions/field_chain.js +3 -3
- package/build/src/abap/5_syntax/expressions/method_source.js +1 -1
- package/build/src/abap/5_syntax/expressions/select.js +13 -3
- package/build/src/abap/5_syntax/statements/call_function.js +1 -1
- package/build/src/abap/5_syntax/statements/loop.js +1 -1
- package/build/src/abap/5_syntax/statements/move_corresponding.js +3 -3
- package/build/src/abap/abap_parser.js +21 -5
- package/build/src/abap/nodes/expression_node.js +3 -0
- package/build/src/cds/expressions/cds_define_projection.js +1 -1
- package/build/src/cds/expressions/cds_define_view.js +1 -1
- package/build/src/config.js +22 -1
- package/build/src/index.js +6 -2
- package/build/src/objects/_abap_object.js +3 -2
- package/build/src/objects/_abstract_object.js +1 -1
- package/build/src/objects/proxy_object.js +1 -1
- package/build/src/objects/table.js +1 -1
- package/build/src/registry.js +3 -3
- package/build/src/rules/ambiguous_statement.js +1 -1
- package/build/src/rules/avoid_use.js +2 -2
- package/build/src/rules/call_transaction_authority_check.js +3 -3
- package/build/src/rules/cds_legacy_view.js +2 -2
- package/build/src/rules/cloud_types.js +1 -1
- package/build/src/rules/downport.js +11 -11
- package/build/src/rules/function_module_recommendations.js +23 -2
- package/build/src/rules/inline_data_old_versions.js +3 -3
- package/build/src/rules/local_testclass_consistency.js +1 -1
- package/build/src/rules/main_file_contents.js +1 -1
- package/build/src/rules/no_inline_in_optional_branches.js +4 -4
- package/build/src/rules/obsolete_statement.js +6 -6
- package/build/src/rules/parser_702_chaining.js +2 -2
- package/build/src/rules/parser_error.js +2 -2
- package/build/src/rules/prefer_corresponding.js +1 -1
- package/build/src/rules/prefer_inline.js +2 -1
- package/build/src/rules/prefer_raise_exception_new.js +1 -1
- package/build/src/rules/prefer_xsdbool.js +2 -1
- package/build/src/rules/sql_escape_host_variables.js +3 -3
- package/build/src/rules/strict_sql.js +2 -2
- package/build/src/rules/superfluous_value.js +2 -2
- package/build/src/rules/use_bool_expression.js +6 -5
- package/build/src/rules/use_line_exists.js +4 -3
- package/build/src/rules/use_new.js +2 -1
- package/build/src/version.js +210 -2
- package/package.json +1 -1
- package/build/src/abap/2_statements/expressions/association_name.js +0 -11
- package/build/src/abap/2_statements/expressions/sql_path.js +0 -17
|
@@ -7,7 +7,7 @@ const cond_sub_1 = require("./cond_sub");
|
|
|
7
7
|
const version_1 = require("../../../version");
|
|
8
8
|
class Cond extends combi_1.Expression {
|
|
9
9
|
getRunnable() {
|
|
10
|
-
const operator = (0, combi_1.altPrio)("AND", "OR", (0, combi_1.ver)(version_1.
|
|
10
|
+
const operator = (0, combi_1.altPrio)("AND", "OR", (0, combi_1.ver)(version_1.Release.v702, "EQUIV"));
|
|
11
11
|
const cnd = (0, combi_1.altPrio)(_1.Compare, cond_sub_1.CondSub);
|
|
12
12
|
const ret = (0, combi_1.seq)(cnd, (0, combi_1.starPrio)((0, combi_1.seq)(operator, cnd)));
|
|
13
13
|
return ret;
|
|
@@ -6,7 +6,7 @@ const _1 = require(".");
|
|
|
6
6
|
const version_1 = require("../../../version");
|
|
7
7
|
class CorrespondingBody extends combi_1.Expression {
|
|
8
8
|
getRunnable() {
|
|
9
|
-
const discarding = (0, combi_1.ver)(version_1.
|
|
9
|
+
const discarding = (0, combi_1.ver)(version_1.Release.v751, "DISCARDING DUPLICATES");
|
|
10
10
|
return (0, combi_1.seq)((0, combi_1.optPrio)("DEEP"), (0, combi_1.optPrio)(_1.CorrespondingBodyBase), _1.Source, (0, combi_1.optPrio)(discarding), (0, combi_1.optPrio)(_1.CorrespondingBodyMapping), (0, combi_1.optPrio)("CHANGING CONTROL"), (0, combi_1.optPrio)((0, combi_1.seq)("MAPPING FROM ENTITY", (0, combi_1.optPrio)("USING CONTROL"))), // todo, version something?
|
|
11
11
|
(0, combi_1.optPrio)((0, combi_1.seq)("EXCEPT", (0, combi_1.alt)((0, combi_1.plus)(_1.Field), "*"))));
|
|
12
12
|
}
|
|
@@ -41,7 +41,7 @@ class DataDefinition extends combi_1.Expression {
|
|
|
41
41
|
getRunnable() {
|
|
42
42
|
const simple = (0, combi_1.opt)((0, combi_1.per)("READ-ONLY", Expressions.Type, Expressions.Length, Expressions.Decimals, Expressions.Value));
|
|
43
43
|
const table = (0, combi_1.seq)(Expressions.TypeTable, (0, combi_1.optPrio)("READ-ONLY"));
|
|
44
|
-
const boxed = (0, combi_1.ver)(version_1.
|
|
44
|
+
const boxed = (0, combi_1.ver)(version_1.Release.v702, "BOXED");
|
|
45
45
|
return (0, combi_1.seq)(Expressions.DefinitionName, (0, combi_1.optPrio)(Expressions.ConstantFieldLength), (0, combi_1.alt)(simple, table, Expressions.TypeStructure), (0, combi_1.optPrio)(boxed));
|
|
46
46
|
}
|
|
47
47
|
}
|
|
@@ -5,7 +5,7 @@ const version_1 = require("../../../version");
|
|
|
5
5
|
const combi_1 = require("../combi");
|
|
6
6
|
class FindType extends combi_1.Expression {
|
|
7
7
|
getRunnable() {
|
|
8
|
-
return (0, combi_1.opt)((0, combi_1.alt)("REGEX", "SUBSTRING", (0, combi_1.ver)(version_1.
|
|
8
|
+
return (0, combi_1.opt)((0, combi_1.alt)("REGEX", "SUBSTRING", (0, combi_1.ver)(version_1.Release.v755, "PCRE", { also: combi_1.AlsoIn.OpenABAP })));
|
|
9
9
|
}
|
|
10
10
|
}
|
|
11
11
|
exports.FindType = FindType;
|
|
@@ -16,9 +16,9 @@ class For extends combi_1.Expression {
|
|
|
16
16
|
const itera = (0, combi_1.seq)(_1.InlineFieldDefinition, (0, combi_1.opt)(then), whil);
|
|
17
17
|
const groupBy = (0, combi_1.seq)("GROUP BY", (0, combi_1.alt)(field_chain_1.FieldChain, (0, combi_1.seq)("(", (0, combi_1.plus)(_1.LoopGroupByComponent), ")")), (0, combi_1.opt)((0, combi_1.seq)((0, combi_1.alt)("ASCENDING", "DESCENDING"), (0, combi_1.opt)("AS TEXT"))), (0, combi_1.opt)("WITHOUT MEMBERS"));
|
|
18
18
|
const t = (0, combi_1.alt)(_1.TargetField, _1.TargetFieldSymbol);
|
|
19
|
-
const groups = (0, combi_1.ver)(version_1.
|
|
19
|
+
const groups = (0, combi_1.ver)(version_1.Release.v740sp08, (0, combi_1.seq)("GROUPS", t, "OF", t, "IN", _1.Source, (0, combi_1.optPrio)(groupBy)));
|
|
20
20
|
const f = (0, combi_1.seq)("FOR", (0, combi_1.alt)(itera, inn, groups), (0, combi_1.optPrio)(_1.Let));
|
|
21
|
-
return (0, combi_1.ver)(version_1.
|
|
21
|
+
return (0, combi_1.ver)(version_1.Release.v740sp05, f, { also: combi_1.AlsoIn.OpenABAP });
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
24
|
exports.For = For;
|
|
@@ -8,7 +8,7 @@ const version_1 = require("../../../version");
|
|
|
8
8
|
const simple_source3_1 = require("./simple_source3");
|
|
9
9
|
class FunctionExportingParameter extends combi_1.Expression {
|
|
10
10
|
getRunnable() {
|
|
11
|
-
const s = (0, combi_1.altPrio)((0, combi_1.ver)(version_1.
|
|
11
|
+
const s = (0, combi_1.altPrio)((0, combi_1.ver)(version_1.Release.v740sp02, source_1.Source, { also: combi_1.AlsoIn.OpenABAP }), simple_source3_1.SimpleSource3);
|
|
12
12
|
const exp = (0, combi_1.seq)(parameter_name_1.ParameterName, "=", s);
|
|
13
13
|
return exp;
|
|
14
14
|
}
|
|
@@ -205,6 +205,15 @@ __exportStar(require("./sql_from_source"), exports);
|
|
|
205
205
|
__exportStar(require("./sql_from"), exports);
|
|
206
206
|
__exportStar(require("./sql_function_input"), exports);
|
|
207
207
|
__exportStar(require("./sql_function"), exports);
|
|
208
|
+
__exportStar(require("./sql_regexpr_pattern"), exports);
|
|
209
|
+
__exportStar(require("./sql_regexpr_from"), exports);
|
|
210
|
+
__exportStar(require("./sql_regexpr_occurrence"), exports);
|
|
211
|
+
__exportStar(require("./sql_regexpr_group"), exports);
|
|
212
|
+
__exportStar(require("./sql_replace_regexpr"), exports);
|
|
213
|
+
__exportStar(require("./sql_occurrences_regexpr"), exports);
|
|
214
|
+
__exportStar(require("./sql_substring_regexpr"), exports);
|
|
215
|
+
__exportStar(require("./sql_locate_regexpr"), exports);
|
|
216
|
+
__exportStar(require("./sql_like_regexpr"), exports);
|
|
208
217
|
__exportStar(require("./sql_group_by"), exports);
|
|
209
218
|
__exportStar(require("./sql_having"), exports);
|
|
210
219
|
__exportStar(require("./sql_hints"), exports);
|
|
@@ -11,7 +11,7 @@ class InlineData extends combi_1.Expression {
|
|
|
11
11
|
const left = (0, combi_1.tok)(tokens_1.ParenLeft);
|
|
12
12
|
const data = (0, combi_1.seq)("DATA", left, _1.TargetField, right);
|
|
13
13
|
const final = (0, combi_1.seq)("FINAL", left, _1.TargetField, right);
|
|
14
|
-
return (0, combi_1.altPrio)((0, combi_1.ver)(version_1.
|
|
14
|
+
return (0, combi_1.altPrio)((0, combi_1.ver)(version_1.Release.v740sp02, data, { also: combi_1.AlsoIn.OpenABAP }), (0, combi_1.ver)(version_1.Release.v757, final, { also: combi_1.AlsoIn.OpenABAP }));
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
17
|
exports.InlineData = InlineData;
|
|
@@ -10,7 +10,7 @@ class InlineFS extends combi_1.Expression {
|
|
|
10
10
|
const right = (0, combi_1.tok)(tokens_1.ParenRightW);
|
|
11
11
|
const left = (0, combi_1.tok)(tokens_1.ParenLeft);
|
|
12
12
|
const fs = (0, combi_1.seq)("FIELD-SYMBOL", left, _1.TargetFieldSymbol, right);
|
|
13
|
-
return (0, combi_1.ver)(version_1.
|
|
13
|
+
return (0, combi_1.ver)(version_1.Release.v740sp02, fs, { also: combi_1.AlsoIn.OpenABAP });
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
16
|
exports.InlineFS = InlineFS;
|
|
@@ -6,7 +6,7 @@ const _1 = require(".");
|
|
|
6
6
|
const version_1 = require("../../../version");
|
|
7
7
|
class LoopSource extends combi_1.Expression {
|
|
8
8
|
getRunnable() {
|
|
9
|
-
return (0, combi_1.alt)(_1.SimpleSource2, (0, combi_1.ver)(version_1.
|
|
9
|
+
return (0, combi_1.alt)(_1.SimpleSource2, (0, combi_1.ver)(version_1.Release.v740sp02, _1.Source, { also: combi_1.AlsoIn.OpenABAP }));
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
12
|
exports.LoopSource = LoopSource;
|
|
@@ -6,7 +6,7 @@ const _1 = require(".");
|
|
|
6
6
|
const version_1 = require("../../../version");
|
|
7
7
|
class MessageSourceSource extends combi_1.Expression {
|
|
8
8
|
getRunnable() {
|
|
9
|
-
return (0, combi_1.alt)((0, combi_1.ver)(version_1.
|
|
9
|
+
return (0, combi_1.alt)((0, combi_1.ver)(version_1.Release.v740sp02, _1.Source, { also: combi_1.AlsoIn.OpenABAP }), _1.SimpleSource3);
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
12
|
exports.MessageSourceSource = MessageSourceSource;
|
|
@@ -12,7 +12,7 @@ class NewObject extends combi_1.Expression {
|
|
|
12
12
|
const lines = (0, combi_1.plus)((0, combi_1.seq)((0, combi_1.tok)(tokens_1.WParenLeftW), _1.Source, (0, combi_1.tok)(tokens_1.WParenRightW)));
|
|
13
13
|
const linesFields = (0, combi_1.plus)((0, combi_1.seq)((0, combi_1.tok)(tokens_1.WParenLeftW), (0, combi_1.plus)(field_assignment_1.FieldAssignment), (0, combi_1.tok)(tokens_1.WParenRightW)));
|
|
14
14
|
const neww = (0, combi_1.seq)("NEW", _1.TypeNameOrInfer, (0, combi_1.tok)(tokens_1.ParenLeftW), (0, combi_1.optPrio)((0, combi_1.alt)(_1.Source, _1.ParameterListS, lines, linesFields)), ")");
|
|
15
|
-
return (0, combi_1.ver)(version_1.
|
|
15
|
+
return (0, combi_1.ver)(version_1.Release.v740sp02, neww, { also: combi_1.AlsoIn.OpenABAP });
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
18
|
exports.NewObject = NewObject;
|
|
@@ -7,7 +7,7 @@ const tokens_1 = require("../../1_lexer/tokens");
|
|
|
7
7
|
const version_1 = require("../../../version");
|
|
8
8
|
class ReduceNext extends combi_1.Expression {
|
|
9
9
|
getRunnable() {
|
|
10
|
-
const calcAssign = (0, combi_1.ver)(version_1.
|
|
10
|
+
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), "="), "/=", "*=", "&&="));
|
|
11
11
|
const fields = (0, combi_1.seq)(_1.SimpleTarget, (0, combi_1.altPrio)("=", calcAssign), _1.Source);
|
|
12
12
|
return (0, combi_1.seq)("NEXT", (0, combi_1.plus)(fields));
|
|
13
13
|
}
|
|
@@ -10,7 +10,7 @@ class Select extends combi_1.Expression {
|
|
|
10
10
|
getRunnable() {
|
|
11
11
|
const into = (0, combi_1.altPrio)(_1.SQLIntoTable, sql_into_structure_1.SQLIntoStructure, _1.SQLIntoList);
|
|
12
12
|
const standalone = (0, combi_1.altPrio)((0, combi_1.seq)("SINGLE", (0, combi_1.optPrio)("FOR UPDATE"), (0, _select_core_1.buildSelectSingleCore)(true)), (0, _select_core_1.buildSelectCore)(true));
|
|
13
|
-
const unionTail = (0, combi_1.ver)(version_1.
|
|
13
|
+
const unionTail = (0, combi_1.ver)(version_1.Release.v750, (0, combi_1.plusPrio)(_1.SQLSetOp), { also: combi_1.AlsoIn.OpenABAP });
|
|
14
14
|
const chained = (0, combi_1.seq)((0, _select_core_1.buildSelectCore)(false, false), unionTail, (0, combi_1.optPrio)(_1.SQLOrderBy), (0, combi_1.optPrio)(into));
|
|
15
15
|
return (0, combi_1.seq)("SELECT", (0, combi_1.altPrio)(chained, standalone));
|
|
16
16
|
}
|
|
@@ -13,16 +13,16 @@ class SelectCTE extends combi_1.Expression {
|
|
|
13
13
|
getRunnable() {
|
|
14
14
|
const where = (0, combi_1.seq)("WHERE", _1.SQLCond);
|
|
15
15
|
const bypass = "BYPASSING BUFFER";
|
|
16
|
-
const privileged = (0, combi_1.ver)(version_1.
|
|
17
|
-
const offset = (0, combi_1.ver)(version_1.
|
|
16
|
+
const privileged = (0, combi_1.ver)(version_1.Release.v758, _1.SQLPrivilegedAccess);
|
|
17
|
+
const offset = (0, combi_1.ver)(version_1.Release.v751, (0, combi_1.seq)("OFFSET", sql_source_1.SQLSource));
|
|
18
18
|
const groupHaving = (0, combi_1.seq)((0, combi_1.optPrio)(_1.SQLGroupBy), (0, combi_1.optPrio)(_1.SQLHaving));
|
|
19
19
|
const tail = (0, combi_1.seq)(groupHaving, (0, combi_1.optPrio)((0, combi_1.seq)(_1.SQLOrderBy, (0, combi_1.optPrio)(sql_up_to_1.SQLUpTo), (0, combi_1.optPrio)(offset))), (0, combi_1.optPrio)(_1.SQLHints), (0, combi_1.optPrio)(privileged), (0, combi_1.optPrio)(_1.SQLOptions), (0, combi_1.optPrio)(_1.DatabaseConnection));
|
|
20
|
-
const sqlStyle = (0, combi_1.seq)(_1.SQLFrom, (0, combi_1.optPrio)(_1.SQLClient), (0, combi_1.optPrio)(bypass), (0, combi_1.ver)(version_1.
|
|
20
|
+
const sqlStyle = (0, combi_1.seq)(_1.SQLFrom, (0, combi_1.optPrio)(_1.SQLClient), (0, combi_1.optPrio)(bypass), (0, combi_1.ver)(version_1.Release.v750, sql_fields_loop_1.SQLFieldsLoop, { also: combi_1.AlsoIn.OpenABAP }), (0, combi_1.optPrio)(_1.SQLForAllEntries), (0, combi_1.optPrio)(where), tail);
|
|
21
21
|
const abapStyle = (0, combi_1.seq)((0, combi_1.optPrio)("DISTINCT"), sql_field_list_loop_greedy_1.SQLFieldListLoopGreedy, _1.SQLFrom, (0, combi_1.optPrio)(_1.SQLClient), (0, combi_1.optPrio)(bypass), (0, combi_1.optPrio)(_1.SQLForAllEntries), (0, combi_1.optPrio)(where), tail);
|
|
22
22
|
const union = (0, combi_1.seq)("UNION", (0, combi_1.optPrio)((0, combi_1.altPrio)("DISTINCT", "ALL")));
|
|
23
23
|
const intersectExcept = (0, combi_1.altPrio)((0, combi_1.seq)("INTERSECT", (0, combi_1.optPrio)("DISTINCT")), (0, combi_1.seq)("EXCEPT", (0, combi_1.optPrio)("DISTINCT")));
|
|
24
|
-
const setOp = (0, combi_1.altPrio)((0, combi_1.ver)(version_1.
|
|
25
|
-
const operandSql = (0, combi_1.seq)(_1.SQLFrom, (0, combi_1.optPrio)(_1.SQLClient), (0, combi_1.optPrio)(bypass), (0, combi_1.ver)(version_1.
|
|
24
|
+
const setOp = (0, combi_1.altPrio)((0, combi_1.ver)(version_1.Release.v750, union, { also: combi_1.AlsoIn.OpenABAP }), (0, combi_1.ver)(version_1.Release.v756, intersectExcept));
|
|
25
|
+
const operandSql = (0, combi_1.seq)(_1.SQLFrom, (0, combi_1.optPrio)(_1.SQLClient), (0, combi_1.optPrio)(bypass), (0, combi_1.ver)(version_1.Release.v750, sql_fields_loop_1.SQLFieldsLoop, { also: combi_1.AlsoIn.OpenABAP }), (0, combi_1.optPrio)(_1.SQLForAllEntries), (0, combi_1.optPrio)(where), groupHaving);
|
|
26
26
|
const operandAbap = (0, combi_1.seq)((0, combi_1.optPrio)("DISTINCT"), sql_field_list_loop_greedy_1.SQLFieldListLoopGreedy, _1.SQLFrom, (0, combi_1.optPrio)(_1.SQLClient), (0, combi_1.optPrio)(bypass), (0, combi_1.optPrio)(_1.SQLForAllEntries), (0, combi_1.optPrio)(where), groupHaving);
|
|
27
27
|
const operandCore = (0, combi_1.altPrio)(operandSql, operandAbap);
|
|
28
28
|
const unionOperand = (0, combi_1.altPrio)(sql_set_op_group_1.SQLSetOpGroup, (0, combi_1.seq)("SELECT", operandCore));
|
|
@@ -15,7 +15,7 @@ class Source extends combi_1.Expression {
|
|
|
15
15
|
getRunnable() {
|
|
16
16
|
const comp = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.Dash), _1.ComponentChain);
|
|
17
17
|
const attr = (0, combi_1.seq)(_1.Arrow, attribute_chain_1.AttributeChain);
|
|
18
|
-
const deref = (0, combi_1.optPrio)((0, combi_1.ver)(version_1.
|
|
18
|
+
const deref = (0, combi_1.optPrio)((0, combi_1.ver)(version_1.Release.v756, dereference_1.Dereference));
|
|
19
19
|
const dynChain = (0, combi_1.star)((0, combi_1.altPrio)((0, _dynamic_access_1.dynAttr)(), (0, _dynamic_access_1.dynComp)(), dereference_1.Dereference));
|
|
20
20
|
const method = (0, combi_1.seq)(_1.MethodCallChain, (0, combi_1.optPrio)((0, combi_1.altPrio)(attr, comp)), deref, dynChain);
|
|
21
21
|
const rparen = (0, combi_1.tok)(tokens_1.WParenRightW);
|
|
@@ -24,18 +24,18 @@ class Source extends combi_1.Expression {
|
|
|
24
24
|
// paren used for eg. "( 2 + 1 ) * 4"
|
|
25
25
|
const paren = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.WParenLeftW), Source, rparen);
|
|
26
26
|
const after = (0, combi_1.seq)((0, combi_1.altPrio)("&", "&&", _1.ArithOperator), Source);
|
|
27
|
-
const bool = (0, combi_1.seq)((0, combi_1.altPrio)((0, combi_1.ver)(version_1.
|
|
27
|
+
const bool = (0, combi_1.seq)((0, combi_1.altPrio)((0, combi_1.ver)(version_1.Release.v702, (0, combi_1.regex)(/^BOOLC$/i), { also: combi_1.AlsoIn.OpenABAP }), (0, combi_1.ver)(version_1.Release.v740sp08, (0, combi_1.regex)(/^XSDBOOL$/i), { also: combi_1.AlsoIn.OpenABAP })), (0, combi_1.tok)(tokens_1.ParenLeftW), _1.Cond, ")");
|
|
28
28
|
const prefix = (0, combi_1.altPrio)((0, combi_1.tok)(tokens_1.WPlus), "BIT-NOT");
|
|
29
29
|
const old = (0, combi_1.seq)((0, combi_1.optPrio)(prefix), (0, combi_1.altPrio)(_1.Constant, _1.StringTemplate, text_element_1.TextElement, bool, method, (0, combi_1.seq)(_1.FieldChain, deref), paren), (0, combi_1.optPrio)(after));
|
|
30
|
-
const corr = (0, combi_1.ver)(version_1.
|
|
31
|
-
const conv = (0, combi_1.ver)(version_1.
|
|
32
|
-
const swit = (0, combi_1.ver)(version_1.
|
|
33
|
-
const value = (0, combi_1.ver)(version_1.
|
|
34
|
-
const cond = (0, combi_1.ver)(version_1.
|
|
35
|
-
const reff = (0, combi_1.ver)(version_1.
|
|
36
|
-
const exact = (0, combi_1.ver)(version_1.
|
|
37
|
-
const filter = (0, combi_1.ver)(version_1.
|
|
38
|
-
const reduce = (0, combi_1.ver)(version_1.
|
|
30
|
+
const corr = (0, combi_1.ver)(version_1.Release.v740sp05, (0, combi_1.seq)("CORRESPONDING", _1.TypeNameOrInfer, (0, combi_1.tok)(tokens_1.ParenLeftW), _1.CorrespondingBody, rparen, (0, combi_1.optPrio)(after)), { also: combi_1.AlsoIn.OpenABAP });
|
|
31
|
+
const conv = (0, combi_1.ver)(version_1.Release.v740sp02, (0, combi_1.seq)("CONV", _1.TypeNameOrInfer, lparenNoSpace, _1.ConvBody, rparenNoSpace, (0, combi_1.optPrio)(after)), { also: combi_1.AlsoIn.OpenABAP });
|
|
32
|
+
const swit = (0, combi_1.ver)(version_1.Release.v740sp02, (0, combi_1.seq)("SWITCH", _1.TypeNameOrInfer, (0, combi_1.tok)(tokens_1.ParenLeftW), _1.SwitchBody, rparenNoSpace, (0, combi_1.optPrio)(after)), { also: combi_1.AlsoIn.OpenABAP });
|
|
33
|
+
const value = (0, combi_1.ver)(version_1.Release.v740sp02, (0, combi_1.seq)("VALUE", _1.TypeNameOrInfer, (0, combi_1.tok)(tokens_1.ParenLeftW), _1.ValueBody, rparenNoSpace, (0, combi_1.optPrio)(after)), { also: combi_1.AlsoIn.OpenABAP });
|
|
34
|
+
const cond = (0, combi_1.ver)(version_1.Release.v740sp02, (0, combi_1.seq)("COND", _1.TypeNameOrInfer, (0, combi_1.tok)(tokens_1.ParenLeftW), _1.CondBody, rparenNoSpace, (0, combi_1.optPrio)(after)), { also: combi_1.AlsoIn.OpenABAP });
|
|
35
|
+
const reff = (0, combi_1.ver)(version_1.Release.v740sp02, (0, combi_1.seq)("REF", _1.TypeNameOrInfer, (0, combi_1.tok)(tokens_1.ParenLeftW), Source, (0, combi_1.optPrio)("OPTIONAL"), rparen), { also: combi_1.AlsoIn.OpenABAP });
|
|
36
|
+
const exact = (0, combi_1.ver)(version_1.Release.v740sp02, (0, combi_1.seq)("EXACT", _1.TypeNameOrInfer, (0, combi_1.tok)(tokens_1.ParenLeftW), Source, rparen, (0, combi_1.optPrio)(after)));
|
|
37
|
+
const filter = (0, combi_1.ver)(version_1.Release.v740sp08, (0, combi_1.seq)("FILTER", _1.TypeNameOrInfer, (0, combi_1.tok)(tokens_1.ParenLeftW), _1.FilterBody, rparen), { also: combi_1.AlsoIn.OpenABAP });
|
|
38
|
+
const reduce = (0, combi_1.ver)(version_1.Release.v740sp08, (0, combi_1.seq)("REDUCE", _1.TypeNameOrInfer, (0, combi_1.tok)(tokens_1.ParenLeftW), _1.ReduceBody, rparen, (0, combi_1.optPrio)(after)), { also: combi_1.AlsoIn.OpenABAP });
|
|
39
39
|
const prefix1 = (0, combi_1.altPrio)((0, combi_1.tok)(tokens_1.WDashW), (0, combi_1.tok)(tokens_1.WPlusW));
|
|
40
40
|
const ret = (0, combi_1.seq)((0, combi_1.starPrio)(prefix1), (0, combi_1.altPrio)(filter, reff, corr, conv, value, cond, exact, swit, reduce, old));
|
|
41
41
|
return ret;
|
|
@@ -11,7 +11,7 @@ const lparen = (0, combi_1.altPrio)((0, combi_1.tok)(tokens_1.ParenLeft), (0, co
|
|
|
11
11
|
const rparen = (0, combi_1.altPrio)((0, combi_1.tok)(tokens_1.WParenRightW), (0, combi_1.tok)(tokens_1.WParenRight), (0, combi_1.tok)(tokens_1.ParenRightW));
|
|
12
12
|
class SQLAggregation extends combi_1.Expression {
|
|
13
13
|
getRunnable() {
|
|
14
|
-
const arg = (0, combi_1.altPrio)((0, combi_1.ver)(version_1.
|
|
14
|
+
const arg = (0, combi_1.altPrio)((0, combi_1.ver)(version_1.Release.v740sp08, sql_function_input_1.SQLFunctionInput), sql_field_name_1.SQLFieldName);
|
|
15
15
|
const avgRparen = (0, combi_1.altPrio)((0, combi_1.tok)(tokens_1.WParenRightW), (0, combi_1.tok)(tokens_1.WParenRight), (0, combi_1.tok)(tokens_1.ParenRightW));
|
|
16
16
|
const lenDecimals = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.ParenLeftW), sql_function_input_1.SQLFunctionInput, ",", sql_function_input_1.SQLFunctionInput, (0, combi_1.tok)(tokens_1.WParenRightW));
|
|
17
17
|
const avgCastType = (0, combi_1.altPrio)((0, combi_1.seq)("DEC", lenDecimals), (0, combi_1.seq)("CURR", lenDecimals), (0, combi_1.seq)("QUAN", lenDecimals), "D16N", "D34N", "FLTP");
|
|
@@ -19,14 +19,14 @@ class SQLAggregation extends combi_1.Expression {
|
|
|
19
19
|
const max = (0, combi_1.seq)("MAX", lparen, (0, combi_1.optPrio)("DISTINCT"), arg, rparen, (0, combi_1.optPrio)(sql_over_1.SQLOver));
|
|
20
20
|
const min = (0, combi_1.seq)("MIN", lparen, (0, combi_1.optPrio)("DISTINCT"), arg, rparen, (0, combi_1.optPrio)(sql_over_1.SQLOver));
|
|
21
21
|
const sum = (0, combi_1.seq)("SUM", lparen, (0, combi_1.optPrio)("DISTINCT"), arg, rparen, (0, combi_1.optPrio)(sql_over_1.SQLOver));
|
|
22
|
-
const avg = (0, combi_1.seq)("AVG", (0, combi_1.tok)(tokens_1.ParenLeftW), (0, combi_1.optPrio)("DISTINCT"), arg, (0, combi_1.optPrio)((0, combi_1.ver)(version_1.
|
|
23
|
-
const rank = (0, combi_1.ver)(version_1.
|
|
24
|
-
const leadLag = (0, combi_1.ver)(version_1.
|
|
25
|
-
const firstLastValue = (0, combi_1.ver)(version_1.
|
|
26
|
-
const stringAgg = (0, combi_1.ver)(version_1.
|
|
27
|
-
const ntile = (0, combi_1.ver)(version_1.
|
|
28
|
-
const corr = (0, combi_1.ver)(version_1.
|
|
29
|
-
const stat = (0, combi_1.ver)(version_1.
|
|
22
|
+
const avg = (0, combi_1.seq)("AVG", (0, combi_1.tok)(tokens_1.ParenLeftW), (0, combi_1.optPrio)("DISTINCT"), arg, (0, combi_1.optPrio)((0, combi_1.ver)(version_1.Release.v751, (0, combi_1.seq)("AS", avgCastType))), avgRparen, (0, combi_1.optPrio)(sql_over_1.SQLOver));
|
|
23
|
+
const rank = (0, combi_1.ver)(version_1.Release.v757, (0, combi_1.seq)((0, combi_1.altPrio)("ROW_NUMBER", "RANK", "DENSE_RANK"), lparen, rparen, sql_over_1.SQLOver));
|
|
24
|
+
const leadLag = (0, combi_1.ver)(version_1.Release.v757, (0, combi_1.seq)((0, combi_1.altPrio)("LEAD", "LAG"), (0, combi_1.tok)(tokens_1.ParenLeftW), sql_function_input_1.SQLFunctionInput, (0, combi_1.optPrio)((0, combi_1.seq)(",", sql_function_input_1.SQLFunctionInput, (0, combi_1.optPrio)((0, combi_1.seq)(",", sql_function_input_1.SQLFunctionInput)))), rparen, sql_over_1.SQLOver));
|
|
25
|
+
const firstLastValue = (0, combi_1.ver)(version_1.Release.v757, (0, combi_1.seq)((0, combi_1.altPrio)("FIRST_VALUE", "LAST_VALUE"), (0, combi_1.tok)(tokens_1.ParenLeftW), sql_function_input_1.SQLFunctionInput, rparen, sql_over_1.SQLOver));
|
|
26
|
+
const stringAgg = (0, combi_1.ver)(version_1.Release.v757, (0, combi_1.seq)("STRING_AGG", (0, combi_1.tok)(tokens_1.ParenLeftW), sql_function_input_1.SQLFunctionInput, (0, combi_1.optPrio)((0, combi_1.seq)(",", sql_function_input_1.SQLFunctionInput)), rparen, (0, combi_1.optPrio)(sql_over_1.SQLOver)));
|
|
27
|
+
const ntile = (0, combi_1.ver)(version_1.Release.v757, (0, combi_1.seq)("NTILE", (0, combi_1.tok)(tokens_1.ParenLeftW), sql_function_input_1.SQLFunctionInput, rparen, sql_over_1.SQLOver));
|
|
28
|
+
const corr = (0, combi_1.ver)(version_1.Release.v757, (0, combi_1.seq)((0, combi_1.altPrio)("CORR_SPEARMAN", "CORR"), (0, combi_1.tok)(tokens_1.ParenLeftW), sql_function_input_1.SQLFunctionInput, ",", sql_function_input_1.SQLFunctionInput, rparen, (0, combi_1.optPrio)(sql_over_1.SQLOver)));
|
|
29
|
+
const stat = (0, combi_1.ver)(version_1.Release.v757, (0, combi_1.seq)((0, combi_1.altPrio)("PRODUCT", "MEDIAN", "VAR", "STDDEV"), (0, combi_1.tok)(tokens_1.ParenLeftW), sql_function_input_1.SQLFunctionInput, rparen, (0, combi_1.optPrio)(sql_over_1.SQLOver)));
|
|
30
30
|
return (0, combi_1.altPrio)(rank, leadLag, firstLastValue, stringAgg, ntile, corr, stat, count, max, min, sum, avg);
|
|
31
31
|
}
|
|
32
32
|
}
|
|
@@ -11,7 +11,7 @@ class SQLAssociationEntry extends combi_1.Expression {
|
|
|
11
11
|
getRunnable() {
|
|
12
12
|
const alias = (0, combi_1.seq)("AS", sql_as_name_1.SQLAsName);
|
|
13
13
|
const redirected = (0, combi_1.seq)("REDIRECTED TO", with_name_1.WithName, "VIA", database_table_1.DatabaseTable);
|
|
14
|
-
return (0, combi_1.ver)(version_1.
|
|
14
|
+
return (0, combi_1.ver)(version_1.Release.v751, (0, combi_1.seq)(new sql_path_for_entity_1.SQLPathForEntity(), (0, combi_1.optPrio)(alias), (0, combi_1.optPrio)(redirected)));
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
17
|
exports.SQLAssociationEntry = SQLAssociationEntry;
|
|
@@ -7,7 +7,7 @@ const sql_association_entry_1 = require("./sql_association_entry");
|
|
|
7
7
|
const version_1 = require("../../../version");
|
|
8
8
|
class SQLAssociationsList extends combi_1.Expression {
|
|
9
9
|
getRunnable() {
|
|
10
|
-
return (0, combi_1.ver)(version_1.
|
|
10
|
+
return (0, combi_1.ver)(version_1.Release.v751, (0, combi_1.seq)((0, combi_1.tok)(tokens_1.WParenLeftW), new sql_association_entry_1.SQLAssociationEntry(), (0, combi_1.star)((0, combi_1.seq)(",", new sql_association_entry_1.SQLAssociationEntry())), (0, combi_1.tok)(tokens_1.WParenRightW)));
|
|
11
11
|
}
|
|
12
12
|
}
|
|
13
13
|
exports.SQLAssociationsList = SQLAssociationsList;
|
|
@@ -19,7 +19,7 @@ class SQLCase extends combi_1.Expression {
|
|
|
19
19
|
const val = (0, combi_1.altPrio)(sql_cond_1.SQLCond, constant_1.Constant, abap);
|
|
20
20
|
const when = (0, combi_1.seq)("WHEN", val, "THEN", (0, combi_1.altPrio)(parenSource, (0, combi_1.seq)((0, combi_1.optPrio)("-"), source)), (0, combi_1.starPrio)(sub));
|
|
21
21
|
const else_ = (0, combi_1.seq)("ELSE", (0, combi_1.altPrio)(parenSource, (0, combi_1.seq)((0, combi_1.optPrio)("-"), source)));
|
|
22
|
-
return (0, combi_1.ver)(version_1.
|
|
22
|
+
return (0, combi_1.ver)(version_1.Release.v740sp05, (0, combi_1.seq)("CASE", (0, combi_1.opt)((0, combi_1.altPrio)(sql_field_name_1.SQLFieldName, abap)), (0, combi_1.plusPrio)(when), (0, combi_1.optPrio)(else_), "END"), { also: combi_1.AlsoIn.OpenABAP });
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
25
|
exports.SQLCase = SQLCase;
|
|
@@ -8,8 +8,8 @@ const sql_alias_field_1 = require("./sql_alias_field");
|
|
|
8
8
|
const dynamic_1 = require("./dynamic");
|
|
9
9
|
class SQLClient extends combi_1.Expression {
|
|
10
10
|
getRunnable() {
|
|
11
|
-
const clientList = (0, combi_1.ver)(version_1.
|
|
12
|
-
const client = (0, combi_1.alt)((0, combi_1.
|
|
11
|
+
const clientList = (0, combi_1.ver)(version_1.Release.v740sp05, (0, combi_1.alt)(dynamic_1.Dynamic, (0, combi_1.seq)(sql_alias_field_1.SQLAliasField, (0, combi_1.starPrio)((0, combi_1.seq)(",", sql_alias_field_1.SQLAliasField)))));
|
|
12
|
+
const client = (0, combi_1.alt)((0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, (0, combi_1.seq)("CLIENT SPECIFIED", (0, combi_1.optPrio)(clientList))), (0, combi_1.seq)("USING", (0, combi_1.alt)((0, combi_1.ver)(version_1.Release.v740sp05, (0, combi_1.seq)("CLIENT", sql_source_simple_1.SQLSourceSimple)), (0, combi_1.ver)(version_1.Release.v754, (0, combi_1.seq)("CLIENTS IN", (0, combi_1.alt)(sql_source_simple_1.SQLSourceSimple, "T000"))), (0, combi_1.ver)(version_1.Release.v754, "ALL CLIENTS"))));
|
|
13
13
|
return client;
|
|
14
14
|
}
|
|
15
15
|
}
|
|
@@ -7,21 +7,22 @@ const version_1 = require("../../../version");
|
|
|
7
7
|
const tokens_1 = require("../../1_lexer/tokens");
|
|
8
8
|
const sql_set_op_group_1 = require("./sql_set_op_group");
|
|
9
9
|
const _select_core_1 = require("./_select_core");
|
|
10
|
+
const sql_like_regexpr_1 = require("./sql_like_regexpr");
|
|
10
11
|
class SQLCompare extends combi_1.Expression {
|
|
11
12
|
getRunnable() {
|
|
12
|
-
const subSelect = (0, combi_1.ver)(version_1.
|
|
13
|
+
const subSelect = (0, combi_1.ver)(version_1.Release.v750, sql_set_op_group_1.SQLSetOpGroup, { also: combi_1.AlsoIn.OpenABAP });
|
|
13
14
|
const simpleSubSelect = (0, combi_1.seq)("(", "SELECT", (0, _select_core_1.buildSelectCore)(undefined, false), ")");
|
|
14
|
-
const simpleScalarSubSelect = (0, combi_1.ver)(version_1.
|
|
15
|
+
const simpleScalarSubSelect = (0, combi_1.ver)(version_1.Release.v740sp08, simpleSubSelect, { also: combi_1.AlsoIn.OpenABAP });
|
|
15
16
|
const between = (0, combi_1.seq)("BETWEEN", _1.SQLSource, "AND", _1.SQLSource);
|
|
16
17
|
const like = (0, combi_1.seq)("LIKE", _1.SQLSource, (0, combi_1.optPrio)((0, combi_1.seq)("ESCAPE", _1.SQLSource)));
|
|
17
|
-
const nul = (0, combi_1.seq)("IS", (0, combi_1.optPrio)("NOT"), (0, combi_1.altPrio)("NULL", (0, combi_1.ver)(version_1.
|
|
18
|
+
const nul = (0, combi_1.seq)("IS", (0, combi_1.optPrio)("NOT"), (0, combi_1.altPrio)("NULL", (0, combi_1.ver)(version_1.Release.v753, "INITIAL")));
|
|
18
19
|
const sub = (0, combi_1.seq)((0, combi_1.optPrio)((0, combi_1.altPrio)("ALL", "ANY", "SOME")), (0, combi_1.altPrio)(subSelect, simpleScalarSubSelect));
|
|
19
20
|
const source = new _1.SQLSource();
|
|
20
|
-
const arith = (0, combi_1.ver)(version_1.
|
|
21
|
+
const arith = (0, combi_1.ver)(version_1.Release.v750, (0, combi_1.plusPrio)((0, combi_1.seq)((0, combi_1.altPrio)("+", "-", "*", "/"), _1.SQLFieldName)), { also: combi_1.AlsoIn.OpenABAP });
|
|
21
22
|
const paren = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.ParenLeftW), _1.Source, (0, combi_1.tok)(tokens_1.WParenRightW));
|
|
22
|
-
const at = (0, combi_1.ver)(version_1.
|
|
23
|
+
const at = (0, combi_1.ver)(version_1.Release.v740sp05, (0, combi_1.seq)((0, combi_1.tok)(tokens_1.WAt), (0, combi_1.altPrio)(_1.SimpleSource3, paren)), { also: combi_1.AlsoIn.OpenABAP });
|
|
23
24
|
const lhs = (0, combi_1.altPrio)(_1.SQLCase, _1.SQLAggregation, _1.SQLFunction, _1.ConstantString, (0, combi_1.seq)((0, combi_1.altPrio)(_1.SQLPathForColumn, _1.SQLFieldName), (0, combi_1.optPrio)(arith)), at);
|
|
24
|
-
const rhs = (0, combi_1.altPrio)((0, combi_1.seq)(_1.SQLCompareOperator, (0, combi_1.altPrio)(sub, _1.SQLCase, _1.SQLAggregation, _1.SQLFunction, (0, combi_1.seq)(source, (0, combi_1.optPrio)(arith)))), (0, combi_1.seq)((0, combi_1.optPrio)("NOT"), (0, combi_1.altPrio)(_1.SQLIn, like, between)), nul);
|
|
25
|
+
const rhs = (0, combi_1.altPrio)((0, combi_1.seq)(_1.SQLCompareOperator, (0, combi_1.altPrio)(sub, _1.SQLCase, _1.SQLAggregation, _1.SQLFunction, (0, combi_1.seq)(source, (0, combi_1.optPrio)(arith)))), (0, combi_1.seq)((0, combi_1.optPrio)("NOT"), (0, combi_1.altPrio)(_1.SQLIn, like, between)), sql_like_regexpr_1.SQLLikeRegexpr, nul);
|
|
25
26
|
const rett = (0, combi_1.seq)(lhs, rhs);
|
|
26
27
|
const exists = (0, combi_1.seq)("EXISTS", (0, combi_1.altPrio)(subSelect, simpleSubSelect));
|
|
27
28
|
return (0, combi_1.altPrio)(exists, _1.Dynamic, rett);
|
|
@@ -7,7 +7,7 @@ const dynamic_1 = require("./dynamic");
|
|
|
7
7
|
const version_1 = require("../../../version");
|
|
8
8
|
class SQLCTEAssociations extends combi_1.Expression {
|
|
9
9
|
getRunnable() {
|
|
10
|
-
return (0, combi_1.ver)(version_1.
|
|
10
|
+
return (0, combi_1.ver)(version_1.Release.v751, (0, combi_1.seq)("ASSOCIATIONS", (0, combi_1.altPrio)(new sql_associations_list_1.SQLAssociationsList(), dynamic_1.Dynamic)));
|
|
11
11
|
}
|
|
12
12
|
}
|
|
13
13
|
exports.SQLCTEAssociations = SQLCTEAssociations;
|
|
@@ -7,7 +7,7 @@ const sql_cte_associations_1 = require("./sql_cte_associations");
|
|
|
7
7
|
const version_1 = require("../../../version");
|
|
8
8
|
class SQLCTEHierarchy extends combi_1.Expression {
|
|
9
9
|
getRunnable() {
|
|
10
|
-
return (0, combi_1.ver)(version_1.
|
|
10
|
+
return (0, combi_1.ver)(version_1.Release.v751, (0, combi_1.seq)("HIERARCHY", sql_as_name_1.SQLAsName, (0, combi_1.optPrio)((0, combi_1.seq)("WITH", sql_cte_associations_1.SQLCTEAssociations))));
|
|
11
11
|
}
|
|
12
12
|
}
|
|
13
13
|
exports.SQLCTEHierarchy = SQLCTEHierarchy;
|
|
@@ -10,7 +10,7 @@ const sql_path_for_column_1 = require("./sql_path_for_column");
|
|
|
10
10
|
class SQLField extends combi_1.Expression {
|
|
11
11
|
getRunnable() {
|
|
12
12
|
const atParen = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.ParenLeftW), _1.SimpleFieldChain2, (0, combi_1.tok)(tokens_1.WParenRightW));
|
|
13
|
-
const abap = (0, combi_1.ver)(version_1.
|
|
13
|
+
const abap = (0, combi_1.ver)(version_1.Release.v740sp05, (0, combi_1.seq)((0, combi_1.tok)(tokens_1.WAt), (0, combi_1.altPrio)(_1.SimpleFieldChain2, atParen)), { also: combi_1.AlsoIn.OpenABAP });
|
|
14
14
|
const as = (0, combi_1.seq)("AS", _1.SQLAsName);
|
|
15
15
|
const parenFieldName = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.WParenLeftW), _1.SQLFieldName, (0, combi_1.altPrio)((0, combi_1.tok)(tokens_1.WParenRightW), (0, combi_1.tok)(tokens_1.WParenRight)));
|
|
16
16
|
const fieldNoAgg = (0, combi_1.altPrio)(_1.SQLCase, sql_function_1.SQLFunction, sql_path_for_column_1.SQLPathForColumn, _1.SQLFieldName, abap, _1.Constant, parenFieldName);
|
|
@@ -18,15 +18,15 @@ class SQLField extends combi_1.Expression {
|
|
|
18
18
|
const parenField = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.WParenLeftW), field, (0, combi_1.tok)(tokens_1.WParenRightW));
|
|
19
19
|
const parenFieldNoAgg = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.WParenLeftW), fieldNoAgg, (0, combi_1.tok)(tokens_1.WParenRightW));
|
|
20
20
|
const subNoAgg = (0, combi_1.plusPrio)((0, combi_1.seq)((0, combi_1.altPrio)("+", "-", "*", "/", "&&"), (0, combi_1.altPrio)(parenFieldNoAgg, fieldNoAgg)));
|
|
21
|
-
const arithNoAgg = (0, combi_1.ver)(version_1.
|
|
21
|
+
const arithNoAgg = (0, combi_1.ver)(version_1.Release.v740sp05, subNoAgg);
|
|
22
22
|
const subWithAgg = (0, combi_1.plusPrio)((0, combi_1.seq)((0, combi_1.altPrio)("+", "-", "*", "/", "&&"), (0, combi_1.altPrio)(parenField, field)));
|
|
23
|
-
const arithWithAgg = (0, combi_1.ver)(version_1.
|
|
23
|
+
const arithWithAgg = (0, combi_1.ver)(version_1.Release.v754, subWithAgg);
|
|
24
24
|
const arith = (0, combi_1.altPrio)(arithWithAgg, arithNoAgg);
|
|
25
25
|
const arithSequence = (0, combi_1.seq)((0, combi_1.optPrio)("-"), field, (0, combi_1.optPrio)(arith));
|
|
26
26
|
const parenArithSequence = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.WParenLeftW), (0, combi_1.optPrio)("-"), arithSequence, (0, combi_1.tok)(tokens_1.WParenRightW));
|
|
27
27
|
const subExtWithAgg = (0, combi_1.plusPrio)((0, combi_1.seq)((0, combi_1.altPrio)("+", "-", "*", "/", "&&"), (0, combi_1.altPrio)(parenArithSequence, parenField, field)));
|
|
28
28
|
const subExtNoAgg = (0, combi_1.plusPrio)((0, combi_1.seq)((0, combi_1.altPrio)("+", "-", "*", "/", "&&"), (0, combi_1.altPrio)(parenArithSequence, parenFieldNoAgg, fieldNoAgg)));
|
|
29
|
-
const arithExt = (0, combi_1.altPrio)((0, combi_1.ver)(version_1.
|
|
29
|
+
const arithExt = (0, combi_1.altPrio)((0, combi_1.ver)(version_1.Release.v754, subExtWithAgg), (0, combi_1.ver)(version_1.Release.v740sp05, subExtNoAgg));
|
|
30
30
|
return (0, combi_1.seq)((0, combi_1.altPrio)((0, combi_1.seq)(parenArithSequence, (0, combi_1.optPrio)(arithExt)), arithSequence), (0, combi_1.optPrio)(as));
|
|
31
31
|
}
|
|
32
32
|
}
|
|
@@ -9,7 +9,7 @@ class SQLFieldList extends combi_1.Expression {
|
|
|
9
9
|
getRunnable() {
|
|
10
10
|
const as = (0, combi_1.seq)("AS", _1.SQLAsName);
|
|
11
11
|
const commaParenField = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.ParenLeftW), _1.SQLFieldName, (0, combi_1.altPrio)((0, combi_1.tok)(tokens_1.WParenRightW), (0, combi_1.tok)(tokens_1.WParenRight)), (0, combi_1.optPrio)(as));
|
|
12
|
-
const nev = (0, combi_1.ver)(version_1.
|
|
12
|
+
const nev = (0, combi_1.ver)(version_1.Release.v740sp05, (0, combi_1.starPrio)((0, combi_1.seq)(",", (0, combi_1.altPrio)(_1.SQLField, commaParenField))), { also: combi_1.AlsoIn.OpenABAP });
|
|
13
13
|
const old = (0, combi_1.starPrio)((0, combi_1.seq)((0, combi_1.stopBefore)("UP", "TO"), _1.SQLField));
|
|
14
14
|
return (0, combi_1.altPrio)("*", _1.Dynamic, (0, combi_1.seq)(_1.SQLField, (0, combi_1.alt)(nev, old)));
|
|
15
15
|
}
|
|
@@ -9,10 +9,10 @@ const tokens_1 = require("../../1_lexer/tokens");
|
|
|
9
9
|
// loop must include one field from the database table
|
|
10
10
|
class SQLFieldListLoop extends combi_1.Expression {
|
|
11
11
|
getRunnable() {
|
|
12
|
-
const comma = (0, combi_1.opt)((0, combi_1.ver)(version_1.
|
|
12
|
+
const comma = (0, combi_1.opt)((0, combi_1.ver)(version_1.Release.v740sp05, ",", { also: combi_1.AlsoIn.OpenABAP }));
|
|
13
13
|
const as = (0, combi_1.seq)("AS", _1.SQLAsName);
|
|
14
14
|
const someField = (0, combi_1.seq)(_1.SQLField, comma);
|
|
15
|
-
const abap = (0, combi_1.ver)(version_1.
|
|
15
|
+
const abap = (0, combi_1.ver)(version_1.Release.v740sp05, (0, combi_1.seq)((0, combi_1.tok)(tokens_1.WAt), _1.SimpleFieldChain2), { also: combi_1.AlsoIn.OpenABAP });
|
|
16
16
|
const fieldList = (0, combi_1.seq)((0, combi_1.star)(someField), (0, combi_1.alt)(_1.SQLFieldName, abap, sql_path_for_column_1.SQLPathForColumn, _1.Constant), (0, combi_1.optPrio)(as), comma, (0, combi_1.star)(someField));
|
|
17
17
|
const fields = (0, combi_1.alt)("*", _1.Dynamic, fieldList);
|
|
18
18
|
return fields;
|
|
@@ -8,9 +8,9 @@ const sql_path_for_column_1 = require("./sql_path_for_column");
|
|
|
8
8
|
const tokens_1 = require("../../1_lexer/tokens");
|
|
9
9
|
class SQLFieldListLoopGreedy extends combi_1.Expression {
|
|
10
10
|
getRunnable() {
|
|
11
|
-
const comma = (0, combi_1.opt)((0, combi_1.ver)(version_1.
|
|
11
|
+
const comma = (0, combi_1.opt)((0, combi_1.ver)(version_1.Release.v740sp05, ",", { also: combi_1.AlsoIn.OpenABAP }));
|
|
12
12
|
const as = (0, combi_1.seq)("AS", _1.SQLAsName);
|
|
13
|
-
const abap = (0, combi_1.ver)(version_1.
|
|
13
|
+
const abap = (0, combi_1.ver)(version_1.Release.v740sp05, (0, combi_1.seq)((0, combi_1.tok)(tokens_1.WAt), _1.SimpleFieldChain2), { also: combi_1.AlsoIn.OpenABAP });
|
|
14
14
|
const entry = (0, combi_1.seq)((0, combi_1.altPrio)(_1.SQLField, abap, sql_path_for_column_1.SQLPathForColumn, _1.SQLFieldName, _1.Constant), (0, combi_1.optPrio)(as), comma);
|
|
15
15
|
const fieldList = (0, combi_1.plusPrio)(entry);
|
|
16
16
|
return (0, combi_1.altPrio)("*", _1.Dynamic, fieldList);
|
|
@@ -13,9 +13,9 @@ const sql_hierarchy_aggregate_1 = require("./sql_hierarchy_aggregate");
|
|
|
13
13
|
class SQLFromSource extends combi_1.Expression {
|
|
14
14
|
getRunnable() {
|
|
15
15
|
// https://help.sap.com/doc/abapdocu_752_index_htm/7.52/en-US/abennews-752-open_sql.htm#!ABAP_MODIFICATION_1@1@
|
|
16
|
-
const tab = (0, combi_1.ver)(version_1.
|
|
16
|
+
const tab = (0, combi_1.ver)(version_1.Release.v752, (0, combi_1.seq)((0, combi_1.tok)(tokens_1.WAt), _1.FieldChain), { also: combi_1.AlsoIn.OpenABAP });
|
|
17
17
|
const aas = (0, combi_1.seq)("AS", _1.SQLAsName);
|
|
18
|
-
const privileged = (0, combi_1.ver)(version_1.
|
|
18
|
+
const privileged = (0, combi_1.ver)(version_1.Release.v752, (0, combi_1.seq)("WITH", _1.SQLPrivilegedAccess));
|
|
19
19
|
return (0, combi_1.seq)((0, combi_1.altPrio)(new sql_hierarchy_aggregate_1.SQLHierarchyAggregate(), new sql_hierarchy_accessor_1.SQLHierarchyAccessor(), new sql_hierarchy_source_1.SQLHierarchySource(), (0, combi_1.seq)(with_name_1.WithName, (0, combi_1.optPrio)(new sql_path_for_entity_1.SQLPathForEntity())), (0, combi_1.seq)(_1.DatabaseTable, (0, combi_1.optPrio)(_1.SQLCDSParameters), (0, combi_1.optPrio)(new sql_path_for_entity_1.SQLPathForEntity())), tab), (0, combi_1.optPrio)(privileged), (0, combi_1.optPrio)(aas));
|
|
20
20
|
}
|
|
21
21
|
}
|