如何生成SAP系统ABAP标准课程涉及到的数据表无数据的问题

Jack Wu 的博客文章:如何生成SAP系统ABAP标准课程涉及到的数据表无数据的问题,经实践证明照上面的方法在SE37中执行函数BCALV_GENERATE_TEST_DATA未能直接在表SFLIGHT与SPFLI中生成数据,但函数的执行结果有数据显示。

在SM37中执行函数BCALV_GENERATE_ALV_T_T2会直接在表ALV_T_T2中生产数据。

如何生成SAP系统ABAP标准课程涉及到的数据表无数据的问题_第1张图片


可以写一段简单的程序把BCALV_GENERATE_TEST_DATA生产的数据插入表SFLIGHT与SPFLI

*&---------------------------------------------------------------------*
*& Report  YDZTESTDATA
*&---------------------------------------------------------------------*

REPORT YDZTESTDATA NO STANDARD PAGE HEADING.

DATABEGIN OF ET_SPFLI OCCURS 0.
        INCLUDE STRUCTURE SPFLI.
DATAEND OF ET_SPFLI.

DATABEGIN OF ET_SFLIGHT OCCURS 0.
        INCLUDE STRUCTURE SFLIGHT.
DATAEND 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.

DATABEGIN 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.


你可能感兴趣的:(SAP)