ABAP TH_CREATE_MODE and SUBMIT and CALL TRANSACTION 做穿透

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.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值