点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 我想将数据块(每次10万...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 我想将数据块(每次10万...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨,
我想将数据块(每次10万条记录)下载到本地系统中。 在这里,我正在使用游标来做到这一点。 但是,只要系统要求用户更改或创建文件并导致转储,游标就会隐式关闭。
在第二次获取期间,我正在获取转储。 我尝试将光标与'WITH HOLD'一起使用以避免隐式关闭,但我一直遇到相同的错误。 有什么办法可以避免这种情况。
我的代码:
数据:lfa1的itab类型表, * lfa1的it2类型表, 当前类型光标 file_no TYPE i, c(1), 路径TYPE字符串VALUE'F:\'。 带有cur的OPEN CURSOR用于SELECT * FROM lfa1。 做。 在表itab包大小100000中获取下一个光标。 如果sy-subrc ne 0。 出口。 万一。 path ='F:\'。 file_no = file_no + 1。 c = file_no。 CONCATENATE路径'file'c'.csv'INTO路径。 通话功能'GUI_DOWNLOAD' 出口 * BIN_FILESIZE = FILENAME =路径 桌子 DATA_TAB = Itab。 ENDDO。 CLOSE CURSOR当前。
错误:
ABAP类别编程错误
运行时错误DBSQL_INVALID_CURSOR
除外。 CX_SY_OPEN_SQL_DB
未分配应用程序组件
短文本:光标已关闭或尚未打开。
嗨,Sandra Rossi,
我的意思是,我将使用您的建议在运行时定义一个where条件。
当我的数据较少时,上面的代码也以相同的方式工作。 使用上面的代码,如果我尝试下载10万个打包大小为10万个记录的记录,则我必须获取65次而不是10次。 不幸的是,我要获取数百万个记录(在极少数情况下为数十亿个),这种方法将比您花费更多的时间。
我只是想说,您的方法更可行。
谢谢
一周热门 更多>