CE PLUS - Nota 009642

Módulo: CÂMBIO EXPORTAÇÃO

Funcionalidade: Valores Mantidos no Exterior

Data/Hora da Publicação: 29/12/2009 00:00:00

Data/Hora Última Alteração: 18/02/2011 17:49:20

Descrição da Nota: VALORES MANTIDOS NO EXTERIOR-SALDO DISPONIBILIDADE-VINCULAÇÃO SEM LIQUID

Sintoma

Ao criar mais de uma ordem(VME) para uma mesma fatura, e apenas vincular parte desta fatura sem

liquidar, ao tentar fazer a disponibilidade, esta consistindo incorretamente o saldo da mesma, não

considerando o valor total da fatura, apenas o valor da ordem subtraído do valor vinculado.

 

 

Solução

Na consistência do saldo a disponibilizar, somar todas as ordens para a mesma fatura existentes na

tabela /pws/zycbt226, campo sld_exterior, e, desta soma, subtrair o valor já vinculado e não

liquidado, para consistir o saldo corretamente.

 

Versões Tratadas

8.0


Pré-Requisitos

Produto:

Nota

Descrição

VALORES MANTIDOS NO EXTERIOR - SALDO DISPONIBILIDADE - VLSLF NEGATIVO

VALORES MANTIDOS NO EXTERIOR - DISPONIBILIDADE NO EXTERIOR

VALORES MANTIDOS NO EXTERIOR - EXIT VME001

BOTÕES "VINCULAR TOTAL" E "SELECIONAR FATURAS" - VME

VALORES MANTIDOS NO EXTERIOR - DA COMPLETO

Informações Complementares

----------------------------------------------------------------------------------------------------

Nota Número 09642 Data: 29/12/2009 Hora: 13:49:10

----------------------------------------------------------------------------------------------------

 

----------------------------------------------------------------------------------------------------

Nota Número              : 09642

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 8.0

Pacote                   : 00002

Agrupamento              : 00002

----------------------------------------------------------------------------------------------------

Referência às notas relacionadas:

Número - Ordem - Versão - Pacote - Descrição Breve

 

05482  - 00001 - 7.0    - 00003  - VALORES MANTIDOS NO EXTERIOR - DA COMPLETO

05967  - 00002 - 7.0    - 00004  - VALORES MANTIDOS NO EXTERIOR - EXIT VME001

06218  - 00003 - 7.0    - 00005  - VALORES MANTIDOS NO EXTERIOR - DISPONIBILIDADE NO EXTERIOR

07117  - 00004 - 7.0    - 00006  - BOTÕES "VINCULAR TOTAL" E "SELECIONAR FATURAS" - VME

07188  - 00005 - 7.0    - 00006  - VALORES MANTIDOS NO EXTERIOR - SALDO DISPONIBILIDADE - VLSLF NEGA

----------------------------------------------------------------------------------------------------

VALORES MANTIDOS NO EXTERIOR-SALDO DISPONIBILIDADE-VINCULAÇÃO SEM LIQUID

----------------------------------------------------------------------------------------------------

Palavras Chave:

VALORES MANTIDOS NO EXTERIOR SALDO DISPONIBILIDADE INCORRETO

VINCULAÇÃO SEM LIQUID PARA MAIS DE UMA ORDEM PARA A MESMA FATURA

----------------------------------------------------------------------------------------------------

Objetos da nota:

REPS /PWS/MZYCB034I01

REPS /PWS/MZYCB034TOP

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/MZYCB034I01

 

...

MODULE guarda_ts_atual INPUT.

  wa_controle-ts_atual = ts_principal-activetab.

ENDMODULE.

MODULE verifica_campos INPUT.

  DATA:

    wa_disp               LIKE LINE OF itab_disp_30,

    v_sldext              TYPE /pws/zycbe226-sld_exterior,

    v_valor_vinculado     TYPE /pws/zycbe005-vlme_p,

    v_saldoreal_disp      TYPE /pws/zycbe226-sld_exterior,

    v_saldoreal_disp2(20) TYPE c.

