CE PLUS - Nota 004054

Módulo: CÂMBIO EXPORTAÇÃO

Funcionalidade: Rotina de Pagamento

Data/Hora da Publicação: 27/06/2007 00:00:00

Data/Hora Última Alteração: 18/02/2011 13:56:58

Descrição da Nota: DESPESA EXPORTAÇÃO/COMPLEMENTO DO BOLETO-INVOICE E DADOS DESPESA

Sintoma

Ao criar uma despesa de exportação, esta permitindo preencher qualquer valor no Número de Invoice,

gerando erro no complemento do boleto que não salva as informações de documento contábil, status e

data de pagamento na tabela /PWS/ZYCBT004.

 

 

Solução

Consistir na despesa de exportação o campo número da invoice, onde só permite se o mesmo existir na

/pws/zycbt017. Passar o campo selreg-nrinvoic para o mesmo da /pws/zycbt031 e /pws/zycbt064, no

processar boleto. Consistir os dados da despesa no complemento do boleto, para que armazene as

informações corretamente.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

COMPLEMENTO DO BOLETO - AGRUPAMENTO - DADOS CONTRATO

Informações Complementares

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

Nota Número 04054 Data: 27/06/2007 Hora: 11:29:31

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

 

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

Nota Número              : 04054

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 7.0

Pacote                   : 00002

Agrupamento              : 00004

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

Referência às notas relacionadas:

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

 

01236  - 00001 - 6.0    - 00023  - COMPLEMENTO DO BOLETO - AGRUPAMENTO - DADOS CONTRATO

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

DESPESA EXPORTAÇÃO/COMPLEMENTO DO BOLETO-INVOICE E DADOS DESPESA

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

Palavras Chave:

DESPESA EXPORTAÇÃO  COMPLEMENTO DO BOLETO INVOICE DADOS DESPESA

/PWS/ZYCBT004 BELNR STATUS DTPAGTO

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

Objetos da nota:

DYNP /PWS/SAPMZYCB001                        0204

REPS /PWS/MZYCB001F01

REPS /PWS/MZYCB001I01

REPS /PWS/MZYCB110F01

REPS /PWS/ZYCBN102

REPS /PWS/ZYCBR102

REPS /PWS/ZYGLR002

REPT /PWS/SAPMZYCB001

 

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

Modificações efetuadas em DYNP /PWS/SAPMZYCB001                        0204

 

...

 

PROCESS AFTER INPUT.

 

  FIELD /pws/zycbe004-waers.

  FIELD /pws/zycbe004-vlme.

 

  CHAIN.

    FIELD: /pws/zycbe004-ftxt,

           /pws/zycbe004-txtinf.

 

    MODULE ftxt_consistency_desp.

  ENDCHAIN.

 

* >> Início da inclusão:

  FIELD /pws/zycbe004-nrinvoic MODULE consiste_invoice.

* << Fim da inclusão

 

  MODULE:

    check_waers,

    user_command_0204.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB001F01

 

...

      ENDIF.

    ENDIF.

  ENDIF.

ENDFORM.

FORM ver_desp.

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

  CLEAR v_ind_desp.

  IF /pws/zycbe004-vlme IS INITIAL.

    MESSAGE i166.

    v_ind_desp = 'X'.

  ENDIF.

* << Fim da inclusão

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

  IF /pws/zycbe004-frpagto IS INITIAL.

* << Fim da exclusão

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

  IF /pws/zycbe004-frpagto IS INITIAL

     AND /pws/zycbe004-tppag ne 'R'.

* << Fim da inclusão

    MESSAGE i015 WITH text-042.

    v_ind_desp = 'X'.

  ENDIF.

  IF /pws/zycbe004-fcambio IS INITIAL.

    MESSAGE i015 WITH text-043.

    v_ind_desp = 'X'.

  ENDIF.

  IF /pws/zycbe004-tpdesp IS INITIAL.

    MESSAGE i015 WITH text-044.

    v_ind_desp = 'X'.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB001I01

 

...

  DESCRIBE TABLE itab_comissao LINES v_nrparc_comis.

  IF /pws/zycbe074-nrparc_comis LT v_nrparc_comis.

    MESSAGE e015 WITH text-440.

    /pws/zycbe074-nrparc_comis = v_nrparc_comis.

  ENDIF.

ENDMODULE.

MODULE limpa_zycbt002 INPUT.

  CLEAR   itab_zycbt002.

  REFRESH itab_zycbt002.

ENDMODULE.

* >> Início da inclusão:

MODULE consiste_invoice INPUT.

  IF NOT /pws/zycbe004-nrinvoic IS INITIAL.

    SELECT SINGLE nrparcf gsberf FROM /pws/zycbt017

                  INTO (/pws/zycbt017-nrparcf,/pws/zycbt017-gsberf)

                           WHERE nrinvoic = /pws/zycbe004-nrinvoic

                             and nrparcf  = /pws/zycbe004-nrparcf

                             and gsberf   = /pws/zycbe004-gsberf.

    IF sy-subrc NE 0.

      MESSAGE e061 WITH text-066.

    ENDIF.

  ELSE.

    CLEAR: /pws/zycbe004-nrparcf, /pws/zycbe004-gsberf.

  ENDIF.

ENDMODULE.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCB110F01

 

...

      ELSE.

        READ TABLE itab_zycbt004_aux WITH KEY

                     nrseqc   = itab_zycbt064_aux-nrchave(8)

                     nrinvoic = itab_zycbt064_aux-nrinvoic

                     nrparc   = itab_zycbt064_aux-nrparc

                     dtliquid = itab_zycbt064_aux-dtliquid

                     tpjuros  = itab_zycbt064_aux-tpjuros

                     tpdesp   = itab_zycbt064_aux-tpdesp

                     dtincl   = itab_zycbt064_aux-dtincl.

      ENDIF.

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

      IF sy-subrc = 0.

* << Fim da inclusão

      UPDATE /pws/zycbt004 SET status  = wa_despesa-statusp

                          belnr    = wa_despesa-belnr

                          dtpagto  = wa_despesa-dtpagto

                    WHERE nrseqc   = itab_zycbt004_aux-nrseqc

                      AND tpdesp   = itab_zycbt004_aux-tpdesp

                      AND nrparc   = itab_zycbt004_aux-nrparc

                      AND dtincl   = itab_zycbt004_aux-dtincl

                      AND dtliquid = itab_zycbt004_aux-dtliquid

                      AND tpjuros = itab_zycbt004_aux-tpjuros.

      IF ( itab_zycbt004_aux-tpcontr+0(1) EQ 'P'

         OR itab_zycbt004_aux-tpcontr+0(1) EQ 'S' )

         AND /pws/zycbt004-tpdesp EQ 'J'.

        UPDATE /pws/zycbt002 SET belnr = wa_despesa-belnr

                          dtpagto = wa_despesa-dtpagto

                  WHERE nrseqc  = itab_zycbt004_aux-nrseqc

                    AND nrparc  = itab_zycbt004_aux-nrparc

                    AND tpparc  = 'J'.

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

        ENDIF.

* << Fim da inclusão

      ENDIF.

    ENDLOOP.

  ELSEIF NOT /pws/zycbe031-tpdesp IS INITIAL.

    UPDATE /pws/zycbt028 SET statusp  = wa_despesa-statusp

                        belnr    = wa_despesa-belnr

                        dtpagto  = wa_despesa-dtpagto

                  WHERE nrseqc  = wa_despesa-cpochv+0(8)

                    AND nrseq   = wa_despesa-cpochv+8(8)

                    AND tpdesp  = wa_despesa-cpochv+16(3)

                    AND dtincl  = wa_despesa-cpochv+19(8).

...

 

 

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

Modificações efetuadas em REPS /PWS/ZYCBN102

 

...

    itab_selreg_aux-tipo     TO /pws/zycbt031-tipo,

    itab_selreg_aux-tab      TO /pws/zycbt031-tabela,

    v_waers                  TO /pws/zycbt031-waers,

    itab_selreg_aux-vlcomis  TO /pws/zycbt031-vlme,

    itab_selreg_aux-vlir     TO /pws/zycbt031-vlir,

    itab_selreg_aux-vlcide   TO /pws/zycbt031-vlcide,

    itab_selreg_aux-dtincl   TO /pws/zycbt031-dtincl,

    itab_selreg_aux-tpdesp   TO /pws/zycbt031-tpdesp,

    itab_selreg_aux-nrseq    TO /pws/zycbt031-nrseq_de,

    itab_selreg_aux-tpcontr  TO /pws/zycbt031-tpcontr,

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

    itab_selreg_aux-docto    TO /pws/zycbt031-nrinvoic,

* << Fim da exclusão

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

    itab_selreg_aux-nrinvoic TO /pws/zycbt031-nrinvoic,

