A resposta para a vida, a pricing e tudo mais… xkomv_bewerten

Publicado por:Renan Correa Mon, 11 December 2023
Compartilhe:
11 de December de 2023

A resposta para a vida, a pricing e tudo mais… xkomv_bewerten

Não, não é o 42 a resposta. É XKOMV_BEWERTEN a resposta para tudo, e no caso do meu exemplo o número é 198. Pega a visão aí embaixo.

“De onde vem o valor do passo 198 (Base líquida) da pricing RVABRA”?

A pergunta do milhão que me fizeram foi essa. E porquê foi feita? Porque esse passo é meio diferentão mesmo, não tem FromTo, não tem subtotal e tbm não tem fórmula na pricing, mas surge um valor ali.

Eu não tinha nem idéia da resposta mas fiquei curioso e fui atrás da razão.

Como que eu analisei isso? fui atrás do XKOMV_BEWERTEN que eu já conhecia… Bewerten é algo como avaliar ou atribuir um valor, nesse caso faz sentido pois esse form lê a XKOMV e atribuir os valores para as condições da pricing na XKOMV.

Aqui está o glorioso ponto do código onde a mágica começa:

Dentro desse XKOMV_BEWERTEN tem um loop na estrutura XKOMV, essa estrutura XKOMV vai ter uma linha para cada condição e para cada linha de subtotal da pricing.

Então nesse ponto você pode cuidar pelo xkomv-kschl ou pelo xkomv-stunr (passo da pricing) e ver qual condição está sendo processado, no caso do exemplo o STUNR 198 é o que interessa.

Debugando esse form achei o ponto onde o sistema atribui o valor KWERT (abreviação para Konditionswert, literalmente “valor da condição) para a respectiva linha 198 da XKOMV, dentro do form xkomv_kwert_ermitteln (ermitteln aqui significa determinar):

Nesse form o sistema tem IF que determina que no caso de não haver KSCHL (chave de condição) na respectiva linha então o sistema utiliza o valor acumulado que está na variável ZWISU.

A nota 834174 explica bem o que é o ZWISU, mais ou menos uma variável que utiliza a última condição de preço e vai subtraindo/somando os encargos e descontos após esse preço.

O ZWISU é movimentado para esse arbfeld (uma variável tipo uma work area) e posteriormente é movido para o XKOMV-KWERT que é o valor da condição.

E assim está explicado de onde sai o valor do passo 198 da pricing RVABRA.

Outras utilizações para essa mesma estratégia de análise

A nota 900089 explica também essa lógica do XKOMV_BEWERTEN e vale a pena a leitura para quem quer se aprofundar no assunto de pricing, pois eu foquei mais no valor KWERT do que nas outras informações (escalas, bases ou impostos). Essa estratégia explicou como o valor da linha 198 foi determinado, porém não precisa parar por ai. Utilizando essa mesma lógica de análise é possível analisar o comportamento de QUALQUER CONDIÇÃO da pricing, mas claro que não é tão barbadinha assim.

Esse é o ponto que começa o processamento apenas, então a maior parte da lógica vem depois e no caso de pricing BR é muito mais complicada.

O que vai ser diferente nas outras condições é que se tiver FromTo, subtotal ou fórmula daí o processamento da lógica vai ser mais complexo e você vai ter que analisar mais código para determinar como o valor foi obtido.

No ano passado fiz um treinamento de 8 horas só sobre como debugar pricing e analisar erros de pricing, então posso dizer que o tema é muito longo e hoje vou encerrar por aqui.

Valeu Gurizada,

Renan Correa

Quer ficar ligado nas novidades de localização? Entra no grupo da S4CN no Telegram e segue a gente no canal do Youtube

Mais infos sobre a localização Brasil no ERP, direto da sap, vocês podem conferir no SAP community na tag de S/4HANA logistics for Brazil

Outros posts sobre Localização você pode conferir filtrando pela categoria NFE/CTE ou Localização BR Geral.

Outros posts sobre TDF você pode conferir filtrando pela categoria TDF/DRC.

Subscribe
Notify of
guest
3 Comentários
Oldest
Newest Most Voted
Inline Feedbacks
Ver Todos Comentarios
Silvio
Silvio
1 ano atrás

Vou testar hj mesmo !!

Renan Correa
Renan Correa
1 ano atrás
Responder Para  Silvio

Pode testar, essa é garantida… inclusive se achar alguma outra idéia legal de analisar posta aí depois tbm, talvez existam jeitos mais fáceis…

Manuel
Manuel
1 ano atrás

Foi longe na investigação….

3
0
Deixa tua opinião aí!x