Автор Тема: Разграничение уровня доступа на список поля Вид объекта  (Прочитано 1232 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн themax

  • Newbie
  • *
  • Сообщений: 277
  • Репутация: +2/-0
  • YearsYearsYearsYearsYearsYearsYearsYears
Доброго времени суток уважаемые PM консультанты.

Возник такой вопрос. Есть определённый тип оборудования, пусть будет единиц оборудования. Так вот, этот тип единиц оборудования делится на виды объектов, т.е. в основной записи есть поле Вид объекта, который заполняется из списка, который сделан в стандартной настройке. Как сделать чтобы например для типа единиц оборудования Т в этом списке отображались только виды объектов которые относятся только к типу ЕО Т. Ну т.е. список достаточно большой и бизнес подразделения видят все эти виды объектов, хотя они к ним и не относятся, что доставляет им некоторое неудобство, когда они хотят поработать в ручную с какими то ЕО. В z отчёте я использую это поле в качестве критериев выбора, там у меня получилось сделать свой Search_help и с помощью одного функционального модуля вытаскивать только те Виды объектов которые мне нужны, а вот как быть со стандартными настройками? Может кто делал такое? Или может настройка есть какая нибудь, которая позволила бы разделить отображение этих видов объектов в транзакциях IE01 и IE02 по принципу групп полномочий или какого - нибудь другого условия?

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 758
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
You are not allowed to view links. Register or Login
Как сделать чтобы например для типа единиц оборудования Т в этом списке отображались только виды объектов которые относятся только к типу ЕО Т.
Ну в данном случае переписать свой код поиска объектов.

Оффлайн themax

  • Newbie
  • *
  • Сообщений: 277
  • Репутация: +2/-0
  • YearsYearsYearsYearsYearsYearsYearsYears
You are not allowed to view links. Register or Login
Ну в данном случае переписать свой код поиска объектов.
Добрый день Олег.

Поздновастенько продолжаю обсуждать эту тему, но я так и не нашёл средства как это сделать. Пытался в отладчике найти Search help,  который вызывается в транзакции IE02, чтобы попытаться расширить его, облазил все таблички, которые с этим могут быть связаны, а также смотрел  экран этой транзакции в редакторе экранов надеясь, что может быть там привязано к полю средство поиска, но и там нету. Видимо где то вызывается динамически в программе. Может быть вы делали что то подобное с другими транзакциями? Куда копать не пойму?

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 758
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
You are not allowed to view links. Register or Login
Поздновастенько продолжаю обсуждать эту тему, но я так и не нашёл средства как это сделать. Пытался в отладчике найти Search help
Ну это ты как-то далеко пошел в отладчик то зачем? Средство поиска, ну как это будет не странно но называется: EQUI. Оно комплексное, а это значит что можно добавить свое средство поиска без проблем к данному стандартному средству.

Оффлайн themax

  • Newbie
  • *
  • Сообщений: 277
  • Репутация: +2/-0
  • YearsYearsYearsYearsYearsYearsYearsYears
You are not allowed to view links. Register or Login
Ну это ты как-то далеко пошел в отладчик то зачем? Средство поиска, ну как это будет не странно но называется: EQUI. Оно комплексное, а это значит что можно добавить свое средство поиска без проблем к данному стандартному средству.
Я извиняюсь за интеллект, но я чот не допонимаю. EQUI это стандартная табличка, мне пытаться изменить стандартную табличку, добавив в неё свой Search Help? Просто мне врятли кто даст ключ этого объекта для его редактирования или это как то по другому делается?

Оффлайн themax

  • Newbie
  • *
  • Сообщений: 277
  • Репутация: +2/-0
  • YearsYearsYearsYearsYearsYearsYearsYears
Я не сразу понял, что Вы имеете в виду реальное средство поиска EQUI. Но это опять же стандартный объект, чтобы его как то расширить нужен ключ доступа к объекту или как то по другому это можно сделать?

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 758
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
You are not allowed to view links. Register or Login
Я не сразу понял, что Вы имеете в виду реальное средство поиска EQUI. Но это опять же стандартный объект, чтобы его как то расширить нужен ключ доступа к объекту или как то по другому это можно сделать?
Нет ключ не нужен, добавление собственного элементарного средства поиска в комплексное не требует ключа на объект.  В общем как-то так как по картинкам, думаю разберетесь.

Оффлайн themax

  • Newbie
  • *
  • Сообщений: 277
  • Репутация: +2/-0
  • YearsYearsYearsYearsYearsYearsYearsYears
You are not allowed to view links. Register or Login
Нет ключ не нужен, добавление собственного элементарного средства поиска в комплексное не требует ключа на объект.  В общем как-то так как по картинкам, думаю разберетесь.
Спасибо Олег за разъяснение, добавил своё средство поиска, но возникает одна не большая проблема. В SearchHelp-e, который я привязал в к полю eqart прописан функциональный модуль, который отображает только нужные виды объектов. Что то вроде:
Код: You are not allowed to view links. Register or Login
data: l_shselopt   like ddshselopt.
if callcontrol-step <> 'SELONE' and
   callcontrol-step <> 'SELECT' and
   callcontrol-step <> 'DISP'.
    exit.
  endif.
  if callcontrol-step = 'SELONE'.
    exit.
  endif.

  if callcontrol-step = 'PRESEL'.
    exit.
  endif.
if callcontrol-step = 'SELECT'.
    clear: gt_eqart[].
select * from t370k_t into corresponding fields of gs_eqart where spras = 'RU' and  ( eqart = 'SERVERS' or eqart = 'CONSOLE'
        or eqart = 'NTWRKEQUIP' or eqart = 'AIRCOOLSYS' or eqart = 'HDD' or eqart = 'POWERSUPL' or eqart = 'STWRKOP' or eqart = 'SETCOMPON'
        or eqart = 'NETWRKCARD' or eqart = 'BACKUPSYS' ).
        append gs_eqart to gt_eqart.
      endselect.
    endif.

    record_tab[] = gt_eqart[].

    if not gt_eqart[] is initial.
      callcontrol-step = 'DISP'.
    else.
      callcontrol-step = 'EXIT'.
    endif.
  endif.

  if callcontrol-step = 'DISP'.
    exit.
  endif.
Проблема в том, что список отображаемых видов объектов согласно селекту выше для Типа оборудования N, отображается также и для всех остальных типов оборудования. Пытаюсь сделать так, чтобы селект шёл в зависимости от типа открываемого оборудования. Для этого иду в ФМ под названием EXIT_SAPLITO0_001, где я добавлял z-поля для основной записи единицы оборудования, там есть поле zeqtyp, которое заполняется значением поля Тип оборудования открываемого транзакцией на данный момент времени. Это же поле я использую потом для работы с z-овскими экранами. Так вот, пытаюсь сделать так:
Код: You are not allowed to view links. Register or Login
data: x(1).
export zeqtyp to memory id x.
Затем пытаюсь в функциональном модуле, где идёт селект видов объектов в нужном мне SearchHelpe сделать:
Код: You are not allowed to view links. Register or Login
import zeqtyp from memory id x.Все используемые переменные объявил в обоих ФМ, но значение не передаётся. Чтобы проверить наверняка, я попытался сделать в ФМ EXIT_SAPLITO0_001 и export и import, но import в переменную не срабатывает. Что я делаю не так не понятно?

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 758
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
Поробуй через SET/GET PARAMETERS сделать.

Оффлайн themax

  • Newbie
  • *
  • Сообщений: 277
  • Репутация: +2/-0
  • YearsYearsYearsYearsYearsYearsYearsYears
You are not allowed to view links. Register or Login
Поробуй через SET/GET PARAMETERS сделать.
Пробовал сделать как Вы посоветовали, значение параметра в переменную через get всё равно не передаётся. В итоге сделал разграничение отображения списка Вида объектов по логину юзера,
Код: You are not allowed to view links. Register or Login
if sy-uname = 'nuser' or sy-uname = 'zuser'.
      select * from t370k_t into corresponding fields of gs_eqart where spras = 'RU' and  ( eqart = 'SERVERS' or eqart = 'CONSOLE'
        or eqart = 'NTWRKEQUIP' or eqart = 'AIRCOOLSYS' or eqart = 'HDD' or eqart = 'POWERSUPL' or eqart = 'STWRKOP' or eqart = 'SETCOMPON'
        or eqart = 'NETWRKCARD' or eqart = 'BACKUPSYS' ).
        append gs_eqart to gt_eqart.
      endselect.

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

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 758
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
You are not allowed to view links. Register or Login
Пробовал сделать как Вы посоветовали, значение параметра в переменную через get всё равно не передаётся.
Не может это не передаваться. Значит вы не правильно делаете вызов.