Módulo: DRAWBACK
Funcionalidade: Ato Concessório
Data/Hora da Publicação: 30/08/2007 00:00:00
Data/Hora Última Alteração: 17/02/2011 15:11:13
Descrição da Nota: TRATAMENTO DOS INSUMOS ALTERNATIVOS NA TRANSFERENCIA DE SALDO
Sintoma
A transferencia de saldo do ato concessório não está aceitando a transferencia através de insumos
alternativos.
Solução
Corrigir o tratamento de insumos alternativos na transferencia para tratar a nova forma de cadastro.
7.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 04572 Data: 30/08/2007 Hora: 09:23:23
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 04572
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 7.0
Pacote : 00002
Agrupamento : 00010
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
02619 - 00001 - 6.0 - 00025 - AJUSTE INSUMO ALTERNATIVO, CENTROS DA COMPOSIÇÃO E DATAS DO ATO
----------------------------------------------------------------------------------------------------
TRATAMENTO DOS INSUMOS ALTERNATIVOS NA TRANSFERENCIA DE SALDO
----------------------------------------------------------------------------------------------------
Palavras Chave:
INSUMO - ALTERNATIVO - TRANSFERENCIA - SALDO - ATO - CONCESSÓRIO
/PWS/SAPMZYCI040
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI040F02
REPS /PWS/MZYCI040I01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI040F02
...
MESSAGE i015 WITH text-278 itab_zycit244_ap-nrseqd text-279.
p_status_tf = 'E'.
EXIT.
ENDIF.
IF itab_zycit244_ap-tipo EQ 'G'.
READ TABLE itab_zycit245 WITH KEY nrseqd = itab_zycit244_ap-nrseqd.
ELSE.
CLEAR: v_encer_a.
IF /pws/zycit321-c_comum IS INITIAL.
REFRESH itab_zycit433.
* >> Início da inclusão: FORM TRANSF_SALDO
SELECT SINGLE grupo FROM /pws/zycit433
INTO itab_zycit433-grupo
WHERE matnr EQ itab_zycit279_ap-matnr.
* << Fim da inclusão
SELECT * FROM /pws/zycit433 INTO TABLE itab_zycit433
* >> Início da exclusão: FORM TRANSF_SALDO
WHERE matnr_alt EQ itab_zycit279_ap-matnr.
* << Fim da exclusão
* >> Início da inclusão: FORM TRANSF_SALDO
WHERE grupo EQ itab_zycit433-grupo.
* << Fim da inclusão
itab_zycit433-matnr = itab_zycit279_ap-matnr.
* >> Início da exclusão: FORM TRANSF_SALDO
itab_zycit433-matnr_alt = itab_zycit279_ap-matnr.
* << Fim da exclusão
APPEND itab_zycit433.
LOOP AT itab_zycit433.
READ TABLE itab_zycit245_ap WITH KEY
nrseqd = itab_zycit279_ap-nrseqd_d
codcomp = itab_zycit433-matnr.
IF sy-subrc EQ 0.
v_encer_a = 'X'.
EXIT.
ENDIF.
ENDLOOP.
...
...
ebelp = itab_zycit279_ap-ebelp.
IF itab_zycit279_ap-nrseqd_d IS INITIAL AND
itab_zycit279_e-nrseqd_d IS INITIAL.
CONTINUE.
ENDIF.
READ TABLE itab_zycit245_ap_s WITH KEY
nrseqd = itab_zycit279_ap-nrseqd_d.
IF itab_zycit245_ap_s-tipo NE 'G'.
IF /pws/zycit321-c_comum IS INITIAL.
REFRESH itab_zycit433.
* >> Início da inclusão: FORM SALVA_APONT
SELECT SINGLE grupo FROM /pws/zycit433
INTO itab_zycit433-grupo
WHERE matnr EQ itab_zycit279_ap-matnr.
* << Fim da inclusão
SELECT * FROM /pws/zycit433 INTO TABLE itab_zycit433
* >> Início da exclusão: FORM SALVA_APONT
WHERE matnr_alt EQ itab_zycit279_ap-matnr.
* << Fim da exclusão
* >> Início da inclusão: FORM SALVA_APONT
WHERE grupo EQ itab_zycit433-grupo.
* << Fim da inclusão
itab_zycit433-matnr = itab_zycit279_ap-matnr.
* >> Início da exclusão: FORM SALVA_APONT
itab_zycit433-matnr_alt = itab_zycit279_ap-matnr.
* << Fim da exclusão
APPEND itab_zycit433.
LOOP AT itab_zycit433.
READ TABLE itab_zycit245_ap_s WITH KEY
nrseqd = itab_zycit279_ap-nrseqd_d
codcomp = itab_zycit433-matnr.
IF sy-subrc EQ 0.
EXIT.
ENDIF.
ENDLOOP.
ELSE.
...
...
nrseq = itab_zycit279_ap-nrseq
ebeln = itab_zycit279_ap-ebeln
lote = itab_zycit279_ap-lote
ebelp = itab_zycit279_ap-ebelp.
IF NOT itab_zycit279_e-nrseqd_d IS INITIAL.
READ TABLE itab_zycit245_e WITH KEY
nrseqd = itab_zycit279_e-nrseqd_d.
IF itab_zycit245_e-tipo NE 'G'.
IF /pws/zycit321-c_comum IS INITIAL.
REFRESH itab_zycit433.
* >> Início da inclusão: FORM SALVA_APONT
SELECT SINGLE grupo FROM /pws/zycit433
INTO itab_zycit433-grupo
WHERE matnr EQ itab_zycit279_e-matnr.
* << Fim da inclusão
SELECT * FROM /pws/zycit433 INTO TABLE itab_zycit433
* >> Início da exclusão: FORM SALVA_APONT
WHERE matnr_alt EQ itab_zycit279_e-matnr.
* << Fim da exclusão
* >> Início da inclusão: FORM SALVA_APONT
WHERE grupo EQ itab_zycit433-grupo.
* << Fim da inclusão
itab_zycit433-matnr = itab_zycit279_e-matnr.
* >> Início da exclusão: FORM SALVA_APONT
itab_zycit433-matnr_alt = itab_zycit279_e-matnr.
* << Fim da exclusão
APPEND itab_zycit433.
LOOP AT itab_zycit433.
READ TABLE itab_zycit245_e WITH KEY
nrseqd = itab_zycit279_e-nrseqd_d
codcomp = itab_zycit433-matnr.
IF sy-subrc EQ 0.
EXIT.
ENDIF.
ENDLOOP.
ELSE.
...
...
AND nritem = itab_zycit245_s-nritem.
IF sy-subrc NE 0 .
APPEND itab_zycit245_s.
ENDIF.
ENDIF.
READ TABLE itab_zycit245_ap_s WITH KEY
nrseqd = itab_zycit279_ap-nrseqd_d.
IF itab_zycit245_e-tipo NE 'G'.
IF /pws/zycit321-c_comum IS INITIAL.
REFRESH itab_zycit433.
* >> Início da inclusão: FORM SALVA_APONT
SELECT SINGLE grupo FROM /pws/zycit433
INTO itab_zycit433-grupo
WHERE matnr EQ itab_zycit279_ap-matnr.
* << Fim da inclusão
SELECT * FROM /pws/zycit433 INTO TABLE itab_zycit433
* >> Início da exclusão: FORM SALVA_APONT
WHERE matnr_alt EQ itab_zycit279_ap-matnr.
* << Fim da exclusão
* >> Início da inclusão: FORM SALVA_APONT
WHERE grupo EQ itab_zycit433-grupo.
* << Fim da inclusão
itab_zycit433-matnr = itab_zycit279_ap-matnr.
* >> Início da exclusão: FORM SALVA_APONT
itab_zycit433-matnr_alt = itab_zycit279_ap-matnr.
* << Fim da exclusão
APPEND itab_zycit433.
LOOP AT itab_zycit433.
READ TABLE itab_zycit245_ap_s WITH KEY
nrseqd = itab_zycit279_ap-nrseqd_d
codcomp = itab_zycit433-matnr.
IF sy-subrc EQ 0.
EXIT.
ENDIF.
ENDLOOP.
ELSE.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI040I01
...
ELSE.
MESSAGE s015 WITH text-288.
ENDIF.
ELSE.
REFRESH itab_zycit245_tf.
SELECT * FROM /pws/zycit245 INTO TABLE itab_zycit245_tf
WHERE nrseqd EQ /pws/zycie279-nrseqd_d.
CLEAR: itab_zycit245_tf, wa_zycit245_tf.
IF /pws/zycit321-c_comum IS INITIAL.
REFRESH itab_zycit433.
* >> Início da inclusão: MODULE MODIFICA_ATO_DEST
SELECT SINGLE grupo FROM /pws/zycit433
INTO itab_zycit433-grupo
WHERE matnr EQ itab_zycit279_ap_aux-matnr.
* << Fim da inclusão
SELECT * FROM /pws/zycit433 INTO TABLE itab_zycit433
* >> Início da exclusão: MODULE MODIFICA_ATO_DEST
WHERE matnr_alt EQ itab_zycit279_ap_aux-matnr.
* << Fim da exclusão
* >> Início da inclusão: MODULE MODIFICA_ATO_DEST
WHERE grupo EQ itab_zycit433-grupo.
* << Fim da inclusão
itab_zycit433-matnr = itab_zycit279_ap_aux-matnr.
* >> Início da exclusão: MODULE MODIFICA_ATO_DEST
itab_zycit433-matnr_alt = itab_zycit279_ap_aux-matnr.
* << Fim da exclusão
APPEND itab_zycit433.
LOOP AT itab_zycit433.
READ TABLE itab_zycit245_tf WITH KEY
codcomp = itab_zycit433-matnr.
IF sy-subrc EQ 0.
wa_zycit245_tf = itab_zycit245_tf.
EXIT.
ENDIF.
ENDLOOP.
ELSE.
...