Багофича в кишках SAP

Использовал тут в одной программке FM ‘FI_ITEMS_MASS_CHANGE’. Вроде как хорошая помогалка. Мне нужно менять только поле BSEG-ZLSPR.

С помощью этого модуля я массово менял бухгалтерские документы с памятными позициями ТАП (созданные из транзакции F-47). Всё вроде почти нормально. Даже прикрутил в выходной форме теперь любимый мной BAL.

Но когда я натравил туда документы платежного требования (из транзакции F-59, код ОГК = P), то изменения не сохранялись, а в сообщениях появилась ошибка:

Данные пакетного ввода для экрана SAPMF05L 0306 отсутствуют.

№ сообщения 00 344

Вот и развалился внутренний пакетный ввод на транзакции FB02.

Стал искать внутри, нашел загвоздку в FM ‘NEXT_DYNPRO_SEARCH’.

В табличке T019 делается выход на запись:

A    K    X        303

Хотя по факту он должен выходить на запись:

A    ‘ ‘    P        306

Если пакетник запускать в отладке в видимом режиме, то видно, что включается именно 306 экран, и никак не 303.

Просто потому, что там кое-что прописано напрямую в коде, а именно все ОГК за исключением оговорённых считаются = ‘X’.

Поискал ноты на этот счёт – не нашел ничего стоящего.

Ну и непонятен подход к глотанию успешного сообщения. Внутри обнаружил код, что если ловится из пакетника сообщение F5 300, то это сообщение глотается, и BAL выглядит куцо. В принципе можно добавить дополнительный код, типа если сообщений ввобще нет, то добавить туда сообщение F5 300.

Вставка пакетного ввода в SM35

Пока читал всякие документы по программированию, наткнулся в том числе на краткий экскурс в пакетный ввод.

Ещё один из подходов к массовому вводу всякой всячины. Однако он годится только для пакетного ввода и не касается остальных способов, таких как BAPI.

(далее…)

Выгрузка сложного отчета в Excel

Захотелось мне создать некоторый сложный отчет. Однако если это пробовать это реализовать встроенными в SAP и ABAP средствами, то легко и просто тут ничего не получится. Однако если допустить, что можно такие данные выводить напрямую в Excel, то всё может оказаться гораздо проще.

(далее…)

Результат выполнения массовых проводок и Application Log

Я раньше как бы предполагал, что в SAP есть специальные механизмы для обработки и показа ошибок, но наконец-то решил попробовать.

Скажем типовая программа по массовой проводке или обработке документов в SAP строится по следующей схеме:

1. Выборка или сбор нужных данных

2. Подтверждение обрабатываемых данных

3. Цикл по подтверждённым данным

3.1 Запуск BAPI или BDC

3.2. Анализ результата

3.3. Красивый вывод

3.*. Конец цикла

4. Вывод итоговой информации

(далее…)

Автоматическое обновление курсов валют

Почему-то меня интересовала эта тема, причем уже достаточно давно. Копнул.

Определил для себя наработки и подходы, используя которые можно получить требуемый результат. Набросал парочку макетов, убедился в их реальной работе, удовлетворился результатом.  Нашел пару интересных подходов.

Ой, как я очень это богатство люблю и уважаю!

Теперь мне видится, что если немного ещё приложить в части обрамляющей алгоритмической постановки и пользовательского интерфейса – то сложится вполне и вполне красивое и действенное решение. А может даже “ноу-хау”.

SUBMIT REPORT – мелочь, а приятно

Вот понадобилось сделать проваливание в созданный документ бюджета BCS. Нашел транзакцию — FMEDD. Понажимал на ней F1 – и не нашел айдишек для вызова посредством конструкций типа:

SET PARAMETER ID ‘AAA’ FIELD AAA.
CALL TRANSACTION ‘FMEDD’ AND SKIP FIRST SCREEN.

(далее…)

Проверки полномочий и платежи

Люблю я, когда находятся новые приёмы в работе. Просто обожаю, когда разные вещи получаются относительно небольшим кодом. Вот и на днях получил удовольствие.

Сначала у меня был стандартный интерфейс ввода «Требований авансового платежа» (f-47) и свой собственный отчетик следующего вида:

Место для проставления галочки уже было, кое-какие действия уже тоже были подвешены.

И вот мне захотелось сделать очень простенький воркфлоу на базе одного поля «Блокировка платежа», которое есть в создаваемых документах ТАП.

(далее…)