Текущее время: Вс, июн 22 2025, 15:33

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




Начать новую тему Ответить на тему  [ Сообщений: 25 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: Передача значений из Bex
СообщениеДобавлено: Пт, июл 29 2011, 12:00 
Ассистент
Ассистент

Зарегистрирован:
Пт, июл 29 2011, 11:43
Сообщения: 47
Привет всем,

Помогите с проблемой пожалуйста:

вот мой код, при помощи которого я передаю данные из Query (BexAnalyser 7.0 на BW)
Соединение было конечно же с BW перед вызовом Query установлено

Code:
Sub rfc_aufrufen()
Dim BW, MyFunc, ConnObject As Object
Dim oTab As SAPTableFactoryCtrl.Table
'Dim oTab As Object
Dim lRow As Long

Dim IntZeile As Integer
Dim i As Integer
Dim j As Integer
Dim tmp As Integer
tmp = 1

Set BW = CreateObject("SAP.Functions")

On Error Resume Next
Set ConnObject = Application.Run("BexAnalyzer.xla!sapbexGetConnection")
'Set ConnObject = Run("BexAnalyzer.xla!sapbexGetConnection")
If Not (ConnObject Is Nothing) Then
    Set BW.Connection = ConnObject
Else
  Exit Sub
End If

If Not BW.Connection.Logon(0, True) Then
    MsgBox "Logon fehlgeschlagen!!!", vbCritical
    Exit Sub
Else
'    MsgBox "Logon erfolgreich"
End If


Set MyFunc = BW.Add("ZBW_AEND_PROTOKOLLE_SPEICHERN")
'Set MyFunc = BW.Add("ZBW_AEND_PROTOKOLLE_SPEICHERN")
Set oTab = MyFunc.Tables("T_AEND_GRUENDE")


For IntZeile = 1 To 15
    If Range("F" & IntZeile) = "Änderungsnummer" Then
        j = IntZeile + 1
    End If
Next IntZeile

For i = j To 200
        Range("N" & i).Value = Replace(Range("N" & i).Value, Chr(35), "")
    If Range("N" & i) <> "" Then
        oTab.AppendRow
        oTab.Value(tmp, "/BIC/ZAENDNR") = "" & Cells(i, 6) & ""
        oTab.Value(tmp, "/BIC/ZAENDTX1") = "" & Cells(i, 14) & ""
        Cells(i, 15).Value = Replace(Cells(i, 15).Value, Chr(35), "")
        oTab.Value(tmp, "/BIC/ZAENDTX2") = "" & Cells(i, 15) & ""
        Cells(i, 16).Value = Replace(Cells(i, 16).Value, Chr(35), "")
        oTab.Value(tmp, "/BIC/ZAENDTX3") = "" & Cells(i, 16) & ""
        Cells(i, 17).Value = Replace(Cells(i, 17).Value, Chr(35), "")
        oTab.Value(tmp, "/BIC/ZAENDTX4") = "" & Cells(i, 17) & ""
        Cells(i, 18).Value = Replace(Cells(i, 18).Value, Chr(35), "")
        oTab.Value(tmp, "/BIC/ZAENDTX5") = "" & Cells(i, 18) & ""
        tmp = tmp + 1
    End If
Next i
   

If MyFunc.Call Then
' MsgBox MyFunc.Imports("E_MESSAGE")
'    MsgBox MyFunc.Call
Else

MsgBox "Aufruf fehlerhaft!!" & vbCrLf & oFunc.ReturnCode & ":" & oFunc.Exception, vbCritical
End If

On Error Resume Next
Set oTab = Nothing
Set MyFunc = Nothing
BW.Connection.Logoff
Set BW = Nothing
Set ConnObject = Nothing

End Sub


после нажатия на кнопку данные передаются успешно в BW, но если я после этого нажимаю правой мышкой на Таблицу или закрываю Еxcel таблицу, то Еxcel летит и выдаёт следующею ошибку:

EXCEPTION TABLE_NOT_ACTIVE RAISED

чтобы это могло быть?

Благодарю за помощь


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Передача значений из Bex
СообщениеДобавлено: Пт, июл 29 2011, 13:38 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, авг 04 2006, 20:56
Сообщения: 1006
Откуда: 37 МИКРОРАЙОН
Пол: Мужской
Проблема вот в этом BAPI:
lescha написал(а):
Set MyFunc = BW.Add("ZBW_AEND_PROTOKOLLE_SPEICHERN")

Можете код этого ФМ показать ?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Передача значений из Bex
СообщениеДобавлено: Пт, июл 29 2011, 13:55 
Ассистент
Ассистент

Зарегистрирован:
Ср, июн 03 2009, 17:01
Сообщения: 48
А в SE37 все ОК?
Согласно google и se80.co.uk ФМ с таким эксепшеном - 52


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Передача значений из Bex
СообщениеДобавлено: Вт, авг 02 2011, 10:23 
Ассистент
Ассистент

Зарегистрирован:
Пт, июл 29 2011, 11:43
Сообщения: 47
Добрый день,

вот так выглядит функ
передача данных проходит успешно...

Code:

FUNCTION ZBW_AEND_PROTOKOLLE_SPEICHERN.

DATA: ls_t LIKE LINE OF t_aend_gruende.

*Удалить старые протоколы
DELETE FROM ZBW_IP_PROTOKOLL.

*сохранить новые записи в таблицу ZBW_IP_PROTOKOLL
LOOP AT t_aend_gruende INTO ls_t.
  ls_t-/BIC/ZPROTOKOL = sy-uname.
  INSERT INTO ZBW_IP_PROTOKOLL VALUES ls_t.
ENDLOOP.

COMMIT WORK AND WAIT.

ENDFUNCTION.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Передача значений из Bex
СообщениеДобавлено: Чт, авг 04 2011, 12:47 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, авг 04 2006, 20:56
Сообщения: 1006
Откуда: 37 МИКРОРАЙОН
Пол: Мужской
lescha написал(а):
Добрый день,
передача данных проходит успешно...

Да, в ФМе не к чему прицепиться.
Если выполнение rfc_aufrufen( ) повесить на кнопку и дважды выполнить загрузку, ошибка появляется ?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Передача значений из Bex
СообщениеДобавлено: Вт, дек 13 2011, 01:42 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Чт, дек 02 2004, 09:20
Сообщения: 152
Пол: Женский
А это правда, что предложенный вариант подключения к бв через VBA работает только при прямом запуске бекс? Т.е. через пуск-программы, когда мы вводим данные подключения в самом бексе. Или при повторном переподключении к бв из бекса, когда опять же заполняем параметры логона.
А вот если запускать отчет через RRMX, то берутся не все параметры текущего подключения (нет манданта и пароля пользователя).

У меня сложилось такое грустное впечатление :( Поправьте меня, если не права.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Передача значений из Bex
СообщениеДобавлено: Ср, янв 18 2012, 09:45 
Ассистент
Ассистент

Зарегистрирован:
Вт, ноя 23 2010, 12:16
Сообщения: 40
raaleksandr написал:
В итоге помог совет от evan:
evan написал(а):
А если так указать ...

Set R3 = CreateObject("SAP.Functions.unicode")


За что ему большое спасибо!!


а у меня ругается, что ActiveX не может создать объект. При этом Set R3 = CreateObject("SAP.Functions") классно создается. В чем беда?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Передача значений из Bex
СообщениеДобавлено: Ср, янв 18 2012, 23:51 
Ассистент
Ассистент

Зарегистрирован:
Вт, ноя 23 2010, 12:16
Сообщения: 40
Надеюсь, все-таки кто-то читает эту тему и поможет:)
в bex 3x все ок. В 7-ке вместо русского текста кракозябры.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Передача значений из Bex
СообщениеДобавлено: Пн, июн 18 2012, 15:20 
Младший специалист
Младший специалист

Зарегистрирован:
Пт, мар 23 2012, 11:54
Сообщения: 58
Пол: Мужской
Galala написала:
А это правда, что предложенный вариант подключения к бв через VBA работает только при прямом запуске бекс? Т.е. через пуск-программы, когда мы вводим данные подключения в самом бексе. Или при повторном переподключении к бв из бекса, когда опять же заполняем параметры логона.
А вот если запускать отчет через RRMX, то берутся не все параметры текущего подключения (нет манданта и пароля пользователя).

У меня сложилось такое грустное впечатление :( Поправьте меня, если не права.


В 7.10 у меня только через прямой запуск работает, а через ррмх тоже нету манданта, пароля, а еще AppServer поле неправильно записано. Кто-нибудь знает как решить проблему? В 7.20 используется другой типа RFC, может на нем работать нормально будет?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Передача значений из Bex
СообщениеДобавлено: Пн, июн 18 2012, 17:56 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Вт, авг 17 2004, 09:59
Сообщения: 1097
Откуда: Moscow
Пол: Мужской
ставьте 7.20 и самый последний patch на GUI с последним hotfix - будет вам счастье

_________________
In SAP we trust !


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 25 ]  На страницу Пред.  1, 2

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


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

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


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

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