SD 信用模拟检查增强
一、业务流程中需要进行信用模拟检查,但逻辑梳理较为复杂,因此借用交货单创建时信用检查逻辑。但是当交货单信用检查通过时,不创建交货单,因此需要对BAPI:BAPI_OUTB_DELIVERY_CREATE_SLS进行改造,拦截创建交货单逻辑
二、在BAPI包含的函数SD_DELIVERY_CREDIT_CHECK中,找到信用校验逻辑,创建隐式增强
首先接收程序抛的内存,如果是校验(不创建交货单),则走以下逻辑

当返回消息ID为UKM_CHECK,消息号为001或034,证明信用校验不通过

当返回消息为其他的,则证明信用校验通过,可以返回自定义消息,但是仍然报异常,RAISE ERROR,阻止下一步创建交货单
三、在程序中,抛内存,证明是进行信用校验,而不是创建交货单

程序调用创建交货单BAPI,当返回结果是自定义消息,证明信用校验通过,如果是UKM_CHECK,消息号为001或034,证明校验未通过
"-----------------------------------------@斌将军--------------------------------------------
CALL FUNCTION 'BAPI_OUTB_DELIVERY_CREATE_SLS'
EXPORTING
ship_point = lv_ship_point
due_date = lv_due_date
* DEBUG_FLG = ''
* NO_DEQUEUE = ' '
IMPORTING
delivery = lv_delivery
* NUM_DELIVERIES =
TABLES
sales_order_items = lt_sales
* SERIAL_NUMBERS =
* EXTENSION_IN =
* DELIVERIES =
* created_items = lt_created
* EXTENSION_OUT =
return = lt_return.
LOOP AT lt_return INTO ls_return WHERE type = 'E'.
IF ls_return-id = 'UKM_CHECK' AND ( ls_return-number = '001' OR ls_return-number = '034' ).
e_return-type = 'E'.
e_return-message = ls_return-message.
RETURN.
ENDIF.
IF ls_return-id = 'ZSD01' AND ls_return-number = '006'.
e_return-type = 'S'.
e_return-message = '信用校验通过'.
RETURN.
ELSE.
e_return-type = 'E'.
e_return-message = ls_return-message.
RETURN.
ENDIF.
CLEAR:ls_return.
ENDLOOP.
"-----------------------------------------@斌将军--------------------------------------------
定期更文,欢迎关注

SD 信用模拟检查增强的更多相关文章
- 003 F-47创建预付定金请求检查增强-20150819.docx
Enhancement SE38:LEINRF26 操作F-47,预付定金请求回车时,检查输入的采购订单项目发票视图,预付定金% 栏位,若为空,则报错,不为空可继续. 检查逻辑:检查采购凭证项 ...
- SAP SD 信用检查相关
SAP系统信用管理功能的介绍: R/3系统具有强大的信用管理功能.系统可将来自于FI.SD的财务及销售信息进行汇总, 提供即时的信用数据;并可依据信用政策对订单及发货进行管理,有效地降低风险;并 ...
- 野火STM32 Flash&sd卡模拟U盘
在USB库文件mass_mal.c中添加对flash和sd读写的函数,USB库调用这些函数从而实现模拟U盘的功能 //mass_mal.c /* Includes ------------------ ...
- 002 MIRO发票校验采购订单项目科目分配类别检查增强-20150819
BADI SE19:ZINVOICE_UPDATE MIRO发票检验过账好模拟时,检查采购订单line 是否有固定资产的行项目,如果有固定资产项目,则弹出提示框,提示消息:存在规定资产采购项目! ...
- SD卡 模拟SPI总线控制流程
SD卡为移动设备提供了安全的,大容量存储解决方法.它本身可以通过两种总线模式和MCU进行数据传输,一种是称为SD BUS的4位串行数据模式,另一种就是大家熟知的4线SPI Bus模式.一些廉价,低端的 ...
- [SAP ABAP开发技术总结]增强Enhancement
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
- SAP 常用增强记录文档
转自:http://blog.csdn.net/budaha 20170215需要一个PR 修改保存时候的增强,目的是同步PR的处理状态 EBAN-STATU 到一个自建表ZTPRTOPO,记得有个P ...
- 增强采样软件PLUMED的安装与使用
技术背景 增强采样(Enhanced Sampling)是一种在分子动力学模拟中常用的技术,其作用是帮助我们更加快速的在时间轴上找到尽可能多的体系结构及其对应的能量.比如一个氢气的燃烧反应,在中间过程 ...
- Spring AOP(基于代理类的AOP实现)
#基于代理类的AOP实现:step1: 1 package com.sjl.factorybean; /**切面类*/ import org.aopalliance.intercept.MethodI ...
- JDK和CGLIB动态代理原理
1.JDK动态代理利用拦截器(拦截器必须实现InvocationHanlder)加上反射机制生成一个实现代理接口的匿名类, 在调用具体方法前调用InvokeHandler来处理. 2.CGLiB动态代 ...
随机推荐
- python列表之部分列表——切片
目录 切片 全索引 半索引 负数索引 遍历切片 复制列表 切片 全索引 我们平常可能需要使用一个列表中的子列表,也就是部分元素,这个时候我们就需要用到切片这个功能啦 要创建切片,就如同range()函 ...
- zookeeper JavaAPI 操作-watch监听
1.NodeCache监听代码: @Test public void testNodeCache() throws Exception { //1.创建NodeCache对象 NodeCache no ...
- 解决OpenCV3+VS2015(VS2017)运行时出现debug error abort()has been called的问题
问题描述: 在windows平台上安装opencv后,测试一张图片时,出现了debug error abort()has been called的问题 环境: vs2015 windows 10 op ...
- bash shell笔记整理——basename和dirname命令
bashname命令作用 去掉给定name的目录部分,如果指定了 SUFFIX, 就 同时去掉SUFFIX(后缀).具体看示例吧. bashname语法 Usage: basename NAME [S ...
- HTML5 Video 控件如何使用?
HTML5 提供了 <video> 元素,用于在网页上嵌入和播放视频.以下是如何使用HTML5 <video> 控件的基本步骤: 添加<video>元素: 在HTM ...
- BlockCanary原理解析
一.背景 为了解决应卡顿,分析耗时. 二.原理 Looper中的loop方法: public static void loop() { ... for (;;) { ... // This must ...
- 你真的会用 npx 吗❓❓❓
Hello,大家好! 日常开发中大家应该经常使用 npm install xxx 来安装包依赖,那是否注意到npm升级到 npm@5.2.0 之后,在 npm 二进制命令旁边安装了一个 npx 二进制 ...
- 文心一言 VS 讯飞星火 VS chatgpt (32)-- 算法导论5.2 4题
四.利用指示器随机变量来解如下的帽子核对问题(hat-heck problem):n位顾客,他们每个人给餐厅核对帽子的服务生一顶帽子.服务生以随机顺序将帽子归还给顾客.请问拿到自己帽子的客户的期望数是 ...
- 16、Flutter Wrap组件 实现流布局
Wrap可以实现流布局,单行的Wrap跟Row表现几乎一致,单列的Wrap则跟Column表现几乎一致.但 Row与Column都是单行单列的,Wrap则突破了这个限制,mainAxis上空间不足时, ...
- 作为所有类的顶层父类,没想到Object的魔力如此之大!
写在开头 在上一篇博文中我们提到了Java面向对象的四大特性,其中谈及"抽象"特性时做了一个引子,引出今天的主人公Object,作为所有类的顶级父类,Object被视为是James ...