1.F110 删除操作的增强:
方法:SE19   ZE_F110_DELETE_CHECK

代码:
ENHANCEMENT 1  ZE_F110_DELETE_CHECK.    "active version
**ZE_F110_DELETE_CHECK add by xiangc on 20170506 for  F110 付款建议删除前的检查,建议ID在审核状态不允许删除.
**require by fi_luotang
DATA:LS_ZTYJ_FK_STATUS TYPE ZTYJ_FK_STATUS.
DATA:lv_answer TYPE c.

CASE OK-CODE.
*------- Zahlungsaufträge löschen --------------------------------------
*    WHEN 'PYOD'.
*      SUBMIT RFPYORDD AND RETURN WITH  PARLAUFD INCL F110V-LAUFD
*                                 WITH  PARLAUFI INCL F110V-LAUFI
*                                 VIA   SELECTION-SCREEN.
*------- Vorschlagslauf Loeschen ---------------------------------------
    WHEN 'VODE'.
* break c_xiangc.
      CLEAR:LS_ZTYJ_FK_STATUS.
      SELECT SINGLE *
        INTO LS_ZTYJ_FK_STATUS
        FROM ZTYJ_FK_STATUS
       WHERE LAUFD = F110V-LAUFD
         AND LAUFI = F110V-LAUFI
         AND ZCHEC = 'X'.
      IF SY-SUBRC EQ 0.
*        MESSAGE S020(ZYUEJIN_FICO) WITH F110V-LAUFD F110V-LAUFI DISPLAY LIKE 'E'.
*        EXIT.
      CALL FUNCTION 'POPUP_TO_CONFIRM'
        EXPORTING
          titlebar              = '请确认'
          text_question         = '此付款ID在审核中,是否确认删除?'
          text_button_1         = '确认删除'
          text_button_2         = '不删除'
          default_button        = '1'      "缺省选中按钮: 1 是; 2 
          display_cancel_button = ''       "标识: 为空,不显示 取消按钮
        IMPORTING
          answer                = lv_answer                 "1 是;
        EXCEPTIONS
          text_not_found        = 1
          OTHERS                = 2.
      IF lv_answer EQ '1'.
 UPDATE ztyj_fk_status SET zchec = ' '
                           datum = sy-datum
                           uzeit = sy-uzeit
                           usnam = sy-uname
                     WHERE laufd = F110V-laufd
                       AND laufi = F110V-laufi.
       MESSAGE S023(ZYUEJIN_FICO) WITH F110V-LAUFD F110V-LAUFI.
      else.
        exit.
      ENDIF.

ENDIF.

WHEN OTHERS.
    ...
   ENDCASE.

ENDENHANCEMENT.

Transaction
Code - F110  自动付款参数

BADI Name            Description

FI_BSTM_MC_EXIT                   FI 帐户报表: 多项兑现转化的退出

FI_F110_SCHEDULE_JOB F110: 在建议/更新运行计划安排前的检查

No
of BADIs:          2

2.F110 付款运行前的 解除凭证行项目冻结标记增强
SE19
:FI_F110_SCHEDULE_JOB  
F110: 在建议/更新运行计划安排前的检查

实现方式:SE24  
ZCL_IM_FI_F110_SCHEDULE_JB

代码:
METHOD IF_EX_FI_F110_SCHEDULE_JOB~CHECK_PARAMETER.
**供应商所有付款建议有冻结的凭证全部解冻结
  TYPE-POOLS: TPIT.
  FIELD-SYMBOLS <FS_LIFNR> TYPE STANDARD TABLE.
  TYPES: BEGIN OF T_BSEG,
           BUKRS TYPE BSEG-BUKRS,
           BELNR TYPE BSEG-BELNR,
           GJAHR TYPE BSEG-GJAHR,
           BUZEI TYPE BSEG-BUZEI,
           KOART TYPE BSEG-KOART,
         END OF T_BSEG.
  DATA: LS_REGUV TYPE REGUV,
        LV_FIELD(20),
        LT_BSIK TYPE TABLE OF BSIK,
        LS_BSIK TYPE BSIK,
        LT_BSEG TYPE TABLE OF T_BSEG,
        LS_BSEG TYPE T_BSEG,
        S_BSEG  TYPE BSEG,
        LT_BUZTAB  TYPE TPIT_T_BUZTAB,
        LS_BUZTAB  TYPE LINE OF TPIT_T_BUZTAB,
        LT_FLDTAB  TYPE TPIT_T_FNAME,
        LS_FLDTAB  TYPE LINE OF TPIT_T_FNAME,
        LT_ERRTAB TYPE TPIT_T_ERRDOC,
        LS_ERRTAB TYPE LINE OF TPIT_T_ERRDOC,
        LR_LIFNR  TYPE FAGL_RANGE_T_LIFNR,
        LS_LIFNR  TYPE FAGL_RANGE_S_LIFNR.