* << Fim da inclusão

    itab_selreg_aux-codmodul TO /pws/zycbt031-codmodul,

    itab_selreg_aux-nrparcf  TO /pws/zycbt031-nrparcf,

    itab_selreg_aux-gsberf   TO /pws/zycbt031-gsberf,

    itab_selreg_aux-dtvencto TO /pws/zycbt031-dtvencto,

    itab_selreg_aux-dtliquid TO /pws/zycbt031-dtliquid,

    itab_selreg_aux-tpjuros  TO /pws/zycbt031-tpjuros.

  IF /pws/zycbt031-frgzu IS INITIAL.

    MOVE: itab_selreg_aux-frgzu    TO /pws/zycbt031-frgzu,

          itab_selreg_aux-estrat   TO /pws/zycbt031-estrat,

          itab_selreg_aux-frgsx1   TO /pws/zycbt031-frgsx1,

...

 

 

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

Modificações efetuadas em REPS /PWS/ZYCBR102

 

...

    itab_selreg_aux-tipo     TO /pws/zycbt031-tipo,

    itab_selreg_aux-tab      TO /pws/zycbt031-tabela,

    itab_selreg_aux-waers    TO /pws/zycbt031-waers,

    itab_selreg_aux-vlme     TO /pws/zycbt031-vlme,

    itab_selreg_aux-vlir     TO /pws/zycbt031-vlir,

    itab_selreg_aux-vlcide   TO /pws/zycbt031-vlcide,

    itab_selreg_aux-dtincl   TO /pws/zycbt031-dtincl,

    itab_selreg_aux-tpdesp   TO /pws/zycbt031-tpdesp,

    itab_selreg_aux-nrseq    TO /pws/zycbt031-nrseq_de,

    itab_selreg_aux-tpcontr  TO /pws/zycbt031-tpcontr,

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

    itab_selreg_aux-docto    TO /pws/zycbt031-nrinvoic,

* << Fim da exclusão

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

    itab_selreg_aux-nrinvoic TO /pws/zycbt031-nrinvoic,

* << Fim da inclusão

    itab_selreg_aux-codmodul TO /pws/zycbt031-codmodul,

    itab_selreg_aux-nrparcf  TO /pws/zycbt031-nrparcf,

    itab_selreg_aux-gsberf   TO /pws/zycbt031-gsberf,

    itab_selreg_aux-dtvencto TO /pws/zycbt031-dtvencto,

    itab_selreg_aux-dtliquid TO /pws/zycbt031-dtliquid,

    itab_selreg_aux-tpjuros  TO /pws/zycbt031-tpjuros,

    itab_selreg_aux-vlpis TO /pws/zycbt031-vlpis,

    itab_selreg_aux-vlcofins TO /pws/zycbt031-vlcofins.

  IF /pws/zycbt031-frgzu IS INITIAL.

    MOVE: itab_selreg_aux-frgzu    TO /pws/zycbt031-frgzu,

...

 

...

    v_vlpis    = v_vlpis  + itab_selreg_aux-vlpis.

    v_vlcofins = v_vlcofins + itab_selreg_aux-vlcofins.

    v_vliss = v_vliss + itab_selreg_aux-vliss.

    v_vliof = v_vliof + itab_selreg_aux-vliof.

    v_total_usd = v_total_usd + itab_selreg_aux-vlusd.

  ENDLOOP.

ENDFORM.

FORM preenche_itab_zycbt064.

  LOOP AT itab_selreg_aux.

    MOVE: itab_selreg_aux-nrchave  TO itab_zycbt064-nrchave,

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

          itab_selreg_aux-docto    TO itab_zycbt064-nrinvoic,

* << Fim da exclusão

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

          itab_selreg_aux-nrinvoic TO itab_zycbt064-nrinvoic,

* << Fim da inclusão

          itab_selreg_aux-nrparcf  TO itab_zycbt064-nrparcf,

          itab_selreg_aux-tipo     TO itab_zycbt064-tipo,

          itab_selreg_aux-dtvencto TO itab_zycbt064-dtvencto,

          itab_selreg_aux-dtliquid TO itab_zycbt064-dtliquid.

    IF NOT itab_selreg_aux-lifnr IS INITIAL.

      MOVE itab_selreg_aux-lifnr     TO itab_zycbt064-lifnr.

    ELSE.

      MOVE itab_selreg_aux-benefic   TO itab_zycbt064-lifnr.

    ENDIF.

    MOVE:

...

 

...

            itab_zycbt064-gsberf    TO /pws/zycbt064-gsberf,

            itab_zycbt064-prctr     TO /pws/zycbt064-prctr.

      INSERT INTO /pws/zycbt064 VALUES /pws/zycbt064.

    ENDLOOP.

    CLEAR   itab_zycbt064.

    REFRESH itab_zycbt064.

  ELSEIF sy-ucomm = 'PROC'.

    MOVE: v_count                    TO /pws/zycbt064-nrboleto,

          sy-datum                   TO /pws/zycbt064-dtboleto,

          itab_selreg_aux-nrchave    TO /pws/zycbt064-nrchave,

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

          itab_selreg_aux-docto      TO /pws/zycbt064-nrinvoic,

