SAPфорум.RU
https://sapboard.ru/forum/

Замещение, 3 этап - по каким признакам вычленить выравнивание?
https://sapboard.ru/forum/viewtopic.php?f=5&t=95078
Страница 2 из 2

Автор:  bilimba [ Пн, ноя 13 2017, 15:53 ]
Заголовок сообщения:  Re: Замещение, 3 этап - по каким признакам вычленить выравнивание?

Yozhhhhh написал:
bilimba написал:
Изначально я думал проверять факт существования T_POSTAB - думал, что она специфична именно для выравнивания, но в процессе увидел, что при выполнении SAPMF05A она есть и в обычном документе без выравнивания, и дальше рыться в этом направлении не стал (возможно, зря)


Таблица там называется POSTAB. Она действительно есть всегда, а как же ей не быть, когда она объявлена как глобальная? Просто для обычной проводки она пустая. А в транзакциях выравнивания она заполнена. Так что да, это Вы погорячились :D

угу, я уже тоже сообразил, и лишь немного жаль, что только сейчас... :-) Поправлю как-нибудь при случае.
Ну, что ж, надеюсь, у Berg всё получится

Автор:  Kengur [ Пн, ноя 13 2017, 17:32 ]
Заголовок сообщения:  Re: Замещение, 3 этап - по каким признакам вычленить выравнивание?

Yozhhhhh написал:
Она действительно есть всегда, а как же ей не быть, когда она объявлена как глобальная?

у глобальных переменных все равно есть область видимости :D

Автор:  Yozhhhhh [ Пн, ноя 13 2017, 18:08 ]
Заголовок сообщения:  Re: Замещение, 3 этап - по каким признакам вычленить выравнивание?

Kengur написал(а):
у глобальных переменных все равно есть область видимости

Если таблица объявлена как глобальная, то ее увидеть можно в любой подпрограмме данной программы. Но в замещениях ее видно не будет, там динамически сформированные инклуды другой проги, тут я погорячился. Ассайнить все-таки надо.

Автор:  Berg [ Вт, дек 05 2017, 18:03 ]
Заголовок сообщения:  Re: Замещение, 3 этап - по каким признакам вычленить выравнивание?

Добрый день!

В итоге сделала open fi на событии 1025, делаю там assign к postab, проверяю признак xaktp = 'X', если такие строки есть - значит выравнивание)
Меня волновал скорее третий этап замещения, слышала, что он не всегда отрабатывает.

bilimba, большое спасибо за идею!:)

Автор:  Yozhhhhh [ Пн, дек 11 2017, 12:16 ]
Заголовок сообщения:  Re: Замещение, 3 этап - по каким признакам вычленить выравнивание?

Как удивителен мир.
Забрать таблицу позиций выравнивания одной строкой - это долго.
А замещать в событии 1025, которое ни в коем случае не предназначено для замещений, - это нормально...
SAP в конце ФМ OPEN_FI_PERFORM_00001025_E чуть не плача кричит вам о том, что замещать тут не надо (возвращает содержимое таблиц из временных), но настырные люди продолжали врубать неявное расширение в конце модуля и замещали.
А то, что таблица итоговых записей по счетам ГК, таблица налоговых позиций и много чего другого обрабатывается окончательно ДО этого события, людей не волнует.
А потом вишенка на торте.. тема с заголовком "Помогите, у меня разъехались таблицы".
На вкус и цвет нет товарищей, конечно.

Автор:  Berg [ Ср, дек 13 2017, 17:25 ]
Заголовок сообщения:  Re: Замещение, 3 этап - по каким признакам вычленить выравнивание?

Yozhhhhh,
Ваши комментарии обязательно учту на будущее.

в событии 1025 я не делаю замещения, я делаю проверки:) Хотя, как я поняла, их там тоже делать нельзя...
В этой теме я написала, потому что предположила, что с 3 этапом проверки (документ полностью) будет аналогичная ситуация и как с 3 этапом замещения:)
По возможности, видимо, перенесу проверки туда.

