一、业务流程中需要进行信用模拟检查,但逻辑梳理较为复杂,因此借用交货单创建时信用检查逻辑。但是当交货单信用检查通过时,不创建交货单,因此需要对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 信用模拟检查增强的更多相关文章

  1. 003 F-47创建预付定金请求检查增强-20150819.docx

    Enhancement SE38:LEINRF26   操作F-47,预付定金请求回车时,检查输入的采购订单项目发票视图,预付定金% 栏位,若为空,则报错,不为空可继续.   检查逻辑:检查采购凭证项 ...

  2. SAP SD 信用检查相关

    SAP系统信用管理功能的介绍:    R/3系统具有强大的信用管理功能.系统可将来自于FI.SD的财务及销售信息进行汇总, 提供即时的信用数据;并可依据信用政策对订单及发货进行管理,有效地降低风险;并 ...

  3. 野火STM32 Flash&sd卡模拟U盘

    在USB库文件mass_mal.c中添加对flash和sd读写的函数,USB库调用这些函数从而实现模拟U盘的功能 //mass_mal.c /* Includes ------------------ ...

  4. 002 MIRO发票校验采购订单项目科目分配类别检查增强-20150819

    BADI SE19:ZINVOICE_UPDATE   MIRO发票检验过账好模拟时,检查采购订单line 是否有固定资产的行项目,如果有固定资产项目,则弹出提示框,提示消息:存在规定资产采购项目! ...

  5. SD卡 模拟SPI总线控制流程

    SD卡为移动设备提供了安全的,大容量存储解决方法.它本身可以通过两种总线模式和MCU进行数据传输,一种是称为SD BUS的4位串行数据模式,另一种就是大家熟知的4线SPI Bus模式.一些廉价,低端的 ...

  6. [SAP ABAP开发技术总结]增强Enhancement

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  7. SAP 常用增强记录文档

    转自:http://blog.csdn.net/budaha 20170215需要一个PR 修改保存时候的增强,目的是同步PR的处理状态 EBAN-STATU 到一个自建表ZTPRTOPO,记得有个P ...

  8. 增强采样软件PLUMED的安装与使用

    技术背景 增强采样(Enhanced Sampling)是一种在分子动力学模拟中常用的技术,其作用是帮助我们更加快速的在时间轴上找到尽可能多的体系结构及其对应的能量.比如一个氢气的燃烧反应,在中间过程 ...

  9. Spring AOP(基于代理类的AOP实现)

    #基于代理类的AOP实现:step1: 1 package com.sjl.factorybean; /**切面类*/ import org.aopalliance.intercept.MethodI ...

  10. JDK和CGLIB动态代理原理

    1.JDK动态代理利用拦截器(拦截器必须实现InvocationHanlder)加上反射机制生成一个实现代理接口的匿名类, 在调用具体方法前调用InvokeHandler来处理. 2.CGLiB动态代 ...

随机推荐

  1. windows10 使用 USB 无线网卡的热点功能

    一.概述 在某宝上买了一个 COMFAST CF-727B 的无线模块,由于笔记本电脑一直使用不上,所以放了很久.多年后我来到了一个公司,遇到了我此生最想吐槽的网管,简直不敢想象几十人的办公室,居然能 ...

  2. Codeforces Round #702 (Div. 3) 题解

    写在前边 链接:Codeforces Round #702 (Div. 3) 比较简单,但是总是感觉脑子有点转不过弯来. A. Dense Array 链接:A题链接 题目大意: 在数组中插入若干个数 ...

  3. Java笔记——数组静态初始化开始

    一维数组: 静态初始化: 定义格式:(1)数据类型[] 数组名 = new 数组类型[] (2)数组类型[] 数组名 ={元素1,元素2,.....} 练习:数组元素逆序: public static ...

  4. 【源码系列#02】Vue3响应式原理(Effect)

    专栏分享:vue2源码专栏,vue3源码专栏,vue router源码专栏,玩具项目专栏,硬核推荐 欢迎各位ITer关注点赞收藏 Vue3中响应数据核心是 reactive , reactive 的实 ...

  5. Go切片是值传递还是引用传递?

    Go没有引用传递和引用类型!!! 很多人有个误区,认为涉及Go切片的参数是引用传递,或者经常听到Go切片是引用类型这种说法,今天我们就来说一下方面的问题. 什么是值传递? 将实参的值传递给形参,形参是 ...

  6. [ARC161F] Everywhere is Sparser than Whole (Judge)

    Problem Statement We define the density of a non-empty simple undirected graph as $\displaystyle\fra ...

  7. spring cloud生态中Feign、Ribbon、loadbalancer的一些历史

    背景 本意是想写个feign中loadbalancer组件和nacos相遇后,一个兼容相关的问题,后面发现Feign这套东西很深,想一篇文章写清楚很难,就先开一篇,讲历史. Feign.OpenFei ...

  8. SpringBoot-Validation优雅实现参数校验

    1.是什么? 它简化了 Java Bean Validation 的集成.Java Bean Validation 通过 JSR 380,也称为 Bean Validation 2.0,是一种标准化的 ...

  9. 如何将3D模型导入可视化大屏系统中,并实现可交互的数字孪生大屏效果?

    首先我们需要准备一款数字孪生软件,本文中使用的是山海鲸可视化数字孪生软件,这是一款免费的零代码数字孪生大屏开发平台软件. 下载完成后打开山海鲸可视化,点击新建来创建一个大屏项目. 我们可以根据自己的需 ...

  10. MES系统怎么实现车间管理中的生产计划和排产计划

    生产计划和排产计划都是制造企业中非常重要的概念,它们的目的是为了确保企业能够按时交付高质量的产品,同时还要保持生产效率和成本效益. 一.生产计划 生产计划是指制造企业为了满足客户需求而制定的计划,它包 ...