CE PLUS - Nota 003956

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.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

AJUSTES DICIONÁRIO PW.CE - F5A - VERSÃO 5.0

VINCULAÇÃO MATCH-CODE FATURA DESCONTO DE RECEBIVEIS

VINCULAÇÃO MATCHCODE MANDANTE EM BRANCO

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.

...