Текущее время: Пт, мар 29 2024, 10:41

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


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 14 ] 
Автор Сообщение
 Заголовок сообщения: В документе не отражается замещение полей в 1025
СообщениеДобавлено: Чт, апр 03 2008, 12:15 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Пт, дек 22 2006, 17:08
Сообщения: 86
Откуда: Ростов-на-Дону
Пол: Мужской
Доброго всем дня!

Подскажите начинающему, в какую сторону (думаю, OpenFI) смотреть, если в 1025 делаю замещение полей, а в документе это не отражается.

Может, у кого доки какие есть по этой теме.


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

Зарегистрирован:
Пн, июн 25 2007, 17:37
Сообщения: 350
Пол: Мужской
Описание проблемы после установки note 530655

Проводка документа(Окончат. Проверки завершены) 00001025_e
-----------------------------------------------------------------------------------------------
FUNCTION open_fi_perform_00001025_e.

*------------------ Save interface data --------------------------------
* MEMID+6 = '00001025E'. "start:note530655
* EXPORT T_AUSZ1 T_AUSZ2 T_AUSZ3 T_BKPF T_BKP1
* T_BSEC T_BSED T_BSEG T_BSET T_BSEU
* TO MEMORY ID MEMID.
После установки данной ноты, SAP перед вызовом OpenFi запоминает данные
-----------------------------------------------------------------------------------------------
l_ausz1[] = t_ausz1[].
l_ausz2[] = t_ausz2[].
l_ausz3[] = t_ausz3[].
l_bkpf[] = t_bkpf[].
l_bkp1[] = t_bkp1[].
l_bsec[] = t_bsec[].
l_bsed[] = t_bsed[].
l_bseg[] = t_bseg[].
l_bset[] = t_bset[].
l_bseu[] = t_bseu[]. "end:note530655
l_rsgtab[] = t_rsgtab[]. "note561898
l_renum[] = t_renum[]. "note561898
l_postab[] = t_postab[]. "note561898

*------------- Open FI Interface with local destination ----------------
Вызов OpenFI и здесь когда то срабатывали замещения
-----------------------------------------------------------------------------------------------
CALL FUNCTION fmtab-funct
EXPORTING
i_bkdf = i_bkdf
TABLES
t_ausz1 = t_ausz1
t_ausz2 = t_ausz2
t_ausz3 = t_ausz3
t_bkpf = t_bkpf
t_bkp1 = t_bkp1
t_bsec = t_bsec
t_bsed = t_bsed
t_bseg = t_bseg
t_bset = t_bset
t_bseu = t_bseu
t_rsgtab = t_rsgtab "note561898
t_renum = t_renum "note561898
t_postab = t_postab. "note561898

После отработки замещений мы получаем интересующий нас результат
-----------------------------------------------------------------------------------------------
* IMPORT T_AUSZ1 T_AUSZ2 T_AUSZ3 T_BKPF T_BKP1 "start:note530655
* T_BSEC T_BSED T_BSEG T_BSET T_BSEU
* FROM MEMORY ID MEMID.
Здесь SAP перетирает наши данные, ранее сохранёнными
--------------------------------------------------------------------------------------
t_ausz1[] = l_ausz1[].
t_ausz2[] = l_ausz2[].
t_ausz3[] = l_ausz3[].
t_bkpf[] = l_bkpf[].
t_bkp1[] = l_bkp1[].
t_bsec[] = l_bsec[].
t_bsed[] = l_bsed[].
t_bseg[] = l_bseg[].
t_bset[] = l_bset[].
t_bseu[] = l_bseu[]. "end:note530655
t_rsgtab[] = l_rsgtab[]. "note561898
t_renum[] = l_renum[]. "note561898
t_postab[] = l_postab[]. "note561898


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, апр 03 2008, 14:35 
Директор
Директор

Зарегистрирован:
Пт, окт 07 2005, 09:10
Сообщения: 752
Откуда: 4.6C
Пол: Мужской
Вариантов несколько:
1.Воспользоваться событием 1120 и поменять в параметрах ФМ
t_bkpfsub и t_bsegsub - это честный способ.
Если поля отсутствуют, то на форуме обсуждалось и вроде можно эти структуры расширить(не пробовал).
А можно:
2. В 1025, если описанная нота не стоит - отправить ваши изменения в память - аналог предыдущего:
EXPORT T_AUSZ1 T_AUSZ2 T_AUSZ3 T_BKPF T_BKP1
T_BSEC T_BSED T_BSEG T_BSET T_BSEU T_RSGTAB T_RENUM T_POSTAB
TO MEMORY ID MEMID.
Потом они будут импортированы(см. ниже).
Если нота стоит, то при помощи глобальной адрессации получить доступ к внутр. таблицам: l_bkpf, l_bkp1... и изменить там. Это не честный способ. :)


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

