今天遇到个小问题,引以为戒。。。就复制代码过来吧

中间加了段查询的代码,RSART在BOM设置为中止,后继相关的时候会设置个值。。。这个值在过账的时候就很重要了。。。

吃一堑长一智

*&---------------------------------------------------------------------*
*&      Form  PRM_POST
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM PRM_POST .DATA: LV_LINE_ID TYPE I.DATA:GV_ERROR(1) TYPE C.DATA:LV_RSNUM TYPE RESB-RSNUM.DATA:LV_RSART TYPE RESB-RSART."add by ly 20161101 fro 中止后继物料IF MAT_DOC IS NOT INITIAL.MESSAGE '请不要重复过账!' TYPE 'S' DISPLAY LIKE 'E'.EXIT.ENDIF.CLEAR:LV_LINE_ID,GMHEAD,GOODSMVT_ITEM[],GOODSMVT_SERIALNUMBER[],LT_ERRMSG[],GMCODE,MTHEAD,GT_MESSAGE[],GT_ZMMT001[].CASE GV_ZRENO+0(1).WHEN 'A' OR 'B'."生产领退料GMCODE-GM_CODE = '03'.WHEN 'D' OR 'E'."反冲发退料GMCODE-GM_CODE = '04'.WHEN 'C' OR 'F'."超领GMCODE-GM_CODE = '03'.WHEN 'G'."大工单领料GMCODE-GM_CODE = '03'.WHEN OTHERS.ENDCASE.GMHEAD-PSTNG_DATE = SY-DATUM."mkpf-bldat.GMHEAD-DOC_DATE = SY-DATUM."mkpf-budat.GMHEAD-PR_UNAME = SY-UNAME.GMHEAD-REF_DOC_NO = GV_ZRENO.GMHEAD-BILL_OF_LADING = GV_ZRENO.SELECT * INTO CORRESPONDING FIELDS OF TABLE GT_ZMMT001 FROM ZMMT001 WHERE ZRENO = GV_ZRENO AND STATU = ''.LOOP AT GT_TABLE INTO GW_TABLE.IF GW_TABLE-ZSHLT = 0.CONTINUE.ENDIF.ADD 1 TO LV_LINE_ID.GOODSMVT_ITEM-LINE_ID = LV_LINE_ID.GOODSMVT_ITEM-MATERIAL = GW_TABLE-MATNR.IF GV_ZRENO+0(1) = 'A'.GOODSMVT_ITEM-PLANT  = GW_TABLE-WERKZ.ELSE.GOODSMVT_ITEM-PLANT  = GW_TABLE-WERKS.ENDIF.GOODSMVT_ITEM-BATCH    = GW_TABLE-CHARG.GOODSMVT_ITEM-STGE_LOC = GW_TABLE-FROM_LGORT.CLEAR:LV_RSNUM,LV_RSART.CASE GW_TABLE-ZRENO+0(1).WHEN 'A'."订单发料GOODSMVT_ITEM-MOVE_TYPE  = '261'.GOODSMVT_ITEM-RESERV_NO    =  GW_TABLE-RSNUM.GOODSMVT_ITEM-RES_ITEM    =  GW_TABLE-RSPOS.SELECT SINGLE RSNUM RSART  INTO (LV_RSNUM,LV_RSART)FROM RESB WHERE RSNUM = GW_TABLE-RSNUMAND RSPOS = GW_TABLE-RSPOSAND   MATNR = GW_TABLE-MATNR.IF LV_RSNUM IS INITIAL.GV_ERROR = 'X'.GS_MESSAGE-MSGID = 'ZMSG'.GS_MESSAGE-MSGTY = 'E'.GS_MESSAGE-MSGNO = '000'.GS_MESSAGE-MSGV1 = GW_TABLE-ZPOSN.GS_MESSAGE-MSGV2 = '该行订单物料已变更,不允许发料!'.APPEND GS_MESSAGE TO GT_MESSAGE.ENDIF.GOODSMVT_ITEM-RES_TYPE = LV_RSART.WHEN 'B'."订单退料GOODSMVT_ITEM-MOVE_TYPE  = '261'.GOODSMVT_ITEM-RESERV_NO    =  GW_TABLE-RSNUM.GOODSMVT_ITEM-RES_ITEM    =  GW_TABLE-RSPOS.GOODSMVT_ITEM-ITEM_TEXT    =  GW_TABLE-SGTXT.GOODSMVT_ITEM-XSTOB    = 'X'. "使用冲销移动类型标识符SELECT SINGLE RSNUM RSART INTO (LV_RSNUM,LV_RSART)FROM RESB WHERE RSNUM = GW_TABLE-RSNUMAND RSPOS = GW_TABLE-RSPOSAND   MATNR = GW_TABLE-MATNR.IF LV_RSNUM IS INITIAL.GV_ERROR = 'X'.GS_MESSAGE-MSGID = 'ZMSG'.GS_MESSAGE-MSGTY = 'E'.GS_MESSAGE-MSGNO = '000'.GS_MESSAGE-MSGV1 = GW_TABLE-ZPOSN.GS_MESSAGE-MSGV2 = '该行订单物料已变更,不允许发料!'.APPEND GS_MESSAGE TO GT_MESSAGE.ENDIF.GOODSMVT_ITEM-RES_TYPE = LV_RSART.WHEN 'C'."超领发料GOODSMVT_ITEM-MOVE_TYPE  = '261'.GOODSMVT_ITEM-ORDERID    =  GW_TABLE-AUFNR.WHEN 'D'."反冲发料GOODSMVT_ITEM-MOVE_TYPE  = '311'.GOODSMVT_ITEM-MOVE_STLOC = GW_TABLE-LGORT.WHEN 'E'."反冲退料GOODSMVT_ITEM-MOVE_TYPE  = '311'.GOODSMVT_ITEM-MOVE_STLOC = GW_TABLE-LGORT.WHEN 'F'."超领退料GOODSMVT_ITEM-MOVE_TYPE  = '261'.GOODSMVT_ITEM-ORDERID    =  GW_TABLE-AUFNR.WHEN 'G'."大工单领料GOODSMVT_ITEM-MOVE_TYPE  = '261'.GOODSMVT_ITEM-ORDERID    =  GW_TABLE-AUFNR.WHEN OTHERS.ENDCASE.IF GW_TABLE-ZSHLT < 0.GOODSMVT_ITEM-MOVE_TYPE  = '531'.GW_TABLE-ZSHLT = GW_TABLE-ZSHLT * -1.ENDIF.GOODSMVT_ITEM-ENTRY_QNT  = GW_TABLE-ZSHLT.  "结余数量.GOODSMVT_ITEM-ENTRY_UOM  = GW_TABLE-MEINS.  "
    IF GW_TABLE-ZSHLT > GW_TABLE-ZJHLT AND ( GW_TABLE-ZRENO+0(1) = 'A' OR GW_TABLE-ZRENO+0(1) = 'B' ) AND GW_TABLE-ZJHLT > 0.GV_ERROR = 'X'.MESSAGE '普通领料不能超量发料' TYPE 'S' DISPLAY LIKE 'E'.EXIT.ENDIF.IF GW_TABLE-LGORT = '' AND GOODSMVT_ITEM-MOVE_TYPE = '311' AND GW_TABLE-AUFNR <> ''.GV_ERROR = 'X'.MESSAGE '超领/退料单需要有接收库位的工单' TYPE 'S' DISPLAY LIKE 'E'.EXIT.ENDIF.APPEND GOODSMVT_ITEM.LOOP AT GT_SEA INTO GW_SEA WHERE ZRENO = GW_TABLE-ZRENO AND ZPOSN = GW_TABLE-ZPOSN.GOODSMVT_SERIALNUMBER-MATDOC_ITM = LV_LINE_ID.IF GW_SEA-SERNR IS INITIAL.GV_ERROR = 'X'.MESSAGE '请输入所有的序列号!' TYPE 'S' DISPLAY LIKE 'E'.EXIT.ENDIF.GOODSMVT_SERIALNUMBER-SERIALNO = GW_SEA-SERNR.APPEND GOODSMVT_SERIALNUMBER.ENDLOOP.ENDLOOP.IF GOODSMVT_ITEM[] IS NOT INITIAL AND GV_ERROR = ''.CALL FUNCTION 'BAPI_GOODSMVT_CREATE'EXPORTINGGOODSMVT_HEADER       = GMHEADGOODSMVT_CODE         = GMCODEIMPORTINGGOODSMVT_HEADRET      = MTHEADMATERIALDOCUMENT      = MAT_DOCTABLESGOODSMVT_ITEM         = GOODSMVT_ITEMGOODSMVT_SERIALNUMBER = GOODSMVT_SERIALNUMBERRETURN                = LT_ERRMSG.IF MAT_DOC IS NOT INITIAL.CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'EXPORTINGWAIT = 'X'.LOOP AT GT_ZMMT001 INTO GW_ZMMT001.LOOP AT GT_TABLE INTO GW_TABLE WHERE ZRENO = GW_ZMMT001-ZRENO AND ZPOSN = GW_ZMMT001-ZPOSN.GW_ZMMT001-ZJHLT = GW_TABLE-ZJHLT.GW_ZMMT001-ZSHLT = GW_TABLE-ZSHLT.
