Я пытаюсь запустить инфопакет из макроса на VBA, но что-то не получается.
Код примерно такой:
Code:
Dim oBAPICtrl As Object
Dim oBAPILogon As Object
Dim oBAPIPackage As Object
Dim Request As Variant
Dim Tabl As Object
Set oBAPICtrl = CreateObject("SAP.BAPI.1")
Set oBAPILogon = CreateObject("SAP.Logoncontrol.1")
Set oBAPICtrl.Connection = oBAPILogon.NewConnection
With oBAPICtrl.Connection
.System = "система"
.MessageServer = "сервер"
.GroupName = "группа"
.Client = "клиент"
.User = "юзер"
.Password = "пароль"
.Language = "язык"
End With
If oBAPICtrl.Connection.Logon(1, False) = False Then
MsgBox "Что-то не так..."
End
End If
Set oBAPIPackage = oBAPICtrl.GetSAPObject("InfoPackage")
oBAPIPackage.Schedule JobName:="Тех. имя инфопакета", _
RequestID:=Request, _
Return:=Tabl
oBAPICtrl.Connection.Logoff
При этом все отрабатывает нормально вплоть до строки
Code:
oBAPIPackage.Schedule JobName:="Тех. имя инфопакета", _
RequestID:=Request, _
Return:=Tabl
на ней макрос валится с ошибкой
The persistent key for an business object instance of type InfoPackage has not been set.
Cannot invoke method SCHEDULE.
Смотрел исходники метода. Там в параметрах ввода вовсе не только название задания (job), а еще имя инфорпакета (infopackage) присутствует. Пробовал прописывать в jobname и то и другое с неизменно превосходным результатом - вышеупомянутой ошибкой.
Не сталкивался ли кто с похожей проблемой?
Заранее благодарен.