SAP Basis Tips (RU)
1.1K subscribers
481 photos
2 videos
57 files
706 links
Маленькие нюансы, которые надо не забыть при работе...
Есть, что добавить(исправить,покритиковать) - не стесняйтесь, пишите на @bdmalex или на bdmalex@mail.ru

https://t.me/GetVPN_xbot?start=_tgr_I7a45TsyZDE6
Download Telegram
Хотим поработать с SQL !

Один знакомый абапер пожаловался, что много времени уходит на проекте на проверку производительности при работе с БД. Я сначала растерялся. Так как думал, что SE16\SE16N вполне должно хватать в большинстве случаев. “Да, ты не догоняешь - это стандарт ( супераргумент! ), и обкоцанный, выборку нельзя сделать из 2 таблиц..."
Я говорю: ".. может SE16Н тебя устроит ?.." ( описание есть в ноте 1636416 )
Выяснилось, это то ЧТО НАДО !
Пользуйтесь, полезная штука....

#SE16Н
#SE16
#Note1636416
OSS 1818192 - Automated Note Search Tool

Ещё одна тулза, для поиска саповских изысканий (нот), как мне кажется в большей степени рассчитана на функциональных консультантов. SAP называет это средство ANST ( так и подмывает назвать его Аnother Note Search Tool...)

И да, транзакция в системе: ANST_SEARCH_TOOL

#ANST
#Note1818192
SAP HANA

Новая платформа принесла новые проблемы для пользователей. Например привык использовать транзакцию СК11, а теперь будь добр использовать СК11N. А где бы посмотреть весь такой список ?
Идём в se16 , таблица PRGN_CORR2 в поле REL_NAME задаём 751 и запускаем..!
В результате, в поле S_TCODE получаем старую транзакцию, а в поле T_TCODE уже новую...

А где искать "устаревшие" транзакции ?

Отчёт PROFGEN_CORR_REPORT_2
Массовый перенос запросов !

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

Наваяли консультанты под сотню разных запросов в DEV100 и резко понадобилось их перенести в DEV200.

Как обычно, решать проблему можно разными путями и способами !
1) Скопировать всю сотню в один запрос и перенести его через SCC1
2) Просто сесть за SCC1 и перетащить всю сотню по одному ( извращение, на мой взгляд..), т.к первый способ не подошёл принципиально
3) Вспомнить, что перенос запроса - это работа программы tp. Посмотреть логи и за минуту сваять командный файл и запустить его в командной строке ( ! Самый хардкорный, чисто базисный style !!! )

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

#SCC1
#tp
#RSCC_SCC1_BATCH
ADS

Настройка печати pdf форм - унылое занятие. Открываем постинстал шаги из гайда по установке АDSa, да смотрим ноту 884009(Adobe Document Services: Configuration).
Так было раньше...
На "современных версиях" ещё проще - мастер. настройки есть в /nwa ( Конфигурация->Сценарии->Configuration of the Adobe document services as a hub).
...
Но, что делать, если настроил, а всё равно чтото не так ?
Тогда на помощь надо лезть в ноту 944221(Error analysis for problems in form processing), которая обязательно поможет с любыми траблами..
Только как обычно, надо читать внимательно не только её, но и все из нё вытекающие.
Я вот думал, что активация трейса АДСа идёт по ноте 846610, но этого оказывается мало ! Понадобились ещё 1128476 и 2218551....

#ADS
#Note894009
#Note944221
#Note846610
#Note1128476
#Note2218551
Поговорим сегодня немного про фоновые задания...

Background job ( фоновое задание ) - тема из разряда : "что там может быть ещё.."
В принципе я согласен, что 99,5% потребностей администратора заканчивается на sm37,sm61(это где по ноте 786412 группу SAP_DEFAULT_BTC прописываем), прописывание параметра на количество фоновых процессов ( которые потом изредка мониторим в SM51 ) и любимые программы BTСTRNS1 и BTСTRNS2(про которые вспоминаем при апгрейдах или копировании систем). И любимый отчёт PFCG_TIME_DEPENDENCY, который запускаем в фоне для проверки работоспособности фоновых заданий..
Ну, ещё возможно забыл про трассировку фоновых заданий ( можете вспомнить когда и как часто вам это нужно ? ). Запустим: st12->Utilities->Schedule trace....
Всё ???
...
Но, оказывается на "BTC*" можно ещё увидеть несколько интересных отчётов, которые могут быть полезны:
BTCAUX14(Note 1439806..Listing job according to their frequency )
BTC_MASS_JOB_CHANGE
- можно сказать, что это прямо "su10 фоновых заданий" ! Суперудобная штука, не понимаю, как я раньше без него жил...

