Módulo: CÂMBIO FINANCEIRO
Funcionalidade: Remessa
Data/Hora da Publicação: 18/07/2008 00:00:00
Data/Hora Última Alteração: 18/02/2011 14:14:35
Descrição da Nota: REMESSA COM ORIGEM - DESCONSIDERAR PARTIDA CONTA RAZÃO-CHV.LANCTO. OK
Sintoma
Ao criar uma remessa com origem, esta exibindo mensagem de documento inconsistente, devido o mesmo
possuir partidas com chave de lançamento incorreta. Fazer com que gere apenas para chaves de
lançamento ok e as incorretas apenas ignorar.
Solução
Permitir criar remessa com origem para chave de lançamento ok e as incorretas apenas ignorar.
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 06982 Data: 18/07/2008 Hora: 12:06:54
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 06982
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 7.0
Pacote : 00006
Agrupamento : 00056
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
04824 - 00001 - 7.0 - 00003 - REMESSA COM ORIGEM - RATEIO PASTA CONTABILIZAÇÃO PRINCIPAL
05637 - 00002 - 7.0 - 00004 - REMESSA - CRIAÇÃO PONTO DE EXIT REM007
06671 - 00003 - 7.0 - 00005 - REPATRIAÇÃO DE REMESSA
----------------------------------------------------------------------------------------------------
REMESSA COM ORIGEM - DESCONSIDERAR PARTIDA CONTA RAZÃO-CHV.LANCTO. OK
----------------------------------------------------------------------------------------------------
Palavras Chave:
REMESSA COM ORIGEM - DESCONSIDERAR PARTIDA CONTA RAZÃO-CHV.LANCTO. OK
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCA109F01
REPS /PWS/MZYCA109X01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCA109F01
...
AND ( vbtyp_n = 'M' OR vbtyp_n = 'P' ).
ENDSELECT.
IF sy-subrc = 0.
SELECT *
FROM bkpf
UP TO 1 ROWS
INTO wa_bkpf
WHERE awkey = wa_vbfa-vbeln. "#EC CI_NOFIRST
ENDSELECT.
IF sy-subrc = 0.
* >> Início da inclusão: FORM CRIAR_REMESSA_ORDEM
SELECT * FROM /pws/zycat027 INTO TABLE itab_zycat027
WHERE shkzg = 'D'.
IF sy-subrc = 0.
LOOP AT itab_zycat027.
r_bschl-sign = 'I'.
r_bschl-option = 'BT'.
r_bschl-high = itab_zycat027-bschl.
APPEND r_bschl.
ENDLOOP.
* << Fim da inclusão
SELECT * FROM bseg INTO TABLE itab_bseg
WHERE belnr = wa_bkpf-belnr
AND bukrs = wa_bkpf-bukrs
AND gjahr = wa_bkpf-gjahr
* >> Início da exclusão: FORM CRIAR_REMESSA_ORDEM
AND bschl = '01'
* << Fim da exclusão
* >> Início da inclusão: FORM CRIAR_REMESSA_ORDEM
AND bschl IN r_bschl
* << Fim da inclusão
AND koart = 'D'
AND augbl = space.
* >> Início da inclusão: FORM CRIAR_REMESSA_ORDEM
ENDIF.
* << Fim da inclusão
IF sy-subrc = 0.
PERFORM cria_remessa TABLES itab_bseg
USING wa_bkpf.
PERFORM imprime_relatorio_remessas.
ELSE.
...
...
IF sy-subrc = 0.
CONCATENATE wa_rbkp-belnr wa_rbkp-gjahr INTO v_docmiro.
SELECT *
FROM bkpf
UP TO 1 ROWS
INTO wa_bkpf
WHERE gjahr = wa_rbkp-gjahr
AND awkey = v_docmiro. "#EC CI_NOFIRST
ENDSELECT.
IF sy-subrc = 0.
* >> Início da inclusão: FORM CRIAR_REMESSA_REVISAO
SELECT * FROM /pws/zycat027 INTO TABLE itab_zycat027
WHERE shkzg = 'C'.
IF sy-subrc = 0.
LOOP AT itab_zycat027.
r_bschl-sign = 'I'.
r_bschl-option = 'BT'.
r_bschl-high = itab_zycat027-bschl.
APPEND r_bschl.
ENDLOOP.
* << Fim da inclusão
SELECT * FROM bseg INTO TABLE itab_bseg
WHERE belnr = wa_bkpf-belnr
AND bukrs = wa_bkpf-bukrs
AND gjahr = wa_bkpf-gjahr
* >> Início da exclusão: FORM CRIAR_REMESSA_REVISAO
AND bschl = '31'
* << Fim da exclusão
* >> Início da inclusão: FORM CRIAR_REMESSA_REVISAO
AND bschl IN r_bschl
* << Fim da inclusão
AND koart = 'K'
AND augbl = space.
* >> Início da inclusão: FORM CRIAR_REMESSA_REVISAO
ENDIF.
* << Fim da inclusão
IF sy-subrc = 0.
PERFORM cria_remessa TABLES itab_bseg
USING wa_bkpf.
ELSE.
MESSAGE w061 WITH text-125 wa_bkpf-belnr text-133.
...
...
ENDIF.
ENDCASE.
ENDLOOP.
itab_zycbe035-wrbtr = itab_zycbt141-vlremessa.
APPEND itab_zycbe035.
ENDLOOP.
ENDFORM.
FORM cria_remessa TABLES i_bseg STRUCTURE bseg
USING p_bkpf STRUCTURE bkpf.
REFRESH itab_rel.
* >> Início da exclusão: FORM CRIA_REMESSA
CLEAR v_total_docto.
LOOP AT i_bseg.
v_total_docto = v_total_docto + i_bseg-wrbtr.
ENDLOOP.
* << Fim da exclusão
LOOP AT i_bseg.
SELECT * FROM /pws/zycbt124
UP TO 1 ROWS
WHERE belnr = wa_bkpf-belnr
AND nrfat = wa_bkpf-awkey
AND dtdocto = wa_bkpf-budat
AND bukrs = wa_bkpf-bukrs
AND buzei = i_bseg-buzei. "#EC *
ENDSELECT.
IF sy-subrc = 0.
...
...
/pws/zycbt124-tprecrem = 'F'.
/pws/zycbt124-tpcliente = 'F'.
ENDIF.
ENDIF.
IF v_ordem = 'X'.
/pws/zycbt124-criacao = 'O'.
ELSEIF v_doc = 'X'.
/pws/zycbt124-criacao = 'D'.
ELSEIF v_revisao = 'X'.
/pws/zycbt124-criacao = 'R'.
* >> Início da exclusão: FORM CRIA_REMESSA
ENDIF.
IF /pws/zycbt124-tpoper = 'P'.
IF /pws/zycbt124-tpcliente = 'F'.
READ TABLE itab_zycat027
WITH KEY koart = 'F'
shkzg = 'C'.
IF sy-subrc EQ 0.
SELECT SINGLE * FROM bseg
WHERE belnr EQ wa_bkpf-belnr
AND bukrs EQ wa_bkpf-bukrs
AND gjahr EQ wa_bkpf-gjahr
AND augbl EQ space
AND shkzg EQ 'H'
AND bschl NE itab_zycat027-bschl.
ENDIF.
ELSE.
READ TABLE itab_zycat027
WITH KEY koart = 'C'
shkzg = 'C'.
IF sy-subrc EQ 0.
SELECT SINGLE * FROM bseg
WHERE belnr EQ wa_bkpf-belnr
AND bukrs EQ wa_bkpf-bukrs
AND gjahr EQ wa_bkpf-gjahr
AND augbl EQ space
AND shkzg EQ 'H'
AND bschl NE itab_zycat027-bschl.
ENDIF.
ENDIF.
ELSEIF /pws/zycbt124-tpoper = 'R'.
IF /pws/zycbt124-tpcliente = 'C'.
READ TABLE itab_zycat027
WITH KEY koart = 'C'
shkzg = 'D'.
IF sy-subrc EQ 0.
SELECT SINGLE * FROM bseg
WHERE belnr EQ wa_bkpf-belnr
AND bukrs EQ wa_bkpf-bukrs
AND gjahr EQ wa_bkpf-gjahr
AND augbl EQ space
AND shkzg EQ 'S'
AND bschl NE itab_zycat027-bschl.
ENDIF.
ELSE.
READ TABLE itab_zycat027
WITH KEY koart = 'F'
shkzg = 'D'.
IF sy-subrc EQ 0.
SELECT SINGLE * FROM bseg
WHERE belnr EQ wa_bkpf-belnr
AND bukrs EQ wa_bkpf-bukrs
AND gjahr EQ wa_bkpf-gjahr
AND augbl EQ space
AND shkzg EQ 'S'
AND bschl NE itab_zycat027-bschl.
ENDIF.
* << Fim da exclusão
ENDIF.
* >> Início da exclusão: FORM CRIA_REMESSA
ENDIF.
if sy-subrc = 0.
message i061 with text-182 text-183.
exit.
endif.
* << Fim da exclusão
IF /pws/zycbt124-tpoper = 'R' AND /pws/zycbt124-frpagto = 'C'.
/pws/zycbt124-sld_associar = /pws/zycbt124-vlme.
...
...
v_tot LIKE /pws/zycbt141-vlremessa,
v_dif LIKE /pws/zycbt141-vlremessa,
v_tabix LIKE sy-tabix.
REFRESH itab_bseg_aux.
IF /pws/zycbt124-tpoper = 'R'.
SELECT * FROM bseg INTO TABLE itab_bseg_aux
WHERE bukrs = i_bseg-bukrs
AND belnr = i_bseg-belnr
AND gjahr = i_bseg-gjahr
AND shkzg = 'H'.
* >> Início da inclusão: FORM PREENCHE_PASTA_CONTABILIZACAO
SELECT * FROM bseg INTO TABLE itab_bseg_aux2
WHERE bukrs = i_bseg-bukrs
AND belnr = i_bseg-belnr
AND gjahr = i_bseg-gjahr
AND shkzg = 'S'.
* << Fim da inclusão
ELSEIF /pws/zycbt124-tpoper = 'P'.
SELECT * FROM bseg INTO TABLE itab_bseg_aux
WHERE bukrs = i_bseg-bukrs
AND belnr = i_bseg-belnr
AND gjahr = i_bseg-gjahr
AND shkzg = 'S'.
* >> Início da inclusão: FORM PREENCHE_PASTA_CONTABILIZACAO
SELECT * FROM bseg INTO TABLE itab_bseg_aux2
WHERE bukrs = i_bseg-bukrs
AND belnr = i_bseg-belnr
AND gjahr = i_bseg-gjahr
AND shkzg = 'H'.
* << Fim da inclusão
ENDIF.
IF sy-subrc = 0.
* >> Início da inclusão: FORM PREENCHE_PASTA_CONTABILIZACAO
CLEAR v_total_docto.
LOOP AT itab_bseg_aux2.
v_total_docto = v_total_docto + itab_bseg_aux2-wrbtr.
ENDLOOP.
* << Fim da inclusão
DESCRIBE TABLE itab_bseg_aux LINES v_reg.
* >> Início da inclusão: FORM PREENCHE_PASTA_CONTABILIZACAO
DESCRIBE TABLE itab_bseg_aux2 LINES v_reg2.
* << Fim da inclusão
REFRESH itab_zycbt141.
CLEAR v_tot.
LOOP AT itab_bseg_aux.
v_tabix = sy-tabix.
CLEAR itab_zycbt141.
MOVE 'PRINCIPAL' TO itab_zycbt141-tpimp.
itab_zycbt141-nrseq = /pws/zycbt124-nrseq.
itab_zycbt141-saknr1 = itab_bseg_aux-hkont.
itab_zycbt141-kostl = itab_bseg_aux-kostl.
itab_zycbt141-prctr = itab_bseg_aux-prctr.
...
...
itab_zycbt141-ps_posid = itab_bseg_aux-projk.
ENDIF.
itab_zycbt141-fipos = itab_bseg_aux-fipos.
itab_zycbt141-fictr = itab_bseg_aux-fistl.
itab_zycbt141-gsber = itab_bseg_aux-gsber.
itab_zycbt141-kstrg = itab_bseg_aux-kstrg.
itab_zycbt141-nplnr = itab_bseg_aux-nplnr.
itab_zycbt141-matnr = itab_bseg_aux-matnr.
itab_zycbt141-geber = itab_bseg_aux-geber.
itab_zycbt141-ebeln = itab_bseg_aux-ebeln.
* >> Início da exclusão: FORM PREENCHE_PASTA_CONTABILIZACAO
DESCRIBE TABLE itab_bseg LINES v_reg2.
* << Fim da exclusão
IF v_reg2 = 1.
itab_zycbt141-vlremessa = itab_bseg_aux-wrbtr.
ELSEIF v_reg2 > 1.
v_porcentagem = ( itab_bseg-wrbtr * 100 ) / v_total_docto.
itab_zycbt141-vlremessa =
( itab_bseg_aux-wrbtr * v_porcentagem ) / 100.
ENDIF.
itab_zycbt141-ebelp = itab_bseg_aux-ebelp.
SELECT SINGLE * FROM afko WHERE aufnr = itab_bseg_aux-nplnr.
IF sy-subrc = 0.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCA109X01
...
v_frgzu TYPE /pws/zycbt124-frgzu.
DATA: wa_vbfa TYPE vbfa,
wa_bkpf TYPE bkpf,
wa_rbkp TYPE rbkp.
DATA: BEGIN OF itab_bseg OCCURS 0.
INCLUDE STRUCTURE bseg.
DATA : END OF itab_bseg.
DATA: BEGIN OF itab_bseg_aux OCCURS 0.
INCLUDE STRUCTURE bseg.
DATA : END OF itab_bseg_aux.
* >> Início da inclusão:
data: itab_bseg_aux2 like itab_bseg_aux occurs 0 with header line.
* << Fim da inclusão
DATA: END OF COMMON PART.