后台计划Excel文件程序(SAP-FTP):无效的FTP句柄

2020-08-26 02:40发布

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

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


我的用于将EXCEL文件从SAP发送到FTP和从FTP发送到SAP的程序在前端运行正常。(手动执行时)

但是当我在从SAP到FTP的后台调度中执行程序时,我遇到以下错误:

"工作开始

步骤001开始(程序ZMM_TEST,变体&0000000000002,用户ID)

无效的FTP句柄

系统异常ERROR_MESSAGE后取消作业"

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

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


我的用于将EXCEL文件从SAP发送到FTP和从FTP发送到SAP的程序在前端运行正常。(手动执行时)

但是当我在从SAP到FTP的后台调度中执行程序时,我遇到以下错误:

"工作开始

步骤001开始(程序ZMM_TEST,变体&0000000000002,用户ID)

无效的FTP句柄

系统异常ERROR_MESSAGE后取消作业"

付费偷看设置
发送
20条回答
hengyuye
1楼 · 2020-08-26 03:31.采纳回答

如果现在,您可以在对话框(RFC目标SAPFTP)和后台(RFC目标SAPFTPA)中运行它,并且在两种情况下都可以使用,除了在后台运行时字符编码不正确(ऀ而不是tab) 字符十六进制" 09"(用于分隔值),则可能是由于SM59中的两个RFC目标之间存在差异," Unicode"标签:SAPFTP使用客户端代码页,而SAPFTPA使用Unicode。

是前端的代码页? 在事务SNLS中进行检查。

在后台使用前端代码页进行尝试:复制SAPFTPA,强制使用此代码页而不是Unicode,编辑程序以使用此新的RFC目标。 如果可行,您已找到罪魁祸首。 告诉我们,以便提出一个解决方法(我的意见是,您应该将WRK_DELIM1/4定义为TYPE C而不是TYPE X,并按如下所示对其进行初始化:

 ...
       开始于EXCEL_ST,
       MATNR型MARA-MATNR,"材料代号
       WRK_DELIM1 TYPE C," <====不要使用X
       MTART TYPE MARA-MTART,"植物
       WRK_DELIM2 TYPE C," <====不使用X
       MATKL TYPE MARA-MATKL,
       WRK_DELIM3 TYPE C," <====不使用X
       MEINS TYPE MARA-MEINS,"分配渠道
       WRK_DELIM4 TYPE C," <====不使用X
       MBRSH TYPE MARA-MBRSH,"材料描述(短文本)
       结束于EXCEL_ST。
 ...
 WA_EXCEL-WRK_DELIM1 = cl_abap_char_utilities =>水平标签。 或| \ t |
 WA_EXCEL-WRK_DELIM2 = cl_abap_char_utilities =>水平标签。 或| \ t |
 WA_EXCEL-WRK_DELIM3 = cl_abap_char_utilities =>水平标签。 或| \ t |
 WA_EXCEL-WRK_DELIM4 = cl_abap_char_utilities =>水平标签。 或| \ t | 

NB:我认为问题在于您将文件作为Unicode文本传输,每个字符在两个字节上,但是您将制表符插入定义为仅1个字节,而不是 2,因此有一个字节的移位(或类似的东西)。

2楼-- · 2020-08-26 03:22

谢谢先生,

我正在从mara表中获取物料主数据到内部表中。

定义路径,例如" \\ MM \ Material.xls"。 并使用功能模块

HTTP_SCRAMBLE

FTP_CONNECT

'FTP_R3_TO_SERVER'
我必须将文件发送到FTP,然后从FTP接收以进行进一步处理。

我遵循错误的方法来实现。 请让我知道正确的方法。...

Alawn_Xu
3楼-- · 2020-08-26 03:20

将您的Excel文件转换为文本文件和CSV文件,然后在后台运行文本文件和CSV文件

nice_wp
4楼-- · 2020-08-26 03:12

HI MR。 Prasanna CD

还检查了授权级别。 并经过提到您的线程:无效的FTP句柄。

面临同样的问题。

小c菟菟
5楼-- · 2020-08-26 03:34

按照您的建议,我在前景和背景中尝试了文本文件。

前景很好。 但是当我们在后台运行时,状态显示为绿色。 但是当我们单击假脱机时,它会显示

" FTP命令错误"

bbpeas
6楼-- · 2020-08-26 03:13

是的。附加代码为 demo- code-31.txt 工作正常,可以将文件发送到前台的FTP服务器,而不能在后台工作。

谢谢先生

SAP浪
7楼-- · 2020-08-26 03:11

A。 我必须更改代码,首先要在我创建的新的自定义后台作业中上传文件:

1。 在运行SAP标准程序的SAP后台作业中插入新的第一步,仅将文件从PC上传到SAP。 (我必须更改我的位置,才能在后台上传CSV或TXT文件(不是在后台上传Excel))

2。 SAP后台作业的第二步运行程序(使用您在上面的步骤1中上传的文件)

B。 结帐

CALL FUNCTION'TEXT_CONVERT_XLS_TO_SAP'

CALL FUNCTION'ALSM_EXCEL_TO_INTERNAL_TABLE'

调用函数" GUI_UPLOAD"

参考

https://answers.sap.com/questions/871715/guiupload.html

https: //answers.sap.com/questions/4470016/program-to-upload-a-excel-file-into-z-table.html

https://answers.sap。 com/questions/5892051/reading-excel-file-on-application-server.html

https://www.erpgreat。 com/abap/sample-abap-code-on-bapi-po-change.htm

https: //sapbazar.com/articles/item/662-upload-excel-from-local-system-to-sap-table-using-abap

一周热门 更多>