* << Fim da exclusão

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

          itab_selreg_aux-nrinvoic   TO /pws/zycbt064-nrinvoic,

* << Fim da inclusão

          itab_selreg_aux-nrparcf    TO /pws/zycbt064-nrparcf,

          itab_selreg_aux-tipo       TO /pws/zycbt064-tipo,

          itab_selreg_aux-dtvencto   TO /pws/zycbt064-dtvencto,

          itab_selreg_aux-dtliquid   TO /pws/zycbt064-dtliquid.

    IF NOT itab_selreg_aux-lifnr IS INITIAL.

      MOVE itab_selreg_aux-lifnr     TO /pws/zycbt064-lifnr.

    ELSE.

      MOVE itab_selreg_aux-benefic   TO /pws/zycbt064-lifnr.

    ENDIF.

    MOVE:

...

 

...

    itab_selreg_aux-tipo     TO /pws/zycbt031-tipo,

    itab_selreg_aux-tab      TO /pws/zycbt031-tabela,

    itab_selreg_aux-waers    TO /pws/zycbt031-waers,

    itab_selreg_aux-vlme     TO /pws/zycbt031-vlme,

    itab_selreg_aux-vlir     TO /pws/zycbt031-vlir,

    itab_selreg_aux-vlcide   TO /pws/zycbt031-vlcide,

    itab_selreg_aux-dtincl   TO /pws/zycbt031-dtincl,

    itab_selreg_aux-tpdesp   TO /pws/zycbt031-tpdesp,

    itab_selreg_aux-nrseq    TO /pws/zycbt031-nrseq_de,

    itab_selreg_aux-tpcontr  TO /pws/zycbt031-tpcontr,

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

    itab_selreg_aux-docto    TO /pws/zycbt031-nrinvoic,

* << Fim da exclusão

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

    itab_selreg_aux-nrinvoic TO /pws/zycbt031-nrinvoic,

* << Fim da inclusão

    itab_selreg_aux-nrparcf  TO /pws/zycbt031-nrparcf,

    itab_selreg_aux-codmodul TO /pws/zycbt031-codmodul,

    itab_selreg_aux-gsberf   TO /pws/zycbt031-gsberf,

    itab_selreg_aux-dtvencto TO /pws/zycbt031-dtvencto,

    itab_selreg_aux-dtliquid TO /pws/zycbt031-dtliquid,

    itab_selreg_aux-tpjuros  TO /pws/zycbt031-tpjuros,

    itab_selreg_aux-vlpis TO /pws/zycbt031-vlpis,

    itab_selreg_aux-vlcofins TO /pws/zycbt031-vlcofins.

  IF /pws/zycbt031-frgzu IS INITIAL.

    MOVE: itab_selreg_aux-frgzu   TO /pws/zycbt031-frgzu,

...

 

...

    itab_selreg_aux-tipo     TO /pws/zycbt031-tipo,

    itab_selreg_aux-tab      TO /pws/zycbt031-tabela,

    itab_selreg_aux-waers    TO /pws/zycbt031-waers,

    itab_selreg_aux-vlme     TO /pws/zycbt031-vlme,

    itab_selreg_aux-vlir     TO /pws/zycbt031-vlir,

    itab_selreg_aux-vlcide   TO /pws/zycbt031-vlcide,

    itab_selreg_aux-dtincl   TO /pws/zycbt031-dtincl,

    itab_selreg_aux-tpdesp   TO /pws/zycbt031-tpdesp,

    itab_selreg_aux-nrseq    TO /pws/zycbt031-nrseq_de,

    itab_selreg_aux-tpcontr  TO /pws/zycbt031-tpcontr,

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

    itab_selreg_aux-docto    TO /pws/zycbt031-nrinvoic,

* << Fim da exclusão

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

    itab_selreg_aux-nrinvoic TO /pws/zycbt031-nrinvoic,

* << Fim da inclusão

    itab_selreg_aux-codmodul TO /pws/zycbt031-codmodul,

    itab_selreg_aux-gsberf   TO /pws/zycbt031-gsberf,

    itab_selreg_aux-dtvencto TO /pws/zycbt031-dtvencto,

    itab_selreg_aux-dtliquid TO /pws/zycbt031-dtliquid,

    itab_selreg_aux-tpjuros  TO /pws/zycbt031-tpjuros,

    itab_selreg_aux-vlpis    TO /pws/zycbt031-vlpis,

    itab_selreg_aux-vlcofins TO /pws/zycbt031-vlcofins.

  IF NOT itab_selreg_aux-lifnr IS INITIAL OR

     NOT itab_selreg_aux-lifnr EQ '0000000000'.

    MOVE itab_selreg_aux-lifnr TO /pws/zycbt031-lifnr.

