Você está na página 1de 4

Como calcular Venda Média de um período baseada no consumo (MVER)

Parâmetro de quantidade de semanas a serem consideradas

SY-DATUM = 21.10.2015
Considerando que semana corrente deve ser desprezada para o cálculo, calcula-se uma data da semana
imediatamente anterior e outra data de 4 semanas (parâmetro) anterior

V_DIA_FINAL = SY-DATUM – 7 = 14.10.2015


V_DIA_INICIAL = V_DIA_FINAL – ((4-1)*7) = 23.09.2015

Faz-se as separações de algumas variáveis que serão necessárias para as pesquisas :


V_ANO_DE = “2015”
V_ANO_ATE = “2015”
V_ANOSEM_DE = DATE_GET_WEEK (23.09.2015) = “201539”
V_ANOSEM_ATE = DATE_GET_WEEK (14.10.2015) = “201542”
V_SEMANA_DE = “39”
V_SEMANA_ATE = “42”
V_LINHA_DE = V_SEMANA_DE / 13 = 03 (arredondar sempre para cima)
V_LINHA_ATE = V_SEMANA_ATE / 13 = 3,231 = 04 (arredondar sempre para cima)
V_COLUNA_DE = V_SEMANA_DE – ((V_LINHA_DE – 1) *13) = 13
V_COLUNA_ATE = V_SEMANA_ATE – ((V_LINHA_ATE – 1) *13 = 3

Após o cálculo das varíaveis, inicia-se a pesquisa .


Como exemplo, será usado o material abaixo :
A tabela MVER, armazena os dados conforme abaixo :

Consideramos que os consumos são gravados semanalmente (PERKZ = ‘W’)


Os consumos da semana são gravados no campo “Consumo total corrig”.
Os registros são gravados com as seguintes lógicas :
 Os registros só são criados caso haja algum consumo em alguma semana correspondente
 São gravados por material/loja
 Cada registro corresponde a 13 semanas de 1 ano
 O campo “Consumo total corrig” são os campos MGV01, MGV02..., MGV13
 O campo “Registros subseq.” informa o conjunto de 13 semanas, por ex:
o “Registros subseq.” = 01 : semana de 1 a 13
o “Registros subseq.” = 02 : semana de 14 a 26
o “Registros subseq.” = 03 : semana de 27 a 39
o “Registros subseq.” = 04 : semana de 40 a 52 ....
Portanto para encontrar-se o consumo total das 4 semanas, pode-se seguir a logica abaixo :

Selecionar registro em MVER em LS_MVER_F


Onde MATNR = Material
WERKS = Loja
GJAHR = V_ANO_ATE
PERKZ = ‘W’
ZAHLR = V_LINHA_ATE

Caso exista o registro :


Se V_ANO_ATE = V_ANO_DE
Se V_LINHA_ATE = V_LINHA_DE
Somar os campos compreendidos entre LS_MVER_F-MGV(V_COLUNA_DE) e
LS_MVER_F-MGV(V_COLUNA_ATE)
Senão
Selecionar registro em MVER em LS_MVER_I
Onde MATNR = Material
WERKS = Loja
GJAHR = V_ANO_DE
PERKZ = ‘W’
ZAHLR = V_LINHA_DE
Caso exista o registro :
Somar os campos compreendidos entre
( LS_MVER_I-MGV(V_COLUNA_DE) e LS_MVER_I-MGV13 )
+
(LS_MVER_F-MGV01 e LS_MVER_F-MGV(V_COLUNA_ATE))
Senão
Somar os campos compreendidos entre
(LS_MVER_F-MGV01 e LS_MVER_F-MGV(V_COLUNA_ATE))

Caso não exista o registro :


Selecionar registro em MVER em LS_MVER_I
Onde MATNR = Material
WERKS = Loja
GJAHR = V_ANO_DE
PERKZ = ‘W’
ZAHLR = V_LINHA_DE
Caso exista o registro :
Somar os campos compreendidos entre
( LS_MVER_I-MGV(V_COLUNA_DE) e LS_MVER_I-MGV13 )
Senão
Consumo = 0
Sugestão de Função :

Parâmetros de Entrada :
Centro (parâmetro)
Data (parâmetro)
Semanas de calculo (parâmetro)
Materiais (tabela) (Campos : Material)
Parâmetros de Saida
Materiais com venda média (tabela) (Campos : Material, Venda Média)