SAP 批量更新会计凭证文本

简介: 批量更新会计凭证文本

TYPE TABLE OF accchg WITH HEADER LINE.

 DATA:lv_buzei  TYPE bseg-buzei.

 DATA myref TYPE REF TO cx_sy_arithmetic_error.

 DATA err_text TYPE string.


 LOOP AT gt_data INTO gs_data WHERE checkbox = 'X'.


   CLEAR:gt_accchg[],lv_buzei,gs_data-message_txt.


   IF gs_data-docln IS NOT INITIAL.

     gt_accchg-fdname = 'SGTXT'.        "更改字段

     gt_accchg-newval = gs_data-sgtxt. "新的值

     APPEND gt_accchg .

     lv_buzei = gs_data-docln+3(3).

   ELSE.

     gt_accchg-fdname = 'BKTXT'.        "更改字段

     gt_accchg-newval = gs_data-sgtxt. "新的值

     APPEND gt_accchg .

   ENDIF.

   TRY .

       CALL FUNCTION 'FI_DOCUMENT_CHANGE'

         EXPORTING

           i_bukrs              = gs_data-rbukrs

           i_belnr              = gs_data-belnr

           i_gjahr              = gs_data-gjahr

           i_buzei              = lv_buzei

           x_lock               = 'X'

           i_upd_fqm            = 'X'

         TABLES

           t_accchg             = gt_accchg[]

         EXCEPTIONS

           no_reference         = 1

           no_document          = 2

           many_documents       = 3

           wrong_input          = 4

           overwrite_creditcard = 5

           error_message        = 6

           OTHERS               = 7.


   ENDTRY.

   IF sy-subrc <> 0.

     MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno  INTO gs_data-message_txt

     WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

     CONCATENATE '@8O@' gs_data-message_txt INTO gs_data-message_txt.

   ELSE.

     COMMIT WORK.

     CONCATENATE gs_data-message_txt '更新成功'  INTO gs_data-message_txt.

   ENDIF.


   MODIFY gt_data FROM gs_data.


   CLEAR gs_data.

 ENDLOOP.

目录
相关文章
|
Web App开发 前端开发 JavaScript
SAP UI5 应用开发教程之八十五 - 如何用 OPA5 编写测试用例来测试用户输入文本的功能试读版
SAP UI5 应用开发教程之八十五 - 如何用 OPA5 编写测试用例来测试用户输入文本的功能试读版
|
11月前
使用 ABAP 代码删除指定 SAP CRM 系统里 Opportunity 订单的文本
使用 ABAP 代码删除指定 SAP CRM 系统里 Opportunity 订单的文本
|
11月前
|
SQL 存储 API
SAP CRM 系统使用 API 和 open sql 读取订单长文本的两种方式比较
SAP CRM 系统使用 API 和 open sql 读取订单长文本的两种方式比较
|
11月前
|
存储
SAP ABAP 系统里长文本 Long Text 的设计和读取函数 READ_TEXT 详细讲解试读版
SAP ABAP 系统里长文本 Long Text 的设计和读取函数 READ_TEXT 详细讲解试读版
|
11月前
|
自然语言处理 IDE Java
SAP UI5 表格 Click to Select 文本的来源
SAP UI5 表格 Click to Select 文本的来源
|
11月前
|
开发者
SAP UI5 应用开发教程之四十四 - Label 和 Input 控件文本没有水平对齐的原因分析和解决方案
SAP UI5 应用开发教程之四十四 - Label 和 Input 控件文本没有水平对齐的原因分析和解决方案
|
BI
SAP ALV报表选择屏幕筛选字段动态文本
SAP ALV报表选择屏幕筛选字段动态文本
227 0
|
4月前
|
前端开发 搜索推荐 开发者
SAP UI5 sap.m.Column 控件的 minScreenWidth 属性介绍
SAP UI5 sap.m.Column 控件的 minScreenWidth 属性介绍
|
4月前
|
JavaScript 前端开发 开发者
SAP UI5 控件 sap.m.ListBase 的 inset 属性的作用介绍
SAP UI5 控件 sap.m.ListBase 的 inset 属性的作用介绍