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
11 meses atrás

Vou testar hj mesmo !!

Renan Correa
Renan Correa
11 meses 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
11 meses atrás

Foi longe na investigação….

3
0
Deixa tua opinião aí!x