CE PLUS - Nota 001862

Módulo: DRAWBACK

Funcionalidade: Ato Concessório

Data/Hora da Publicação: 02/08/2006 00:00:00

Data/Hora Última Alteração: 17/02/2011 13:55:21

Descrição da Nota: CRIADA FUNCIONALIDADE DE LANÇAMENTOS DE EXCEÇÕES NAS DI¿S DO ATO.

Sintoma

Gerada funcionalidade para o lançamento de exceções no ato concessório que baixam o saldo das DI¿s.

 

 

Solução

Gerada funcionalidade para o lançamento de exceções no ato concessório que baixam o saldo das DI¿s.

 

Versões Tratadas

6.0


Pré-Requisitos

Produto:

Nota

Descrição

AJUSTE NA CONTROLE DOS ADITIVOS E NA VINCULAÇÃO DO FORECAST

Informações Complementares

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

Nota Número 01862 Data: 02/08/2006 Hora: 14:29:28

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

 

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

Nota Número              : 01862

Categoria                : Melhoria

Prioridade               : Baixa

Versão PW.CE             : 6.0

Pacote                   : 00024

Agrupamento              : 00125

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

Referência às notas relacionadas:

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

 

01832  - 00001 - 6.0    - 00024  - AJUSTE NA CONTROLE DOS ADITIVOS E NA VINCULAÇÃO DO FORECAST

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

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

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

Palavras Chave:

LANÇAMENTOS - DI - EXCEÇÕES - ATO - CONCESSÓRIO

/PWS/SAPMZYCI040

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

Objetos da nota:

CUAD /PWS/SAPMZYCI040

DYNP /PWS/SAPMZYCI040                        0210

DYNP /PWS/SAPMZYCI040                        0244

DYNP /PWS/SAPMZYCI040                        0245

REPS /PWS/MZYCI040F02

REPS /PWS/MZYCI040F03

REPS /PWS/MZYCI040I01

REPS /PWS/MZYCI040O01

REPS /PWS/MZYCI040TOP2

REPS /PWS/SAPMZYCI040

REPT /PWS/SAPMZYCI040

TABL /PWS/ZYCIE470

TABL /PWS/ZYCIT469

TABL /PWS/ZYCIT470

TOBJ /PWS/ZYCIT469S

TRAN /PWS/ZYCIT469

 

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

Modificações efetuadas em CUAD /PWS/SAPMZYCI040

 

 

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

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

 

   Nome

      Ctg.      Linha   Coluna  CmprDf  CmVis   Altura  Format Dict  Modif At.Des.Só At

      Gr1 Gr2 Gr3 Gr4  SPA GPA ID parâm             Cód.F                TCmp   TpoLoopExbLoop

      Outros atributos

* >> Início da inclusão:

- M_NACION

     Push       1        1      20       3       1     CHAR

                                                   SELE

     Elem.TC, Col.fixa TC

     Ícn.=ICON_GRADUATE

* >> Fim da inclusão:

 

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

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

 

Criar tela: 0244

Descrição breve        CI - Lançamentos

Idioma original        P

Tipo tela              Tela diálogo modal

Tela seguin            0244

Manter dados           Desativado

Fonte equidistante     Desativado

Compressão tmp.exec.   Ativado

Tela-modelo            Desativado

Manter posição de rola Desativado

Linhas/colunas  Ocupds  27 /129

                Atual.  27 /130

 

*Campo:

 

   Nome

      Ctg.      Linha   Coluna  CmprDf  CmVis   Altura  Format Dict  Modif At.Des.Só At

      Gr1 Gr2 Gr3 Gr4  SPA GPA ID parâm             Cód.F                TCmp   TpoLoopExbLoop

      Outros atributos

 

+  TC_LANC

      Tabel      2        1     129     129      26

      Seleção linha=Múltipla, Seleção coluna=Simples

      TabEntr., Com título, Configurável, Coluna marc., RedimVertic., RedimHoriz., LSep.horiz.,