*          IF GW_ZMMT001-ZJHLT = 0.GW_ZMMT001-STATU = 'C'.GW_ZMMT001-ZNAME = SY-UNAME.GW_ZMMT001-ZDATE = SY-DATUM.GW_ZMMT001-ZTIME = SY-UZEIT.
*            UPDATE ZMMT001 SET ZSHLT = GW_TABLE-ZSHLT STATU = 'C' WHERE ZRENO = GW_TABLE-ZRENO AND ZPOSN = GW_TABLE-ZPOSN.
*          ENDIF.ENDLOOP.MODIFY GT_ZMMT001 FROM GW_ZMMT001.ENDLOOP.MODIFY ZMMT001 FROM TABLE GT_ZMMT001.
*      COMMIT WORK.*      MESSAGE MAT_DOC TYPE 'S'.GS_MESSAGE-MSGID = 'ZMSG'.GS_MESSAGE-MSGTY = 'S'.GS_MESSAGE-MSGNO = '000'.GS_MESSAGE-MSGV1 = '已生成物料凭证'.GS_MESSAGE-MSGV2 = MAT_DOC.APPEND GS_MESSAGE TO GT_MESSAGE.ELSE.LOOP AT LT_ERRMSG.GS_MESSAGE-MSGID = LT_ERRMSG-ID.GS_MESSAGE-MSGTY = LT_ERRMSG-TYPE.GS_MESSAGE-MSGNO = LT_ERRMSG-NUMBER.GS_MESSAGE-MSGV1 = LT_ERRMSG-MESSAGE_V1.GS_MESSAGE-MSGV2 = LT_ERRMSG-MESSAGE_V2.GS_MESSAGE-MSGV3 = LT_ERRMSG-MESSAGE_V3.GS_MESSAGE-MSGV4 = LT_ERRMSG-MESSAGE_V4.APPEND GS_MESSAGE TO GT_MESSAGE.ENDLOOP.CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.ENDIF.ENDIF.IF GT_MESSAGE[] IS NOT INITIAL.CALL FUNCTION 'USMD_MESSAGE_POPUP'EXPORTINGIT_MESSAGE        = GT_MESSAGE[]IF_SAVE_NECESSARY = GV_NECESSARY.ENDIF.ENDFORM.

