Текущее время: Пт, июн 07 2024, 15:37

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


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

Сейчас этот форум просматривают: dev403k


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

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