Jack Wu 的博客文章:如何生成SAP系统ABAP标准课程涉及到的数据表无数据的问题,经实践证明照上面的方法在SE37中执行函数BCALV_GENERATE_TEST_DATA未能直接在表SFLIGHT与SPFLI中生成数据,但函数的执行结果有数据显示。
在SM37中执行函数BCALV_GENERATE_ALV_T_T2会直接在表ALV_T_T2中生产数据。
可以写一段简单的程序把BCALV_GENERATE_TEST_DATA生产的数据插入表SFLIGHT与SPFLI。
*&---------------------------------------------------------------------*
*& Report YDZTESTDATA
*&---------------------------------------------------------------------*
REPORT YDZTESTDATA NO STANDARD PAGE HEADING.
DATA: BEGIN OF ET_SPFLI OCCURS 0.
INCLUDE STRUCTURE SPFLI.
DATA: END OF ET_SPFLI.
DATA: BEGIN OF ET_SFLIGHT OCCURS 0.
INCLUDE STRUCTURE SFLIGHT.
DATA: END OF ET_SFLIGHT.
DELETE FROM SPFLI.
WRITE: / 'Delete records:',SY-DBCNT.
DELETE FROM SFLIGHT.
WRITE: / 'Delete records:',SY-DBCNT.
CALL FUNCTION 'BCALV_GENERATE_TEST_DATA'
EXPORTING
I_AMOUNT_SPFLI = 100
I_AMOUNT_SFLIGHT = 100
TABLES
ET_SPFLI = ET_SPFLI
ET_SFLIGHT = ET_SFLIGHT.
INSERT SPFLI FROM TABLE ET_SPFLI ACCEPTING DUPLICATE KEYS.
WRITE: / 'Insert records:',SY-DBCNT.
INSERT SFLIGHT FROM TABLE ET_SFLIGHT ACCEPTING DUPLICATE KEYS.
WRITE: / 'Insert records:',SY-DBCNT.
*DATA scarr_wa TYPE scarr.
*
*scarr_wa-carrid = 'FF'.
*scarr_wa-carrname = 'Funny Flyers'.
*scarr_wa-currcode = 'EUR'.
*scarr_wa-url = 'http://www.funnyfly.com'.
*
*INSERT INTO scarr VALUES scarr_wa.
DATA: BEGIN OF MY_DATA,
MANDT LIKE SCARR-MANDT, "WB 培训数据模型 BC_Travel 的集团
CARRID LIKE SCARR-CARRID, "航线承运人ID
CARRNAME LIKE SCARR-CARRNAME, "航班名称
CURRCODE LIKE SCARR-CURRCODE, "航班的本地货币
URL LIKE SCARR-URL, "Airline URL
END OF MY_DATA.
DATA: IT_DATA LIKE MY_DATA OCCURS 0.
DELETE FROM SCARR.
WRITE: / 'Delete records:',SY-DBCNT.
SELECT ALV_T_T2~MANDT ALV_T_T2~CARRID ALV_T_T2~CARRNAME ALV_T_T2~CURRENCY AS CURRCODE
INTO CORRESPONDING FIELDS OF TABLE IT_DATA
FROM ALV_T_T2.
INSERT SCARR FROM TABLE IT_DATA ACCEPTING DUPLICATE KEYS.
WRITE: / 'Insert records:',SY-DBCNT.