CE PLUS - Nota 011203

Módulo: CÂMBIO EXPORTAÇÃO

Funcionalidade: SML - Sistema de Pagto. Moeda Inter

Data/Hora da Publicação: 03/06/2011 00:00:00

Data/Hora Última Alteração: 03/06/2011 14:58:32

Descrição da Nota: SML - ESTORNO DE VÁRIAS FATURAS E RAZÃO ESPECIAL DE PAGAMENTO ANTECIPADO

Sintoma

O programa estava utilizando o Razão Especial incorreto e não estava atualizando o saldo

a liquidar corretamente na tabela /PWS/ZYCBT030

 

 

Solução

O programa foi ajustado para buscar o evento corretamente no lançamento do estorno

e para calcular corretamente o Saldo a Liquidar da tabela /PWS/ZYCBT030

 

Versões Tratadas

8.0


Pré-Requisitos

Produto:

Nota

Descrição

DA - SISTEMA DE PAGAMENTOS EM MOEDA LOCAL E ASSOCIAÇÃO(SML)

VALORES MANTIDOS NO EXTERIOR - DA COMPLETO

Informações Complementares

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

Nota Número 11203 Data: 03/06/2011 Hora: 13:28:13

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

 

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

Nota Número              : 11203

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 8.0

Pacote                   : 00007

Agrupamento              : 00073

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

Referência às notas relacionadas:

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

 

05482  - 00001 - 7.0    - 00003  - VALORES MANTIDOS NO EXTERIOR - DA COMPLETO

07931  - 00002 - 7.0    - 00008  - DA - SISTEMA DE PAGAMENTOS EM MOEDA LOCAL E ASSOCIAÇÃO(SML)

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

SML - ESTORNO DE VÁRIAS FATURAS E RAZÃO ESPECIAL DE PAGAMENTO ANTECIPADO

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

Palavras Chave:

SISTEMA DE PAGAMENTOS EM MOEDA LOCAL - ESTORNO DE VÁRIAS FATURAS

TABELA ZYCBT030 - CODIGO DE RAZÃO ESPECIAL DE PAGAMENTO ANTECIPADO

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

Objetos da nota:

REPS /PWS/MZYCB034F01

 

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

Modificações efetuadas em REPS /PWS/MZYCB034F01

 

...

      wa_zycbt036-cpochv  = wa_zycbe033-cpochv.

      wa_zycbt036-tabela  = '/PWS/ZYCBT226'.

      IF NOT <fs_op>-belnr_assoc IS INITIAL.

        wa_zycbt036-belnr   = <fs_op>-belnr_assoc.

        wa_zycbt036-dtdocto = <fs_op>-dt_assoc.

      ELSE.

        wa_zycbt036-belnr   = <fs_op>-belnr_op.

        wa_zycbt036-dtdocto = <fs_op>-dtlancto.

      ENDIF.

      APPEND wa_zycbt036 TO itab_zycbt036.

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

      READ TABLE itab_zycbt011 INTO wa_zycbt011

        WITH KEY

          codeven = '001DP'

          codmod  = c_modulo

          bukrs   = <fs_op>-bukrs.

      IF sy-subrc NE 0.

        READ TABLE itab_zycbt011 INTO wa_zycbt011

          WITH TABLE KEY

            codeven = '001DP'

            codmod  = c_modulo

            bukrs   = space.

      ENDIF.

* << Fim da exclusão

      wa_zycbe033-d_newko = <fs_op>-kunag.

      wa_zycbe033-koart = 'D'.

      wa_zycbe033-agums = wa_zycbt011-agums.

    ELSEIF p_processo = 'OM'.

      wa_zycbt036-tcode   = 'F-30'.

      wa_zycbt036-cpochv  = wa_zycbe033-cpochv.

      wa_zycbt036-tabela  = '/PWS/ZYCBT226'.

      IF NOT <fs_op>-belnr_op2 IS INITIAL.

        wa_zycbt036-belnr   = <fs_op>-belnr_op2.

        wa_zycbt036-dtdocto = <fs_op>-dtlancto2.

...

 

...

  ENDCASE.

ENDFORM.

FORM apaga_registros.

  DATA v_nrseq_op TYPE /pws/zycbt226-nrseq.

  CHECK <fs_op>-belnr_op         IS INITIAL AND

        <fs_op>-belnr_desm_cli   IS INITIAL AND

        <fs_op>-belnr_desmliqand IS INITIAL AND

        <fs_op>-belnr_compens    IS INITIAL.

  v_nrseq_op = <fs_op>-nrseq.

  MODIFY /pws/zycbt209 FROM TABLE itab_zycbt209.

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

  PERFORM atualiza_saldos_sml USING 'X'.

* << Fim da inclusão

  MODIFY /pws/zycbt030 FROM TABLE itab_zycbt030.

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

  PERFORM atualiza_saldos_sml USING 'X'.

* << Fim da exclusão

  DELETE itab_zycbt226 WHERE nrseq = v_nrseq_op.

  DELETE FROM /pws/zycbt226 WHERE nrseq = v_nrseq_op.

  DELETE itab_zycbt225 WHERE nrseq = v_nrseq_op.

  DELETE FROM /pws/zycbt225 WHERE nrseq = v_nrseq_op.

ENDFORM.

FORM f02_reversa

...

 

...

ENDFORM.

FORM atualiza_saldos_sml USING p_estorno.

  CHECK sy-tcode+13(3) = 'SML'.

  IF p_estorno IS INITIAL.

    READ TABLE itab_zycbt030 WITH KEY nrinvoic = <fs_op>-nrinvoic

                                      nrparcf  = <fs_op>-nrparcf

                                      gsberf   = <fs_op>-gsberf

                                      INTO wa_zycbt030.

    IF sy-subrc EQ '0'.

      wa_zycbt030-vlslliq = wa_zycbt030-vlslliq - <fs_op>-vlr_exterior.

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

      MODIFY itab_zycbt030 FROM wa_zycbt030

                           TRANSPORTING vlslliq

                           WHERE nrinvoic EQ wa_zycbt030-nrinvoic

                             AND gsberf   EQ wa_zycbt030-gsberf

                             AND nrparcf  EQ wa_zycbt030-nrparcf.

* << Fim da inclusão

      UPDATE /pws/zycbt030

        SET   vlslliq  = wa_zycbt030-vlslliq

        WHERE nrinvoic = wa_zycbt030-nrinvoic

          AND nrparcf  = wa_zycbt030-nrparcf

          AND gsberf   = wa_zycbt030-gsberf.

    ENDIF.

    READ TABLE itab_zycbt017 WITH KEY nrinvoic = <fs_op>-nrinvoic

                                      nrparcf  = <fs_op>-nrparcf

                                      gsberf   = <fs_op>-gsberf

                                      INTO wa_zycbt017.

...

 

...

          AND gsberf   = wa_zycbt209-gsberf.

    ENDLOOP.

  ELSE.

    READ TABLE itab_zycbt030 WITH KEY nrinvoic = <fs_op>-nrinvoic

                                      nrparcf  = <fs_op>-nrparcf

                                      gsberf   = <fs_op>-gsberf

                                      INTO wa_zycbt030.

    IF sy-subrc EQ '0'.

      wa_zycbt030-vlslliq = wa_zycbt030-vlslliq +

                            <fs_op>-vlr_exterior.

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

      MODIFY itab_zycbt030 FROM wa_zycbt030

                           TRANSPORTING vlslliq

                           WHERE nrinvoic EQ wa_zycbt030-nrinvoic

                             AND gsberf   EQ wa_zycbt030-gsberf

                             AND nrparcf  EQ wa_zycbt030-nrparcf.

* << Fim da inclusão

      UPDATE /pws/zycbt030

        SET   vlslliq  = wa_zycbt030-vlslliq

        WHERE nrinvoic = wa_zycbt030-nrinvoic

          AND nrparcf  = wa_zycbt030-nrparcf

          AND gsberf   = wa_zycbt030-gsberf.

    ENDIF.

    READ TABLE itab_zycbt017 WITH KEY nrinvoic = <fs_op>-nrinvoic

                                      nrparcf  = <fs_op>-nrparcf

                                      gsberf   = <fs_op>-gsberf

                                      INTO wa_zycbt017.

...