**  BREAK-POINT.
**  CHECK 1 = 2.
**F110 自动付款时: 参数已输入和收付建议已经建立才跑解冻结
** 状态:点按钮"付款运行"时执行以下解冻结逻辑
*  CHECK I_F110V-BUKLS+0(4) = 'CV50' OR I_F110V-BUKLS+0(4) = 'CV51'.
  CLEAR: LS_REGUV.
  SELECT SINGLE * INTO LS_REGUV
      FROM REGUV
    WHERE LAUFD = I_F110V-LAUFD
      AND LAUFI = I_F110V-LAUFI.
  CHECK LS_REGUV-XVORE = 'X' AND LS_REGUV-XECHT IS INITIAL.
**取供应商
  REFRESH:LR_LIFNR,LT_BSIK,LT_BSEG.
  LV_FIELD = '(SAPF110V)R_LIFNR[]'.
  ASSIGN (LV_FIELD) TO <FS_LIFNR>.
  IF <FS_LIFNR>[] IS ASSIGNED.
    LR_LIFNR[] = <FS_LIFNR>[].
    UNASSIGN <FS_LIFNR>.
  ENDIF.

**取供应商已被冻结的数据
  SELECT * INTO TABLE LT_BSIK
      FROM BSIK
    WHERE BUKRS = I_F110V-BUKLS+0(4)
      AND GJAHR = I_F110V-LAUFD+0(4)
      AND LIFNR IN LR_LIFNR
**      AND BSTAT = SPACE
**      AND BSCHL = '31'
      AND ZLSPR = 'X'. "X:(跃进)自动付款冻结

CHECK LT_BSIK[] IS NOT INITIAL.
**取科目类型
  SELECT BUKRS BELNR GJAHR BUZEI KOART
      INTO CORRESPONDING FIELDS OF TABLE LT_BSEG
      FROM BSEG
      FOR ALL ENTRIES IN LT_BSIK
    WHERE BUKRS = LT_BSIK-BUKRS
      AND BELNR = LT_BSIK-BELNR
      AND GJAHR = LT_BSIK-GJAHR
      AND BUZEI = LT_BSIK-BUZEI.
  SORT LT_BSEG BY BUKRS BELNR GJAHR BUZEI.
  LOOP AT LT_BSIK INTO LS_BSIK.
    CLEAR: S_BSEG,LS_BSEG,LS_FLDTAB,LT_FLDTAB[],
           LS_FLDTAB,LT_FLDTAB[],LS_ERRTAB,LT_ERRTAB[].
    READ TABLE LT_BSEG INTO LS_BSEG WITH KEY BUKRS = LS_BSIK-BUKRS
                                             BELNR = LS_BSIK-BELNR
                                             GJAHR = LS_BSIK-GJAHR
                                             BUZEI = LS_BSIK-BUZEI
                                             BINARY SEARCH.
    LS_BUZTAB-BUKRS = LS_BSIK-BUKRS.
    LS_BUZTAB-BELNR = LS_BSIK-BELNR.
    LS_BUZTAB-GJAHR = LS_BSIK-GJAHR.
    LS_BUZTAB-BUZEI = LS_BSIK-BUZEI.
    LS_BUZTAB-KOART = LS_BSEG-KOART.
    LS_BUZTAB-BSCHL = LS_BSIK-BSCHL.
    APPEND LS_BUZTAB TO LT_BUZTAB.

LS_FLDTAB-FNAME = 'ZLSPR'.
    APPEND LS_FLDTAB TO LT_FLDTAB.
**
    CALL FUNCTION 'FI_ITEMS_MASS_CHANGE'
      EXPORTING
        S_BSEG     = S_BSEG
      IMPORTING
        ERRTAB     = LT_ERRTAB
      TABLES
        IT_BUZTAB  = LT_BUZTAB
        IT_FLDTAB  = LT_FLDTAB
      EXCEPTIONS
        BDC_ERRORS = 1
        OTHERS     = 2.
    IF SY-SUBRC <> 0.
      MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      EXIT.
    ENDIF.
  ENDLOOP.
ENDMETHOD.

3.财务凭证项目付款条件替代

*---------------------------------------------------------------------*
*       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.
*BREAK-POINT.
*&--->add on 16.05.2017 10:30:38  by cx.
  DATA:l_zterm TYPE lfb1-zterm.

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-zterm = l_zterm.
  ENDIF.
*&--->end add.

ENDFORM.

