CE PLUS - Nota 009338

Módulo: CÂMBIO EXPORTAÇÃO

Funcionalidade: Captação

Data/Hora da Publicação: 06/11/2009 00:00:00

Data/Hora Última Alteração: 18/02/2011 16:35:44

Descrição da Nota: CAPTAÇÃO - DP COM ORDEM DE VENDA MAIS DE 1 ITEM

Sintoma

Captação - DP com Ordem de Venda mais de 1 item - o programa não segue por causa de uma mensagem

incorreta.

 

 

Solução

Tratar o programa para verificar a ordem de venda com mais de 1 item.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

CAPTAÇÃO - DP - ITENS ORDEM PAGAMENTO - VALOR ZERO

CAPTAÇÃO - DP - PONTO DE EXIT F-29 E CONSITÊNCIA ORDEM

CAPTAÇÃO - DP DOWN PAYMENT - ORDEM DE VENDA

CAPTAÇÃO - EXIT CPT015 - COMISSÃO

CAPTAÇÃO - CAMPO IRRELEVANTE PARA CONTABILIZAÇÃO NRCONTR

Informações Complementares

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

Nota Número 09338 Data: 06/11/2009 Hora: 18:05:38

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

 

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

Nota Número              : 09338

Categoria                : Melhoria

Prioridade               : Alta

Versão PW.CE             : 8.0

Pacote                   : 00001

Agrupamento              : 00001

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

Referência às notas relacionadas:

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

 

03011  - 00001 - 6.0    - 00026  - CAPTAÇÃO - CAMPO IRRELEVANTE PARA CONTABILIZAÇÃO NRCONTR

03292  - 00002 - 6.0    - 00026  - CAPTAÇÃO - DP - PONTO DE EXIT F-29 E CONSITÊNCIA ORDEM

03856  - 00003 - 7.0    - 00001  - CAPTAÇÃO - EXIT CPT015 - COMISSÃO

04030  - 00004 - 7.0    - 00002  - CAPTAÇÃO - DP - ITENS ORDEM PAGAMENTO - VALOR ZERO

09100  - 00005 - 8.0    - 00001  - CAPTAÇÃO - DP DOWN PAYMENT - ORDEM DE VENDA

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

CAPTAÇÃO - DP COM ORDEM DE VENDA MAIS DE 1 ITEM

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

Palavras Chave:

CAPTAÇÃO - DP COM ORDEM DE VENDA MAIS DE 1 ITEM

 

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

Objetos da nota:

REPS /PWS/MZYCB001F01

REPS /PWS/MZYCB001X01

 

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

Modificações efetuadas em REPS /PWS/MZYCB001F01

 

...

          kunnr like vbpa-kunnr,

        end of itab_vbpa.

  data: v_soma  like vbap-netwr,

        v_valor like vbap-netwr,

        v_sub   like vbap-netwr,

        v_idx   like sy-tabix,

        v_itens type i.

  data: v_msg1(30),

        v_msg2(25).

  data:  v_loop(3)   type n,

* >> Início da inclusão: FORM VERIFICA_ORDEM

         v_valortotal like /pws/zycbt221-vlr_item,

         v_totrateio  like /pws/zycbt221-vlr_rateio,

* << Fim da inclusão

         v_valoritem like /pws/zycbt221-vlr_item.

  clear:   itab_vbap.

  refresh: itab_vbap.

  clear:   v_soma, v_itens, v_sub, v_pagador, v_tipo, v_moeda.

  if wa_zycbt221[] is initial.

    loop at itab_zycbt221.

      move-corresponding itab_zycbt221 to wa_zycbt221.

      append wa_zycbt221.

    endloop.

  endif.

...

 

...

      loop at itab_vbap.

        if itab_vbap-waerk ne /pws/zycbe001-waers.

          v_moeda = 1.

          v_ordem = itab_vbap-vbeln.

          delete wa_zycbt221 where ordem = /pws/zycbe221-ordem.

        endif.

      endloop.

    endif.

    select * from /pws/zycbt221

          into table itab_zycbt221_aux

