ABAP excel上传时,数字带文本逗号 转ABAP数量QUAN金额CURR 格式

news/2025/1/5 15:30:35/文章来源:https://www.cnblogs.com/wangzuoer/p/18649874

主要使用 

函数MOVE_CHAR_TO_NUM

或者 UNITS_STRING_CONVERT  

第二个需要限制客户SU3 参数配置X

或者函数入参默认X, excel导出默认时X格式,

 

样例参考代码

*&---------------------------------------------------------------------*
*& Report YWWZ_TEST57
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT ywwz_test57.DATA:lv_wrbtr TYPE resb-bdmng.
DATA:lv_wrbtr_num TYPE mchb-clabs.
DATA:lv_clabs TYPE mchb-clabs.
DATA:lv_wrbtr_c TYPE char50.
DATA:lv_wrbtr_c_str TYPE char50.DATA:lv_p_space TYPE char50.
DATA:lv_p_x TYPE char50.
DATA:lv_p_y TYPE char50.DATA:lv_dcpfm TYPE usr01-dcpfm.
DATA:lv_units TYPE char50.SELECT SINGLE dcpfm INTO lv_dcpfmFROM usr01WHERE bname = sy-uname.lv_p_space = '336.341,210'.
lv_p_x = '336,341.210'.
lv_p_y = '-336 341,210'.  "负数 336 341,21-CASE lv_dcpfm.WHEN ''.lv_wrbtr_c = lv_p_space.WHEN 'X'.lv_wrbtr_c = lv_p_x.WHEN 'Y'.lv_wrbtr_c = lv_p_y.WHEN OTHERS.
ENDCASE.BREAK-POINT.
CALL FUNCTION 'MOVE_CHAR_TO_NUM'EXPORTINGchr             = lv_wrbtr_cIMPORTINGnum             = lv_wrbtr_numEXCEPTIONSconvt_no_number = 1convt_overflow  = 2OTHERS          = 3.lv_clabs = lv_wrbtr_num.BREAK-POINT.lv_wrbtr_c_str = lv_wrbtr_c.IF lv_wrbtr_c+0(1) = '-'.SHIFT lv_wrbtr_c_str BY 1 PLACES .
ENDIF.CALL FUNCTION 'UNITS_STRING_CONVERT'EXPORTINGunits_string = lv_wrbtr_c_strdcpfm        = lv_dcpfm
*   MLLN         = 'M'
*   TSND         = 'T'IMPORTINGunits        = lv_wrbtrEXCEPTIONSinvalid_type = 1OTHERS       = 2.IF lv_wrbtr_c+0(1) = '-'.lv_wrbtr = lv_wrbtr * -1.
ENDIF.lv_clabs  = lv_wrbtr.WRITE lv_clabs.
FINAL(lv_test_text) = |{ lv_clabs NUMBER = USER }|.BREAK-POINT.

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/863324.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

11 个必备 Docker 工具

​ 1. LazyDocker命令行下的 Docker 管理利器LazyDocker 是一个为命令行用户设计的友好型终端工具,用于管理 Docker 容器、镜像和存储卷。它适合那些习惯于命令行操作但又希望拥有直观界面的用户。 通过 LazyDocker,你可以一站式查看容器的状态、资源消耗、日志等详细信息,并…

大语言模型提示技巧(三)-迭代式提示

大语言模型还没有达到能够准确猜测人类意图的程度,此时它不能立即反馈出令人满意的答复,我们需要做的是对大语言模型进行迭代式提示,反复推进,直至大语言模型给出了令人满意的答案。我们与大语言模型交互时,往往给出的提示过于简略,而大语言模型还没有达到能够准确猜测你…

spring 中 Bean 的生命周期

spring 中 Bean 的生命周期是怎样的?原文 连环18问 https://mp.weixin.qq.com/s/liWn2Dn91cmuiqHSxVO_fASpringBean 生命周期大致分为4个阶段:1.「实例化」,实例化该 Bean 对象2.「填充属性」,给该 Bean 赋值3.「初始化」如果实现了 Aware 接口,会通过其接口获取容器资源如…

一步一步构建RAG智能问答系统

一步一步基于LangChain构建智能问答系统(Construct intelligent question answering system based on LangChain)虽然LLM(大语言模型)非常强大,但它们对于它们未经训练的信息一无所知。如果想使用LLM来回答它未经训练的文档相关问题,我们需要向其提供这些文档的信息。最常…

VSCode开发uni-app环境搭建

为什么选择VS Code?1, HbuilderX对TS类型支持暂不完善2, 前端程序员最熟悉的编辑器3, 支持各种AI插件(比如国内的阿里云通义灵码、百度comate、豆包MarsCode等,国外的也有很多)。安装uni-aap插件(快速创建页面、uni-app代码提示、鼠标悬停查看文档)1, uni-create-vie…

函子

函子在C#中,函数式编程的函子(Functor)是一种实现特定接口或模式的结构,它能够将函数应用于数据结构中的值。函子的核心概念源自数学中的范畴理论,但在编程中更倾向于实际操作。 函子的特点包装一个值:函子是一个容器,能够存储某种类型的值。 提供一个方法来应用函数:它…

【前端开发】前端接口防止重复请求实现方案

#薅羊毛 前言 前段时间老板心血来潮,要我们前端组对整个的项目都做一下接口防止重复请求的处理(似乎是有用户通过一些快速点击薅到了一些优惠券啥的)。。。听到这个需求,第一反应就是,防止薅羊毛最保险的方案不还是在服务端加限制吗?前端加限制能够拦截的毕竟有限。可老板…

小辰讲故事哄娃神器

点击上方蓝字睿共享关注我 前言 我给大家安利一款哄娃软件,无论是车机还是安卓手机都能轻松驾驭。这款软件简直就是孩子们的欢乐宝库,首页上五大板块一目了然:精彩故事、知识小站、儿歌乐园、英语启蒙,还有家长加油站。家里有小朋友的家长们,这款软件绝对值得一试,保证大…

MySQL优化--插入数据优化和主键优化

一、插入数优化(insert) 平时我们插入数据的时候一般都是一个语句插一个数据,如下所示:insert into tb_test values(1,tom); insert into tb_test values(2,cat); insert into tb_test values(3,jerry);如果我们需要一次性往数据库表中插入多条记录,可以从以下三个方面进行…

推荐一个双语对照的 PDF 翻译工具的开源项目:PDFMathTranslate

今天给大家推荐一个双语对照的 PDF 翻译工具的开源项目:PDFMathTranslate 。项目介绍: 基于 AI 完整保留排版的 PDF 文档全文双语翻译,支持 Google/DeepL/Ollama/OpenAI 等服务,提供 CLI/GUI/Docker 。 项目亮点:基于 AI 布局分析和 PDF 指令流分析实现对文档排版的完整保…

delphi 协程 doroutine 协程作用域

简介 一个协程可以支持多个作用域,比如:.scopes([form1, form2, form3]),作用域关闭,则这个作用域下面的所有协程都会被取消并关闭; 若一个作用域下,挂载一个协程A,这个协程A 又会衍生成百上千的子协程,此时只需要给这个协程A设置一下作用域就可以了,没有必要 A衍生的…