Текущее время: Чт, июл 24 2025, 06:51

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




Начать новую тему Ответить на тему  [ Сообщений: 20 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Источник данных на основе функционального модуля
СообщениеДобавлено: Чт, май 08 2008, 17:53 
Ассистент
Ассистент

Зарегистрирован:
Пн, фев 11 2008, 11:40
Сообщения: 31
Добрый день.
Помогите разобраться начинающему или подскажите где найти HowTo`шку?

Тестовая задача: создать свой источник данных на основе функционального модуля, которые генерит пакет из 10 произвольных записей.

Пока что сделал вот что:
- создал в rsa1 инфо-обект с типом CHAR(3) и средним текстом описанием
- через se80 создал фм, который
- в разделе Таблицы имеет параметр E_T_DATA LIKE /BIC/TZKATEST (это тип данных моего инфо-объекта)
- в исходном коде всего 3 строки
E_T_DATA-/BIC/ZKATEST = '01'.
E_T_DATA-TXTMD = '01'.
APPEND E_T_DATA.
- ожидаю, что мой фм вернет таблицу с одной строкой и отдаст ее в источник данных
- через rso2 создал источник данных для ТЕКСТов, которому в качестве фм поставил свой фм; для колонок в источнике проставил галки, что они Выбраны; источник сактивировался
- через rsa3 тестирую свой источник в режиме отладки
Отладчик открывает на функции RSA3_GET_DATA_SIMPLE и при выполнении падает на строчке
CALL FUNCTION S_FNAME
EXPORTING
I_REQUNR = S_S_IF_SIMPLE-REQUNR
I_DSOURCE = S_S_IF_SIMPLE-DSOURCE
I_MAXSIZE = S_S_IF_SIMPLE-MAXSIZE
I_INITFLAG = S_S_IF_SIMPLE-INITFLAG
TABLES
I_T_SELECT = S_S_IF_SIMPLE-T_SELECT
I_T_FIELDS = S_S_IF_SIMPLE-T_FIELDS
EXCEPTIONS
NO_MORE_DATA = 1
ERROR_PASSED_TO_MESS_HANDLER = 2
OTHERS.
С окном сообщения отладчика:
...
When calling the function module "ZKATESTFM", one of the parameters
needed according to the interface description was not specified.
This parameter was "E_T_DATA"

Подскажите, чего делать? чего читать?

Спасибо.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Источник данных на основе функционального модуля
СообщениеДобавлено: Пт, май 09 2008, 00:33 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Ср, авг 10 2005, 09:24
Сообщения: 1023
artemisin написал(а):
- через se80 создал фм, который


Непральна создал... Кидай сюда заголовок функции (то, что идет первым по тексту, оно еще закомментарено).

А вообще то нужно не создавать, а копировать ФМ с примера, поставляемого САПом.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Источник данных на основе функционального модуля
СообщениеДобавлено: Пт, май 09 2008, 09:33 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, июн 24 2005, 15:18
Сообщения: 1216
Откуда: Diagon Alley
Vitaly V.V. написал(а):
А вообще то нужно не создавать, а копировать ФМ с примера, поставляемого САПом.


+1

RSAX_BIW_GET_DATA_SIMPLE Копируете в свой собственный.
А далее модифицируете в соответствие с вашими требованиями

_________________
"Если ты в молодости не испытал трудности, их стоит купить за большие деньги". (с) Даймо


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, май 09 2008, 09:45 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, июн 24 2005, 15:18
Сообщения: 1216
Откуда: Diagon Alley
И еще в догонку

http://help.sap.com/saphelp_nw04/helpda ... ameset.htm

https://www.sdn.sap.com/irj/sdn/weblogs ... b/wlg/2415

_________________
"Если ты в молодости не испытал трудности, их стоит купить за большие деньги". (с) Даймо


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, май 12 2008, 16:54 
Ассистент
Ассистент

Зарегистрирован:
Пн, фев 11 2008, 11:40
Сообщения: 31
2Vitaly V.V.

Вот весь текст фм`а

FUNCTION ZKATESTFM.
*"----------------------------------------------------------------------
*"*"Локальный интерфейс:
*" TABLES
*" E_T_DATA STRUCTURE /BIC/TZKATEST
*"----------------------------------------------------------------------

REFRESH E_T_DATA.

E_T_DATA-/BIC/ZKATEST = '01'.
E_T_DATA-TXTMD = '01'.
APPEND E_T_DATA.

ENDFUNCTION.

2 RSA1
Спасибо за ссылки, изучаю.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, май 12 2008, 17:34 
Ассистент
Ассистент

Зарегистрирован:
Пн, фев 11 2008, 11:40
Сообщения: 31
Значит так:
1. RSAX_BIW_GET_DATA_SIMPLE скопировать не удалось в SE37, требует какой-то ключ. Странно, если мой пользователь уже имеет ключ разработчика, то почему еще какие-то ключи нужны для копирования примера экстрактора.
2. Через se80 исправил свой фм: приводил каждую вкладку к совпадению с RSAX_BIW_GET_DATA_SIMPLE. В итоге при активации не смог исправить ошибку на LOG_WRITE - говорит что не знает такого метода. Удалил его и сактивировал фм.
3. Вновь запустил через rsa3 и получил ошибку как и прежде, только теперь на параметре I_READ_ONLY. Проверил, что параметр в интерфейсе есть.... тогда что делать дальше?

Спасибо.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, май 13 2008, 11:41 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Чт, сен 01 2005, 15:54
Сообщения: 95
Проверьте, что б заголовок ФМ совпадал с вот этим:
*"----------------------------------------------------------------------
*" IMPORTING
*" VALUE(I_REQUNR) TYPE SRSC_S_IF_SIMPLE-REQUNR
*" VALUE(I_DSOURCE) TYPE SRSC_S_IF_SIMPLE-DSOURCE
*" OPTIONAL
*" VALUE(I_MAXSIZE) TYPE SRSC_S_IF_SIMPLE-MAXSIZE
*" OPTIONAL
*" VALUE(I_INITFLAG) TYPE SRSC_S_IF_SIMPLE-INITFLAG
*" OPTIONAL
*" VALUE(I_READ_ONLY) TYPE SRSC_S_IF_SIMPLE-READONLY
*" OPTIONAL
*" TABLES
*" I_T_SELECT TYPE SRSC_S_IF_SIMPLE-T_SELECT OPTIONAL
*" I_T_FIELDS TYPE SRSC_S_IF_SIMPLE-T_FIELDS OPTIONAL
*" E_T_DATA STRUCTURE SFLIGHT OPTIONAL
*" EXCEPTIONS
*" NO_MORE_DATA
*" ERROR_PASSED_TO_MESS_HANDLER
*"----------------------------------------------------------------------


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, май 13 2008, 11:43 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Чт, сен 01 2005, 15:54
Сообщения: 95
artemisin написал(а):
Значит так:
1. RSAX_BIW_GET_DATA_SIMPLE скопировать не удалось в SE37, требует какой-то ключ. Странно, если мой пользователь уже имеет ключ разработчика, то почему еще какие-то ключи нужны для копирования примера экстрактора.
Спасибо.

А в какую группу функций вы его копировали? В RSAX? Тогда не удивительно, что bw просит ключ доступа к объекту. Создайте свою группу на Z и копируйте в неё...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, май 14 2008, 15:08 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Чт, май 26 2005, 11:36
Сообщения: 651
Откуда: Киев-Москва
Эта ссылка была? https://www.sdn.sap.com/irj/sdn/go/port ... f4a9c8df33

_________________
Рисую потоки данных.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, май 19 2008, 13:36 
Ассистент
Ассистент

Зарегистрирован:
Пн, фев 11 2008, 11:40
Сообщения: 31
Всем спасибо, разобрался.
Помогли ваши комментарии и стандартный пример.
За HowTo`шки спасибо - мало ли где пригодятся.

Теперь разбираюсь, почему при тестировании в диалоговом режиме в RSA3 мой источник данные из MS Access через OLEDB считывает, а в фоновом режиме при старте инфо-пакета на отрез говорит, что данных нет.
Буду искать, насколько понимаю в форуме такая тема должна была быть. Если есть HowToшка, киньте ссылку плиз.

Хорошего времени суток.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, май 19 2008, 13:41 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Чт, сен 01 2005, 15:54
Сообщения: 95
artemisin написал(а):
Теперь разбираюсь, почему при тестировании в диалоговом режиме в RSA3 мой источник данные из MS Access через OLEDB считывает, а в фоновом режиме при старте инфо-пакета на отрез говорит, что данных нет.

Потому что в фоне процесс выполняется на сервере приложений. Он на Windows? Стоит там у Вас MS Access?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, май 19 2008, 14:44 
Ассистент
Ассистент

Зарегистрирован:
Пн, фев 11 2008, 11:40
Сообщения: 31
Спасибо за оперативность.

Тестировал свой источник прямо на сервере BW. Там Win2003, хоть и без установленного MS Access, но через OLEDB файл базы открывается.
Именно на сервере через удаленный рабочий стол у меня RSA3 отрабатывает успешно, источник возвращает данные.
А вот запуск инфо-пакета через RSA1 привеодит к тому, что в источнике нет записей.

Может дело в настройках ODBO?
Может мой connectionstring = 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Temp\testdb.mdb' не подходит для фонового режима?

Тестовая структура, которая используется для возвращения данных из источника состоит из 2х текстовых полей. Я организовал возврат отладочных данных прямо через эту таблицу, то есть при каждом запросе свойств или методов ADODB.connection/recordset я запихивал на выход комментарий об успешности выполнения. Так вот: в RSA3 все сообщения отладки(открытие соединение, открытие рекордсета и т.д.) проходят на OK, через инфо-пакет тоже самое - все сообщения об отладке на ОК но данных нет.

Куда копать?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, май 19 2008, 14:58 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Чт, сен 01 2005, 15:54
Сообщения: 95
artemisin написал(а):
Именно на сервере через удаленный рабочий стол у меня RSA3 отрабатывает успешно, источник возвращает данные.

А почему бы не попробовать оттестировать источник в RSA3 удаленно? В смысле не через удаленный рабочий стол, а со своей машины. Я думаю, так будет правильнее.
Вот ещё. Путь "Data Source=C:\Temp\testdb.mdb" попробуйте заменить на сетевое имя, что то типа "Data Source=\\sapserver\temp\testdb.mdb".


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, май 19 2008, 15:23 
Ассистент
Ассистент

Зарегистрирован:
Пн, фев 11 2008, 11:40
Сообщения: 31
Цитата:
А почему бы не попробовать оттестировать источник в RSA3 удаленно? В смысле не через удаленный рабочий стол, а со своей машины. Я думаю, так будет правильнее.

Попробовал, ошибка видна уже в отладочных сообщениях при проверке в RSA3. ADOconnection.Open не проходит, так как система пытается найти файл .mdb по локальному пути; а на моей машине файл не лежит там же где и на сервере...
Цитата:
Вот ещё. Путь "Data Source=C:\Temp\testdb.mdb" попробуйте заменить на сетевое имя, что то типа "Data Source=\\sapserver\temp\testdb.mdb".

Результат что и прежде. RSA3 отрабатывает отлично, инфо-пакет нет. При этом все отладочные сообщения сообщают что открытие соединения и рекордсета было нормальным.

.... :( что еще?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, май 19 2008, 17:27 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Чт, сен 01 2005, 15:54
Сообщения: 95
artemisin написал(а):
.... :( что еще?

Ну даже не знаю :? Выложите, что-ли, код, которым mdb читаете...


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

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


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

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


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

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