首页 > 其他分享 >一个关于SAP B1冻结手动过账的存储过程控制

一个关于SAP B1冻结手动过账的存储过程控制

时间:2024-11-13 10:46:20浏览次数:3  
标签:库存 T0 过账 B1 error SAP SELECT 科目

  1. SAP Business one里如果启用了永续盘存,并且使用的移动平均的成本计价方式,建议对库存科目冻结手动过账,方式库存明细账跟科目余额不一致。
  2. 在SAP里对每个库存科目,勾上【冻结手动过账】如下图所示:在这里插入图片描述
  3. 然后为了防呆,建议再从存储过程里增加控制。
  4. HANA版本的SQL代码:
----库存科目不允许手动过账
IF :object_type = N'1' and :transaction_type IN ('A','U') THEN
	SELECT COUNT(*) INTO error 
	FROM OACT T0 
	WHERE T0."AcctCode" IN (
							--物料组里设置的【库存科目】
							SELECT DISTINCT "BalInvntAc" FROM OITB
							UNION ALL
							--仓库里设置的【库存科目】
							SELECT DISTINCT "BalInvntAc" FROM OWHS
							UNION ALL
							--物料主数据的物料级别里设置的【库存科目】
							SELECT DISTINCT "BalInvntAc" FROM OITW
							)
	AND T0."BlocManPos" <> 'Y';
	
	IF error > 0
	THEN 
		error := 1;
		error_message := '[SBO_SP_OACT_Control]_101.库存科目必需勾选【冻结手动过账】,请核实!';
	END IF;
END IF;

----库存重估不允许选择【冻结手动过账】的科目
IF :object_type = N'162' and :transaction_type IN ('A','U') THEN
	SELECT COUNT(*) INTO error 
	FROM MRV1 T0 
	WHERE T0."DocEntry" = :list_of_cols_val_tab_del
	AND 
	(
	T0."RIncmAcct" IN (SELECT "AcctCode" FROM OACT WHERE "BlocManPos" = 'Y')
	OR 
	T0."RDcrmAcct" IN (SELECT "AcctCode" FROM OACT WHERE "BlocManPos" = 'Y')
	);
	
	IF error > 0
	THEN 
		error := 1;
		error_message := '[SBO_SP_OMRV_Control]_101.【总账增加科目】和【总账减少科目】不得选择库存科目,请核实!';
	END IF;
END IF;
  1. SQL版本的SQL代码:
----库存科目不允许手动过账
IF @object_type = N'1' AND @transaction_type IN ('A','U') 
BEGIN
	IF EXISTS (
	SELECT 1
	FROM OACT T0 
	WHERE T0."AcctCode" IN (
							--物料组里设置的【库存科目】
							SELECT DISTINCT "BalInvntAc" FROM OITB
							UNION ALL
							--仓库里设置的【库存科目】
							SELECT DISTINCT "BalInvntAc" FROM OWHS
							UNION ALL
							--物料主数据的物料级别里设置的【库存科目】
							SELECT DISTINCT "BalInvntAc" FROM OITW
							)
	AND T0."BlocManPos" <> 'Y')
	BEGIN
		SET @error = 1;
		SET @error_message = '[SBO_SP_OACT_Control]_101.库存科目必需勾选【冻结手动过账】,请核实!';
	END;
END;

----库存重估不允许选择【冻结手动过账】的科目
IF @object_type = N'162' and @transaction_type IN ('A','U') 
BEGIN
	IF EXISTS (
	SELECT 1
	FROM MRV1 T0 
	WHERE T0."DocEntry" = @list_of_cols_val_tab_del
	AND 
	(
	T0."RIncmAcct" IN (SELECT "AcctCode" FROM OACT WHERE "BlocManPos" = 'Y')
	OR 
	T0."RDcrmAcct" IN (SELECT "AcctCode" FROM OACT WHERE "BlocManPos" = 'Y')
	))
	
	BEGIN
		SET @error = 1;
		SET @error_message = '[SBO_SP_OMRV_Control]_101.【总账增加科目】和【总账减少科目】不得选择库存科目,请核实!';
	END;
END;

以上代码仅提供一种思路,请以实际情况为准!

标签:库存,T0,过账,B1,error,SAP,SELECT,科目
From: https://blog.csdn.net/IT_XBNMG/article/details/143707773