LnhSep.vert.

 - /PWS/ZYCIE470-NRSEQ

      Texto      1        2      18      10       1     CHAR      X    2

      Título de coluna TC

 - /PWS/ZYCIE470-EBELN

      Texto      1        3      15      10       1     CHAR      X    2

      Título de coluna TC

 - /PWS/ZYCIE470-EBELP

      Texto      1        4      15       5       1     CHAR      X    2

      Título de coluna TC

 - /PWS/ZYCIE470-DOCNUM

      Texto      1        5      15      10       1     CHAR      X    F

      Título de coluna TC

 - /PWS/ZYCIE470-NRSEQD

      Texto      1        6      19      10       1     CHAR      X    2

      Título de coluna TC

 - /PWS/ZYCIE470-LOTE

      Texto      1        7       5      15       1     CHAR      X    F

      Título de coluna TC

 - /PWS/ZYCIE470-CODIGO

      Texto      1        8      15       6       1     CHAR      X    F

      Chave externa, Título de coluna TC

 - /PWS/ZYCIE470-QTD

      Texto      1        9      10      17       1     CHAR      X    F

      Título de coluna TC

 - /PWS/ZYCIE470-MEINS

      Texto      1       10      15       3       1     CHAR      X    2

      Título de coluna TC

 - /PWS/ZYCIE470-SELIC

      Texto      1       11       9       8       1     CHAR      X    F

      Título de coluna TC

 - /PWS/ZYCIE470-PIS

      Texto      1       12       9      16       1     CHAR      X    F

      Título de coluna TC

 - /PWS/ZYCIE470-MPIS

      Texto      1       13       9      16       1     CHAR      X    F

      Título de coluna TC

 - /PWS/ZYCIE470-JPIS

      Texto      1       14       9      16       1     CHAR      X    F

      Título de coluna TC

 - /PWS/ZYCIE470-COFINS

      Texto      1       15      12      16       1     CHAR      X    F

      Título de coluna TC

 - /PWS/ZYCIE470-MCOFINS

      Texto      1       16      12      16       1     CHAR      X    F

      Título de coluna TC

 - /PWS/ZYCIE470-JCOFINS

      Texto      1       17      12      16       1     CHAR      X    F

      Título de coluna TC

 - /PWS/ZYCIE470-II

      Texto      1       18       8      16       1     CHAR      X    F

      Título de coluna TC

 - /PWS/ZYCIE470-MII

      Texto      1       19       8      16       1     CHAR      X    F

      Título de coluna TC

 - /PWS/ZYCIE470-JII

      Texto      1       20       8      16       1     CHAR      X    F

      Título de coluna TC

 - /PWS/ZYCIE470-IPI

      Texto      1       21       9      16       1     CHAR      X    F

      Título de coluna TC

 - /PWS/ZYCIE470-MIPI

      Texto      1       22       9      16       1     CHAR      X    F

      Título de coluna TC

 - /PWS/ZYCIE470-JIPI

      Texto      1       23       9      16       1     CHAR      X    F

      Título de coluna TC

 - /PWS/ZYCIE470-ICMS

      Texto      1       24      10      16       1     CHAR      X    F

      Título de coluna TC

 - /PWS/ZYCIE470-MICMS

      Texto      1       25      10      16       1     CHAR      X    F

      Título de coluna TC

 - /PWS/ZYCIE470-JICMS

      Texto      1       26      10      16       1     CHAR      X    F

      Título de coluna TC

 - /PWS/ZYCIE470-AFRMM

      Texto      1       27      11      16       1     CHAR      X    F

      Título de coluna TC

 - /PWS/ZYCIE470-MAFRMM

      Texto      1       28      11      16       1     CHAR      X    F

      Título de coluna TC

 - /PWS/ZYCIE470-JAFRMM

      Texto      1       29      11      16       1     CHAR      X    F

      Alinh.à dir., Título de coluna TC

 - V_MARK2

      Check      1        0       1       1       1     CHAR               Ent Off

      Coluna marc.TC

 - /PWS/ZYCIE470-SEQ_L

      I/O        1        1       5       5       1     NUMC   X               Off

      Alinh.à dir., Zeros à esq., Elem.TC, Col.fixa TC

 - /PWS/ZYCIE470-NRSEQ

      I/O        1        2      10      10       1     CHAR   X               Off

                               /PWS/ZYCIP001

      Elem.TC

 - /PWS/ZYCIE470-EBELN

      I/O        1        3      10      10       1     CHAR   X               Off

                               BES

      Elem.TC

      Saída de conversão=ALPHA

 - /PWS/ZYCIE470-EBELP

      I/O        1        4       5       5       1     NUMC   X               Off

                               BSP

      Elem.TC

 - /PWS/ZYCIE470-DOCNUM

      I/O        1        5      10      10       1     NUMC   X               Off

                               JEF

      Elem.TC

 - /PWS/ZYCIE470-NRSEQD

      I/O        1        6      10      10       1     CHAR   X               Off

                               /PWS/ZYCIP435

      Elem.TC

 - /PWS/ZYCIE470-LOTE

      I/O        1        7      15      15       1     CHAR   X               Off

      Elem.TC

 - /PWS/ZYCIE470-CODIGO

      I/O        1        8       5       6       1     CHAR   X               Off

      Chave externa, Botão EntrsPoss.stand., Elem.TC

 - /PWS/ZYCIE470-QTD

      I/O        1        9      17      17       1     QUAN   X               Off

      Elem.TC

 - /PWS/ZYCIE470-MEINS

      I/O        1       10       3       3       1     UNIT   X               Off

      Elem.TC

      Saída de conversão=CUNIT

 - /PWS/ZYCIE470-SELIC

      I/O        1       11       8       8       1     DEC    X               Off

      Elem.TC

 - /PWS/ZYCIE470-PIS

      I/O        1       12      31      16       1     CURR   X               Off

      Elem.TC

      Código da moeda=/PWS/ZYCIE470-WAERS

 - /PWS/ZYCIE470-MPIS

      I/O        1       13      31      16       1     CURR   X               Off

      Elem.TC

      Código da moeda=/PWS/ZYCIE470-WAERS

 - /PWS/ZYCIE470-JPIS

      I/O        1       14      31      16       1     CURR   X               Off

      Elem.TC

      Código da moeda=/PWS/ZYCIE470-WAERS

 - /PWS/ZYCIE470-COFINS

      I/O        1       15      31      16       1     CURR   X               Off

      Elem.TC

      Código da moeda=/PWS/ZYCIE470-WAERS

 - /PWS/ZYCIE470-MCOFINS

      I/O        1       16      31      16       1     CURR   X               Off

      Elem.TC

      Código da moeda=/PWS/ZYCIE470-WAERS

 - /PWS/ZYCIE470-JCOFINS

      I/O        1       17      31      16       1     CURR   X               Off

      Elem.TC

      Código da moeda=/PWS/ZYCIE470-WAERS

 - /PWS/ZYCIE470-II

      I/O        1       18      31      16       1     CURR   X               Off

      Elem.TC

      Código da moeda=/PWS/ZYCIE470-WAERS

 - /PWS/ZYCIE470-MII

      I/O        1       19      31      16       1     CURR   X               Off

      Elem.TC

      Código da moeda=/PWS/ZYCIE470-WAERS

 - /PWS/ZYCIE470-JII

      I/O        1       20      31      16       1     CURR   X               Off

      Elem.TC

      Código da moeda=/PWS/ZYCIE470-WAERS

 - /PWS/ZYCIE470-IPI

      I/O        1       21      31      16       1     CURR   X               Off

      Elem.TC

      Código da moeda=/PWS/ZYCIE470-WAERS

 - /PWS/ZYCIE470-MIPI

      I/O        1       22      31      16       1     CURR   X               Off

      Elem.TC

      Código da moeda=/PWS/ZYCIE470-WAERS

 - /PWS/ZYCIE470-JIPI

      I/O        1       23      31      16       1     CURR   X               Off

      Elem.TC

      Código da moeda=/PWS/ZYCIE470-WAERS

 - /PWS/ZYCIE470-ICMS

      I/O        1       24      31      16       1     CURR   X               Off

      Elem.TC

      Código da moeda=/PWS/ZYCIE470-WAERS

 - /PWS/ZYCIE470-MICMS

      I/O        1       25      31      16       1     CURR   X               Off

      Elem.TC

      Código da moeda=/PWS/ZYCIE470-WAERS

 - /PWS/ZYCIE470-JICMS

      I/O        1       26      31      16       1     CURR   X               Off

      Elem.TC

      Código da moeda=/PWS/ZYCIE470-WAERS

 - /PWS/ZYCIE470-AFRMM

      I/O        1       27      31      16       1     CURR   X               Off

      Elem.TC

      Código da moeda=/PWS/ZYCIE470-WAERS

 - /PWS/ZYCIE470-MAFRMM

      I/O        1       28      31      16       1     CURR   X               Off

      Elem.TC

      Código da moeda=/PWS/ZYCIE470-WAERS

 - /PWS/ZYCIE470-JAFRMM

      I/O        1       29      31      16       1     CURR   X               Off

      Elem.TC

      Código da moeda=/PWS/ZYCIE470-WAERS

   OK_CODE2

      OK

 

