Текущее время: Пт, июл 18 2025, 16:52

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
 Заголовок сообщения: Программа по поиску ENQUEUE / DEQUEUE функций  Тема решена
СообщениеДобавлено: Ср, фев 05 2014, 09:25 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Сб, апр 07 2012, 00:43
Сообщения: 113
Хочу поделиться программой по поиску ENQUEUE / DEQUEUE функций.
Может кому-то пригодится или кто-то поправит что не верно.
У меня нашло то что мне надо было.
Code:
*&---------------------------------------------------------------------*
*& Report  ZFIND_ENQUEUE
*&---------------------------------------------------------------------*
*& Created By Endrews
*&---------------------------------------------------------------------*

REPORT  zfind_enqueue.

*----------------------------------------------------------------------*
* .DEFINITION
*----------------------------------------------------------------------*

TYPE-POOLS : slis.

TABLES: dd25l, tfdir.

DATA: BEGIN OF lt_dd25 OCCURS 0,
  viewname LIKE dd25l-viewname,
  roottab  LIKE dd25l-roottab,
  ddtext   LIKE dd25t-ddtext,
  enqueue  LIKE dd25t-ddtext,
  dequeue  LIKE dd25t-ddtext,
END OF lt_dd25.

DATA gt_fieldcat TYPE slis_t_fieldcat_alv.
DATA gs_layout   TYPE slis_layout_alv.
DATA lv_fm_name  TYPE rs38l_fnam.

FIELD-SYMBOLS: <fs_lt_dd25> LIKE LINE OF lt_dd25.
FIELD-SYMBOLS <fs_fc>       LIKE LINE OF gt_fieldcat.

*----------------------------------------------------------------------*
* .SELECT-OPTION
* (Основная таблица , такая как MARA, LIKP, VBAK, MKPF)
*----------------------------------------------------------------------*

SELECT-OPTIONS: s_rootab FOR dd25l-roottab.

*----------------------------------------------------------------------*
* .CODE
*----------------------------------------------------------------------*

CHECK s_rootab[] IS NOT INITIAL.

SELECT dd25l~viewname dd25l~roottab
       dd25t~ddtext
  FROM dd25l
  INNER JOIN dd25t
   ON  dd25l~viewname = dd25t~viewname
   AND dd25l~as4local   = dd25t~as4local
  INTO CORRESPONDING FIELDS OF TABLE lt_dd25
  WHERE dd25l~roottab    IN s_rootab
    AND dd25t~ddlanguage EQ 'RU'.

CHECK sy-subrc IS INITIAL.

LOOP AT lt_dd25 ASSIGNING <fs_lt_dd25>.
  CONCATENATE 'ENQUEUE_' <fs_lt_dd25>-viewname
                    INTO <fs_lt_dd25>-enqueue.
  CONCATENATE 'DEQUEUE_' <fs_lt_dd25>-viewname
                   INTO <fs_lt_dd25>-dequeue.

  SELECT SINGLE * FROM tfdir WHERE funcname = <fs_lt_dd25>-enqueue.
  IF sy-subrc IS NOT INITIAL.
    CLEAR: <fs_lt_dd25>-enqueue.
  ENDIF.

  SELECT SINGLE * FROM tfdir WHERE funcname = <fs_lt_dd25>-dequeue.
  IF sy-subrc IS NOT INITIAL.
    CLEAR: <fs_lt_dd25>-dequeue.
  ENDIF.

ENDLOOP.

DELETE lt_dd25[] WHERE enqueue IS INITIAL
                   AND dequeue IS INITIAL.

CHECK lt_dd25[] IS NOT INITIAL.

*----------------------------------------------------------------------*
* .ALV
*----------------------------------------------------------------------*

CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
  EXPORTING
    i_program_name        = sy-repid
    i_internal_tabname     = 'LT_DD25'
    i_inclname                 = sy-repid
    i_bypassing_buffer     = 'X'
  CHANGING
    ct_fieldcat            = gt_fieldcat
  EXCEPTIONS
    inconsistent_interface = 1
    program_error           = 2
    OTHERS                     = 3.

IF sy-subrc NE 0.
  MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
        WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.

LOOP AT gt_fieldcat ASSIGNING <fs_fc>.
  CASE <fs_fc>-fieldname.
    WHEN 'ENQUEUE'.
      <fs_fc>-seltext_s     = 'ENQUEUE'.
      <fs_fc>-seltext_m    = 'ENQUEUE'.
      <fs_fc>-seltext_l      = 'ENQUEUE-функция'.
      <fs_fc>-reptext_ddic = 'ENQUEUE-функция'.
    WHEN 'DEQUEUE'.
      <fs_fc>-seltext_s     = 'DEQUEUE'.
      <fs_fc>-seltext_m    = 'DEQUEUE'.
      <fs_fc>-seltext_l      = 'DEQUEUE-функция'.
      <fs_fc>-reptext_ddic = 'DEQUEUE-функция'.
  ENDCASE.
ENDLOOP.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
  EXPORTING
    i_callback_program  = sy-repid
    it_fieldcat                = gt_fieldcat
    is_layout                 = gs_layout
  TABLES
    t_outtab                   = lt_dd25[]
  EXCEPTIONS
    program_error            = 1
    OTHERS                   = 2.

*----------------------------------------------------------------------*
* .END OF PROGRAMM
*----------------------------------------------------------------------*

_________________
[Удалено Админом]


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Программа по поиску ENQUEUE / DEQUEUE функций
СообщениеДобавлено: Ср, фев 05 2014, 10:05 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Пн, окт 11 2004, 20:32
Сообщения: 2470
Пол: Мужской
А смысл?
Журнал использования по таблице дает объекты блокирования, по которым уже понятно как называются ФМы

P.S. вместо dd25t~ddlanguage EQ 'RU' пишите лучше dd25t~ddlanguage EQ sy-langu

_________________
- Может ли настоящий мастер кунг-фу получить по морде?
- Настоящий мастер может все!


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Программа по поиску ENQUEUE / DEQUEUE функций
СообщениеДобавлено: Чт, фев 06 2014, 16:02 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Сб, апр 07 2012, 00:43
Сообщения: 113
Смысл: Меньше итераций глазами и мышью. Впринципе, почти все отчеты в SAP можно сделать с помощью SE16n и Excel.
ТАк удобный инструмент, не претендующий на что-то большое.

_________________
[Удалено Админом]


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Программа по поиску ENQUEUE / DEQUEUE функций
СообщениеДобавлено: Чт, фев 06 2014, 17:05 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
Endrews написал(а):
Смысл: Меньше итераций глазами и мышью.

Меньше, чем в средстве поиска? :?
Имхо, стандартное средство поиска, в котором несколько критериев выбора, поудобнее будет :wink:

_________________
С уважением,
Удав.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB