Minha ficha de CIAP foi criada errada no ERP, como que analisa isso? Parte 1
Minha ficha de CIAP foi criada errada no ERP, como que analisa isso?
Já tem excelentes blog posts ensinando a configurar CIAP no ERP usando o TDF, como funcionam os cálculos e o processo de criação das fichas, o que é relevante aqui e ali na configuração.
Entao o primeiro passo para analisar é sempre olhar a parte funcional (configuração do CIAP, dados da PO, dados da NF). Não adianta se atirar no debugging antes de saber o contexto do que procurar. Aprendi com um mestre ABAP JEDI das antigas, se você não sabe o que procurar você não precisa nem digitar o “/H”.
Mas e quando as coisas pegam o caminho errado e a configuração parece certa, como que analisa a criação da ficha tecnicamente? Daí vem o DEBUGGING!
Então, esse é o objetivo desse post e que vai fazer parte de uma série sobre CIAP: “Como debugar a criação da FICHA CIAP usando TDF/ACR Brazil no ECC/S4HANA”.
Criação da NF/Ficha
A mágica da criação da ficha do CIAP começa em um enhancement do TDF ( ativado pelo SWITCH do TDF que está vinculado na Business Function do TDF ) .
No momento de salvar a NF a própria função J_1B_NF_DOC_INSERT_FROM_OBJECT que chama o enhancement da ficha CIAP. O ponto exato é esse aí logo abaixo:
Esse método PROCESS_CIAP da class CL_CIAP_FACTORY lê todas as regras do paranauê e decide se cria ficha ou não.
O CIAP tem uma lógica muito interessante para quem conhece ABAP, ele está extremamente modularizado e tudo está bem encapsulado em classes/métodos distintos ( alôuuuuu orientação a objeto bonita de ver ).
Isso tem muitas vantagens para desenvolver, mas também exige um pouco mais de estudo para fazer um debugging, não adianta sair a esmo procurando as coisas via CTRL+F porque tem muitas classes diferentes sendo usadas. A hierarquia das classes em alto nível vai ser um assunto para outro post, com certeza.
Atualização de NF/Ficha
O segundo método que eu destaco por agora na classe CL_CIAP_FACTORY é o UPDATE_CIAP, esse é chamado quando se faz alteração num documento, na j1b2n, e precisa verificar se é relevante pra CIAP ou não. A função que chama ele é a J_1B_NF_DOC_UPDATE_FROM_OBJECT.
Esses dois pontos são o início da história, mas já servem de base para quem está interessado em começar a entender a lógica e são pontos de partida para analisar caso uma ficha não seja criada ou seja criada com alguma informação incorreta.
Ahhh e porque eu falo tanto de debugging? É um sistema, é baseado em código e dá para entender o funcionamento assim. Sem olhar código você pode olhar a documentação e tentar adivinhar como funciona na prática, mas conhecendo o código fica mais fácil de entender.
Valeu, Gurizada!
Renan
Quer Aprender mais?
Te inscreve lá no curso do ACR Brazil porque vamos discutir a sobre CIAP também.
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 o TDF direto da sap no HELP do TDF.
Outros posts sobre TDF você pode conferir filtrando pela categoria TDF/ACR.