CE PLUS - Nota 002212

Módulo: DRAWBACK

Funcionalidade: Ato Concessório

Data/Hora da Publicação: 05/10/2006 00:00:00

Data/Hora Última Alteração: 17/02/2011 14:13:30

Descrição da Nota: TRATAMENTO PARA INFORMAR QUAL O LOTE ESTÁ REALIZANDO O LANÇAMENTO

Sintoma

No programa não havia tratamento por lote, para que o usuário possa informar de qual lote está

fazendo a baixa de nacionalização. O botão cancelar funcionava apenas quando os campos obrigatórios

fossem preenchidos.

 

 

 

 

Solução

Foi criado no programa tratativa para buscar pelo lote ao adicionar lançamentos, acrescentado o

campo lote na tela 245, caso o campo tabela /pws/zycit321 Lote fornecedor esteja preeenchido.

Foi ajustado o botão Cancelar, para que o usuário não precise preencher os campos obrigatórios para

cancelar a tela.

 

Versões Tratadas

6.0


Pré-Requisitos

Produto:

Nota

Descrição

CRIADA FUNCIONALIDADE DE LANÇAMENTOS DE EXCEÇÕES NAS DI¿S DO ATO.

Informações Complementares

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

Nota Número 02212 Data: 05/10/2006 Hora: 08:50:26

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

 

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

Nota Número              : 02212

Categoria                : Melhoria

Prioridade               : Média

Versão PW.CE             : 6.0

Pacote                   : 00025

Agrupamento              : 00134

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

Referência às notas relacionadas:

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

 

01862  - 00001 - 6.0    - 00024  - CRIADA FUNCIONALIDADE DE LANÇAMENTOS DE EXCEÇÕES NAS DI¿S DO ATO.

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

TRATAMENTO PARA INFORMAR QUAL O LOTE ESTÁ REALIZANDO O LANÇAMENTO

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

Palavras Chave:

LOTE, /PWS/ZYCIT279, /PWS/ZYCIT246, NACIONALIZAÇÃO, DEV

 

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

Objetos da nota:

DYNP /PWS/SAPMZYCI040                        0201

DYNP /PWS/SAPMZYCI040                        0244

DYNP /PWS/SAPMZYCI040                        0245

REPS /PWS/MZYCI040F03

REPS /PWS/MZYCI040I01

REPS /PWS/MZYCI040O01

REPS /PWS/SAPMZYCI040

 

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

Modificações efetuadas em DYNP /PWS/SAPMZYCI040                        0201

 

*Modificação: Na pasta exibição flegar 'Como denom. à esquerda

*Antigo:

   V_CEN_IE

      Texto      6        3      14      14       1     CHAR

 

*Novo:

   V_CEN_IE

      Texto      6        3      14      14       1     CHAR

 

 

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

Modificações efetuadas em DYNP /PWS/SAPMZYCI040                        0245

 

...

PROCESS AFTER INPUT.

 

  MODULE: user_command_0245,

          user_command_0245_exit AT EXIT-COMMAND.

* >> Inicio da inclusão:

PROCESS ON VALUE-REQUEST.

 

  FIELD: /pws/zycie470-lote MODULE seta_matchcode .

* << Fim da inclusão

 

*Modificação:

*Antigo:

   /PWS/ZYCIE470-SELIC

      Texto      3        1       5       5       1     CHAR      X    F

 

   /PWS/ZYCIE470-SELIC

      I/O        3       17       8       8       1     DEC    X           Ent Off

      Alinh.à dir., Entr.obrig.

 

*Novo:

   /PWS/ZYCIE470-SELIC

      Texto      4        1       5       5       1     CHAR      X    F

 

   /PWS/ZYCIE470-SELIC

      I/O        4       17       8       8       1     DEC    X           Ent Off

      Alinh.à dir., Entr.obrig.

 

*Antigo:

   /PWS/ZYCIE470-DTLANC

      Texto      4        1      15      15       1     CHAR      X    F

 

   /PWS/ZYCIE470-DTLANC

      I/O        4       17      10      10       1     DATS   X           Ent Off

      Entr.obrig., Botão EntrsPoss.stand.

 

