Módulo: DOC. IMPORTAÇÃO
Funcionalidade: DI
Data/Hora da Publicação: 03/09/2009 00:00:00
Data/Hora Última Alteração: 22/02/2011 14:11:11
Descrição da Nota: ADEQUAÇÕES NO PROGRAMA DA ANA
Sintoma
Correções de erro no programa da ANA
Solução
Corrigir erros em programa da ANA
7.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 08959 Data: 03/09/2009 Hora: 17:13:43
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 08959
Categoria : Erro de Programa
Prioridade : Alta
Versão PW.CE : 7.0
Pacote : 00010
Agrupamento : 00112
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
02970 - 00001 - 6.0 - 00026 - NÃO ESTÁ PREENCHENDO LOCAL DE NEGÓCIOS NA F-05 E F-51
----------------------------------------------------------------------------------------------------
ADEQUAÇÕES NO PROGRAMA DA ANA
----------------------------------------------------------------------------------------------------
Palavras Chave:
ANA - ERRO PROGRAMA
----------------------------------------------------------------------------------------------------
Objetos da nota:
DYNP /PWS/SAPMZYCI059 0100
FUNC /PWS/ZYCI_RECLASSIFICACAO_IA
FUNC /PWS/ZYCI_TRANSACAO_F_05
REPS /PWS/LZYCIGF2F01
REPS /PWS/MZYCI059F01
REPS /PWS/MZYCI059F03
REPS /PWS/MZYCI059X01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/SAPMZYCI059 0100
MODIFICAR BOTÃO "TAB_ADIC" em tbl.contr./tabstr.
Código função FC_SUF
*Na Table control acrescentar o código de função FC_SUF
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCI_RECLASSIFICACAO_IA
...
SELECT *
FROM /pws/zycit100
INTO TABLE t_zycit100
WHERE nrseq EQ i_zycit001-nrseq. "#EC CI_NOFIRST
ENDIF.
READ TABLE t_zycit100 INDEX 1.
SELECT SINGLE *
FROM /pws/zycit085
INTO /pws/zycie085
WHERE nrseqdi EQ t_zycit100-nrseqdi.
* >> Início da inclusão: FUNCTION /PWS/ZYCI_RECLASSIFICACAO_IA
IF ( sy-tcode EQ '/PWS/ZYCI059_A' OR
sy-tcode EQ '/PWS/ZYCI059_C' ) .
IF /pws/zycie085-nana IS INITIAL OR /pws/zycie085-dtreg IS INITIAL.
RAISE dados_di_inicial.
ENDIF.
ELSE.
* << Fim da inclusão
IF /pws/zycie085-nrdi IS INITIAL OR /pws/zycie085-dtreg IS INITIAL.
RAISE dados_di_inicial.
* >> Início da inclusão: FUNCTION /PWS/ZYCI_RECLASSIFICACAO_IA
ENDIF.
* << Fim da inclusão
ENDIF.
IF NOT t_zycit003[] IS INITIAL.
SELECT *
FROM /pws/zycit094
INTO TABLE itab_zycit094
...
...
IF /pws/zycit000-clucro_ia = 'X'.
PERFORM verifica_centro_l TABLES itab_matuse.
ENDIF.
IF NOT itab_di-prctr IS INITIAL
AND /pws/zycit000-clucro_ia = 'X'.
CLEAR: itab_di-kostl.
ENDIF.
MOVE: itab_matuse_aux-hkont TO itab_di-hkont,
t_zycit100-vlseg TO itab_di-vlseg,
t_zycit100-vlfre TO itab_di-vlfre.
* >> Início da inclusão: FUNCTION /PWS/ZYCI_RECLASSIFICACAO_IA
IF ( sy-tcode EQ '/PWS/ZYCI059_A' OR
sy-tcode EQ '/PWS/ZYCI059_C' ) .
PERFORM taxa_converte(/pws/sapmzyci059)
USING /pws/zycbt007-waersa
/pws/zycie085-dttax
CHANGING v_taxa.
itab_di-vlfob = ( t_zycit100-vlfob * v_taxa )
/ t_zycit100-dttaxbem.
ELSE.
* << Fim da inclusão
itab_di-vlfob = t_zycit100-dttaxbem * t_zycit100-vlfob.
* >> Início da inclusão: FUNCTION /PWS/ZYCI_RECLASSIFICACAO_IA
ENDIF.
* << Fim da inclusão
IF NOT /pws/zycit093-ternacion IS INITIAL.
READ TABLE t_zycit003 WITH KEY
nrseq = t_zycit100-nrseq
ebeln = t_zycit100-ebeln
ebelp = t_zycit100-ebelp .
IF NOT v_tntgew IS INITIAL.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCI_TRANSACAO_F_05
...
chave = v_chave.
IF sy-subrc <> 0 AND
NOT t_contas-d_sgtxt IS INITIAL.
PERFORM bdc_field USING 'BSEG-SGTXT' t_contas-d_sgtxt.
ENDIF.
PERFORM bdc_field USING:
'BDC_SUBSCR' 'SAPLKACB',
'BDC_OKCODE' '=ZK'.
READ TABLE itab_oculto WITH KEY campo = 'BSEG-BUPLA'
chave = v_chave.
* >> Início da exclusão: FUNCTION /PWS/ZYCI_TRANSACAO_F_05
IF sy-subrc <> 0.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCI_TRANSACAO_F_05
IF sy-subrc <> 0 AND NOT t_dados-brnch IS INITIAL.
* << Fim da inclusão
PERFORM bdc_field USING: 'BSEG-BUPLA' t_dados-brnch.
ENDIF.
PERFORM bdc_screen USING 'SAPLKACB' '0002'.
READ TABLE itab_oculto WITH KEY campo = 'COBL-GSBER'
chave = v_chave.
IF sy-subrc <> 0.
IF t_contas-bschl = 40
OR t_contas-bschl = 50.
PERFORM bdc_field USING 'COBL-GSBER' t_contas-d_gsber.
ELSE.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/LZYCIGF2F01
...
itab_zycbe033-d_zuonr = itab_zycbe033-c_zuonr = v_zuonr.
itab_zycbe033-d_sgtxt = itab_zycbe033-c_sgtxt = v_sgtxt.
itab_zycbe033-xblnr = v_xblnr.
itab_zycbe033-bktxt = v_bktxt.
READ TABLE p_zycit003 INDEX 1.
itab_zycbe033-d_gsber = p_zycit003-gsber.
itab_zycbe033-c_gsber = p_zycit003-gsber.
itab_zycbe033-bukrs = /pws/zycie085-bukrs.
itab_zycbe033-waers = p_zycbt007-waersb.
itab_zycbe033-blart = itab_zycbt011-blart.
* >> Início da exclusão: FORM FILL_DATE_F_51_VARIACAO
itab_zycbe033-brnch = /pws/zycie085-j_1bbranch.
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_DATE_F_51_VARIACAO
IF t001-land1 EQ 'BR'.
itab_zycbe033-brnch = /pws/zycie085-j_1bbranch.
ELSE.
CLEAR itab_zycbe033-brnch.
ENDIF.
* << Fim da inclusão
APPEND itab_zycbe033.
LOOP AT p_zycit006 WHERE belnr_p NE space.
READ TABLE itab_di INDEX 1.
IF p_zycit006-tpfatura EQ '02' AND itab_di-vlfre IS INITIAL.
CONTINUE.
ELSEIF p_zycit006-tpfatura EQ '03' AND itab_di-vlseg IS INITIAL.
CONTINUE.
ENDIF.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI059F01
...
ENDIF.
IF NOT /pws/zycie085-nana IS INITIAL OR
NOT /pws/zycie085-dtreg IS INITIAL.
PERFORM atualiza_status.
ENDIF.
DELETE itab_zycit085 WHERE nrseqdi = /pws/zycie085-nrseqdi.
APPEND /pws/zycie085 TO itab_zycit085.
SORT itab_zycit085 BY nrseqdi.
COMMIT WORK.
MESSAGE i017 WITH text-060.
* >> Início da inclusão: FORM SAVE_DATA
v_salvou = 'X' .
* << Fim da inclusão
CLEAR: v_changed,
itab_zycit086a,
itab_zycit087a,
itab_zycit095a,
itab_zycit096a,
itab_zycit100a,
itab_zycit003a,
itab_zycit115a,
itab_zycit200a.
REFRESH: itab_zycit086a,
...
...
itab_zycit095[] TO itab_zycit095a[],
itab_zycit096[] TO itab_zycit096a[],
itab_zycit100[] TO itab_zycit100a[],
itab_zycit003[] TO itab_zycit003a[],
itab_zycit115[] TO itab_zycit115a[],
itab_zycit200[] TO itab_zycit200a[],
itab_zycit049di2[] TO itab_zycit049di[],
itab_it[] TO itab_ita[],
/pws/zycie085 TO wa_zycit085.
PERFORM save_especificacao.
* >> Início da exclusão: FORM SAVE_DATA
PERFORM reclassificacao_ia.
* << Fim da exclusão
* >> Início da inclusão: FORM SAVE_DATA
PERFORM reclassificacao_ia_funcao.
* << Fim da inclusão
ENDFORM.
...
...
itab_zycit049di[] NE itab_zycit049di2[] OR
itab_zycit086[] NE itab_zycit086a[] OR
itab_zycit087[] NE itab_zycit087a[] OR
itab_zycit095[] NE itab_zycit095a[] OR
itab_zycit096[] NE itab_zycit096a[] OR
itab_zycit115[] NE itab_zycit115a[] OR
itab_zycit200[] NE itab_zycit200a[] OR
itab_zycit100[] NE itab_zycit100a[] OR
itab_zycit003[] NE itab_zycit003a[] OR
itab_zycit403[] NE itab_zycit403a[].
* >> Início da exclusão: FORM VERIFY_CHANGES
IF sy-tcode NE '/PWS/ZYCI059_E' AND v_salvou EQ ' '.
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFY_CHANGES
IF sy-tcode NE '/PWS/ZYCI059_E'.
* << Fim da inclusão
SELECT SINGLE * FROM /pws/zycit041 INTO /pws/zycit041 WHERE
nrseq EQ /pws/zycie085-nrseqdi AND
cancel EQ space.
IF sy-subrc EQ 0 AND /pws/zycit041-docnum NE '8888888888'.
MESSAGE i015 WITH text-028.
EXIT.
ELSEIF sy-subrc EQ 0 AND /pws/zycit041-docnum EQ '8888888888'
AND NOT /pws/zycit041-belnr_mr1m IS INITIAL.
MESSAGE i015 WITH text-236.
EXIT.
...
...
FORM fill_itabit.
* >> Início da inclusão: FORM FILL_ITABIT
CLEAR itab_itens_funcao.
REFRESH itab_itens_funcao.
* << Fim da inclusão
IF NOT itab_zycit003[] IS INITIAL.
SELECT * FROM /pws/zycit013 INTO TABLE itab_zycit013
FOR ALL ENTRIES IN itab_zycit003
WHERE ebeln = itab_zycit003-ebeln AND
ebelp = itab_zycit003-ebelp.
SELECT * FROM /pws/zycit263 INTO TABLE itab_zycit263
FOR ALL ENTRIES IN itab_zycit003 WHERE
nrseq = itab_zycit003-nrseq AND
ebeln = itab_zycit003-ebeln AND
ebelp = itab_zycit003-ebelp AND
...
...
v_tsegfat = v_tsegfat + itab_it-vlseg_fat.
IF itab_it-qtd_itencacl IS INITIAL.
v_tval = v_tval + ( itab_it-qtd_iten * itab_it-vlreal ).
v_tmle = v_tmle + ( ( itab_it-qtd_iten * itab_it-vlreal )
* itab_it-dttaxbem ).
ELSE.
v_tval = v_tval + ( itab_it-qtd_itencacl * itab_it-vlreal ).
v_tmle = v_tmle + ( ( itab_it-qtd_itencacl * itab_it-vlreal )
* itab_it-dttaxbem ).
ENDIF.
* >> Início da inclusão: FORM FILL_ITABIT
MOVE-CORRESPONDING itab_zycit003 TO itab_itens_funcao.
APPEND itab_itens_funcao.
* << Fim da inclusão
ENDLOOP.
v_tmle_d2 = v_tmle.
PERFORM data_sort.
IF /pws/zycie085-mdadicao = 'S'.
/pws/zycie085-waersfob = v_waers.
LOOP AT itab_it.
itab_it-dttaxbem = /pws/zycie085-ukursfob.
itab_it-waersbem = /pws/zycie085-waersfob.
MODIFY itab_it INDEX sy-tabix TRANSPORTING dttaxbem waersbem.
ENDLOOP.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI059F03
...
FORM comm_save.
PERFORM verify_changes.
IF v_changed EQ '1'.
PERFORM save_data.
* >> Início da exclusão: FORM COMM_SAVE
v_salvou = 'X'.
* << Fim da exclusão
ELSE.
MESSAGE s015 WITH text-027.
ENDIF.
ENDFORM.
...
...
* >> Início da exclusão: FORM RECLASSIFICACAO_IA
FORM reclassificacao_ia.
CLEAR: itab_matuse_aux, itab_matuse_aux2, itab_bsis, itab_bsis_aux,
itab_di.
REFRESH: itab_matuse_aux, itab_matuse_aux2, itab_bsis, itab_bsis_aux,
itab_di.
SELECT SINGLE * FROM /pws/zycit042 INTO /pws/zycit042
WHERE nrseq EQ /pws/zycie003-nrseq. "#EC CI_NOFIRST
IF sy-subrc EQ 0.
SELECT SINGLE * FROM /pws/zycit041 INTO /pws/zycit041
WHERE nrseq EQ /pws/zycit042-nrseqnf AND
( belnr_mr1m NE space OR
mblnr_mb01 NE space OR
belnr_f_51 NE space OR
belnr_f_02 NE space OR
belnrf02fre NE space ).
ENDIF.
IF sy-subrc EQ 0.
MESSAGE w015 WITH text-214 text-215.
EXIT.
ENDIF.
SELECT SINGLE * FROM t001 WHERE bukrs EQ /pws/zycie001-bukrs.
SELECT SINGLE * FROM /pws/zycit000 WHERE land1 EQ t001-land1.
CHECK NOT /pws/zycit000-flag_reclass IS INITIAL.
CHECK /pws/zycit000-provseg IS INITIAL.
CHECK /pws/zycit000-provfre IS INITIAL.
CHECK NOT /pws/zycie085-dtreg IS INITIAL AND
NOT /pws/zycie085-nana IS INITIAL.
IF NOT itab_zycit003[] IS INITIAL.
SELECT * FROM /pws/zycit094 INTO TABLE itab_zycit094
FOR ALL ENTRIES IN itab_zycit003
WHERE nrseq = itab_zycit003-nrseq. "#EC CI_NOFIRST
ENDIF.
READ TABLE itab_zycit094 INDEX 1.
SELECT * FROM /pws/zycit006 INTO TABLE itab_zycit006
WHERE nrseqce = itab_zycit094-nrseqce AND
eliminado = space. "#EC CI_NOFIELD
REFRESH itab_zycit132. CLEAR itab_zycit132.
LOOP AT itab_zycit006 WHERE belnr_p IS initial AND
tpfatura = '01'.
SELECT * FROM /pws/zycit132 APPENDING TABLE itab_zycit132
WHERE nrseq = itab_zycit006-nrseq AND
eliminado = space.
ENDLOOP.
LOOP AT itab_zycit132.
READ TABLE itab_zycit006 WITH KEY nrseq = itab_zycit132-nrseq.
IF sy-subrc = 0.
MOVE: itab_zycit132-belnr_p TO itab_zycit006-belnr_p.
APPEND itab_zycit006.
ENDIF.
ENDLOOP.
LOOP AT itab_zycit006 WHERE belnr_p IS initial.
DELETE itab_zycit006.
ENDLOOP.
CLEAR: itab_matuse.
REFRESH: itab_matuse.
IF NOT itab_zycit003[] IS INITIAL.
SELECT ebeln ebelp matnr bwtar j_1bmatuse knttp werks
FROM ekpo INTO TABLE itab_matuse
FOR ALL ENTRIES IN itab_zycit003
WHERE ebeln = itab_zycit003-ebeln
AND ebelp = itab_zycit003-ebelp.
ENDIF.
LOOP AT itab_matuse.
READ TABLE itab_zycit003 WITH KEY ebeln = itab_matuse-ebeln
ebelp = itab_matuse-ebelp.
IF t001-land1 EQ 'AR' OR t001-land1 EQ 'CL'.
IF itab_matuse-knttp EQ 'F' OR itab_matuse-knttp EQ 'K'.
v_matuse = 3.
ELSE.
v_matuse = 1.
ENDIF.
ENDIF.
IF v_matuse IS INITIAL.
v_matuse = itab_matuse-j_1bmatuse.
ENDIF.
CLEAR itab_cta. REFRESH itab_cta.
PERFORM seek_account_number
TABLES itab_cta
USING /pws/zycie085-bukrs
'IPA'
itab_zycit003-werks
space
v_matuse
space
space.
READ TABLE itab_cta INDEX 1.
READ TABLE itab_matuse_aux INTO wa_matuse_aux WITH KEY
hkont = itab_cta-konth.
IF sy-subrc NE 0.
MOVE: itab_matuse-j_1bmatuse TO itab_matuse_aux-j_1bmatuse,
itab_cta-konth TO itab_matuse_aux-hkont .
APPEND itab_matuse_aux.
CLEAR itab_matuse_aux.
ENDIF.
ENDLOOP.
SORT itab_zycit006 BY belnr_p.
LOOP AT itab_zycit006.
IF NOT itab_matuse_aux[] IS INITIAL.
SELECT hkont dmbtr wrbtr belnr FROM bsis INTO itab_bsis
FOR ALL ENTRIES IN itab_matuse_aux
WHERE bukrs EQ /pws/zycie085-bukrs AND
hkont EQ itab_matuse_aux-hkont AND
gjahr EQ itab_zycit006-dtlanc+0(4) AND
belnr EQ itab_zycit006-belnr_p.
MOVE itab_zycit006-tpfatura TO itab_bsis-tpfatura.
APPEND itab_bsis.
ENDSELECT.
ENDIF.
ENDLOOP.
IF NOT /pws/zycit000-provfre IS INITIAL.
DELETE itab_bsis WHERE tpfatura = '02'.
ENDIF.
IF NOT /pws/zycit000-provseg IS INITIAL.
DELETE itab_bsis WHERE tpfatura = '03'.
ENDIF.
LOOP AT itab_bsis.
MOVE: itab_bsis-hkont TO itab_bsis_aux-hkont ,
itab_bsis-wrbtr TO itab_bsis_aux-wrbtr ,
itab_bsis-dmbtr TO itab_bsis_aux-dmbtr ,
itab_bsis-tpfatura TO itab_bsis_aux-tpfatura.
COLLECT itab_bsis_aux.
ENDLOOP.
MOVE itab_matuse_aux[] TO itab_matuse_aux2[].
CLEAR itab_matuse.
REFRESH itab_matuse.
IF NOT itab_zycit100[] IS INITIAL.
SELECT ebeln ebelp matnr bwtar j_1bmatuse knttp werks
FROM ekpo INTO TABLE itab_matuse
FOR ALL ENTRIES IN itab_zycit100
WHERE ebeln = itab_zycit100-ebeln
AND ebelp = itab_zycit100-ebelp.
ENDIF.
LOOP AT itab_matuse.
READ TABLE itab_zycit003 WITH KEY ebeln = itab_matuse-ebeln
ebelp = itab_matuse-ebelp.
READ TABLE itab_zycit094 WITH KEY nrseq = itab_zycit003-nrseq.
READ TABLE itab_zycit006 WITH KEY nrseqce = itab_zycit094-nrseqce.
READ TABLE itab_matuse_aux INTO wa_matuse_aux WITH KEY
j_1bmatuse = itab_matuse-j_1bmatuse.
IF sy-subrc NE 0.
MOVE: itab_matuse-j_1bmatuse TO itab_matuse_aux-j_1bmatuse.
CLEAR itab_cta. REFRESH itab_cta.
PERFORM seek_account_number
TABLES itab_cta
USING /pws/zycie001-bukrs
'VCI'
itab_zycit003-werks
space
wa_matuse_aux-hkont
itab_zycit006-tpfatura
space.
READ TABLE itab_cta INDEX 1.
IF itab_cta-konts IS INITIAL.
CLEAR itab_cta. REFRESH itab_cta.
PERFORM seek_account_number
TABLES itab_cta
USING /pws/zycie001-bukrs
'VCI'
itab_zycit003-werks
space
wa_matuse_aux-hkont
space
space.
ENDIF.
APPEND itab_matuse_aux.
CLEAR itab_matuse_aux.
ENDIF.
ENDLOOP.
LOOP AT itab_zycit100.
CLEAR: itab_matuse, itab_matuse_aux.
READ TABLE itab_matuse WITH KEY ebeln = itab_zycit100-ebeln
ebelp = itab_zycit100-ebelp.
READ TABLE itab_matuse_aux WITH KEY
j_1bmatuse = itab_matuse-j_1bmatuse.
MOVE: itab_matuse_aux-hkont TO itab_di-hkont,
itab_zycit100-vlseg TO itab_di-vlseg,
itab_zycit100-vlfre TO itab_di-vlfre.
itab_di-vlfob = /pws/zycie085-ukursfob * itab_zycit100-vlfob .
itab_di-vlfre = v_usd * itab_di-vlfre.
itab_di-vlseg = v_usd * itab_di-vlseg.
itab_di-vldi = itab_di-vlfob + itab_di-vlseg + itab_di-vlfre.
COLLECT itab_di.
CLEAR itab_di.
ENDLOOP.
CLEAR: v_rec_ia, v_rec_ia_1.
LOOP AT itab_matuse_aux2.
READ TABLE itab_bsis_aux WITH KEY hkont = itab_matuse_aux2-hkont.
IF sy-subrc NE 0.
CONTINUE.
ENDIF.
IF itab_matuse_aux2-j_1bmatuse = 0.
IF /pws/zycie085-belnr_0 IS INITIAL OR
/pws/zycie085-flag_reclass IS INITIAL.
IF /pws/zycie085-belnr_0_f05 IS INITIAL.
v_rec_ia = v_rec_ia + 1.
PERFORM fill_date_f_05_variacao.
IF NOT v_belnrf05 IS INITIAL.
PERFORM fill_date_f_51_variacao.
ELSE.
MESSAGE i015 WITH text-218.
ENDIF.
ENDIF.
ENDIF.
ELSEIF itab_matuse_aux2-j_1bmatuse = 1.
IF /pws/zycie085-belnr_1 IS INITIAL OR
/pws/zycie085-flag_reclass IS INITIAL.
IF /pws/zycie085-belnr_1_f05 IS INITIAL.
v_rec_ia = v_rec_ia + 1.
PERFORM fill_date_f_05_variacao.
IF NOT v_belnrf05 IS INITIAL.
v_belnr = v_belnrf05.
PERFORM fill_date_f_51_variacao.
ELSE.
MESSAGE i015 WITH text-218.
ENDIF.
ENDIF.
ENDIF.
ELSEIF itab_matuse_aux2-j_1bmatuse = 2.
IF /pws/zycie085-belnr_2 IS INITIAL OR
/pws/zycie085-flag_reclass IS INITIAL.
IF /pws/zycie085-belnr_2_f05 IS INITIAL.
v_rec_ia = v_rec_ia + 1.
PERFORM fill_date_f_05_variacao.
IF NOT v_belnrf05 IS INITIAL.
v_belnr = v_belnrf05.
PERFORM fill_date_f_51_variacao.
ELSE.
MESSAGE i015 WITH text-218.
ENDIF.
ENDIF.
ENDIF.
ELSEIF itab_matuse_aux2-j_1bmatuse = 3.
IF /pws/zycie085-belnr_3 IS INITIAL OR
/pws/zycie085-flag_reclass IS INITIAL.
IF /pws/zycie085-belnr_3_f05 IS INITIAL.
v_rec_ia = v_rec_ia + 1.
PERFORM fill_date_f_05_variacao.
IF NOT v_belnrf05 IS INITIAL.
v_belnr = v_belnrf05.
PERFORM fill_date_f_51_variacao.
ELSE.
MESSAGE i015 WITH text-218.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDLOOP.
IF NOT v_rec_ia IS INITIAL AND v_rec_ia = v_rec_ia_1.
UPDATE /pws/zycit085 SET flag_reclass = 'X'
WHERE nrseqdi = /pws/zycie085-nrseqdi.
ENDIF.
ENDFORM.
* << Fim da exclusão
...
...
FORM visualiza_rateio.
DATA: v_programa LIKE /pws/zycit036-origem VALUE 'DI'.
* >> Início da inclusão: FORM VISUALIZA_RATEIO
IF sy-ucomm EQ 'VISUA'.
v_visualiza = 'X'.
ENDIF.
* << Fim da inclusão
FREE: itab_desp_funcao, itab_zycit036.
CLEAR: itab_desp_funcao, itab_zycit036.
LOOP AT itab_zycit049.
MOVE: itab_zycit049-tpdesp TO itab_desp_funcao-tpdesp,
itab_zycit049-vlreal TO itab_desp_funcao-netpr,
/pws/zycbt007-waersb TO itab_desp_funcao-waers.
* >> Início da exclusão: FORM VISUALIZA_RATEIO
READ TABLE itab_zycit100 WITH KEY nrseqdi = itab_zycit049-nrseq.
MOVE: itab_zycit100-nrseq TO itab_desp_funcao-nrseq,
itab_zycit100-ebeln TO itab_desp_funcao-ebeln,
itab_zycit100-ebelp TO itab_desp_funcao-ebelp.
* << Fim da exclusão
* >> Início da inclusão: FORM VISUALIZA_RATEIO
READ TABLE itab_it WITH KEY nrseqdi = itab_zycit049-nrseq.
MOVE: itab_it-nrseq TO itab_desp_funcao-nrseq,
itab_it-ebeln TO itab_desp_funcao-ebeln,
itab_it-ebelp TO itab_desp_funcao-ebelp.
* << Fim da inclusão
APPEND itab_desp_funcao.
* >> Início da inclusão: FORM VISUALIZA_RATEIO
ENDLOOP.
IF itab_zycit100[] IS INITIAL.
LOOP AT itab_it.
MOVE-CORRESPONDING itab_it TO itab_zycit100.
APPEND itab_zycit100.
ENDLOOP.
ELSE.
LOOP AT itab_it.
READ TABLE itab_zycit100 WITH KEY nrseq = itab_it-nrseq
ebeln = itab_it-ebeln
ebelp = itab_it-ebelp.
IF sy-subrc = 0 .
MOVE-CORRESPONDING itab_it TO itab_zycit100.
MODIFY itab_zycit100 INDEX sy-tabix.
ENDIF.
* << Fim da inclusão
ENDLOOP.
* >> Início da inclusão: FORM VISUALIZA_RATEIO
ENDIF.
* << Fim da inclusão
CALL FUNCTION '/PWS/ZYCI_RATEIO_CUSTO'
EXPORTING
v_programa = v_programa
v_visualiza = v_visualiza
v_bukrs = /pws/zycie085-bukrs
* >> Início da inclusão: FORM VISUALIZA_RATEIO
/pws/zycie085 = /pws/zycie085
* << Fim da inclusão
IMPORTING
v_resposta = v_resp
TABLES
itab_zycit036 = itab_zycit036
itab_despesa = itab_desp_funcao
itab_zycit003 = itab_zycit003
itab_zycit100 = itab_zycit100
CHANGING
v_taxa_usd = v_usd.
IF v_resp EQ 'S'.
...
...
* >> Início da inclusão: FORM VISUALIZA_RATEIO
CLEAR v_visualiza.
* << Fim da inclusão
ENDFORM.
...
...
* >> Início da inclusão:
FORM reclassificacao_ia_funcao.
DATA: BEGIN OF itab_variacao OCCURS 0.
INCLUDE STRUCTURE /pws/zycit085.
DATA: END OF itab_variacao.
CHECK NOT /pws/zycie085-dtreg IS INITIAL AND
NOT /pws/zycie085-nana IS INITIAL.
LOOP AT itab_zycit006.
IF itab_zycit006-frpagto EQ 'P' OR
itab_zycit006-frpagto EQ 'A' .
DELETE itab_zycit006.
ENDIF.
ENDLOOP.
LOOP AT itab_zycit006.
ENDLOOP.
IF sy-subrc NE 0 .
EXIT.
ENDIF.
IF v_modo_bi IS INITIAL .
v_modo_bi = 'N'.
ENDIF.
CLEAR: v_dele.
IF /pws/zycie085-belnr_0 IS INITIAL AND
NOT /pws/zycie085-belnr_0_f05 IS INITIAL.
v_text = text-208.
PERFORM executa_fb08 USING /pws/zycie085-belnr_0_f05
/pws/zycie085-budat_0.
IF v_dele IS INITIAL.
CLEAR: /pws/zycie085-belnr_0_f05.
ENDIF.
ENDIF.
IF /pws/zycie085-belnr_1 IS INITIAL AND
NOT /pws/zycie085-belnr_1_f05 IS INITIAL.
v_text = text-208.
PERFORM executa_fb08 USING /pws/zycie085-belnr_1_f05
/pws/zycie085-budat_1.
IF v_dele IS INITIAL.
CLEAR: /pws/zycie085-belnr_1_f05.
ENDIF.
ENDIF.
IF /pws/zycie085-belnr_2 IS INITIAL AND
NOT /pws/zycie085-belnr_2_f05 IS INITIAL.
v_text = text-208.
PERFORM executa_fb08 USING /pws/zycie085-belnr_2_f05
/pws/zycie085-budat_2.
IF v_dele IS INITIAL.
CLEAR: /pws/zycie085-belnr_2_f05.
ENDIF.
ENDIF.
IF /pws/zycie085-belnr_3 IS INITIAL AND
NOT /pws/zycie085-belnr_3_f05 IS INITIAL.
v_text = text-208.
PERFORM executa_fb08 USING /pws/zycie085-belnr_3_f05
/pws/zycie085-budat_3.
IF v_dele IS INITIAL.
CLEAR: /pws/zycie085-belnr_3_f05.
ENDIF.
ENDIF.
UPDATE /pws/zycit085 SET belnr_0_f05 = /pws/zycie085-belnr_0_f05
belnr_1_f05 = /pws/zycie085-belnr_1_f05
belnr_2_f05 = /pws/zycie085-belnr_2_f05
belnr_3_f05 = /pws/zycie085-belnr_3_f05
WHERE nrseqdi = /pws/zycie085-nrseqdi.
PERFORM clear_date_batch.
CALL FUNCTION '/PWS/ZYCI_RECLASSIFICACAO_IA'
EXPORTING
i_zycit001 = itab_zycit001
v_modo = v_modo_bi
i_programa = 'DI'
TABLES
t_zycit100 = itab_zycit100[]
t_zycit003 = itab_itens_funcao[]
t_zycbt032 = itab_zycbt032[]
itab_variacao = itab_variacao[]
EXCEPTIONS
table_initial = 1
existe_recebimento = 2
flag_reclassificacao = 3
dados_di_inicial = 4
OTHERS = 5.
IF sy-subrc <> 0.
CLEAR itab_variacao.
ENDIF.
READ TABLE itab_variacao INDEX 1.
IF sy-subrc EQ 0.
IF NOT itab_variacao-belnr_0_f05 IS INITIAL OR
NOT itab_variacao-belnr_1_f05 IS INITIAL OR
NOT itab_variacao-belnr_2_f05 IS INITIAL OR
NOT itab_variacao-belnr_3_f05 IS INITIAL OR
NOT itab_variacao-belnr_0 IS INITIAL OR
NOT itab_variacao-belnr_1 IS INITIAL OR
NOT itab_variacao-belnr_2 IS INITIAL OR
NOT itab_variacao-belnr_3 IS INITIAL.
MOVE :
itab_variacao-belnr_0 TO /pws/zycie085-belnr_0 ,
itab_variacao-belnr_1 TO /pws/zycie085-belnr_1,
itab_variacao-belnr_2 TO /pws/zycie085-belnr_2,
itab_variacao-belnr_3 TO /pws/zycie085-belnr_3,
itab_variacao-budat_0 TO /pws/zycie085-budat_0,
itab_variacao-budat_1 TO /pws/zycie085-budat_1,
itab_variacao-budat_2 TO /pws/zycie085-budat_2,
itab_variacao-budat_3 TO /pws/zycie085-budat_3,
itab_variacao-belnr_0_f05 TO /pws/zycie085-belnr_0_f05,
itab_variacao-belnr_1_f05 TO /pws/zycie085-belnr_1_f05,
itab_variacao-belnr_2_f05 TO /pws/zycie085-belnr_2_f05,
itab_variacao-belnr_3_f05 TO /pws/zycie085-belnr_3_f05.
ELSE.
CLEAR itab_zycbt032.
READ TABLE itab_zycbt032 WITH KEY
tcode = 'F-51'
tpmsg = 'E'.
IF sy-subrc IS INITIAL.
MESSAGE i015(/pws/zycim) WITH
itab_zycbt032-tcode
itab_zycbt032-msg(50)
itab_zycbt032-msg+50(50).
ELSE.
CLEAR itab_zycbt032.
READ TABLE itab_zycbt032 WITH KEY
tcode = 'F-05'
tpmsg = 'E'.
IF sy-subrc IS INITIAL.
MESSAGE i015(/pws/zycim) WITH
itab_zycbt032-tcode
itab_zycbt032-msg(50)
itab_zycbt032-msg+50(50).
ENDIF.
ENDIF.
ENDIF.
ELSE.
CLEAR itab_zycbt032.
READ TABLE itab_zycbt032 WITH KEY
tcode = 'F-51'
tpmsg = 'E'.
IF sy-subrc IS INITIAL.
MESSAGE i015(/pws/zycim) WITH
itab_zycbt032-tcode
itab_zycbt032-msg(50)
itab_zycbt032-msg+50(50).
ELSE.
CLEAR itab_zycbt032.
READ TABLE itab_zycbt032 WITH KEY
tcode = 'F-05'
tpmsg = 'E'.
IF sy-subrc IS INITIAL.
MESSAGE i015(/pws/zycim) WITH
itab_zycbt032-tcode
itab_zycbt032-msg(50)
itab_zycbt032-msg+50(50).
ENDIF.
ENDIF.
ENDIF.
ENDFORM.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI059X01
...
DATA: BEGIN OF COMMON PART a.
* >> Início da inclusão:
DATA: BEGIN OF itab_itens_funcao OCCURS 0.
INCLUDE STRUCTURE /pws/zycie003.
DATA: END OF itab_itens_funcao.
* << Fim da inclusão
...