CE PLUS - Nota 013705

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: DI

Data/Hora da Publicação: 14/02/2014 14:27:18

Data/Hora Última Alteração: 14/02/2014 14:27:18

Descrição da Nota: NÃO LEVA OS DADOS CORRETOS DE PAGAMENTO ANTECIPADO NA DI

Sintoma

Não leva os dados corretos de pagamento antecipado na DI

 

 

Solução

Tratar todas as pastas no caso de pagamento antecipado.

 

 

Versões Tratadas

9.0


Pré-Requisitos

Produto:

Nota

Descrição

ERRO VÁRIOS PAGAMENTO ANTECIPADO PASTA CAMBIO DI

PREENCHIMENTO DOS VALORES PASTA CÂMBIO ADIÇÃO DA DI

Informações Complementares

----------------------------------------------------------------------------------------------------

Nota Número 13705 Data: 13/02/2014 Hora: 11:07:37

----------------------------------------------------------------------------------------------------

 

----------------------------------------------------------------------------------------------------

Nota Número              : 13705

Categoria                : Erro de Programa

Prioridade               : Alta

Versão PW.CE             : 9.0

Pacote                   : 00007

Agrupamento              : 00170

----------------------------------------------------------------------------------------------------

Referência às notas relacionadas:

Número - Ordem - Versão - Pacote - Descrição Breve

 

13399  - 00001 - 9.0    - 00006  - PREENCHIMENTO DOS VALORES PASTA CÂMBIO ADIÇÃO DA DI

13700  - 00002 - 9.0    - 00007  - ERRO VÁRIOS PAGAMENTO ANTECIPADO PASTA CAMBIO DI

----------------------------------------------------------------------------------------------------

NÃO LEVA OS DADOS CORRETOS DE PAGAMENTO ANTECIPADO NA DI

----------------------------------------------------------------------------------------------------

Palavras Chave:

DI - PAGAMENTO ANTECIPADO - PAGAMENTO A VISTA - PASTA CAMBIO

 

----------------------------------------------------------------------------------------------------

Objetos da nota:

REPS /PWS/MZYCI023F05

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/MZYCI023F05

 

...

    AND v_adicao IS INITIAL.

    LOOP AT itab_zycit263 WHERE ebeln = p_ebeln

                          AND   ebelp = p_ebelp .

      LOOP AT itab_zycit006

      WHERE nrseq_pgfat = itab_zycit263-nrseq_pgfat

        AND   belnr_p    <> space.

        CLEAR v_tipo.

        SELECT SINGLE frpagto FROM /pws/zycit128

          INTO v_tipo

          WHERE codigo = itab_zycit006-gpcambio.

* >> Início da exclusão: FORM LOAD_CAMBIO

        SELECT * FROM /pws/zycbt117

        INTO TABLE lt_zycbt117

             WHERE ebeln = p_ebeln

            AND status NE 'E'.                          "#EC CI_NOFIELD

        IF sy-subrc NE 0.

* << Fim da exclusão

          SELECT SINGLE * FROM /pws/zycbt119

            WHERE nrseq = itab_zycit006-nrseq_pgfat.

          IF sy-subrc EQ 0.

            SELECT SINGLE * FROM /pws/zycbt031

                   WHERE     bukrs = /pws/zycbt119-bukrs

                     AND mdcorresp = 'IP'

                     AND nrcorresp = /pws/zycbt119-nrseq

                     AND tabela    = '/PWS/ZYCBT119'.

            SELECT SINGLE * FROM /pws/zycbt048

                   WHERE bukrs = /pws/zycbt119-bukrs

                     AND mdcorresp = 'IP'

                     AND nrcorresp = /pws/zycbt119-nrseq.

            SELECT SINGLE * FROM /pws/zycbt115

                   WHERE nrcorrep = /pws/zycbt119-nrseq

                     AND tpdoc    = 'P'.

          ENDIF.

* >> Início da exclusão: FORM LOAD_CAMBIO

        ENDIF.

        IF v_tipo = 02.

          LOOP AT lt_zycbt117 INTO /pws/zycbt117.

            IF /pws/zycbt117-waers NE wa_zycbt007-waersb.

              itab_zycit121-moedanac = 'N'.

            ELSE.

              itab_zycit121-moedanac = 'S'.

            ENDIF.

            itab_zycit121-mandt         = sy-mandt.

            itab_zycit121-nrseqdi       = /pws/zycie085-nrseqdi.

            itab_zycit121-adicao        = wa_it-adicao.

            itab_zycit121-banco         = /pws/zycbt031-bcooper+5(5).

            itab_zycit121-praca         = /pws/zycbt048-praca+1(4).

            itab_zycit121-contrato      = /pws/zycbt048-nrcontr .

            itab_zycit121-valor =

            itab_zycit263-qtd_iten * itab_zycit263-vlreal.

            itab_zycit121-waers         = /pws/zycbt117-waers.

            itab_zycit121-tipo          = 'V'.

            COLLECT itab_zycit121.

          ENDLOOP.

        ENDIF.

        IF v_tipo = 01.

          LOOP AT lt_zycbt117 INTO /pws/zycbt117.

            SELECT *

              FROM /pws/zycbt064

                UP TO 1 ROWS

             WHERE nrchave   = /pws/zycbt117-nrseq

               AND mdcorresp = 'IA'.

            ENDSELECT.

            IF sy-subrc EQ 0.

              SELECT *

                FROM /pws/zycbt048

                  UP TO 1 ROWS

               WHERE nrseq = /pws/zycbt064-nrboleto

             AND mdcorresp = 'IA'

             AND nrcorresp = /pws/zycbt117-nrseq.

              ENDSELECT.

              SELECT *

                FROM  /pws/zycbt031

                  UP TO 1 ROWS

                WHERE nrcorresp = /pws/zycbt117-nrseq

                  AND mdcorresp = 'IA'.

              ENDSELECT.

              SELECT * FROM /pws/zycbt115

              UP TO 1 ROWS

              WHERE nrcorrep = /pws/zycbt117-nrfinanc.

              ENDSELECT.

            ENDIF.

            IF /pws/zycbt117-waers NE wa_zycbt007-waersb.

              itab_zycit121-moedanac = 'N'.

            ELSE.

              itab_zycit121-moedanac = 'S'.

            ENDIF.

            itab_zycit121-mandt         = sy-mandt.

            itab_zycit121-nrseqdi       = /pws/zycie085-nrseqdi.

            itab_zycit121-adicao        = wa_it-adicao.

            itab_zycit121-banco         = /pws/zycbt031-bcooper+5(5).

            itab_zycit121-praca         = /pws/zycbt048-praca+1(4).

            itab_zycit121-contrato      = /pws/zycbt048-nrcontr .

            IF NOT /pws/zycbt031-vlme IS INITIAL.

              itab_zycit121-valor         = /pws/zycbt031-vlme.

* << Fim da exclusão

* >> Início da inclusão: FORM LOAD_CAMBIO

        SELECT SINGLE * FROM /pws/zycbt117

             WHERE ebeln = p_ebeln

           AND status NE 'E'.                           "#EC CI_NOFIELD

        SELECT * FROM /pws/zycbt117

        INTO TABLE lt_zycbt117

             WHERE ebeln = p_ebeln

            AND status NE 'E'.                          "#EC CI_NOFIELD

        IF sy-subrc NE 0.

          PERFORM sem_pag_antec.

* << Fim da inclusão

            ELSE.

* >> Início da exclusão: FORM LOAD_CAMBIO

              itab_zycit121-valor         = a_vlrtot.

* << Fim da exclusão

* >> Início da inclusão: FORM LOAD_CAMBIO

          PERFORM com_pag_antec TABLES lt_zycbt117 .

* << Fim da inclusão

            ENDIF.

* >> Início da exclusão: FORM LOAD_CAMBIO

            itab_zycit121-waers         = /pws/zycbt117-waers.

            itab_zycit121-tipo           = 'A'.

            COLLECT itab_zycit121.

* << Fim da exclusão

          ENDLOOP.

* >> Início da exclusão: FORM LOAD_CAMBIO

        ENDIF.

      ENDLOOP.

* << Fim da exclusão

    ENDLOOP.

  ENDIF.

ENDFORM.

...

 

...

 

* >> Início da inclusão:

