点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
我正在使用以下ABAP代码将excel文件以二进制格式传输到AL11。
"我的基础"将是执行一些基本脚本的任务,将文件从AL11移至SFTP服务器。
问题:当我在SFTP服务器中打开文件时,它就像不可读的格式。
有人有什么想法吗?
报告zdemo_excel25。 数据:lo_excel TYPE REF TO zcl_excel, lo_excel_writer类型参考zif_excel_writer, lo_worksheet类型参考zcl_excel_worksheet, lo_exception类型参考cx_root。 数据:lv_file TYPE xstring。 常量:lv_file_name TYPE字符串VALUE'25_HelloWorld.xlsx'。 数据:lv_default_file_name TYPE字符串。 数据:lv_error TYPE字符串。 通话功能" FILE_GET_NAME_USING_PATH" 出口 logical_path ='LOCAL_TEMPORARY_FILES''逻辑路径' file_name = lv_file_name"文件名 输入 file_name_with_path = lv_default_file_name。 带有路径的文件名 "创建活动工作表 创建对象lo_excel。 "获取活动表 lo_worksheet = lo_excel-> get_active_worksheet()。 lo_worksheet-> set_title(ip_title ='Sheet1')。 lo_worksheet-> set_cell(ip_column ='B'ip_row = 2 ip_value ='Hello world')。 创建对象lo_excel_writer类型zcl_excel_writer_2007。 lv_file = lo_excel_writer-> write_file(lo_excel)。 尝试。 OPEN DATASET lv_default_file_name用于二进制模式下的输出。 将lv_file传输到lv_default_file_name。 关闭数据集lv_default_file_name。 捕获cx_root INTO lo_exception。 lv_error = lo_exception-> get_text()。 消息lv_error类型" I"。 ENDTRY。
Siong Chao Ng ,
由于缺少足够的特权,SFTP会发生此问题/对于要放置的文件的权限,您应该依次按以下步骤进行操作:
1)在您的BASIS团队的帮助下,以Linux为操作系统创建一个外部命令名称。
2)操作系统命令名称必须为CHMOD。
3)应用所需的参数值(为文件"完全访问"提供了777),您可以与BASIS小组讨论更多
3)创建外部命令后,必须将命令与文件路径集成。
4)在ABAP程序中,使用以下命令打开文件路径 打开数据集,调用功能模块SXPG_COMMAND_EXECUTE以应用所需的权限,该权限是通过外部命令创建的。 下面的屏幕截图供参考。 这里的命令名称将保存在SM69中创建的命令,其他参数将保存在上一步中打开的路径。
5)在上面的调用中,如果状态不等于E,那么将成功应用权限。
6)将文件放置在具有这些权限的位置后,您可以询问 基础团队将文件从Al11移到SFTP并尝试从SFTP访问文件。
7)这将帮助您访问文件。
注意!
# p#您能否澄清一下,支持xlsx的应用程序是否可以明确读取AL11中的文件? 例如,使用Trx从AL11下载文件。 CG3Y(或在CRM系统中,请使用FM ARCHIVFILE_SERVER_TO_CLIENT)。/li>
嗨迈克尔,
从AL11可以使用CG3Y读取。 移至SFTP时不可读。
如果是SFTP问题,请提供SFTP详细信息。 请用对应于SFTP的一个标签替换ABAP开发标签。
这很简单 Sandra Rossi :),我在使用SFTP的文件界面中遇到了类似的问题。
致谢!
一周热门 更多>