本人诚心接ABAP远程开发任务,价格公道,有需要的联系我,欢迎个人,甲方爸爸,乙方私信联系。

SD VL02N时如果要交货过账,之前需要先拣配数量。操作就是前台输入一个拣配数量,然后保存

代码如下

  DATA: LS_VBKOK        TYPE VBKOK.DATA: LT_VBKOK        TYPE STANDARD TABLE OF VBKOK.DATA: LT_PROTT        TYPE STANDARD TABLE OF PROTT.DATA: LS_PROTT        TYPE PROTT.DATA: LT_VBPOK        TYPE STANDARD TABLE OF VBPOK.DATA: LS_VBPOK        TYPE VBPOK.DATA: LV_MESSAGE      TYPE STRING.DATA: LV_ALL_MESSAGE  TYPE STRING.DATA: LV_FLAG         TYPE CHAR01.LOOP AT LT_SEL INTO LS_SEL  .LS_VBKOK-VBELN_VL = LS_SEL-VBELN_VL.LS_VBKOK-KOMUE    = 'X'.      "交货数量 = 捡配数量LS_VBKOK-KZKODAT  = 'X'.      "Picking date LS_VBKOK-KODAT    = SY-DATUM. "Picking date LOOP AT GT_DATA INTO GS_DATA WHERE BOX IS NOT INITIAL AND VBELN_VL = LS_SEL-VBELN_VL .CLEAR:LS_VBPOK,LV_FLAG,LV_MESSAGE,LV_ALL_MESSAGE,LT_PROTT.LS_VBPOK-VBELN_VL  = GS_DATA-VBELN_VL.LS_VBPOK-POSNR_VL  = GS_DATA-POSNR_VL.LS_VBPOK-VBELN     = GS_DATA-VBELN_VA.  LS_VBPOK-POSNN     = GS_DATA-POSNR_VA.  LS_VBPOK-PIKMG     = GS_DATA-PIKMG.LS_VBPOK-VRKME     = GS_DATA-MEINS.APPEND LS_VBPOK TO LT_VBPOK.ENDLOOP.CALL FUNCTION 'WS_DELIVERY_UPDATE'EXPORTINGVBKOK_WA       = LS_VBKOK
*      COMMIT         = CONDELIVERY       = LS_SEL-VBELN_VLUPDATE_PICKING = 'X'SYNCHRON       = 'X'
*      if_database_update = 'X'         "L.S Commentd outNICHT_SPERREN   = 'X'         "L.S InsertedTABLESVBPOK_TAB      = LT_VBPOKPROT           = LT_PROTTEXCEPTIONSERROR_MESSAGE  = 1OTHERS         = 2 .IF SY-SUBRC   = 0 .LOOP AT LT_PROTT INTO LS_PROTT WHERE MSGTY CA 'EAX'.CALL FUNCTION 'MESSAGE_TEXT_BUILD'EXPORTINGMSGID               = LS_PROTT-MSGIDMSGNR               = LS_PROTT-MSGNOMSGV1               = LS_PROTT-MSGV1MSGV2               = LS_PROTT-MSGV2MSGV3               = LS_PROTT-MSGV3MSGV4               = LS_PROTT-MSGV4IMPORTINGMESSAGE_TEXT_OUTPUT = LV_MESSAGE.CONCATENATE  LV_ALL_MESSAGE LV_MESSAGE  INTO  LV_ALL_MESSAGE .LV_MESSAGE = LV_ALL_MESSAGE.LV_FLAG = 'X' .CLEAR LS_PROTT.ENDLOOP.ELSE.CLEAR LV_MESSAGE.CALL FUNCTION 'MESSAGE_TEXT_BUILD'EXPORTINGMSGID               = SY-MSGIDMSGNR               = SY-MSGNOMSGV1               = SY-MSGV1MSGV2               = SY-MSGV2MSGV3               = SY-MSGV3MSGV4               = SY-MSGV4IMPORTINGMESSAGE_TEXT_OUTPUT = LV_ALL_MESSAGE.LV_MESSAGE = LV_ALL_MESSAGE.LV_FLAG = 'X' .ENDIF .IF LV_FLAG IS  INITIAL .CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'EXPORTINGWAIT = 'X'.LOOP AT GT_DATA INTO GS_DATA WHERE BOX IS NOT INITIAL AND  VBELN_VL = LS_SEL-VBELN_VL .GS_DATA-ICONS = ICON_GREEN_LIGHT.MODIFY GT_DATA FROM GS_DATA.ENDLOOP.ELSE.CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.LOOP AT GT_DATA INTO GS_DATA WHERE BOX IS NOT INITIAL AND  VBELN_VL = LS_SEL-VBELN_VL .GS_DATA-ICONS = ICON_RED_LIGHT.GS_DATA-MESSAGE = LV_ALL_MESSAGE.MODIFY GT_DATA FROM GS_DATA.ENDLOOP.ENDIF.ENDLOOP.

