Abap 检测报告是否为SAP查询

Abap 检测报告是否为SAP查询,abap,sap-query,Abap,Sap Query,我有一个ABAP程序,它调用报表并将其输出转换为JSON 不幸的是,这不适用于中所述的 如何检测报表是否为SAP查询以及报表名称是否为字符串。e、 g.AQZZZMM=ZME80FN= 到目前为止,我称之为这样的报告: SUBMIT (IV_REPORT_NAME) WITH SELECTION-TABLE selection_table AND RETURN. 您可以使用功能模块RSAQ\u DECODE\u REPORT\u NAME,如下测试报告所示 report

我有一个ABAP程序,它调用报表并将其输出转换为JSON

不幸的是,这不适用于中所述的

如何检测报表是否为SAP查询以及报表名称是否为字符串。e、 g.
AQZZZMM=ZME80FN=

到目前为止,我称之为这样的报告:

  SUBMIT (IV_REPORT_NAME)
     WITH SELECTION-TABLE selection_table
    AND RETURN.

您可以使用功能模块
RSAQ\u DECODE\u REPORT\u NAME
,如下测试报告所示

report zz_test_query_report.
parameters: p_repid type repid.
call function 'RSAQ_DECODE_REPORT_NAME'
  exporting
    reportname = p_repid
  exceptions
    no_query_report = 1.
if sy-subrc eq 0.
  write: / p_repid, 'is a query report'.
else.
  write: / p_repid, 'is not a query report'.
endif.

我认为系统会生成所有ABAP查询,比如AQ。。。因此,如果程序的前两个字符是AQ,那么您可以非常肯定,它是一个ABAP查询“Adhoc Query”是一种特殊类型的查询;AQ表示“ABAP查询”,但自4.6A版以来,它已被重命名为“SAP查询”。我已经更新了问题以反映这一点。@JozsefSzikszai你说“我认为系统会生成所有类似AQ的ABAP查询…”我是偏执狂(在当前上下文中)。我不喜欢猜测。我需要一种可靠的方法来检测这一点。@guettli我理解,而且我99.99%肯定(我还没有找到SAP的任何官方声明),但与此同时,rplantiko提供的答案是防弹的。您能否移动(或至少删除)您的答案中用于测试的部分?谢谢,完成了。是吗?太好了,谢谢。我也删除了最后一句话,不需要提及其他问题,不管它回答与否。效果完美。非常感谢。