CE PLUS - Nota 002246

Módulo: CÂMBIO FINANCEIRO

Funcionalidade: Rotina de Pagamento

Data/Hora da Publicação: 11/10/2006 00:00:00

Data/Hora Última Alteração: 18/02/2011 11:43:02

Descrição da Nota: SAÍDA DE PAGAMENTO/COMPLEMENTO - BOLETO/REMESSA FORMATO DE DATA

Sintoma

1) O período para 2005 foi fechado na OB52.

2) Ao entrar em "remessa - modificar" para incluir o IRRF e com a opção "IRRF deduzido da fatura".

Ao gravar, está sendo aberto o pop up corretamente para eu informar a data de lançamento, pois o

período está fechado, mas se eu informar essa data sem colocar os pontos, ou seja, ao invés de

informar 12.09.2006 eu informar 12092006, na F-51 está sendo levado o período errado, ao invés de

09, está levando 92.

 

 

Solução

Foi alterada a tela da nova data, forçando o usuário a indicar uma data correta e retornando sempre

no formato correto, independente do formato.

 

Versões Tratadas

6.0

Informações Complementares

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

Nota Número 02246 Data: 11/10/2006 Hora: 08:52:15

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

 

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

Nota Número              : 02246

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 6.0

Pacote                   : 00025

Agrupamento              : 00135

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

Referência às notas relacionadas:

Número - Ordem - Descrição Breve

 

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

SAÍDA DE PAGAMENTO/COMPLEMENTO - BOLETO/REMESSA FORMATO DE DATA

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

Palavras Chave:

SAÍDA DE PAGAMENTO/COMPLEMENTO - BOLETO/REMESSA FORMATO DE DATA

 

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

Objetos da nota:

FUNC /PWS/ZYCA_TRANSACAO_F_02R

FUNC /PWS/ZYCA_TRANSACAO_F_51P

FUNC /PWS/ZYCA_TRANSACAO_F_51Q

FUNC /PWS/ZYCA_TRANSACAO_F_63R

REPS /PWS/LZYCAGF2F01

REPS /PWS/LZYCAGF2TOP

REPS /PWS/MZYCA109F01

REPS /PWS/MZYCB115F01

 

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

Modificações efetuadas em FUNC /PWS/ZYCA_TRANSACAO_F_02R

 

...

    v_database(10)         TYPE c,

    v_valut(10)            TYPE c,

    v_data_conver_char(10) TYPE c,

    v_data_val_char(10)    TYPE c,

    v_data_lanc_char(10)   TYPE c,

* >> Início da inclusão: FUNCTION /PWS/ZYCA_TRANSACAO_F_02R

    v_data_lanc_char2(10)  TYPE c,

* << Fim da inclusão

    v_data_venc_char(10)   TYPE c,

    v_base_char(16)        TYPE c,

    v_kursf(9)             TYPE c,

    v_wrbtr(16)            TYPE c,

    v_dmbtr(16)            TYPE c,

...

 

...

         t_dados-bldat TO v_data_doc_char,

         t_dados-budat TO v_data_lanc_char,

         t_dados-kursf TO v_kursf.

  v_monat = t_dados-budat+4(2).

  v_gjahr = t_dados-budat+0(4).

* >> Início da exclusão: FUNCTION /PWS/ZYCA_TRANSACAO_F_02R

  v_koart = 'CA'.

* << Fim da exclusão

* >> Início da inclusão: FUNCTION /PWS/ZYCA_TRANSACAO_F_02R

  v_koart = '+'.

* << Fim da inclusão

  PERFORM check_periodo USING    v_koart

                                 v_monat

                                 v_bukrs

                                 v_gjahr

                                 v_konto

                        CHANGING v_data_lanc_char

                                 v_ok.

* >> Início da inclusão: FUNCTION /PWS/ZYCA_TRANSACAO_F_02R

  WRITE: t_dados-budat TO v_data_lanc_char2.

  IF v_data_lanc_char NE v_data_lanc_char2.

    SELECT SINGLE datfm FROM usr01 INTO usr01-datfm

                  WHERE bname = sy-uname.

    IF usr01-datfm = 1 OR sy-subrc NE 0.

* << Fim da inclusão

  CONCATENATE '0' v_data_lanc_char+3(2) INTO v_monat.

* >> Início da exclusão: FUNCTION /PWS/ZYCA_TRANSACAO_F_02R

  MOVE v_data_lanc_char+6(4) TO v_gjahr.

* << Fim da exclusão

* >> Início da inclusão: FUNCTION /PWS/ZYCA_TRANSACAO_F_02R

    ELSE.

      CONCATENATE '0' v_data_lanc_char+0(2) INTO v_monat.

    ENDIF.

    v_gjahr   = v_data_lanc_char+6(4).

  ENDIF.

