一、生产订单入库

MIGO根据生产订单入库时,将生产订单中的字段,写入到批次特性中

二、BADI:MB_MIGO_BADI

调用BADI中的IF_EX_MB_MIGO_BADI~POST_DOCUMENT方法

"-----------------------------------------@斌将军--------------------------------------------
METHOD if_ex_mb_migo_badi~post_document."MIGO生产订单入库时产品编号写入批次特性DATA: ls_mseg TYPE mseg.DATA: lv_object             TYPE bapi1003_key-object.DATA:gv_objek          TYPE cuobn,gs_objek          TYPE bapi1003_key-object,gv_obtab          TYPE tabelle,gv_klart          TYPE klassenart,gv_class          TYPE klasse_d,objectkey         TYPE bapi1003_key-object,gs_objectkeytable TYPE bapi1003_object_keys,gt_objectkeytable TYPE STANDARD TABLE OF bapi1003_object_keys,gt_values_char    TYPE TABLE OF bapi1003_alloc_values_char,gs_values_char    TYPE bapi1003_alloc_values_char,gt_values_num     TYPE TABLE OF bapi1003_alloc_values_num,gs_values_num     TYPE bapi1003_alloc_values_num,gt_values_curr    TYPE TABLE OF bapi1003_alloc_values_curr,gs_values_curr    TYPE bapi1003_alloc_values_curr,gs_status         TYPE bapi1003_key-status,gt_return         TYPE STANDARD TABLE OF bapiret2,gt_return2        TYPE STANDARD TABLE OF bapiret2,gt_return3        TYPE STANDARD TABLE OF bapiret2,gt_return4        TYPE STANDARD TABLE OF bapiret2,gs_return         TYPE bapiret2.DATA:return_message TYPE char200, "返回消息lv_value       TYPE char70,lv_check       TYPE char2.IF it_mseg[] IS NOT INITIAL.SELECTaufnr,zgh,zxzFROM aufkINTO TABLE @DATA(lt_aufk)FOR ALL ENTRIES IN @it_msegWHERE aufnr = @it_mseg-aufnr.ENDIF.LOOP AT it_mseg INTO ls_mseg WHERE charg IS NOT INITIALAND aufnr IS NOT INITIAL AND bwart = '101'AND ( werks = 'XXXX' OR werks =  'XXXX' ).READ TABLE lt_aufk INTO DATA(ls_aufk) WITH KEY aufnr = ls_mseg-aufnr.IF sy-subrc EQ 0.CLEAR:gv_objek,gv_obtab,gv_klart,gv_class.CALL FUNCTION 'VB_BATCH_2_CLASS_OBJECT'EXPORTINGi_matnr = ls_mseg-matnri_charg = ls_mseg-charg "批次i_werks = ls_mseg-werksIMPORTINGe_objek = gv_objeke_obtab = gv_obtabe_klart = gv_klarte_class = gv_class.IF gv_objek IS INITIAL AND gv_obtab IS INITIAL AND gv_klart IS INITIAL AND gv_class IS INITIAL.return_message = '批次维护失败:未查询到相关类别'.MESSAGE e001(00) WITH return_message.ENDIF."当批次创建成功,获取物料和批次,获取key值FREE:gt_objectkeytable.CLEAR : gs_objectkeytable.gs_objectkeytable-key_field = 'MATNR'.gs_objectkeytable-value_int = ls_mseg-matnr."物料APPEND gs_objectkeytable TO gt_objectkeytable.CLEAR : gs_objectkeytable.gs_objectkeytable-key_field = 'WERKS'.gs_objectkeytable-value_int = ls_mseg-werks.APPEND gs_objectkeytable TO gt_objectkeytable.CLEAR : gs_objectkeytable.gs_objectkeytable-key_field = 'CHARG'.gs_objectkeytable-value_int = ls_mseg-charg.APPEND gs_objectkeytable TO gt_objectkeytable.FREE gt_return.CLEAR:objectkey.CALL FUNCTION 'BAPI_OBJCL_CONCATENATEKEY'EXPORTINGobjecttable    = gv_obtab "表名IMPORTINGobjectkey_conc = objectkeyTABLESobjectkeytable = gt_objectkeytablereturn         = gt_return.LOOP AT gt_return INTO gs_return WHERE type CA 'EAX'.return_message = '批次维护失败:未查询到分类密钥'.MESSAGE e001(00) WITH return_message.ENDLOOP."获取特征REFRESH:gt_values_num[], gt_values_char[], gt_values_curr[],gt_return[].gs_objek = objectkey.CALL FUNCTION 'BAPI_OBJCL_GETDETAIL'EXPORTINGobjectkey       = gs_objekobjecttable     = gv_obtabclassnum        = gv_classclasstype       = gv_klart
*      IMPORTING
*           status          = gs_statusTABLESallocvaluesnum  = gt_values_numallocvalueschar = gt_values_charallocvaluescurr = gt_values_currreturn          = gt_return.READ TABLE gt_values_char ASSIGNING FIELD-SYMBOL(<fs_char>) WITH KEY charact = 'ZPP_ZGH'.IF sy-subrc EQ 0.CLEAR:lv_value.lv_value = ls_aufk-zgh.<fs_char>-value_char = lv_value.<fs_char>-value_neutral = lv_value.<fs_char>-value_char_long = lv_value.<fs_char>-value_neutral_long = lv_value.ELSE.CLEAR gs_values_char.gs_values_char-charact = 'ZPP_ZGH'."产品编号gs_values_char-value_char = ls_aufk-zgh.APPEND gs_values_char TO gt_values_char.ENDIF.READ TABLE gt_values_char ASSIGNING <fs_char> WITH KEY charact = 'ZPP_ZXZ'.IF sy-subrc EQ 0.CLEAR:lv_value.lv_value = ls_aufk-zxz.<fs_char>-value_char = lv_value.<fs_char>-value_neutral = lv_value.<fs_char>-value_char_long = lv_value.<fs_char>-value_neutral_long = lv_value.ELSE.CLEAR gs_values_char.gs_values_char-charact = 'ZPP_ZXZ'."行走机构编号gs_values_char-value_char = ls_aufk-zxz.APPEND gs_values_char TO gt_values_char.ENDIF."更新特征值FREE:gt_return.CALL FUNCTION 'BAPI_OBJCL_CHANGE'EXPORTINGobjectkey          = objectkeyobjecttable        = gv_obtabclassnum           = gv_classclasstype          = gv_klart
*           status             = gs_statusTABLESallocvaluesnumnew  = gt_values_numallocvaluescharnew = gt_values_charallocvaluescurrnew = gt_values_currreturn             = gt_return.lv_check = 'S'.return_message = '批次维护失败:'.LOOP AT gt_return INTO gs_return WHERE type CA 'AEX'.CONCATENATE return_message gs_return-message INTO return_message.lv_check = 'E'.CLEAR:gs_return.ENDLOOP.IF lv_check = 'S'.CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'EXPORTINGwait = 'X'.ELSE.CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.MESSAGE e001(00) WITH return_message.ENDIF.ENDIF.ENDLOOP.ENDMETHOD.
"-----------------------------------------@斌将军--------------------------------------------

