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

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


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

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


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

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