2020-08-26 02:40发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我的用于将EXCEL文件从SAP发送到FTP和从FTP发送到SAP的程序在前端运行正常。(手动执行时)
但是当我在从SAP到FTP的后台调度中执行程序时,我遇到以下错误:
"工作开始
步骤001开始(程序ZMM_TEST,变体&0000000000002,用户ID)
无效的FTP句柄
系统异常ERROR_MESSAGE后取消作业"
如果现在,您可以在对话框(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,因此有一个字节的移位(或类似的东西)。
谢谢先生,
我正在从mara表中获取物料主数据到内部表中。
定义路径,例如" \\ MM \ Material.xls"。 并使用功能模块
HTTP_SCRAMBLE
FTP_CONNECT
'FTP_R3_TO_SERVER'我必须将文件发送到FTP,然后从FTP接收以进行进一步处理。
将您的Excel文件转换为文本文件和CSV文件,然后在后台运行文本文件和CSV文件
HI MR。 Prasanna CD
还检查了授权级别。 并经过提到您的线程:无效的FTP句柄。
面临同样的问题。
按照您的建议,我在前景和背景中尝试了文本文件。
前景很好。 但是当我们在后台运行时,状态显示为绿色。 但是当我们单击假脱机时,它会显示
" FTP命令错误"
是的。附加代码为 demo- code-31.txt 工作正常,可以将文件发送到前台的FTP服务器,而不能在后台工作。
谢谢先生
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
最多设置5个标签!
如果现在,您可以在对话框(RFC目标SAPFTP)和后台(RFC目标SAPFTPA)中运行它,并且在两种情况下都可以使用,除了在后台运行时字符编码不正确(ऀ而不是tab) 字符十六进制" 09"(用于分隔值),则可能是由于SM59中的两个RFC目标之间存在差异," Unicode"标签:SAPFTP使用客户端代码页,而SAPFTPA使用Unicode。
是前端的代码页? 在事务SNLS中进行检查。
在后台使用前端代码页进行尝试:复制SAPFTPA,强制使用此代码页而不是Unicode,编辑程序以使用此新的RFC目标。 如果可行,您已找到罪魁祸首。 告诉我们,以便提出一个解决方法(我的意见是,您应该将WRK_DELIM1/4定义为TYPE C而不是TYPE X,并按如下所示对其进行初始化:
NB:我认为问题在于您将文件作为Unicode文本传输,每个字符在两个字节上,但是您将制表符插入定义为仅1个字节,而不是 2,因此有一个字节的移位(或类似的东西)。
谢谢先生,
我正在从mara表中获取物料主数据到内部表中。
定义路径,例如" \\ MM \ Material.xls"。 并使用功能模块
HTTP_SCRAMBLE
FTP_CONNECT
'FTP_R3_TO_SERVER'
我遵循错误的方法来实现。 请让我知道正确的方法。...我必须将文件发送到FTP,然后从FTP接收以进行进一步处理。
将您的Excel文件转换为文本文件和CSV文件,然后在后台运行文本文件和CSV文件
HI MR。 Prasanna CD
还检查了授权级别。 并经过提到您的线程:无效的FTP句柄。
面临同样的问题。
按照您的建议,我在前景和背景中尝试了文本文件。
前景很好。 但是当我们在后台运行时,状态显示为绿色。 但是当我们单击假脱机时,它会显示
" FTP命令错误"
是的。附加代码为 demo- code-31.txt 工作正常,可以将文件发送到前台的FTP服务器,而不能在后台工作。
谢谢先生
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
一周热门 更多>