拣配过之后,交货单可以过账,生成物料凭证

代码如下

  LOOP AT LT_SEL INTO LS_SEL.CLEAR:LS_HEADER_DATA,LS_HEADER_CONTROL,LV_DELIVERY_NUMB,LT_HEADER_DEADLINES,LT_ITEM_DATA,LT_ITEM_CONTROL,LT_RETURN_TAB.
*准备抬头信息LS_HEADER_DATA-DELIV_NUMB      = LS_SEL-VBELN_VL.
*抬头控制信息。LS_HEADER_CONTROL-DELIV_NUMB   = LS_SEL-VBELN_VL.LS_HEADER_CONTROL-POST_GI_FLG  = 'X'.
*更改发货过账日期。CLEAR  LS_HEADER_DEADLINES .LS_HEADER_DEADLINES-DELIV_NUMB   = LS_SEL-VBELN_VL.LS_HEADER_DEADLINES-TIMETYPE     = 'WSHDRWADTI' ."发货过账 。CONCATENATE SY-DATUM SY-TIMLO INTO LV_TIMESTAMP .CONDENSE LV_TIMESTAMP .LS_HEADER_DEADLINES-TIMESTAMP_UTC = LV_TIMESTAMP .
*      LS_HEADER_DEADLINES-TIMEZONE = 'UTC+8' .APPEND LS_HEADER_DEADLINES TO LT_HEADER_DEADLINES .LOOP AT GT_DATA INTO GS_DATA WHERE BOX IS NOT INITIAL AND VBELN_VL = LS_SEL-VBELN_VL AND ICONS = ICON_GREEN_LIGHT.LS_ITEM_DATA-DELIV_NUMB       = GS_DATA-VBELN_VL.  "外向交货单号LS_ITEM_DATA-DELIV_ITEM       = GS_DATA-POSNR_VL.  "交货单行项目LS_ITEM_DATA-DLV_QTY          = GS_DATA-PIKMG .LS_ITEM_DATA-MATERIAL         = GS_DATA-MATNR.LS_ITEM_DATA-BATCH            = GS_DATA-CHARG."批次LS_ITEM_DATA-SALES_UNIT       = GS_DATA-MEINS.SELECT  SINGLEUMREZUMRENINTO (LS_ITEM_DATA-FACT_UNIT_NOM,LS_ITEM_DATA-FACT_UNIT_DENOM)FROMMARMWHERE MATNR EQ  GS_DATA-MATNRAND MEINH EQ    GS_DATA-MEINS.IF SY-SUBRC = 0 .ELSE.LS_ITEM_DATA-FACT_UNIT_NOM    = '1'.  "此处应从MARM取转换关系LS_ITEM_DATA-FACT_UNIT_DENOM  = '1'."此处应从MARM取转换关系ENDIF.*行项目控制LS_ITEM_CONTROL-DELIV_NUMB = GS_DATA-VBELN_VL..LS_ITEM_CONTROL-DELIV_ITEM = GS_DATA-POSNR_VL.LS_ITEM_CONTROL-CHG_DELQTY = 'X'.APPEND LS_ITEM_CONTROL TO LT_ITEM_CONTROL.CLEAR LS_ITEM_CONTROL.ENDLOOP.CALL FUNCTION 'BAPI_OUTB_DELIVERY_CONFIRM_DEC'EXPORTINGHEADER_DATA      = LS_HEADER_DATAHEADER_CONTROL   = LS_HEADER_CONTROLDELIVERY         = LV_DELIVERY_NUMB
*       TECHN_CONTROL    =
*       HEADER_DATA_SPL  =
*       HEADER_CONTROL_SPL               =TABLES
*       HEADER_PARTNER   =
*       HEADER_PARTNER_ADDR              =HEADER_DEADLINES = LT_HEADER_DEADLINESITEM_DATA        = LT_ITEM_DATA "行项目数据ITEM_CONTROL     = LT_ITEM_CONTROL
*       ITEM_CODING_BLOCK                =ITEM_SERIAL_NO   = LT_ITEM_SERIAL_NO   "行项目序列号
*       SUPPLIER_CONS_DATA               =
*       HANDLING_UNIT_HEADER             =
*       HANDLING_UNIT_ITEM               =
*       HANDLING_UNIT_HEADER_EPC         =
*       HANDLING_UNIT_ITEMS_EPC          =
*       HANDLING_UNIT_SERNO              =
*       EXTENSION1       =
*       EXTENSION2       =RETURN           = LT_RETURN_TAB
*       TOKENREFERENCE   =
*       HANDLING_UNIT_HEADER_CROSS       =
*       ITEM_DATA_SPL    =
*       HANDLING_UNIT_IDENTIFIERS        =
*       HANDLING_UNIT_ITEM_SPL           =
*       ITEM_DATA_DOCU_BATCH             =
*       NEW_ITEM_DATA    =
*       NEW_ITEM_DATA_SPL                =
*       NEW_ITEM_ORG     =
*       TEXT_HEADER      =
*       TEXT_LINES       =
*       NEW_ITEM_DATA_SKU                =.LOOP AT LT_RETURN_TAB INTO LS_RETURN_TAB WHERE TYPE CA 'EAX'.LV_FLAG = 'X'.CALL FUNCTION 'MESSAGE_TEXT_BUILD'EXPORTINGMSGID               = LS_RETURN_TAB-IDMSGNR               = LS_RETURN_TAB-NUMBERMSGV1               = LS_RETURN_TAB-MESSAGE_V1MSGV2               = LS_RETURN_TAB-MESSAGE_V2MSGV3               = LS_RETURN_TAB-MESSAGE_V3MSGV4               = LS_RETURN_TAB-MESSAGE_V4IMPORTINGMESSAGE_TEXT_OUTPUT = LV_MESSAGE.CONCATENATE LV_ALL_MESSAGE LV_MESSAGE INTO LV_ALL_MESSAGE.ENDLOOP.IF LV_FLAG EQ 'X'.CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.LOOP AT GT_DATA INTO GS_DATA WHERE BOX IS NOT INITIAL AND VBELN_VL = LS_SEL-VBELN_VL AND ICONS = ICON_GREEN_LIGHT..GS_DATA-MESSAGE = LV_ALL_MESSAGE.GS_DATA-ICONS = ICON_RED_LIGHT.MODIFY GT_DATA FROM GS_DATA.ENDLOOP.ELSE.CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'EXPORTINGWAIT = 'X'.LOOP AT GT_DATA INTO GS_DATA WHERE BOX IS NOT INITIAL AND VBELN_VL = LS_SEL-VBELN_VL AND ICONS = ICON_GREEN_LIGHT..GS_DATA-ICONS = ICON_GREEN_LIGHT.MODIFY GT_DATA FROM GS_DATA.ENDLOOP.ENDIF.ENDLOOP.

