Financial Management Blogs by Members
Dive into a treasure trove of SAP financial management wisdom shared by a vibrant community of bloggers. Submit a blog post of your own to share knowledge.
cancel
Showing results for 
Search instead for 
Did you mean: 
former_member182503
Active Contributor

Muitas empresas adotam o procedimento de recebimento às cegas (ou contagem/conferência cega), onde o encarregado do recebimento não sabe a quantidade dos itens da nota que ele está recebendo, fazendo com que ele seja obrigado a contar os itens recebidos para efetuar a entrada de mercadoria.

O SAP NF-e permite que seja feito o recebimento às cegas através de seu monitor logístico, desde que seja feita uma simples configuração, conforme mostrado abaixo.

Transação SPRO:

Nota Fiscal Eletronica -> Inbound -> Define Control Parameters for Process Steps

Para os processos:

  • CONSIGGR
  • FUTDELGR
  • NORMPRCH
  • STOCKTRF
  • SUBCON1A
  • SUBCON2D

No passo GRCONFQU, o parâmetro BLDCOUNT deve ter o valor “2”.

Com esta configuração, o monitor logístico não irá propor a quantidade baseado no que foi recebido no XML e ainda não exibirá o a quantidade oriunda do XML como referência.

Porém na tela inicial do Monitor Logístico o usuário ainda tem acesso às quantidades (a meu ver devido a um furo na lógica) que vem do XML, usando a aba “Atribuições”.

Com isso, os usuários do logístico conseguem burlar o recebimento às cegas enquanto a SAP não arruma a #%*&$, certo? Bom, aqui não!

Para isso foi necessário criar um enhancement no Component Controller “/XNFE/WP_DETAILS_NFE”, adicionando um enhancement pre-exit (para ser executado antes do método) para o método “update_short_details".

No SAP NF-e, transação SE80, selecionar “Web Dynpro Comp. Intf.” e abrir o componente “/XNFE/WP_DETAILS_NFE”, aba “Methods” e selecionar a opção “Enhance”.

Após criar o Enhancement, atribuir package, request, etc, clique no botão Pre-Exit do método “UPDATE_SHORT_DETAILS”.

Com o código abaixo eu seto o valor do nó do contexto HIDE_NFE_ASSIGNMENTS para ABAP_TRUE quando a aplicação for igual a /XNFE/NFE_LOG_WORKPLACE, para não atrapalhar o uso pelos usuários do monitor fiscal.

Código do Enhancement:

  DATA: lo_node              type ref to if_wd_context_node,
lo_element          
type ref to if_wd_context_element,
ls_wp_specific      
type wd_this->element_workplace_specific.

* get workplace specific data
lo_node
= wd_context->get_child_node( name = wd_this->wdctx_workplace_specific ).
lo_element
= lo_node->get_element( ).
lo_element
->get_static_attributes( importing static_attributes = ls_wp_specific ).
IF ls_wp_specific-application_name = '/XNFE/NFE_LOG_WORKPLACE'.
ls_wp_specific
-hide_nfe_assignments = abap_true.
lo_element
->set_static_attributes( exporting static_attributes = ls_wp_specific ).
ENDIF.

Ative o enhancement e faça novos testes. Agora o monitor logístico não deve exibir a aba “Atribuições”:

Monitor fiscal continua intocado:

Caso queira implementar esse controle por aplicação e também por usuário, você pode implementar neste enhancement um authority-check ou validação contra tabela Z.

+info:

How to Create Enhancement Implementation in Web Dynpro ABAP

3 Comments