ECF não executa job após notas do SP16
O Erro sem erro
Nessa semana, enquanto tentava executar o ECF em qualidade, me deparei com um erro sem erro.
Ahm? Como assim?
Isso mesmo, ao tentar executar o ECF com todos os parâmetros preenchidos na tela o sistema não estava disparando o job nem gerando nenhuma mensagem de erro, simplesmente não acontecia nada. No meu caso o ECF não executava o job após as notas do SP16 terem ido para o QAS.
Logo notei que algo de errado não estava certo e já parti para o /h.
Analisando erros na UI5 do ECF
Nesse caso fiz um debugging (que demorou um pouco porque tive que procurar as classes/métodos relevantes para a UI) e cheguei à conclusão de que um campo estava causando o erro, o tal de IndDocTypeCo estava inválido (Property ‘IncDocTypeCo’ is invalid).
Depois de chegar nessa conclusão por debugging eu pesquisei na internet (devia ter feito isso antes) e achei a gloriosa transação /n/IWFND/ERROR_LOG que me mostra os erros em chamadas de serviços do gateway, claro que devia ter googleado antes, seria meia hora a menos de debugging mas agora são águas passadas.
Com base nessa informação busquei pelo campo em notas no Launchpad e achei a nota 3085115 (Nota 001 do SP16 do TDF) que contém os seguintes passos:
Esse passo manual era para para mexer no campo INC_TIPO_DOC_CONTROLE que é exatamente o nome técnico do campo que estava no erro do debugging e do log, mas esse passo manual tinha sido feito no sistema.
Olhei na transação SEGW e o campo estava lá.
Resolvi então dar olhada no código da classe/método usados no ECF e notei que nome do campo era diferente da propriedade esperada no serviço:
Hmmm.. Isso com certeza é um motivo/causa/razão/circustância do erro.
A solução do Problema
Infelizmente nesse caso não achei nenhuma nota/KBA pronta corrigindo isso e fiz uns testes trocando o nome do campo. Com isso consegui mudar o erro, mas continuei tendo mensagens de erro, então não era só o nome que estava problemático e fiquei um pouco receoso de fazer mais alterações.
Nessa hora de dpuvidas conversei com um colega que também é especialista de TDF, o Cleumar Gomes e ele trouxe a luz para o assunto.
Ele já tinha passado por isso e resolvido esse erro e me ajudou com a alteração técnica necessária (e poupou mais umas horas de tentativa e erro).
Para corrigir esse erro foi necessário uma alteraçãozinha no objeto na SEGW (além do nome do parâmetro) e alterei o objeto para a seguinte definição (nome igual ao esperado pelo código, Core Type = String e Max Length = 1).
O negócio tem que ficar com uma cara assim:
Fiz e transportei para o sistema de qualidade, bombou. Problema resolvido.
Valeu gurizada,
Renan Correa
Extra: Alterando serviços ODATA da SAP
Uma informação adicional importante é que a SAP bloqueou a edição de objetos da SAP na transação SEGW a partir da nota 2734074.
Na teoria a SAP não deveria nos entregar passos manuais em notas novas pedindo pra fazer isso, de acordo com um desenvolvedor da própria SAP nesse post daqui:
https://answers.sap.com/questions/12946931/unable-to-edit-the-segw-project.html
Mas nesse caso precisava fazer isso e para editar o objeto tem um truquezinho que adaptei a partir da nota 2912581.
Na transação SE03 é possível alterar o “Original System ID” do objeto desejado, no caso o /TMF/ECF, de “SAP” para o “system ID” do sistema de desenvolvimento e depois é possível editar o objeto na SEGW. Depois de fazer a alteração no serviço ODATA, daí volta na SE03 e troca o system ID do objeto para “SAP” novamente.
Valeu outra vez, Gurizada!
Renan
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/ACR/DRC.