DATA: G_TAB_NAM TYPE STRING.
DATA: G_TAB_SQL TYPE STRING.
*&---------------------------------------------------------------------*
*& START-OF-SELECTION
*&---------------------------------------------------------------------*
START-OF-SELECTION.
G_TAB_NAM = 'T001'.
G_TAB_SQL = ''.
PERFORM FRM_GET_DATA USING G_TAB_NAM G_TAB_SQL.
*&---------------------------------------------------------------------*
*& Form FRM_GET_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->PV_TAB_NAM text
* -->PV_TAB_SQL text
*----------------------------------------------------------------------*
FORM FRM_GET_DATA USING PV_TAB_NAM PV_TAB_SQL.
"""""""""""" 内表
FIELD-SYMBOLS: <FS_TAB> TYPE STANDARD TABLE .
DATA: LT_TAB TYPE REF TO DATA.
"""""""""""" 工作区
FIELD-SYMBOLS: <FS_WA> TYPE ANY.
DATA: LS_TAB TYPE REF TO DATA.
"""""""""""" 字段
FIELD-SYMBOLS: <FS_VAR> TYPE ANY.
DATA: L_FNAME TYPE CHAR100.
DATA: L_TABIX TYPE I.
CREATE DATA: LT_TAB TYPE TABLE OF (PV_TAB_NAM).
ASSIGN LT_TAB->* TO <FS_TAB>.
CREATE DATA: LS_TAB LIKE LINE OF <FS_TAB>.
ASSIGN LS_TAB->* TO <FS_WA>.
SELECT * INTO CORRESPONDING FIELDS OF TABLE <FS_TAB>
FROM (PV_TAB_NAM) WHERE (PV_TAB_SQL).
L_TABIX = 0.
LOOP AT <FS_TAB> ASSIGNING <FS_WA>.
L_TABIX = L_TABIX + 1.
L_FNAME = '<FS_WA>-SIDX' .
ASSIGN (L_FNAME) TO <FS_VAR>.
IF SY-SUBRC = 0.
<FS_VAR> = L_TABIX.
ENDIF.
ENDLOOP.
ASSIGN <FS_TAB> TO <G_FS_TAB>.
ENDFORM. " FRM_GET_DATA
动态获取内表(1.数据库表)
猜你喜欢
转载自blog.csdn.net/cly_apple/article/details/86467819
今日推荐
周排行