*Código fonte:

 

PROCESS BEFORE OUTPUT.

 MODULE STATUS_0244.

 

  LOOP AT itab_zycit470 WITH CONTROL tc_lanc

                                          CURSOR tc_lanc-current_line.

    MODULE: preenche_estrutura_0244.

  ENDLOOP.

 

 

 

PROCESS AFTER INPUT.

 

 

  LOOP AT itab_zycit470.

    MODULE preenche_zycit470.

  ENDLOOP.

 

 MODULE USER_COMMAND_0244.

 

 

 

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

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

 

Criar tela: 0245

 

Descrição breve        SS - Adiciona Lançamento.

Idioma original        P

Tipo tela              Tela diálogo modal

Tela seguin            0245

Manter dados           Desativado

Fonte equidistante     Desativado

Compressão tmp.exec.   Ativado

Tela-modelo            Desativado

Manter posição de rola Desativado

Linhas/colunas  Ocupds   4 / 33

                Atual.  27 /120

 

*Layout:

 

     ....+...10....+...10....+...30....+

 

001  Tipo lançamento _____>

002  Quantidade      _.___.___.___,___

003  Selic           ____,__V

004  Data Lançamento __________>

005

 

 

*Campos:

 

   Nome

      Ctg.      Linha   Coluna  CmprDf  CmVis   Altura  Format Dict  Modif At.Des.Só At

      Gr1 Gr2 Gr3 Gr4  SPA GPA ID parâm             Cód.F                TCmp   TpoLoopExbLoop

      Outros atributos

 

   /PWS/ZYCIE470-CODIGO

      Texto      1        1      15      15       1     CHAR      X    F

      Chave externa

   /PWS/ZYCIE470-CODIGO

      I/O        1       17       5       5       1     CHAR   X           Ent Off

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

   /PWS/ZYCIE470-QTD

      Texto      2        1      10      10       1     CHAR      X    F

 

   /PWS/ZYCIE470-QTD

      I/O        2       17      17      17       1     QUAN   X           Ent Off

      Alinh.à dir., Entr.obrig.

   /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.

   /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.

   OK_CODE2

      OK

 

 

