Módulo: CÂMBIO EXPORTAÇÃO
Funcionalidade: Associação Ordem de Pagamento
Data/Hora da Publicação: 19/12/2008 00:00:00
Data/Hora Última Alteração: 18/02/2011 16:23:51
Descrição da Nota: ASSOCIAÇÃO ORDEM DE PAGAMENTO - MATCHCODE - VALORES NÃO ENCONTRADOS
Sintoma
Ao criar uma associação de ordem de pagamento, após informar o embarque, não esta sendo possível
selecionar a ordem de pagamento. O sistema retorna Valores Não Encontrados, mas existem ordens no
ambiente e com o cliente(kunnag) da fatura.
Solução
Retirar consistência direta pela record_tab e tratar dentro da itab_ordem, que não influencia se na
record_tab tem o sequencial do mandante.
7.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 07817 Data: 19/12/2008 Hora: 14:06:28
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 07817
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 7.0
Pacote : 00008
Agrupamento : 00077
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
04465 - 00001 - 7.0 - 00002 - ASSOCIAÇÃO ORDEM PAGAMENTO - MATCHCODE - FILTRO POR EMISSOR ORDEM
----------------------------------------------------------------------------------------------------
ASSOCIAÇÃO ORDEM DE PAGAMENTO - MATCHCODE - VALORES NÃO ENCONTRADOS
----------------------------------------------------------------------------------------------------
Palavras Chave:
ASSOCIAÇÃO ORDEM DE PAGAMENTO MATCHCODE VALORES NÃO ENCONTRADOS
----------------------------------------------------------------------------------------------------
Objetos da nota:
FUNC /PWS/ZYCBA277
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCBA277
FUNCTION /pws/zycba277.
TYPE-POOLS:
shlp.
TYPES:
BEGIN OF t_s_ordem,
nrseq TYPE /pws/zycbv217-nrseq,
* >> Início da inclusão: FUNCTION /PWS/ZYCBA277
kunag TYPE /pws/zycbv217-kunag,
* << Fim da inclusão
sld_associar TYPE /pws/zycbv217-sld_associar,
END OF t_s_ordem,
t_t_ordem TYPE STANDARD TABLE OF t_s_ordem
WITH NON-UNIQUE KEY nrseq.
DATA:
itab_ordem TYPE t_t_ordem,
v_nr_ordem TYPE STRING,
v_fieldname TYPE dfies-lfieldname.
FIELD-SYMBOLS:
<fs_shlp> LIKE LINE OF shlp_tab,
<fs_fielddescr> LIKE LINE OF shlp_tab-fielddescr.
IF callcontrol-step = 'DISP'.
READ TABLE shlp_tab INDEX 1 ASSIGNING <fs_shlp>.
CHECK <fs_shlp> IS ASSIGNED.
LOOP AT <fs_shlp>-fielddescr ASSIGNING <fs_fielddescr>.
CHECK: <fs_fielddescr>-fieldname = 'NRSEQ' OR
* >> Início da exclusão: FUNCTION /PWS/ZYCBA277
<fs_fielddescr>-fieldname = 'SLD_ASSOCIAR'.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCBA277
<fs_fielddescr>-fieldname = 'SLD_ASSOCIAR'
OR <fs_fielddescr>-fieldname = 'KUNAG'.
* << Fim da inclusão
v_fieldname = <fs_fielddescr>-fieldname.
CALL FUNCTION 'F4UT_PARAMETER_VALUE_GET'
EXPORTING
parameter = <fs_fielddescr>-fieldname
fieldname = v_fieldname
TABLES
shlp_tab = shlp_tab
record_tab = record_tab
results_tab = itab_ordem
CHANGING
...
...
ENDLOOP.
UNASSIGN: <fs_shlp>, <fs_fielddescr>.
LOOP AT itab_ordem
TRANSPORTING NO FIELDS
WHERE sld_associar <= 0.
DELETE record_tab INDEX sy-tabix.
DELETE itab_ordem.
ENDLOOP.
IMPORT v_nr_ordem FROM MEMORY ID '500'.
IF NOT v_nr_ordem IS INITIAL .
* >> Início da exclusão: FUNCTION /PWS/ZYCBA277
LOOP AT record_tab.
IF record_tab+29(10) <> v_nr_ordem.
DELETE record_Tab.
ENDIF.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCBA277
LOOP AT itab_ordem
TRANSPORTING NO FIELDS
WHERE kunag ne v_nr_ordem.
DELETE record_tab INDEX sy-tabix.
DELETE itab_ordem.
* << Fim da inclusão
ENDLOOP.
FREE MEMORY ID '500'.
ENDIF.
ENDIF.
ENDFUNCTION.