Зарегистрирован:
Пт, дек 22 2006, 17:08
Сообщения: 86
Откуда: Ростов-на-Дону
Пол: Мужской
Спасибо огромное буду копать!


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

Зарегистрирован:
Пт, дек 22 2006, 17:08
Сообщения: 86
Откуда: Ростов-на-Дону
Пол: Мужской
Спасибо всем откликнувшимся оказалось FUNCTION open_fi_perform_00001025_e. сломали до меня ) туда и влез


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, июл 17 2008, 19:19 
Специалист
Специалист

Зарегистрирован:
Чт, авг 17 2006, 09:29
Сообщения: 123
А я создала аналогичный ФМ, но возникла ошибка

Internal Error: Entry in COKA-Buffer not found
Message № KC051

The system could not find the entry with the following key in the COKA float:
Object number = KS10001502G1
Cost element = 89721
Origin group =

Что-то еще надо замещать?


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

Зарегистрирован:
Вт, ноя 09 2004, 11:38
Сообщения: 127
Пол: Мужской
Natashik_RU написал(а):
А я создала аналогичный ФМ, но возникла ошибка

Internal Error: Entry in COKA-Buffer not found
Message № KC051

The system could not find the entry with the following key in the COKA float:
Object number = KS10001502G1
Cost element = 89721
Origin group =

Что-то еще надо замещать?


Это не имеет отношения к самому замещению. Смотрите настройки.

_________________
Труд сделал из обезьяны человека, из коня - транспорт... Тут как повезет...


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

Зарегистрирован:
Чт, мар 02 2006, 19:17
Сообщения: 43
Voffka написал:


Это не имеет отношения к самому замещению. Смотрите настройки.



