Текущее время: Сб, июл 19 2025, 21:10

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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