Текущее время: Сб, июн 21 2025, 01:40

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




Начать новую тему Ответить на тему  [ Сообщений: 16 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Экстракторы для фактического регистра материалов, 0CO_PC_ACT_1
СообщениеДобавлено: Вт, июн 07 2011, 09:39 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Пн, май 12 2008, 07:12
Сообщения: 50
Откуда: Nsk
Добрый день!
Подскажите, пожалуйста, какие данные поставляет экстрактор 0CO_PC_ACT_1, можно ли его использовать в моем случае.
Ищу стандартные источники для формирования оборотки по 07 счету в разрезе проектов.
Согласно постановке:
- для извлечения остатков используется ракурс MLHELP_ML_MARA_C на таблицах CKMLHD/CKMLPP/CKMLPR/CKMLCR;
- для извлечения движения за период используются данные табл. MLCD.

Вопрос - можно ли для извлечения этих данных использовать экстрактор 0CO_PC_ACT_1?

Судя по описанию экстрактора, он должен извлекать данные из MLCR, MLCRF, MLPPF, MLCRP. Но если залезть в "потроха", то там извлекаются данные из кучи таблиц CKML* и ML*, в том числе из MLCD.

Структура показателей отчета должна выглядеть следующим образом:
Проект PROJ - PSPNR
Остаток на начало, сумма MLHELP_ML_MARA_C – ABSALK3
Приобретено, сумма MLCD – SALK3 + MLCD – ESTPRD + MLCD – MSTPRD при MLCD – PTYP = BB, DC
Прочие поступления, сумма MLCD – SALK3 + MLCD – ESTPRD + MLCD – MSTPRD при MLCD – PTYP = B+, PC
Внутренние перемещения, сумма MLCD – SALK3 + MLCD – ESTPRD + MLCD – MSTPRD при MLCD – PTYP = BUBS
Передача в монтаж, сумма MLCD – SALK3 + MLCD – ESTPRD + MLCD – MSTPRD при MLCD – PTYP = VP
Прочие выбытие, сумма MLCD – SALK3 + MLCD – ESTPRD + MLCD – MSTPRD при MLCD – PTYP = VEUA, VU, V+
Внутренние перемещения, сумма MLCD – SALK3 + MLCD – ESTPRD + MLCD – MSTPRD при MLCD – PTYP = VUBS


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Экстракторы для фактического регистра материалов, 0CO_PC_ACT_1
СообщениеДобавлено: Вт, июн 07 2011, 11:11 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, авг 04 2006, 20:56
Сообщения: 1006
Откуда: 37 МИКРОРАЙОН
Пол: Мужской
grin написал(а):
Подскажите, пожалуйста, какие данные поставляет экстрактор 0CO_PC_ACT_1.

Сначала формируется рабочий список калькуляций из таблицы CKMLHD:
Code:
      SELECT kalnr mlast matnr bwkey bwtar sobkz vbeln posnr pspnr   
         FROM ckmlhd                                                 
         INTO CORRESPONDING FIELDS OF TABLE g_t_stock_all           
         WHERE bwkey IN r_bwkey AND                                 
               matnr IN r_matnr AND                                 
               bwtar IN r_bwtar AND                                 
               mlast IN r_mlast.       

Далее данные выбираются из CKMLCR и СKMLPP c помощью ФМ:
Code:
        CALL FUNCTION 'CKMS_PERIOD_READ_WITH_ITAB'       
              EXPORTING                                   
*                  i_refresh_buffer    = 'X'             
*                  i_use_buffer        = space           
                   i_between_1_and_2   = 'X'               
                   i_bdatj_1           = l_bdatj1         
                   i_poper_1           = l_poper1         
                   i_bdatj_2           = l_bdatj2         
                   i_poper_2           = l_poper2     
                   i_call_by_reporting = 'X'         
                   i_build_smbew       = space       
              TABLES                                 
                   t_kalnr             = lt_kalnr     
                   t_ckmlpp            = lt_ckmlpp   
                   t_ckmlcr            = lt_ckmlcr   
              EXCEPTIONS                             
                   OTHERS              = 1.           
       ENDIF.                                         

Затем выбираются данные по типам процессов из MLCD с помощью ФМ:
Code:
      CALL FUNCTION 'CKMCD_MLCD_READ'                 
           EXPORTING                                   
                i_untper          = '000'             
                i_from_bdatj      = l_bdatj1           
                i_from_poper      = l_poper1           
                i_to_bdatj        = l_bdatj2           
                i_to_poper        = l_poper2           
*               I_NO_BUFFER      =                     
                i_refresh_buffer  = 'X'               
                i_online          = 'X'               
                i_no_mlcd_create  = 'X'               
           TABLES                                     
                it_kalnr          = lt_kalnr           
                ot_mlcd           = lt_mlcd           
                ot_mlcd_not_alloc = lt_mlcd_na         
           EXCEPTIONS                                 
                data_error        = 1                 
                .         

grin написал(а):
Ищу стандартные источники для формирования оборотки по 07 счету в разрезе проектов.
Вопрос - можно ли для извлечения этих данных использовать экстрактор 0CO_PC_ACT_1?

Можно. Все данные для вашего отчета экстрактор поставляет.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Экстракторы для фактического регистра материалов, 0CO_PC_ACT_1
СообщениеДобавлено: Вт, июн 07 2011, 15:52 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Пн, май 12 2008, 07:12
Сообщения: 50
Откуда: Nsk
Большое спасибо!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Экстракторы для фактического регистра материалов, 0CO_PC_ACT_1
СообщениеДобавлено: Ср, июн 08 2011, 13:07 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Пн, май 12 2008, 07:12
Сообщения: 50
Откуда: Nsk
В процессе реализации задачи выяснилась еще пара нюансов:
1). Согласно постановке, список калькуляций должен формироваться по условию на код особого запаса CKMLHD-SOBKZ = Q. В структуре 0CO_PC_ACT_1 нет этого поля и нет номера калькуляции, чтоб его достать.