转载于:https://www.cnblogs.com/sapSB/p/6018208.html

工单发料,退料等一些物料的移动相关推荐

  1. sap委外退料流程图_凤竹纺织FZMM-605委外加工物料退料流程V2.0.doc

    您所在位置:网站首页 > 海量文档 &nbsp>&nbsp行业资料&nbsp>&nbsp纺织服装 凤竹纺织FZMM-605委外加工物料退料流程V2.0 ...

  2. sap委外退料流程图_最新九牧SAP(ERP项目)SAP-TB-MM委外加工采购流程

    <最新九牧SAP(ERP项目)SAP-TB-MM委外加工采购流程.doc>由会员分享,可免费在线阅读全文,更多与<最新九牧SAP(ERP项目)SAP-TB-MM委外加工采购流程> ...

  3. 用友U8生产不良退料案例教程

    目录 案例介绍 显示退料前生产订单 红字材料出库单 显示退料后生产订单 案例介绍 生产过程中出现不良料,由车间制程质检员判定为来料不良或是制程不良,然后退回不良仓,等待退回给供应商或报废处理. 本案例 ...

  4. sap委外退料流程图_最新九牧SAPERP项目SAP-TB-MM委外加工采购流程(资料4)

    <最新九牧SAP(ERP项目)SAP-TB-MM委外加工采购流程.doc>由会员分享,可免费在线阅读全文,更多与<最新九牧SAP(ERP项目)SAP-TB-MM委外加工采购流程> ...

  5. 金蝶K3生产不良退料案例教程

    目录 案例介绍 显示退料前生产任务单 红字领料单 显示退料后生产投料单 后台控制设置. 案例介绍 生产过程中出现不良料,由车间制程质检员判定为来料不良或是制程不良,然后退回不良仓,等待退回给供应商或报 ...

  6. WMS系统关于退料的几种方式

    WMS系统关于退料的操作主要有以下几种:IQC退料至供应商.采购退货.车间生产退料.仓库退料以及生产订单退线边仓.接下来分别对这几种退料方式进行概述. 1.IQC退料至供应商 正常情况下,采购回来的物 ...

  7. sap委外退料流程图_委外退料单

    1 委外退料单 1.1 功能概述 委外退料单是处理委外部门和仓储部门之间业务关系的书面凭证,是财务人员据以记账.核算成本的重要原始凭证. 1.2 使用前提 对应的委外订单分录需处于下达.完工状态,且未 ...

  8. 生产领料、退料频繁_领料号码

    生产领料.退料频繁 Problem statement: 问题陈述: Given an array of integers, find and print the maximum number of ...

  9. 全智通A+常见问题汇总解答—A+修正维修详情页面打印派工清单和领料清单按钮无效

    问题描述:1.操作步骤:维修管理页面选择一张维修单点击详情,在详情页面点击打印派工清单和领料清单 2.页面其他情况显示:按F12时,页面报错: 3.该车辆在维修登记页面显示的结算公式在档案模块的结算公 ...

  10. 金蝶云星空与巨益OMS对接集成采购退料查询连通库存异动(ERP采购退料对接OMS库存异动)

    接入系统:金蝶云星空 金蝶K/3Cloud在总结百万家客户管理最佳实践的基础上,提供了标准的管理模式:通过标准的业务架构:多会计准则.多币别.多地点.多组织.多税制应用框架等,有效支持企业的运营管理: ...

