cancel
Showing results for 
Search instead for 
Did you mean: 

B2B Incoming - SPROXY

Former Member
0 Kudos

Pessoal,

Estamos integrando o processo de B2B Inbound do GRC junto ao R/3.

Assim que é dada a entrada da mercadoria na empresa, precisamos consultar o status da NFe junto a SEFAZ. Caso o XML já tenha sido enviado pelo fornecedor, teríamos essa informação no GRC na tabela /XNFE/XMLIN, pois a consulta já foi realizada pelos cenários standard NFB2B_WebAS_Inbound_B2B_NFe e NFESC_WebAS_Outbound_NFe_Status_Check.

Contudo, se o XML ainda não foi enviado e para consultar o status novamente, foi criada uma interface Síncrona com base na interface NFESC (herdando os objetos do SWCV Standard SLL-NFE). A função /XNFE/005_NFE_STATUS_OUT não atende nossa necessidade, porque a interface chamada por ela é assíncrona.

O problema é que não é possível refletir essas alterações no SPROXY do GRC. Até já existe a interface Outbound NFESC_nfe_ConsultaNF_SYNC_OB no SPROXY, mas não consigo encontrar esse objeto no PI.

Existe alguma forma de regerar o PROXY do GRC, pois qualquer outra interface que for criada no PI também teria o mesmo problema? Vocês sugerem alguma alternativa para consultar o status da nota e ter o resultado de imediato?

Li na OSS Note 1456108 do SP14 que o Proxy é atualizado com novas interfaces de comunicação com a SEFAZ, dentre essas já existe alguma que faça essa consulta síncrona (estamos no SP12)?

Diogo Oliveira

Accepted Solutions (0)

Answers (2)

Answers (2)

henrique_pinto
Active Contributor
0 Kudos

Diogo, 2 pontos:

1. como falado pelo Fernando, vc nao vai regerar um proxy std. Vc vai criar sua propria interface em seu SWCV custom specific (que pode ter dependencia no SLL-NFE, para herdar os objetos e te evitar de duplicar coisas, tipo mapping e external definitions) e gerar o proxy para essa interface em seu SWCV (pra ver seu SWCV na SPROXY, vc precisa cria-lo no SLD e adiciona-lo ao Business System do GRC).

2. se o objetivo é só restartar a consulta, nao sei pq vc precisa de uma outra interface. Poderia simplesmente restartar o check do status da nfe utilizando a mesma logica q a logica do codigo standard que chama a /xnfe/nfe_status_out. Ou vc quer que o retorno da SEFAZ gere alguma resposta para o R/3? Se sim, dai realmente precisa de um Z (ou fazer um enhancement na /xnfe/nfe_status_in).

Abs,

Henrique.

Former Member
0 Kudos

Fernando e Henrique, obrigado pela resposta rápida.

É exatamente isto que eu preciso, que o SPROXY gere as interfaces da minha própria SWCV (com dependência do SLL-NFE) para enviar uma resposta para R/3.

Adicionei meu produto ao Business System e ao Technical System, porém quando entro no SPROXY o ESR ainda não exibe meu SWCV.

Preciso fazer mais alguma etapa para visualizar meu SWCV no SPROXY?

Diogo Oliveira

Edited by: Diogo Oliveira on Jul 4, 2010 5:06 PM

Former Member
0 Kudos

Diogo,

não sei se isso ainda é dúvida, mas o que aparece mesmo no fim das contas na sproxy é o software component. Você tem um bs, um ts, um product e um (ou mais) software components. É esse último que aparece com os namespaces pra vc criar os proxies pras message interfaces.

Um abraço!

Waldemar

former_member182114
Active Contributor
0 Kudos

Bom dia Diogo,

Não é um caso de regerar os proxies do GRC pois eles não mudarão para te atender.

O que você precisa é se basear nos objetos standard e criar seu Z que faça a consulta de forma síncrona e gerar um novo ABAP Proxy.

Veja a mesma dúvida:

Atenciosamente, Fernando Da Ró

Former Member
0 Kudos

Pessoal,

Consegui fazer o custom SWCV aparecer no Sproxy, o problema é que eu tinha criado o product com o vendor sap.com.

Em seguida tive problemas na geração do Proxy, pois não estava encontrando alguns elementos no WSLD document dos .xsd. Então fiz cópias e adequações de todos os objetos dentro do Integration Repository envolvidos no cenário de consulta NFe para um novo namespace e criei um novo Integration Scenario para facilitar minha vida no Integration Directory.

Durante os testes apresentou um erro de CPALookupException que foi resolvido com um Full Cache Refresh. Logo após, a resposta da SEFAZ estava retornando com alguns valores, porém apresentava Exception CX_ST_DESERIALIZATION_ERROR no campo dhRecbto. Alterei o campo no arquivo leiauteConsSitNFe_v1.07.xsd do tipo DateTime para String e desta forma foi possível criar a interface síncrona de Consulta NFe com retorno para o R/3.

Peguei essas dica dos .xsd numa thread que você abriu Henrique, provavelmente para o projeto de NFe

henrique_pinto
Active Contributor
0 Kudos

Foi mesmo, eu abri no projeto Piloto, há 4 anos atrás.

Eu nem era funcionario SAP ainda...

Essa é a beleza do SDN, as referencias sao eternas.

Abs,

Henrique.