Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Prestação de Contas
Data/Hora da Publicação: 06/06/2007 00:00:00
Data/Hora Última Alteração: 09/03/2010 09:45:15
Descrição da Nota: NECESSÁRIA UMA EXIT PARA RETENÇÃO DE IMPOSTOS NA PRESTAÇÃO DE CONTAS.
Sintoma
Abertura de Exit para retenção de impostos na prestação de contas.
Solução
criada a exit PRT011 antes da chamada da função de imposto.
7.0
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 03863 Data: 06/06/2007 Hora: 15:49:31
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 03863
Categoria : Erro de Programa
Prioridade : Alta
Versão PW.CE : 7.0
Pacote : 00002
Agrupamento : 00002
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Descrição Breve
----------------------------------------------------------------------------------------------------
NECESSÁRIA UMA EXIT PARA RETENÇÃO DE IMPOSTOS NA PRESTAÇÃO DE CONTAS.
----------------------------------------------------------------------------------------------------
Palavras Chave:
EXIT - RETENÇÃO DE IMPOSTOS - PRESTAÇÃO DE CONTAS -
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI007F02
REPS /PWS/MZYCI007TOP
REPS /PWS/MZYCI007X01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI007F02
...
AND witht EQ v_catis.
IF sy-subrc EQ 0.
MOVE 'X' TO lfbw-wt_subjct.
ENDIF.
ENDIF.
IF lfbw-wt_subjct EQ 'X' AND v_xqfor EQ ' '.
v_impostos ='S'.
ENDIF.
ENDFORM.
FORM existe_imposto.
* >> Início da exclusão: FORM EXISTE_IMPOSTO
DATA: itab_despesa LIKE /pws/zygle370 OCCURS 0 WITH HEADER LINE.
* << Fim da exclusão
REFRESH itab_despesa.
CLEAR itab_despesa.
LOOP AT it_zycit027_aux WHERE NOT vldp IS initial.
MOVE: it_zycit027_aux-tpdesp TO itab_despesa-cod_desp,
it_zycit027_aux-vldp TO itab_despesa-vl_desp.
APPEND itab_despesa.
ENDLOOP.
IF adrc-region IS INITIAL.
CLEAR: j_1bbranch, adrc.
SELECT SINGLE * FROM j_1bbranch
WHERE bukrs = /pws/zycie026-bukrs
AND branch = /pws/zycie026-j_1bbranch.
SELECT SINGLE * FROM adrc WHERE addrnumber = j_1bbranch-adrnr.
ENDIF.
CLEAR itab_imposto. REFRESH itab_imposto.
* >> Início da inclusão: FORM EXISTE_IMPOSTO
e_subrc = 0 .
PERFORM verifica_exit USING 'D'
'/PWS/SAPMZYCI007'
'PRT011'.
CLEAR itab_zyglt100 .
READ TABLE itab_zyglt100 WITH KEY zexit = 'PRT011'.
IF NOT itab_zyglt100-zexit_ativa IS INITIAL.
PERFORM (itab_zyglt100-formulario) IN PROGRAM
(itab_zyglt100-programa) IF FOUND.
ELSE.
* << Fim da inclusão
CALL FUNCTION '/PWS/ZYGL_IMPOSTO'
EXPORTING
p_regio = adrc-region
p_land1 = t001-land1
p_bukrs = /pws/zycie026-bukrs
p_lifnr = /pws/zycie026-despach
p_werks = /pws/zycie026-werks
p_cod_mod = 'D'
p_okcode = sy-ucomm
TABLES
itab_despesa = itab_despesa
itab_imposto = itab_imposto
itab_with_item_aux = itab_with_item
itab_bkpf_aux = itab_bkpf
EXCEPTIONS
centro_em_branco = 1
OTHERS = 2.
IF sy-subrc <> 0.
ENDIF.
* >> Início da inclusão: FORM EXISTE_IMPOSTO
ENDIF.
* << Fim da inclusão
ENDFORM.
FORM discforn.
SELECT SINGLE name1
INTO v_desc_forn
FROM lfa1
WHERE lifnr = /pws/zycie001-despach.
IF sy-tcode EQ '/PWS/ZYCI007_L' OR sy-tcode EQ '/PWS/ZYCI007_A'.
SELECT SINGLE name1
INTO v_desc_forn
FROM lfa1
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI007TOP
...
v_banco LIKE /pws/zyglt316-codaux1,
v_kostl LIKE /pws/zyglt316-ktosl,
v_werks LIKE /pws/zycit003-werks,
v_aux1 LIKE /pws/zyglt316-codaux1,
v_aux2 LIKE /pws/zycit019-codigo,
v_forn(15) TYPE c,
v_irar TYPE c,
v_check(1),
v_xqfor LIKE t059z-xqfor,
itab_t059fb LIKE t059fb OCCURS 0 WITH HEADER LINE,
* >> Início da exclusão:
itab_with_item LIKE with_item OCCURS 0 WITH HEADER LINE,
itab_bkpf LIKE bkpf OCCURS 0 WITH HEADER LINE,
* << Fim da exclusão
v_qsshh LIKE with_item-wt_qsshh,
v_qbshh LIKE with_item-wt_qbshh,
v_mes(2) TYPE c ,
v_data LIKE sy-datlo,
i TYPE i,
v_vldif2 LIKE /pws/zycie026-vldf,
v_vlpres LIKE /pws/zycie026-totdep,
v_total_dep LIKE /pws/zycie026-totdep .
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI007X01
...
DATA: BEGIN OF it_bsak OCCURS 0,
bukrs LIKE bsak-bukrs,
lifnr LIKE bsak-lifnr,
augbl LIKE bsak-augbl,
zuonr LIKE bsak-zuonr,
belnr LIKE bsak-belnr,
END OF it_bsak.
DATA: BEGIN OF it_bsik OCCURS 0.
INCLUDE STRUCTURE bsik.
DATA: END OF it_bsik.
* >> Início da inclusão:
DATA: itab_despesa LIKE /pws/zygle370 OCCURS 0 WITH HEADER LINE,
itab_with_item LIKE with_item OCCURS 0 WITH HEADER LINE,
itab_bkpf LIKE bkpf OCCURS 0 WITH HEADER LINE.
* << Fim da inclusão
DATA:
ok_code LIKE sy-ucomm,
v_sgtxt LIKE bseg-sgtxt,
v_xblnr LIKE bkpf-xblnr,
v_zuonr LIKE bseg-zuonr,
v_impostos ,
v_ctarazao,
v_modo_bi VALUE 'N',
e_subrc VALUE '0',
v_prt(4) ,
...