RS_SELFIELD是ALV里面的标准的call back子程序的一个参数,里面记录的是ALV中选择的行的相关信息。RS_SELFIELD-TABINDEX是ALV中选择的行的索引号。
至于那个错误,应该是在调用ALV显示函数REUSE_ALV_GRID_DISPLAY的时候掘颂参数I_CALLBACK_PROGRAM的值写错了,应该桥陵是SY-REPID而不是SY_REPID。
USING:'A' '列1',
'B' '列2',
'C' '列3'.
*如果不等于0就输出列4
sort gt_tab by 列4.
read table gt_tab with key 列4 = 0 BINARY SEARCH.
IF sy-subrc <>0.
PERFORM F_INPUT_FIELDCAT USING 'D' '列4'.
endif.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
IS_LAYOUT_LVC = WS_LAYOUT
IT_FIELDCAT_LVC= WS_FIELDCAT
TABLES
T_OUTTAB = GT_TAB
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2.
*&---------------------------------------------------------------------*
*& Form F_INPUT_FIELDCAT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->VALUE(P_FIELD) text
* -->VALUE(P_NAME) text
*----------------------------------------------------------------------*
FORM F_INPUT_FIELDCAT USING VALUE(P_FIELD)
VALUE(P_NAME).
DATA: ST_FIELDCAT TYPE LVC_S_FCAT.
ST_FIELDCAT-FIELDNAME = P_FIELD.
ST_FIELDCAT-SCRTEXT_M = P_NAME.
APPEND ST_FIELDCAT TO WS_FIELDCAT.
CLEAR ST_FIELDCAT.
ENDFORM."F_INPUT_FIELDCAT
调用系统事物码和调用自己的埋皮事物码没液或有区别弯埋差的但你要确定你是要调用事物码,还是调用程序
调用事物码用“CALL TRANSACTION”
调用程序用的是"SUBMIT"
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)