2). Согласно постановке, cоединение таблиц для выборки данных должно включать таблицу CKMLMV005 "Альтернативы потребления" c условием MLCD–BVALT = CKMLMV005–KALNR. В некоторых отчетах в постановке просто указано соединение без условий на поля CKMLMV005 (возможно, соединение должно работать как фильтр? либо это лишнее соединение, случайно оставленное при копипасте), в некоторых отчетах используется поле CKMLMV005-OBJNR_ND "Контировка СО" (для показателей "Отпущено в производство" OBJNR_ND = OR*, KS*; "Реализовано" - OBJNR_ND = EO*; "Прочее выбытие" - OBJNR_ND = ` `).
В 0CO_PC_ACT_1 соединения с CKMLMV005 нет и, судя по всему, вряд ли его можно добавить.

Можете подсказать, какой логический смысл в этих условиях отбора? Можно ли как-то выкрутиться, используя стандарт? Может быть есть другие поля, по которым можно выполнить выборку?
Автор постановки, к сожалению, недоступен.


Последний раз редактировалось grin Чт, июн 09 2011, 01:14, всего редактировалось 1 раз.

Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Экстракторы для фактического регистра материалов, 0CO_PC_ACT_1
СообщениеДобавлено: Ср, июн 08 2011, 20:29 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Пн, май 12 2008, 07:12
Сообщения: 50
Откуда: Nsk
Цитата:
Согласно постановке, список калькуляций должен формироваться по условию на код особого запаса CKMLHD-SOBKZ = Q. В структуре 0CO_PC_ACT_1 нет этого поля и нет номера калькуляции, чтоб его достать.

Не знаю, какой смысл имеет код особого запаса, но с этой проблемой вроде разобрался. Проанализировал содержимое CKMLHD, похоже фильтр CKMLHD-SOBKZ = Q в постановке указан для отбора калькуляций по инвестиционным проектам. Все калькуляции c CKMLHD-SOBKZ = Q имеют непустую ссылку на проект и наоборот, все калькуляции с непустой ссылкой на проект имеют CKMLHD-SOBKZ = Q.

А вот что делать со вторым пунктам - пока непонятно...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Экстракторы для фактического регистра материалов, 0CO_PC_ACT_1
СообщениеДобавлено: Чт, июн 09 2011, 08:30 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, апр 10 2009, 11:13
Сообщения: 1308
Относительно второго, можно использовать Категорию (CATEG) и Тип процесса (PROCCATEG) в экстракторе, однако не совсем понятна настройка вашего регистра и реализация бизнес-процесса производство, т.к. при обычных производственных заказах записей типа OBJNR_ND = OR* в таблице CKMLMV005 не будет... эти записи будут только в случае одноуровневых заказов с повторной дооценкой, например, СО-заказы...
ЗЫ: Лучше все-таки пообщаться с постановщиком...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Экстракторы для фактического регистра материалов, 0CO_PC_ACT_1
СообщениеДобавлено: Чт, июн 09 2011, 09:36 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, авг 04 2006, 20:56
Сообщения: 1006
Откуда: 37 МИКРОРАЙОН
Пол: Мужской
grin написал(а):
Можете подсказать, какой логический смысл в этих условиях отбора?