Eщё нотка 519059 FAQ: Background processing system ( и несколько ноток там ещё )...

Из того, что уже есть лично мне не хватает только одной фишки ( возможно она уже есть, но я про неё не знаю ) - это возможность переноса всех настроеных джобов из одной системы в другую или сохранение их в отдельный запрос( с возможностью восстановления ). Конечно, наверное в рамках продуктов типа LaMa или TDMS это реализовано, а как жить тем, кто без них ? Как вы разруливаете типовой сценарий: Настроил задания в QMS..делаешь копию PRD->QMS и процесс настройки заданий делаем заново ?? Подозреваю, что можно сохранять содержимое таблиц TBTCO,TBTCP,TBTCJSTEP,TBTCCNTXT,TBTCCTXTT,TBTCR,TBTCA,TBTCB(но насколько, это корректно восстановит мне неясно)... Поделитесь знаниями в личку ..@bdmalex..если не сложно....😃

#sm37
#sm61
#SAP_DEFAULT_BTC
#BTC_MASS_JOB_CHANGE
#BTCTRNS1
#BTCTRNS2
Про параллельность замолвите слово...

Выполнение ряда задач в один поток иногда бывает слишком утомительным по времени. Есть у вас продуктивный мандант в 2Тб, а надо его скопировать в "кволити". Вариант с копированием баз с одной системы на другую - проще, но не спортивно ! Поэтому, конечно копирование делаем в несколько потоков. Кстати, до версии 7.40 стояло жёсткое ограничение в 60 потоков. Не понимаю, зачем это было сделано. Специально делал эксперимент на 7.31, в системе много диалоговых и фоновых процессов, но при копировании манданта, максимум 60 потоков ( даже если выставил 80..).

И таких разнообразных задач, где нужна параллельность - масса...Вспоминаем:
- перенос транспортных запросов...
- обновление статистики БД...
- расчёт заработной платы ( RPCS0000 рулит ! )
- обычный select запрос в БД Оракл ( и в других наверное тоже..)..
- вообще, HR консультантам можно позавидовать, у них есть чудный отчёт RPMREP00 ( не сильно изучал, но по ошущениям паралельно можно любой НР отчёт запускать )...

Список можно продолжать до бесконечности...

Здесь мысль потерялась - потратил сегодня немного времени, но так и не смог победить "опер.запрос". Облазил Гугл: максимум предлагают запускать в фоне. А хочется запустить в 5 потоков...

P.s в процессе иследования наткнулся на очередную реинкарнацию ноты про "параллельность при обновлениях" ( # 1616401 ) - хоть, что то полезное попалось на глаза, не так обидно...

#Note_1616401 Parallelism in the Upgrade,EHPS and Support Packages implementations
#SPAM
#SAINT
Готовимся к обновлению системы без SolMana !

Жизненная ситуация: Есть Солман, но не разрешена(security рулят!) из него связь по RFC, а нужно обновить стек на системе...

Как оказывается - это вполне стандартная процедура...

Для ABAP систем:
1) Обновляем SPAM на самый свежий
2) SPAM->Utilities->Generate system info XML...
Выгружаем файл на ПК и затем в процессе выполнения МР подгружаем его на шаге "Adding Systems Using System Information XML"

Для Java систем: есть нота 2293050

Для Dual stacks systems: повторить шаги, необходимые для АВАР и Java систем

Весь процесс хорошо расписан в ноте 2287046: How to Generate the System Info XML and upload to Maintenance Planner

#SUM
#Maintenance Planner
#Note_2287046
#Note_2293050
Маскирование отображаемых данных

Темой "скрытия данных" сотрудник базиса на мой взгляд занимается не часто. Ну а SAP для нас уже постарался.
Придумал концепцию RAL ( Read access logging ) и реализовал её транзакцией SDMSK.
Сто пудов разрабатывали индусы, или человек с фантазиями, ибо конфигурационная транзакция называется SRALMANAGER....:)..

Требуется Kernel 7.53 , но может работать на SAP Basis 7.50,7.51,7.52...

Настройка описана в ноте 2512600

Распостраняется только на dynpro элементы ( не работает для списков и ALV гридов )...

Процесс настройки включает прописывание параметра в профиле, активацию и далее создание правила, определение маски и присвоение...

Покажите SDMSK своим безопасникам - они точно порадуются такому функционалу....

