Módulo: DOC. IMPORTAÇÃO
Funcionalidade: DI
Data/Hora da Publicação: 04/08/2008 00:00:00
Data/Hora Última Alteração: 09/03/2010 14:01:57
Descrição da Nota: NECESSÁRIA EXIT PARA CÁLCULOS DA DI.
Sintoma
Necessária exit para cálculos da DI.
Solução
Criada a exit DI008 no perform fill_itabit e perform calc_init.
7.0
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 07074 Data: 04/08/2008 Hora: 14:41:40
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 07074
Categoria : Melhoria
Prioridade : Alta
Versão PW.CE : 7.0
Pacote : 00006
Agrupamento : 00059
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Descrição Breve
----------------------------------------------------------------------------------------------------
NECESSÁRIA EXIT PARA CÁLCULOS DA DI.
----------------------------------------------------------------------------------------------------
Palavras Chave:
DI - EXIT - CÁLCULOS - ESPECÍFICO.
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI023F01
REPS /PWS/MZYCI023F03
REPS /PWS/MZYCI023X01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI023F01
...
CLEAR itab_it.
ENDLOOP.
IF NOT itab_it[] IS INITIAL.
SELECT * FROM /pws/zycit003 INTO TABLE itab_zycit003
FOR ALL ENTRIES IN itab_it
WHERE nrseq = itab_it-nrseq AND
ebeln = itab_it-ebeln AND
ebelp = itab_it-ebelp.
ENDIF.
MOVE: itab_zycit003[] TO itab_zycit003a[].
* >> Início da inclusão: FORM LOADING_ALL
e_subrc = '0'.
v_perform = 'FI' .
PERFORM verifica_exit USING 'D'
'/PWS/SAPMZYCI023'
'DI008'.
CLEAR itab_zyglt100 .
READ TABLE itab_zyglt100 WITH KEY zexit = 'DI008' BINARY SEARCH.
IF sy-subrc EQ 0.
IF NOT itab_zyglt100-zexit_ativa IS INITIAL.
PERFORM (itab_zyglt100-formulario) IN PROGRAM
(itab_zyglt100-programa) IF FOUND.
ENDIF.
ENDIF.
IF e_subrc EQ '0'.
* << Fim da inclusão
PERFORM: fill_itabit.
* >> Início da inclusão: FORM LOADING_ALL
ELSEIF e_subrc = '8'.
EXIT.
ENDIF.
* << Fim da inclusão
ENDIF.
ENDIF.
...
...
v_tipop = 'I' .
* >> Início da inclusão: FORM CALC_ITAB
e_subrc = '0'.
v_perform = 'CI' .
PERFORM verifica_exit USING 'D'
'/PWS/SAPMZYCI023'
'DI008'.
CLEAR itab_zyglt100 .
READ TABLE itab_zyglt100 WITH KEY zexit = 'DI008' BINARY SEARCH.
IF sy-subrc EQ 0.
IF NOT itab_zyglt100-zexit_ativa IS INITIAL.
PERFORM (itab_zyglt100-formulario) IN PROGRAM
(itab_zyglt100-programa) IF FOUND.
ENDIF.
ENDIF.
IF e_subrc EQ '0'.
* << Fim da inclusão
PERFORM calc_init USING v_tipop.
* >> Início da inclusão: FORM CALC_ITAB
ELSEIF e_subrc = '8'.
EXIT.
ENDIF.
* << Fim da inclusão
v_bltofat = /pws/zycie093-prepaid +
/pws/zycie093-collect.
v_sgtofat = /pws/zycie085-vlseg.
IF NOT v_sgtofat IS INITIAL .
...
...
* >> Início da exclusão: FORM FILL_ITABIT
v_perform = 'FI' .
PERFORM verifica_exit USING 'D'
'/PWS/SAPMZYCI023'
'DI008'.
CLEAR itab_zyglt100 .
READ TABLE itab_zyglt100 WITH KEY zexit = 'DI008' BINARY SEARCH.
IF sy-subrc EQ 0.
IF NOT itab_zyglt100-zexit_ativa IS INITIAL.
PERFORM (itab_zyglt100-formulario) IN PROGRAM
(itab_zyglt100-programa) IF FOUND.
ENDIF.
ENDIF.
* << Fim da exclusão
ENDFORM.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI023F02
...
ELSE.
SELECT * FROM /pws/zycit094 INTO TABLE itab_zycit094
WHERE nrseqce = /pws/zycie085-nrbl.
ENDIF.
IF NOT itab_zycit094[] IS INITIAL.
SELECT * FROM /pws/zycit003 INTO TABLE itab_zycit003
FOR ALL ENTRIES IN itab_zycit094
WHERE nrseq = itab_zycit094-nrseq
AND servico NE 'X'.
ENDIF.
* >> Início da exclusão: FORM LOAD_BLITENS
PERFORM fill_itabit.
* << Fim da exclusão
* >> Início da inclusão: FORM LOAD_BLITENS
e_subrc = '0'.
v_perform = 'FI' .
PERFORM verifica_exit USING 'D'
'/PWS/SAPMZYCI023'
'DI008'.
CLEAR itab_zyglt100 .
READ TABLE itab_zyglt100 WITH KEY zexit = 'DI008' BINARY SEARCH.
IF sy-subrc EQ 0.
IF NOT itab_zyglt100-zexit_ativa IS INITIAL.
PERFORM (itab_zyglt100-formulario) IN PROGRAM
(itab_zyglt100-programa) IF FOUND.
ENDIF.
ENDIF.
IF e_subrc EQ '0'.
PERFORM: fill_itabit.
ELSEIF e_subrc = '8'.
EXIT.
ENDIF.
* << Fim da inclusão
LOOP AT itab_zycit003 WHERE NOT nrseqli IS initial.
SELECT SINGLE * FROM /pws/zycit078 INTO wa_zycit078 WHERE
nrseqli = itab_zycit003-nrseqli
AND ( TPLI = 'N' OR
TPLI = 'S' ).
IF sy-subrc EQ 0.
/pws/zycie085-urfdesp = wa_zycit078-urfdesp.
/pws/zycie085-urfent = wa_zycit078-urfent.
READ TABLE itab_it WITH KEY nrseq = itab_zycit003-nrseq
ebeln = itab_zycit003-ebeln
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI023X01
...
* >> Início da inclusão:
data: v_perform(3).
* << Fim da inclusão
DATA: END OF COMMON PART.