CE PLUS - Nota 007817

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.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

ASSOCIAÇÃO ORDEM PAGAMENTO - MATCHCODE - FILTRO POR EMISSOR ORDEM

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.