Módulo: CÂMBIO EXPORTAÇÃO
Funcionalidade: Vinculação
Data/Hora da Publicação: 08/03/2007 00:00:00
Data/Hora Última Alteração: 10/03/2010 14:35:01
Descrição da Nota: VINCULAÇÃO BAIXA DO CLIENTE CONTRA O PDD
Sintoma
Ao fazer a baixa do cliente contra o PDD, o programa não está baixando o saldo na Tabela
/PWS/ZYCBT030 (Campos: VLSLTRANS e VLSLLIQ) e ao efetuar o estorno da baixa do cliente contra PDD, o
programa faz o estorno do cliente corretamente, porém faz uma nova F-02 para o PDD (quando não
deveria, pois o documento do PDD já existe). Dessa forma, estão ficando dois documentos iguais.
Solução
1- Programa passou a calcular o saldo da tabela /pws/zycbt030 corretamente tanto para a
contabilização da "ida" quando para o estorno.
2- Programa não está mais executando uma F-02, após exibir o relatório de documentos contabeis e
esta atualizando corretamente os campos da tabela /pws/zycbt051.
6.0
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 03215 Data: 08/03/2007 Hora: 16:17:00
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 03215
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 6.0
Pacote : 00026
Agrupamento : 00156
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Descrição Breve
----------------------------------------------------------------------------------------------------
VINCULAÇÃO BAIXA DO CLIENTE CONTRA O PDD
----------------------------------------------------------------------------------------------------
Palavras Chave:
VINCULAÇÃO BAIXA DO CLIENTE CONTRA O PDD
/PWS/ZYCBT030 (CAMPOS: VLSLTRANS E VLSLLIQ)
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCB009F02
REPS /PWS/MZYCB009F09
REPS /PWS/MZYCB009TOP
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB009F02
...
MODIFY itab_zycbt051.
IF itab_zycbt051-status_rd = 'C' OR
itab_zycbt051-status_rp = 'C' OR
itab_zycbt051-status_pdd = 'C' OR
itab_zycbt051-status_apr = 'C'.
MOVE-CORRESPONDING itab_zycbt051 TO itab_zycbt051_aux3.
APPEND itab_zycbt051_aux3.
ENDIF.
MODIFY /pws/zycbt051 FROM TABLE itab_zycbt051_aux3.
COMMIT WORK.
* >> Início da inclusão: FORM APR_PDD_3
itab_zycbt030-vlslliq = itab_zycbt030-vlslliq -
itab_zycbt051-vlme.
itab_zycbt030-vlsltrans = itab_zycbt030-vlsltrans -
itab_zycbt051-vlme.
MODIFY itab_zycbt030 TRANSPORTING vlslliq vlsltrans
WHERE nrinvoic = itab_zycbt051-nrinvoic
AND vbeln = itab_zycbt030-vbeln
AND nrparcf = itab_zycbt051-nrparcf
AND gsberf = itab_zycbt051-gsberf.
MODIFY /pws/zycbt030 FROM TABLE itab_zycbt030.
* << Fim da inclusão
IF v_apr_total EQ 'X'.
itab_zycbt030-budat = budat.
itab_zycbt030-belnr6 = itab_zycbt032-belnr.
MODIFY itab_zycbt030 TRANSPORTING belnr6 budat
WHERE nrinvoic = itab_zycbt051-nrinvoic
AND vbeln = itab_zycbt030-vbeln
AND nrparcf = itab_zycbt051-nrparcf
AND gsberf = itab_zycbt051-gsberf.
MODIFY /pws/zycbt030 FROM TABLE itab_zycbt030.
ENDIF.
...
...
tpmsg = 'S'.
IF sy-subrc EQ 0.
PERFORM executa_fb08_dp USING itab_zycbt051-dtbx_cl
itab_zycbt051-belnr_pdd2.
ELSE.
v_est_baixa = 'X'.
ENDIF.
ENDIF.
IF sy-subrc EQ 0 AND
v_est_baixa IS INITIAL.
* >> Início da inclusão: FORM ESTORNA_DP_3
IF v_estornopdd = 'X'.
EXIT.
ENDIF.
* << Fim da inclusão
CLEAR: itab_zycbt051-dtbx_cl, itab_zycbt051-belnr_pdd2,
itab_zycbt051-motivo_pdd.
itab_zycbt051-status_pdd = 'I'.
MODIFY itab_zycbt051.
IF itab_zycbt051-status_rd = 'C' OR
itab_zycbt051-status_rp = 'C' OR
itab_zycbt051-status_pdd = 'C' OR
itab_zycbt051-status_apr = 'C'.
MOVE-CORRESPONDING itab_zycbt051 TO itab_zycbt051_aux3.
APPEND itab_zycbt051_aux3.
...
...
tpmsg = 'S'.
IF sy-subrc = 0.
itab_contabil-nrinvoic = itab_zycbt051-nrinvoic.
itab_contabil-docto = itab_zycbt032-belnr.
itab_contabil-msg = text-298.
itab_contabil-bukrs = /pws/zycbe005-bukrs.
itab_contabil-dtdocto = itab_zycbe033-budat.
APPEND itab_contabil.
itab_zycbt030-belnr6 = itab_zycbt032-belnr.
itab_zycbt030-budat = itab_zycbe033-budat.
* >> Início da exclusão: FORM EXECUTA_CLEARING_PD
MODIFY itab_zycbt030 TRANSPORTING belnr6 budat
* << Fim da exclusão
* >> Início da inclusão: FORM EXECUTA_CLEARING_PD
itab_zycbt030-vlslliq = itab_zycbt030-vlslliq +
itab_zycbt051-vlme.
itab_zycbt030-vlsltrans = itab_zycbt030-vlsltrans +
itab_zycbt051-vlme.
MODIFY itab_zycbt030 TRANSPORTING belnr6 budat vlslliq vlsltrans
* << Fim da inclusão
WHERE nrinvoic = itab_zycbt030-nrinvoic AND
gsberf = itab_zycbt030-gsberf AND
nrparcf = itab_zycbt030-nrparcf AND
vbeln = itab_zycbt030-vbeln.
MODIFY /pws/zycbt030 FROM itab_zycbt030.
* >> Início da inclusão: FORM EXECUTA_CLEARING_PD
CLEAR: itab_zycbt051-dtbx_cl,
itab_zycbt051-belnr_pdd2,
itab_zycbt051-motivo_pdd.
itab_zycbt051-tpdev = 'PD'.
itab_zycbt051-status_pdd = 'C'.
itab_zycbt051-belnr_pdd1 = itab_zycbt032-belnr.
MODIFY itab_zycbt051.
MODIFY /pws/zycbt050 FROM /pws/zycbe050.
LOOP AT itab_zycbt051 WHERE mark EQ 'X' AND
belnr_pdd1 NE space.
IF itab_zycbt051-status_rd = 'C' OR
itab_zycbt051-status_rp = 'C' OR
itab_zycbt051-status_pdd = 'C' OR
itab_zycbt051-status_apr = 'C'.
MOVE-CORRESPONDING itab_zycbt051 TO itab_zycbt051_aux3.
APPEND itab_zycbt051_aux3.
ENDIF.
ENDLOOP.
MODIFY /pws/zycbt051 FROM TABLE itab_zycbt051_aux3.
COMMIT WORK.
v_estornopdd = 'X'.
* << Fim da inclusão
ELSE.
LOOP AT itab_zycbt032.
itab_erro-msg = itab_zycbt032-msg.
CLEAR itab_erro-vbeln.
APPEND itab_erro.
MESSAGE i015 WITH itab_zycbt032-msg+0(50)
itab_zycbt032-msg+50(50).
ENDLOOP.
v_est_baixa = 'X'.
ENDIF.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB009F09
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB009TOP
...
v_gsberf VALUE space,
v_fkdat VALUE space,
v_kunag VALUE space,
v_dtvencto VALUE space,
v_dtbl VALUE space,
v_inco1 VALUE space,
v_tpcontrdescr LIKE /pws/zycbt016-txtdesc,
v_negdescr LIKE lfa1-name1,
v_findescr LIKE lfa1-name1,
v_msg(100) TYPE c,
* >> Início da inclusão:
v_estornopdd(1) TYPE c,
* << Fim da inclusão
v_tstwaers(1) TYPE c,
v_msg1(100) TYPE c,
v_msg2(100) TYPE c,
v_encontrou(1) TYPE c,
v_ind_pro TYPE c,
v_ind_vencto1 TYPE c,
v_ind_vencto2 TYPE c,
v_ind_mudanca TYPE c,
v_ind_mudanca1 TYPE c,
v_ind_errocont TYPE c,
...