*Código fonte:

PROCESS BEFORE OUTPUT.

 

 MODULE STATUS_0245.

*

PROCESS AFTER INPUT.

 MODULE USER_COMMAND_0245.

 

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI040F02

 

...

    DELETE FROM /pws/zycit247 WHERE nrseqd = /pws/zycie244-nrseqd.

    DELETE FROM /pws/zycit248 WHERE nrseqd = /pws/zycie244-nrseqd.

    DELETE FROM /pws/zycit243 WHERE nrseqd = /pws/zycie244-nrseqd.

    DELETE FROM /pws/zycit277 WHERE nrseqd = /pws/zycie244-nrseqd.

    DELETE FROM /pws/zycit457 WHERE nrseqd = /pws/zycie244-nrseqd.

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

    DELETE FROM /pws/zycit470 WHERE nrseqd = /pws/zycie244-nrseqd.

* << Fim da inclusão

    COMMIT WORK.

  ENDIF.

  PERFORM move_drawback_type2.

  LOOP AT itab_zycit279_ap.

    READ TABLE itab_zycit246_final WITH KEY

...

 

...

  MODIFY /pws/zycit246 FROM TABLE itab_zycit246_final.

  MODIFY /pws/zycit247 FROM TABLE itab_zycit247.

  MODIFY /pws/zycit248 FROM TABLE itab_zycit248_final.

  MODIFY /pws/zycit243 FROM TABLE itab_centros2.

  MODIFY /pws/zycit457 FROM TABLE itab_zycit457.

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

  MODIFY /pws/zycit470 FROM TABLE itab_zycit470_s.

* << Fim da inclusão

  IF NOT itab_zycit279_ap[] IS INITIAL.

    PERFORM salva_apont.

  ENDIF.

  IF v_aditivo > 0.

    /pws/zycie244-aditivo = v_aditivo.

...

 

...

        itab_zycit245-netpr_t  TO /pws/zycie245c-netpr_t ,

        itab_zycit245-meins    TO /pws/zycie245c-meins   .

  MOVE: itab_zycit245-qtd_tot TO /pws/zycie245c-qtd_iten.

  CLEAR: itab_zycit246. REFRESH: itab_zycit246.

  LOOP AT itab_zycit246_final WHERE matnr EQ itab_resumo_ap-matnr.

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

    READ TABLE itab_zycit470 WITH KEY ebeln = itab_zycit246_final-ebeln

                                      ebelp = itab_zycit246_final-ebelp

                                      nrseq = itab_zycit246_final-nrseq

                                      lote  = itab_zycit246_final-lote.

    IF sy-subrc NE 0.

