点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
专家您好,
我正在尝试基于选择屏幕中的复选框,实现将Excel下载到桌面和应用程序服务器的功能。 目前工作正常。 但有以下几点需要研究。
- 金额结尾处带有负号,该值将被修改到值的前面。
在报告SAP屏幕和csv下载中,负号位于字符串的末尾。 Excel无法将金额值识别为数字,而无需重新格式化字段。 - 日期值显示为YYYYMMDD并以CSV格式下载。 更改此设置,以便将日期转换为用户默认值。
- 十进制表示法,当前输出带有小数点""。 应该使用用户默认设置。
我通过使用字符字段来解决这个问题,但这不起作用。 您能否提出您的建议。
问候,
A
您需要通过代码或屏幕截图显示您定义为下载数据的内容,以及如何创建" excel"文件以帮助我们。 是xlsx,xls还是csv。 到目前为止,我只能猜测。
日期和小数点
第一个问题似乎与您使用的数据类型有关,因为您没有显示编码,所以我假设您 正在使用内部ABAP类型(例如i,p,c等)或没有转换出口的数据类型,这些数据类型缺少从内部显示到外部显示的规则(例如char8)。
对于日期,您可以使用" TYPE 基准",对于整数和小数,您可以使用int4,dec31_14,wbtrg,mengv13。
您还可以为自己的数据类型创建自己的转换出口。 甚至可以使用WRITE ... USING EDIT MASK ...语句,但这取决于您如何创建excel文件。
ZERO作为后缀
SAP几乎总是 在右边显示带负号的符号。
如果需要在SAP的左侧显示标志,例如,在财务报告等可能需要的地方,您可以选择布局以解决其他格式选项。 在选择屏幕或ALV上,或者根据您的导出逻辑,您需要建立自己的转换出口或使用write ...使用编辑掩码...
但是取决于用于创建excel的工具 ,那应该为您解决这个问题。
创建Excel文件
您如何创建和下载excel文件? 是xlsx,xls还是csv。 您是使用工具还是自己创建工具? 还是先使用ALV预览它并从那里下载?
例如,您可以将github的abap2xlsx用于xlsx。 或针对xls使用OLE/ABAP。 如果您自己创建一个csv,则在创建行时,至少需要使用write语句,并且可能要考虑SAP用户默认设置(最坏的情况下还要考虑Excel设置)来进行"自己"转换。
在ALV中显示数据并使用ALV工具栏以xlsx,xls,csv的格式从那里下载数据也是获取"正确"数据的不错选择。
Ab ABAP ,请继续回答您的公开问题。
你好,
如下解决。
下面我提到了2种不同的情况。
对于桌面的GUI_DOWNLOAD选项,代码没有重大更改。 通过使SU01中的用户格式与Windows中的用户格式相同,可以确定生成的excel将具有用户所需的格式。
从下载到AL11的文件中下载Excel时,生成的Excel文件(使用CG3Y到桌面)将不具有带有值字段的列所需的格式。 由于我们在下载到AL11时使用了数据集文件生成选项,因此该文件始终为字符串/字符格式。 因此,在使用值字段的情况下,输出将不会具有数字格式,因此很难转换为数字格式。 标识在将文件串联形成数据集时,所有字段均为字符格式。 无论哪种语言,这都是CSV或制表符分隔值的已知问题。 那只是文本,没有信息是数字。 Excel不能再将它们解释为数字,而是将其打开为文本。 因此,我怀疑核心问题是分隔符与用户的本地首选项不匹配。 我添加了代码以识别并删除分隔符; 这可行。 使用CG3Y将文件从AL11下载到桌面时,在桌面中下载到excel时没有问题。 唯一的问题是关于分隔符的问题,因为我们在代码中将其删除了,所以这些分隔符不可用。
完全同意-需要查看代码以及如何创建excel文件...。
HI Ab ,
尝试使用日期转换代码。
和负号
嗨
转到SU01,选择用户ID
转到默认值
设置数字和日期格式
保存并退出会话
重新登录,然后执行程序并下载-excel文件将具有正确的格式
一周热门 更多>