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插 ...
随机推荐
- mount命令设备的挂载和卸载
不能挂载到根目录:其他目录都可以 1.光盘设备挂载到mnt mount -t iso99660 /dev/cdrom /mnt 2.光盘镜像文件.so文件挂载到mnt mount -o loop -t ...
- POJ 1927 Area in Triangle
Area in Triangle Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 1674 Accepted: 821 D ...
- 23、CacheManager原理剖析与源码分析
一.图解 二.源码分析 ###org.apache.spark.rdd/RDD.scalal ###入口 final def iterator(split: Partition, context: T ...
- Pytest权威教程10-捕获警告信息
目录 捕获警告信息 @pytest.mark.filterwarnings 禁用警告摘要 完全禁用警告捕获 弃用警告和待命记录警告 确保代码触发弃用警告 用警告函数断言警告 录制警告 自定义失败消息 ...
- Pytest权威教程12-跳过(Skip)及预期失败(xFail): 处理不能成功的测试用例
目录 跳过(Skip)及预期失败(xFail): 处理不能成功的测试用例 Skip跳过用例 xFail:将测试函数标记为预期失败 Skip/xFail参数设置 返回: Pytest权威教程 跳过(Sk ...
- python中创建字典的多种方法
dict={} dict['key']='value dict={'key':"value","key2":"value2"} dict=d ...
- C#中的线程之Abort陷阱
.简介 C#中通常使用线程类Thread来进行线程的创建与调度,博主在本文中将分享多年C#开发中遇到的Thread使用陷阱. Thread调度其实官方文档已经说明很详细了.本文只简单说明,不做深入探讨 ...
- LDAP服务端 - 调研
一.服务端实现 1.OpenLdap 2.ApacheDS 二.OpenLdap 1.https://segmentfault.com/a/1190000014683418 2.https://www ...
- Ubuntu16.04启动tomcat缓慢问题之解决方案
问题信息: -May- ::] org.apache.catalina.util.SessionIdGeneratorBase.createSecureRandom Creation of Secur ...
- Shell修改密码为原密码
密码到期后更改密码为原密码,服务器多时工作量巨大,编写脚本完成. 登陆后修改提示符为: doraemon# 方便expect匹配 修改LANG=C,提示为英文防止干扰: #!/usr/bin/expe ...