CE PLUS - Nota 006982

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.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

REPATRIAÇÃO DE REMESSA

REMESSA - CRIAÇÃO PONTO DE EXIT REM007

REMESSA COM ORIGEM - RATEIO PASTA CONTABILIZAÇÃO PRINCIPAL

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.