码迷,mamicode.com
首页 > 其他好文 > 详细

SAP ABAP编程 采购订单过账冲销

时间:2015-01-22 11:18:32      阅读:352      评论:0      收藏:0      [点我收藏+]

标签:

DATAlt_return   TYPE TABLE OF bapiret2 WITH HEADER LINE.

DATAl_err_flag  TYPE VALUE ‘‘.  "确认操作符

DATAg_lblni     TYPE lblni.    " 服务输入单条目表号

DATAg_posting_dat TYPE sy-datum.  "记账日期

 DATAl_string    TYPE string.

  " 获取采购订单抬头
  CLEARgw_ekpo,gt_ekpo,gw_ekko,gt_ekko.
  SELECT FROM ekko
    INTO CORRESPONDING FIELDS OF TABLE gt_ekko
   WHERE ebeln EQ g_ebeln.

  " 获取采购订单行项目
  SELECT FROM ekpo
    INTO CORRESPONDING FIELDS OF TABLE gt_ekpo
   WHERE ebeln EQ g_ebeln.
  IF sy-subrc <> 0.
    CONCATENATE ‘结算单‘ g_jsd ‘没有生成采购订单,无法过账冲销!‘ INTO str.
    MESSAGE str TYPE ‘E‘.
  ENDIF.
  "循环冲销

  LOOP AT gt_ekpo INTO gw_ekpo.
***过账函数
    CLEAR g_lblni.
    SELECT SINGLE lblni
      INTO g_lblni FROM essr
      WHERE ebeln gw_ekpo-ebeln AND ebelp gw_ekpo-ebelp AND loekz ‘‘.
    CHECK sy-subrc 0.

    CALL FUNCTION ‘BBP_ENTRYSHEET_CANCEL‘
      EXPORTING
        entrysheet      g_lblni
        posting_date_fi g_posting_dat
      TABLES
        return          lt_return[].

    READ TABLE lt_return WITH KEY type ‘E‘.
    IF sy-subrc EQ .
      l_err_flag ‘‘.
      CONCATENATE ‘结算单‘ g_jsd1 ‘过账冲销失败!‘ lt_return-message INTO l_string.
      MESSAGE l_string TYPE ‘E‘.
    ELSE.
      WAIT UP TO SECONDS.  "等待1秒, 在进行下一次过账冲销
    ENDIF.

    IF l_err_flag NE ‘X‘.
      RETURN.
    ENDIF.

  ENDLOOP.

    CONCATENATE ‘结算单‘ g_jsd1 ‘过账冲销成功! 条目:‘ g_lblni INTO l_string.
    MESSAGE l_string TYPE ‘S‘.

SAP ABAP编程 采购订单过账冲销

标签:

原文地址:http://blog.csdn.net/qinyuezhan/article/details/43014955

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!