最新文章

  1. 需求分析阶段项目经验
  2. Beta阶段总结博客(麻瓜制造者)
  3. 如何使用Twitter Bootstrap获得中心内容?
  4. c linux time微秒_学习linux,看这篇1.5w多字的linux命令详解(6小时讲明白Linux)
  5. Cookie的特点和作用|| 案例:记住上一次访问时间
  6. Catboost原文解读
  7. Angular的_zone.onMicrotaskEmpty最终会通过changeDetect重新刷新视图
  8. 从像素坐标到相机坐标_鱼眼相机模型EUCM(一)
  9. react不同环境不同配置angular_叫雨山斗鸡优势在哪里,环境不同,价值不同
  10. 搞个游戏赚大钱!华为云搞了个吃鲲游戏,约你来打怪!
  11. (转)Java任务调度框架Quartz入门教程指南(三)任务调度框架Quartz实例详解深入理解Scheduler,Job,Trigger,JobDetail...
  12. 数学一年级应用题_一年级数学下册100以内加减法应用题,给孩子下载!
  13. 管理“不可管理”的合作伙伴
  14. Android office教程,Excel办公软件Office教程app
  15. 压缩文件密码暴力破解——cRARk使用方法
  16. 十月下旬腾讯,网易游戏,百度迅雷校园招聘笔试题集锦(第271-330题)
  17. RequestMapping的映射URL模板
  18. 一个已经转行一年的程序员的感受
  19. 智学网登录不了java_智学网常见问题解决方法介绍
  20. 公司给股票期权,我买还是不买?

热门文章

  1. Netty高性能之道
  2. 百度统计挂了,分布式数据库异常引起,数据显示为空!
  3. mysql基础之mariadb的安装,连接,用户,密码,权限设置语句详解
  4. 转【es中数据节点和主机】
  5. 使用js切割URL的参数
  6. JavaScript之JS单线程|事件循环|事件队列|执行栈
  7. JS 日期工具类-基于yDate
  8. [Linked List]Intersection of Two Linked Lists
  9. 转载:PLSQL中显示Cursor、隐示Cursor、动态Ref Cursor区别
  10. ASP.NET AJAX 1.0 Beta 2 发布