Você está na página 1de 3

Tratamento do erro de arredondamento

Vamos salvar o valor lv_new_prd calculado para todos os materiais produzidos (comando
acima). Vamos supor que este valor acumulado está na variável lv_prd

Após o cálculo do PRD para todos os materiais produzidos devemos tratar o arredondamento
da forma descrita abaixo, creio que isto deve ser um tratamento efetuado no fim do bloco do
loop abaixo mas somente quando o process mudar.

Aqui iremos comparar lv_prd com lv_prd_ordem (valor calculado para a


distribuição dos valores)

Se igual então nada a fazer

Se diferente então

Se material principal da ordem foi produzido então devemos alocar


esta diferença nele e no elemento 001 dele

Para fazer isto:

1. Como identificar o material principal da ordem. Esta na tabela de


proporcionalidade dos coeficientes:
Ler a tabela de coeficientes para o processo (procnr) que está tratando
(le_cons-process)e matnr_process = matnr_output e
werks_process = werks_output.

2. Se achou então material principal foi produzido no período de fechamento,


logo devemos jogar esta diferença na prd da et_settle dele
Como encontrar a et_settle dele: buscar na et_settle o
registro onde process = le_cons-process e kalnr = le_cum-
kalnr. No registro encontrado devemos alterar o prd para
ser o prd existente mais a diferença encontrada

3. Alterar a et_settle_ccs para o elemento XXX onde XXX é aquele de menor


valor entre 001 e 015.
i. Se não encontrou então incluir no log de processamento a mensagem
de aviso: Não foi possível tratar o erro de arredondamento entre os
elementos de custo. Identificar neste log o material consumido sendo
tratado e o centro
ii. .Se encontrou o elemento então

Efetuar o ajuste na et_settle-prd = et_settle_prd + diferença, efetuar o


ajuste a et_settle_ccs-tot = et_settle_ccs-tot + diferença

Ajustar a et_settle_out e et_setlleccs_Out utilizando a mesma regra


para achá-los:

Para a et_setlle_ccs_out devemos alterar o valor no mesmo elemento


de custo (element) onde efetuado o ajuste na et_setlle_ccs
4. Se não achou o material principal na nossa tabela então incluir, no log de
processamento a mensagem de aviso: Temos erro de arredondamento de
XXXX, no entanto não temos material principal para alocar esta diferença.
XXX corresponde ao valor da diferença. Incluir na coluna de material o
código do material consumido (aquele de corresponde ao material da
le_cum ou le_cons)

Você também pode gostar