У меня проблемы с использованием ABDC.
Это код, который я пытаюсь запустить:
DATA:
gr_sql_result_set TYPE REF TO cl_sql_result_set,
gr_sql_statement TYPE REF TO cl_sql_statement.
START-OF-SELECTION.
CREATE OBJECT gr_sql_statement.
gr_sql_result_set = gr_sql_statement->execute_query( 'SELECT VBELN ERDAT ERNAM AUDAT VKORG FROM VBAK' ).
gr_sql_result_set->set_param_table( itab_ref = REF# ( gt_orders_head ) ).
Проблема заключается в gr_sql_result_set->set_param_table
. Оператор REF#
дает мне следующую ошибку: Field "REF" is unknown. It is neither in one of the specified tables nor defined by a "DATA" statement.
Возможно ли, что у меня установлена не та версия SAP-ABAP, которая поддерживает это утверждение?
Примечание: gt_orders_head
определяется как gt_orders_head TYPE TABLE OF zordhead_str
.
zordhead_str
— это структура, которую я определил/создал в транзакции S11
.
В настоящее время я использую SAP_BASIS версии 731.
Выражения конструктора, такие как REF
, требуют SAP_BASIS 7.40 или более поздней версии. Таким образом, вы не можете использовать их в своей системе 7.31, пока не обновитесь.
А пока вам придется работать с временной ссылочной переменной:
DATA gt_order_head_ref LIKE REF TO gt_orders_head.
GET REFERENCE OF gt_orders_head INTO gt_order_head_ref.
gr_sql_result_set->set_param_table( itab_ref = gt_order_head_ref ).