cancel
Showing results for 
Search instead for 
Did you mean: 

Cenário de envio de XML (B2B)

Former Member
0 Kudos

Olá Henrique.

Estou implementando a solução SAP GRC/NFe e configurando o envio de XML aos clientes através do cenário NTB2B_WebAS_Outbound_B2B_NFe.

Observei que a documentação indica a criação de um communication channel para cada cliente, porém gostaria de configurar um único mail receiver onde o endereço de e-mail seja flexível.

Para isso, necessito enviar do ECC para o GRC o campo e-mail do cliente e que o GRC transmita este campo na mensagem NTB2B_procNFe_OB.

Existe esta possibilidade prevista no GRC?

Se não, como ficam os desenvolvimentos no PI? Como a criação de novo Interface Mapping, ou, até mesmo de um novo BPM?

Obrigado,

Dorval Neto.

Accepted Solutions (1)

Accepted Solutions (1)

henrique_pinto
Active Contributor
0 Kudos

Olá Dorval,

nao é preciso desenvolver um BPM.

É possível sim fazer isso dinamicamente (através de alguns simples desenvolvimentos), até mesmo utilizando a interface standard NTB2B_WebAS_Outbound_B2B_NFe (que é chamada por default pelo proxy após a autorizacao da NFE). Para isso, existem 2 métodos:

1. alimentacao do dynamic configuration de Mail (procure sobre "dynamic configuration" ou "adapter specific message attributes" no forum de XI q vc vai ter varios retornos);

2. mapping do XML de NFE p/ a estrutura de Mail Package (procure tb por "mail package" no forum do XI).

Em ambos os casos, vc precisa definir um novo message mapping que irá ser utilizado nesse cenario:

No caso 1, vc precisa de um message mapping "fake" (onde ambas estruturas fonte e destino sao o mesmo message type, no caso o message type da interface NTB2B_WebAS_Outbound_B2B_NFe). No campo que contém o CNPJ nessa estrutura, vc pode fazer por exemplo um Lookup no mapping para chamar uma RFC que retorna o email a ser utilizado a partir do CNPJ (vc pode desenvolver essa RFC no proprio R/3 e chama-la a partir do lookup, passando um communication channel que aponte o R/3). Procure por "lookup api" ou "rfc lookup" no forum do XI. Uma vez retornado o email, vc pode entao alimentar o dynamic configuration do campo To do Mail adapter com esse valor.

No caso 2, o mapping vai de fato preencher o Mail Package.

Vc precisa, da mesma maneira anterior, fazer o RFC Lookup para pegar o valor do email, mas em vez de preencher um dynamic configuration, vc preenche direto na estrutura destino do mapping (q tem os campos subject, to, cc etc.). O campo content vc alimenta a partir do campo xmlString da estrura de origem.

Depois de criados os mappings, vc precisa tb criar um interface mapping para coloca-lo dentro.

No caso 1, alem do mapping dummy q vc criou, o interface mapping precisa ter o java mapping standard q vem no interface mapping standard dessa interface.

No caso 2, o interface mapping soh precisa do mapping q alimenta o mail package.

Para o configuration, vc pode configurar todo o cenario standard. Daí depois de configurado, vc vai no Interface Determination e troca o interface mapping standard pelo interface mapping q vc criou acima.

Ainda, para evitar duplicar/recriar objetos, vc pode incluir uma dependencia do seu Software Component Version ao SWCV SLL-NFE 1.0. Daí, vc pode incluir os objetos standard nos seus proprios objetos. Ainda, alguns objetos vc nao precisa nem criar (como o interface mapping), bastando modificar os objetos "standard" q aparecem dentro do nó "Basis" do seu SWCV (é como se ele automaticamente criasse versoes Z dos objetos standard, q vc pode modificar a vontade; esses objetos tem o mesmo nome e namespace dos standard, mas o SWCV é o seu, nao o SLL-NFE 1.0).

Eu até comecei a escrever um blog a respeito disso tudo, mas nao cheguei a terminar.

Se conseguir, eu publico.

Abracos,

Henrique.

PS: em anexo segue um exemplo de codigo que pode ser utilizado na UDF para recuperar o email. No caso, ele nao preenche dynamic configuration, soh retorna o email (o codigo para preencher o dynamic config está na 3a referencia abaixo).

Referencias:

- Mail Adapter help: http://help.sap.com/saphelp_nw70/helpdata/EN/6b/4493404f673028e10000000a1550b0/frameset.htm

- Javadoc da Lookup API: http://help.sap.com/javadocs/NW04S/current/pi/index.html (package com.sap.aii.mapping.lookup)

- Dynamic Configuration: http://help.sap.com/saphelp_nw70/helpdata/EN/43/03612cdecc6e76e10000000a422035/frameset.htm

- Modifying XI Objects: http://help.sap.com/saphelp_nw70/helpdata/EN/ab/3adb41083f6024e10000000a1550b0/frameset.htm

Answers (1)

Answers (1)

henrique_pinto
Active Contributor
0 Kudos

Dorval,

criei um artigo com o processo de configuração p/ e-mail dinâmico na interface B2B outbound do SAP NFE: https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/00a7ba12-e7cd-2b10-d589-e52b1134...

Esse e outros materiais estão incluídos no wiki de referencia para material sobre o SAP NFE: https://wiki.sdn.sap.com/wiki/x/yYCLB

Abraços,

Henrique.

Former Member
0 Kudos

Valeu Henrique!

O artigo ficou ótimo.

Estamos utilizando a solução com o Mail Package.

Abraço,

Dorval.