SD模块的几个增强(VA01-VA03,VA41-VA43)

VA01-VA03,VA41,VA42,VA43这三个事务代码的增强直接写在他们的程序里面,这里的增强有点特殊要注意首先要让他显示出来,而后才能修改,
程序名:SAPMV45A     增强的点在:include mv45afzb.和include mv45afzz.  双击进去后点击编辑菜单里面的增强,如下图:
 qqe688aae59bbe20120608113545
然后对准里面的增强点写相应的代码。

2.在写VL01N和VL02N发货过账的增强的时候要进去程序相应的点调试然后去找到增强,主要在包含里面:FV50XF0B_BELEG_SICHERN
3.在写VF01退出的时候抬头文本更新时候在包含里面:MV60AF0B_BELEG_SICHERN,在程序里面必须等待几秒才能进行操作,用  WAIT UP TO 2 SECONDS.

4.vl01n点发货过账以后的增强点在程序SAPMV50A里面的es_fv50xf0b_beleg_sichern这里的第六个增强点
5.VF01点击保存后的增强点在程序SAPMV60A里面的enhancement-section     beleg_sichern_11 spots es_sapmv60a.

” 把发货单的抬头文本和行项目文本带到发票,此处增强是VL01N直接点击发货过账按钮的时候执行的
  type-pools: tpit.
  “BREAK ABAP_02.
  data: tbseg type bseg,
        it_errtab type tpit_t_errdoc with header line,
        rt_buztab type tpit_t_buztab with header line,
        fldtab type tpit_t_fname with header line.
  data: wa_bkpf type bkpf.
  data: l_bseg type table of bseg with header line.
  data: name type thead-tdname.
  data: l_belnr type bkpf-belnr.
  data: lines type table of tline with header line.
  data: it_texts type table of tline with header line.
  data: it_bseg type table of  bseg with header line.
  data: wa_stxh type stxh.
  data: wa_stxl  type stxl.
  data wa_thead type thead.
  data: str type string.
  break abap_02.
  if sy-tcode eq ‘VL01N’ or sy-tcode eq ‘VL02N’.
      select max( belnr ) into l_belnr from bkpf where xblnr eq likp-vbeln .”ORDER BY BLDAT.
    select single *  into wa_bkpf from bkpf where xblnr eq likp-vbeln and belnr eq l_belnr .”AND BLDAT EQ LIKP-FKDAT.
      if wa_bkpf is not initial.
        “先写入抬头文本
        name = wa_bkpf-xblnr.”likp-vbeln.
        select single * into wa_stxh from stxh where tdname eq name.
        if wa_stxh is not initial.
          call function ‘READ_TEXT’
          exporting
*           CLIENT                        = SY-MANDT
            id                            = wa_stxh-tdid”‘0001′
            language                      = ‘1′
            name                          = name
            object                        = ‘VBBK’
          tables
            lines                         = lines[]
                  .

        read table lines index 1.
        wa_bkpf-bktxt = lines-tdline.
        modify bkpf from wa_bkpf.

        endif.

      endif.

    “写入行项目文本
    select * into corresponding fields of table l_bseg from bseg where bukrs eq wa_bkpf-bukrs and belnr eq wa_bkpf-belnr.
    concatenate wa_bkpf-xblnr ‘000010′ into  wa_thead-tdname.

    select single * into wa_stxl from stxl where tdname eq wa_thead-tdname.

    if wa_stxl is not initial.

      call function ‘READ_TEXT’
      exporting
        id       = wa_stxl-tdid”‘0001′”wa_thead-tdid
        language = ‘1′
        name     = wa_thead-tdname
        object   = ‘VBBP’
      tables
        lines    = it_texts[].

      read table it_texts index 1.
      clear str.
      loop at it_texts.
        concatenate str it_texts-tdline into str.
      endloop.

      if strlen( str ) > 50.
        str = str+0(50).
      endif.
      loop at  l_bseg.
        clear: rt_buztab[],fldtab[].
        l_bseg-sgtxt = str.”it_texts-TDLINE.

         move-corresponding l_bseg to rt_buztab.
          rt_buztab-bstat = ”.
          rt_buztab-mwskz = ”.
          rt_buztab-flaen = ‘X’.
          append rt_buztab.
          fldtab-fname = ‘SGTXT’.
          fldtab-aenkz = ‘X’.
          append fldtab.

          call function ‘FI_ITEMS_MASS_CHANGE’
            exporting
              s_bseg     = l_bseg
            importing
              errtab     = it_errtab[]
            tables
              it_buztab  = rt_buztab
              it_fldtab  = fldtab
            exceptions
              bdc_errors = 1
              others     = 2.

          if sy-subrc = 0.
            wait up to 2 seconds.
          endif.
      endloop.
    endif.
  endif.

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值