将任何标准报告捕获到 JSON 或 XML?
Capture any standard report to JSON or XML?
我知道我可以使用 LIST_TO_ASCI 将报告转换为 ASCII,但我想要更高级的数据格式,例如 JSON、XML、CSV。
有没有办法得到比 ASCII 更容易处理的东西?
这是我要转换的报告:
需要在 ABAP 中对这样执行的结果执行转换:
SUBMIT <REPORT_NAME> ... EXPORTING LIST TO MEMORY AND RETURN.
您可以像这样访问内存中的 SUBMIT 列表:
call function 'LIST_FROM_MEMORY'
TABLES
listobject = t_list
EXCEPTIONS
not_found = 1
others = 2.
if sy-subrc <> 0.
message 'Unable to get list from memory' type 'E'.
endif.
call function 'WRITE_LIST'
TABLES
listobject = t_list
EXCEPTIONS
EMPTY_LIST = 1
OTHERS = 2
.
if sy-subrc <> 0.
message 'Unable to write list' type 'E'.
endif.
以及解决方案的最后一步(将结果 table 转换为 JSON)was already answered to you 在您的问题中。
我在这里找到了解决方案:http://zevolving.com/2015/07/salv-table-22-get-data-directly-after-submit/
这是代码:
DATA: lt_outtab TYPE STANDARD TABLE OF alv_t_t2.
FIELD-SYMBOLS: <lt_outtab> like lt_outtab.
DATA lo_data TYPE REF TO data.
" Let know the model
cl_salv_bs_runtime_info=>set(
EXPORTING
display = abap_false
metadata = abap_false
data = abap_true
).
SUBMIT salv_demo_table_simple
AND RETURN.
TRY.
" get data from SALV model
cl_salv_bs_runtime_info=>get_data_ref(
IMPORTING
r_data = lo_data
).
ASSIGN lo_data->* to <lt_outtab>.
BREAK-POINT.
CATCH cx_salv_bs_sc_runtime_info.
ENDTRY.
非常感谢 Sandra Rossi,她给了我 cx_salv_bs_sc_runtime_info
的提示。
相关回答:
我知道我可以使用 LIST_TO_ASCI 将报告转换为 ASCII,但我想要更高级的数据格式,例如 JSON、XML、CSV。
有没有办法得到比 ASCII 更容易处理的东西?
这是我要转换的报告:
需要在 ABAP 中对这样执行的结果执行转换:
SUBMIT <REPORT_NAME> ... EXPORTING LIST TO MEMORY AND RETURN.
您可以像这样访问内存中的 SUBMIT 列表:
call function 'LIST_FROM_MEMORY'
TABLES
listobject = t_list
EXCEPTIONS
not_found = 1
others = 2.
if sy-subrc <> 0.
message 'Unable to get list from memory' type 'E'.
endif.
call function 'WRITE_LIST'
TABLES
listobject = t_list
EXCEPTIONS
EMPTY_LIST = 1
OTHERS = 2
.
if sy-subrc <> 0.
message 'Unable to write list' type 'E'.
endif.
以及解决方案的最后一步(将结果 table 转换为 JSON)was already answered to you 在您的问题中。
我在这里找到了解决方案:http://zevolving.com/2015/07/salv-table-22-get-data-directly-after-submit/
这是代码:
DATA: lt_outtab TYPE STANDARD TABLE OF alv_t_t2.
FIELD-SYMBOLS: <lt_outtab> like lt_outtab.
DATA lo_data TYPE REF TO data.
" Let know the model
cl_salv_bs_runtime_info=>set(
EXPORTING
display = abap_false
metadata = abap_false
data = abap_true
).
SUBMIT salv_demo_table_simple
AND RETURN.
TRY.
" get data from SALV model
cl_salv_bs_runtime_info=>get_data_ref(
IMPORTING
r_data = lo_data
).
ASSIGN lo_data->* to <lt_outtab>.
BREAK-POINT.
CATCH cx_salv_bs_sc_runtime_info.
ENDTRY.
非常感谢 Sandra Rossi,她给了我 cx_salv_bs_sc_runtime_info
的提示。
相关回答: