003 F-47创建预付定金请求检查增强-20150819.docx

Enhancement SE38LEINRF26

 

操作F-47,预付定金请求回车时,检查输入的采购订单项目发票视图,预付定金% 栏位,若为空,则报错,不为空可继续。

 

检查逻辑:检查采购凭证项目的预付定金%是否为空,如果为空,报错:请检查采购凭证预付定金%,另:预付定金请求请用ME2DP创建!。

DEVK904007       ABAP30       B235 F-47创建预付款凭证增强:检查 预付定金%栏 by rainy on 20150818 req by fi


*{   INSERT         DEVK902097                                        1
*20130801 jayxu
DATA:ZV_DMBTR LIKE EKPO-NETWR,
     ZV_WRBTR LIKE EKBE-WRBTR,
     ZV_MWSKZ LIKE EKPO-MWSKZ,
     ZV_WRBTT LIKE EKBE-WRBTR,
     ZV_KNUMH LIKE A003-KNUMH,
     ZV_RATE  TYPE I,
     ZV_KBETR LIKE KONP-KBETR,
     ZV_CHKPO LIKE RCOSA-EXCL1.
DATA:ZI_EKBE  LIKE EKBE OCCURS 1 WITH HEADER LINE.
DATA:ZI_BSIK  LIKE BSIK OCCURS 1 WITH HEADER LINE.
DATA:ZI_BSAK  LIKE BSAK OCCURS 1 WITH HEADER LINE.
TABLES:BKPF.
DATA:STR_NAME(21)          TYPE C,
     ZV_UMSKZ              TYPE C.
FIELD-SYMBOLS:<STR_NAME>   TYPE ANY.

GET PARAMETER ID 'ZPODPYTCTRL' FIELD ZV_CHKPO.
*------------------------------------------------------------
*2012.10.08优化,适用F-47的情况
*------------------------------------------------------------
STR_NAME = '(SAPMF05A)TBSLT-UMSKZ'.
ASSIGN (STR_NAME) TO <STR_NAME>.
IF SY-SUBRC EQ 0 AND <STR_NAME> IS ASSIGNED.
  ZV_UMSKZ = <STR_NAME>.
ENDIF.

*&->add by rainy on 20150818 FOR b235 req by fi.
*---------------------------------------------------------------------------------------
*2015.08.18增强,F-47创建预付款凭证时检查增强 FOR B235 BY RAINY req by fi
*& 操作F-47,预付定金请求回车时,检查采购订单项目预付定金 %是否为空,为空则报错:
*---------------------------------------------------------------------------------------

DATA:ZL_DPPCT LIKE EKPO-DPPCT.

*BREAK ABAP30.
CLEAR:ZL_DPPCT.
SELECT SINGLE DPPCT
         INTO ZL_DPPCT
         FROM EKPO
        WHERE EBELN EQ EKPO-EBELN
          AND EBELP EQ EKPO-EBELP.
IF ZL_DPPCT IS INITIAL.
  MESSAGE E000(OO) WITH '请检查采购凭证预付定金%,另:预付定金请求请用ME2DP创建!'.
*MESSAGE '预付款供应商与采购订单不一致,请更正!' TYPE 'E'.
ENDIF.
*&->end add by rainy on 20150818.
原文地址:https://www.cnblogs.com/rainysblog/p/6731430.html