Posted: Mon Feb 16, 2009 11:59 pm Post subject: Возможно ли посредством OLE events вызвать ABAPподпрограмму
Добрый день.
Возник вопрос, возможно ли каким-то образом вызвать ABAP из события OLE объекта.
Допустим в случае активирования/деактивирования определнного листа книги EXCEL. до этого сгенерированной из ABAP.
Т.е. CREATE OBJECT 'EXCEL.APPLICATION'
CALL METHOD..
и т.д.
затем устанавливаем свойство VISIABLE = 1.
При этом по сути передаем управление в EXCEL, где юзер может что либо сделать из интерфейса EXCEL.
Вопрос заключается в том, возможно ли каким-то образом вызывать ABAP- подпрограммы в случае наступления определенных событий в EXCEL.APPLICATION ?
Т.е. каким образом заставить EXCEL по определенному особытию вызывать подпрограммы в ABAP ?
В принципе это возможно или нет ?
Age: 170 Joined: 04 Oct 2007 Posts: 1218 Location: Санкт-Петербург
Posted: Tue Feb 17, 2009 12:15 pm Post subject:
У нас есть несколько отчетов, где нужно считать данные из Excel.
Excel в виде In-Place. Делали кнопку на SAP панеле меню: "Закачать данные из Excel в SAP". С событиями не пробовал.
PS: может легче по таймеру из ABAP программы проверять какое-нибудь свойство в Excel (считывать данные из ячейки)
Делали кнопку на SAP панеле меню: "Закачать данные из Excel в SAP". С событиями не пробовал.
Из спортивного интереса хочется обработать именно событие, CALL-BACK
vga wrote:
PS: может легче по таймеру из ABAP программы проверять какое-нибудь свойство в Excel (считывать данные из ячейки)
По таймеру не уверен, что легче. После визуализации и free objects надо как-то вернуть управление в ABAP. Мож и не сложно, я сам не пробовал.
Считывать данные из EXCEL не тяжелее чем писать.
Все таки хочется именно событийное управление, тем более что в VBA это заложено.
Я по этой ветке не ходил, но пробовал другую Exercise 5: Terminate Program Здесь у меня (в 4.0) обломился сап-логон, похоже потому, что пароль транслировался в верхний регистр и по RFC подключиться не удалось.
vga wrote:
Но чтобы вызов был именно callback, то есть происходил в рамках вызвавшей его сессии, а не создавал новую - тяжелый случай.
Мож как-нибудь на нижнем уровне возможно, найти соответствующую функцию нижнего уровня CALL 'AB_GET*' или CALL 'AB_PUT*', которая передаст VBA адрес ФМ ABAP для вызова CALL BACK ?
Где-нибудь есть описание функций (интерфейсов) нижнего уровня? Или САП это не публикует?
Age: 48 Joined: 25 Jan 2008 Posts: 580 Location: Москва
Posted: Wed Feb 18, 2009 2:26 am Post subject:
Это пример неверного подхода к работе с SAP.
На самом деле наверняка пользователи привыкли к интерфейсу Microsoft и не хотят с ним расставаться.
Нужно раз и навсегда сказать: так делать нельзя, даже если в теории это возможно. Иначе всю работу с R/3 придется переписывать под управление из Microsoft Office. Вам это надо? _________________ С уважением,
Удав.
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum
All product names are trademarks of their respective companies. SAPNET.RU websites are in no way affiliated with SAP AG. SAP, SAP R/3, R/3 software, mySAP, ABAP, BAPI, xApps, SAP NetWeaver and any other are registered trademarks of SAP AG. Every effort is made to ensure content integrity. Use information on this site at your own risk.