Você está na página 1de 6

Melitta IA Melhoria Monitor de Abatimentos para Contratos

Objetivo:
Criar uma interface em forma de Relatrio com valores editaveis conforme o layout
abaixo.

Tabela z_vistex_conc
Campos
Processo Trade Deal - Contratos
Numero do IP - /irm/ipcrhdr-ipnum ou /irm/ipsidr-ipnum
Tipo de IP - /irm/ipcrhdr- IPTYP ou /IRM/IPSIHDR
Recebedor - /irm/ipcrhdr-recip
Nome kna1-name1
Nota Fiscal vbrk-xblnr
Valor Liquido - /irm/ipsihdr-netwr
Valor Abatido tipo /IRM/IP_NETWR
%
Montante Rest. tipo /IRM/IP_NETWR
Doc Contabil - /irm/ipcrdfl-VBELN
Ultimo Abat. sy-datum
Claim - /IRM/GCRHDR- VBELN

Para mapear a tabela teremos 2 etapas:


1- Ips e Conciliaes que j foram Criados:

Devemos criar um Programa Z que ir ler todos os Documentos Ips de abatimentos gravar
na tabela Z gerada em seguida ir buscar as Claims Para os documentos Ips gravados e ir
gravar os numeros/valores e % de abatimento de cada Documento IP.
Tela de Seleo
Numero de Documento IP (IPNUM)
Checkbox
Contratos
Trade Deal

Logica de seleo

Se o checkbox Contratos estiver com flag


Selecionar os Ips com IPNUM in so_ipnum nas tabelas irm/ipcrhdr com iptype = YB04,
YB05 e YB23 com somente participantes RECIP dentro da tabela ZVISTEXKEY e com
status de Proviso ASTAT = C e Gravar na tabela z_vistex_conc.
Se o checkbox Trade Deal estiver com flag
Selecionar os Ips com IPNUM in so_ipnum nas tabelas irm/ipsihdr com iptype = YB07
status de Proviso ASTAT = C e Gravar na tabela z_vistex_conc.
Logica de Busca de Claims
Para Contratos
Buscar as claims na tabela /irm/gcrhdr do tipo ZB01
Fazer uma busca na z_vistex_conc com nota-fiscal like /gcrhdr-%xblnr% e recebedor =
gcrhdr- KUNRE
Se no encontrar
Buscar na tabela /irm/grcahdr com CATYP = YY05, xblnr like %/gcrhdr-xblnr% e KUNRE
= gcrhdr- KUNRE.
Selecionar ipnum na tabela /irm/ipcrhdr com vbeln = /irm/grcahdr-vbeln.

Buscar o ipnum na tabela z_vistex_conc.

Para Trade Deal


Buscar as claims na tabela /irm/gcrhdr do tipo ZB02
Buscar na tabela /irm/grcahdr com CATYP = YY01, xblnr like %/gcrhdr-xblnr% e KUNRE
= gcrhdr- KUNRE.
Se encontrar selecionar na /irm/ipsihdr o ipnum com vbeln = /irm/grcahdr-vbeln e iptype =
YB07.

Logica para Gracao dos campos da tabela z_vistex_conc


Valor Abatido - Gravar /irm/gcrhdr-NETWR no campo z_vistex_conc Valor Abatido.
% - Calcular o campo % como /irm/gcrhdr-NETWR / z_vistex_conc-valorliquido * 100
Processo Se IPTYP = YB04 ou YB05 ou YB23 = Contratos
Se IPTYP = YB07 = Trade Deal
Campo nota fiscal
Se VBTYP = space
Nota Fiscal = /IRM/GCRA-XBLNR
Se no
Buscar na tabela VBRK o campo XBLNR com VBELN = IPCRHDR-VBELN
Montante Rest. = Valor Liquido Valor Abatido

Monitor de Abatimentos
O monitor de abatimentos ser uma interface da tabela z_vistex_conc em que o valor de
abatimento editavel.

Cada vez que o usuario editar o campo e salvar ser realizada uma rotina que ir
identificar os documentos que completaram 100% e ir mudar o status de
liquidao destes documentos para C. Fazendo com que o documento no possa
mais ser modificado.

Logica
Buscar o documento IP na tabela /irm/ipcrhdr ou /irm/ipsihdr com ipnum =

z_vistex_conc-ipnum
Mudar o sstat para C

Cada vez que o sistema identificar uma alterao do Valor, o sistema ir criar um
documento Claim com o valor atualizado com as mesmas informaes do IP de
referencia que ir realizar um Lanamento Interno negativo do valor a ser abatido.
Esse valor interno ir ser abatido dos valores de balanos das transaes standard
Vistex como a /IRM/IPGCB.

O monitor ir permitir a exportao dos dados via excel permitindo o uso como
controle e tambm como lista que ser passado a responsavel que ir realizar a
conciliao contabil dos abatimentos.
Ser possvel tambm importar por uma planilha com Layout pr-definido multiplas
linhas que iro automaticamente identificar a linha equivalente no monitor e
atualizar seu valor.

Layout

Template para
Abatimentos.xlsx

Funo para criar claim


/IRM/GCR_CREATE
is_crhdr-CRTYP = Se processo = trade deal CRTYP = ZB02 else ZB01
is_crhdr- KUNRE =

z_vistex_conc-recip

is_crhdr- VKORG = 5100


is_crhdr- VTWEG = 00
is_crhdr- KUNAG =

z_vistex_conc-recip

is_crhdr- FKDAT = sy-datum


is_crhdr- XBLNR =

z_vistex_conc-nota fiscal

it_critm-posnr = 000010
it_critm-matid = 000000000011001962
it_critm-matid-FKIMG = 1
it_critm-KWERT_1 = Valor abatido.

CALL FUNCTION '/IRM/GCR_CREATE'


EXPORTING
i_refresh_messages
i_save_messages
i_post
i_commit_work
****Release 60E SP1 ECIP #4724
i_multiple_claim_mode
****
is_crhdr
it_critm
it_cried
it_crptr
it_crcon
i_create_message
it_partner_address
IMPORTING

=
=
=
=

c_true
c_false
lv_post
space

= gv_multiple_claim_mode
=
=
=
=
=
=
=

lwa_crdoc-x-crhdr
lwa_crdoc-x-critm[]
lwa_crdoc-x-cried[]
lwa_crdoc-x-crptr[]
lwa_crdoc-x-crcon[]
space
lt_partner_address

es_gcr_doc
es_gcrhdr
et_messages
EXCEPTIONS
no_documents_to_process
no_authorization
creation_failed
invalid_item_category
relevant_item_not_found
OTHERS

= ls_crdoc
= ls_gcrhdr
= lt_messages[]
=
=
=
=
=
=

1
2
3
4
5
6.