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

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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