*Novo:

   /PWS/ZYCIE470-DTLANC

      Texto      5        1      15      15       1     CHAR      X    F

 

   /PWS/ZYCIE470-DTLANC

      I/O        5       17      10      10       1     DATS   X           Ent Off

      Entr.obrig., Botão EntrsPoss.stand.

 

*Inclusão:

   /PWS/ZYCIE470-LOTE

      Texto      3        1       4       4       1     CHAR      X    F

 

   /PWS/ZYCIE470-LOTE

      I/O        3       17      15      15       1     CHAR   X           Ent Off

      Entr.obrig.

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI040F03

 

...

                                                   itab_zycit470-qtd.

    itab_zycit279_ap-slqtde =  itab_zycit279_ap-slqtde +

                                                   itab_zycit470-qtd.

    itab_zycit246-qtd_nacion =  itab_zycit246-qtd_nacion +

                                                   itab_zycit470-qtd.

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

    IF  itab_zycit279_ap-slqtde > 0.

      itab_zycit279_ap-esgotado = ' '.

    ENDIF.

* << Fim da inclusão

    MODIFY itab_zycit246_final TRANSPORTING qtd_compv

                                  where nrseq = itab_zycit470-nrseq

                                    and ebeln = itab_zycit470-ebeln

                                    and ebelp = itab_zycit470-ebelp

                                    and lote  = itab_zycit470-lote .

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

    MODIFY itab_zycit279_ap TRANSPORTING slqtde

* << Fim da exclusão

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

    MODIFY itab_zycit279_ap TRANSPORTING slqtde esgotado

* << Fim da inclusão

                                  where nrseq = itab_zycit470-nrseq

                                    and ebeln = itab_zycit470-ebeln

                                    and ebelp = itab_zycit470-ebelp

                                    and lote  = itab_zycit470-lote .

    delete itab_zycit470.

...

 

...

           itab_zycit246-i_totmultic .

  ENDIF.

  MODIFY itab_zycit246 INDEX v_ilinhas2.

  PERFORM atualiza_itab_zycit246_final.

ENDFORM.

* >> Início da inclusão:

FORM add_lancamento_lote.

  DATA: v_baseimp LIKE /pws/zycie085-vlfob     ,

        v_txmulta LIKE /pws/zycie085-vlfob     ,

        v_propor  TYPE p DECIMALS 14           ,

        v_datatx  LIKE /pws/zycit246-dtdi      ,

        v_qtd_lanc TYPE /pws/zycit470-qtd      ,

        v_tabix    TYPE sy-tabix               .

  READ TABLE itab_zycit246 INDEX v_ilinhas2.

  IF itab_zycit246-qtd_nacion >= /pws/zycie470-qtd AND

     NOT /pws/zycie470-codigo IS INITIAL.

    IF itab_zycit469[] IS INITIAL.

      SELECT * FROM /pws/zycit469 INTO TABLE itab_zycit469.

    ENDIF.

    itab_zycit246-qtd_nacion = itab_zycit246-qtd_nacion -

                                          /pws/zycie470-qtd.

    SORT itab_zycit470 DESCENDING BY seq_l.

    READ TABLE itab_zycit470 INDEX 1.

    /pws/zycie470-seq_l = itab_zycit470-seq_l.

    SORT itab_zycit470 BY seq_l.

    v_qtd_lanc = /pws/zycie470-qtd.

    CLEAR itab_zycit279_ap.

    READ TABLE itab_zycit279_ap WITH KEY nrseq  = itab_zycit246-nrseq

                                         ebeln  = itab_zycit246-ebeln

                                         ebelp  = itab_zycit246-ebelp

                                         docnum = itab_zycit246-docnum

                                         lote   = /pws/zycie470-lote.

    IF sy-subrc <> 0.

      MESSAGE i015 WITH text-315.

      EXIT.

    ENDIF.

    v_tabix = sy-tabix.

    ADD 1 TO /pws/zycie470-seq_l.

    IF v_qtd_lanc > itab_zycit279_ap-slqtde.

      MESSAGE i015 WITH text-312.

      EXIT.

      CLEAR: itab_zycit279_ap-slqtde.

    ELSE.

      itab_zycit279_ap-slqtde = itab_zycit279_ap-slqtde -

                                                v_qtd_lanc.

      /pws/zycie470-qtd = v_qtd_lanc.

      CLEAR: v_qtd_lanc.

    ENDIF.

    IF itab_zycit279_ap-slqtde <= 0.

      itab_zycit279_ap-esgotado = 'X'.

    ELSE.

      CLEAR itab_zycit279_ap-esgotado.

    ENDIF.

    MODIFY itab_zycit279_ap INDEX v_tabix.

    READ TABLE itab_zycit246_final WITH KEY

                                      nrseq  = itab_zycit279_ap-nrseq

                                      ebeln  = itab_zycit279_ap-ebeln

                                      ebelp  = itab_zycit279_ap-ebelp

                                      docnum = itab_zycit279_ap-docnum

                                      lote   = itab_zycit279_ap-lote.

    itab_zycit246_final-qtd_compv = itab_zycit246_final-qtd_compv +

                                                    /pws/zycie470-qtd.

    MODIFY itab_zycit246_final TRANSPORTING qtd_compv

                        WHERE nrseq  = itab_zycit279_ap-nrseq

                          AND ebeln  = itab_zycit279_ap-ebeln

                          AND ebelp  = itab_zycit279_ap-ebelp

                          AND docnum = itab_zycit279_ap-docnum

                          AND lote   = itab_zycit279_ap-lote.

    READ TABLE itab_zycit469 WITH KEY codigo = /pws/zycie470-codigo.

    IF itab_zycit469-lanc EQ 'X'.

      itab_zycit246-i_indice = v_propor =

                  ( /pws/zycie470-qtd / itab_zycit279_ap-menge ).

      IF itab_zycit435[] IS INITIAL.

        SELECT * FROM /pws/zycit435 INTO TABLE itab_zycit435.

      ENDIF.

      READ TABLE itab_zycit435 WITH KEY tributo = 'II'.

      v_txmulta =  itab_zycit435-coef *

                                  ( sy-datum - itab_zycit246-dtdi ) .

      IF sy-subrc EQ 0 AND itab_zycit435-multa < v_txmulta

      AND itab_zycit435-multa NE 0.

        itab_zycit246-multaii = itab_zycit435-multa.

      ELSE.

        itab_zycit246-multaii  = v_txmulta.

      ENDIF.

      READ TABLE itab_zycit435 WITH KEY tributo = 'IPI'.

      v_txmulta =  itab_zycit435-coef *

                                 ( sy-datum - /pws/zycie470-dtlanc ) .

      IF sy-subrc EQ 0 AND itab_zycit435-multa < v_txmulta

      AND itab_zycit435-multa NE 0.

        itab_zycit246-multaipi = itab_zycit435-multa.

      ELSE.

        itab_zycit246-multaipi = v_txmulta.

      ENDIF.

      READ TABLE itab_zycit435 WITH KEY tributo = 'PIS'.

      v_txmulta =  itab_zycit435-coef *

                                 ( sy-datum - /pws/zycie470-dtlanc ) .

      IF sy-subrc EQ 0 AND itab_zycit435-multa < v_txmulta

      AND itab_zycit435-multa NE 0.

        itab_zycit246-multapis = itab_zycit435-multa.

      ELSE.

        itab_zycit246-multapis = v_txmulta.

      ENDIF.

      READ TABLE itab_zycit435 WITH KEY tributo = 'COFINS'.

      v_txmulta =  itab_zycit435-coef *

                                 ( sy-datum - /pws/zycie470-dtlanc ) .

      IF sy-subrc EQ 0 AND itab_zycit435-multa < v_txmulta

      AND itab_zycit435-multa NE 0.

        itab_zycit246-multacof = itab_zycit435-multa.

      ELSE.

        itab_zycit246-multacof = v_txmulta.

      ENDIF.

      READ TABLE itab_zycit435 WITH KEY tributo = 'ICMS'.

      v_txmulta =  itab_zycit435-coef *

                                 ( sy-datum - /pws/zycie470-dtlanc ) .

      IF sy-subrc EQ 0 AND itab_zycit435-multa < v_txmulta

      AND itab_zycit435-multa NE 0.

        itab_zycit246-multaicms = itab_zycit435-multa.

      ELSE.

        itab_zycit246-multaicms = v_txmulta.

      ENDIF.

      READ TABLE itab_zycit435 WITH KEY tributo = 'AFRMM'.

      v_txmulta =  itab_zycit435-coef *

                                 ( sy-datum - /pws/zycie470-dtlanc ) .

      IF sy-subrc EQ 0 AND itab_zycit435-multa < v_txmulta

      AND itab_zycit435-multa NE 0.

        itab_zycit246-multaafrmm = itab_zycit435-multa.

      ELSE.

        itab_zycit246-multaafrmm = v_txmulta.

      ENDIF.

      itab_zycit246-jurosafrmm =

      itab_zycit246-jurosicms =

      itab_zycit246-juroscof =

      itab_zycit246-jurospis =

      itab_zycit246-jurosipi =

      itab_zycit246-jurosii = /pws/zycie470-selic.

      /pws/zycie470-ii   =

                             ( ( itab_zycit279_ap-baseii * v_propor )

                                    * itab_zycit279_ap-i_txii ) / 100.

      /pws/zycie470-ipi      =

         ( ( ( itab_zycit279_ap-baseii * v_propor )

         + itab_zycit246-i_vlii ) * itab_zycit279_ap-i_txipi ) / 100.

      v_advpis  = ( itab_zycit279_ap-pis / 100 ).

      v_advcof  = ( itab_zycit279_ap-cofins / 100 ).

      v_baseimp  =  itab_zycit246-i_vlcifn_mi * v_fatx .

      /pws/zycie470-pis = ( itab_zycit279_ap-basepis * v_advpis ) *

                                                          v_propor.

      /pws/zycie470-mpis = ( /pws/zycie470-pis *

                                itab_zycit246-multapis ) / 100.

      /pws/zycie470-jpis = ( /pws/zycie470-pis *

                                itab_zycit246-jurospis ) / 100.

    /pws/zycie470-cofins = ( itab_zycit279_ap-basecofins * v_advcof ) *

                                                               v_propor.

      /pws/zycie470-mcofins = ( /pws/zycie470-cofins *

                                itab_zycit246-multacof ) / 100.

      /pws/zycie470-jcofins = ( /pws/zycie470-cofins *

                                itab_zycit246-juroscof ) / 100.

      itab_zycit246-afrmm = 25.

      IF NOT itab_zycit246-i_txmoeda IS INITIAL.

        /pws/zycie470-afrmm = ( ( itab_zycit246-vlfrete * v_propor )

                     * ( 25 / 100 ) ) * itab_zycit279_ap-i_txmoeda.

      ENDIF.

      /pws/zycie470-mafrmm = ( /pws/zycie470-afrmm *

                                itab_zycit246-multaafrmm ) / 100.

      /pws/zycie470-jafrmm = ( /pws/zycie470-afrmm *

                                itab_zycit246-jurosafrmm ) / 100.

      v_txic = ( 100 - itab_zycit279_ap-i_txicms ) / 100.

      IF v_txic <= 0.

        v_txic = 1.

      ENDIF.

      IF /pws/zycit321-ut_imp EQ 'X'.

        /pws/zycie470-icms   =

                         ( ( ( itab_zycit279_ap-baseicms * v_propor +

             itab_zycit246-vlpis + itab_zycit246-vlcof ) / v_txic ) *

                                 itab_zycit279_ap-i_txicms ) / 100.

      ELSE.

        /pws/zycie470-icms   =

                           (  ( itab_zycit279_ap-baseicms * v_propor

                               ) * itab_zycit279_ap-i_txicms ) / 100.

      ENDIF.

      /pws/zycie470-micms  =

                                  ( /pws/zycie470-icms *

                                     itab_zycit246-multaicms ) / 100.

      /pws/zycie470-mii    = ( /pws/zycie470-ii *

                                     itab_zycit246-multaii ) / 100.

      /pws/zycie470-mipi   = ( /pws/zycie470-ipi *

                                     itab_zycit246-multaipi ) / 100.

      /pws/zycie470-jii    =

               ( /pws/zycie470-ii * itab_zycit246-i_txselic ) / 100.

      /pws/zycie470-jipi   =

              ( /pws/zycie470-ipi * itab_zycit246-i_txselic ) / 100.

      IF itab_zycit246-jurosicms IS INITIAL.

        CLEAR: /pws/zycie470-jicms.

      ELSE.

        /pws/zycie470-jicms   = ( /pws/zycie470-icms *

                              ( itab_zycit246-i_txselic + 1 ) ) / 100.

      ENDIF.

    ENDIF.

    /pws/zycie470-nrseq  =  itab_zycit279_ap-nrseq.

    /pws/zycie470-nrseqd =  itab_zycit279_ap-nrseqd.

    /pws/zycie470-ebeln  =  itab_zycit279_ap-ebeln.

    /pws/zycie470-ebelp  =  itab_zycit279_ap-ebelp.

    /pws/zycie470-docnum =  itab_zycit279_ap-docnum.

    /pws/zycie470-buzei  =  itab_zycit279_ap-buzei.

    /pws/zycie470-meins  =  itab_zycit279_ap-meins.

    /pws/zycie470-lote   =  itab_zycit279_ap-lote.

    APPEND /pws/zycie470 TO itab_zycit470 .

    APPEND /pws/zycie470 TO itab_zycit470_s .

    IF itab_zycit246-qtd_nacion <= itab_zycit246-qtd_ncm AND

       itab_zycit246-qtd_nacion > 0  AND

       NOT itab_zycit246-i_txselic IS INITIAL.

      CLEAR: itab_zycit279_ap.

      itab_zycit246-i_vlcif_me =

               itab_zycit246-vltot +

               itab_zycit246-vlfrete +

               itab_zycit246-vlseg.

      itab_zycit246-i_indice = v_propor =

                  ( itab_zycit246-qtd_nacion / itab_zycit246-qtd_ncm ).

      itab_zycit246-i_waerscifme = 'USD'.

      itab_zycit246-i_waerscifmi = /pws/zycbt007-waersb.

      itab_zycit246-i_vlcif_mi   =

                     itab_zycit246-i_vlcif_me * itab_zycit246-i_txmoeda.

      itab_zycit246-i_vlcifn_mi  =

         itab_zycit246-i_vlcif_mi *

           ( itab_zycit246-qtd_nacion / itab_zycit246-qtd_ncm ).

      itab_zycit246-vlcifn_me = itab_zycit246-i_vlcif_me *

           ( itab_zycit246-qtd_nacion / itab_zycit246-qtd_ncm ).

      CLEAR v_datatx.

      CLEAR itab_zycit435. REFRESH itab_zycit435.

      SELECT * FROM /pws/zycit435 INTO TABLE itab_zycit435.

      READ TABLE itab_zycit435 WITH KEY tributo = 'II'.

      v_txmulta =  itab_zycit435-coef *

                                  ( sy-datum - itab_zycit246-dtdi ) .

      IF sy-subrc EQ 0 AND itab_zycit435-multa < v_txmulta

      AND itab_zycit435-multa NE 0.

        itab_zycit246-multaii = itab_zycit435-multa.

      ELSE.

        itab_zycit246-multaii  = v_txmulta.

      ENDIF.

      READ TABLE itab_zycit435 WITH KEY tributo = 'IPI'.

      v_txmulta =  itab_zycit435-coef *

                                  ( sy-datum - itab_zycit246-dtdi ) .

      IF sy-subrc EQ 0 AND itab_zycit435-multa < v_txmulta

      AND itab_zycit435-multa NE 0.

        itab_zycit246-multaipi = itab_zycit435-multa.

      ELSE.

        itab_zycit246-multaipi = v_txmulta.

      ENDIF.

      READ TABLE itab_zycit435 WITH KEY tributo = 'PIS'.

      v_txmulta =  itab_zycit435-coef *

                                  ( sy-datum - itab_zycit246-dtdi ) .

      IF sy-subrc EQ 0 AND itab_zycit435-multa < v_txmulta

      AND itab_zycit435-multa NE 0.

        itab_zycit246-multapis = itab_zycit435-multa.

      ELSE.

        itab_zycit246-multapis = v_txmulta.

      ENDIF.

      READ TABLE itab_zycit435 WITH KEY tributo = 'COFINS'.

      v_txmulta =  itab_zycit435-coef *

                                  ( sy-datum - itab_zycit246-dtdi ) .

      IF sy-subrc EQ 0 AND itab_zycit435-multa < v_txmulta

      AND itab_zycit435-multa NE 0.

        itab_zycit246-multacof = itab_zycit435-multa.

      ELSE.

        itab_zycit246-multacof = v_txmulta.

      ENDIF.

      READ TABLE itab_zycit435 WITH KEY tributo = 'ICMS'.

      v_txmulta =  itab_zycit435-coef *

                                  ( sy-datum - itab_zycit246-dtdi ) .

      IF sy-subrc EQ 0 AND itab_zycit435-multa < v_txmulta

      AND itab_zycit435-multa NE 0.

        itab_zycit246-multaicms = itab_zycit435-multa.

      ELSE.

        itab_zycit246-multaicms = v_txmulta.

      ENDIF.

      READ TABLE itab_zycit435 WITH KEY tributo = 'AFRMM'.

      v_txmulta =  itab_zycit435-coef *

                                  ( sy-datum - itab_zycit246-dtdi ) .

      IF sy-subrc EQ 0 AND itab_zycit435-multa < v_txmulta

      AND itab_zycit435-multa NE 0.

        itab_zycit246-multaafrmm = itab_zycit435-multa.

      ELSE.

        itab_zycit246-multaafrmm = v_txmulta.

      ENDIF.

      itab_zycit246-jurosafrmm =

      itab_zycit246-jurosicms =

      itab_zycit246-juroscof =

      itab_zycit246-jurospis =

      itab_zycit246-jurosipi =

      itab_zycit246-jurosii = itab_zycit246-i_txselic.

      itab_zycit246-i_vlii       =

                               ( ( itab_zycit279_ap-baseii * v_propor )

                                    * itab_zycit246-i_txii ) / 100.

      itab_zycit246-i_vlipi      =

         ( ( ( itab_zycit279_ap-baseii * v_propor )

         + itab_zycit246-i_vlii ) * itab_zycit246-i_txipi ) / 100.

      v_advpis  = ( itab_zycit246-pis / 100 ).

      v_advcof  = ( itab_zycit246-cofins / 100 ).

      v_baseimp  =  itab_zycit246-i_vlcifn_mi * v_fatx .

      itab_zycit246-vlpis = ( itab_zycit279_ap-basepis * v_advpis ) *

                                                          v_propor.

      itab_zycit246-vmultapis = ( itab_zycit246-vlpis *

                                itab_zycit246-multapis ) / 100.

      itab_zycit246-vjurospis = ( itab_zycit246-vlpis *

                                itab_zycit246-jurospis ) / 100.

     itab_zycit246-vlcof = ( itab_zycit279_ap-basecofins * v_advcof ) *

                                                               v_propor.

      itab_zycit246-vmultacof = ( itab_zycit246-vlcof *

                                itab_zycit246-multacof ) / 100.

      itab_zycit246-vjuroscof = ( itab_zycit246-vlcof *

                                itab_zycit246-juroscof ) / 100.

      itab_zycit246-afrmm = 25.

      IF NOT itab_zycit246-i_txmoeda IS INITIAL.

        itab_zycit246-vafrmm = ( ( itab_zycit246-vlfrete * v_propor )

                          * ( 25 / 100 ) ) * itab_zycit246-i_txmoeda.

      ENDIF.

      itab_zycit246-vmultaafrmm = ( itab_zycit246-vafrmm *

                                itab_zycit246-multaafrmm ) / 100.

      itab_zycit246-vjurosafrmm = ( itab_zycit246-vafrmm *

                                itab_zycit246-jurosafrmm ) / 100.

      v_txic = ( 100 - itab_zycit246-i_txicms ) / 100.

      IF v_txic <= 0.

        v_txic = 1.

      ENDIF.

      IF /pws/zycit321-ut_imp EQ 'X'.

        itab_zycit246-i_vlicms   =

                           ( ( ( itab_zycit279_ap-baseicms * v_propor +

               itab_zycit246-vlpis + itab_zycit246-vlcof ) / v_txic ) *

                                         itab_zycit246-i_txicms ) / 100.

      ELSE.

        itab_zycit246-i_vlicms   =

                           (  ( itab_zycit279_ap-baseicms * v_propor

                                    ) * itab_zycit246-i_txicms ) / 100.

      ENDIF.

      itab_zycit246-i_multaicms  =

                                  ( itab_zycit246-i_vlicms *

                                     itab_zycit246-multaicms ) / 100.

      itab_zycit246-i_tottrib    =

                           itab_zycit246-i_vlii + itab_zycit246-i_vlipi.

      itab_zycit246-i_multaii    = ( itab_zycit246-i_vlii *

                                     itab_zycit246-multaii ) / 100.

      itab_zycit246-i_multaipi   = ( itab_zycit246-i_vlipi *

                                     itab_zycit246-multaipi ) / 100.

      itab_zycit246-i_jurosii    =

               ( itab_zycit246-i_vlii * itab_zycit246-i_txselic ) / 100.

      itab_zycit246-i_jurosipi   =

              ( itab_zycit246-i_vlipi * itab_zycit246-i_txselic ) / 100.

      itab_zycit246-i_totmult    = itab_zycit246-i_multaii  +

                                   itab_zycit246-i_multaipi +

                                   itab_zycit246-i_jurosii  +

                                   itab_zycit246-i_jurosipi.

      IF itab_zycit246-jurosicms IS INITIAL.

        CLEAR: itab_zycit246-i_jurosmor.

      ELSE.

        itab_zycit246-i_jurosmor   = ( itab_zycit246-i_vlicms *

                                ( itab_zycit246-i_txselic + 1 ) ) / 100.

      ENDIF.

      itab_zycit246-i_totmultic  =

                   itab_zycit246-i_jurosmor + itab_zycit246-i_multaicms.

    ENDIF.

    IF itab_zycit246-qtd_nacion = 0

       OR itab_zycit246-i_txselic IS INITIAL.

      CLEAR:

             itab_zycit246-i_waerscifme,

             itab_zycit246-i_vlcif_me  ,

             itab_zycit246-i_waerscifmi,

             itab_zycit246-i_vlcif_mi  ,

             itab_zycit246-i_vlcifn_mi ,

             itab_zycit246-i_vlii      ,

             itab_zycit246-i_vlipi     ,

             itab_zycit246-i_vlicms    ,

             itab_zycit246-i_multaicms ,

             itab_zycit246-i_txselic   ,

             itab_zycit246-i_tottrib   ,

             itab_zycit246-i_multaii   ,

             itab_zycit246-i_multaipi  ,

             itab_zycit246-i_jurosii   ,

             itab_zycit246-i_jurosipi  ,

             itab_zycit246-i_totmult   ,

             itab_zycit246-i_jurosmor  ,

             itab_zycit246-i_totmultic .

    ENDIF.

    MODIFY itab_zycit246 INDEX v_ilinhas2.

    PERFORM atualiza_itab_zycit246_final.

    LEAVE TO SCREEN 0.

  ELSE.

    MESSAGE i015 WITH text-312.

  ENDIF.

ENDFORM.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCI040I01

 

...

  itab_zycit470-mark = v_mark2.

  MODIFY itab_zycit470 INDEX tc_lanc-current_line.

ENDMODULE.

MODULE user_command_0245 INPUT.

  CASE ok_code2.

* >> Início da inclusão: MODULE USER_COMMAND_0245

    WHEN 'ENTE'.

      IF /pws/zycit321-lote = ' '.

        PERFORM add_lancamento.

      ELSE.

        PERFORM add_lancamento_lote.

      ENDIF.

  ENDCASE.

ENDMODULE.

MODULE user_command_0245_exit INPUT.

  CASE ok_code2.

* << Fim da inclusão

    WHEN 'EXIT'.

      CLEAR: ok_code2.

      LEAVE TO SCREEN 0.

* >> Início da exclusão: MODULE USER_COMMAND_0245

    WHEN 'ENTE'.

      PERFORM add_lancamento.

* << Fim da exclusão

  ENDCASE.

* >> Início da exclusão: MODULE USER_COMMAND_0245

ENDMODULE.

* << Fim da exclusão

* >> Início da inclusão:

ENDMODULE.

* << Fim da inclusão

 

* >> Início da inclusão: MODULE seta_matchcode .

MODULE seta_matchcode INPUT.

 

  DATA: v_return(40) TYPE c,

        value(132).

 

  DATA: BEGIN OF f_tab1 OCCURS 10.

          INCLUDE STRUCTURE help_value.

  DATA: END OF f_tab1.

 

  DATA: BEGIN OF v_tab OCCURS 200,

          value(40) TYPE c,

  END OF v_tab.

 

  CLEAR: v_tab, f_tab1.

  REFRESH: v_tab, f_tab1.

 

  LOOP AT itab_zycit279_ap WHERE nrseq  = itab_zycit246-nrseq AND

                              ebeln  = itab_zycit246-ebeln AND

                              ebelp  = itab_zycit246-ebelp AND

                              docnum = itab_zycit246-docnum AND

                              slqtde > 0.

 

    MOVE itab_zycit279_ap-lote TO v_return.

    MOVE v_return TO v_tab-value.

    APPEND v_tab.

 

  ENDLOOP.

 

  CLEAR f_tab1.

  MOVE: '/PWS/ZYCIT279' TO f_tab1-tabname   ,

        'LOTE'          TO f_tab1-fieldname ,

        'X'             TO f_tab1-selectflag.

  APPEND f_tab1.

 

  CALL FUNCTION 'HELP_VALUES_GET_WITH_TABLE'

       EXPORTING

            display                   = ' '

            fieldname                 = 'LOTE'

            tabname                   = '/PWS/ZYCIE470'

       IMPORTING

            select_value              = value

       TABLES

            valuetab                  = v_tab

            fields                    = f_tab1

       EXCEPTIONS

            field_not_in_ddic         = 1

            more_then_one_selectfield = 2

            no_selectfield            = 3

            OTHERS                    = 4.

 

  IF sy-subrc <> 0.

    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno

            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

  ENDIF.

 

  MOVE value TO /pws/zycie470-lote.

 