* << Fim da inclusão

  PERFORM bdc_screen USING 'SAPMF05A' '0100'.

  PERFORM bdc_field  USING:

         'BKPF-BLDAT'  v_data_doc_char,

         'BKPF-BLART'  t_dados-blart,

         'BKPF-BUKRS'  t_dados-bukrs,

         'BKPF-BUDAT'  v_data_lanc_char,

* >> Início da exclusão: FUNCTION /PWS/ZYCA_TRANSACAO_F_02R

         'BKPF-MONAT'  t_dados-budat+4(2),

* << Fim da exclusão

* >> Início da inclusão: FUNCTION /PWS/ZYCA_TRANSACAO_F_02R

         'BKPF-MONAT'  v_monat+1(2),

* << Fim da inclusão

         'BKPF-WAERS'  t_dados-waers,

         'BKPF-KURSF'  v_kursf,

         'BKPF-BKTXT'  t_dados-bktxt,

         'RF05A-NEWBS' t_dados-newbs,

         'RF05A-NEWKO' t_dados-d_newko,

...

 

 

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

Modificações efetuadas em FUNC /PWS/ZYCA_TRANSACAO_F_51P

 

...

    v_cont(2) TYPE n,

    v_tabix   LIKE sy-tabix,

    v_campo(15),

    v_bldat(10),

    v_budat(10),

* >> Início da inclusão: FUNCTION /PWS/ZYCA_TRANSACAO_F_51P

    v_budat2(10),

* << Fim da inclusão

    v_wrbtr(16),

    v_dmbtr(16),

    v_residuo(15),

    v_kursf(9),

    v_xpos(2)            TYPE n,

...

 

...

           t_dados-wrbtr   TO v_wrbtr CURRENCY t_dados-waers,

           t_dados-dmbtr   TO v_dmbtr CURRENCY 'X',

           t_dados-bukrs   TO v_bukrs.

    v_monat = t_dados-budat+4(2).

    v_gjahr = t_dados-budat+0(4).

* >> Início da exclusão: FUNCTION /PWS/ZYCA_TRANSACAO_F_51P

    v_koart = 'K'.

* << Fim da exclusão

* >> Início da inclusão: FUNCTION /PWS/ZYCA_TRANSACAO_F_51P

    v_koart = '+'.

* << Fim da inclusão

    PERFORM check_periodo USING    v_koart

                                   v_monat

                                   v_bukrs

                                   v_gjahr

                                   v_konto

                          CHANGING v_budat

                                   v_ok.

* >> Início da inclusão: FUNCTION /PWS/ZYCA_TRANSACAO_F_51P

    WRITE: t_dados-budat TO v_budat2.

    IF v_budat NE v_budat2.

      SELECT SINGLE datfm FROM usr01 INTO usr01-datfm

                    WHERE bname = sy-uname.

      IF usr01-datfm = 1 OR sy-subrc NE 0.

* << Fim da inclusão

    CONCATENATE '0' v_budat+3(2) INTO v_monat.

* >> Início da exclusão: FUNCTION /PWS/ZYCA_TRANSACAO_F_51P

    MOVE v_budat+6(4) TO v_gjahr.

* << Fim da exclusão

* >> Início da inclusão: FUNCTION /PWS/ZYCA_TRANSACAO_F_51P

      ELSE.

        CONCATENATE '0' v_budat+0(2) INTO v_monat.

      ENDIF.

      v_gjahr   = v_budat+6(4).

    ENDIF.

* << Fim da inclusão

    PERFORM bdc_screen USING 'SAPMF05A' '0122'.

    PERFORM bdc_field USING:

            'BKPF-BLDAT'  v_bldat,

            'BKPF-BLART'  t_dados-blart,

            'BKPF-BUKRS'  v_bukrs,

            'BKPF-BUDAT'  v_budat,

* >> Início da exclusão: FUNCTION /PWS/ZYCA_TRANSACAO_F_51P

            'BKPF-MONAT'  v_budat+3(2),

* << Fim da exclusão

* >> Início da inclusão: FUNCTION /PWS/ZYCA_TRANSACAO_F_51P

            'BKPF-MONAT'  v_monat+1(2),

* << Fim da inclusão

            'BKPF-WAERS'  t_dados-waers,

            'BKPF-KURSF'  v_kursf,

            'BKPF-BKTXT'  t_dados-bktxt,

            'RF05A-AUGTX' t_dados-augtx,

            'BDC_OKCODE'  '=SL'.

...

 

 

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

Modificações efetuadas em FUNC /PWS/ZYCA_TRANSACAO_F_51Q

 

...

    v_cont(2) TYPE n,

    v_tabix   LIKE sy-tabix,

    v_campo(15),

    v_bldat(10),

    v_budat(10),

* >> Início da inclusão: FUNCTION /PWS/ZYCA_TRANSACAO_F_51Q

    v_budat2(10),