MIGO生产订单入库写入批次特性增强相关推荐

  1. SAP MIGO生产订单入库校验BADI增强MB_MIGO_BADI

    SAP MIGO生产订单入库校验BADI增强MB_MIGO_BADI 1. 创建BADI增强实施 2.修改增强实施 3.生产订单MIGO过账效果 1. 创建BADI增强实施 SE19->创建BA ...

  2. SAP MIGO批次特性增强

    MIGO采购订单收货时,当点击分类按钮,给为空的特性赋默认值,数据保存在全局内表WS中,具体代码如下: 增强点: 包含文件 LCTMSF3Z ,FORM结尾处实施隐式增强,增强代码如下 *采购订单收货 ...

  3. 【增强】批次特性增强案例

    收货批次增强 [背景] 现在有如下一个需求,需要在生产订单收货(事务代码:MB31/MIGO)的时候将入库日期.相关规格.经办人等信息写入到收货批次特性中,方便后续进行查询统计. [前提] 这里假如我 ...

  4. 【SAP ABAP 生产订单修改组件需求用量增强】

    @ABAP 需求: 由于标准生产订单组件用量的获取方式无法满足业务,需要嵌入自定义表数据进行运算得出新的组件用量,注意:此增强只能再保存时触发组件用量的变更. 实现增强: 1.COMD 出口 PPCO ...

  5. SAP ABAP 批次特性必输项校验BADI CACL_MAIN01

    批次特性设置必输,根据MRP控制者确定哪些特性无需必输. FIELD-SYMBOLS:<FS_RESULT> TYPE DFBATCH.FIELD-SYMBOLS:<FS_MSEG& ...

  6. SAP 生产订单结算

    要熟悉生产订单的核算,首先需要了解生产成本科目的设置.在SAP系统中,一般都会设置一个"生产成本转出"的科目(可以将它看作是生产成本科目的二级科目),在对生产订单收货的时候,借:库 ...

  7. 成本对象(生产订单)控制

    一.生产定单相关的同步成本核算 同步成本核算的概念 计划成本的计算 目标成本的计算 实际成本的计算 同步成本核算的概念 在订单相关的生产中,生产订单是成本核算对象(相当于传统会计中"生产成本 ...

  8. SAP区分采购订单入库和转储订单入库

    近期采购有统计原料采购入库数量统计需求,想到利用物料凭证后台表MSEG统计时间范围内移动类型为101和102的过账数量的统计求和,但是由于采购订单入库.转储订单入库和生产订单入库没有区分移动类型,导致 ...

  9. MIGO/CO11N 批次创建增强 自定义批次号创建规则

    MIGO/CO11N 批次创建增强 在MIGO和CO11N中实现自动带出自定义规则的批次号,实现批次增强,如下所示: 输入采购凭证时批次为空 实现效果:在点击下方的"项目确定"并点 ...

最新文章

  1. PAT(甲级)2018年秋季考试 7-1 Werewolf - Simple Version
  2. android 缓存文件目录在哪个文件夹里,Android 文件目录存储介绍 缓存目录 | 私有目录 | 系统根目录 | 用户可见目录...
  3. VC++ 获取文件属性创建时间、修改时间和访问时间
  4. 读书笔记---编译程序中的三板斧
  5. 在线阅读计算机组成,计算机组成原理RAM.pdf
  6. 操作系统上机题目(多线程1)
  7. HTML 网页页面切换的各种变换效果
  8. hibernate 乐观锁与悲观锁使用
  9. mysqli_connect函数未开启_CRMEB打通版linux系统部署客服开启长链接不成功
  10. 如何编写游戏辅助工具
  11. OpenCV C++案例实战十《车牌号识别》
  12. dns入门之MX记录
  13. C语言malloc函数的用法
  14. MacBook Pro 开机密码忘记的解决办法
  15. 1.模态分析是什么?为什么采用模态分析?
  16. 现代女生令我们如此失望
  17. 武汉理工大学计算机学院转专业细则,武汉理工大学本科四条途径调整专业
  18. 工业革命的秋之涟漪(二):从飞桨,走向深度学习产业实践
  19. 用C语言 判断成绩是否合格
  20. java中Boolean和boolean的区别

热门文章

  1. 财政部将加强金融企业财务管理
  2. 三个bypass案例分享
  3. Linux 各类设置、配置、使用技巧参考,Linux使用集锦
  4. 关于pulseaudio的一些总结
  5. 计算机平面设计必学英语,40个Fireworks学习英文教程
  6. 【工具使用】Fireworks基本使用
  7. 江小白:情怀之下,举步维艰
  8. [Visual Assist]快速创建实现
  9. 【深度学习】如何封装可维护的restiful api
  10. 西游记中观世音菩萨的三个箍