Текущее время: Вт, июл 22 2025, 21:54

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
 Заголовок сообщения: Пуста таблица на входе RFC функции
СообщениеДобавлено: Пн, сен 10 2012, 09:39 
Специалист
Специалист

Зарегистрирован:
Пн, июн 04 2012, 10:31
Сообщения: 125
День добрый. Есть проблема, надеюсь на вашу помощь:

Есть rfc модуль, есть книга Excel, в которой которой vba-функциями формируется xml. В этот FM-ник нужно передать xml-строку, но т.к. импорт/экспорт параметры нельзя делать типа string,то я это строку на режу на подстроки и передаю в таблицу. Проблема в том, на стороне сервера эта таблица оказывается пустой, и при этом другие параметры(не табличный) нормально передаются. Как быть?

в модуле параметр таблицы определен Like TAB512
код vba-функций:


Code:
Private Function LoadDataToSAP(sXml As String) As Boolean
    On Error GoTo EH:
    Dim errDescr As String
   
    Dim result As Boolean
    Dim SAPFunc As Object
    Set SAPFunc = initSAPConn()
   
    If SAPFunc.Connection.Logon(0, False) <> True Then '(hWnd, bSilent)
        MsgBox "Ñîåäèíåíèå ñ ñèñòåìîé '" & SYSTEM_NAME & "' íå óñòàíîâëåíî."
        Exit Function
    End If
   
    Dim MyFunc  As Object
    Set MyFunc = SetupSAPFunctionTo(SAPFunc, sXml)
       
    result = MyFunc.Call
   
    If result = True Then
        LoadDataToSAP = True
    End If
   
    SAPFunc.Connection.Logoff
   
    Exit Function
EH:
    errDescr = Err.Description
   
    SAPFunc.Connection.Logoff
    MsgBox errDescr, vbExclamation, Application.Name
End Function

Private Function initSAPConn() As Object
    Dim tmpSAPFunc As Object
    Set tmpSAPFunc = CreateObject("SAP.Functions")  ' wdtfuncs.ocx SAP Remote Function Call Control / Function
 
    With tmpSAPFunc.Connection ' wdtlog.ocx SAP Logon Control / Connection
        .System = SYSTEM_NAME
        .ApplicationServer = APP_SERV
        .SystemNumber = SYSTEM_NUM
        .Client = MANDT
        .User = USERNAME
        .PASSWORD = PASSWORD
        .LANGUAGE = LANGUAGE
        .CodePage = CODE_PAGE
    End With

    Set initSAPConn = tmpSAPFunc
End Function

Private Function SetupSAPFunctionTo(ByRef SapFunction As Object, sXml As String) As Object
    Dim i As Long
   
    Dim tmpFunc As Object
    Set tmpFunc = SapFunction.Add(SAP_LOAD_FUNCTION_NAME)
   
    Dim oXml As Object
    Set oXml = tmpFunc.Tables("XML1")
   
    Dim mXml() As String
    mXml = SetupXmlArray(sXml)
   
    For i = 1 To UBound(mXml)
        oXml.Rows.Add
        oXml.value(i, "WA") = mXml(i)
    Next i
       
    Dim oPeriod As Object
    Set oPeriod = tmpFunc.Exports("PERIOD")
    oPeriod.value = GetFormName()

    Dim oFormName As Object
    Set oFormName = tmpFunc.Exports("FORM_NAME")
    oFormName.value = GetPeriod()
       
    Set SetupSAPFunctionTo = tmpFunc

End Function


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Пуста таблица на входе RFC функции
СообщениеДобавлено: Пн, сен 10 2012, 11:09 
Специалист
Специалист

Зарегистрирован:
Пн, июн 04 2012, 10:31
Сообщения: 125
Или, может, есть другие варианты передачи строки неограниченной длины в rfc?
Хотя, причину сабжа тоже хотелось бы узнать


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Пуста таблица на входе RFC функции
СообщениеДобавлено: Пн, сен 10 2012, 14:32 
Старший специалист
Старший специалист

Зарегистрирован:
Вт, ноя 18 2008, 10:40
Сообщения: 342
Откуда: Пермь
Пол: Мужской
С версии 4.6С вполне можно передавать параметры типа string по RFC


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Пуста таблица на входе RFC функции
СообщениеДобавлено: Пн, сен 10 2012, 14:34 
Специалист
Специалист

Зарегистрирован:
Пн, июн 04 2012, 10:31
Сообщения: 125
zsap написал:
С версии 4.6С вполне можно передавать параметры типа string по RFC

Версия SAP NetWeaver 7.3. Ругается на тип string при вызове из vba.

ps с пустой таблицей разобрался.


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB