CE PLUS - Nota 007712

Módulo: CÂMBIO FINANCEIRO

Funcionalidade: Remessa

Data/Hora da Publicação: 04/12/2008 00:00:00

Data/Hora Última Alteração: 18/02/2011 14:15:25

Descrição da Nota: PROGRAMA DE REMESSA - ALTERAR CODIGOS DE ANO FISCAL

Sintoma

Não encontra o ano fiscal correto.

 

 

Solução

incluir funçoes para selecionar o ano e o periodo correto.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

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

VERIFICAÇÃO AMPLIADA, CODE INSPECTOR MODULO DE FUNÇÃO CAMBIO

Informações Complementares

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

Nota Número 07712 Data: 04/12/2008 Hora: 14:06:52

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

 

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

Nota Número              : 07712

Categoria                : Melhoria

Prioridade               : Alta

Versão PW.CE             : 7.0

Pacote                   : 00007

Agrupamento              : 00076

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

Referência às notas relacionadas:

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

 

02246  - 00002 - 6.0    - 00025  - SAÍDA DE PAGAMENTO/COMPLEMENTO - BOLETO/REMESSA FORMATO DE DATA

05772  - 00001 - 7.0    - 00004  - VERIFICAÇÃO AMPLIADA, CODE INSPECTOR MODULO DE FUNÇÃO CAMBIO

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

PROGRAMA DE REMESSA - ALTERAR CODIGOS DE ANO FISCAL

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

Palavras Chave:

PROGRAMA DE REMESSA - MENSAGEM PERÍODO FECHADO NA CRIAÇÃO COM ANO FISCAL

 

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

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

 

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

Modificações efetuadas em FUNC /PWS/ZYCA_TRANSACAO_F_02R

 

...

    v_bukrs                LIKE t001-bukrs,

    v_gjahr                LIKE t001b-frye1,

    v_conta                LIKE lfb1-akont,

    v_tabix                LIKE sy-tabix,

    v_tabix_aux            LIKE sy-tabix,

    v_newko(10)            TYPE c,

    v_newko_aux(10)        TYPE c,

    v_tamanho(2)           TYPE n,

    v_pep                  LIKE prps-posid,

    v_konto                LIKE t001b-vkont.

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

Data:     v_date               LIKE t009b-bdatj,

          v_periv(2),

          v_budat(10).

* << Fim da inclusão

  READ TABLE t_dados INDEX 1.

  CHECK t_dados-tcode = 'F-02'.

  IF ( t_dados-bukrs = space ).

    t_campo-mandt = t_dados-mandt.

    t_campo-campo = 'BKPF-BUKRS'.

    t_campo-descricao = text-021.

    APPEND t_campo.

    RAISE campo_em_branco.

  ENDIF.

  IF ( t_dados-d_newko = space ).

...

 

...

                                      itab_oculto

                                USING v_string_debito.

  PERFORM trata_string_debito  TABLES t_dados

                                      t_campo

                                      itab_oculto

                                USING v_string_debito.

  WRITE: t_dados-bukrs TO v_bukrs,

         t_dados-bldat TO v_data_doc_char,

         t_dados-budat TO v_data_lanc_char,

         t_dados-kursf TO v_kursf.

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

  v_monat = t_dados-budat+4(2).

  v_gjahr = t_dados-budat+0(4).

* << Fim da exclusão

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

    CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'

         EXPORTING

              v_bukrs                = t_dados-bukrs

              v_date                 = t_dados-budat

         IMPORTING

              v_year                 = v_date

         EXCEPTIONS

              variante_de_exercicio  = 1

              data_nao_encontrada    = 2

              empresa_nao_encontrada = 3

              period_in_not_valid    = 4

              period_not_assigned    = 5

              version_undefined      = 6

              OTHERS                 = 7.

    v_gjahr = v_date.

    SELECT SINGLE periv FROM t001

                 INTO v_periv

                 WHERE bukrs EQ t_dados-bukrs.

    CALL FUNCTION 'DETERMINE_PERIOD'

         EXPORTING

              date                = t_dados-budat

              version             = v_periv

         IMPORTING

              period              = v_monat

         EXCEPTIONS

              period_in_not_valid = 1

              period_not_assigned = 2

              version_undefined   = 3

              OTHERS              = 4.

    WHILE v_ok EQ 'N'.

      PERFORM check_periodo USING    '+'

                                     v_monat

                                     v_bukrs

                                     v_gjahr

                                     space

                            CHANGING v_budat

                                     v_ok.

      MOVE v_budat+6(4) TO v_gjahr.

      MOVE v_budat+3(2) TO v_monat.

    ENDWHILE.

* << Fim da inclusão

  v_koart = '+'.

  PERFORM check_periodo USING    v_koart

                                 v_monat

                                 v_bukrs

                                 v_gjahr

                                 v_konto

                        CHANGING v_data_lanc_char

                                 v_ok.

  WRITE: t_dados-budat TO v_data_lanc_char2.

  IF v_data_lanc_char NE v_data_lanc_char2.

...

 

 

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

Modificações efetuadas em FUNC /PWS/ZYCA_TRANSACAO_F_51P

 

...

    v_monat              LIKE t001b-frpe1,

    v_bukrs              LIKE t001-bukrs,

    v_gjahr              LIKE t001b-frye1,

    v_zfbdt(10)          TYPE c,

    v_data_val_char(10)  TYPE c,"#EC NEEDED

    v_dtdocto(10),

    v_xpos_belnr(2)   TYPE n,

    v_xpos_belnr2(15),

    v_selecao(2)    TYPE n,

    v_konto              LIKE t001b-vkont.

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

Data:     v_date               LIKE t009b-bdatj,

          v_periv(2).

* << Fim da inclusão

  DATA: wa_zycbt089 LIKE /pws/zycbt089.

  SELECT selps

    FROM t021r

      up to 1 rows

    INTO  v_xpos

    WHERE event = 'SL-AG'

      AND feldn = 'BELNR'.

  endselect .

  ADD 1 TO v_xpos.

  CONCATENATE 'RF05A-XPOS1(' v_xpos ')' INTO v_campo.

...

 

...

      t_campo-descricao = text-027.

      APPEND t_campo.

      RAISE campo_em_branco.

    ENDIF.

    WRITE: t_dados-bldat   TO v_bldat,

           t_dados-budat   TO v_budat,

           t_dados-kursf   TO v_kursf,

           t_dados-wrbtr   TO v_wrbtr CURRENCY t_dados-waers,

           t_dados-dmbtr   TO v_dmbtr CURRENCY 'X',

           t_dados-bukrs   TO v_bukrs.

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

    v_monat = t_dados-budat+4(2).

    v_gjahr = t_dados-budat+0(4).

* << Fim da exclusão

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

    CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'

         EXPORTING

              v_bukrs                = t_dados-bukrs

              v_date                 = t_dados-budat

         IMPORTING

              v_year                 = v_date

         EXCEPTIONS

              variante_de_exercicio  = 1

              data_nao_encontrada    = 2

              empresa_nao_encontrada = 3

              period_in_not_valid    = 4

              period_not_assigned    = 5

              version_undefined      = 6

              OTHERS                 = 7.

    v_gjahr = v_date.

    SELECT SINGLE periv FROM t001

                 INTO v_periv

                 WHERE bukrs EQ t_dados-bukrs.

    CALL FUNCTION 'DETERMINE_PERIOD'

         EXPORTING

              date                = t_dados-budat

              version             = v_periv

         IMPORTING

              period              = v_monat

         EXCEPTIONS

              period_in_not_valid = 1

              period_not_assigned = 2

              version_undefined   = 3

              OTHERS              = 4.

    WHILE v_ok EQ 'N'.

      PERFORM check_periodo USING    '+'

                                     v_monat

                                     v_bukrs

                                     v_gjahr

                                     space

                            CHANGING v_budat

                                     v_ok.

      MOVE v_budat+6(4) TO v_gjahr.

      MOVE v_budat+3(2) TO v_monat.

    ENDWHILE.

* << Fim da inclusão

    v_koart = '+'.

    PERFORM check_periodo USING    v_koart

                                   v_monat

                                   v_bukrs

                                   v_gjahr

                                   v_konto

                          CHANGING v_budat

                                   v_ok.

    WRITE: t_dados-budat TO v_budat2.

    IF v_budat NE v_budat2.

...

 

 

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

Modificações efetuadas em FUNC /PWS/ZYCA_TRANSACAO_F_51Q

 

...

    v_bukrs              LIKE t001-bukrs,

    v_gjahr              LIKE t001b-frye1,

    v_zfbdt(10)          TYPE c,

    v_data_val_char(10)  TYPE c,                            "#EC NEEDED

    v_xpos_belnr(2)      TYPE n,

    v_selecao(2)         TYPE n,

    v_konto              LIKE t001b-vkont,

    v_fdtdoc             TYPE /pws/zycbt007-fdtdoc,

    v_waersb             LIKE /pws/zycbt007-waersb.

  DATA: wa_zycbt089 LIKE /pws/zycbt089.

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

Data:     v_date               LIKE t009b-bdatj,

          v_periv(2).

* << Fim da inclusão

  SELECT selps

    FROM t021r

      UP TO 1 ROWS

    INTO  v_xpos

    WHERE event = 'SL-AG'

      AND feldn = 'BELNR'.

  ENDSELECT .

  ADD 1 TO v_xpos.

  CONCATENATE 'RF05A-XPOS1(' v_xpos ')' INTO v_campo.

  SELECT selps

...

 

...

      ELSE.

        t_dados-bldat = t_dados-budat.

      ENDIF.

    ENDIF.

    WRITE: t_dados-bldat   TO v_bldat,

           t_dados-budat   TO v_budat,

           t_dados-kursf   TO v_kursf,

           t_dados-wrbtr   TO v_wrbtr CURRENCY t_dados-waers,

           t_dados-dmbtr   TO v_dmbtr CURRENCY v_waersb,

           t_dados-bukrs   TO v_bukrs.

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

    v_monat = t_dados-budat+4(2).

    v_gjahr = t_dados-budat+0(4).

* << Fim da exclusão

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

    CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'

         EXPORTING

              v_bukrs                = t_dados-bukrs

              v_date                 = t_dados-budat

         IMPORTING

              v_year                 = v_date

         EXCEPTIONS

              variante_de_exercicio  = 1

              data_nao_encontrada    = 2

              empresa_nao_encontrada = 3

              period_in_not_valid    = 4

              period_not_assigned    = 5

              version_undefined      = 6

              OTHERS                 = 7.

    v_gjahr = v_date.

    SELECT SINGLE periv FROM t001

                 INTO v_periv

                 WHERE bukrs EQ t_dados-bukrs.

    CALL FUNCTION 'DETERMINE_PERIOD'

         EXPORTING

              date                = t_dados-budat

              version             = v_periv

         IMPORTING

              period              = v_monat

         EXCEPTIONS

              period_in_not_valid = 1

              period_not_assigned = 2

              version_undefined   = 3

              OTHERS              = 4.

    WHILE v_ok EQ 'N'.

      PERFORM check_periodo USING    '+'

                                     v_monat

                                     v_bukrs

                                     v_gjahr

                                     space

                            CHANGING v_budat

                                     v_ok.

      MOVE v_budat+6(4) TO v_gjahr.

      MOVE v_budat+3(2) TO v_monat.

    ENDWHILE.

* << Fim da inclusão

    v_koart = t_dados-agkoa.

    v_koart = '+'.

    v_koart = t_dados-agkoa.

    v_konto = t_dados-agkon.

    PERFORM check_periodo USING    v_koart

                                   v_monat

                                   v_bukrs

                                   v_gjahr

                                   v_konto

                          CHANGING v_budat

...

 

 

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

Modificações efetuadas em FUNC /PWS/ZYCA_TRANSACAO_F_63R

 

...

    v_tabix                LIKE sy-tabix,

    v_tabix_aux            LIKE sy-tabix,

    v_newko(10)            TYPE c,

    v_newko_aux(10)        TYPE c,

    v_tamanho(2)           TYPE n,

    v_pep                  LIKE prps-posid,

    v_pep2                 LIKE prps-posid,

    v_konto                LIKE t001b-vkont,

    v_deb_cred(1)          TYPE c VALUE 'C',

    wa_tbsl                TYPE tbsl.

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

Data:     v_date               LIKE t009b-bdatj,

          v_periv(2),

          v_budat(10).

* << Fim da inclusão

  READ TABLE t_dados INDEX 1.

  CHECK t_dados-tcode = 'F-63'.

  IF ( t_dados-bukrs = space ).

    t_campo-mandt = t_dados-mandt.

    t_campo-campo = 'BKPF-BUKRS'.

    t_campo-descricao = text-021.

    APPEND t_campo.

    RAISE campo_em_branco.

  ENDIF.

  IF ( t_dados-c_newko = space ).

...

 

...

                                       itab_oculto

                                 USING v_string_debito.

  ENDIF.

  WRITE: t_dados-bukrs   TO v_bukrs,

         t_dados-bldat   TO v_data_doc_char,

         t_dados-budat   TO v_data_lanc_char,

         t_dados-kursf   TO v_kursf.

  IF NOT t_dados-c_valut IS INITIAL.

    WRITE t_dados-c_valut TO v_data_valut.

  ENDIF.

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

  v_monat = t_dados-budat+4(2).

  v_gjahr = t_dados-budat+0(4).

* << Fim da exclusão

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

    CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'

         EXPORTING

              v_bukrs                = t_dados-bukrs

              v_date                 = t_dados-budat

         IMPORTING

              v_year                 = v_date

         EXCEPTIONS

              variante_de_exercicio  = 1

              data_nao_encontrada    = 2

              empresa_nao_encontrada = 3

              period_in_not_valid    = 4

              period_not_assigned    = 5

              version_undefined      = 6

              OTHERS                 = 7.

    v_gjahr = v_date.

    SELECT SINGLE periv FROM t001

                 INTO v_periv

                 WHERE bukrs EQ t_dados-bukrs.

    CALL FUNCTION 'DETERMINE_PERIOD'

         EXPORTING

              date                = t_dados-budat

              version             = v_periv

         IMPORTING

              period              = v_monat

         EXCEPTIONS

              period_in_not_valid = 1

              period_not_assigned = 2

              version_undefined   = 3

              OTHERS              = 4.

    WHILE v_ok EQ 'N'.

      PERFORM check_periodo USING    '+'

                                     v_monat

                                     v_bukrs

                                     v_gjahr

                                     space

                            CHANGING v_budat

                                     v_ok.

      MOVE v_budat+6(4) TO v_gjahr.

      MOVE v_budat+3(2) TO v_monat.

    ENDWHILE.

* << Fim da inclusão

  v_koart = '+'.

  PERFORM check_periodo USING    v_koart

                                 v_monat

                                 v_bukrs

                                 v_gjahr

                                 v_konto

                        CHANGING v_data_lanc_char

                                 v_ok.

  WRITE: t_dados-budat TO v_data_lanc_char2.

  IF v_data_lanc_char NE v_data_lanc_char2.

...