点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
我面临通过Excel文件在SAP上运行Query的问题。 根据一些同事的说法,他们认为主要的问题是我的PC是64位。
您知道这是否真的有问题吗?
如果有问题,您可以在这里使用我正在使用的代码。 还有其他运行方式吗?
*************************************************** **************************************************
将R3视作对象
Sub TESTE()
昏暗x作为字符串
x = PR_report2(" NOME DA QUERY"," NOME DO GRUPO"," VARIANTE",True," ABA DO EXCEL")
x = PR_report2(" XXX"," XX"," XXX",True," DTbase")
结束子
函数PR_report2(Q作为字符串,U作为字符串,d作为字符串,man作为布尔值,vTabela作为字符串)作为字符串
将SAP作为新的SAPFunction
将QUERY作为对象,将SELECTION_TABLE作为对象,结果
将LDATA作为对象,将LISTDESC作为对象,将FPAIRS作为对象,将行作为对象
将iRow设置为长,将iStartStringRow设置为长,将DataIndex设置为长,将记录数设置为长,将记录长度设置为长
将NumberofFields设置为整数,将FieldLength设置为整数,将iRec设置为长整数,将iField设置为整数
将DATALINE设为字符串,将ControlPosition设为字符串
将SAPRecords()更改为记录
将a设为字符串,将x设为整数,将van设为布尔值
将cn设为新的ADODB.Connection
将rs视作新的ADODB.Recordset
将R3视作对象
'设置db = CurrentDb
设置R3 = CreateObject(" SAP.Functions")
设置R3 = CreateObject(" SAP.Functions")
R3.Connection.Client =" 200"
R3.Connection.User =" XXX"
R3.Connection.Language =" EN"
R3.Connection.Password =" XXX"
R3.Connection.SystemNumber =" 00"
R3.Connection.System =" PRO"
R3.Connection.GroupName =" BRIDGE"
R3.Connection.MessageServer =" SIte"
如果R3.Connection.Logon(0,True)<> True然后
如果R3.Connection.Logon(0,False)<> True然后
退出功能
如果结束
如果结束
TBL = vTabela
设置QUERY = R3.Add(" RSAQ_REMOTE_QUERY_CALL")
设置SELECTION_TABLE = QUERY.tables(" SELECTION_TABLE")
QUERY.exports(" WORKSPACE")=""
QUERY.exports(" QUERY")= Q
QUERY.exports(" USERGROUP")= U
QUERY.exports(" VARIANT")= d
QUERY.exports(" SKIP_SELSCREEN")=" X"
QUERY.exports(" DATA_TO_MEMORY")=" X"
QUERY.exports(" EXTERNAL_PRESENTATION")=""
结果= QUERY.Call
如果结果= True,那么
如果man = False,那么
R3.Connection.Logoff
如果结束
设置LDATA = QUERY.tables(" LDATA")
设置LISTDESC = QUERY.tables(" LISTDESC")
设置FPAIRS = QUERY.tables(" FPAIRS")
R3.Connection.Logoff
对于iRow = iStartStringRow +1至(LDATA.RowCount)
DATALINE = DATALINE&LDATA(iRow,1)
下一个iRow
DataIndex = 1
记录数= 0
RecordLength = 0
执行直到DataIndex +1> = Len(DATALINE)
记录数=记录数+ 1
NumberofFields = 0
FieldLength = 0
ControlPosition =""
直到ControlPosition =";"
FieldLength = CInt(Mid(DATALINE,DataIndex,3))'将字符串转换为整数
NumberofFields = NumberofFields +1
ReDim保留SAPRecords(RecordofRecords)
ReDim保留SAPRecords(NumberofRecords).RecordField(NumberofFields)
SAPRecords(NumberofRecords).RecordField(NumberofFields).FieldLgth = FieldLength
SAPRecords(NumberofRecords).RecordField(NumberofFields).FieldContents = Mid(DATALINE,DataIndex + 4,FieldLength)
ControlPosition = Mid(DATALINE,DataIndex + 4 + FieldLength,1)
DataIndex = DataIndex + FieldLength + 5
循环
循环
床单(vTabela)。选择
'Application.Cells.Select
范围(" A2:AO2")。选择'SELECIONA O QUE QUER
Range(Selection,Selection.End(xlDown))。选择'VAI PARA A ULTIMA LINHA DE DADOS SELECIONADO
选择。清除
对于iRec = 2到记录数
对于iField = 1到LISTDESC.RowCount
单元格(iRec,iField)。值= SAPRecords(iRec).RecordField(iField).FieldContents'mezoertekek kiirasa
下一个iField
'rs.Update
下一个iRec
'ConexaoSQLServer cn
'rs.Open" SELECT * FROM"&TBL&"",cn,adOpenDynamic,adLockOptimistic
'对于iRec = 1到记录数
'rs.AddNew
'对于iField = 1到LISTDESC.RowCount
'rs.Fields(iField-1).Value = SAPRecords(iRec).RecordField(iField).FieldContents'mezoertekek kiirasa
'下一个iField
'rs.Update
'下一个iRec
'rs.Close
'cn.Close
PR_report1 ="确定"
其他
如果man = False,那么
R3.Connection.Logoff
如果结束
PR_report2 = QUERY.exception
如果结束
结束功能
大家好,
在同一代码上,现在面临以下错误:RUN-TIME 61704-内部应用错误
有人知道这是什么吗?
一周热门 更多>