cancel
Showing results for 
Search instead for 
Did you mean: 

QRCode para NFC-e via GRC/PI

Former Member
0 Kudos

Boa tarde.

Para gerar e autorizar a NFC-e no SAP, via GRC, é necessário informar o campo QRCODE na estrutura IS_NFESUPL da função /XNFE/OUTNFE_CREATE.

Assim sendo, entendo que o QRCODE deve vir do SAP ECC.

PORÉM, para montar a string do QRCODE é necessário o concatenar, dentre vários campos, o campo digVal. E este campo é gerado pelo GRC APÓS a assinatura da nota.

Logo, minha dúvida é: este campo tem que ser gerado no SAP ECC ou no GRC?

Se for pelo GRC, como ele irá retornar para o SAP ECC para ser impresso na DANFE?

At.,

Bernardo Braga

Accepted Solutions (1)

Accepted Solutions (1)

former_member182503
Active Contributor
0 Kudos

Bernardo,

Não sei como está o código do GRC no SP23 (ainda estou no SP22) mas aparentemente ele não trata o campo QRCode para a inclusão do digVal na URL do QRcode, e consequentemente, para a tag infSupl/QRCode, muito menos se insere ele dentro de uma sessão CDATA p/ evitar problemas com o caracter '&'

Analisando o código, talvez o melhor ponto para fazer esta alteração seria na função /XNFE/CORE_SIGNATURE_CREATE_2, que é a responsável pela assinatura.

Aqui, você poderia criar um implicit enhancement point logo no final da função, pegar o digest value e atualizar a tag infSupl/QRCode com o valor correto.

Neste mesmo ponto você poderia devolver a URL completa para o SAP via RFC ou grava-la em uma tabela auxiliar e buscar via RFC no momento da impressão do DANFE.

Vou fazer um teste aqui e complemento o post...

Edit: Fiz um report pra mostrar o conceito do que expliquei acima:

Report to test the NFC-e on SAP NF-e (GRC), generating the infNFeSupl and qrCode tags, based on a en...

Estranho não ter algo parecido no standard...

[]'s

JN

Former Member
0 Kudos

Sensacional! 🙂

Vale incluir no Idea Place!

Quando implantar reporto aqui também...mas isso só deve ocorrer final de fevereiro/inicio de março.

At.,

Bernardo Braga

Answers (2)

Answers (2)

Former Member
0 Kudos

Jose Nunes, bom dia.

A função /XNFE/CORE_SIGNATURE_CREATE_2 só permite enchancement point no final.

Verifiquei que em seu código você colocou a alteração após o código lo_sign->sign_xml.

Você alterou o standard via chave?

Entendi que fazendo esta alteração, consigo embutir o qrCode no XML.

O report Z_NFCE_QRCODE_POC teria qual finalidade? Só para pegar o QRCODE sem executar o processo? Neste caso não teria nenhuma utilidade na execução do processo em si, correto?

Qual a utilidade prática deste report?

Agradeço desde já.

At.,

Bernardo Braga

former_member182503
Active Contributor
0 Kudos

Bernardo,

O report Z_NFCE_QRCODE_POC, como eu mesmo disse no post original, tinha a função de mostrar o conceito. É um programa de teste para mostrar que é possível fazer.

Olhando melhor a função /XNFE/CORE_SIGNATURE_CREATE_2 notei que existe uma BAdI ali justamente para assinatura:  /xnfe/sign_create. Seria algo melhor do que fazer enhancement ou alterar a função(abrindo o objeto via SSCR Key). Dentro da BAdI, você pode por exemplo, adicionar o mesmo codigo do form core_signature_create_2 do meu codigo, com alguns ajustes (por conta da falta do parametro IV_CNPJ e também porque a BAdI será usada para processos diferentes do NFC-e...).

[]'s

JN

diegofrozza
Participant
0 Kudos

Bernardo,

Aqui fizemos mais ou menos como foi mencionado pelo Jose. Enquanto o standard não cobre isso.

att,

Diego Frozza