2020-08-22 13:10发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨朋友,
我在Z表中使用数字范围(数字)。 当2个线程同时读取相同的SELECT查询时,会将相同的编号分配给必需的变量。 您能帮我解决问题吗?
谢谢
Balaji.T。
您的问题符合ACID原则( https://zh-CN。 wikipedia.org/wiki/ACID )。
从线程2的角度来看,数据库的行为就像线程1不在那里。 因此,这两个访问需要序列化。 线程2仅在线程1完成号码提取后才被允许选择号码。 如果您需要确保Z表中没有缺失的数字(线程1带有数字,但是无法完成),则需要进行进一步的序列化。
线程的哪些部分需要序列化在很大程度上取决于函数的需求。
亲爱的Balaji
如果您不使用数字范围对象。 ...
尝试在select语句后使用锁。
选择* FROM ZMAT_XYZ进行更新......
确保您发出提交语句以释放锁
注意事项
Venkat
SAP为此提供了标准的数字范围功能,此博客可以帮助您入门: https://blogs.sap.com/2015/05/29/number-ranges-things-to-keep-in-mind /
数字范围不是Z表的替代方法,它可以简化Z表使用的新数字的生成。
P.S。 请使用评论按钮来答复答案。 "提交您的答案"旨在为原始问题添加新的答案。 阅读"回答之前"。
正如耶利娜所说:"请使用评论按钮回答答案。"提交您的答案"是为原始问题添加新答案。请阅读" 回答"之前。"
嗨,迈克尔,
感谢您的快速答复。 我是SAP ABAP中序列化概念的新手。 请帮助我在下面进行序列化选择查询(Z表:具有数字范围值的ZMAT_XYZ)。 这是我在ABAP代码中使用的选择查询。
选择ean_category序列前缀阈值状态插入表的对应字段lt_ean_data 从ZMAT_XYZ ean_category ='UC'。
如您所知,第二个线程正在使用与第一个线程中存在的内部表(LT_EAN_DATA)相同的数据。 因此,第二线程最终失败了。
抱歉,这与OP的问题有什么关系? 这是关于在Z表中分配一个数字。 我已经阅读了所有注释,但无法理解这与MM01有什么关系。
最多设置5个标签!
您的问题符合ACID原则( https://zh-CN。 wikipedia.org/wiki/ACID )。
从线程2的角度来看,数据库的行为就像线程1不在那里。 因此,这两个访问需要序列化。 线程2仅在线程1完成号码提取后才被允许选择号码。 如果您需要确保Z表中没有缺失的数字(线程1带有数字,但是无法完成),则需要进行进一步的序列化。
线程的哪些部分需要序列化在很大程度上取决于函数的需求。
亲爱的Balaji
如果您不使用数字范围对象。 ...
尝试在select语句后使用锁。
选择* FROM ZMAT_XYZ进行更新......
确保您发出提交语句以释放锁
注意事项
Venkat
SAP为此提供了标准的数字范围功能,此博客可以帮助您入门: https://blogs.sap.com/2015/05/29/number-ranges-things-to-keep-in-mind /
数字范围不是Z表的替代方法,它可以简化Z表使用的新数字的生成。
P.S。 请使用评论按钮来答复答案。 "提交您的答案"旨在为原始问题添加新的答案。 阅读"回答之前"。
正如耶利娜所说:"请使用评论按钮回答答案。"提交您的答案"是为原始问题添加新答案。请阅读" 回答"之前。"
嗨,迈克尔,
感谢您的快速答复。 我是SAP ABAP中序列化概念的新手。 请帮助我在下面进行序列化选择查询(Z表:具有数字范围值的ZMAT_XYZ)。 这是我在ABAP代码中使用的选择查询。
选择ean_category序列前缀阈值状态
插入表的对应字段lt_ean_data
从ZMAT_XYZ
ean_category ='UC'。
如您所知,第二个线程正在使用与第一个线程中存在的内部表(LT_EAN_DATA)相同的数据。 因此,第二线程最终失败了。
谢谢
Balaji.T。
抱歉,这与OP的问题有什么关系? 这是关于在Z表中分配一个数字。 我已经阅读了所有注释,但无法理解这与MM01有什么关系。
一周热门 更多>