Это имеет самое непосредственное отношение к замещению. Ошибка возникла из-за того, что признаки с СО до и после замещения разные. И вызвано это как раз замещением.
В связи с этим вопрос:
существует ли ФМ/Бади/Замещенеи/Опен ФИ событие из которого видно все строки COBL или все строки BSEG и по одной строке COBL? Или на крайняк что-то чем можно провести замещение до срабатывания деривации СО.
Из известных мне только расширение СОРА0005 но оно срабатывает после проверки СОКА буфера :-(


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

Зарегистрирован:
Пт, авг 04 2006, 20:56
Сообщения: 1006
Откуда: 37 МИКРОРАЙОН
Пол: Мужской
Consultator написал(а):
существует ли ФМ/Бади/Замещенеи/Опен ФИ событие из которого видно все строки COBL или все строки BSEG и по одной строке COBL? Или на крайняк что-то чем можно провести замещение до срабатывания деривации СО.
Из известных мне только расширение СОРА0005 но оно срабатывает после проверки СОКА буфера :-(


Посмотрите вот этот user-exit :
COPA0001 Расширение деривации в учете результатов (СО-РА)
А вообще-то вот здесь есть программа, которая по коду транзакции показывает user-exit'ы и BADI, используемые в ней.


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

Зарегистрирован:
Чт, мар 02 2006, 19:17
Сообщения: 43
ROKO написал:

Посмотрите вот этот user-exit :
COPA0001 Расширение деривации в учете результатов (СО-РА)
А вообще-то вот здесь есть программа, которая по коду транзакции показывает user-exit'ы и BADI, используемые в ней.



Добрый день!
Благодарю, что откликнулись. Расширение не совсем подходит. в кратце объясню суть проблемы: в одну из позиций документа проставляется бизнес-сфера. Дальше через OpenFI эта бизнес-сфера проставляется во все другие позиции (изначально исходим из того, что на один документ будет одна бизнес-сфера по определению). Так вот, бизнес-сфера является также признаком в СО-РА. Работает это все крайне странно: сначала срабатывает деривация СО, от того, что введено на экране, затем срабатывает OpenFI, а затем снова деривация. После этого вылетает ошибка, которая и обсуждалась в этой ветке (СОКА буфер). Т.е. будущий контролинговый документ сначала как бы кэшируется, а потом, после OpenFI ключ записи меняется, и соответсвенно она не может быть найдена в буфере.

Как один из вариантов решения проблемы предполагаю либо вы COBL выполнить процедуру, аналогичную выполняемой в OpenFI (из одной позиции проставит бизнес-сферу во все остальные) либо перебить бизнес-сферу из позиции BSEG в позицию СОВL. Для первого нужно в одном месте видеть все позиции COBL, для второго - видеть одновременно позицию COBL ив весь BSEG (или одну позицию, если оно срабатывает после OpenFI но до чтения СОКА буфера).
COPA0001 перебирает позиции COBL по одной. По этому, к сожалению, тим воспользоваться не получится.... :-(


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: open fi 1025
СообщениеДобавлено: Ср, май 29 2013, 19:10 
Ассистент
Ассистент

Зарегистрирован:
Пт, июл 04 2008, 08:17
Сообщения: 41
Господа, кому-то удалось решить проблему?

Цитата:
Расширение не совсем подходит. в кратце объясню суть проблемы: в одну из позиций документа проставляется бизнес-сфера. Дальше через OpenFI эта бизнес-сфера проставляется во все другие позиции (изначально исходим из того, что на один документ будет одна бизнес-сфера по определению). Так вот, бизнес-сфера является также признаком в СО-РА. Работает это все крайне странно: сначала срабатывает деривация СО, от того, что введено на экране, затем срабатывает OpenFI, а затем снова деривация. После этого вылетает ошибка, которая и обсуждалась в этой ветке (СОКА буфер). Т.е. будущий контролинговый документ сначала как бы кэшируется, а потом, после OpenFI ключ записи меняется, и соответсвенно она не может быть найдена в буфере.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: open fi 1025
СообщениеДобавлено: Пн, июн 03 2013, 16:32 
Старший специалист
Старший специалист

Зарегистрирован:
Сб, окт 21 2006, 20:34
Сообщения: 280
проблема решается контроллинговым замещением


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re:
СообщениеДобавлено: Чт, дек 03 2020, 06:39 
Младший специалист
Младший специалист

Зарегистрирован:
Чт, окт 30 2008, 15:10
Сообщения: 62
Aval написал:
Вариантов несколько:
1.Воспользоваться событием 1120 и поменять в параметрах ФМ
t_bkpfsub и t_bsegsub - это честный способ.
Если поля отсутствуют, то на форуме обсуждалось и вроде можно эти структуры расширить(не пробовал).
А можно:
2. В 1025, если описанная нота не стоит - отправить ваши изменения в память - аналог предыдущего:
EXPORT T_AUSZ1 T_AUSZ2 T_AUSZ3 T_BKPF T_BKP1
T_BSEC T_BSED T_BSEG T_BSET T_BSEU T_RSGTAB T_RENUM T_POSTAB
TO MEMORY ID MEMID.
Потом они будут импортированы(см. ниже).
Если нота стоит, то при помощи глобальной адрессации получить доступ к внутр. таблицам: l_bkpf, l_bkp1... и изменить там. Это не честный способ. :)


А можно на примере показать как можно получить доступ l_bseg ?, получить доступ к переменным в главной программе не проблема а вот в даннном случае когда все вызывается через фм я не представляю как это сделать .


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re:
СообщениеДобавлено: Чт, дек 03 2020, 06:39 
Младший специалист
Младший специалист

Зарегистрирован:
Чт, окт 30 2008, 15:10
Сообщения: 62
Aval написал:
Вариантов несколько:
1.Воспользоваться событием 1120 и поменять в параметрах ФМ
t_bkpfsub и t_bsegsub - это честный способ.
Если поля отсутствуют, то на форуме обсуждалось и вроде можно эти структуры расширить(не пробовал).
А можно:
2. В 1025, если описанная нота не стоит - отправить ваши изменения в память - аналог предыдущего:
EXPORT T_AUSZ1 T_AUSZ2 T_AUSZ3 T_BKPF T_BKP1
T_BSEC T_BSED T_BSEG T_BSET T_BSEU T_RSGTAB T_RENUM T_POSTAB
TO MEMORY ID MEMID.
Потом они будут импортированы(см. ниже).
Если нота стоит, то при помощи глобальной адресации получить доступ к внутр. таблицам: l_bkpf, l_bkp1... и изменить там. Это нечестный способ. :)


А можно на примере показать, как можно получить доступ к l_bseg? Получить доступ к переменным в главной программе не проблема, а вот в данном случае, когда все вызывается через ФМ, я не представляю, как это сделать.


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 14 ] 

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


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

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


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

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