Таблица CKMLMV005 нужна для расшифровки расхода по каждому номеру калькуляции KALNR из таблицы MLCD для категории VN.
Под расшифровкой я понимаю, к примеру какое количество материала ушло на тот или иной завод, объект СО и т.д.
grin написал(а):
Можно ли как-то выкрутиться, используя стандарт? Может быть есть другие поля, по которым можно выполнить выборку?
Если экстрактор должен поставлять данные из таблицы CKMLMV005, то стандарт здесь не поможет.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Экстракторы для фактического регистра материалов, 0CO_PC_ACT_1
СообщениеДобавлено: Чт, июн 09 2011, 13:52 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Пн, май 12 2008, 07:12
Сообщения: 50
Откуда: Nsk
Если более подробно, то отчет должен выглядеть так:
Цитата:

Соединение таблиц:
1. MLHELP_ML_MBEW – MLCD
Условие объединения: «один к многим»
MLHELP_ML_MBEW - KALNR = MLCD – KALNR
[...]
4. CKMLMV005 - MLCD
Условие объединения «один к одному»
CKMLMV005 – KALNR = MLCD - BVALT
[...]

Общие ограничения данных при формировании отчета:
CKMLHD - BWTAR = ТОВАРЫ, ТОВАРЫ_БУ, ТОВАРЫ_ПОК, ТОВАРЫ_СОБ
MLCD - BDATJ По данным селекционного экрана
MLCD - POPER По данным селекционного экрана
MLHELP_ML_MBEW - BWKEY По данным селекционного экрана T001K – BUKRS при BWKEY = *1 – область оценик найдена по БЕ
MLCD - CURTP = 10 – валюта БЕ
T030 - KTOSL = BSX – счет запаса
MLCD - CATEG <>AB

Порядок заполнения формы:
Название поля Порядок заполнения
Номер счета РСБУ T030 - KONTS
Наименование счета РСБУ SKA1 - TXT50
Номенклатурный номер MLHELP_ML_MBEW - MATNR
Наименование материала MARA - MAKTX
Единица измерений MLHELP_ML_MBEW - MEINS
Остаток на начало, количество MLHELP_ML_MBEW – ABKUMO
Остаток на начало, сумма MLHELP_ML_MBEW – ABSALK3
Приобретено, количество MLCD – LBKUM при MLCD – PTYP = BB
Приобретено, сумма MLCD – SALK3 + MLCD – ESTPRD + MLCD – MSTPRD при MLCD – PTYP = BB, DC
Прочие поступления, количество MLCD – LBKUM при MLCD – PTYP = B+, PC, BUBS при
Прочие поступления,, сумма MLCD – SALK3 + MLCD – ESTPRD + MLCD – MSTPRD при MLCD – PTYP = B+, PC, BUBS
Отпущено в производство, количество MLCD – LBKUM при MLCD – PTYP = VK, VF, VEAU при CKMLMV005 - OBJNR_ND = OR*, KS*
Отпущено в производство, сумма MLCD – SALK3 + MLCD – ESTPRD + MLCD – MSTPRD при MLCD – PTYP = VK, VF, VEAU при CKMLMV005 - OBJNR_ND = OR*, KS*
Реализовано, количество MLCD – LBKUM при MLCD – PTYP = V+ при CKMLMV005 - OBJNR_ND = EO*
Реализовано, сумма MLCD – SALK3 + MLCD – ESTPRD + MLCD – MSTPRD при MLCD – PTYP = V+ при CKMLMV005 - OBJNR_ND = EO*
Прочее выбытие, количество MLCD – LBKUM при MLCD – PTYP = VEUA, VUBC, VU, V+ при CKMLMV005 - OBJNR_ND = ` `
Прочее выбытие, сумма MLCD – SALK3 + MLCD – ESTPRD + MLCD – MSTPRD при MLCD – PTYP = VEUA, VUBC, VU, V+ при CKMLMV005 - OBJNR_ND = ` `
Остаток на конец, количество MLHELP_ML_MBEW – LBKUM_CKMLPP
Остаток на конец, сумма MLHELP_ML_MBEW – SALK3_CKMLCR
В том числе несоответствующего качества, количество MLHELP_ML_MBEW – LBKUM_CKMLPP при MLHELP_ML_MBEW – MATNR = NS* из того же вида запасов
В том числе несоответствующего качества, сумма MLHELP_ML_MBEW – SALK3_CKMLCR MLHELP_ML_MBEW – MATNR = NS* из того же вида запасов