#RAL
#SDMSK
#Note_2512600
"Можно ли убить ABAP систему, если нет логина и пароля...?"

Если коротко, то ДА ( При желании, да с помошниками !!! )
.....
На днях попалась на глаза нота 10летней давности (1476386) и вспомнилась старая история, которая вряд ли могла произойти в небольшой организации. А в крупной - легко...Так как настройками ОС и многими инфраструктурными вещами администраторы SAP систем обычно не занимаются. Молчу, уж про то, что рутовый пароль выдают на хост по праздникам. Ну ладно,есть другие выделенные люди и они обычно всё настраивают так, как привыкли и иногда не так как нам нужно...

Понадобилось мне на ABAP системе разработки поменять какой-то незначительный статический параметр типа rdisp/max_alt_modes ( хотя сейчас в современных системах это динамический параметр..). Поменял, перегружаюсь...инстанс не поднимается. Удивляюсь. Но мы же не первый день работаем, бэкапы рабочих профилей обязательно делаем...Подсовывываю гарантированно рабочий профиль...Startsap r3...Штанга!...Пью стаканчик водички в полном недоумении.
Из состояния грогги меня выводит руководитель: "Давай другую систему перезагрузим..."
Останавливаем, стартуем...и другая система с гарантированно рабочим профилем не стартует !
Продолжаю шерстить логи и заниматься сравнением записей в них при более ранних стартах и сейчас.
Ничего путного не находится, но интуитивно понимаю, что нота прямо для нас, только записей таких нет.
Сходил к админам Юникса, спрашиваю:
"Чтото меняли за последний месяц ?"
"Последнее изменение - полгода назад".
Звоню админам DNS серверов: "...не месяца три ничего...хотя вот сегодня одну незначительную строку добавили. Хочешь - пришлём, посмотришь..."
Расстроеный иду к своему ПК, ещё раз прохожусь по логам и нахожу незначительное отличие. Приходит письмо от админов DNS, не знаю то ли плакать от радости, то ли материться....

Незначительная строка из DNS конфига:
"localhost 127.0.0.1"

AIX сервер был настроен на игнорирование локального файла resolv.conf и в первую очередь запрашивал данные из DNS сервера.
Закомментировали строку в DNS, поднялись обе системы без проблем.

Аналогичного рода проблема хорошо расписана в ноте 2738531( универсальная нота от 2019года..).
Только сообщение об ошибке было немного другое, а по поведению это именно то, на что наткнулись в 2011году..

P.S И да, "niping -v" на хосте показывал совершенно правильные данные.

SAP support на сообщение об ошибке, сообщил что настройка DNSa не может влиять на старт ABAP системы...:)..

#DNS
#Note_2738531
#Note_1476386
Самая главная базисная нота обновилась...

Наш любимый вендор в последний рабочий день самого болезненного года успешно обновил главную базисную ноту.
Если кто запамятовал, то звучит она, как: "How-To: Management for Technical Tables". Номер 2388483.
Очень удобная штука, всегда понятно по какой таблице и в каком продукте, где искать и что рекомендовано сделать.
Думаю и вы в своей деятельности пользуетесь этим ценным ресурсом, который с нами с ноября 2016 года ( "в девичестве" это была нота 706478..)

#ГЛАВНАЯБАЗИСНАЯНОТА
#Note_2388483
#Management_for_Technical_Tables
OB52 - не изменяемо в тестовой системе...

В тестовой среде консультанты пытаются ввести данные через транзакцию OB52(или S_ALR_87003642), но получают сообщение о том, что система "не изменяема", хотя в продуктиве действие разрешено.

1) SCC4 разрешаем изменения репозитария и настроек..
2) SCC4 меняем роль манданта с теста на продуктив...
3) Пользуемся настройками из ноты 214132 OB52: No current settings...

Забавно, но на эту же тему есть ещё 2269677..

Главное, не забыть вернуть настройки обратно, после ввода необходимых данных...🙈😋😋...

#OB52
#Note_214132
Hana memory протекание...

Обновился до 50 релиза и заметил, что растёт аномально интенсивно память dpserver,xsengine,docstore.

SAP support рекомендовал несколько нот ( в записях остались 2808956 и 2955475 ), пробовал масу рекомендаций.

Итоговое решение: обновить ST-A/PI и ST-PI компоненты до самых свежих. Протекание начинается после запуска задания, которое EWA отчёты отправляет нашему любимому вендору...

#HANA
Альтернативный вариант поддержки сертификатов...

