Создание ERP-системы ОАО «ЗСМК». Управление затратами. Отчет "Калькуляция себестоимости вспомогательных производств". Программа ZSZMVZ. Транзакция ZSZMVZ. Техническое задание, страница 2

1. Определить виды затрат происхождения для вида затрат "Горючее"

2. Определить объектов партнеров для выбранного МВЗ по виду затрат "горючее"

3. Определить калькуляции детального планирования МВЗ-партнеров

4. Выбрать записи материалов из калькуляций и сложить данные по одинаковым материалам

5. Вывести в отчет детальные данные для вида затрат "Горючее".

4  Обработка данных

Математика модификации представлена на примере локальной программы:

REPORT  zch18.

TABLES:

coss,   "СО-объект: ИтогЗаписи затрат - внутренние проводки

cokp,   "СО-объект: Управляющие данные плановых первичных затрат

ckis,

ckip,

tkb5e,  "Схема перерасчета (виды затрат)

tkb5al. "Виды затрат раскладки для схемы перерасчетов

PARAMETERS:

p_kostl TYPE kostl DEFAULT '2325200001',

p_kokrs TYPE kokrs DEFAULT 'ZSMK',

p_gjahr TYPE gjahr DEFAULT '2004',

p_period TYPE perbl DEFAULT '006',

p_versn TYPE versn DEFAULT '000'.

CONSTANTS:

p_absch TYPE tkb5e-absch VALUE 'C1', "Схема перерасчета

p_kstarg TYPE kstar VALUE '3301000002',

c_wrttp type wrttp value '01'.

TYPES:

BEGIN OF t_pos,

matnr TYPE matnr,

ppgxxx TYPE ppgxxx,

menge TYPE menge_pos,

sum_ppg TYPE ppgxxx,

END OF t_pos.

DATA:

p_objnr          TYPE objnr,

it_col_list(20)  TYPE c OCCURS 0 WITH HEADER LINE,

l_pmg            TYPE ppkxx,     "Цена периода калькуляции

l_pmgxxx         TYPE pmkxx,     "Количество/период калькуляции

l_menge          TYPE menge_pos, "Количество

l_ppgxxx         TYPE ppgxxx,    "Цена

r_pos            TYPE t_pos,

wa_pos           TYPE HASHED TABLE OF t_pos

WITH UNIQUE KEY matnr.

RANGES:

range_kstar FOR cskb-kstar,

range_objnr FOR onr00-objnr.

START-OF-SELECTION.

* Подготавливаем поля для выбора из ckip

CLEAR: it_col_list.

it_col_list = 'PMG'.

APPEND it_col_list.

CONCATENATE 'PMG' p_period INTO it_col_list.

APPEND it_col_list.

CONCATENATE 'PPG' p_period INTO it_col_list.

APPEND it_col_list.

* Выбор номера присвоения (tkb5al-abzuo) для вида затрат p_kstarg

SELECT * FROM tkb5al

WHERE absch = p_absch

AND kokrs = p_kokrs

AND asacc = p_kstarg.

*   Выбор диапазона видов затрат происхожд-я для найденного присвоения

SELECT SINGLE * FROM tkb5e

WHERE absch = tkb5al-absch

AND abzuo = tkb5al-abzuo

AND kokrs = tkb5al-kokrs

AND fname LIKE 'KSTAR'.

*  заполнение таблицы видов затрат происхождения

IF tkb5e-kstar_max IS INITIAL.

range_kstar-sign = 'I'.

range_kstar-option = 'EQ'.

range_kstar-low = tkb5e-kstar_min.

ELSE.

range_kstar-sign = 'I'.

range_kstar-option = 'BT'.

range_kstar-low = tkb5e-kstar_min.

range_kstar-high = tkb5e-kstar_max.

ENDIF.

APPEND range_kstar.

ENDSELECT.                                 "SELECT * FROM tkb5al

CONCATENATE 'KS' p_kokrs p_kostl INTO p_objnr.

* Выбор объектов партнеров (coss-parob) для выбранного МВЗ p_kostl

SELECT * FROM coss

WHERE objnr = p_objnr

AND gjahr = p_gjahr

AND wrttp = c_wrttp "признак План

AND versn = p_versn

AND kstar = p_kstarg

AND beknz LIKE 'S'. "Признак Дебет

*   Заполнение таблицы объектов-партнеров

range_objnr-sign = 'I'.

range_objnr-option = 'EQ'.

range_objnr-low = coss-parob.

APPEND range_objnr.

ENDSELECT.                                 "SELECT * FROM coss

* Выбор калькуляций детального планирования

SELECT * FROM cokp

WHERE lednr LIKE '00'

AND objnr IN range_objnr

AND gjahr = p_gjahr

AND wrttp = c_wrttp

AND versn = p_versn

AND kstar IN range_kstar

AND hrkft = space

AND vrgng = 'RKP1'

AND vbund = space

AND pargb = space

AND beknz = 'S'

AND twaer = 'RUB'.

*   Позиции ЕдиничнКалькуляции/подробной ведомости КалькИздели

SELECT * FROM ckis

WHERE lednr = cokp-lednr

AND bzobj = '2'

AND kalnr = cokp-kalnr

AND kalka = '03'

AND typps = 'M'.

CLEAR r_pos.

*     Периодические значения позиции единичной калькуляции

SELECT SINGLE (it_col_list)

INTO (l_pmg, l_pmgxxx, l_ppgxxx)

FROM ckip

WHERE lednr = ckis-lednr

AND bzobj = ckis-bzobj

AND kalnr = ckis-kalnr

AND kalka = ckis-kalka

AND posnr = ckis-posnr.

r_pos-matnr = ckis-matnr.

r_pos-menge = l_pmgxxx / l_pmg * ckis-menge.

r_pos-sum_ppg = r_pos-menge * l_ppgxxx.

COLLECT r_pos INTO wa_pos.

ENDSELECT.                      "SELECT * FROM ckis

ENDSELECT.                      "SELECT * FROM cokp

LOOP AT wa_pos INTO r_pos where sum_ppg <> 0.

r_pos-ppgxxx = r_pos-sum_ppg / r_pos-menge.

***** результат который необходимо вывести в отчет

* Добавить текст материала и расчитать кол-во и сумму на единицу согласно

* стандартной математики

*            материал     цена          кол-во       сумма

WRITE: / r_pos-matnr, r_pos-ppgxxx, r_pos-menge, r_pos-sum_ppg.

*****

ENDLOOP.

END-OF-SELECTION.

5  Контрольный пример

Клиент 520.

Параметры:

  • План = 'X'
  • Год = 2004
  • Период = 6
  • МВЗ = 2325200001

Техническое задание на модификацию программного обеспечения. Отчет "Калькуляция себестоимости вспомогательных производств"

Программа ZSZMVZ, транзакция ZSZMVZ

  Модификация 28.09.2004 "Дополнительные строки для калькуляции кислорода"

НАДО ДОДЕЛАТЬ !!!

1  Название

ТЗ_СО-1.000.17 Отчет Плановая и Фактическая Калькуляция по МВЗ

2  Название файла.

ТЗ_СО-1.000.17 Отчет Плановая и Фактическая Калькуляция по МВЗ (ZSZMVZ).doc

3  Обработка данных

Обработка должна выполняться только в том случае если МВЗ выбрано 2320003003 (только одно это МВЗ).

4  Результат

5  Контрольный пример

Клиент 520.

Параметры:

  • План = 'X'
  • Год = 2004
  • Период = 6
  • МВЗ = 2325200001

Руководитель Сабельникова А.А.

Исполнитель Черданцев А.М.

Контакт. тел. 1-56-37