SAP SD VL02N 交货单拣配数量 WS_DELIVERY_UPDATE 交货单过账 BAPI_OUTB_DELIVERY_CONFIRM_DEC相关推荐

  1. 交货单批次拆分(BAPI_OUTB_DELIVERY_CHANGE )并更改拣配数量,发货过账(WS_DELIVERY_UPDATE)

    *&---------------------------------------------------------------------* *& Report  ZVL02N_C ...

  2. SAP ABAP WS_DELIVERY_UPDATE 更新拣配数量并发货过账

    FUNCTION ZSD_MC_DELIVERY_POST. *"-------------------------------------------------------------- ...

  3. SAP ABAP 使用BAPI对交货单拣配,发货过账WS_DELIVERY_UPDATE,BAPI_OUTB_DELIVERY_CONFIRM_DEC

    拣配 :WS_DELIVERY_UPDATE 发货过账:BAPI_OUTB_DELIVERY_CONFIRM_DEC,过账后无法使用VL09冲销,冲销时报错,分散系统无法冲销.解决方法是BAPI过账后 ...

  4. SAP SD VL02N对STO的交货单执行PGI,报错 -Fld selectn for mvmt type 643 acct 400020 differs for Business Area –

    SAP SD VL02N对STO的交货单执行PGI,报错 -Fld selectn for mvmt type 643 acct 400020 differs for Business Area – ...

  5. 【ABAP】更新交货单交货数量和拣配数量

    需求: Demo: *&---------------------------------------------------------------------* *& Report ...

  6. 在lips追加拣配数量

    最近比较忙,此方案出后测试了很多种情况都存在问题,只能留待以后处理了...... 1.进入SE11键入LIPS表,点击APPEND STRUCTURE创建结构ZPIKMG,在结构中添加字段ZZPIKM ...

  7. SAP WM 如何看一个交货单相关的TO是从哪些货架上拣配的?

    SAP WM 如何看一个交货单相关的TO是从哪些货架上拣配的? 如下交货单2112282143,需要从多个不同的货架上拣配4个HU下来, 如果要以列表形式显示这些HU是从哪些仓位上拣配的,如何做? 输 ...

  8. 【整理】SD交货拣配(Picking)处理

    SD交货拣配(Picking)处理 根据销售订单创建完外向交货单之后,如果还涉及库存物料的出库,则可能需要一系列的步骤,如拣配.包装.运输等.其中"拣配"是向客户交货而准备货物的过 ...

  9. ABAP如何修改SAP交货单的各个日期:计划、拣货、运输、过账

    今天遇到一个这样的问题,在根据销售订单创建交货单的时候,需求要求讲各个日期都统一写成指定日期,这个日期一般都是过去的日期,而非当天. 目标效果如下图: 虽然凭证日期是9.1日,但拣配.运输.过账日期都 ...

