修改采购订单,服务型采购订单
DATA: wa_item TYPE zmodifypurorder_tab.
DATA: wa_services TYPE zmodifypurorder_tab2.
DATA:ext_line TYPE n LENGTH 10.
DATA:line_no TYPE n LENGTH 10.
DATA:pckg_no TYPE n LENGTH 10.
DATA:subpckg_no TYPE n LENGTH 10.
DATA:serial_no TYPE n LENGTH 2 .
DATA:interval TYPE STANDARD TABLE OF inriv,
wa_interval TYPE inriv.
pckg_no = '0000000000'. "软件包号
line_no = '0000000001'. "内部行编号
ext_line = '0000000000'. "行号
serial_no = '00' . "帐户分配的顺序编号
IF i_header-ebeln IS INITIAL.
msg_type = 'E'.
message = '采购订单号为空'.
EXIT.
ENDIF.
DATA:pocondheader TYPE STANDARD TABLE OF bapimepocondheader,
wa_pocondheader TYPE bapimepocondheader,
pocondheaderx TYPE STANDARD TABLE OF bapimepocondheaderx,
wa_pocondheaderx LIKE bapimepocondheaderx.
IF i_header-loekz = 'X'."整个删除采购订单
gs_poheader-po_number = i_header-ebeln."采购凭证号
gs_poheader-delete_ind = 'X'."采购凭证中的删除标识
gs_poheaderx-po_number = 'X'."采购凭证号
gs_poheaderx-delete_ind = 'X'."采购凭证中的删除标识
ELSE.
gs_poheader-po_number = i_header-ebeln."采购凭证号
gs_poheader-comp_code = i_header-bukrs. "公司代码 bukrs 公司代码
gs_poheader-purch_org = i_header-ekorg. "采购组织 ekorg 采购组织
gs_poheader-pur_group = i_header-ekgrp. "采购组 ekgrp 采购组
gs_poheaderx-po_number = 'X'."采购凭证号
gs_poheaderx-comp_code = 'X'."公司代码
gs_poheaderx-purch_org = 'X'."采购组织
gs_poheaderx-pur_group = 'X'."采购组
LOOP AT it_items INTO wa_item.
CALL METHOD z_itf_utils=>add_zero
CHANGING
c_input = wa_item-ebelp.
CALL METHOD z_itf_utils=>add_zero
CHANGING
c_input = wa_item-matnr.
IF wa_item-loekz = 'X'."行项目有删除标识
gwa_item-po_item = wa_item-ebelp."采购凭证的项目编号
gwa_item-material = wa_item-matnr."物料号
gwa_item-delete_ind = 'X'."采购凭证中的删除标识
APPEND gwa_item TO gt_item.
gwa_itemx-po_item = wa_item-ebelp."采购凭证的项目编号
gwa_itemx-po_itemx = 'X'."采购凭证的项目编号
gwa_itemx-material = 'X'."物料号
gwa_itemx-delete_ind = 'X'."采购凭证中的删除标识
APPEND gwa_itemx TO gt_itemx.
ELSE." 行项目有更新
IF wa_item-matnr IS INITIAL."服务型订单
CLEAR:gwa_item,gwa_itemx.
SELECT SINGLE packno INTO pckg_no FROM ekpo
WHERE ebeln = i_header-ebeln AND ebelp = wa_item-ebelp.
ext_line =