Текущее время: Пн, авг 18 2025, 10:00

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


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

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


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

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