ENDMODULE.                 " SETA_MATCHCODE  INPUT

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCI040O01

 

...

  v_mark2 = itab_zycit470-mark.

ENDMODULE.

MODULE status_0245 OUTPUT.

  SET PF-STATUS 'ST0245'.

ENDMODULE.

* >> Início da inclusão:

MODULE trata_lote OUTPUT.

  LOOP AT SCREEN.

    CASE screen-name.

      WHEN '/PWS/ZYCIE470-LOTE'.

        IF /pws/zycit321-lote = ' '.

          screen-invisible  = 1.

          screen-active = 0.

          MODIFY SCREEN.

        ELSE.

          screen-invisible  = 0.

          MODIFY SCREEN.

        ENDIF.

    ENDCASE.

  ENDLOOP.

ENDMODULE.

* << Fim da inclusão

* << Fim da inclusão

* << Fim da inclusão

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 315

 

Texto: (20 caracteres)

"Lote não encontrado!"

 

Comprimento máximo: 45

Comprimento máximo: 45

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

BOTÃO ESTÁTICO

 

*Modificaçao:

*Antigo:

CÓDIGO DE FUNÇÃO: EXIT

CATEGORIA DE FUNÇÃO: ____

*Novo:

CÓDIGO DE FUNÇÃO: EXIT

CATEGORIA DE FUNÇÃO: E Comando exit

CATEGORIA DE FUNÇÃO: E Comando exit

CATEGORIA DE FUNÇÃO: E Comando exit