F110增强的更多相关文章

  1. F110 BADI增强

    F110*JOB*&------------------------------------------------------------- F110 BADI FI_BSTM_MC_EXI ...

  2. 将表里的数据批量生成INSERT语句的存储过程 增强版

    将表里的数据批量生成INSERT语句的存储过程 增强版 有时候,我们需要将某个表里的数据全部或者根据查询条件导出来,迁移到另一个相同结构的库中 目前SQL Server里面是没有相关的工具根据查询条件 ...

  3. ES5对Array增强的9个API

    为了更方便的对Array进行操作,ES5规范在Array的原型上新增了9个方法,分别是forEach.filter.map.reduce.reduceRight.some.every.indexOf ...

  4. Taurus.MVC 2.2 开源发布:WebAPI 功能增强(请求跨域及Json转换)

    背景: 1:有用户反馈了关于跨域请求的问题. 2:有用户反馈了参数获取的问题. 3:JsonHelper的增强. 在综合上面的条件下,有了2.2版本的更新,也因此写了此文. 开源地址: https:/ ...

  5. 马里奥AI实现方式探索 ——神经网络+增强学习

    [TOC] 马里奥AI实现方式探索 --神经网络+增强学习 儿时我们都曾有过一个经典游戏的体验,就是马里奥(顶蘑菇^v^),这次里约奥运会闭幕式,日本作为2020年东京奥运会的东道主,安倍最后也已经典 ...

  6. 升讯威ADO.NET增强组件(源码):送给喜欢原生ADO.NET的你

    目前我们所接触到的许多项目开发,大多数都应用了 ORM 技术来实现与数据库的交互,ORM 虽然有诸多好处,但是在实际工作中,特别是在大型项目开发中,容易发现 ORM 存在一些缺点,在复杂场景下,反而容 ...

  7. 增强学习(三)----- MDP的动态规划解法

    上一篇我们已经说到了,增强学习的目的就是求解马尔可夫决策过程(MDP)的最优策略,使其在任意初始状态下,都能获得最大的Vπ值.(本文不考虑非马尔可夫环境和不完全可观测马尔可夫决策过程(POMDP)中的 ...

  8. FFmpeg滤镜实现区域视频增强 及 D3D实现视频播放区的拉大缩小

    1.区域视频增强 FFmpeg滤镜功能十分强大,用滤镜可以实现视频的区域增强功能. 用eq滤镜就可以实现亮度.对比度.饱和度等的常用视频增强功能. 推荐两篇写得不错的博文: (1)ffmpeg综合应用 ...

  9. 最新GHOST XP系统下载旗舰增强版 V2016年

    系统来自:系统妈:http://www.xitongma.com 深度技术GHOST xp系统旗舰增强版 V2016年3月 系统概述 深度技术ghost xp系统旗舰增强版集合微软JAVA虚拟机IE插 ...

随机推荐

  1. java 如何遍历Map对象

    内容介绍 在java中遍历Map对象的方法. Map对象 Map<String,Object> map = new HashMap<>(); map.put("xia ...

  2. jquery页面多个倒计时效果

    <div class="timeBox" data-times="2019/06/30,23:59:59"> 距结束 <span class= ...

  3. 学习Spring-Data-Jpa(一)---JPA、Spring-Data-Jpa简介

    写在前面:在国内使用比较多的ORM框架应该就是Mybatis了,但是现在SpringBoot和SpringCloud这么火爆,而Spring-Data-Jpa同样作为Spring家族的成员,它们无缝的 ...

  4. href = '' 表示刷新当前页面

    <a href="javascript:;" target="_blank"><img src="../img/focus-slid ...

  5. 浏览器URL中“#” “?” &“”作用

    1. # 10年9月,twitter改版.一个显著变化,就是URL加入了"#!"符号.比如,改版前的用户主页网址为http://twitter.com/username改版后,就变 ...

  6. mock模拟后台数据

    import Mock from 'mockjs' const Random = Mock.Random // 获取random对象,随机生成各种数据,具体请翻阅文档 const domain = ' ...

  7. LibreOJ #524. 「LibreOJ β Round #4」游戏

    二次联通门 : LibreOJ #524. 「LibreOJ β Round #4」游戏 /* LibreOJ #524. 「LibreOJ β Round #4」游戏 找找规律就会发现.. 当有X的 ...

  8. 19、Executor原理剖析与源码分析

    一.原理图解 二.源码分析 1.Executor注册机制 worker中为Application启动的executor,实际上是启动了这个CoarseGrainedExecutorBackend进程: ...

  9. [系统]win10远程桌面其他电脑出现如下错误,由于数据加密错误,这个会话讲结束,请重新连接到远程计算机

    win10远程桌面其他电脑出现如下错误,由于数据加密错误,这个会话讲结束,请重新连接到远程计算机 这可能是由于credssp加密oracle修正的错误 HKEY_LOCAL_MACHINE\SOFTW ...

  10. LOJ#2983. 「WC2019」数树 排列组合,生成函数,多项式,FFT

    原文链接www.cnblogs.com/zhouzhendong/p/LOJ2983.html 前言 我怎么什么都不会?贺忙指导博客才会做. 题解 我们分三个子问题考虑. 子问题0 将红蓝共有的边连接 ...