SAP QM 高阶之Physical Sample Management
Part I : Physical Sample Management功能简介
SAP QM模块中的Physical Sample Management是制药/食品/化工等流程行业中通常使用的功能。
它可提供以下三种类型的Physical Sample(物理样本):
Primary samples(原始样本)直接从总体或检验批中提取。
Pooled samples(混合样本)是通过合并主样本创建的。
Reserve samples(保留样本)是保留为样本的原始样本。
上述三种样品的取样数量通过Sample Drawing Procedure.计算。
举例说明上述三种样本的区别:
假设某企业从一个供应商那里收到了一种物料,1000升物料装在两个容器中,每个容器500升。现在质量部门必须检验这种物料。所以QA需要从每个容器中提取样本,假设QA从每个容器中提取10升。因此,当我从每个容器中取样时,Primary samples将变成两个(每个10L)。Primary samples是直接从检验批数量中抽取的样品。现在,将上述两个Primary samples混合,制成Pooled samples(混合样品)。在这个示例中,它将变为10+10=20 L。混合样本是通过混合Primary samples(原始样本)创建的。这些Pooled samples用于分析。Reserve samples(保留样本)直接从批次中提取,不用于立即分析。根据监管规范,它们被存储起来以备将来参考。通常,一旦物料到期,它们就会被销毁。在我们的情况下,假设2.5升被用于留样并储存。
Part II : Physical Sample Management功能展示
Physical Sample Management的主要Process Flow,有如下几个步骤:
-创建Sample Drawing Sample(QPV2)
-在检验计划中指定Sample Drawing Sample(QP01/QP02)
-创建检验批(QA01)
-检查创建的物理样本(QA03)
检验批结果记录(QA32/QE01)
使用决策(QA32/QA11)
如下物料用于展示Physical Sample Management功能。
1, 创建Sample Drawing Sample.
执行事务代码QPV2. 维护新条目ZSDP,
选中ZSDP item,
双击 Sample-drawing item, 进入如下界面,
点击new entries按钮,

保存.
2,在检验计划主数据的HEADER里指派inspection points (200) & Sample Drawing Procedure.

维护检验工序以及检验特性数据,保存,则检验计划组58被维护好了。
3,创建检验批。
这里使用手工创建方式,事务代码QA01,
指派检验计划组,
计算样品,
保存,
检验批号:890000000104
4, QA03看这个检验批,看其样品数据。


