控制中断语句中SUM面临的问题。

2020-09-05 20:53发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我刚刚开始学习ABAP。 我在控制中断语句中遇到SUM问题。

我使用FM GUI_UPLOAD上传了一个文件,并尝试使用控制中断语句来计算总和,但是它不起作用。是否需要声明任何其他变量来存储值? 你能帮我这个忙吗?

也上传输入和输出图像。

谢谢。

 types:ty_cont的开头,
         名称类型字符串,
         模块类型字符串,
         num类型的字符串,
       ty_cont的结尾。

 数据:ty_cont的it_cont类型表,
       wa_cont TYPE ty_cont,
       v_flag类型c。

 通话功能'GUI_UPLOAD'

   出口
     FILENAME ='C:\ Users \ 1210261 \ Desktop \ notepad.txt'
     FILETYPE ='ASC'
     HAS_FIELD_SEPARATOR ='X'

   桌子
     DATA_TAB = it_cont
   例外情况
     FILE_OPEN_ERROR = 1
     FILE_READ_ERROR = 2
     NO_BATCH = 3
     GUI_REFUSE_FILETRANSFER = 4
     INVALID_TYPE = 5
     NO_AUTHORITY = 6
     UNKNOWN_ERROR = 7
     BAD_DATA_FORMAT = 8
     HEADER_NOT_ALLOWED = 9
     SEPARATOR_NOT_ALLOWED = 10
     HEADER_TOO_LONG = 11
     UNKNOWN_DP_ERROR = 12
     ACCESS_DENIED = 13
     DP_OUT_OF_MEMORY = 14
     DISK_FULL = 15
     DP_TIMEOUT = 16
     其他= 17。

 如果SY-SUBRC <> 0。
 *在这里实施适当的错误处理
 万一。

 如果SY-SUBRC = 0。
   排序IT_CONT。
   在it_cont INTO wa_cont中循环。

     首先。
       写道:/"名称",
            12个"模块",
            24'num'。
     ENDAT。

     以新名称。
       v_flag ='X'。
     ENDAT。
   
  如果v_flag ='X'。
       写:/wa_cont-name,
                12 wa_cont-module,
                24 wa_cont-num。
     其他。

      写入:/12 wa_cont-module,
             24 wa_cont-num。
     万一。

     在名称末尾。
       和。
         写:/'小计是:',wa_CONT-NUM。
       和。
     ENDAT。

     最后。
       和。
         写:/'总计为:',wa_CONT-NUM。
       和。
     ENDAT。

 清除:wa_CONT,v_flag。
   结局。
  ENDIF。

(5.0 kB)

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我刚刚开始学习ABAP。 我在控制中断语句中遇到SUM问题。

我使用FM GUI_UPLOAD上传了一个文件,并尝试使用控制中断语句来计算总和,但是它不起作用。是否需要声明任何其他变量来存储值? 你能帮我这个忙吗?

也上传输入和输出图像。

谢谢。

 types:ty_cont的开头,
         名称类型字符串,
         模块类型字符串,
         num类型的字符串,
       ty_cont的结尾。

 数据:ty_cont的it_cont类型表,
       wa_cont TYPE ty_cont,
       v_flag类型c。

 通话功能'GUI_UPLOAD'

   出口
     FILENAME ='C:\ Users \ 1210261 \ Desktop \ notepad.txt'
     FILETYPE ='ASC'
     HAS_FIELD_SEPARATOR ='X'

   桌子
     DATA_TAB = it_cont
   例外情况
     FILE_OPEN_ERROR = 1
     FILE_READ_ERROR = 2
     NO_BATCH = 3
     GUI_REFUSE_FILETRANSFER = 4
     INVALID_TYPE = 5
     NO_AUTHORITY = 6
     UNKNOWN_ERROR = 7
     BAD_DATA_FORMAT = 8
     HEADER_NOT_ALLOWED = 9
     SEPARATOR_NOT_ALLOWED = 10
     HEADER_TOO_LONG = 11
     UNKNOWN_DP_ERROR = 12
     ACCESS_DENIED = 13
     DP_OUT_OF_MEMORY = 14
     DISK_FULL = 15
     DP_TIMEOUT = 16
     其他= 17。

 如果SY-SUBRC <> 0。
 *在这里实施适当的错误处理
 万一。

 如果SY-SUBRC = 0。
   排序IT_CONT。
   在it_cont INTO wa_cont中循环。

     首先。
       写道:/"名称",
            12个"模块",
            24'num'。
     ENDAT。

     以新名称。
       v_flag ='X'。
     ENDAT。
   
  如果v_flag ='X'。
       写:/wa_cont-name,
                12 wa_cont-module,
                24 wa_cont-num。
     其他。

      写入:/12 wa_cont-module,
             24 wa_cont-num。
     万一。

     在名称末尾。
       和。
         写:/'小计是:',wa_CONT-NUM。
       和。
     ENDAT。

     最后。
       和。
         写:/'总计为:',wa_CONT-NUM。
       和。
     ENDAT。

 清除:wa_CONT,v_flag。
   结局。
  ENDIF。

(5.0 kB)
付费偷看设置
发送
2条回答
天桥码农
1楼 · 2020-09-05 21:21.采纳回答

您的num字段是字符串类型,SUM仅适用于表的数字数据类型组件。 将num更改为数字数据类型,它应该可以工作。

路亽曱_Ryan
2楼-- · 2020-09-05 21:09

非常感谢您。 ��它起作用了。 它显示了我的纯粹过失:P

一周热门 更多>