20170523 BSEG替代付款条件-ZTERM 天数-ZBD1T


增强方式:替代,【替代基本用在FICO模块】
BTE增强方式应用更广,需要学习总结。


程序:ZRGGBS*

步骤 1,SE16N:GB01 将 ZBD1T排除标记置为空,【注意,此更改跨client,dev700 修改,test710 也被修改】
通 ZTERM
排除
9 S BSEG ZBD1T X
9 S BSEG ZTERM


2.替代程序RGUGBR00 重新运行;

应用领域 *
调用点 *

使用标准变式:SAP&OIBSEGBKPF
运行结果:成功完成存储和生成
消息号 GB000

3.程序zrggbs000 代码增强
*---------------------------------------------------------------------*
* FORM Z002 *
*---------------------------------------------------------------------*
*替代付款方式:BSEG-ZTERM
*1.系统根据BSEG-BUKRS(公司代码)=(CV50,CV51,CV52),
* BSEG-KOART(科目类型)=K,
* 根据BSEG-LIFNR(供应商账号)到LFB1-LIFNR=BSEG-LIFNR,
* LFB1-BUKRS=BESG-BUKRS(公司代码),找到LFB1-ZTERM赋值给BSEG-ZTERM
*
*---------------------------------------------------------------------*
FORM z002.
*&--->add on 16.05.2017 10:30:38 by cx.
DATA:l_zterm TYPE lfb1-zterm.
DATA:l_nzterm TYPE lfb1-zterm.
DATA:l_nzfbdt TYPE bseg-zfbdt.
DATA:l_ozterm TYPE lfb1-zterm.
DATA:l_nsklin TYPE sklin,
l_osklin TYPE sklin.
DATA:l_ozfbdt TYPE bseg-zfbdt.
DATA:e_sklin TYPE sklin,
e_zfbdt TYPE bseg-zfbdt.

*break c_xiangc.
CLEAR:l_zterm.
SELECT SINGLE zterm
INTO l_zterm
FROM lfb1
WHERE lifnr = bseg-lifnr
AND bukrs = bseg-bukrs.
IF l_zterm NE space.
CONDENSE l_zterm NO-GAPS.

**用付款条件,找付款基准日期,天数/百分比,
IF l_zterm IS NOT INITIAL AND l_zterm NE bseg-zterm .
CLEAR:e_sklin,e_zfbdt.
CALL FUNCTION 'FI_FIND_PAYMENT_CONDITIONS'
EXPORTING
i_zterm = l_zterm
i_bldat = bkpf-bldat
i_budat = bkpf-budat
i_cpudt = bkpf-cpudt
i_zfbdt = bseg-zfbdt
* I_FUNCL = ' '
* I_REINDAT =
* I_PPA_EX_IND =
* I_LIFNR =
* I_BUKRS =
IMPORTING
* E_T052 =
e_zfbdt = e_zfbdt
e_sklin = e_sklin
* E_XSPLT =
EXCEPTIONS
terms_incorrect = 1
terms_not_found = 2
no_date_entered = 3
no_day_limit_found = 4
OTHERS = 5
.
*IF sy-subrc <> 0.
*MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
* WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
*ELSE.
*MESSAGE s001(00) WITH '替代成功!'.
*ENDIF.
*&--->替代基准日期
IF e_zfbdt NE space.
bseg-zfbdt = e_zfbdt.
ENDIF.
**天数
bseg-zbd1t = e_sklin-ztag1.
bseg-zbd1p = e_sklin-zprz1.
bseg-zbd2t = e_sklin-ztag2.
bseg-zbd2p = e_sklin-zprz2.
bseg-zbd3t = e_sklin-ztag3.
**付款条件
bseg-zterm = l_zterm.

ENDIF.

ENDIF.
*&--->end add.

ENDFORM. "Z001

 

 


*&------------------------------------------------------------------------
FORM z002.
*BREAK-POINT.
*&--->add on 16.05.2017 10:30:38 by cx.
DATA:l_zterm TYPE lfb1-zterm.

DATA:l_nzterm TYPE lfb1-zterm.
DATA:l_nzfbdt TYPE bseg-zfbdt.
DATA:l_ozterm TYPE lfb1-zterm.
DATA:l_nsklin TYPE sklin,
l_osklin TYPE sklin.
DATA:l_ozfbdt TYPE bseg-zfbdt.

DATA:e_sklin TYPE sklin.
BREAK-POINT.

CLEAR:l_zterm.
SELECT SINGLE zterm
INTO l_zterm
FROM lfb1
WHERE lifnr = bseg-lifnr
AND bukrs = bseg-bukrs.
IF l_zterm NE space.
CONDENSE l_zterm NO-GAPS.
bseg-zbd1t = 111.