* << Fim da inclusão

    CHECK itab_zycit246_final-qtd_ncm >

                                 itab_zycit246_final-qtd_compv.

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

    ENDIF.

* << Fim da inclusão

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

  READ TABLE itab_zycit246 WITH KEY ebeln   = itab_zycit246_final-ebeln

                                    ebelp   = itab_zycit246_final-ebelp

                                    nrseq   = itab_zycit246_final-nrseq.

* << Fim da exclusão

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

    itab_zycit246_final-qtd_nacion = itab_zycit246_final-qtd_ncm -

                                       itab_zycit246_final-qtd_compv .

    READ TABLE itab_zycit246 WITH KEY ebeln = itab_zycit246_final-ebeln

                                      ebelp = itab_zycit246_final-ebelp

                                      nrseq = itab_zycit246_final-nrseq.

* << Fim da inclusão

    IF sy-subrc EQ 0.

      MOVE-CORRESPONDING itab_zycit246_final TO itab_zycit246.

      CLEAR: itab_zycit246-i_indice    ,

             itab_zycit246-i_txmoeda   ,

             itab_zycit246-i_txii      ,

...

 

...

      ENDLOOP.

    ENDIF.

    SELECT * FROM /pws/zycit371

        INTO TABLE itab_zycit371

        WHERE nratoc EQ /pws/zycie244-nratoc.

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

    SELECT * FROM /pws/zycit470 INTO TABLE itab_zycit470_s

           WHERE nrseqd EQ /pws/zycie244-nrseqd.

* << Fim da inclusão

    SELECT * FROM /pws/zycit427 INTO TABLE itab_zycit427

           WHERE nrseqd EQ /pws/zycie244-nrseqd.

    SELECT * FROM /pws/zycit245 INTO TABLE itab_zycit245

           WHERE nrseqd EQ /pws/zycie244-nrseqd

             AND proced EQ '1'.

...

 

...

    WHEN 'INF_IMP'.

      READ TABLE itab_zycit246 INDEX v_ilinhas2.

      IF sy-subrc EQ 0.

        PERFORM monta_inf_imp.

      ENDIF.

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

    WHEN 'M_NACION'.

      READ TABLE itab_zycit246 INDEX v_ilinhas2.

      IF sy-subrc EQ 0.

        itab_zycit470[] = itab_zycit470_s[].

        DELETE itab_zycit470 WHERE nrseq NE itab_zycit246-nrseq

                                OR ebeln NE itab_zycit246-ebeln

                                OR ebelp NE itab_zycit246-ebelp.

        CALL SCREEN 0244 STARTING  AT 5 5.

      ENDIF.

* << Fim da inclusão

  ENDCASE.

ENDFORM.

FORM carrega_graficos2.

  IF v_tcode2 EQ '/PWS/ZYCI040_A' OR

     v_tcode2 EQ '/PWS/ZYCI040_E'.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI040F03

 

...

            i_codmod_nao_encontrado = 1

            i_func_nao_encontrado   = 2

            i_zexit_nao_encontrado  = 3

            OTHERS                  = 4.

ENDFORM.

* >> Início da inclusão:

FORM dele_lancamento.

  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      .

  LOOP AT itab_zycit470 WHERE mark EQ 'X'.

    READ TABLE itab_zycit246_final WITH KEY

                                        nrseq = itab_zycit470-nrseq

                                        ebeln = itab_zycit470-ebeln

                                        ebelp = itab_zycit470-ebelp

                                        lote  = itab_zycit470-lote .

    READ TABLE itab_zycit279_ap WITH KEY

                                        nrseq = itab_zycit470-nrseq

                                        ebeln = itab_zycit470-ebeln

                                        ebelp = itab_zycit470-ebelp

                                        lote  = itab_zycit470-lote .

    itab_zycit246_final-qtd_compv =  itab_zycit246_final-qtd_compv -

                                                   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.

    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 .

    MODIFY itab_zycit279_ap TRANSPORTING slqtde

                                  where nrseq = itab_zycit470-nrseq

                                    and ebeln = itab_zycit470-ebeln

                                    and ebelp = itab_zycit470-ebelp

                                    and lote  = itab_zycit470-lote .

    delete itab_zycit470.

    delete itab_zycit470_s where nrseq = itab_zycit470-nrseq

                             and ebeln = itab_zycit470-ebeln

                             and ebelp = itab_zycit470-ebelp

                             and lote  = itab_zycit470-lote

                             and seq_l = itab_zycit470-seq_l..

  ENDLOOP.

  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.

    READ TABLE itab_zycit279_ap WITH KEY

                                        nrseq = itab_zycit246-nrseq

                                        ebeln = itab_zycit246-ebeln

                                        ebelp = itab_zycit246-ebelp.

    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.