1. ЕСЛИ СТОБЛЦИ ПОСТУПЛЕНИЙ И СПИСАНИЙ ПУСТИ А СТОЛЮЕЦ ОСТАТОК НА КОНЕЦ ПЕРИОДА ЕСТЬ, ТО ПРИСВОИТЬ ЗНАЧЕНИЕ ОСТАТКА НА КОНЕЦ ПОЛЮ ОСТАОК НА НАЧАЛО
2. ЕСЛИ ЗАДАНО НЕСКОЛЬКО ПЕРИОДОВ ОСТАТКИ НА НАЧАЛО СМОТРЕТЬ ПО ПЕРВОМУ ПЕРИДУ, ОСТАТКИ НА КОНЕЦ – ПО ПОСЛЕДНЕМУ ПЕРИОДУ


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Экстракторы для фактического регистра материалов, 0CO_PC_ACT_1
СообщениеДобавлено: Чт, июн 09 2011, 14:15 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Пн, май 12 2008, 07:12
Сообщения: 50
Откуда: Nsk
Если буквально понимать ограничения отчета, то в отчет попадут только данные из категории VN...
Code:
select distinct CATEG, PTYP from MLCD m, CKMLMV005 c  where c.KALNR = m.BVALT
----------------------------------------------------------------------
AB   V+
AB   VA
AB   VEAU
AB   VK
AB   VKA
AB   VP
VN   V+
VN   VA
VN   VEAU
VN   VK
VN   VKA
VN   VP

AB исключаются, а записи ZU не попадают в соединение с CKMLMV005...
Видимо, автор постановки подразумевал, что в CKMLMV005 необходимо лезть только для категории VN?
А для остальных категорий, кроме VN и AB, что означает ссылка MLCD-BVALT?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Экстракторы для фактического регистра материалов, 0CO_PC_ACT_1
СообщениеДобавлено: Чт, июн 09 2011, 14:38 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, апр 10 2009, 11:13
Сообщения: 1308
MLCD-BVALT - это альтернатива потребления, т.е. куда был потреблен материал на производство другого материала, на заказ, на МВЗ...

мне кажется, что вовсе необязательно анализировать CKMLMV005-OBJNR_ND, т.к.

MLCD – PTYP = VK ~ CKMLMV005 - OBJNR_ND = KS*
MLCD – PTYP = VEAU ~ CKMLMV005 - OBJNR_ND = OR*
MLCD – PTYP = VF ~ CKMLMV005 - OBJNR_ND = ' '
.....

посмотрите ракурс V_CKMLMV01, должно добавить понимания...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Экстракторы для фактического регистра материалов, 0CO_PC_ACT_1
СообщениеДобавлено: Чт, июн 09 2011, 15:39 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Пн, май 12 2008, 07:12
Сообщения: 50
Откуда: Nsk
Code:
select CATEG, PTYP, substr(OBJNR_ND, 0, 2) as OBJNRND, sum(LBKUM) as LBKUM, sum(SALK3) as SALK3, sum(ESTPRD) as ESTPRD, sum(MSTPRD) as MSTPRD from MLCD m, CKMLMV005 c
  where c.KALNR = m.BVALT and
        m.CATEG <> 'AB' and
        m.BDATJ = 2010 and
        m.CURTP = 10
  group by CATEG, PTYP, substr(OBJNR_ND, 0, 2)
  order by 1, 2, 3
Цитата:
CATEG_____PTYP_____OBJNRND__________LBKUM__________SALK3______________ESTPRD_____________MSTPRD
VN____V+____Потребление________________________________41546469.004____48511032668.26____-28032179384.51____1514743673.18
VN____V+____Потребление__________________________EO____32506617.778____84681429989.09____13191382297.76_____7109233039.28
VN____VA____Основное средство__________________________27594___________147520883.46______0__________________-118500
VN____VEAU__Потребление для 1-уровневых заказов________24262.4_________5250074.53________-38585.85__________-5756.81
VN____VEAU__Потребление для 1-уровневых заказов__OR____564498100.077___32921512643.62____-15193944462.83____1151381333.51
VN____VK____Место возникновения затрат_________________79051___________18311390.76_______0__________________0
VN____VK____Место возникновения затрат___________KS____29845587.877____1892411525.92_____-43622565.26_______-32263854.2
VN____VKA___Заказ клиента______________________________1430413.87______12636520675.56____34786133.93________955434452.33
VN____VP____Проект_____________________________________4410.273________1133305601.37_____-742703644.08______7890373.69
VN____VP____Проект_______________________________PR____136704157.57____22756523004.99____257881188.73_______-1847113748.23