* >> Início da exclusão: FORM VERIFICA_ORDEM

          for all entries in wa_zycbt221

* << Fim da exclusão

          where nrseqc ne /pws/zycbe001-nrseqc and

                ordem  =  wa_zycbt221-ordem    and

                item   =  wa_zycbt221-item.        "#EC CI_NOFIRST

* >> Início da inclusão: FORM VERIFICA_ORDEM

    if not itab_zycbt221[] is initial.

* << Fim da inclusão

    if sy-tcode ne c_transacao_e .

      if v_pass is initial.

        v_valoritem = wa_zycbt221-vlr_item.

        loop at itab_zycbt221_aux where ordem = wa_zycbt221-ordem and

...

 

...

        v_pass = 'X'.

        if v_valoritem > '0'.

          modify wa_zycbt221 index 1.

        endif.

        if not v_msg1 is initial  .

          message i061 with text-505 wa_zycbt221-ordem

                            text-506 v_msg1 .

        endif.

      endif.

       clear v_valoritem.

* >> Início da exclusão: FORM VERIFICA_ORDEM

       v_valoritem = /pws/zycbe001-vlme + itab_zycbt221_aux-vlr_rateio.

      if v_valoritem > wa_zycbt221-vlr_item.

* << Fim da exclusão

* >> Início da inclusão: FORM VERIFICA_ORDEM

       clear v_valortotal.

       clear v_totrateio.

       loop at itab_zycbt221 where ordem = wa_zycbt221-ordem.

         v_valortotal = v_valortotal + itab_zycbt221-vlr_item.

       endloop.

        select * from /pws/zycbt221

          into table itab_zycbt221_aux2

          where nrseqc ne /pws/zycbe001-nrseqc and

                ordem  =  wa_zycbt221-ordem    .

      if sy-subrc ne 0.

       v_valoritem = /pws/zycbe001-vlme .

      else.

       loop at itab_zycbt221_aux2.

         v_totrateio  = v_totrateio  + itab_zycbt221_aux2-vlr_rateio.

       endloop.

       v_valoritem = /pws/zycbe001-vlme + v_totrateio.

      endif.

       if v_valoritem > v_valortotal.

        if v_erro_2 is initial.

* << Fim da inclusão

        message i061 with text-505 wa_zycbt221-ordem

                        text-507 .

        v_erro_ov = 'X'.

        v_erro_2  = 'X'.

        delete wa_zycbt221 where ordem = /pws/zycbe221-ordem.

* >> Início da inclusão: FORM VERIFICA_ORDEM

        endif.

      endif.

* << Fim da inclusão

      endif.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB001X01

 

...

data: begin of itab_zycbt221 occurs 0.

        include structure /pws/zycbt221.

data: mark type c,

      end of itab_zycbt221.

data: begin of wa_zycbt221 occurs 0.

        include structure itab_zycbt221.

data: end of wa_zycbt221.

data: wa_zycbt221_aux like wa_zycbt221 occurs 0 with header line.

data: itab_zycbt221_aux like wa_zycbt221 occurs 0 with header line.

data: itab_zycbt221_ant like wa_zycbt221 occurs 0 with header line.

* >> Início da inclusão:

data: itab_zycbt221_aux2 like wa_zycbt221 occurs 0 with header line.

* << Fim da inclusão

data: begin of itab_zycbt034 occurs 10.

        include structure /pws/zycbt034.

data: end of itab_zycbt034.

types  begin of t_comissao.

        include structure /pws/zycbt002.

types:   mark type c,

       end of t_comissao,

       begin of t_zycbt031_comissao,

         nrseq    type /pws/zycbt031-nrseq,

         dtboleto type /pws/zycbt031-dtboleto,

...