* << Fim da inclusão

    v_wrbtr(16),

    v_dmbtr(16),

    v_residuo(15),

    v_kursf(9),

    v_xpos(2)            TYPE n,

...

 

...

           t_dados-dmbtr   to v_dmbtr currency v_waersb,

           t_dados-bukrs   to v_bukrs.

    v_monat = t_dados-budat+4(2).

    v_gjahr = t_dados-budat+0(4).

    v_koart = t_dados-agkoa.

* >> Início da inclusão: FUNCTION /PWS/ZYCA_TRANSACAO_F_51Q

    v_koart = '+'.

    v_koart = t_dados-agkoa.

* << Fim da inclusão

    v_konto = t_dados-agkon.

    PERFORM check_periodo USING    v_koart

                                   v_monat

                                   v_bukrs

                                   v_gjahr

                                   v_konto

                          CHANGING v_budat

                                   v_ok.

* >> Início da exclusão: FUNCTION /PWS/ZYCA_TRANSACAO_F_51Q

    v_dtlanc = v_budat.

* << Fim da exclusão

    CONCATENATE '0' v_budat+3(2) INTO v_monat.

    MOVE v_budat+6(4) TO v_gjahr.

    PERFORM bdc_screen USING 'SAPMF05A' '0122'.

    PERFORM bdc_field USING:

            'BKPF-BLDAT'  v_bldat,

            'BKPF-BLART'  t_dados-blart,

            'BKPF-BUKRS'  v_bukrs,

            'BKPF-BUDAT'  v_budat,

* >> Início da exclusão: FUNCTION /PWS/ZYCA_TRANSACAO_F_51Q

            'BKPF-MONAT'  v_budat+3(2),

* << Fim da exclusão

* >> Início da inclusão: FUNCTION /PWS/ZYCA_TRANSACAO_F_51Q

            'BKPF-MONAT'  v_monat+1(2),

* << Fim da inclusão

            'BKPF-WAERS'  t_dados-waers,

            'BKPF-KURSF'  v_kursf,

            'BKPF-BKTXT'  t_dados-bktxt,

            'RF05A-AUGTX' t_dados-augtx,

            'RF05A-NEWBS' t_dados-newbs,

...

 

 

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

Modificações efetuadas em FUNC /PWS/ZYCA_TRANSACAO_F_63R

 

...

    v_data_conv_char(10)   TYPE c,

    v_database(10)         TYPE c,

    v_data_conver_char(10) TYPE c,

    v_data_val_char(10)    TYPE c,

    v_data_lanc_char(10)   TYPE c,

* >> Início da inclusão: FUNCTION /PWS/ZYCA_TRANSACAO_F_63R

    v_data_lanc_char2(10)  TYPE c,

* << Fim da inclusão

    v_data_valut(10)       TYPE c,

    v_data_venc_char(10)   TYPE c,

    v_base_char(16)        TYPE c,

    v_kursf(9)             TYPE c,

    v_wrbtr(16)            TYPE c,

...

 

...

  IF NOT t_dados-c_valut IS INITIAL.

    WRITE t_dados-c_valut TO v_data_valut.

  ENDIF.

  v_monat = t_dados-budat+4(2).

  v_gjahr = t_dados-budat+0(4).

* >> Início da exclusão: FUNCTION /PWS/ZYCA_TRANSACAO_F_63R

  v_koart = 'CA'.

* << Fim da exclusão

* >> Início da inclusão: FUNCTION /PWS/ZYCA_TRANSACAO_F_63R

  v_koart = '+'.

* << Fim da inclusão

  PERFORM check_periodo USING    v_koart

                                 v_monat

                                 v_bukrs

                                 v_gjahr

                                 v_konto

                        CHANGING v_data_lanc_char

                                 v_ok.

* >> Início da inclusão: FUNCTION /PWS/ZYCA_TRANSACAO_F_63R

  WRITE: t_dados-budat TO v_data_lanc_char2.

  IF v_data_lanc_char NE v_data_lanc_char2.

    SELECT SINGLE datfm FROM usr01 INTO usr01-datfm

                  WHERE bname = sy-uname.

    IF usr01-datfm = 1 OR sy-subrc NE 0.

* << Fim da inclusão

  CONCATENATE '0' v_data_lanc_char+3(2) INTO v_monat.

* >> Início da exclusão: FUNCTION /PWS/ZYCA_TRANSACAO_F_63R

  MOVE v_data_lanc_char+6(4) TO v_gjahr.

* << Fim da exclusão

* >> Início da inclusão: FUNCTION /PWS/ZYCA_TRANSACAO_F_63R

    ELSE.

      CONCATENATE '0' v_data_lanc_char+0(2) INTO v_monat.

    ENDIF.

    v_gjahr   = v_data_lanc_char+6(4).

  ENDIF.