ENDFORM.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCI040I01

 

...

      DESCRIBE TABLE itab_zycit246 LINES v_ilinhas.

      PERFORM blaettern

              USING tc_nacion-current_line 5 v_ilinhas ok_code2

              CHANGING nextline.

      tc_nacion-top_line = nextline.

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

    WHEN 'SELE'.

      PERFORM trata_selecao2.

* << Fim da inclusão

    WHEN 'ENTE'.

  ENDCASE.

ENDMODULE.

MODULE preenche_itab_zycit246_nac INPUT.

  itab_zycit246-i_txselic    = /pws/zycie246c-i_txselic   .

...

 

...

    WHEN 'EXIT'.

      CLEAR ok_code3.

      LEAVE TO SCREEN 0.

  ENDCASE.

ENDMODULE.

* >> Início da inclusão:

MODULE user_command_0244 INPUT.

  CASE ok_code2.

    WHEN 'EXIT'.

      CLEAR: ok_code2.

      LEAVE TO SCREEN 0.

    WHEN 'ADD'.

      clear: /pws/zycie470.

      CALL SCREEN 0245 STARTING  AT 5 5.

    WHEN 'DELE'.

      perform dele_lancamento.

  ENDCASE.

ENDMODULE.

MODULE preenche_zycit470 INPUT.

itab_zycit470-mark = v_mark2.

modify itab_zycit470 index tc_lanc-current_line.

ENDMODULE.

module USER_COMMAND_0245 input.

  CASE ok_code2.

    WHEN 'EXIT'.

      CLEAR: ok_code2.

      LEAVE TO SCREEN 0.

    WHEN 'ENTE'.

      perform add_lancamento.

  ENDCASE.

endmodule.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCI040O01

 

...

    ENDSELECT.

  ENDIF.

  CLEAR: /pws/zycie245c-netpr_t, /pws/zycie245c-qtd_iten,

         /pws/zycie245c-meins.

  /pws/zycie245c-waers = 'USD'.

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

  DELETE itab_zycit246 WHERE qtd_nacion <= 0.

* << Fim da exclusão

  LOOP AT itab_zycit246 WHERE i_txselic NE space.

    /pws/zycie245c-qtd_iten = /pws/zycie245c-qtd_iten +

                                  itab_zycit246-qtd_nacion.

    IF NOT itab_zycit246-um_ncm IS INITIAL.

      /pws/zycie245c-meins = itab_zycit246-um_ncm.

...

 

...

      CASE screen-name.

        WHEN '/PWS/ZYCIE246C-QTD_NACION'.

          screen-input = 0.

          MODIFY SCREEN.

        WHEN '/PWS/ZYCIE246C-I_TXSELIC'.

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

          IF itab_zycit246-qtd_nacion <= 0.

            screen-input = 0.

            MODIFY SCREEN.

          ENDIF.

* << Fim da inclusão

      ENDCASE.

    ENDLOOP.

  ENDIF.

ENDMODULE.

MODULE status_0222 OUTPUT.

...

 

...

MODULE status_0243 OUTPUT.

  SET PF-STATUS 'ST0243'.

ENDMODULE.

MODULE monta_cent_ei OUTPUT.

ENDMODULE.

* >> Início da inclusão:

MODULE status_0244 OUTPUT.

  SET PF-STATUS 'ST0244'.

  DESCRIBE TABLE itab_zycit470 LINES tc_lanc-lines.

ENDMODULE.

MODULE preenche_estrutura_0244 OUTPUT.

  /pws/zycie470 = itab_zycit470.

  v_mark2 = itab_zycit470-mark.

ENDMODULE.

MODULE status_0245 OUTPUT.

  SET PF-STATUS 'ST0245'.

ENDMODULE.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCI040TOP2

 

