SAPфорум.RU https://sapboard.ru/forum/ |
|
RFC в payload передает обрезанные значения https://sapboard.ru/forum/viewtopic.php?f=70&t=79335 |
Страница 1 из 1 |
Автор: | kicik [ Вт, окт 23 2012, 15:31 ] |
Заголовок сообщения: | RFC в payload передает обрезанные значения |
Привет всем, передаю таблицу из R3 в PI посредством RFC модуля. На входе в RFC все значения нормальные в PI попадают обрезанные т.е. пример: передаю параметр А01 таблица: char 4 char 10 char 10 char 12 date time 2101 0000000001 0000000011 USER_011 20121023 182655 в payload имею след. значения А01 2101 0000010000 _01120 55 Как это побороть? может кто-нибудь сталкивался с этой проблемой? |
Автор: | chumpa [ Вт, окт 23 2012, 16:04 ] |
Заголовок сообщения: | Re: RFC в payload передает обрезанные значения |
RFC адаптер не самодостаточен: вызов данных не работает без корректного репозитория на стороне джавы. То-ли структуру данных поменяли, то-ли кодировку (юникод). Рестартуй канал, вплоть до его изменения в конфигураторе. |
Автор: | kicik [ Ср, окт 24 2012, 07:34 ] |
Заголовок сообщения: | Re: RFC в payload передает обрезанные значения |
Канал рестартанул. Структуры не менялись. Единственное когда запускаю RFC PI выдает какую-то ошибку Wed Oct 24 10:23:02 ALMT 2012 2410cc08-7083-0481-4020-718d08804b2c Error in processing caused by: com.sap.aii.adapter.rfc.afcommunication.RfcAFWException: lookup of alternativeServiceIdentifier . Можешь подсказать в какую сторону копать? |
Автор: | chumpa [ Ср, окт 24 2012, 09:36 ] |
Заголовок сообщения: | Re: RFC в payload передает обрезанные значения |
попробуй не просто рестартовать канал а именно переактивировать его в конфигурации. Сам adapter engine живой? остальное всё работает? |
Автор: | chumpa [ Ср, окт 24 2012, 09:42 ] |
Заголовок сообщения: | Re: RFC в payload передает обрезанные значения |
Да, а [не]юникодность-то совпадает? |
Автор: | kicik [ Ср, окт 24 2012, 10:46 ] |
Заголовок сообщения: | Re: RFC в payload передает обрезанные значения |
Остальное все работает. Поэтому думаю что адаптер живой. Не юникодность совпадает. Канал создал новый та же проблема переконфигурировал старый ничего не поменялось. |
Автор: | chumpa [ Ср, окт 24 2012, 13:28 ] |
Заголовок сообщения: | Re: RFC в payload передает обрезанные значения |
или ссылка на репозиторий неверная или репозиторий не соответствует реальности. |
Автор: | kicik [ Ср, окт 24 2012, 14:11 ] |
Заголовок сообщения: | Re: RFC в payload передает обрезанные значения |
Не подскажешь где посмотреть ссылку и сам репозиторий? И как его проверить? |
Автор: | chumpa [ Ср, окт 24 2012, 14:34 ] |
Заголовок сообщения: | Re: RFC в payload передает обрезанные значения |
посмотреть в канале-сендере, там и прописана, RFC Metadata Repository Parameter. |
Автор: | kicik [ Чт, окт 25 2012, 06:27 ] |
Заголовок сообщения: | Re: RFC в payload передает обрезанные значения |
привет, я разобрался почему передавались кривые данные. спасибо за помошь. только можешь объяснить почему так происходило? из R3 системы я вызывал RFC модуль. В нем я вызывал еще один уже с назначением в PI. так вот если в первом модуле я делал импортные параметры и таблицу и во втором тоже самое тогда передаются кривые данные. если в первом не делать импортные параметры а прописать в нем выбор данных и передать во второй тогда все прекрасно работает. пример рабочий: FUNCTION z_export_smartcard_start. *"---------------------------------------------------------------------- *"*"Локальный интерфейс: *"---------------------------------------------------------------------- DATA: action TYPE zaction, lt_rfc TYPE zsmartcard_int_r OCCURS 0 WITH HEADER LINE. DATA gt_tab_101 TYPE zsmartcard_int OCCURS 0 WITH HEADER LINE. SELECT * FROM zsmartcard_int INTO TABLE gt_tab_101. LOOP AT gt_tab_101. MOVE-CORRESPONDING gt_tab_101 TO lt_rfc. lt_rfc-beg_num = gt_tab_101-beg_num. lt_rfc-end_num = gt_tab_101-end_num. APPEND lt_rfc. CLEAR: lt_rfc. ENDLOOP. action = 'A01'. CALL FUNCTION 'Z_EXPORT_SMARTCARD' IN BACKGROUND TASK DESTINATION 'PP-02' EXPORTING action = action TABLES zsmartcard_int = lt_rfc. WAIT UP TO 2 SECONDS. COMMIT WORK. ENDFUNCTION. FUNCTION Z_EXPORT_SMARTCARD. *"---------------------------------------------------------------------- *"*"Локальный интерфейс: *" IMPORTING *" VALUE(ACTION) TYPE ZACTION *" TABLES *" ZSMARTCARD_INT STRUCTURE ZSMARTCARD_INT_R OPTIONAL *"---------------------------------------------------------------------- ENDFUNCTION. пример работающий коряво: FUNCTION z_export_smartcard_start. *"---------------------------------------------------------------------- *"*"Локальный интерфейс: *" IMPORTING *" VALUE(ACTION) TYPE ZACTION *" TABLES *" ZSMARTCARD_INT STRUCTURE ZSMARTCARD_INT_R OPTIONAL CALL FUNCTION 'Z_EXPORT_SMARTCARD' IN BACKGROUND TASK DESTINATION 'PP-02' EXPORTING action = ZACTION TABLES zsmartcard_int = ZSMARTCARD_INT. WAIT UP TO 2 SECONDS. COMMIT WORK. ENDFUNCTION. FUNCTION Z_EXPORT_SMARTCARD. *"---------------------------------------------------------------------- *"*"Локальный интерфейс: *" IMPORTING *" VALUE(ACTION) TYPE ZACTION *" TABLES *" ZSMARTCARD_INT STRUCTURE ZSMARTCARD_INT_R OPTIONAL *"---------------------------------------------------------------------- ENDFUNCTION. в отладчике проверял передаются данные нормально так и не понял почему обрезало данные. |
Автор: | chumpa [ Чт, окт 25 2012, 15:43 ] |
Заголовок сообщения: | Re: RFC в payload передает обрезанные значения |
проверь юникодность проги, которая вызывает первый ФМ, и уникодность группы функций. |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |