ABAP - PO增强 - IF_EX_ME_PROCESS_PO_CUST~CHECK - 变更凭证日期
2011-08-05 10:50
471 查看
*&---------更新凭证日期、价格
* DATA:title TYPE char20 VALUE '凭证日期<变更>',
* question TYPE char50,
* icon_button_1 TYPE icon-name VALUE 'ICON_CHECKED',
* icon_button_2 TYPE icon-name VALUE 'ICON_INCOMPLETE',
* answer(1).
* DATA: l_cl_po TYPE REF TO cl_po_header_handle_mm.
* DATA: l_field TYPE string VALUE '(SAPLMEPO)EKKO-BEDAT'.
* DATA: lt_mmpur_tkomv TYPE mmpur_tkomv.
*
*
* IF sy-uname = '00103808' .
* IF l_header-zzgjahr IS NOT INITIAL AND l_header-aedat > '20110720' AND ( l_header-bsart BETWEEN 'ZNB1' AND 'ZNB2' ).
*
* IF l_header-bedat+0(4) <> l_header-zzgjahr.
* CONCATENATE '凭证日期' l_header-bedat ' 与旬的年度不一致,是否更新凭证日期及价格' INTO question.
* ELSEIF l_header-bedat+4(2) <> l_header-zzmonat.
* CONCATENATE '凭证日期' l_header-bedat ' 与旬的月份不一致,是否更新凭证日期及价格' INTO question.
* ENDIF.
* IF NOT question IS INITIAL.
* CALL FUNCTION 'POPUP_TO_CONFIRM'
* EXPORTING
* titlebar = title
* text_question = question
* default_button = 1
* display_cancel_button = ''
* text_button_1 = '是'(001)
* icon_button_1 = icon_button_1
* text_button_2 = '否'(002)
* icon_button_2 = icon_button_2
* IMPORTING
* answer = answer
* EXCEPTIONS
* text_not_found = 1
* OTHERS = 2.
* IF answer = 1. "更新PO数据
* IF l_header-bedat+4(2) NE 12.
* l_header-bedat+4(2) = l_header-bedat+4(2) + 1.
* l_header-bedat+6(2) = '01'.
* ELSE.
* l_header-bedat+0(4) = l_header-bedat+0(4) + 1.
* l_header-bedat+4(4) = '0101'.
* ENDIF.
*
* FIELD-SYMBOLS:<fs_bedat> TYPE ekko-bedat.
* l_cl_po ?= im_header.
* l_cl_po->my_ibs_firewall_on = 'X'.
* CALL METHOD l_cl_po->set_data( im_data = l_header ).
* CALL METHOD im_header->set_changed( ).
*&--------强制数据
* ASSIGN (l_field) TO <fs_bedat>.
* IF <fs_bedat> IS ASSIGNED.
* <fs_bedat> = l_header-bedat.
* ENDIF.
* EXIT.
* ENDIF.
* ENDIF.
* ENDIF.
* ENDIF.
* DATA:title TYPE char20 VALUE '凭证日期<变更>',
* question TYPE char50,
* icon_button_1 TYPE icon-name VALUE 'ICON_CHECKED',
* icon_button_2 TYPE icon-name VALUE 'ICON_INCOMPLETE',
* answer(1).
* DATA: l_cl_po TYPE REF TO cl_po_header_handle_mm.
* DATA: l_field TYPE string VALUE '(SAPLMEPO)EKKO-BEDAT'.
* DATA: lt_mmpur_tkomv TYPE mmpur_tkomv.
*
*
* IF sy-uname = '00103808' .
* IF l_header-zzgjahr IS NOT INITIAL AND l_header-aedat > '20110720' AND ( l_header-bsart BETWEEN 'ZNB1' AND 'ZNB2' ).
*
* IF l_header-bedat+0(4) <> l_header-zzgjahr.
* CONCATENATE '凭证日期' l_header-bedat ' 与旬的年度不一致,是否更新凭证日期及价格' INTO question.
* ELSEIF l_header-bedat+4(2) <> l_header-zzmonat.
* CONCATENATE '凭证日期' l_header-bedat ' 与旬的月份不一致,是否更新凭证日期及价格' INTO question.
* ENDIF.
* IF NOT question IS INITIAL.
* CALL FUNCTION 'POPUP_TO_CONFIRM'
* EXPORTING
* titlebar = title
* text_question = question
* default_button = 1
* display_cancel_button = ''
* text_button_1 = '是'(001)
* icon_button_1 = icon_button_1
* text_button_2 = '否'(002)
* icon_button_2 = icon_button_2
* IMPORTING
* answer = answer
* EXCEPTIONS
* text_not_found = 1
* OTHERS = 2.
* IF answer = 1. "更新PO数据
* IF l_header-bedat+4(2) NE 12.
* l_header-bedat+4(2) = l_header-bedat+4(2) + 1.
* l_header-bedat+6(2) = '01'.
* ELSE.
* l_header-bedat+0(4) = l_header-bedat+0(4) + 1.
* l_header-bedat+4(4) = '0101'.
* ENDIF.
*
* FIELD-SYMBOLS:<fs_bedat> TYPE ekko-bedat.
* l_cl_po ?= im_header.
* l_cl_po->my_ibs_firewall_on = 'X'.
* CALL METHOD l_cl_po->set_data( im_data = l_header ).
* CALL METHOD im_header->set_changed( ).
*&--------强制数据
* ASSIGN (l_field) TO <fs_bedat>.
* IF <fs_bedat> IS ASSIGNED.
* <fs_bedat> = l_header-bedat.
* ENDIF.
* EXIT.
* ENDIF.
* ENDIF.
* ENDIF.
* ENDIF.
相关文章推荐
- BAdI Interface IF_EX_ME_PROCESS_PO_CUST
- 采购订单BADI增强-ME_PROCESS_PO_CUST
- me21n增强BADI:ME_PROCESS_PO_CUST之process_account
- ME21N,ME22N,ME23N之BADI增强ME_PROCESS_PO_CUST
- PO增强同步PO采购类型与PR类型一样 By badi:ME_PROCESS_PO_CUST
- 采购订单限价(包含阶梯价)ME_PROCESS_PO_CUST
- ME_PROCESS_PO_CUST
- Bash: how to check if a process id (PID) exists
- ME21N/ME22N/ME23N屏幕增强BADI ME_GUI_PO_CUST
- BADI--Purchase Requisition Header Long Text using Badi - ME_PROCESS_REQ_CUST.
- BAdI:ME_PROCESS_REQ_CUST弹出消息问题
- ME21N/ME22N/ME23N屏幕增强BADI ME_GUI_PO_CUST
- ME21N/ME22N/ME23N屏幕增强BADI ME_GUI_PO_CUST
- ME_PROCESS_PO_CUST修改行项目中净价为物料主数据中标准价格
- check if a linux process is done using bash 检查进程是否在运行
- BADI : ME_PROCESS_REQ_CUST 创建PR时,检查用户数据并更新
- Check, if a process is running
- BADI : ME_PROCESS_REQ_CUST 创建PR时,检查用户数据并更新
- PR 修改保存的增强 ME_UPDATE_REQUISITION
- [AndroidTips]Check if device is plugged in