最新文章

  1. bzoj3503: [Cqoi2014]和谐矩阵
  2. 覆盖索引与联合索引_浅析MySQL的索引覆盖和索引下推
  3. mybatis-plus超详细讲解
  4. 深入理解PHP内核(十二)函数-函数的定义、传参及返回值
  5. SSI指令使用详解(转)
  6. STC8H开发(十四): I2C驱动RX8025T高精度实时时钟芯片
  7. 用计算机控制人造卫星和导弹发射,用计算机控制人造卫星和导弹的发射,按计算机应用的分类,它应属于什么...
  8. 目前常用的室内导航地图有哪些?什么软件可以室内导航?
  9. IDEA设置为Eclipse常用快捷键keymap
  10. 计算机不用时怎样休眠,怎么样设置电脑长时间不用进入休眠
  11. bedtools subtract 基因区段取差集
  12. 基于非对称纳什谈判的多微网电能共享运行优化策略
  13. 深瑞IEC103协议
  14. 【AFL(十三)】afl-whatsup 使用详解
  15. C++Qt开发——文件操作
  16. Python编程之反向输出列表
  17. 谈谈如何从本质上理解sql语句, 存储过程,ORM之间的联系和取舍
  18. 从技术迭代到实践应用,一文看透AI中台演进之路
  19. 雷丁CAN通讯信号上位机,比德文,宝路达,看通讯报文,查故障,灰常方便实用
  20. 如何在公众号文章标题前增加小图标

热门文章

  1. vs2019报错:无法定位程序输入点于动态链接库的XXX.dll文件的解决方法
  2. 用世纪互联Azure账号登录VS2015
  3. 渗透测试-getshell学习总结
  4. 打印机八大常见共性故障解决方法
  5. IDC:年均增速30%,2025年中国将以48.6ZB领跑全球数据圈...
  6. 奔驰柏林之声旋转高音喇叭音响 成都蔚一车改
  7. 计算机二级c类考试试题及答案,2016最新计算机二级C上机考试试题及答案
  8. 无敌均线操作法(一)
  9. post发送请求工具类
  10. 沃拼图游戏软件测试,拼图游戏测试报告