
SAP-ABAP-Function
文章平均质量分 62
rarenmen
这个作者很懒,什么都没留下…
展开
-
说一说BAPI_MATERIAL_SAVEDATA的使用过程
我的需求是修改物料的数据,具体需求是改原料和辅料的标准价格。百度之后确定用这个BAPI。BAPI_MATERIAL_SAVEDATA价格类型是V的物料,在MM02里,是允许直接修改标准价格的,但是有个前提是不能存在标准成本评估。这个BAPI的参数的截图,我放在文末了,图1-图3。接下来着重说一下这次使用的过程中遇到的坑。第一个目标,看能不能实现和在MM03里一致,实现修改一个存在标准成本评估的物料时候,会返回一个和MM02里一样的提示。第一步处理导入参数中的HEADDATA,结构如图4。原创 2021-12-25 16:18:03 · 5452 阅读 · 4 评论 -
BAPI_GOODSMVT_CREATE
我想,搜到这篇文章的朋友,都用过,或者准备用BAPI_GOODSMVT_CREATE方法。由于时间的关系,我就不复述这个方法怎么用了。说点儿我遇到的问题。应用场景:把已经投到生产订单1中的物料,从生产订单1中冲销出来,直接投到生产订单2中。起初是调用两次BAPI_GOODSMVT_CREATE方法,分别去生成冲销物料凭证和投料物料凭证。但这种方法遇到了问题,例如冲销凭证生成之后,投料凭证生成失败了。其实就是没处理好事务。所以,就想能不能在一张物料凭证里,即生成移动类型是261的明细,又生成移动类原创 2021-10-11 14:37:11 · 1612 阅读 · 0 评论 -
第一次处理一个增强
好久没来写东西了,原因无非是最近比较忙。今天第一次处理增强,心里小激动。所以特此把过程记录了一下。事情的起因是我想在调用BAPI_GOODSMVT_CREATE生成物料凭证的时候,为凭证行去写一个备注。第一步我去看了表参数里的GOODSMVT_SERIALNUMBER,它对应的数据类型里有列叫ITEM_TEXT,字符型,长度50,短描述叫项目文本,就想拿它试一下。在我写的Function里,把对应的字段给赋了个值,测试了一下,然而没有达到预期的效果。那就去MIGO里做个凭证,给行项目写一原创 2021-09-24 12:34:46 · 603 阅读 · 0 评论 -
ME33K里的合同号怎么传
昨天处理了向VA43传参数不对的问题,今天又遇到了向ME33K里传参数不对的情况。而且ME33K里,协议编号的帮助文档里并没有提供什么有用的信息。思考了一下,还是从现有的能得到的信息为线索去找答案。那么先看看“协议编号”的技术信息。图1先说参数ID,之前看过一些文章,可能是我误解了,我的理解是参数ID是对应这个控件的MEMORYID,程序里没有搜到”MEMORYID“字样,随后发现参数ID是定义在数据元素里的一个值。可能是我之前对MEMORY ID和SETPARAMETERID的两种用法...原创 2021-07-23 15:50:09 · 297 阅读 · 0 评论 -
VA43里的合同号怎么传
故事的背景是从一个ALV开始的,需求是展示销售合同。数据的来源是透明表VBAK里,vbtyp = 'G'的全部记录。再去按各个code字段,去取对应的文本过来展示。并不复杂。做到双击合同编号跳转到VA43里展示具体合同的时候,问题出来了。过程是这样的。打开VA43,把光标定在了合同文本框里,按F1,点技术按钮,打开了图1的界面。记录下来了参数ID。图1回到报表里完善代码。SETPARAMETERID'AUN'FIELDwa-vbeln.CALLTRANSACTION...原创 2021-07-22 15:29:19 · 311 阅读 · 0 评论 -
获取工序状态的function
函数实现的功能挺简单的,传入了两个参数,分别是生产订单号和行号。传出的参数有三个,分别是拼接好工序状态、状态、信息。如果用所传入的生产订单号、行号找到状态,就视为成功,并开始拼接状态,这里我用的是状态编码,并没有用状态文本,是为了看CO03中工序界面展示效果保持一致。如果想显示名称,把txt04换成txt30即可。具体代码如下。第一次写function,刚刚激活成功,还不知道在应用中会发生什么样的问题,也不知道是不是还有需要优化的代码,请大佬们指正。FUNCTION zppfun001原创 2021-04-27 16:21:38 · 171 阅读 · 0 评论