Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Prestação de Contas
Data/Hora da Publicação: 16/01/2008 00:00:00
Data/Hora Última Alteração: 09/03/2010 11:30:26
Descrição da Nota: IMPLEMENTADO NA FUNÇÃO ZYGL_IMPOSTO DE Nº DE DOCUMENTO COMPENSAÇÃO
Sintoma
Implementado o tratamento na função zygl_imposto de Nº de Documento Compensação.
Ajuste na prestação de contas.
Solução
Implementado o tratamento na função zygl_imposto de Nº de Documento Compensação
7.0
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 05660 Data: 16/01/2008 Hora: 15:06:42
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 05660
Categoria : Melhoria
Prioridade : Média
Versão PW.CE : 7.0
Pacote : 00004
Agrupamento : 00030
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Descrição Breve
----------------------------------------------------------------------------------------------------
IMPLEMENTADO NA FUNÇÃO ZYGL_IMPOSTO DE Nº DE DOCUMENTO COMPENSAÇÃO
----------------------------------------------------------------------------------------------------
Palavras Chave:
COMPENSAÇÃO - ZYGL_IMPOSTO - NUMERO DOCUMENTO
----------------------------------------------------------------------------------------------------
Objetos da nota:
FUNC /PWS/ZYGL_IMPOSTO
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYGL_IMPOSTO
...
itab_zyglt378 LIKE /pws/zyglt378 OCCURS 0 WITH HEADER LINE,
itab_imposto_aux LIKE /pws/zygle369 OCCURS 0 WITH HEADER LINE,
itab_bkpf LIKE bkpf OCCURS 0 WITH HEADER LINE.
DATA: BEGIN OF itab_with_item OCCURS 1000,
belnr LIKE with_item-belnr,
gjahr LIKE with_item-gjahr,
witht LIKE with_item-witht,
wt_withcd LIKE with_item-wt_withcd,
wt_qsshh LIKE with_item-wt_qsshh,
wt_qbshh LIKE with_item-wt_qbshh,
* >> Início da inclusão: FUNCTION /PWS/ZYGL_IMPOSTO
augbl like with_item-augbl,
* << Fim da inclusão
END OF itab_with_item.
DATA itab_t059pp LIKE v_t059pp OCCURS 0 WITH HEADER LINE.
CLEAR v_first_day.
IF p_dtlanc IS INITIAL.
MOVE sy-datum+4(2) TO v_mes.
MOVE sy-datum(4) TO v_ano.
MOVE sy-datum TO v_date.
ELSE.
MOVE p_dtlanc+4(2) TO v_mes.
MOVE p_dtlanc(4) TO v_ano.
...
...
witht EQ itab_imposto-cod_impo AND
wt_accpt EQ '3'.
IF sy-subrc = 0.
SELECT * FROM lfbw INTO TABLE itab_lfbw
FOR ALL ENTRIES IN itab_imposto
WHERE lifnr EQ p_lifnr
AND bukrs EQ p_bukrs
AND witht EQ itab_imposto-cod_impo
AND wt_subjct NE space.
IF sy-subrc = 0.
* >> Início da exclusão: FUNCTION /PWS/ZYGL_IMPOSTO
SELECT belnr gjahr witht wt_withcd wt_qsshh wt_qbshh
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYGL_IMPOSTO
SELECT belnr gjahr witht wt_withcd wt_qsshh wt_qbshh augbl
* << Fim da inclusão
FROM with_item
INTO TABLE itab_with_item
WHERE bukrs EQ p_bukrs AND
witht IN s_witht AND
wt_acco EQ p_lifnr AND
gjahr EQ v_ano.
ENDIF.
ENDIF.
SORT itab_imposto BY cod_impo.
LOOP AT itab_with_item.
...
...
READ TABLE itab_t059minmax INDEX 1.
ENDIF.
CLEAR t059p.
SELECT SINGLE *
FROM t059p
WHERE land1 EQ t001-land1 AND
witht EQ itab_imposto-cod_impo.
CHECK NOT t059p-wt_dopost IS INITIAL.
IF NOT itab_t059minmax[] IS INITIAL.
LOOP AT itab_with_item WHERE witht EQ itab_imposto-cod_impo.
* >> Início da inclusão: FUNCTION /PWS/ZYGL_IMPOSTO
if t059p-wt_postm ne '1' and itab_with_item-AUGBL is initial.
continue.
endif.
* << Fim da inclusão
CLEAR itab_bkpf.
READ TABLE itab_bkpf WITH KEY bukrs = p_bukrs
belnr = itab_with_item-belnr
gjahr = itab_with_item-gjahr
* >> Início da exclusão: FUNCTION /PWS/ZYGL_IMPOSTO
stgrd = ''.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYGL_IMPOSTO
stblg = ''.
* << Fim da inclusão
IF sy-subrc EQ 0.
v_qsshh = abs( itab_with_item-wt_qsshh ) + v_qsshh.
v_qbshh = abs( itab_with_item-wt_qbshh ) + v_qbshh.
ENDIF.
ENDLOOP.
v_total = itab_imposto-vl_base + v_qsshh.
IF t059p-wt_mainta EQ '1'.
READ TABLE itab_t059minmax
WITH KEY land1 = t001-land1
wt_withcd = ' '
...
...
SELECT *
FROM t059fb
INTO TABLE itab_t059fb
WHERE land1 EQ t001-land1 AND
witht EQ lfbw-witht AND
wt_withcd EQ lfbw-wt_withcd AND
wt_valid <= v_date.
IF sy-subrc = 0.
SORT itab_t059fb BY wt_bbasb.
LOOP AT itab_with_item WHERE witht EQ itab_imposto-cod_impo.
* >> Início da inclusão: FUNCTION /PWS/ZYGL_IMPOSTO
if t059p-wt_postm ne '1' and itab_with_item-AUGBL is initial.
continue.
endif.
* << Fim da inclusão
CLEAR itab_bkpf.
READ TABLE itab_bkpf WITH KEY bukrs = p_bukrs
belnr = itab_with_item-belnr
gjahr = itab_with_item-gjahr
* >> Início da exclusão: FUNCTION /PWS/ZYGL_IMPOSTO
stgrd = ''.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYGL_IMPOSTO
stblg = ''.
* << Fim da inclusão
IF sy-subrc EQ 0.
v_qsshh = abs( itab_with_item-wt_qsshh ) + v_qsshh.
v_qbshh = abs( itab_with_item-wt_qbshh ) + v_qbshh.
ENDIF.
ENDLOOP.
CLEAR itab_t059fb.
READ TABLE itab_t059fb INDEX 1.
v_total = itab_imposto-vl_base + v_qsshh.
IF v_total > itab_t059fb-wt_bbasb.
READ TABLE itab_t059fb INDEX 2.
...