1.TH_CREATE_MODE 双击字段穿透
WHEN 'ZDJBH'.
DATA lv_par TYPE string .
READ TABLE gt_alv INTO DATA(ls_doubledata2) INDEX e_row-index.
lv_par = 'S_ZDJBH-LOW = ' && ls_doubledata2-ZDJBH . "给屏幕参数要传入的值
CALL FUNCTION 'TH_CREATE_MODE'
EXPORTING
TRANSAKTION = 'Zzz' "穿透到的事务码
* DEL_ON_EOT = 0
PARAMETERS = LV_PAR "屏幕参数
PROCESS_DARK = '' "跳过选择屏幕
* INHERIT_STAT_TRANS_ID = 0
* IMPORTING
* MODE =
EXCEPTIONS
MAX_SESSIONS = 1
INTERNAL_ERROR = 2
NO_AUTHORITY = 3
OTHERS = 4
.
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.
2.SUBMIT 选择数据穿透
FORM FRM_PRINT_PRT1 .
READ TABLE GT_TAB1 TRANSPORTING NO FIELDS
WITH KEY SEL = 'X'.
IF SY-SUBRC NE 0.
"未选择行,请选择行!
MESSAGE E009(ZQM_001).
ENDIF.
DATA:
LR_MBLNR TYPE RANGE OF MATDOC-MBLNR,
LS_MBLNR LIKE LINE OF LR_MBLNR.
LOOP AT GT_TAB1 INTO GS_TAB1 WHERE SEL = 'X'.
CLEAR LS_MBLNR.
LS_MBLNR-SIGN = 'I'.
LS_MBLNR-OPTION = 'EQ'.
LS_MBLNR-LOW = GS_TAB1-MBLNR.
APPEND LS_MBLNR TO LR_MBLNR.
ENDLOOP.
SUBMIT ZMMRA1 "submit用的不是事务码,是se38程序
WITH S_MBLNR IN LR_MBLNR
WITH P_CALLD = 'X'
AND RETURN.
ENDFORM.
3 CALL TRANSACTION穿透 通常到标准程序
WHEN '&IC1'.
READ TABLE gt_alv INTO gs_alv INDEX us_selfield-tabindex.
IF us_selfield-fieldname = 'VBELN'.
IF gs_alv-vbeln IS NOT INITIAL.
SET PARAMETER ID 'AUN' FIELD gs_alv-vbeln. "id 通过se11 可查
CALL TRANSACTION 'VA03' AND SKIP FIRST SCREEN.
ENDIF.
ENDIF.