Автор:  Yozhhhhh [ Ср, дек 13 2017, 18:45 ]
Заголовок сообщения:  Re: Замещение, 3 этап - по каким признакам вычленить выравнивание?  Тема решена

Ну вот смотрите, вдруг потом пригодится.
Я помню, что Вы переживали, что третий момент может не наступить.
Однако почти все документы, которые проходят мимо третьего момента, никак к выравниванию не относятся - AA, MM, SD (деблокирование счета-фактуры разве что под вопросом, но и это не есть выравнивание в классическом понимании).

Таким образом, фактически все выравнивание делается в FI и обязательно пройдет через следующие места, где удобно сделать проверку/замещение (хронология наступления этих событий соблюдена):
- событие 940 в P/S - работает в 100% случаев, для любой транзакции выравнивания; исключение - сторно в FB08 для FI документа, при сторно в 940 не заходит; postab доступен без всяких assign;
- событие 1011 (проверка на уровне строки) - работает всегда, но при выравнивании могут быть документы без позиций, в этом случае событие не наступит; таблица postab в явном виде недоступна, но можно достать через assign из программы SAPMF05A (кроме сторно, при котором postab будет пустой);
- третий момент - работает в 100% случаев для замещений (кроме сторно, при нем третий момент замещений не работает) и проверок (даже для сторно); postab можно достать из программы SAPMF05A через assign (для сторно не заполняется).

Если у Вас идет речь именно о выравнивании (любым из трех известных методов - стандарт, частичный платеж, остаток), то третий момент и проверок, и замещений всегда будет работать.
POSTAB достается всегда в одну строку. Исключение - FI сторно, при котором POSTAB не заполняется, однако легко достается везде как BKPF-STBLG (создаваемый документ и будет для него выравниванием).

Автор:  Berg [ Чт, дек 14 2017, 09:00 ]
Заголовок сообщения:  Re: Замещение, 3 этап - по каким признакам вычленить выравнивание?

Yozhhhhh, спасибо Вам огромное!
Все разложили по полочкам!

Автор:  Kengur [ Чт, дек 14 2017, 10:40 ]
Заголовок сообщения:  Re: Замещение, 3 этап - по каким признакам вычленить выравнивание?

Yozhhhhh написал:
Ну вот смотрите, вдруг потом пригодится.
Я помню, что Вы переживали, что третий момент может не наступить.
Однако почти все документы, которые проходят мимо третьего момента, никак к выравниванию не относятся - AA, MM, SD (деблокирование счета-фактуры разве что под вопросом, но и это не есть выравнивание в классическом понимании).

Таким образом, фактически все выравнивание делается в FI и обязательно пройдет через следующие места, где удобно сделать проверку/замещение (хронология наступления этих событий соблюдена):
- событие 940 в P/S - работает в 100% случаев, для любой транзакции выравнивания; исключение - сторно в FB08 для FI документа, при сторно в 940 не заходит; postab доступен без всяких assign;
- событие 1011 (проверка на уровне строки) - работает всегда, но при выравнивании могут быть документы без позиций, в этом случае событие не наступит; таблица postab в явном виде недоступна, но можно достать через assign из программы SAPMF05A (кроме сторно, при котором postab будет пустой);
- третий момент - работает в 100% случаев для замещений (кроме сторно, при нем третий момент замещений не работает) и проверок (даже для сторно); postab можно достать из программы SAPMF05A через assign (для сторно не заполняется).

Если у Вас идет речь именно о выравнивании (любым из трех известных методов - стандарт, частичный платеж, остаток), то третий момент и проверок, и замещений всегда будет работать.
POSTAB достается всегда в одну строку. Исключение - FI сторно, при котором POSTAB не заполняется, однако легко достается везде как BKPF-STBLG (создаваемый документ и будет для него выравниванием).


мне кажется такие посты надо крепить в FAQ :pivo:

Страница 2 из 2 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/