YUUK_REPORT_T030 - Данные по авто-проводкам ММ
О, тут на глаза попалась одна старая программка, которая в более меннее наглядном виде выдает данные по авто-проводкам ММ, при этом в качестве критериев можно указывать группы материала + для каждого класса оценки в группе материала, можно получить список материалов которые вошли в этот класс оценки. Написано давно но работает вроде как до сих пор
Было в свое время написано, как инструмент, для определения, что куда проводится и как настроено для ключевых пользователям модуля ММ.
*&---------------------------------------------------------------------*
*& Report YUUK_REPORT_T030
*&
*&---------------------------------------------------------------------*
*& Comments : "Авто-проводки из T030 + Список материалов по
*& Группа материала + Класс оценки материала"
*& Platform : SAP R/3 V4.0B or later
*& Autor : Uukrul
*& Date create : 21.09.2001
*& Date change : 25.09.2001
*&---------------------------------------------------------------------*
REPORT yuuk_report_t030 LINE-SIZE 101.
TABLES: t030, mara, mbew.
INCLUDE <icon>.
************************************************************************
PARAMETERS : p_ktopl LIKE t030-ktopl OBLIGATORY,
p_bwkey LIKE mbew-bwkey OBLIGATORY.
SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN BEGIN OF BLOCK block001 WITH FRAME TITLE text-001.
SELECT-OPTIONS : p_bklas FOR t030-bklas.
SELECT-OPTIONS : p_ktosl FOR t030-ktosl.
SELECT-OPTIONS : p_matkl FOR mara-matkl.
SELECTION-SCREEN END OF BLOCK block001.
************************************************************************
DATA: BEGIN OF i_t030 OCCURS 10,
ktosl LIKE t030-ktosl, "Код операции GBB|UMB...
bwmod LIKE t030-bwmod, "Модификационная константа оценки
komok LIKE t030-komok, "Модификация счета
bklas LIKE t030-bklas, "Класс оценки
konts LIKE t030-konts, "Номер основного счета - Дебет
konth LIKE t030-konth, "Номер основного счета - Кредит
ltext LIKE t030w-ltext, "Обозначение ключей операций
matkl LIKE mara-matkl, "Группа материалов
END OF i_t030.
DATA: BEGIN OF i_t023 OCCURS 10,
matkl LIKE t023-matkl, "Группа материалов
bklas LIKE mbew-bklas, "Класс оценки
wgbez60 LIKE t023t-wgbez60, "Подробный текст группы
bkbez LIKE t025t-bkbez, "Обозначение класса оценки запасо
END OF i_t023.
DATA: l_matkl LIKE i_t023-matkl,
l_bklas LIKE i_t023-bklas,
l_bkbez LIKE t025t-bkbez,
l_wgbez60 LIKE t023t-wgbez60.
************************************************************************
************************************************************************
************************************************************************
START-OF-SELECTION.
PERFORM read_data.
PERFORM write_data.
************************************************************************
AT LINE-SELECTION.
IF sy-lsind = 1.
PERFORM write_matnr_list USING l_bklas l_bkbez l_matkl l_wgbez60.
ENDIF.
************************************************************************
************************************************************************
*&---------------------------------------------------------------------*
*& Form READ_DATA
*&---------------------------------------------------------------------*
* Формирует данные для вывода
*----------------------------------------------------------------------*
* <-- I_T030 - Данные для показа проводок
*----------------------------------------------------------------------*
FORM read_data.
SELECT t3~ktosl "Код операции GBB|UMB...
t3~bwmod "Модификационная константа
t3~komok "Модификация счета
t3~bklas "Класс оценки
t3~konts "Номер основного счета - Дебет
t3~konth "Номер основного счета - Кредит
FROM t030 AS t3
INTO CORRESPONDING FIELDS OF TABLE i_t030
WHERE t3~ktopl = p_ktopl AND
t3~ktosl IN p_ktosl AND
t3~bklas IN p_bklas.
SELECT t2~matkl "Группа материалов
mb~bklas "Класс оценки
tt~wgbez60 "Имя группы материалов
INTO CORRESPONDING FIELDS OF TABLE i_t023
FROM t023 AS t2
JOIN t023t AS tt ON tt~matkl = t2~matkl
JOIN mara AS ma ON ma~matkl = t2~matkl
JOIN mbew AS mb ON mb~matnr = ma~matnr
WHERE tt~spras = sy-langu AND
t2~matkl IN p_matkl AND
mb~bwkey = p_bwkey AND mb~bwtar = space AND
mb~bklas IN p_bklas
GROUP BY t2~matkl tt~wgbez60 mb~bklas
ORDER BY t2~matkl mb~bklas.
LOOP AT i_t030.
* Определить названия операций
SELECT SINGLE ltext INTO (i_t030-ltext)
FROM t030w WHERE spras = sy-langu AND ktosl = i_t030-ktosl.
MODIFY i_t030.
ENDLOOP.
LOOP AT i_t023.
* Обозначение класса оценки запасов
SELECT SINGLE bkbez INTO (i_t023-bkbez)
FROM t025t
WHERE spras = sy-langu AND bklas = i_t023-bklas.
MODIFY i_t023.
ENDLOOP.
SORT i_t030 BY bklas ktosl.
ENDFORM. " READ_DATA
*&---------------------------------------------------------------------*
*& Form WRITE_DATA
*&---------------------------------------------------------------------*
* Вывод отчета
*----------------------------------------------------------------------*
* --> I_T030 - Данные для показа проводок
*----------------------------------------------------------------------*
FORM write_data.
DATA: l_new_line(1) TYPE c,
l_ktosl LIKE i_t030-ktosl.
CLEAR: l_matkl, l_bklas.
LOOP AT i_t023.
IF l_matkl <> i_t023-matkl.
SKIP 1.
WRITE: / sy-uline(100).
FORMAT COLOR 3 INTENSIFIED ON.
WRITE: / sy-vline, i_t023-matkl, "Группа материалов
'-', i_t023-wgbez60, "Подробный текст группы
' '.
FORMAT COLOR OFF.
WRITE: 100 sy-vline,
/ sy-uline(100).
CLEAR: l_bklas.
l_matkl = i_t023-matkl.
l_wgbez60 = i_t023-wgbez60.
ENDIF.
IF l_bklas <> i_t023-bklas.
FORMAT COLOR 2 INTENSIFIED ON.
WRITE: / sy-vline,
5 i_t023-bklas HOTSPOT ON, "Класс оценки
'-', i_t023-bkbez HOTSPOT ON, "Названиеи класса
' ' HOTSPOT ON,
' ' HOTSPOT ON.
FORMAT COLOR OFF.
l_bklas = i_t023-bklas.
l_bkbez = i_t023-bkbez.
HIDE: l_bklas, l_matkl, l_bkbez, l_wgbez60.
WRITE: 100 sy-vline.
ENDIF.
LOOP AT i_t030 WHERE bklas = i_t023-bklas.
WRITE: / sy-vline,
10 i_t030-ktosl, "Код операции GBB|UMB...
i_t030-bwmod, "Модификационная константа
i_t030-komok, "Модификация счета
i_t030-konts, "Номер основного счета - Дебет
i_t030-konth, "Номер основного счета - Кредит
100 sy-vline.
IF l_ktosl <> i_t030-ktosl.
l_ktosl = i_t030-ktosl.
WRITE: 45 i_t030-ltext.
ENDIF.
ENDLOOP.
WRITE: / sy-uline(100).
ENDLOOP.
ENDFORM. " WRITE_DATA
*&---------------------------------------------------------------------*
*& Form WRITE_MATNR_LIST
*&---------------------------------------------------------------------*
* Список материалов к данной группе и классу оценки
*----------------------------------------------------------------------*
* -->P_L_BKLAS - Класс оцненки
* -->P_L_MATKL - Группа материала
*----------------------------------------------------------------------*
FORM write_matnr_list USING p_l_bklas
p_l_bklas_txt
p_l_matkl
p_l_matkl_txt.
DATA: i_count TYPE i.
DATA: BEGIN OF i_matnr OCCURS 10,
matnr LIKE mara-matnr, "Код материала
lvorm LIKE mara-lvorm, "Метка удаления материала
maktx LIKE makt-maktx, "Краткий текст материала
END OF i_matnr.
REFRESH i_matnr. CLEAR i_matnr.
SELECT ma~matnr "Код материала
ma~lvorm "Метка удаления материала
mt~maktx "Краткий текст материала
INTO CORRESPONDING FIELDS OF TABLE i_matnr
FROM mara AS ma
JOIN makt AS mt ON mt~matnr = ma~matnr
JOIN mbew AS mb ON mb~matnr = ma~matnr AND
mb~bwkey = p_bwkey AND
mb~bwtar = space
WHERE ma~matkl = p_l_matkl AND
mb~bklas = p_l_bklas
GROUP BY ma~matnr ma~lvorm mt~maktx
ORDER BY ma~matnr.
DELETE ADJACENT DUPLICATES FROM i_matnr COMPARING matnr.
WRITE: /2 'Группа материала:', p_l_matkl, ' -', p_l_matkl_txt,
/2 'Класс оценки материала:', p_l_bklas, '-', p_l_bklas_txt.
SKIP 1.
WRITE: / sy-uline(66).
FORMAT COLOR 3 INTENSIFIED ON.
WRITE: / sy-vline, 'Код материала',
22 sy-vline, 'Наименование материала', 66 sy-vline.
FORMAT COLOR OFF.группы
WRITE: / sy-uline(66).
LOOP AT i_matnr.
IF i_matnr-lvorm = 'X'. FORMAT COLOR 6 INTENSIFIED OFF. ENDIF.
WRITE: / sy-vline,
i_matnr-matnr, "Код материала
sy-vline,
i_matnr-maktx. "Краткий текст материала
IF i_matnr-lvorm = 'X'.
WRITE: 63 icon_delete AS ICON.
ELSE.
WRITE: 63 icon_checked AS ICON.
ENDIF.
WRITE: 66 sy-vline.
FORMAT COLOR OFF.
ENDLOOP.
DESCRIBE TABLE i_matnr LINES i_count.
WRITE: / sy-uline(66),
/ sy-vline, 'Всего:', i_count, 'записей материалов',
66 sy-vline,
/ sy-uline(66).
ENDFORM. " WRITE_MATNR_LIST
- Примеры текстовых переменных программы на рисунке YUUK_REPORT_T030.png
- Пример работы программы в системе IDES на рисунке YUUK_REPORT_T030_W0.png - Экран выбора данных.
- Пример выбранных данных в система IDES на рисунке YUUK_REPORT_T030_W1.png - Результаты выбора данных в сортировке по группам материала и внутри по классам оценки. Для перехода к материалам, нужно кликнуть мышью на классе оценки. Выделено на рисунке.
- Пример выбранных материалов к классу оценки в система IDES на рисунке YUUK_REPORT_T030_W2.png - Материалы принадлежащие классу оценки 7920.