【发布时间】:2020-12-26 06:19:32
【问题描述】:
运行程序时出现错误:未找到相应的航班
分析代码,发现程序调用了一个BAPI:
BAPI_SFLIGHT_GETLIST
*"*"Lokale Schnittstelle:
*" IMPORTING
*" VALUE(FROMCOUNTRYKEY) LIKE BAPISFDETA-COUNTRYFR
*" VALUE(FROMCITY) LIKE BAPISFDETA-CITYFROM
*" VALUE(TOCOUNTRYKEY) LIKE BAPISFDETA-COUNTRYTO
*" VALUE(TOCITY) LIKE BAPISFDETA-CITYTO
*" VALUE(AIRLINECARRIER) LIKE BAPISFDETA-CARRID DEFAULT SPACE
*" VALUE(AFTERNOON) LIKE BAPI_AUX-AFTERNOON DEFAULT SPACE
*" VALUE(MAXREAD) LIKE BAPI_AUX-MAXREAD DEFAULT 0
*" EXPORTING
*" VALUE(RETURN) LIKE BAPIRET2 STRUCTURE BAPIRET2
*" TABLES
*" FLIGHTLIST STRUCTURE BAPISFLIST
BAPI 进一步调用一个选择:
SELECT SFLIGHT-CARRID SFLIGHT-CONNID SFLIGHT-FLDATE
AIRPFROM AIRPTO
DEPTIME
SEATSMAX SEATSOCC
FROM SPFLI " connections
INNER JOIN SFLIGHT " flights
ON SPFLI~CARRID = SFLIGHT~CARRID
AND SPFLI~CONNID = SFLIGHT~CONNID
INNER JOIN SCITAIRP AS F " Mapping cities to
ON SPFLI~AIRPFROM = F~AIRPORT " airports
INNER JOIN SCITAIRP AS T
ON SPFLI~AIRPTO = T~AIRPORT
WHERE F~COUNTRY = FROMCOUNTRYKEY " restrictions
AND F~CITY = FROMCITY
AND T~COUNTRY = TOCOUNTRYKEY
AND T~CITY = TOCITY
AND FLDATE >= SY-DATUM "<====================== HERE
AND DEPTIME > AFTERNOON_HLP
AND SPFLI~CARRID IN CARRID
ORDER BY FLDATE AIRPFROM AIRPTO.
自 SY-DATUM= 今天的日期以来,选择无法返回任何数据。在数据库中,今天没有航班。
如何更改 sy-datum 系统字段?
作为测试目的的解决方法,我尝试将数据库中的 sflight 表中的 fldate 更改为今天的日期,但是系统抛出了引用完整性约束错误。有没有其他可用的解决方法?
【问题讨论】:
-
是否可以选择“重新生成 SFLIGHT 演示数据”?
-
您是否无权访问调试模式和在调试中更改变量值的权限?
-
好吧,如果你在沙盒机器上,你可以在 badi 的末尾添加一个增强功能并自己写选择。
-
更改调试器中的值是最简单的方法。
标签: abap