...

        /pws/zycit321 ,

        /pws/zycit422 ,

        /pws/zycit427 ,

        /pws/zycie427 ,

        /pws/zycit421 ,

* >> Início da inclusão:

        /pws/zycie470 ,

* << Fim da inclusão

        /pws/zycie368 ,

        /pws/zycit368 ,

        /pws/zycie369 ,

        /pws/zycit369 ,

        j_1bnfdoc     ,

...

 

...

          tc_res_apo   TYPE TABLEVIEW USING SCREEN '0237',

          tc_perda     TYPE TABLEVIEW USING SCREEN '0238',

          tc_transf    TYPE TABLEVIEW USING SCREEN '0239',

          tc_inf_exp   TYPE TABLEVIEW USING SCREEN '0241',

          tc_inf_imp   TYPE TABLEVIEW USING SCREEN '0242',

* >> Início da inclusão:

          tc_lanc      TYPE TABLEVIEW USING SCREEN '0244',

* << Fim da inclusão

          tc_setlt     TYPE TABLEVIEW USING SCREEN '0400'.

DATA: ok_code2           LIKE sy-ucomm                   ,

      v_tcode2           LIKE sy-tcode                   ,

      v_tcode2_aux                                       ,

      v_ico2             TYPE icons-text                 ,

...

 

...

        INCLUDE STRUCTURE /pws/zycit246  .

DATA: END OF itab_zycit246_inf           .

DATA: BEGIN OF itab_zycit248_inf OCCURS 0.

        INCLUDE STRUCTURE /pws/zycit248  .

DATA: END OF itab_zycit248_inf           .

* >> Início da inclusão:

DATA: BEGIN OF itab_zycit470 OCCURS 0.

        INCLUDE STRUCTURE /pws/zycit470  .

data: mark  type c                       .

DATA: END OF itab_zycit470           .

DATA: BEGIN OF itab_zycit470_s OCCURS 0.

        INCLUDE STRUCTURE /pws/zycit470  .

DATA: END OF itab_zycit470_s           .

DATA: BEGIN OF itab_zycit469 OCCURS 0.

        INCLUDE STRUCTURE /pws/zycit469  .

DATA: END OF itab_zycit469           .

* << Fim da inclusão

DATA: BEGIN OF itab_matnr OCCURS 0.

DATA: matnr LIKE marc-matnr.

DATA: END OF itab_matnr.

DATA: BEGIN OF itab_zycit247 OCCURS 0.

        INCLUDE STRUCTURE /pws/zycit247   .

...

 

 

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

Modificações efetuadas em REPS /PWS/SAPMZYCI040

 

...

INCLUDE /PWS/MZYCI040O01.

INCLUDE /PWS/MZYCI040I01.

INCLUDE /PWS/MZYCI040F01.

INCLUDE /PWS/MZYCI040F02.

INCLUDE /PWS/MZYCI040F03.

* >> Início da inclusão:

FORM add_lancamento.

  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      .

  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.

    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.

      ADD 1 TO /pws/zycie470-seq_l.

      IF v_qtd_lanc > itab_zycit279_ap-slqtde.

        v_qtd_lanc = v_qtd_lanc - itab_zycit279_ap-slqtde .

        /pws/zycie470-qtd = itab_zycit279_ap-slqtde.

        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.

      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 v_qtd_lanc <= 0.

        EXIT.

      ENDIF.

    ENDLOOP.

    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 REPT /PWS/SAPMZYCI040

 

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

Modificado símbolo de texto:

 

Idioma: PT

 

Símbolo: 236

 

Texto: (33 caracteres)

"Não há quantidade à nacionalizar."

 

Comprimento máximo: 33

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 312

 

Texto: (39 caracteres)

"Quantidade há nacionalizar insuficiente"

 

Comprimento máximo: 40

 

 

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

Modificações efetuadas em TABL /PWS/ZYCIE470

 

criar tabela: /pws/zycie470

 

*Características gerais:

 

Nome da tabela     /PWS/ZYCIE470

Descrição breve    CI - LANÇAMENTOS NA DI - ATO CONCESSÓRIO

Ctg.tabela         Estrutura

 

Campos:

 

Nome campo Elem.dados    Tab.verif. N CtDt Comp.

 

.INCLUDE   /PWS/ZYCIT470

 

 

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

Modificações efetuadas em TABL /PWS/ZYCIT469

 

Criar tabela: /pws/zycit469

 

*Características gerais:

 

Nome da tabela     /PWS/ZYCIT469

Descrição breve    DB - Tipos de Lançamento

Ctg.tabela         Tabela transparente

Arm.bff.permitido

AtualTab.permitida X

Classe de entrega  A

 

*Campos:

 

Nome campo Chv Elem.dados     Tab.verif. N CtDt Comp.

 

MANDT      X   MANDT                       CLNT     3

CODIGO     X   CHAR05                      CHAR     5

DESCR          TEXT45                      CHAR    45

LANC           /PWS/ZYGLL1059              CHAR     1

 

 

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

Modificações efetuadas em TABL /PWS/ZYCIT470

Criar tabela: /pws/zycit470

 

Características gerais:

 

Nome da tabela     /PWS/ZYCIT470

Descrição breve    CI - LANÇAMENTOS NA DI - ATO CONCESSÓRIO

Ctg.tabela         Tabela transparente

Arm.bff.permitido

AtualTab.permitida X

Classe de entrega  A

 

*Campos:

 

Nome campo Chv Elem.dados    Tab.verif.    N CtDt Comp. Tab.Referência Cpo.Referência

 

MANDT      X   MANDT                         CLNT     3

NRSEQ      X   /PWS/ZYCIL001                 CHAR    10

EBELN      X   EBELN                         CHAR    10

EBELP      X   EBELP                         NUMC     5

DOCNUM     X   J_1BDOCNUM                    NUMC    10

BUZEI      X   RBLGP                         NUMC     6

NRSEQD     X   /PWS/ZYCIL435                 CHAR    10

LOTE       X   LICHN                         CHAR    15

SEQ_L      X   NUMC5                         NUMC     5

CODIGO         CHAR05        /PWS/ZYCIT469   CHAR     5

QTD            BSTMG                         QUAN    13 /PWS/ZYCIT470  MEINS

MEINS          MEINS                         UNIT     3

SELIC          J_1BTXRATE                    DEC      6

DTLANC         DATUM                         DATS     8

PIS            WRBTV_FPM                     CURR    23 /PWS/ZYCIT470  WAERS

MPIS           WRBTV_FPM                     CURR    23 /PWS/ZYCIT470  WAERS

JPIS           WRBTV_FPM                     CURR    23 /PWS/ZYCIT470  WAERS

COFINS         WRBTV_FPM                     CURR    23 /PWS/ZYCIT470  WAERS

MCOFINS        WRBTV_FPM                     CURR    23 /PWS/ZYCIT470  WAERS

JCOFINS        WRBTV_FPM                     CURR    23 /PWS/ZYCIT470  WAERS

II             WRBTV_FPM                     CURR    23 /PWS/ZYCIT470  WAERS

MII            WRBTV_FPM                     CURR    23 /PWS/ZYCIT470  WAERS

JII            WRBTV_FPM                     CURR    23 /PWS/ZYCIT470  WAERS

IPI            WRBTV_FPM                     CURR    23 /PWS/ZYCIT470  WAERS

MIPI           WRBTV_FPM                     CURR    23 /PWS/ZYCIT470  WAERS

JIPI           WRBTV_FPM                     CURR    23 /PWS/ZYCIT470  WAERS

AFRMM          WRBTV_FPM                     CURR    23 /PWS/ZYCIT470  WAERS

MAFRMM         WRBTV_FPM                     CURR    23 /PWS/ZYCIT470  WAERS

JAFRMM         WRBTV_FPM                     CURR    23 /PWS/ZYCIT470  WAERS

ICMS           WRBTV_FPM                     CURR    23 /PWS/ZYCIT470  WAERS

MICMS          WRBTV_FPM                     CURR    23 /PWS/ZYCIT470  WAERS

JICMS          WRBTV_FPM                     CURR    23 /PWS/ZYCIT470  WAERS

WAERS          WAERS                         CUKY     5

 

*Chave externa:

Nome de campo      CODIGO

Tabela verificação /PWS/ZYCIT469

 

     Tabela chave externa Cpo.chave externa Tab.verif.    Nome de campo

 

     /PWS/ZYCIT470        MANDT             /PWS/ZYCIT469 MANDT

     /PWS/ZYCIT470        CODIGO            /PWS/ZYCIT469 CODIGO

 

 

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

Modificações efetuadas em TOBJ /PWS/ZYCIT469S

 

 

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

Modificações efetuadas em TRAN /PWS/ZYCIT469