* >> Início da inclusão: MODULE VERIFICA_CAMPOS

  data: v_sld_exterior type /pws/zycbe226-sld_exterior.

* << Fim da inclusão

  CLEAR:

    wa_contrato,

    v_sldext.

  CASE sy-dynnr.

    WHEN '0120'.

      LOOP AT itab_disp_00 INTO wa_disp

        WHERE nrseq   = /pws/zycbe238-nrseq

          AND operacao NE space.

        READ TABLE itab_disp_ant

          WITH KEY nrseq   = wa_disp-nrseq

...

 

...

                                      nrinvoic = /pws/zycbe226-nrinvoic

                                      nrparcf  = /pws/zycbe226-nrparcf

                                      gsberf   = /pws/zycbe226-gsberf.

        IF sy-subrc NE 0.

          LOOP AT itab_zycbt005 WHERE nrinvoic = /pws/zycbe226-nrinvoic

                                  AND nrparcf  = /pws/zycbe226-nrparcf

                                  AND gsberf   = /pws/zycbe226-gsberf.

            v_valor_vinculado = v_valor_vinculado +

                                itab_zycbt005-vlme_p.

          ENDLOOP.

* >> Início da exclusão: MODULE VERIFICA_CAMPOS

          v_saldoreal_disp = /pws/zycbe226-sld_exterior -

                             v_valor_vinculado.

* << Fim da exclusão

* >> Início da inclusão: MODULE VERIFICA_CAMPOS

          if itab_zycbt226_all[] is initial or

             sy-tcode = '/PWS/ZYCB034_C'    or

             sy-tcode = '/PWS/ZYCB034_SML_C'.

            select * from /pws/zycbt226 into table itab_zycbt226_all[]

                     for all entries in itab_zycbt226

                     where nrinvoic = itab_zycbt226-nrinvoic

                       and nrparcf  = itab_zycbt226-nrparcf

                       and gsberf   = itab_zycbt226-gsberf.

          endif.

          clear v_sld_exterior.

          loop at itab_zycbt226_all

                              where nrinvoic = /pws/zycbe226-nrinvoic

                                and nrparcf  = /pws/zycbe226-nrparcf

                                and gsberf   = /pws/zycbe226-gsberf.

            v_sld_exterior = v_sld_exterior +

                             itab_zycbt226_all-sld_exterior.

          endloop.

          v_saldoreal_disp = v_sld_exterior - v_valor_vinculado.

* << Fim da inclusão

          IF /pws/zycbe238-vldisp GT v_saldoreal_disp OR

             v_sldext             GT v_saldoreal_disp.

            WRITE v_saldoreal_disp TO v_saldoreal_disp2

                  CURRENCY /pws/zycbe226-waers.

            CONDENSE v_saldoreal_disp2.

            MESSAGE e061 WITH text-045 v_saldoreal_disp2

                              text-046 text-047.

          ENDIF.

        ENDIF.

      ENDIF.

...

 

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/MZYCB034TOP

 

...

data: v_fsaldo type c,

end of itab_zycbt017_aux.

data: begin of itab_zycbt226_aux occurs 0.

        include structure /pws/zycbe226.

data : mark(1)       type c,

       operacao(1)   type c,

       bloqueado(1)  type c,

       acesso_emp(1) type c,

       drilldown(1)  type c.

data: end of itab_zycbt226_aux .

* >> Início da inclusão:

data: begin of itab_zycbt226_all occurs 0.

        include structure /pws/zycbt226.

data: end of itab_zycbt226_all.

* << Fim da inclusão

include /pws/mzycb034x01.

selection-screen begin of screen 0001.

selection-screen begin of block a with frame title text-011.

select-options: s_bukrs  for /pws/zycbe226-bukrs,

                s_nrseq  for /pws/zycbe226-nrseq

                matchcode object  /PWS/ZYCBA297,

                s_invoic for /pws/zycbe226-nrinvoic,

                s_gsber  for /pws/zycbe226-gsberf,

                s_nrparc for /pws/zycbe226-nrparcf,

                s_kunag  for /pws/zycbe017-kunag,

...