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.
6.0
Produto:
Nota
Descrição
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