SAPфорум.RU
https://sapboard.ru/forum/

Монтаж и демонтаж ЕО.
https://sapboard.ru/forum/viewtopic.php?f=8&t=95919
Страница 1 из 1

Автор:  Maksimka [ Чт, дек 28 2017, 09:16 ]
Заголовок сообщения:  Монтаж и демонтаж ЕО.

Добрый день уважаемые консультанты.

В силу специфики иерархии технических мест и единиц оборудования возникла необходимость сделать отчёт, в котором бы отображалась ЕО и ТМ, но не то ТМ к которой смонтирована ЕО, а ТМ на один уровень выше. И вроде бы постановка задачи ясна, но вот не пойму в какой таблице лежит инфа о том к какой ТМ привязана ЕО. Пытался сделать трассировку с помощью st05, выдаёт таблички ILOA, IFLOT, EQUI, EQUZ. Смотрел там, но там нет инфы в какому ТМ привязана ЕО. Может кто знает где и в каком виде хранится эта информация?

Автор:  Kazarin [ Чт, дек 28 2017, 09:29 ]
Заголовок сообщения:  Re: Монтаж и демонтаж ЕО.

Вьюха V_EQUI

Автор:  Kazarin [ Чт, дек 28 2017, 09:37 ]
Заголовок сообщения:  Re: Монтаж и демонтаж ЕО.

Через вьюху с условием DATBI 31.12.9999 идёшь в IFLOT через TPLNR там поле TPLMA

Автор:  Maksimka [ Чт, дек 28 2017, 15:08 ]
Заголовок сообщения:  Re: Монтаж и демонтаж ЕО.

Kazarin написал:
Через вьюху с условием DATBI 31.12.9999 идёшь в IFLOT через TPLNR там поле TPLMA

Спасибо, буду пробовать.

Автор:  Maksimka [ Вт, янв 09 2018, 13:56 ]
Заголовок сообщения:  Re: Монтаж и демонтаж ЕО.

Kazarin написал:
Через вьюху с условием DATBI 31.12.9999 идёшь в IFLOT через TPLNR там поле TPLMA

В продолжении темы: сделал всё как Вы и посоветовали, полезная вьюха и почти вся нужная инфа по единицам оборудования там есть. В итоге строчек кода получилось совсем мало, что то вроде.
Code:
selection-screen begin of block lb with frame title text-001.
select-options: s_equnr for v_equi-equnr,                            " Номер ЕО
                s_eqart for v_equi-eqart,                            " Вид технич. объекта
                s_typbz for v_equi-typbz,                            " Название типа
                s_serge for v_equi-serge,                            " Серийный номер
                s_swerk for v_equi-swerk no-display default 3000,                " Завод
                s_stort for v_equi-stort,                            " Местоположение
                selection-screen end of block lb.

start-of-selection.

  perform indicator using 'Выбор средств измерения' 50.

  select  * from v_equi appending corresponding fields of table itab where eqtyp = 'Q'
    and equnr in s_equnr  and datbi = '99991231' and eqart in s_eqart and serge in s_serge
    and stort in s_stort .

loop at itab.
    select single tplma from iflot into (itab-tplnr2) where tplnr = itab-tplnr.
    select single tplma from iflot into (itab-tplnr3) where tplnr = itab-tplnr2.
    select single pltxt from iflotx into (itab-pltxt) where tplnr = itab-tplnr3.
    select single location from zie01_loc into (itab-location) where znum = itab-zzito_loc.
    select single ktext from t499s into (itab-ktext) where stand = itab-stort.

    modify itab.
  endloop.

Вот собственно и готово, можно выводить на экран, но понадобилось ещё одно условие выборки на select-options, это поле выборки техническое место, т.е. если мне нужно добавить в
Code:
select-options s_tplnr for v_equi-tplnr.  " Техническое место
, при чём чтобы выбирая верхнее техническое место, т.е. то место, которое я выкапывал через вьюху v_equi, затем iflot, отображались все единицы оборудования которые привязаны к нему через низстоящие технические места. Как быть в таком случае? Может кто что подскажет?

Автор:  Kazarin [ Пт, янв 12 2018, 06:11 ]
Заголовок сообщения:  Re: Монтаж и демонтаж ЕО.

Не совсем понятна задача. Сначала вы выбираете ЕО на селекционном экране, потом находите к ним вышестоящие ТМ. Потом опять спускаетесь вниз по иерархии и ищете все ЕО на нижних ТМ.

Автор:  Maksimka [ Пт, янв 12 2018, 06:39 ]
Заголовок сообщения:  Re: Монтаж и демонтаж ЕО.

Kazarin написал:
Не совсем понятна задача. Сначала вы выбираете ЕО на селекционном экране, потом находите к ним вышестоящие ТМ. Потом опять спускаетесь вниз по иерархии и ищете все ЕО на нижних ТМ.

При выборе ЕО на селекционном экране у меня получилось простым селектом найти вышестоящие ТМ, которые мне нужны и вывести, но я также хочу, чтобы в случае если на селекционном экране выбрать сразу вышестоящее ТМ, которое вытаскиваю в отчёт, в случае когда выбираю ЕО, выбирались все ЕО которые привязаны к нему через низстоящие ТМ, вот как это сделать мне не совсем понятно. В первом случае я сделал так
Code:
select  * from v_equi appending corresponding fields of table itab where eqtyp = 'Q'
    and equnr in s_equnr  and datbi = '99991231' and eqart in s_eqart and serge in s_serge
    and stort in s_stort .

loop at itab.
    select single tplma from iflot into (itab-tplnr2) where tplnr = itab-tplnr.
    select single tplma from iflot into (itab-tplnr3) where tplnr = itab-tplnr2.
    select single pltxt from iflotx into (itab-pltxt) where tplnr = itab-tplnr3.
endloop.


Вот я вытаскиваю данные из v_equi, которую Вы мне подсказали, и затем в лупе нахожу то вышестоящее место, которое мне нужно и вроде бы простой код без наворочек, но как сделать мне наоборот, т.е. в случае если я выбираю не ЕО, а сразу ТМ на селекционном экране?

Автор:  Kazarin [ Пт, янв 12 2018, 12:19 ]
Заголовок сообщения:  Re: Монтаж и демонтаж ЕО.

Тогда нужно идти наоборот. Сначала в iflot по tplma находите нижестоящие ТМ а потом в V_EQUI там ЕО

Автор:  Maksimka [ Пт, янв 12 2018, 15:06 ]
Заголовок сообщения:  Re: Монтаж и демонтаж ЕО.

Kazarin написал:
Тогда нужно идти наоборот. Сначала в iflot по tplma находите нижестоящие ТМ а потом в V_EQUI там ЕО

Да понятно что наоборот, не понятно Abap -ом как это сделать. Нехватка знаний так сказать.

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/