...

 

 

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

Modificações efetuadas em REPS /PWS/ZYGLR002

 

...

    ELSEIF sy-subrc = 0.

      CONCATENATE text-025 itab_zycbt015-txtdesc INTO v_tipo

                  SEPARATED BY space.

    ENDIF.

    CLEAR: v_me, v_usd.

    v_me = itab_zycbt004-vlme.

    MOVE:

      text-032                TO itab_selreg-mod,

      itab_zycbt004-nrseqc    TO itab_selreg-nrchave,

      itab_zycbt004-nrinvoic  TO itab_selreg-docto,

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

      itab_zycbt004-nrinvoic  TO itab_selreg-nrinvoic,

* << Fim da inclusão

      itab_zycbt004-nrparcf   TO itab_selreg-nrparcf ,

      itab_zycbt004-tpcontr   TO itab_selreg-tpcontr,

      '/PWS/ZYCBT004'              TO itab_selreg-tab,

      v_tipo                  TO itab_selreg-tipo,

      itab_zycbt004-tpcontr   TO itab_selreg-tpcontr,

      itab_zycbt004-bukrs     TO itab_selreg-bukrs,

      itab_zycbt004-dtvencto  TO itab_selreg-dtvencto,

      v_taxa_dia              TO itab_selreg-txdia,

      itab_zycbt004-waers     TO itab_selreg-waers,

      itab_zycbt004-vlme      TO itab_selreg-vlme,

...

 

...

        itab_selreg-vlme = v_me =

                           itab_zycbt086-vlme - itab_zycbt086-vlir.

      ELSE.

        itab_selreg-vlme = v_me = itab_zycbt086-vlme.

      ENDIF.

      v_me    = itab_zycbt086-vlme.

      MOVE:

        text-032                TO itab_selreg-mod,

        itab_zycbt086-nrseq     TO itab_selreg-nrchave,

        itab_zycbt086-nrinvoic  TO itab_selreg-docto,

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

        itab_zycbt086-nrinvoic  TO itab_selreg-nrinvoic,

* << Fim da inclusão

        itab_zycbt086-nrparcf   TO itab_selreg-nrparcf,

        '/PWS/ZYCBT086'         TO itab_selreg-tab,

        v_tipo                  TO itab_selreg-tipo,

        itab_zycbt086-bukrs     TO itab_selreg-bukrs,

        itab_zycbt086-dtvencto  TO itab_selreg-dtvencto,

        v_taxa_dia              TO itab_selreg-txdia,

        itab_zycbt086-waers     TO itab_selreg-waers,

        v_me                    TO itab_selreg-vlme,

        v_usd                   TO itab_selreg-vlusd,

        itab_zycbt086-vlir      TO itab_selreg-vlir,

...

 

...

    IF sy-subrc = 0.

      CONCATENATE text-044 itab_zycbt015-txtdesc text-045 INTO v_tipo

                  SEPARATED BY space.

    ENDIF.

    CLEAR: v_me, v_usd.

    v_me = itab_zycbt004-vlme.

    MOVE:

      text-032                TO itab_selreg-mod,

      itab_zycbt004-nrseqc    TO itab_selreg-nrchave,

      itab_zycbt004-nrinvoic  TO itab_selreg-docto,

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

      itab_zycbt004-nrinvoic  TO itab_selreg-nrinvoic,

* << Fim da inclusão

      itab_zycbt004-nrparcf   TO itab_selreg-nrparcf ,

      itab_zycbt004-tpcontr   TO itab_selreg-tpcontr,

      '/PWS/ZYCBT004'              TO itab_selreg-tab,

      v_tipo                  TO itab_selreg-tipo,

      itab_zycbt004-tpcontr   TO itab_selreg-tpcontr,

      itab_zycbt004-bukrs     TO itab_selreg-bukrs,

      itab_zycbt004-dtvencto  TO itab_selreg-dtvencto,

      v_taxa_dia              TO itab_selreg-txdia,

      itab_zycbt004-waers     TO itab_selreg-waers,

      itab_zycbt004-vlme      TO itab_selreg-vlme,

...

 

 

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

Modificações efetuadas em REPT /PWS/SAPMZYCB001

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 066

 

Texto: (27 caracteres)

"Número de Invoice inválido!"

 

Comprimento máximo: 27