* << Fim da inclusão

  PERFORM bdc_screen USING 'SAPLF040' '0100'.

  PERFORM bdc_field  USING:

         'BKPF-BLDAT'  v_data_doc_char,

         'BKPF-BLART'  t_dados-blart,

         'BKPF-BUKRS'  t_dados-bukrs,

         'BKPF-BUDAT'  v_data_lanc_char,

* >> Início da exclusão: FUNCTION /PWS/ZYCA_TRANSACAO_F_63R

         'BKPF-MONAT'  t_dados-budat+4(2),

* << Fim da exclusão

* >> Início da inclusão: FUNCTION /PWS/ZYCA_TRANSACAO_F_63R

         'BKPF-MONAT'  v_monat+1(2),

* << Fim da inclusão

         'BKPF-WAERS'  t_dados-waers,

         'BKPF-KURSF'  v_kursf,

         'BKPF-BKTXT'  t_dados-bktxt,

         'RF05V-NEWBS' t_dados-newbs,

         'RF05V-NEWKO' t_dados-c_newko,

...

 

 

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

Modificações efetuadas em REPS /PWS/LZYCAGF2F01

 

...

  ENDIF.

  p_novadata = v_novadata.

ENDFORM.

FORM entrar_nova_data CHANGING value(p_resposta)

                               value(p_novadata).

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

  CALL FUNCTION 'POPUP_TO_GET_ONE_VALUE'

* << Fim da exclusão

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

  DATA: v_data_ TYPE d.

  WHILE v_data_ IS INITIAL OR

        v_data_ EQ '00000000'.

    IF sy-index > 1.

      MESSAGE i061(/pws/zycbm) WITH text-046.

    ENDIF.

    CALL FUNCTION 'TR_POPUP_INPUT_DATE'

* << Fim da inclusão

       EXPORTING

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

            textline1      = text-010

            textline2      = text-011

            titel          = text-012

            valuelength    = 10

* << Fim da exclusão

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

              iv_title               = text-012

              iv_description1        = text-010

              iv_description2        = text-011

              iv_date                = v_data_

* << Fim da inclusão

       IMPORTING

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

            answer         = p_resposta

            value1         = p_novadata

* << Fim da exclusão

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

              ev_date                = v_data_

* << Fim da inclusão

       EXCEPTIONS

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

            titel_too_long = 1

            OTHERS         = 2.

* << Fim da exclusão

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

              action_aborted_by_user = 1

              value_not_changed      = 2

              OTHERS                 = 3.

    WRITE v_data_ TO p_novadata.

  ENDWHILE.

* << Fim da inclusão

ENDFORM.

FORM trata_string_credito2 TABLES   p_t_dados STRUCTURE /pws/zycbe033

                                    p_t_campo STRUCTURE /pws/zycbt034

                                    p_itab_oculto2 LIKE itab_oculto2[]

                           USING    value(p_string)

...

 

 

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

Modificações efetuadas em REPS /PWS/LZYCAGF2TOP

 

...

        lfbw,

        lfa1,

        lfb1,

        knb1,

        tcurx,

* >> Início da inclusão:

        usr01,

* << Fim da inclusão

        /pws/zycbt011,

        /pws/zycbt007,

        /pws/zycbt009,

        j_1bam,

        /pws/zycet036,

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCA109F01

 

...

                                        tpmsg  = 'S'.

      IF sy-subrc = 0.

        MESSAGE i061 WITH 'PRINCIPAL -' text-164

                          itab_zycbt032-belnr text-167.

        /pws/zycbe124-belnr_f51 = itab_zycbt032-belnr.

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

        CONCATENATE v_dtlanc+6(4) v_dtlanc+3(2) v_dtlanc(2)

                    INTO v_dtlanc.

* << Fim da exclusão

        IF v_dtlanc NE /pws/zycbe124-dtdocto AND

           NOT v_dtlanc = '00000000' AND

           NOT v_dtlanc = '        '.

          /pws/zycbe124-dtdocto = v_dtlanc.

          wa_zycbt124-dtdocto   = v_dtlanc.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB115F01

 

...

      READ TABLE itab_zycbt032 WITH KEY tcode  = 'F-51'

                                        tabela = '/PWS/ZYCBT124'

                                        cpochv = itab_zycbt124-nrseq

                                        tpmsg  = 'S'.

      IF sy-subrc = 0.

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

        CONCATENATE v_dtlanc2+6(4) v_dtlanc2+3(2) v_dtlanc2(2)

                    INTO v_dtlanc2.

* << Fim da exclusão

        IF v_dtlanc2 NE itab_zycbt124-dtdocto AND

           NOT v_dtlanc2 = '00000000' AND

           NOT v_dtlanc2 = '        '.

          itab_zycbt124-dtdocto = v_dtlanc2.

        ENDIF.

...