ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 退货采购订单多级审批用增强的解决办法

退货采购订单多级审批用增强的解决办法

Linux操作系统 作者:DicksonJYL560101 时间:2015-04-24 12:53:04 0 删除 编辑
1.使用增强M06E0004      为发放采购凭证改变通讯结构
FUNCTION   EXIT_SAPLEBND_002
PROGRAM   zxm06u22
根据审批策略,修改i_cekko-usrc1。
usrc1 批准策略的用户字段的格式字符
01、02、03就是标准审批策略中的"批准组"
01 2 Z_PO 采购管理部总经理审批
02 2 Z_PO 运营经理审批
03 2 Z_PO 采购与计划管理部经理审批
代码
*& Creat on 2011.09.09
*& ZRE PO (退货PO) 多级审批
*& 1. 金额 0~~50000 两级审批
*& 2. 金额 50000~~100000 三级审批
*& 3. 金额 100000 以上 四级审批
data: wa_bekpo type bekpo.
data: z_amt type cekko-gnetw value 0.
if i_cekko-bsart = 'ZRE'.
loop at it_bekpo into wa_bekpo.
 
代码
*& Creat on 2011.09.09
*& ZRE PO (退货PO) 多级审批
*& 1. 金额 0~~50000 两级审批
*& 2. 金额 50000~~100000 三级审批
*& 3. 金额 100000 以上 四级审批
data: wa_bekpo type bekpo.
data: z_amt type cekko-gnetw value 0.
if i_cekko-bsart = 'ZRE'.
loop at it_bekpo into wa_bekpo.
i_cekko-gnetw = i_cekko-gnetw + wa_bekpo-netwr.
  endloop.

  if i_cekko-waers <> 'RMB'.
    call function 'CONVERT_TO_LOCAL_CURRENCY'
      exporting
*       CLIENT                  = SY-MANDT
        date                    = sy-datum
        foreign_amount          = i_cekko-gnetw
        foreign_currency        = i_cekko-waers
        local_currency          = 'RMB'
*       RATE                    = 0
*       TYPE_OF_RATE            = 'M'
*       READ_TCURR              = 'X'
     importing
*       EXCHANGE_RATE           =
*       FOREIGN_FACTOR          =
        local_amount            = z_amt
*       LOCAL_FACTOR            =
*       EXCHANGE_RATEX          =
*       FIXED_RATE              =
*       DERIVED_RATE_TYPE       =
     exceptions
       no_rate_found           = 1
       overflow                = 2
       no_factors_found        = 3
       no_spread_found         = 4
       derived_2_times         = 5
       others                  = 6
              .
    if sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    endif.
  else.
    move i_cekko-gnetw to z_amt.
  endif.
  if  z_amt > 0 and z_amt < 50000.
    i_cekko-usrc1 = '03'.
  elseif z_amt >= 50000 and z_amt < 100000.
    i_cekko-usrc1 = '02'.
  else.
    i_cekko-usrc1 = '01'.
  endif.
endif.
move-corresponding i_cekko to e_cekko.

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29829936/viewspace-1595634/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: 出口和BADI查询
请登录后发表评论 登录
全部评论
行万里路,读万卷书,阅无数人。 吃货一枚,爱吃湘菜,粤菜与杭帮菜,尝遍天下美食。 摄影爱好者,游遍名川大山,江河胡海,赏遍人间春色。 爱看电影,尤其是国产大片,好莱坞大片。英文名:Dickson Jin, 网名:风一样的BOY。精通SAP供应链咨询。2017年开始研习人工智能。

注册时间:2014-08-27

  • 博文量
    2598
  • 访问量
    4671843