ПРАКТИКУМ И ДОКАЗАТЕЛЬСТВАP1L2

Подготовка к FI/CO и ABAP интервью на инженерных сценариях

Два учебных сценария и схема ответа: диагностика финансового расхождения и проектирование проверяемой ABAP-логики без выдуманного опыта внедрения.

Ревизия 2 Общие понятия Частичное покрытие Контекст: CTX-GENERAL документальная опора: недостаточно данных
Справочный материал. Контракты данных, архитектурные решения и ограничения применения. Источники приведены в материалах, где используются внешние основания.

Подготовка к FI/CO и ABAP интервью на инженерных сценариях#

Технический ответ сильнее, когда он показывает порядок рассуждения и проверяемый результат, а не перечень терминов. Для каждого вопроса сначала уточните продукт и редакцию, бизнес-сценарий и исходные данные. Затем назовите предположения, возможные причины, безопасную проверку и критерий завершения. Разделяйте реальный личный опыт, знания по документации и учебный пример.

Сценарий FI/CO: отчёт не сходится с проводками#

В условии отчёт по счету расходится с детализацией проводок, но общий остаток совпадает. Не начинайте с выбора транзакции или таблицы. Сначала зафиксируйте срез: компания, ledger, фискальный год и период, счет, валюта или тип валюты, статус и набор включённых документов. Уточните, сравниваются ли оборот, изменение периода или остаток на дату.

Далее определите, что представляет исходная позиция, и восстановите ключи сопоставления. Сравните число строк и суммы по дебету/кредиту, отдельно проверьте сторно и повторные записи. Совпавший итог может скрывать одну пропущенную и одну лишнюю позицию. Для CO добавьте объект назначения и способ распределения: цикл, сегмент, база, получатель и период. Покажите, как связали исходный sender с receiver, и каким независимым инвариантом проверили распределение.

Хороший вывод не говорит «данные точно исправны» только из-за нулевой разницы. Он перечисляет доказательства, оставшиеся неизвестные и следующий запрос или сверку, которая различит конкурирующие причины.

Сценарий ABAP: распределить сумму между получателями#

Нужно распределить 100,01 между несколькими получателями по весам и получить воспроизводимый результат в копейках. Обсудите входной контракт: целая сумма в minor units; уникальные идентификаторы получателей; положительные допустимые веса; правило для нулевого общего веса; способ округления и правило распределения остатка.

Для точности не переводите деньги в двоичную плавающую точку. Сначала вычислите точные доли в выбранном decimal-типе, затем округлите к minor units и распределите остаток детерминированным правилом, например по наибольшей дробной части с tie-break по стабильному ключу. Проверки должны доказать сохранение общей суммы, отсутствие отрицательного или дублированного получателя и повторяемость результата при перестановке входных строк.

Отдельно объясните границы ABAP SQL, SAP LUW и ABAP Unit: выборка должна возвращать строки нужного уровня детализации в пределах авторизационной области; общая бизнес-операция не должна скрывать commit без явного контракта; ожидаемые результаты теста рассчитываются независимо от производственного алгоритма. Синтетический Python-эталон или псевдокод не подтверждает работу ABAP runtime.

Как оформить ответ#

  1. Переформулировать цель и границы сценария.
  2. Назвать, что представляет одна строка, её ключи, валюту/единицу и релизные допущения.
  3. Показать последовательность расчёта или диагностики.
  4. Привести один малый пример с ожидаемым результатом.
  5. Назвать негативные случаи и независимые проверки.
  6. Честно отметить, что лично выполнялось, а что изучено по документации или смоделировано.

Эти сценарии являются учебными. Они не сообщают о личном участии в SAP-внедрении, не подменяют подтверждённую биографию и не являются отчётом о выполнении ABAP-кода в системе.

Источники и статус доказательств#

Источники и документация

  1. ABAP SQL - Overview ↗
  2. How to Write ABAP Unit Test Classes ↗

Источники нужны для самостоятельной проверки. Примеры и интерпретации на сайте могут быть учебными упрощениями.