Oi Pessoal,
Antes de começar a implementação da NT2020.005 para valer resolvi fazer um teste num S/4HANA 2020 sandbox e estou compartilhando abaixo o método que usei e as principais observações que eu fiz.
Comecei lendo o blog post da SAP
https://blogs.sap.com/2021/08/13/nota-tecnica-2020.005-impostos/ e peguei as notas relevantes e li essas notas.
Para a versão do sistema que fiz o teste tinha quatro notas principais relevantes para o ERP.
- SAP Note 3069194 – NF-e NT 2020.005 – Prerequisite Objects for SAP Note 3045263
- SAP Note 3045263 – NF-e NT 2020.005: Import, Taxes and Barcode Fields
- SAP Note 3086875 – Outbound NF-e: Prerequisite Objects for SAP Note 3086017
- SAP Note 3086017 – Outbound NF-e: Nota Fiscal Technical Note 2020.005 v1.20
Fui no SNOTE, baixei as notas acima e comecei a luta.

Me pediu um pré-requisito apenas. Tudo bem. Vamos lá.

Logo após esse momento veio o primeiro pop-up que sobre “Table conversion” porque o campo do número sequencial da adição foi alterado na tabela. Essa tabela J_1BNFIMPORT_ADI não é tão grande (normalmente). Se tivesse milhões de entradas podia ser um problema para importar a change em produção, pelo menos no passado era, hoje no netweaver 7.5 não sei se mudou algo.

Segui a implementação após justificar a alteração no pop-up.
Nesse momento as alterações estavam implementadas e veio a tela da ativação dos objetos. Nesse momento tive um erro para ativar a CDS view I_BR_NFADDITIONIMPORTDOC.

Erro:
If CAST with type is on Data Element (LOGBR_NFADDITIONITEMNUMBER, type NUMC), type and length must be the same
Investiguei no launchpad, não achei pré-requisito faltando nem nada muito relevante. Vi no outro blog post da SAP na Community pra implementar a nota seguinte pra resolver esse erro, olhei a Correction Instruction e vi que ela mexia no objeto.
OK, Forcei a ativação da primeira nota e passei para a nota seguinte,
3045263. Agora vários pré-requisitos.
Em teoria passou tudo ok para inserir as mudanças e chegou na hora da ativação, tensão outra vez.
Vários erros e fui verificar as razões:


Basicamente todos erros nessa test class que é do S/4HANA cloud, ela nem é usada no S/4HANA on-premise mas faz parte do codeline da SAP que é um só pros dois pelo jeito.
Aparentemente os tipos não são compatíveis (em um lugar da classe de teste usa o parâmetro J_1BNFE_EXPORT fazendo assign para J_1Bnfe_s_BADI_EXPORT e os dois são diferentes ).
Nesse caso forcei ativar e fiz um testes só para confirmar que não estava com DUMP’s.
A test class ficou com erro, mas essa classe em teoria só é chamada no S/4HANA Cloud. Criei umas NF’s na J1B1N e VF01 e nada de DUMP’s, então segui em frente.
A próxima nota foi a
3086875. Poucos pré-requisitos, passou rápido. E fui para a última da lista,
3086017.
Vários pré-requisitos de novo, no final do post vou listar todas as notas que implementei no S/4HANA 2020.
O SNOTE traz uma sequência de implementação (sempre desconfio dessas sequências):

Em alguns casos para um determinado passo a ativação falhava, porque tinha algum pré-requisito que não tinha sido pego na sequência do snote. Então eu pausava o processo, buscava o pré-requisito e seguia manualmente (por exemplo nota 3055382 com a interface IF_NFE_CLOUD_STATUS_PROC_CLOUD e nota 3064027 com o campo x_pag).

