退貨採購訂單多級審批用增強的解決辦法

dicksonjyl560101發表於2015-04-24
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部落格 ” ,連結:http://blog.itpub.net/29829936/viewspace-1595634/,如需轉載,請註明出處,否則將追究法律責任。

相關文章