相关文章

  • WhatsApp营销:5个技巧轻松强化客户关系
    WhatsApp作为在全球拥有超过20亿用户的社交通讯平台,已经成为大量品牌和卖家与客户沟通和交互的重要渠道。对于以一些WhatsApp使用率高的热门地域为主要目标市场的品牌和卖家来说,WhatsApp是营销必备工具,进一步提高WhatsApp营销效率和效果也成为重要课题。一、WhatsApp营销的优......
  • OS-Application (OSAP)
    OSAPisdefinedasacollectionofOSobjects(Task,ISR,Alarm,ScheduleTable,TrustedFunction,Counter,Application-specifichook).AnOSAPisassignedtoaspecificcore,andallofitsOSobjectsrunonthatcore.MultipleOSAPscanbedefinedandar......
  • 如何查看 SAP ABAP Kernel Module 的源代码
    StackOverflow上有个网友提问,想查看ABAP系统生成UUID方法,在KernelModulepf_create_uuid16c32里实现的源代码:https://stackoverflow.com/questions/42110195/how-to-open-kernel-module-in-abap笔者之前的文章提到,类似上图高亮这种ABAPKernelModule,通过C语......
  • [CISCN2019 华北赛区 Day2 Web1]Hack World
    题目链接:[CISCN2019华北赛区Day2Web1]HackWorld。打开环境后如下所示。尝试输入1、2、3、4、...,发现仅存在三种结果。即1时,输出"Hello,glzjinwantsagirlfriend."。2时,输出"Doyouwanttobemygirlfriend?"。其他,输出"ErrorOccuredWhenFetchResult."。......
  • [CISCN2019 华北赛区 Day2 Web1]Hack World 1
    [CISCN2019华北赛区Day2Web1]HackWorld1打开实例发现是个POST注入框盲猜SQL注入,万能密码检测无果,而且经过测试存在大量sql关键字过滤尝试使用(),出现了bool(false),确定这是一道布尔注入题and被禁用,决定采用异或^注入构建payload脚本梭哈:成功获得flag:flag{a2f7089......
  • 具有低开关损耗的: FF100R12W1T7EB11 FF300R12ME7PB11 FF75R12W1T7EB11 FF800R12KE7PE
    关于英飞凌IGBT模块:这些产品组合包括不同的先进IGBT功率模块产品系列,它们拥有不同的电路结构、芯片配置和电流电压等级,适用于几乎所有应用。市场知名的62mm、Easy和Econo系列、IHM/IHVB系列、PrimePACK™和XHP™系列功率模块都采用了最新的IGBT技术。它们有斩波器、DUAL、PIM......
  • SAP Business One:中小企业数字化转型的加速器
    在竞争日益激烈的市场环境中,中小企业要实现稳健发展,就必须注重提升自身的管理效能与运营效率。SAPBusinessOne(简称SAPB1)作为一款专为中小企业量身定制的企业资源规划(ERP)解决方案,凭借其全面的业务功能、高度的易用性和出色的可扩展性,在全球范围内赢得了广泛的认可与信赖。本文将......
  • SAP Business One市场价格解析
    SAPBusinessOne,作为一款专为中小企业量身打造的ERP管理软件,凭借其全面的功能覆盖、高效的数据处理能力和出色的用户体验,在业界赢得了广泛的认可与好评。本文将深入探讨SAPBusinessOne的市场价格体系,为您提供全面的价格参考。   一、价格区间概览对于中小企业而言,SAPB......
  • DB157S-ASEMI小贴片整流桥DB157S
    编辑:llDB157S-ASEMI小贴片整流桥DB157S型号:DB157S品牌:ASEMI封装:DBS-4特性:贴片桥堆正向电流:1.5A反向耐压:1000V恢复时间:>2000ns引脚数量:4芯片个数:4芯片尺寸:50MIL浪涌电流:50A漏电流:>10uA工作温度:-55℃~150℃包装方式:3k/盘;30k/箱备受欢迎的DB157S整流桥ASEMI品牌DB157......
  • 推荐一款业内领先的建模工具:SAP PowerDesigner
    SAPPowerDesigner是一款业内领先的建模工具,帮助您改进商务智能,打造更卓越的信息架构。通过该软件的元数据管理功能,可以构建关键信息资产的360度全方位视图,从而使数据管理、BI、数据集成和数据整合工作大获裨益。其分析功能有助于整个信息架构中进行相关变更时,缩短时间,降低风......