Módulo: CÂMBIO EXPORTAÇÃO
Funcionalidade: Vinculação
Data/Hora da Publicação: 18/06/2007 00:00:00
Data/Hora Última Alteração: 21/02/2011 10:23:06
Descrição da Nota: VINCULAÇÃO - SELEÇÃO DE FATURAS DESCONTO DE RECEBÍVEIS
Sintoma
Criei um desconto de recebiveis no valor total da fatura depois criei um contrato de ACE com o mesmo
valor feito o desconto de recebíveis, quando fui efetuar a vinculação o programa nao encontrou a
fatura que está na tabela /PWS/ZYCBT219.
Solução
o filtro foi retirado.
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 03956 Data: 18/06/2007 Hora: 13:40:23
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 03956
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 7.0
Pacote : 00002
Agrupamento : 00001
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
01221 - 00001 - 6.0 - 00023 - VINCULAÇÃO MATCHCODE MANDANTE EM BRANCO
02220 - 00002 - 6.0 - 00025 - VINCULAÇÃO MATCH-CODE FATURA DESCONTO DE RECEBIVEIS
03670 - 00003 - 7.0 - 00001 - AJUSTES DICIONÁRIO PW.CE - F5A - VERSÃO 5.0
----------------------------------------------------------------------------------------------------
VINCULAÇÃO - SELEÇÃO DE FATURAS DESCONTO DE RECEBÍVEIS
----------------------------------------------------------------------------------------------------
Palavras Chave:
VINCULAÇÃO - SELEÇÃO DE FATURAS DESCONTO DE RECEBÍVEIS
----------------------------------------------------------------------------------------------------
Objetos da nota:
SHLD /PWS/ZYCBA266
----------------------------------------------------------------------------------------------------
Modificações efetuadas em SHLD /PWS/ZYCBA266
MODIFICAR AJUDA DE PESQUISA: /PWS/ZYCBA266
DESCRIÇÃO BREVE: CB - Faturas c/ Embarque
PARÂMETROS:
PARAM. IMP EXP POSL ISEL EXAJ ELEM. DADOS MOD VALOR PROPOSTO
* >> Início da exclusão:
SPRAS 0 0 SPRAS X 'P'
* << Fim da exclusão
* >> Inicio da inclusão
BELNR 0 0 BELNR_D
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZZYCBGF3U01
...
shlp.
TYPES:
BEGIN OF t_s_dados,
nrinvoic TYPE /pws/zycbt017-nrinvoic,
bukrs TYPE /pws/zycbt017-bukrs,
gsberf TYPE /pws/zycbt017-gsberf,
werks TYPE /pws/zycbt017-werks,
nrparcf TYPE /pws/zycbt017-nrparcf,
nremb TYPE /pws/zycbt017-nremb,
dtprev TYPE /pws/zycbt017-dtprev,
* >> Início da inclusão:
belnr TYPE /pws/zycbt219-belnr,
* << Fim da inclusão
dtbl TYPE /pws/zycbt017-dtbl,
dtvencto TYPE /pws/zycbt017-dtvencto,
vlslf TYPE /pws/zycbt017-vlslf,
vlavinc TYPE /pws/zycbt017-vlavinc,
zterm TYPE /pws/zycbt017-zterm,
text1 TYPE t052u-text1,
codmod TYPE /pws/zycbt017-codmod,
prazo TYPE /pws/zycbt017-prazo,
kunnr TYPE kna1-kunnr,
name1 TYPE kna1-name1,
...
...
FIELD-SYMBOLS:
<fs_shlp> LIKE LINE OF shlp_tab,
<fs_fielddescr> LIKE LINE OF shlp_tab-fielddescr,
<fs_dados> LIKE LINE OF itab_dados.
IF callcontrol-step = 'DISP'.
READ TABLE shlp_tab INDEX 1 ASSIGNING <fs_shlp>.
CHECK <fs_shlp> IS ASSIGNED.
LOOP AT <fs_shlp>-fielddescr ASSIGNING <fs_fielddescr>.
CHECK <fs_fielddescr>-fieldname = 'NRINVOIC' OR
<fs_fielddescr>-fieldname = 'BUKRS' OR
* >> Início da inclusão:
<fs_fielddescr>-fieldname = 'BELNR' OR
* << Fim da inclusão
<fs_fielddescr>-fieldname = 'GSBERF' OR
<fs_fielddescr>-fieldname = 'WERKS' OR
<fs_fielddescr>-fieldname = 'NRPARCF' OR
<fs_fielddescr>-fieldname = 'NREMB' OR
<fs_fielddescr>-fieldname = 'DTPREV' OR
<fs_fielddescr>-fieldname = 'DTBL' OR
<fs_fielddescr>-fieldname = 'DTVENCTO' OR
<fs_fielddescr>-fieldname = 'VLSLF' OR
<fs_fielddescr>-fieldname = 'VLAVINC' OR
<fs_fielddescr>-fieldname = 'ZTERM' OR
...
...
UNASSIGN: <fs_shlp>, <fs_fielddescr>.
LOOP AT itab_dados ASSIGNING <fs_dados>.
IF NOT <fs_dados>-vlslf > 0.
DELETE record_tab INDEX sy-tabix.
DELETE itab_dados.
ENDIF.
ENDLOOP.
ENDIF.
LOOP AT record_tab.
v_tabix = sy-tabix.
* >> Início da inclusão:
READ TABLE itab_dados INDEX v_tabix INTO wa_dados.
* << Fim da inclusão
IF NOT v_nrseqc2 IS INITIAL.
* >> Início da exclusão:
IF record_tab-string(3) = sy-mandt
OR record_tab-string(3) = space
OR record_tab-string(3) = ' '.
READ TABLE itab_bukrs WITH KEY bukrs = record_tab-string+23(4).
ELSE.
READ TABLE itab_bukrs WITH KEY bukrs = record_tab-string+20(4).
ENDIF.
* << Fim da exclusão
* >> Início da inclusão:
READ TABLE itab_bukrs WITH KEY bukrs = wa_dados-bukrs.
* << Fim da inclusão
IF sy-subrc NE 0.
DELETE record_tab INDEX v_tabix.
* >> Início da inclusão:
DELETE itab_dados INDEX v_tabix.
* << Fim da inclusão
CONTINUE.
ENDIF.
ENDIF.
v_string = record_tab-string.
IF NOT v_desc_receb IS INITIAL.
* >> Início da exclusão:
IF record_tab-string+3(10) EQ v_nrinvoic.
* << Fim da exclusão
* >> Início da inclusão:
IF wa_dados-nrinvoic EQ v_nrinvoic.
* << Fim da inclusão
CONTINUE.
ENDIF.
* >> Início da exclusão:
v_nrinvoic = record_tab-string+3(10).
* << Fim da exclusão
* >> Início da inclusão:
v_nrinvoic = wa_dados-nrinvoic.
* << Fim da inclusão
SELECT SINGLE * FROM /pws/zycbt219
* >> Início da exclusão:
WHERE nrinvoic = record_tab-string+3(10)
AND gsberf = record_tab-string+27(04)
AND nrparcf = record_tab-string+31(02)
AND belnr = record_tab-string+131(10)
* << Fim da exclusão
* >> Início da inclusão:
WHERE nrinvoic = wa_dados-nrinvoic
AND gsberf = wa_dados-gsberf
AND nrparcf = wa_dados-nrparcf
AND belnr = wa_dados-belnr
* << Fim da inclusão
AND saldo GT 0.
IF sy-subrc EQ 0 AND /pws/zycbt219-saldo GT 0.
MOVE v_string TO itab_faturas.
APPEND itab_faturas.
ELSEIF sy-subrc EQ 0 AND NOT /pws/zycbt219-saldo GT 0.
DELETE record_tab INDEX v_tabix.
* >> Início da inclusão:
DELETE itab_dados INDEX v_tabix.
* << Fim da inclusão
CONTINUE.
ELSE.
* >> Início da exclusão:
IF sy-subrc NE 0.
SHIFT record_tab-string RIGHT BY 3 PLACES.
ENDIF.
IF record_tab-string+3(10) EQ v_nrinvoic1.
* << Fim da exclusão
* >> Início da inclusão:
IF wa_dados-nrinvoic EQ v_nrinvoic1.
* << Fim da inclusão
CONTINUE.
ENDIF.
* >> Início da exclusão:
v_nrinvoic1 = record_tab-string+3(10).
* << Fim da exclusão
* >> Início da inclusão:
v_nrinvoic1 = wa_dados-nrinvoic.
* << Fim da inclusão
CLEAR v_nrinvoic.
SELECT SINGLE * FROM /pws/zycbt219
* >> Início da exclusão:
WHERE nrinvoic = record_tab-string+3(10)
AND gsberf = record_tab-string+27(04)
AND nrparcf = record_tab-string+31(02)
AND belnr = record_tab-string+131(10)
* << Fim da exclusão
* >> Início da inclusão:
WHERE nrinvoic = wa_dados-nrinvoic
AND gsberf = wa_dados-gsberf
AND nrparcf = wa_dados-nrparcf
AND belnr = wa_dados-belnr
* << Fim da inclusão
AND saldo GT 0.
IF sy-subrc EQ 0 AND /pws/zycbt219-saldo GT 0.
MOVE v_string TO itab_faturas.
APPEND itab_faturas.
ELSEIF sy-subrc EQ 0 AND NOT /pws/zycbt219-saldo GT 0.
DELETE record_tab INDEX v_tabix.
* >> Início da inclusão:
DELETE itab_dados INDEX v_tabix.
* << Fim da inclusão
CONTINUE.
ENDIF.
ENDIF.
ELSE.
IF v_zterm IS INITIAL.
MOVE v_string TO itab_faturas.
APPEND itab_faturas.
ELSE.
* >> Início da exclusão:
IF v_zterm EQ record_tab-string+75(4).
* << Fim da exclusão
* >> Início da inclusão:
IF v_zterm EQ wa_dados-zterm.
* << Fim da inclusão
MOVE v_string TO itab_faturas.
APPEND itab_faturas.
ENDIF.
ENDIF.
ENDIF.
ENDLOOP.
IF NOT v_nrseqc IS INITIAL.
SELECT * FROM /pws/zycbt221 INTO TABLE itab_zycbt221
WHERE nrseqc = v_nrseqc.
IF NOT itab_zycbt221[] IS INITIAL.
...