Это что есть в таблице.
Согласно постановке (VEUA и VUBC - видимо, опечатки и имеются в виду VEAU и VUBS):
- на "Отпущено в производство" относятся VK (Место возникновения затрат), VF (Производство) и VEAU (Потребление для 1-уровневых заказов), все в сочетании с OBJNR_ND = OR* и KS*;
- на "Реализовано" относятся V+ (Потребление) в сочетании с OBJNR_ND = EO*;
- на "Прочее выбытие" относятся VEAU (Потребление для 1-уровневых заказов), VUBS (Проводка переноса особого запаса), VU (Перемещение запаса), V+ (Потребление) в сочетании с OBJNR_ND = ' '.

Нет уверенности, что полученные по такому алгоритму обороты будут соответствовать остаткам... Из отчета выпадут обороты по VA (Основное средство), VKA (Заказ клиента) и VP (Проект), а также VK (Место возникновения затрат) с OBJNR_ND = ' '.
Я бы прочее выбытие считал по принципу "все, что кроме" (по всем типам процессов без флага "Поступление").
И аналогично с прочим поступлением.


Последний раз редактировалось grin Чт, июн 09 2011, 16:24, всего редактировалось 1 раз.

Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Экстракторы для фактического регистра материалов, 0CO_PC_ACT_1
СообщениеДобавлено: Чт, июн 09 2011, 16:08 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, апр 10 2009, 11:13
Сообщения: 1308
дальше у меня возникает больше вопросов чем ответов :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Экстракторы для фактического регистра материалов, 0CO_PC_ACT_1
СообщениеДобавлено: Чт, июн 09 2011, 16:16 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, апр 10 2009, 11:13
Сообщения: 1308
все-таки нужен человек, который бы знал как устроен контроллинг на предприятии и как выполняется закрытие регистра, есть ли в закрытии ошибки и как они исправляются...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Экстракторы для фактического регистра материалов, 0CO_PC_ACT_1
СообщениеДобавлено: Чт, июн 09 2011, 16:26 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Пн, май 12 2008, 07:12
Сообщения: 50
Откуда: Nsk
funtik написал(а):
все-таки нужен человек, который бы знал как устроен контроллинг на предприятии и как выполняется закрытие регистра, есть ли в закрытии ошибки и как они исправляются...

Это точно. Спасибо всем за ответы! :)


Последний раз редактировалось grin Чт, июн 09 2011, 16:52, всего редактировалось 1 раз.

Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Экстракторы для фактического регистра материалов, 0CO_PC_ACT_1
СообщениеДобавлено: Чт, июн 09 2011, 16:52 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Пн, май 12 2008, 07:12
Сообщения: 50
Откуда: Nsk
ROKO написал:
Таблица CKMLMV005 нужна для расшифровки расхода по каждому номеру калькуляции KALNR из таблицы MLCD для категории VN.

Может ответ на этот вопрос подскажете?
В MLCD с CKMLMV005 джойнятся всего 10% записей. А куда указывает поле MLCD-BVALT для остальных записей? Остальные 90% записей тоже имеют непустое поле MLCD-BVALT, но в CKMLMV005 таких значений нет.
Code:
select CATEG, PTYP, count(*) as cnt from MLCD m
  where not exists (select * from CKMLMV005 c where c.KALNR = m.BVALT)
  group by CATEG, PTYP
  order by 1, 2
--------------------------
   PC   3393094
AB   B+   324194
AB   BB   40218
AB   BF   95002
AB   BU   22454
AB   BUBS   30004
AB   DC   321
AB   VF   270262
AB   VU   27842
AB   VUBS   31092
PC      17026
VN   VF   648854
VN   VU   75784
VN   VUBS   133714
VP   DC   197848
ZU   B+   349242
ZU   BB   239328
ZU   BF   333532
ZU   BU   55278
ZU   BUBS   128010


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 16 ]  На страницу 1, 2  След.

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


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

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


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

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