FORM sem_pag_antec.

  IF v_tipo = '2'.

    IF /pws/zycbt117-waers NE wa_zycbt007-waersb.

      itab_zycit121-moedanac = 'N'.

    ELSE.

      itab_zycit121-moedanac = 'S'.

    ENDIF.

    itab_zycit121-mandt         = sy-mandt.

    itab_zycit121-nrseqdi       = /pws/zycie085-nrseqdi.

    itab_zycit121-adicao        = wa_it-adicao.

    itab_zycit121-banco         = /pws/zycbt031-bcooper+5(5).

    itab_zycit121-praca         = /pws/zycbt048-praca+1(4).

    itab_zycit121-contrato      = /pws/zycbt048-nrcontr .

    itab_zycit121-valor =

    itab_zycit263-qtd_iten * itab_zycit263-vlreal.

    itab_zycit121-waers         = /pws/zycbt117-waers.

    itab_zycit121-tipo          = 'V'.

    COLLECT itab_zycit121.

  ENDIF.

  IF v_tipo = '1'.

    SELECT *

      FROM /pws/zycbt064

        UP TO 1 ROWS

     WHERE nrchave   = /pws/zycbt117-nrseq

       AND mdcorresp = 'IA'.

    ENDSELECT.

    IF sy-subrc EQ 0.

      SELECT *

        FROM /pws/zycbt048

          UP TO 1 ROWS

       WHERE nrseq = /pws/zycbt064-nrboleto

     AND mdcorresp = 'IA'

     AND nrcorresp = /pws/zycbt117-nrseq.

      ENDSELECT.

      SELECT *

        FROM  /pws/zycbt031

          UP TO 1 ROWS

        WHERE nrcorresp = /pws/zycbt117-nrseq

          AND mdcorresp = 'IA'.

      ENDSELECT.

      SELECT * FROM /pws/zycbt115

      UP TO 1 ROWS

      WHERE nrcorrep = /pws/zycbt117-nrfinanc.

      ENDSELECT.

    ENDIF.

    IF /pws/zycbt117-waers NE wa_zycbt007-waersb.

      itab_zycit121-moedanac = 'N'.

    ELSE.

      itab_zycit121-moedanac = 'S'.

    ENDIF.

    itab_zycit121-mandt         = sy-mandt.

    itab_zycit121-nrseqdi       = /pws/zycie085-nrseqdi.

    itab_zycit121-adicao        = wa_it-adicao.

    itab_zycit121-banco         = /pws/zycbt031-bcooper+5(5).

    itab_zycit121-praca         = /pws/zycbt048-praca+1(4).

    itab_zycit121-contrato      = /pws/zycbt048-nrcontr .

    IF NOT /pws/zycbt031-vlme IS INITIAL.

      itab_zycit121-valor         = /pws/zycbt031-vlme.

    ELSE.

      itab_zycit121-valor         = a_vlrtot.

    ENDIF.

    itab_zycit121-waers         = /pws/zycbt117-waers.

    itab_zycit121-tipo           = 'A'.

    COLLECT itab_zycit121.

  ENDIF.

ENDFORM.

FORM com_pag_antec TABLES lt_zycbt117.

  IF v_tipo = '2'.

    LOOP AT lt_zycbt117 INTO /pws/zycbt117.

      IF /pws/zycbt117-waers NE wa_zycbt007-waersb.

        itab_zycit121-moedanac = 'N'.

      ELSE.

        itab_zycit121-moedanac = 'S'.

      ENDIF.

      itab_zycit121-mandt         = sy-mandt.

      itab_zycit121-nrseqdi       = /pws/zycie085-nrseqdi.

      itab_zycit121-adicao        = wa_it-adicao.

      itab_zycit121-banco         = /pws/zycbt031-bcooper+5(5).

      itab_zycit121-praca         = /pws/zycbt048-praca+1(4).

      itab_zycit121-contrato      = /pws/zycbt048-nrcontr .

      itab_zycit121-valor =

      itab_zycit263-qtd_iten * itab_zycit263-vlreal.

      itab_zycit121-waers         = /pws/zycbt117-waers.

      itab_zycit121-tipo          = 'V'.

      COLLECT itab_zycit121.

    ENDLOOP.

  ENDIF.

  IF v_tipo = '1'.

    LOOP AT lt_zycbt117 INTO /pws/zycbt117.

      SELECT *

        FROM /pws/zycbt064

          UP TO 1 ROWS

       WHERE nrchave   = /pws/zycbt117-nrseq

         AND mdcorresp = 'IA'.

      ENDSELECT.

      IF sy-subrc EQ 0.

        SELECT *

          FROM /pws/zycbt048

            UP TO 1 ROWS

         WHERE nrseq = /pws/zycbt064-nrboleto

       AND mdcorresp = 'IA'

       AND nrcorresp = /pws/zycbt117-nrseq.

        ENDSELECT.

        SELECT *

          FROM  /pws/zycbt031

            UP TO 1 ROWS

          WHERE nrcorresp = /pws/zycbt117-nrseq

            AND mdcorresp = 'IA'.

        ENDSELECT.

        SELECT * FROM /pws/zycbt115

        UP TO 1 ROWS

        WHERE nrcorrep = /pws/zycbt117-nrfinanc.

        ENDSELECT.

      ENDIF.

      IF /pws/zycbt117-waers NE wa_zycbt007-waersb.

        itab_zycit121-moedanac = 'N'.

      ELSE.

        itab_zycit121-moedanac = 'S'.

      ENDIF.

      itab_zycit121-mandt         = sy-mandt.

      itab_zycit121-nrseqdi       = /pws/zycie085-nrseqdi.

      itab_zycit121-adicao        = wa_it-adicao.

      itab_zycit121-banco         = /pws/zycbt031-bcooper+5(5).

      itab_zycit121-praca         = /pws/zycbt048-praca+1(4).

      itab_zycit121-contrato      = /pws/zycbt048-nrcontr .

      IF NOT /pws/zycbt031-vlme IS INITIAL.

        itab_zycit121-valor         = /pws/zycbt031-vlme.

      ELSE.

        itab_zycit121-valor         = a_vlrtot.

      ENDIF.

      itab_zycit121-waers         = /pws/zycbt117-waers.

      itab_zycit121-tipo           = 'A'.

      COLLECT itab_zycit121.

    ENDLOOP.

  ENDIF.

ENDFORM.

* << Fim da inclusão