Enfim passou. Implementei as notas da saída.
A Lista completa que usei segue abaixo no final do post. Nesse teste de implementação, como era SANDBOX eu fui implementando pela ordem do snote.
Na minha opinião o melhor método é baixar a lista inicial de notas, começar da nota como número mais baixo e ir lendo uma a uma antes de implementar.
É super trabalhoso, mas normalmente evita erros de sintaxe devido ao SNOTE não buscar algum pré-requisito, pois as vezes eles tão descritos na nota mas não estão vinculados na correction instruction.
O sistema usado foi um S/4HANA 2020 com as seguintes notas ( algumas foram baixadas pelo snote mas apareceram como não necessárias depois )
2891331 |
Generic mapping for Electronic Documents |
2910333 |
Prerequisite objects for SAP Note 2910334 |
2910334 |
Generic objects for outbound to display extensions in transaction J1BNFE or mana |
2912999 |
Manage Partner Destinations Screen |
2935073 |
Update status of NFS-es generated via Partner Enablement and issued in contingen |
2938986 |
Incoming NF-e: BAdI Additional data support for partial return |
2939445 |
Update status of NFS-es generated via Partner Enablement and issued in contingen |
2945440 |
Generic objects for outbound to change download action in transaction J1BNFE - P |
2946386 |
Prerequisite objects for SAP Note 2957207 |
2946533 |
Improvements to service nota fiscal cancellation process |
2947991 |
Prerequisite objects for SAP Note 2945440 |
2949867 |
Change to display and download actions in J1BNFE |
2949869 |
Prerequisite objects for SAP Note 2949867 |
2952302 |
Prerequisite objects for SAP Note 2957719 |
2954978 |
Partner Enablement: enable billing cancellation after NFS-e cancellation |
2955955 |
NF-e print triggered via output management after being already printed via NAST |
2957207 |
NF-e: New mapping for texts |
2957719 |
Updates to Partner Enablement message display |
2962026 |
Prerequisite objects for SAP Note 2946533 |
2963428 |
Report J_1BNFE_CF_STATUS_UPDATE is locked after sending an NF-e |
2981099 |
Prerequisite objects for SAP Note 2981100 |
2981100 |
Partner Enablement additional corrections - Common Objects |
2983645 |
Prerequisite Objects for SAP Note 2983646 |
2983646 |
NF-e: Disable the "Cancel Prior to Auth" action for outbound invoicing option fo |
2989365 |
NF-e/NFS-e with status 302 (Denied) do not cancel the Nota Fiscal and the docume |
2991699 |
Missing information on NF-e issued with SVC with RFC set to 3 |
2997016 |
Only the first nota fiscal type is considered in some requests to cloud |
2997567 |
Prerequisite Objects for SAP Note 2997568 |
2997568 |
NFS-e: Enable replacement action on J1BNFE for outbound invoicing option for Bra |
3005659 |
NF-e NT 2020.006 v1.00 |
3007000 |
J1BNFE fails to download more than 100 documents at once |
3009306 |
Send only valid documents to the cloud - outbound invoicing option for Brazil |
3010651 |
Error when canceling NFe-s from different branches |
3010876 |
Nota Fiscal Technical Note 2020.006 - Operator Intermediate & Others |
3010932 |
Partner Enablement: Send only valid documents to the cloud - outbound invoicing |
3010970 |
Prerequisite Objects for SAP Note 3011031 |
3011031 |
Generic objects for report to upload files to outbound cloud |
3013535 |
Prerequisite objects for SAP Note 3005659 |
3021385 |
Prerequisite Objects for SAP Note 3021386 |
3021386 |
Job to send documents to outbound invoicing option for Brazil |
3021982 |
Prerequisite Objects for SAP Note 3021983 |
3021983 |
Change lock logic in update status reports |
3022022 |
Prerequisite Objects for SAP Note 3010876 |
3022362 |
NF-e event cancellation status is not updated in J1BNFE |
3022900 |
NF-e returns from SEFAZ with status 105 and gets rejected in J1BNFE |
3023663 |
Prerequisite Objects for SAP Note 3022900 |
3026003 |
Resending documents in J1BNFE doesn't work when you select several documents |
3026138 |
Nota Fiscal Technical Note 2020.006 - Operator Intermediate & Others (DANFE) |
3028860 |
NF-e events from test or development environments are sent to production SEFAZ |
3030473 |
NF-e print triggered via output management after being already printed via NAST |
3030515 |
Prerequisite Objects for SAP Note 3030516 |
3030516 |
NF-e Generic Objects for Outbound to Map B2B E-mail |
3031931 |
Correction to loop on report NFE_SEND_DOCUMENT_TO_CLOUD |
3033779 |
Generate UUID for Electronic Fiscal Documents and Events |
3036891 |
Parameter IV_SUPRESS_DISPLAY_LOG not available on class |
3037924 |
Generic objects for Outbound to process CT-e and MDF-e |
3039634 |
Outbound CT-e: Authorization Process for SAP Document Compliance, outbound invoi |
3042372 |
NF-e/NFS-e returns status 205 |
3043411 |
NF-e NT 2020.006 v1.2: Payment Method and Card Company |
3044925 |
Authorization code, and processing date and time are erased when a cancellation |
3045263 |
NF-e NT 2020.005: Import, Taxes and Barcode Fields |
3046095 |
Enable "Cancel Prior to Auth" feature to SAP Document Compliance, outbound invoi |
3047911 |
Outbound CT-e: Prerequisite Objects for SAP Note 3047912 |
3047912 |
Outbound CT-e: Cancelation and Correction Letter Processes for SAP Document Comp |
3048045 |
Prerequisite Objects for SAP Note 3048046 |
3048046 |
CT-e: Authorization Process Mapping for SAP Document Compliance, outbound invoic |
3050632 |
NF-e: Corrections for job NFE_SEND_DOCUMENT_TO_CLOUD |
3053328 |
Issues downloading XML files for CT-e documents |
3055377 |
Outbound CT-e: Prerequisite Objects for SAP Note 3039634 |
3055382 |
Outbound CT-e: Interface IF_NFE_CLOUD_STATUS_PROC_CLOUD |
3058094 |
Outbound NF-e: Document with status 150 is wrongly saved as rejected |
3059042 |
HTTPIO_UNKNOWN_HANDLER short dump on J1BNFE when you download hundreds |
3060763 |
Outbound NF-e: Add commit work in "Update NF-e event status" report |
3063368 |
NF-e: Nota Fiscal Technical Note 2020.006 v1.20 - Intermediator & Others |
3064027 |
Prerequisite Objects for SAP Note 3043411 |
3065488 |
Can't get the contingency activated using Cloud NF-e |
3067300 |
Protocol number not filled for cancellation |
3067857 |
NFS-e check status with wrong environment type |
3068791 |
NF-e documents are not created when executing BAPI_J_1B_NF_CREATEFROMDATA |
3069194 |
NF-e NT 2020.005 - Prerequisite Objects for SAP Note 3045263 |
3074396 |
Outbound NF-e: Fill out electronic document table for DANFE print |
3081228 |
Outbound NF-e: Gap Report Fails to Send NF-e Number Gaps to SEFAZ |
3083839 |
Outbound NF-e: Cancel Service Nota Fiscal Via the J1BNFE transaction |
3086017 |
Outbound NF-e: Nota Fiscal Technical Note 2020.005 v1.20 |
3086875 |
Outbound NF-e: Prerequisite objects for SAP Note 3086017 |
Umas observações que fiz sobre coisas que achei meio confusas:
1 – Não parece ter muita lógica para saber que nota cria qual report:
Por exemplo Report NOTE_2938986 é criado pela nota 2938986 e os reports NOTE_2910334_POST and NOTE_2910334_Pre são criados pela nota 2910333. Eu entendo que as vezes o report precisa ser criado por uma anterior para ser usado na seguinte, mas esses pontos são confusos.
Só pelo número do programa não dá pra saber de onde que ele vem, tem que ser o texto da nota e entender se é um pré-requisito ( que pode vir com outra nota ).
2- Passo manual manda executar report ( como na nota
2997567 ). Mas o report é executado e nada é alterado e nem ativado, achei curioso.
Alguém mais aí passando por problemas nas notas ou com alguma sugestão de maneira melhor de implementar?
att,
Renan Correa