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. 从零实现jQuery的extend

    前言 jQuery 的 extend 是 jQuery 中应用非常多的一个函数,今天我们一边看 jQuery 的 extend 的特性,一边实现一个 extend! extend 基本用法 先来看看 ...

  2. spring框架面試題目

    25个经典的Spring面试问答 这是在网上下载的面试题,忘记了出处,如带来不便联系本人立马删除,在这里提供给将要面试的朋友,与大家分享,希望能给您带来帮助! 问题清单: 1. 什么是Spring框架 ...

  3. Linux secureCRT 介绍和安装和优化

    修改背景颜色

  4. 在Ubuntu 或 Debian 系统环境安装MYSQL数据库

    一.第一步下载myslq安装程序 sudo apt-get install mysql-server mysql-client apt-get程序会自动下载安装最新的mysql版本.在安装的最后,它会 ...

  5. [昆仑会员卡系统]老会员数据导入 从临时表插入会员至member_info_svc表 SQL

    第一版无UUID版本 从临时表插入会员至member_info_svc表 insert into member_info_svc ( gh_no,chname,sex,birthday,tel,ema ...

  6. Linux 修改时区的办法

    Linux修改时区的正确方法 CentOS和Ubuntu的时区文件是/etc/localtime,但是在CentOS7以后localtime以及变成了一个链接文件 [root@centos7 ~]# ...

  7. java非空判断

    是否为 null 是否为 "" 是否为空字符串(引号中间有空格)  如: "     ". 制表符.换行符.换页符和回车 一. 字符串 1. if(str == ...

  8. ICEM-气化炉

    原视频下载地址:https://yunpan.cn/cuPJWRHUJKXIL  访问密码 d379

  9. DH密钥加解密

    一.概述 1.与对称加密算法的主要差别在于,加密和解密的密钥不相同,一个公开(公钥),一个保密(私钥).主要解决了对称加密算法密钥分配管理的问题,提高了算法安全性. 2.非对称加密算法的加密.解密的效 ...

  10. 2018-2019 20165226 Exp9 Web安全基础

    2018-2019 20165226 Exp9 Web安全基础 目录 一.实验内容说明及基础问题回答 二.实验过程 Webgoat准备 XSS攻击 ① Phishing with XSS 跨站脚本钓鱼 ...