F110增强
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增强的更多相关文章
- F110 BADI增强
F110*JOB*&------------------------------------------------------------- F110 BADI FI_BSTM_MC_EXI ...
- 将表里的数据批量生成INSERT语句的存储过程 增强版
将表里的数据批量生成INSERT语句的存储过程 增强版 有时候,我们需要将某个表里的数据全部或者根据查询条件导出来,迁移到另一个相同结构的库中 目前SQL Server里面是没有相关的工具根据查询条件 ...
- ES5对Array增强的9个API
为了更方便的对Array进行操作,ES5规范在Array的原型上新增了9个方法,分别是forEach.filter.map.reduce.reduceRight.some.every.indexOf ...
- Taurus.MVC 2.2 开源发布:WebAPI 功能增强(请求跨域及Json转换)
背景: 1:有用户反馈了关于跨域请求的问题. 2:有用户反馈了参数获取的问题. 3:JsonHelper的增强. 在综合上面的条件下,有了2.2版本的更新,也因此写了此文. 开源地址: https:/ ...
- 马里奥AI实现方式探索 ——神经网络+增强学习
[TOC] 马里奥AI实现方式探索 --神经网络+增强学习 儿时我们都曾有过一个经典游戏的体验,就是马里奥(顶蘑菇^v^),这次里约奥运会闭幕式,日本作为2020年东京奥运会的东道主,安倍最后也已经典 ...
- 升讯威ADO.NET增强组件(源码):送给喜欢原生ADO.NET的你
目前我们所接触到的许多项目开发,大多数都应用了 ORM 技术来实现与数据库的交互,ORM 虽然有诸多好处,但是在实际工作中,特别是在大型项目开发中,容易发现 ORM 存在一些缺点,在复杂场景下,反而容 ...
- 增强学习(三)----- MDP的动态规划解法
上一篇我们已经说到了,增强学习的目的就是求解马尔可夫决策过程(MDP)的最优策略,使其在任意初始状态下,都能获得最大的Vπ值.(本文不考虑非马尔可夫环境和不完全可观测马尔可夫决策过程(POMDP)中的 ...
- FFmpeg滤镜实现区域视频增强 及 D3D实现视频播放区的拉大缩小
1.区域视频增强 FFmpeg滤镜功能十分强大,用滤镜可以实现视频的区域增强功能. 用eq滤镜就可以实现亮度.对比度.饱和度等的常用视频增强功能. 推荐两篇写得不错的博文: (1)ffmpeg综合应用 ...
- 最新GHOST XP系统下载旗舰增强版 V2016年
系统来自:系统妈:http://www.xitongma.com 深度技术GHOST xp系统旗舰增强版 V2016年3月 系统概述 深度技术ghost xp系统旗舰增强版集合微软JAVA虚拟机IE插 ...
随机推荐
- Mybatis 使用PageHelper封装通用Dao分页方法
参考: PageHelper官网:https://pagehelper.github.io/docs/howtouse/#3-%E5%A6%82%E4%BD%95%E5%9C%A8%E4%BB%A3% ...
- Vue 实例成员
Vue 一. 什么是Vue 可以独立完成前后端分离时 Web项目的JavaScript框架 二.为什么学Vue 前端三大主流框架:Angular React Vue Vue结合了其他框架优点.轻量级. ...
- CEOI2019 / CodeForces 1192B. Dynamic Diameter
题目简述:给定一棵$N \leq 10^5$个节点的树,边上带权,维护以下两个操作: 1. 修改一条边的边权: 2. 询问当前树的直径长度. 解1:code 注意到树的直径有以下性质: 定理:令$\t ...
- 015_Python3 迭代器与生成器
迭代器 迭代是Python最强大的功能之一,是访问集合元素的一种方式. 迭代器是一个可以记住遍历的位置的对象. 迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束.迭代器只能往前不会后退 ...
- DVWA-文件包含漏洞
本周学习内容: 1.学习web安全深度剖析: 2.学习安全视频: 3.学习乌云漏洞: 4.学习W3School中PHP: 实验内容: 进行DVWA文件包含实验 实验步骤: Low 1.打开DVWA,进 ...
- 洛谷 P2058 海港 题解
P2058 海港 题目描述 小K是一个海港的海关工作人员,每天都有许多船只到达海港,船上通常有很多来自不同国家的乘客. 小K对这些到达海港的船只非常感兴趣,他按照时间记录下了到达海港的每一艘船只情况: ...
- (21)打鸡儿教你Vue.js
组件化思想: 组件化实现功能模块的复用 高执行效率 开发单页面复杂应用 组件状态管理(vuex) 多组件的混合使用 vue-router 代码规范 vue-router <template> ...
- 一次 react-router 中遇到的小坑
react-router Link 标签不生效的问题 废话不多说, 直接上问题, 排解过程和答案 现象: 发现 使用 Link 标签没有 元素的样式和效果, 也不能进行跳转 代码如下: render( ...
- 数据结构实验之查找六:顺序查找(SDUT 3378)
(不知道为啥开个数组就 TLE .QAQ) #include <stdio.h> #include <stdlib.h> #include <string.h> / ...
- linux系统下常用的打包/解压缩包命令
此处大概列了常用的解压和打包命令,详细信息需要百度一一对比他们的区别,比如我们在下载软件时就是最好的实践. 用zip举例说明,使用命令压缩时有点是,压缩文件.目录会非常快:如图,我压缩了一个progr ...