На HeadHunter свежая вакансия: ABAP-разработчик (FI, CO, MM)

Обязанности и требования самые обыкновенные:

Обязанности:

  • Разработка программных приложений по модулям: FI, FI-AA, CO, MM;
  • Разработка отчетов и печатных форм;
  • Внесение изменений в существующие разработки;
  • Адаптация стандартных программ SAP;
  • Разработка межсистемных интерфейсов;
  • Оптимизация программного кода.

Требования:

  • От 5ти лет опыта в ABAP-программировании;
  • Опыт отладки, доработки и понимания чужого кода;
  • Опыт выгрузки в шаблоны Excel, Word, обработка XML;
  • Использование принципов оптимизации быстродействия ABAP-программ и SQL-запросов;
  • Знание технологий расширения SAP стандарта (User-Exit, BAdi, OpenFI и др.).

А вот в условиях я кое-за-что зацепился взглядом:

Условия:

  • Удаленная форма работы;
  • Полная занятость, полный день;
  • График работы 5/2, сб и вс – выходные, в пятницу до 15:30;
  • Посещение офиса в Москве несколько раз в месяц;
  • Версия SAP – 4.6C;

Версия 4.6С это примерно 2000 год.

Мне так помнится, что когда я начинал карьеру ABAP-разработчика, то у заказчика стояла версия 4.7, которую мигрировали сначала на 5.0, а потом и на 6.0.

В целом, если система стоит и работает с 2000 года по 2022 год, то она проработает и до 9999 года. А вот дальше – уже не получится.

Впрочем, нет, я не готов возвращаться на старый отладчик.

Нарисуй агитационный плакат в советском стиле. В нижней части кадра рука протягивает человеку в косттюме доисторический каменный молоток. Человек на главном переднем плане жестом руки отказывается от этого каменного молотка. По середине плаката находится крупная надпись “НЕТ!”.

Агитационный плакат в советском стиле. В нижней части кадра рука протягивает человеку в косттюме доисторический каменный молоток. Человек на главном переднем плане жестом руки отказывается от этого каменного молотка. По середине плаката находится крупная надпись 'НЕТ!'.

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

SAP ABAP вакансии, отклики, зарплаты

У Немчинского на стриме ненадолго вспомнили SAP:

https://www.youtube.com/live/t0N4bNGlw_w?si=N6et2tdQ9GijeVdJ&t=1515

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

И SAP тут, как ни странно, держится молодцом, если в абсолютных числах там в десятки раз меньше, но тренд меняется не так сильно.

Не уверен, насколько такие числа действительно показательны с учетом специфики портала. Малая выборка может сильно искажать действительность, напомню:

Extrapolating

Для сравнения Java:

Из несколько смешного, там же есть статистика зарплат у ABAP разработчиков:

Казалось неплохо живут, братцы.

Всего лишь четыре анкеты. Это значит, что это не значит почти ничего.

Вполне возможно, что эти четыре человека на самом деле даже двое, которые представили несколько преувеличенные данные, чтобы это стало аргументом в торговле.

Какого типа будет DATA(lv_amt_3) = lv_amt_1 + lv_amt_2 ?

Написал всё просто и понятно, и мне казалось очевидно, что будет на выходе:

Как же я ошибся! А будет вот что:

chatGPT

Ну допустим, я показал ему текст некоторой программы:

Так вот, сервис может пояснить за код, лучше чем я:

(далее…)

Кое-что новое o VARYING

Есть в ABAP кое-какие языковые конструкции, отсутствующие в топовых языках, по крайней мере на базовом уровне, например MOVE-CORRESPONDING.

VARYING – это одна из таких конструкций. Я изредка использовал её в базовом варианте:

Результат предсказуем:

Но как иногда оказывается, у этой конструкции есть две дополнительных глубины.

Во-первых, можно крутить два поля одновременно:

И оказывается так тоже можно, результат не удивит:

А во-вторых, поля в последовательности могут называться как угодно.

Мне раньше казалось, что нумерация в поле очень важна: VAL01, VAL02. Магия! А вот нет. Так тоже можно:

Если чуть подумать, то станет всё понятнее, как оно было заложено и почему. Могу проиллюстрировать на менее интуитивно понятном примере:

Обратите внимание на DO 5 TIMES. Ха-ха? Знаете что произойдёт?

(далее…)

Что необходимо делать, чтобы корова меньше ела и больше давала молока?

Недавно упомянули эту шутку в одном моём любимом подкасте, загуглил ответ, для меня открылись бездны смысла.

Для того, чтобы корова меньше ела и давала больше молока, (далее…)

Кладбище велосипедов

Пробежала статья сегодня: Hello, SAP, Where Are My Global Classes?

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

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

В предыдущей редакции предыдущим автором использовал следующий подход:

 Хорошо, вот только теперь говорят, что дни надо считать только рабочие.

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

Благими намерениями устлана дорога в AD!!!

Безопасники – такие безопасники!

Есть же инструкция – надо менять пароли регулярно.  Значит есть настройка – принудительная смена паролей. Сделали всё по инструкции, работа такая, думать не надо!

Ну и вот есть у меня три SAP системы, в каждой трёх-системный ландшафт, плюс домен.

Десять паролей, все разные. Вроде выполнили требования безопасности, а стало ли безопаснее?

А как внедрять Single Sign On (SSO) – так такой инструкции нет. Это сложно, думать надо, решать.