**替代天数
IF l_zterm NE bseg-zterm .
CLEAR:e_sklin.
CALL FUNCTION 'FI_CHANGE_PAYMENT_CONDITIONS'
EXPORTING
* I_BLDAT = SY-DATLO
* I_BUDAT = SY-DATLO
* I_CPUDT =
i_newzterm = l_zterm
i_newzfbdt = bseg-zfbdt
i_newsklin = l_nsklin
i_oldzterm = bseg-zterm
i_oldzfbdt = bseg-zfbdt
i_oldsklin = l_osklin
* I_ZLSCH =
* I_ZSCHF =
* I_OLDZLSCH =
* I_OLDZSCHF =
* I_ZBDREQ = ' '
* I_ZFBDTREQ = ' '
* I_ZLSCHREQ = ' '
* I_ZSCHFREQ = ' '
* I_SPLITMODE = ' '
* I_LIFNR =
* I_BUKRS =
* I_XDERIVE =
IMPORTING
* E_ZTERM =
* E_ZFBDT =
e_sklin = e_sklin
* E_STATUS =
* E_ZLSCH =
* E_ZSCHF =
* CHANGING
* C_T052 =
* C_REINDAT =
EXCEPTIONS
terms_incorrect = 1
terms_not_found = 2
wrong_zfbdt = 3
day_limit_not_found = 4
OTHERS = 5
.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
bseg-zbd1t = e_sklin-ztag1.
bseg-zterm = l_zterm.

ENDIF.

ENDIF.
*&--->end add.

ENDFORM. "Z001
*&------------------------------------------------------------------------

付款条件增强:
BSEG-ZTERM -> BSEG-ZBD1T
使用函数:FI_FIND_PAYMENT_CONDITIONS.
*输入:
I_ZTERM Z020
I_BLDAT 2017.05.22
I_BUDAT 2017.05.22
I_CPUDT 2017.05.22
I_ZFBDT 20170523

*输出:
*基准日期,
E_ZFBDT 2017.05.22

返回 E_T052
付款条件数据表


E_SKLIN

*
ZTAG1 020
ZPRZ1 0.000
ZTAG2 000
ZPRZ2 0.000
ZTAG3 000


付款条件 -> 天数
Z060
*&--->替代基准日期
IF e_zfbdt NE space.
bseg-zfbdt = e_zfbdt.
ENDIF.
bseg-zbd1t = e_sklin-ztag1.**天数
bseg-zbd1p = e_sklin-zprz1.*现金折扣百分率
bseg-zbd2t = e_sklin-ztag2.*现金折扣天数2
bseg-zbd2p = e_sklin-zprz2.*现金折扣百分比2
bseg-zbd3t = e_sklin-ztag3.*净支付条件期段
**付款条件
bseg-zterm = l_zterm.

 

                    / GBTQ8FIB
                    / SUB_SMCV

  IF COND = B_TRUE .

    PERFORM Z002(ZRGGBS000) IF FOUND .


    PERFORM Z002(ZRGGBS000) IF FOUND .


    PERFORM Z002(ZRGGBS000) IF FOUND .


    PERFORM Z002(ZRGGBS000) IF FOUND .


    PERFORM Z002(ZRGGBS000) IF FOUND .


    PERFORM Z002(ZRGGBS000) IF FOUND .


    PERFORM Z002(ZRGGBS000) IF FOUND .

    G_SUBST_PERFORMED = B_TRUE.
  ENDIF.





      CLEAR:e_sklin.
      CALL FUNCTION 'FI_CHANGE_PAYMENT_CONDITIONS'
        EXPORTING
           i_bldat                   = bkpf-bldat
           i_budat                   = bkpf-budat
*           I_CPUDT                   =
          i_newzterm                = l_zterm
          i_newzfbdt                = bseg-zfbdt
            i_newsklin                = l_nsklin
          i_oldzterm                = bseg-zterm
          i_oldzfbdt                = bseg-zfbdt
            i_oldsklin                = l_osklin
*           I_ZLSCH                   =
*           I_ZSCHF                   =
*           I_OLDZLSCH                =
*           I_OLDZSCHF                =
*           I_ZBDREQ                  = ' '
*           I_ZFBDTREQ                = ' '
*           I_ZLSCHREQ                = ' '
*           I_ZSCHFREQ                = ' '
*           I_SPLITMODE               = ' '
*           I_LIFNR                   =
*           I_BUKRS                   =WW
*           I_XDERIVE                 =
       IMPORTING
*           E_ZTERM                   =
*           E_ZFBDT                   =
         e_sklin                   = e_sklin
*           E_STATUS                  =
*           E_ZLSCH                   =
*           E_ZSCHF                   =
*         CHANGING
*           C_T052                    =
*           C_REINDAT                 =
       EXCEPTIONS
         terms_incorrect           = 1
         terms_not_found           = 2
         wrong_zfbdt               = 3
         day_limit_not_found       = 4
         OTHERS                    = 5
                .
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ELSE.
        MESSAGE s001(00) WITH '替代成功!'.
      ENDIF.
View Code

 

转载于:https://www.cnblogs.com/rainysblog/p/6911231.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【优质项目推荐】 1、项目代码均经过严格本地测试,运行OK,确保功能稳定后才上传平台。可放心下载并立即投入使用,若遇到任何使用问题,随时欢迎私信反馈与沟通,博主会第一时间回复。 2、项目适用于计算机相关专业(如计科、信息安全、数据科学、人工智能、通信、物联网、自动化、电子信息等)的在校学生、专业教师,或企业员工,小白入门等都适用。 3、该项目不仅具有很高的学习借鉴价值,对于初学者来说,也是入门进阶的绝佳选择;当然也可以直接用于 毕设、课设、期末大作业或项目初期立项演示等。 3、开放创新:如果您有一定基础,且热爱探索钻研,可以在此代码基础上二次开发,进行修改、扩展,创造出属于自己的独特应用。 欢迎下载使用优质资源!欢迎借鉴使用,并欢迎学习交流,共同探索编程的无穷魅力! 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值