Я нашел эту информацию в вики SAP. Это должно повысить ценность определения основной причины.
Для начала проверьте, есть ли запись с именем отсутствующей службы в таблице ICFSERVICE. Например, если узел «testhandler» отсутствует в транзакции SICF, вызовите транзакцию SE16, введите TESTHANDLER (заглавными буквами) в поле ICF_NAME и нажмите «Выполнить». Далее действуйте в зависимости от результата:
1.) В таблице ICFSERVICE не найдена запись. В этом случае обратитесь к ответственной команде приложения или откройте инцидент клиента с компонентом приложения отсутствующей службы. Сервисы или узлы SICF, которые фактически отсутствуют, необходимо проанализировать со стороны приложения – возможно, не установлено необходимое дополнение или не активирована бизнес-функция. Также возможно, что услуга была удалена вручную — проверьте документы изменений, описанные в SAP-ноте 2270828.
2.) В таблице ICFSERVICE найдена запись, но транзакция SICF по-прежнему не отображает службу. В этом случае наиболее вероятной основной причиной является несовпадение идентификаторов узлов ICF. Древовидная структура SICF основана на таблице ICFSERVICE и ее полях ICFNODGUID (идентификатор узла) и ICFPARGUID (идентификатор родительского узла). Каждая служба ICF имеет идентификатор узла и идентификатор родительского узла. Если служба пытается использовать недопустимый идентификатор родительского узла, служба не будет отображаться в дереве SICF. Возможные основные причины несоответствия идентификаторов узлов:
а. Узлы были перенесены из нескольких разных систем, возможно, с разными уровнями SP. Пример:
У нас есть две системы разработки D01 и D02 и одна система качества Q01.
Служба «testhandler» и ее родительский узел «testparent» существуют в системах D01 и D02. Эти две системы имеют разные уровни SP — в результате также «testhandler» и «testparent» имеют разные идентификаторы узлов в D01 и D02. Теперь, если «testhandler» транспортируется из D01 в Q01, а «testparent» транспортируется из D02 в Q01, то служба «testhandler» не будет отображаться в дереве ICF в системе Q01.
б. Некоторые узлы были созданы в системе вручную, другие были перенесены. Пример:
У нас есть система развития D01 и система качества Q01.
Служба «testhandler» и ее родительский узел «testparent» существуют в системе D01. В системе Q01 мы создаем узел «testparent» вручную — в результате ID узла «testparent» будет отличаться в D01 и Q01. Теперь, если «тестовый обработчик» транспортируется из D01 в Q01, тогда служба «тестовый обработчик» не будет отображаться в дереве ICF в системе Q01.
Решение. Всегда переносите узлы ICF из одной и той же исходной системы. Если необходимо создание вручную, это необходимо сделать в исходной системе, а затем перенести в целевую систему.
person
Bharadhwaz Gaddam Bala
schedule
18.05.2020
/iwfnd/maint_service
- person Marc   schedule 15.05.2020