Physical sample的号码分别是:800000018-800000023。
5, 为检验批录入结果。
执行事务代码QE01, 输入检验批号码和工序号码0010,
回车,
系统自动切换到事务代码QE23, 如上图。
回车,
后续常规方式录入结果以及做使用决策即可。这里不再赘述。
注:本文基于SAP S4/HANA 1909系统。
-完-
写于2022-3-2
在学习Python之后,我现在正在尝试学习Ruby,但我在将这段代码转换为Ruby时遇到了问题:defcompose1(f,g):"""Returnafunctionh,suchthath(x)=f(g(x))."""defh(x):returnf(g(x))returnh我必须使用block来翻译吗?或者Ruby中是否有类似的语法? 最佳答案 您可以使用Ruby中的lambda执行此操作(我在这里使用的是1.9stabby-lambda):compose=->(f,g){->(x){f.(g.(x))}}所以compose是一个返
我在阅读有关.each迭代器的Ruby问题,有人说如果更高阶的迭代器更适合该任务,则使用.each可能会产生代码味道。Ruby中的高阶迭代器是什么?编辑:我提到的StackOverflow答案的作者JörgWMittag提到他是要编写更高级别的迭代器,但他还解释了下面的内容。 最佳答案 哎呀。我的意思是更高级别的迭代器,而不是更高阶的迭代器。当然,每个迭代器都是高阶的。基本上,迭代是一个非常低级的概念。编程的目的是与团队中的其他利益相关者交流意图。“初始化一个空数组,然后遍历另一个数组,并将该数组的当前元素添加到第一个数组中(如果该
我刚刚发现在我的React项目中使用HOC的惊人好处。我的问题是在一个组件上调用多个HOC函数会影响性能吗?示例exportdefaultwithState(withLabel(withTheme(MyComponent)))这当然只会渲染一个组件,但是看看我的react开发工具,我可以看到输出的HOC组件有三个层次。这是需要警惕的事情还是有更好的方法在组件上调用多个HOC? 最佳答案 你的语法相当于做:性能影响将取决于这些HOC的实现方式。您可能必须逐一查看。例子:ThemeProviderHOC通常在React上下文中存储一堆颜
我想实现一个更高阶的React组件,该组件可用于轻松跟踪任何React组件上的事件(如点击)。这样做的目的是轻松地将点击(和其他事件)连接到我们的第一方分析跟踪器中。我遇到的挑战是React合成事件系统需要事件(如onClick)绑定(bind)以响应DOM元素,如div。如果我包装的组件是自定义组件,就像通过高阶函数实现的每个HOC一样,我的点击事件不会正确绑定(bind)。例如,使用此HOC,onClick处理程序将为button1触发,但不会为button2触发。//HigherOrderComponentclassTrackextendsReact.Component{onCl
我正在尝试使用高阶组件(HOC)模式来重用一些连接到状态并使用ReduxFormformValueSelector方法的代码。formValueSelector需要一个引用表单名称的字符串。我想动态地设置它,并能够在我需要项目的值时使用这个HOC。我使用项目值进行计算。在下面的代码中,HOC传递了组件和字符串。我想将其设置为从父级(表单)传入的PropformName。我是HOC模式的新手,因此非常感谢任何提示。高级组织importReact,{Component}from'react';import{connect}from'react-redux';import{formValue
我创建了一个高阶组件/组合组件,以确保在加载组件之前对用户进行身份验证。这是非常基本的,但我在测试它时遇到了一些麻烦。我想测试以下几点,这与我在其他地方已经进行的测试类似:呈现组件(我通常通过查找特定于组件的className来检查)有正确的props(在我的例子中是authenticated)如果已通过身份验证,则呈现包装组件;如果未通过身份验证,则呈现nullHOC:importReactfrom'react';import{connect}from'react-redux';import{createStructuredSelector}from'reselect';import
我正在尝试访问我在reduce中使用reduce函数的数组的长度,但我似乎做不到,有没有人知道是否可以在任何高阶函数中访问数组对象?PS:我试过使用this但没有成功;PSS:我想使用reduce函数计算平均评分,所以我使用reduce对数组中的所有值求和并将这些相同的值除以数组长度,如下所示:letaverageRating=watchList.filter(movie=>movie.Director==='ChristopherNolan').map(x=>parseFloat(x.imdbRating)).reduce((total,current)=>total+(curren
谁能给我解释一下下面的代码是怎么回事。该函数正在接收n作为参数,那么m来自哪里?整个代码令人困惑。如果有人可以解释一下?functiongreaterThan(n){returnfunction(m){returnm>n;};}vargreaterThan10=greaterThan(10);console.log(greaterThan10(11));//→true 最佳答案 这展示了一种称为currying的函数式编程技术。.(也与partialfunctionappliction相关)大于>通常有2个参数(一个在左边,一个在右
我有一个像这样的小演示组件:functionMyList({data,uppercaseMe,lowercaseMe}){return{data.map(item=>{item}-uppercaseMe(item)}>Uppercaseme!lowercaseMe(item)}>Lowercaseme!)};}然后我想用三个HOC来装饰MyList:constWithData=(Component)=>{returnclassextendsReact.Component{constructor(props){super(props);this.state={data:['one','t
关闭。这个问题是notreproducibleorwascausedbytypos.它目前不接受答案。这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-topic在这里,这个问题的解决方式不太可能帮助future的读者。关闭3年前。Improvethisquestion重现此代码的方法如下:https://play.golang.org/p/ostuT1QFV4C**我正在尝试编写一个函数,允许我传递用于获取数据并将其转换为字符串的任何方法。这是为了更好地理解如何在Go中使用高阶函数的尝试。funcgetConfigsFunc(getDatafunc()([]by