Módulo: DOC. IMPORTAÇÃO
Funcionalidade: DI
Data/Hora da Publicação: 14/02/2014 14:27:18
Data/Hora Última Alteração: 14/02/2014 14:27:18
Descrição da Nota: NÃO LEVA OS DADOS CORRETOS DE PAGAMENTO ANTECIPADO NA DI
Sintoma
Não leva os dados corretos de pagamento antecipado na DI
Solução
Tratar todas as pastas no caso de pagamento antecipado.
9.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 13705 Data: 13/02/2014 Hora: 11:07:37
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 13705
Categoria : Erro de Programa
Prioridade : Alta
Versão PW.CE : 9.0
Pacote : 00007
Agrupamento : 00170
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
13399 - 00001 - 9.0 - 00006 - PREENCHIMENTO DOS VALORES PASTA CÂMBIO ADIÇÃO DA DI
13700 - 00002 - 9.0 - 00007 - ERRO VÁRIOS PAGAMENTO ANTECIPADO PASTA CAMBIO DI
----------------------------------------------------------------------------------------------------
NÃO LEVA OS DADOS CORRETOS DE PAGAMENTO ANTECIPADO NA DI
----------------------------------------------------------------------------------------------------
Palavras Chave:
DI - PAGAMENTO ANTECIPADO - PAGAMENTO A VISTA - PASTA CAMBIO
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI023F05
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI023F05
...
AND v_adicao IS INITIAL.
LOOP AT itab_zycit263 WHERE ebeln = p_ebeln
AND ebelp = p_ebelp .
LOOP AT itab_zycit006
WHERE nrseq_pgfat = itab_zycit263-nrseq_pgfat
AND belnr_p <> space.
CLEAR v_tipo.
SELECT SINGLE frpagto FROM /pws/zycit128
INTO v_tipo
WHERE codigo = itab_zycit006-gpcambio.
* >> Início da exclusão: FORM LOAD_CAMBIO
SELECT * FROM /pws/zycbt117
INTO TABLE lt_zycbt117
WHERE ebeln = p_ebeln
AND status NE 'E'. "#EC CI_NOFIELD
IF sy-subrc NE 0.
* << Fim da exclusão
SELECT SINGLE * FROM /pws/zycbt119
WHERE nrseq = itab_zycit006-nrseq_pgfat.
IF sy-subrc EQ 0.
SELECT SINGLE * FROM /pws/zycbt031
WHERE bukrs = /pws/zycbt119-bukrs
AND mdcorresp = 'IP'
AND nrcorresp = /pws/zycbt119-nrseq
AND tabela = '/PWS/ZYCBT119'.
SELECT SINGLE * FROM /pws/zycbt048
WHERE bukrs = /pws/zycbt119-bukrs
AND mdcorresp = 'IP'
AND nrcorresp = /pws/zycbt119-nrseq.
SELECT SINGLE * FROM /pws/zycbt115
WHERE nrcorrep = /pws/zycbt119-nrseq
AND tpdoc = 'P'.
ENDIF.
* >> Início da exclusão: FORM LOAD_CAMBIO
ENDIF.
IF v_tipo = 02.
LOOP AT lt_zycbt117 INTO /pws/zycbt117.
IF /pws/zycbt117-waers NE wa_zycbt007-waersb.
itab_zycit121-moedanac = 'N'.
ELSE.
itab_zycit121-moedanac = 'S'.
ENDIF.
itab_zycit121-mandt = sy-mandt.
itab_zycit121-nrseqdi = /pws/zycie085-nrseqdi.
itab_zycit121-adicao = wa_it-adicao.
itab_zycit121-banco = /pws/zycbt031-bcooper+5(5).
itab_zycit121-praca = /pws/zycbt048-praca+1(4).
itab_zycit121-contrato = /pws/zycbt048-nrcontr .
itab_zycit121-valor =
itab_zycit263-qtd_iten * itab_zycit263-vlreal.
itab_zycit121-waers = /pws/zycbt117-waers.
itab_zycit121-tipo = 'V'.
COLLECT itab_zycit121.
ENDLOOP.
ENDIF.
IF v_tipo = 01.
LOOP AT lt_zycbt117 INTO /pws/zycbt117.
SELECT *
FROM /pws/zycbt064
UP TO 1 ROWS
WHERE nrchave = /pws/zycbt117-nrseq
AND mdcorresp = 'IA'.
ENDSELECT.
IF sy-subrc EQ 0.
SELECT *
FROM /pws/zycbt048
UP TO 1 ROWS
WHERE nrseq = /pws/zycbt064-nrboleto
AND mdcorresp = 'IA'
AND nrcorresp = /pws/zycbt117-nrseq.
ENDSELECT.
SELECT *
FROM /pws/zycbt031
UP TO 1 ROWS
WHERE nrcorresp = /pws/zycbt117-nrseq
AND mdcorresp = 'IA'.
ENDSELECT.
SELECT * FROM /pws/zycbt115
UP TO 1 ROWS
WHERE nrcorrep = /pws/zycbt117-nrfinanc.
ENDSELECT.
ENDIF.
IF /pws/zycbt117-waers NE wa_zycbt007-waersb.
itab_zycit121-moedanac = 'N'.
ELSE.
itab_zycit121-moedanac = 'S'.
ENDIF.
itab_zycit121-mandt = sy-mandt.
itab_zycit121-nrseqdi = /pws/zycie085-nrseqdi.
itab_zycit121-adicao = wa_it-adicao.
itab_zycit121-banco = /pws/zycbt031-bcooper+5(5).
itab_zycit121-praca = /pws/zycbt048-praca+1(4).
itab_zycit121-contrato = /pws/zycbt048-nrcontr .
IF NOT /pws/zycbt031-vlme IS INITIAL.
itab_zycit121-valor = /pws/zycbt031-vlme.
* << Fim da exclusão
* >> Início da inclusão: FORM LOAD_CAMBIO
SELECT SINGLE * FROM /pws/zycbt117
WHERE ebeln = p_ebeln
AND status NE 'E'. "#EC CI_NOFIELD
SELECT * FROM /pws/zycbt117
INTO TABLE lt_zycbt117
WHERE ebeln = p_ebeln
AND status NE 'E'. "#EC CI_NOFIELD
IF sy-subrc NE 0.
PERFORM sem_pag_antec.
* << Fim da inclusão
ELSE.
* >> Início da exclusão: FORM LOAD_CAMBIO
itab_zycit121-valor = a_vlrtot.
* << Fim da exclusão
* >> Início da inclusão: FORM LOAD_CAMBIO
PERFORM com_pag_antec TABLES lt_zycbt117 .
* << Fim da inclusão
ENDIF.
* >> Início da exclusão: FORM LOAD_CAMBIO
itab_zycit121-waers = /pws/zycbt117-waers.
itab_zycit121-tipo = 'A'.
COLLECT itab_zycit121.
* << Fim da exclusão
ENDLOOP.
* >> Início da exclusão: FORM LOAD_CAMBIO
ENDIF.
ENDLOOP.
* << Fim da exclusão
ENDLOOP.
ENDIF.
ENDFORM.
...
...
* >> Início da inclusão:
FORM sem_pag_antec.
IF v_tipo = '2'.
IF /pws/zycbt117-waers NE wa_zycbt007-waersb.
itab_zycit121-moedanac = 'N'.
ELSE.
itab_zycit121-moedanac = 'S'.
ENDIF.
itab_zycit121-mandt = sy-mandt.
itab_zycit121-nrseqdi = /pws/zycie085-nrseqdi.
itab_zycit121-adicao = wa_it-adicao.
itab_zycit121-banco = /pws/zycbt031-bcooper+5(5).
itab_zycit121-praca = /pws/zycbt048-praca+1(4).
itab_zycit121-contrato = /pws/zycbt048-nrcontr .
itab_zycit121-valor =
itab_zycit263-qtd_iten * itab_zycit263-vlreal.
itab_zycit121-waers = /pws/zycbt117-waers.
itab_zycit121-tipo = 'V'.
COLLECT itab_zycit121.
ENDIF.
IF v_tipo = '1'.
SELECT *
FROM /pws/zycbt064
UP TO 1 ROWS
WHERE nrchave = /pws/zycbt117-nrseq
AND mdcorresp = 'IA'.
ENDSELECT.
IF sy-subrc EQ 0.
SELECT *
FROM /pws/zycbt048
UP TO 1 ROWS
WHERE nrseq = /pws/zycbt064-nrboleto
AND mdcorresp = 'IA'
AND nrcorresp = /pws/zycbt117-nrseq.
ENDSELECT.
SELECT *
FROM /pws/zycbt031
UP TO 1 ROWS
WHERE nrcorresp = /pws/zycbt117-nrseq
AND mdcorresp = 'IA'.
ENDSELECT.
SELECT * FROM /pws/zycbt115
UP TO 1 ROWS
WHERE nrcorrep = /pws/zycbt117-nrfinanc.
ENDSELECT.
ENDIF.
IF /pws/zycbt117-waers NE wa_zycbt007-waersb.
itab_zycit121-moedanac = 'N'.
ELSE.
itab_zycit121-moedanac = 'S'.
ENDIF.
itab_zycit121-mandt = sy-mandt.
itab_zycit121-nrseqdi = /pws/zycie085-nrseqdi.
itab_zycit121-adicao = wa_it-adicao.
itab_zycit121-banco = /pws/zycbt031-bcooper+5(5).
itab_zycit121-praca = /pws/zycbt048-praca+1(4).
itab_zycit121-contrato = /pws/zycbt048-nrcontr .
IF NOT /pws/zycbt031-vlme IS INITIAL.
itab_zycit121-valor = /pws/zycbt031-vlme.
ELSE.
itab_zycit121-valor = a_vlrtot.
ENDIF.
itab_zycit121-waers = /pws/zycbt117-waers.
itab_zycit121-tipo = 'A'.
COLLECT itab_zycit121.
ENDIF.
ENDFORM.
FORM com_pag_antec TABLES lt_zycbt117.
IF v_tipo = '2'.
LOOP AT lt_zycbt117 INTO /pws/zycbt117.
IF /pws/zycbt117-waers NE wa_zycbt007-waersb.
itab_zycit121-moedanac = 'N'.
ELSE.
itab_zycit121-moedanac = 'S'.
ENDIF.
itab_zycit121-mandt = sy-mandt.
itab_zycit121-nrseqdi = /pws/zycie085-nrseqdi.
itab_zycit121-adicao = wa_it-adicao.
itab_zycit121-banco = /pws/zycbt031-bcooper+5(5).
itab_zycit121-praca = /pws/zycbt048-praca+1(4).
itab_zycit121-contrato = /pws/zycbt048-nrcontr .
itab_zycit121-valor =
itab_zycit263-qtd_iten * itab_zycit263-vlreal.
itab_zycit121-waers = /pws/zycbt117-waers.
itab_zycit121-tipo = 'V'.
COLLECT itab_zycit121.
ENDLOOP.
ENDIF.
IF v_tipo = '1'.
LOOP AT lt_zycbt117 INTO /pws/zycbt117.
SELECT *
FROM /pws/zycbt064
UP TO 1 ROWS
WHERE nrchave = /pws/zycbt117-nrseq
AND mdcorresp = 'IA'.
ENDSELECT.
IF sy-subrc EQ 0.
SELECT *
FROM /pws/zycbt048
UP TO 1 ROWS
WHERE nrseq = /pws/zycbt064-nrboleto
AND mdcorresp = 'IA'
AND nrcorresp = /pws/zycbt117-nrseq.
ENDSELECT.
SELECT *
FROM /pws/zycbt031
UP TO 1 ROWS
WHERE nrcorresp = /pws/zycbt117-nrseq
AND mdcorresp = 'IA'.
ENDSELECT.
SELECT * FROM /pws/zycbt115
UP TO 1 ROWS
WHERE nrcorrep = /pws/zycbt117-nrfinanc.
ENDSELECT.
ENDIF.
IF /pws/zycbt117-waers NE wa_zycbt007-waersb.
itab_zycit121-moedanac = 'N'.
ELSE.
itab_zycit121-moedanac = 'S'.
ENDIF.
itab_zycit121-mandt = sy-mandt.
itab_zycit121-nrseqdi = /pws/zycie085-nrseqdi.
itab_zycit121-adicao = wa_it-adicao.
itab_zycit121-banco = /pws/zycbt031-bcooper+5(5).
itab_zycit121-praca = /pws/zycbt048-praca+1(4).
itab_zycit121-contrato = /pws/zycbt048-nrcontr .
IF NOT /pws/zycbt031-vlme IS INITIAL.
itab_zycit121-valor = /pws/zycbt031-vlme.
ELSE.
itab_zycit121-valor = a_vlrtot.
ENDIF.
itab_zycit121-waers = /pws/zycbt117-waers.
itab_zycit121-tipo = 'A'.
COLLECT itab_zycit121.
ENDLOOP.
ENDIF.
ENDFORM.
* << Fim da inclusão