SAPфорум.RU https://www.sapboard.ru/forum/ |
|
Добавление полей в транзакцию IH01 https://www.sapboard.ru/forum/viewtopic.php?f=8&t=98342 |
Страница 1 из 1 |
Автор: | Maksimka [ Чт, янв 16 2020, 07:16 ] |
Заголовок сообщения: | Добавление полей в транзакцию IH01 |
Добрый день уважаемые консультанты ТОРО и ABAP-ы. Вопрос 1: возможно ли в транзакции IH01 добавление z-полей? Имеется в виду поля, которые добавляются для отображения иерархической структуры через пункт меню Параметры настройки-Выбор полей и там можно добавлять поля для ЕО и ТМ, но выбирать можно конечно же только стандартные поля. Копался в инете ничего не нашёл. Все советуют использовать для этих целей листовой отчёт и я его конечно же использую, но иерархическая транзакция тоже очень удобна. Может кто делал подобное и подскажет куда копать? Вопрос 2: возможно ли в транзакцию IH01 добавление не просто стандартных полей, но и их текстовое описание. Ну т.е. например добавил я через пункт меню Параметры настройки-Выбор полей-ЕО поле Местоположение или к примеру поле Производственный участок, а оно содержит цифровой идетификатор и это весьма не информативно. Можно ли туда как нибудь добавить поле ТекстОписание к Местоположению или Производственному участку? Может кто делал что нибудь подобное? |
Автор: | Maksimka [ Ср, фев 26 2020, 07:12 ] |
Заголовок сообщения: | Re: Добавление полей в транзакцию IH01 |
Нашёл один Badi в интернете BADI_EAM_STRUCTURE_LIST, насколько он приемлем наверняка не известно. Суть в том, что смотря в debug для отображение полей структурного списка существует структура RIHEQUI, её содержимое полностью передаётся в программу транзакции IH01. Расширить эту структуру вроде бы можно, ну т.е. я добавил дополнительную структуру с полем текстового описания Местоположения. В транзакции IH01 это поле появляется, но конечно же оно пустое. Пытался сделать реализацию BADI_EAM_STRUCTURE_LIST в классе BADI_EAML_STRUCTURE_LIST методе IF_EX_BADI_EAM_STRUCTURE_LIST~GET_OBJECTS есть пример реализации с транспортными средствами, который кстати говоря не работает, потому что в транспортных средствах имеются z поля, которые через этот класс должны передаваться в отображение структурного списка IH01, но этого не происходит. Если я правильно понял, то мне также нужно работать с этим классом Теперь не понятно, как мне осуществить заполнение поля, которое я добавил в дополнительную структуру структуры RIHEQUI? Может кто работал с этим Badi и подскажет как с ним дальше работать? Плюс ещё момент, при добавлении как стандартных полей так и полей Z должны ли они появляться в настройке транзакции OIWE ? |
Автор: | Maksimka [ Чт, апр 09 2020, 09:43 ] |
Заголовок сообщения: | Re: Добавление полей в транзакцию IH01 |
В общем если кому нибудь понадобится, то добавление полей в стандартный иерархический отчёт IH01 возможно. На данном примере я добавил в отчёт название местоположения единицы оборудования и название производственного участка. 1. Создать дополнительную структуру Z с полями Z к физической структуре RIHEQUI. 2. Запустить транзакцию OIWE проверив появились ли там новые z поля. 3. Открыть программу RIIFLO10 Представление структуры технического места include MIHIXF10 и вставить туда ENHANCEMENT(как создавать ENHANCEMENT я объяснять не буду, посмотрите в Интернете). 4. Code: ENHANCEMENT 1 ZIH01_01. "active version FIELD-SYMBOLS: <z_container> TYPE X, <z_structure> TYPE X. if f_object(1) = 'E' and ( RIHEQUI-stort ne space or RIHEQUI-beber ne space ). IF RIHEQUI-EQUNR IS NOT INITIAL. select single ktext from t499s into (RIHEQUI-ZZ_KTEXT) where stand = RIHEQUI-stort. select single FING FROM T357 INTO (RIHEQUI-ZZ_FING) WHERE beber = RIHEQUI-beber. ASSIGN f_data TO <z_container> CASTING. ASSIGN rihequi TO <z_structure> CASTING. "N965677 <z_container> = <z_structure>. ENDIF. endif. ENDENHANCEMENT. 5. Запустить транзакцию IH01, раскрыть дерево, пункт меню Параметры настройки - Выбор полей - Единица оборудования и там добавляете те поля, которые были созданы в Z структуре. |
Автор: | alexey-3-d [ Чт, мар 04 2021, 11:25 ] |
Заголовок сообщения: | Re: Добавление полей в транзакцию IH01 |
В дополнение если кому понадобится: Столкнулся с проблемой отображения полей: после расширения RIHEQUI дополнительной структурой, новые поля отобразились в транзакции OIWE, но в IH01 не мог их добавить (они просто сбрасывались/исчезали из выбора). По отладке докопался до таблицы TIH01, в ней имеется поле IHDAUSW, в котором каждый символ представляет собой одну запись/строку транзакции OIWE. Проблема заключалась в том, что длина поля IHDAUSW 120 символов, а в транзакции OIWE только стандартных записей/строк 126 + 2 мои Z. В итоге нашел ноту 2804086, которая решила проблему (обратите внимание что просто увеличение длины поля до 200 символов недостаточно, после ручных действий необходимо накатить ноту - в коде ФМников/классов есть ограничение в 120 символов, которое также исправляется на 200). Также в виде подсказки (для не опытных ): Enhancement нужно добавить в начало FORM insert_object_f10. |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |