Sapforum.Biz

Инструменты => ABAP - Инструментальные средства => SE37 - Построитель функций => Тема начата: Uukrul от Апрель 24, 2008, 05:44:56 pm

Название: Общая проверка полномочий для единицы оборудования/серийный номер
Отправлено: Uukrul от Апрель 24, 2008, 05:44:56 pm
Проверка полномочий вещь нужная, но очень часто в своих программах забиваемая  ;), а все почему? Да потому как рука бойца писать устанет, пока проверишь все, что нужно и можно проверить, чтобы и свои объекты работали и стандарт не обидеть, а особенно если это какой-то большой объект... ну вот ту случайно наткнулся когда-то на ФМ, который проверяет на все что нужно такой объект как единица оборудования/серийный номер.

Код: You are not allowed to view links. Register or Login
DATA: f_tcode LIKE sy-tcode,  "Код транзакции
      ls_equi TYPE equi,  "Основные данные единицы оборудования
      ls_equz TYPE equz,  "Сегмент времени единицы оборудования
      ls_iloa TYPE iloa.  "Место расположения и контировка объекта ТОРО

f_tcode = 'IQ03'.

CALL FUNCTION 'AUTHORITY_CHECK_EQUI'
     EXPORTING
          w_equi                         = ls_equi
          tcode                          = f_tcode
          i_tcode_check                  = 'X'
          w_equz                         = ls_equz
          w_iloa                         = ls_iloa
          i_call_badi                    = 'X'
     EXCEPTIONS
          no_authority_tcode             = 1
          no_authority_begrp             = 2
          no_authority_iwerk             = 3
          no_authority_ingrp             = 4
          no_authority_swerk             = 5
          no_authority_kostl             = 6
          no_profile_in_user_master_data = 7
          error_in_user_master_data      = 8
          no_authority_badi              = 9
          OTHERS                         = 10.
В общем из примера вызова думаю и так все ясно. Грузим селектом записи из таблиц EQUI, EQUIZ и  ILOA и спрашиваем у ФМ-ки а можно ли эти данные просмотреть в заданной транзакции пользователю, выполняющему программу. Опять же что полезно, проверку на код транзакции и на то как идет вызов в диалоге или из BADI, тоже можно ключить\отключить.