当前位置: 首页 > news >正文

SAP Business One系统标准功能之外的不允许负库存控制

SqlServer版本写法:

--在存储过程SBO_SP_TransactionNotification里加上这段代码,记得定义一个全局变量用于接收提醒具体是哪个物料
IF @transaction_type IN ('A')
BEGIN
	IF EXISTS (
				SELECT 1 FROM OIVL T0
				INNER JOIN OITW T1 ON T0.ItemCode = T1.ItemCode AND T0.LocCode = T1.WhsCode
				WHERE T0.TransType = @object_type
				AND T0.CreatedBy = @list_of_cols_val_tab_del
				AND T1.OnHand < 0
				)
	BEGIN
		SELECT @JISHU = STUFF((SELECT DISTINCT '/' + CAST(A1.ItemCode AS nvarchar(10)) FROM
				(
				SELECT T0.ItemCode FROM OIVL T0
				INNER JOIN OITW T1 ON T0.ItemCode = T1.ItemCode AND T0.LocCode = T1.WhsCode
				WHERE T0.TransType = @object_type
				AND T0.CreatedBy = @list_of_cols_val_tab_del
				AND T1.OnHand < 0
				) A1
				FOR XML PATH('')),1,1,'')
		SET @error = @object_type;
		SET @error_message = N'物料【'+ @JISHU + N'】不允许负库存';
	END;
END;

HANA版本写法:

--在存储过程SBO_SP_TransactionNotification里加上这段代码,记得定义一个全局变量用于接收提醒具体是哪个物料
IF :transaction_type = 'A' THEN
	SELECT COUNT(*) INTO SAP_COUNT FROM OIVL T0
	INNER JOIN OITW T1 ON T0."ItemCode" = T1."ItemCode" AND T0."LocCode" = T1."WhsCode"
	WHERE T0."TransType" = object_type
	AND T0."CreatedBy" = list_of_cols_val_tab_del
	AND T1."OnHand" < 0;
	
	IF SAP_COUNT > 0 THEN
	SELECT STRING_AGG(CAST(T0."ItemCode" AS nvarchar(10)),'/') INTO JISHU  FROM
		(
		SELECT T0."ItemCode" FROM OIVL T0
		INNER JOIN OITW T1 ON T0."ItemCode" = T1."ItemCode" AND T0."LocCode" = T1."WhsCode"
		WHERE T0."TransType" = object_type
		AND T0."CreatedBy" = list_of_cols_val_tab_del
		AND T1."OnHand" < 0
		)T0;
		error := object_type;
		error_message := '物料【'||JISHU||'】变为负库存,单据不许添加';
	END IF;
END IF;

http://www.dtcms.com/a/123235.html

相关文章:

  • 使用 react-three-fiber 快速重构 Three.js 场景⚛️
  • 为什么ChatGPT选择SSE而非WebSocket?
  • 【车道线检测(0)】卷首语
  • Go 字符串四种拼接方式的性能对比
  • 从0到1的Python接口自动化学习路线
  • kimi 做关系图
  • 【论文精读与实现】EDC²-RAG:基于动态聚类的文档压缩方法提升检索增强生成RAG性能
  • DeepSeek:重构办公效率的AI新范式
  • PCL 点云随机采样(二)
  • 可发1区的超级创新思路(python 、MATLAB实现):基于SAM+Informer+2DCNN的功率预测模型
  • 数据结构--线性表顺序表示(上)
  • 串讲阶段111
  • tf坐标变换
  • 链路追踪组件学习
  • Git Cherry-pick:核心命令、实践详解
  • TOGAF之架构标准规范-技术架构
  • ADI的BF561双核DSP怎么做开发,我来说一说(十)驱动直流电机和步进电机
  • daz3d ERC Freeze to Morph Target 和 另存为 Morph Asset(s)
  • openstack搭建过程,脚本
  • 卷积神经网络 CNN 系列总结(二)---数据预处理、激活函数、梯度、损失函数、优化方法等
  • HDCP(四)
  • Python Cookbook-5.13 寻找子序列
  • 断言与反射——以golang为例
  • 深入剖析C++单例模式的八种实现演进与工程实践
  • 最新Ktransformers v0.24(Docker)并发部署DeepSeek-V3-0324模型
  • Cygwin编译安装Acise
  • 蓝桥杯省赛(2024)总结一下
  • 健康养生,铺就生命坦途
  • 深入理解 ResponseBodyAdvice 及其应用
  • Vue3+Vite+TypeScript+Element Plus开发-12.动态路由-配置