zoukankan      html  css  js  c++  java
  • ABAP 更改销售订单(BAPI'BAPI_SALESORDER_CHANGE')

    Change类的BAPI都差不多,改行项目的某个字段时,只需在lt_item的某个字段给值,然后再lt_itemx结构中的对应字段打上’X’,另外记得updateflag字段给’U’表示Update.

    最后记得调用commit,一般都没什么问题。

    示例代码:

     DATA: lv_vbeln TYPE bapivbeln-vbeln,
            ls_headrx TYPE bapisdh1x,
            lt_return TYPE TABLE OF bapiret2 WITH HEADER LINE,
            lt_item   TYPE TABLE OF bapisditm WITH HEADER LINE,
            lt_itemx  TYPE TABLE OF bapisditmx WITH HEADER LINE.
      DATA: lv_message TYPE string.
      DATA: ls_zsd_up_dr_log TYPE zsd_up_dr_log.
      DATA: lt_zsd_up_dr_log TYPE TABLE OF zsd_up_dr_log.
      lv_vbeln = p_vbeln .
      ls_headrx-updateflag = 'U'.
      LOOP AT gt_change INTO gs_change.
        lt_item-itm_number = gs_change-posnr.
    *    lt_item-material   = gs_change-matnr.
        lt_item-dlv_prio   = gs_change-lprio.
        APPEND lt_item.

        lt_itemx-itm_number = gs_change-posnr.
        lt_itemx-updateflag = 'U'.
        lt_itemx-dlv_prio   = 'X'.
        APPEND lt_itemx.
        ls_zsd_up_dr_log-vbeln = p_vbeln.
        ls_zsd_up_dr_log-posnr = gs_change-posnr.
        ls_zsd_up_dr_log-erdat = sy-datum.
        APPEND ls_zsd_up_dr_log TO lt_zsd_up_dr_log.
      ENDLOOP.


      CALL FUNCTION 'BAPI_SALESORDER_CHANGE'
        EXPORTING
          salesdocument         = lv_vbeln
    *     ORDER_HEADER_IN       =
          order_header_inx      = ls_headrx
    *     SIMULATION            =
    *     BEHAVE_WHEN_ERROR     = ' '
    *     INT_NUMBER_ASSIGNMENT = ' '
    *     LOGIC_SWITCH          =
    *     NO_STATUS_BUF_INIT    = ' '
        TABLES
          return                = lt_return
          order_item_in         = lt_item
          order_item_inx        = lt_itemx
    *     PARTNERS              =
    *     PARTNERCHANGES        =
    *     PARTNERADDRESSES      =
    *     ORDER_CFGS_REF        =
    *     ORDER_CFGS_INST       =
    *     ORDER_CFGS_PART_OF    =
    *     ORDER_CFGS_VALUE      =
    *     ORDER_CFGS_BLOB       =
    *     ORDER_CFGS_VK         =
    *     ORDER_CFGS_REFINST    =
    *     SCHEDULE_LINES        =
    *     SCHEDULE_LINESX       =
    *     ORDER_TEXT            =
    *     ORDER_KEYS            =
    *     CONDITIONS_IN         =
    *     CONDITIONS_INX        =
    *     EXTENSIONIN           =
        .
      LOOP AT lt_return WHERE type = 'E' OR type = 'A'.
        CONCATENATE lt_return-message ';' lv_message   INTO lv_message.  ENDLOOP.
      IF sy-subrc ne 0.
      CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
          EXPORTING
            wait = 'X'.

      ENDIF.

    闫默涵
  • 相关阅读:
    QTableView表格控件区域选择-自绘选择区域
    Qt高仿Excel表格组件-支持冻结列、冻结行、内容自适应和合并单元格
    QRowTable表格控件(三)-效率优化之-合理使用QStandardItem
    QRowTable表格控件(二)-红涨绿跌
    QRowTable表格控件-支持hover整行、checked整行、指定列排序等
    Qt实现表格控件-支持多级列表头、多级行表头、单元格合并、字体设置等
    Asp.net MVC利用Ajax.BeginForm实现bootstrap模态框弹出,并进行前段验证
    Bootstrap:弹出框和提示框效果以及代码展示
    Bootstrap treeview增加或者删除节点
    bootstrap-treeview 如何实现全选父节点下所有子节点及反选
  • 原文地址:https://www.cnblogs.com/yanmohan/p/14251081.html
Copyright © 2011-2022 走看看