Понятно, что STRUST - "это наше всё.." при работе с сертификатами.

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

Проще запустить SA38->SSF_ALERT_CERTEXPIRE и проблемные по нужным критериям сертификаты удобно подсветятся и про них точно никто не забудет....

#STRUST
#SSF_ALERT_CERTEXPIRE
Sap SSL TLS v1.2, SNI включение

История болезни: поменял Центробанк свои сертификаты в ноябре 2020.
Отвалились автозагрузки справочника БИКов и курсов валют.
Новые сертификаты подписаны УЦ Минкомсвязи и лежат на https://cbr.ru/lk_uio/requisires_certificates/. И с ними не заработало. Скачал сертификаты с сайта. Но попытка соединения валилась в ошибку "Peer not trusted", в логах icm фигурировал сертификат третьей стороны ( я так и не понял, чей это подрядчик - антиддосЗащитник).

По ноте 2384290 включить параметр icm/HTTPS/client_sni_enabled=TRUE

#Note_2384290
#icm/HTTPS/client_sni_enabled=TRUE
#cbr.ru
#SSL_certificate
#TLSv1.2
SOLARIS: древняя ошибка...

При обновлении ядра запускаю saproot.sh и получаю древнейшую ошибку:

whoami: Command not found

Проблема связана с тем, что на Solaris платформе почему то путь /usr/ucb отсутствует в переменной окружения $PATH, поэтому его надо просто добавить.. примерно так, в зависимости от используемого шелла:
PATH=/usr/ucb:$PATH или
set PATH=(/usr/ucb $PATH)

Альтернативный способ решения, отредактировать saproot.sh , заменив строку

if [ whoami ! = root ]; then

на такую:

if [ /usr/xpg4/bin/id -un ! = root ]; then

Проблема на самом деле очень редкая и не касается никаких других платформ....

#Note420417
#whoami
#Solaris
Диапазоны номеров...

Всегда считал, что настройка диапазонов номеров - забота соответствующих функциональных консультантов. Да, конечно залезть в SNRO и добавить цифры совсем несложно.

Но, рано или поздно заданный диапазон номеров может исчерпаться, поэтому за этим наверное стоит периодически следить ( это же и есть "бизнес" мониторинг ? )...

SA38-> RSNUMHOT

После запуска обнаружил, что только два-три объекта исчерпали ~ 15 % заданного диапазона ( остальные ещё меньше)...

Полезные рекомендации по работе с диапазонами номеров можно найти в нотах 1398444 , 2469364, 1524325...

А вообще чемпионской нотой на SNRO(SNUM,NRIV) тематику стоит признать ноту:
2737596 - After New Year, hanging work process on NRIV table (program SAPLSNR3); unable to create or copy users
https://launchpad.support.sap.com/#/notes/2737596
Никто не натыкался ?


#SNRO
#RSNUMHOT
No more processes...

Никакое кофе с утра не взбодрит лучше, чем обнаруженная в логе запись, типа "no more processes..."

Понятно, что проблема связана с настройками лимитов для пользователя <sid>adm в операционной системе.

Открываем соответствующие нашей Unix платформе рекомендации вендора и выставляем лимиты.

#Note1952443
#process
#<sid>adm
FIAS

Справочник российских адресов, пришедший на смену КЛАДРу.
Располагается по адресу: https://fias.nalog.ru
Обновления и архивы: https://fias.nalog.ru/Updates
Основная нота по настройке: 2572291
Определяем логический путь и логический файл в настройках ( транзакции FILE и SF01).

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

Если грузили ранее,а потом пропустили какието дельты, то проще почистить ( Note 2754243 ) старые таблицы в БД и загрузить заново полный актуальный справочник.

Обязательно следить за местом на appl.сервере, файл справочника в архиве порядка 10гб, в распакованном виде более 35гб..

Загружаем транзакцией HRPADRU_FIASLOADER.
Таблицы в БД:
HRPADRU_D_FIASAO Файл объектов адреса ADDROBJ.XML
HRPADRU_D_FIASSB Файл сокращений SOCRBASE.XML
HRPADRU_D_FIASHS Файл домов HOUSES.XML
HRPADRU_D_FIASES Файл статусов учреждений ESTSTAT.XML
HRPADRU_D_FIASSS Файл статусов структуры STRSTAT.XML

https://wiki.scn.sap.com/wiki/display/ERPHCM/FIAS

#FIAS
#Note_2572291
#SF01
#FILE
Настройка логического имени файла в SF01
Настройка логического имени файла в FILE