CE PLUS - Nota 004797

Módulo: CÂMBIO EXPORTAÇÃO

Funcionalidade: Rotina de Pagamento

Data/Hora da Publicação: 24/09/2007 00:00:00

Data/Hora Última Alteração: 10/03/2010 17:01:16

Descrição da Nota: SAÍDA DE PAGAMENTO - BOLETO

Sintoma

 

Ao parametrizar na tabela /PWS/ZYGL007 para que a data do documento seja a data do dia, para o

pagamento de fatura de importação o programa não está respeitando essa data na saída de pagamento,

e o programa está preenchendo a data do lançamento igual a data do documento.

 

Solução

 

Alteração nas funções verificando se a empresa está parametrizada para data do dia ou de lançamento:

* /PWS/ZYCA_TRANSACAO_F_51

* /PWS/ZYCA_TRANSACAO_F_51B

* /PWS/ZYCA_TRANSACAO_F_51C

* /PWS/ZYCA_TRANSACAO_F_51Q

* /PWS/ZYCB_TRANSACAO_F_02A

* /PWS/ZYCM_TRANSACAO_F_51A

* /PWS/ZYCM_TRANSACAO_F_51G

* /PWS/ZYCM_TRANSACAO_F_51O

* /PWS/ZYGL_TRANSACAO_F_02

* /PWS/ZYGL_TRANSACAO_F_04

* /PWS/ZYGL_TRANSACAO_F_30

* /PWS/ZYGL_TRANSACAO_F_51

* /PWS/ZYGL_TRANSACAO_F_53

Versões Tratadas

7.0

Informações Complementares

 

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

Nota Número 04797 Data: 24/09/2007 Hora: 09:04:56

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

 

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

Nota Número              : 04797

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 7.0

Pacote                   : 00003

Agrupamento              : 00013

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

Referência às notas relacionadas:

Número - Ordem - Descrição Breve

 

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

SAÍDA DE PAGAMENTO - BOLETO

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

Palavras Chave:

SAÍDA DE PAGAMENTO - BOLETO

 

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

Objetos da nota:

FUNC /PWS/ZYCA_TRANSACAO_F_51

FUNC /PWS/ZYCA_TRANSACAO_F_51B

FUNC /PWS/ZYCA_TRANSACAO_F_51C

FUNC /PWS/ZYCA_TRANSACAO_F_51Q

FUNC /PWS/ZYCB_TRANSACAO_F_02A

FUNC /PWS/ZYCM_TRANSACAO_F_51A

FUNC /PWS/ZYCM_TRANSACAO_F_51G

FUNC /PWS/ZYCM_TRANSACAO_F_51O

FUNC /PWS/ZYGL_TRANSACAO_F_02

FUNC /PWS/ZYGL_TRANSACAO_F_04

FUNC /PWS/ZYGL_TRANSACAO_F_30

FUNC /PWS/ZYGL_TRANSACAO_F_51

FUNC /PWS/ZYGL_TRANSACAO_F_53

 

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

Modificações efetuadas em FUNC /PWS/ZYCA_TRANSACAO_F_51

 

...

    v_periodo(2),

    v_date               LIKE t009b-bdatj,

    v_valut(10),

    v_xpos1(2) TYPE n,

    v_xpos2(2)           TYPE n,

    v_xpos_awkey(15),

    v_dtdocto(10),

    v_xpos_belnr(2)      TYPE n,

    v_selecao(2)         TYPE n,

    v_konto              LIKE t001b-vkont,

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

    v_fdtdoc             TYPE /pws/zycbt007-fdtdoc,

* << Fim da inclusão

    v_reg                TYPE i.

  DATA: itab_t041t LIKE t041t OCCURS 0 WITH HEADER LINE.

  DATA: wa_zycbt089 LIKE /pws/zycbt089.

  SELECT SINGLE selps FROM t021r

    INTO  v_xpos1

    WHERE event = 'SL-AG'

      AND feldn = 'BELNR'.

  ADD 1 TO v_xpos1.

  SHIFT v_xpos1 LEFT DELETING LEADING  '0'.

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

...

 

...

       WHERE spras = sy-langu.

  READ TABLE itab_t041t WITH KEY auglv = 'UMBUCHNG'.

  v_xpos1 = sy-tabix.

  SHIFT v_xpos1 LEFT DELETING LEADING '0'.

  CONCATENATE 'RF05A-XPOS1(' v_xpos1 ')' INTO v_xpos_comp.

  LOOP AT t_dados.

    SELECT SINGLE * FROM /pws/zycbt089 INTO  wa_zycbt089

           WHERE bukrs EQ t_dados-bukrs.

    CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'

         EXPORTING

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

              v_bukrs                      = t_dados-bukrs

              v_date                       = t_dados-budat

* << Fim da exclusão

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

              v_bukrs                = t_dados-bukrs

              v_date                 = t_dados-budat

* << Fim da inclusão

         IMPORTING

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

              v_year                       = v_date

* << Fim da exclusão

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

              v_year                 = v_date

* << Fim da inclusão

         EXCEPTIONS

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

              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.

* << Fim da exclusão

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

              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.

* << Fim da inclusão

    CHECK t_dados-tcode = 'F-51'.

    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 ).

      t_campo-mandt = t_dados-mandt.

      t_campo-campo = 'RF05A-NEWKO'.

      t_campo-descricao = text-020.

      APPEND t_campo.

      RAISE campo_em_branco.

    ENDIF.

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

    CLEAR v_fdtdoc.

    SELECT SINGLE fdtdoc

    INTO v_fdtdoc

    FROM /pws/zycbt007

    WHERE bukrs = t_dados-bukrs.

    IF sy-subrc = 0.

      IF v_fdtdoc = 'D'.

        t_dados-bldat = sy-datum.

      ELSE.

        t_dados-bldat = t_dados-budat.

      ENDIF.

    ENDIF.

* << Fim da inclusão

    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-bukrs   TO v_bukrs.

    SELECT SINGLE periv FROM t001

                 INTO v_periv

                 WHERE bukrs EQ v_bukrs.

    CALL FUNCTION 'DETERMINE_PERIOD'

         EXPORTING

...

 

 

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

Modificações efetuadas em FUNC /PWS/ZYCA_TRANSACAO_F_51B

 

...

    v_ok(1)              VALUE 'N',

    v_monat              LIKE t001b-frpe1,

    v_bukrs              LIKE t001-bukrs,

    v_gjahr              LIKE t001b-frye1,

    v_zfbdt(10)          TYPE c,

    v_valut(10),

    v_data_val_char(10)  TYPE c,

    v_dtdocto(10),

    v_xpos_belnr(2) TYPE n,

    v_selecao(2)    TYPE n,

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

    v_fdtdoc             TYPE /pws/zycbt007-fdtdoc,

* << Fim da inclusão

    v_konto              like T001B-VKONT.

  DATA: itab_t041t LIKE t041t OCCURS 0 WITH HEADER LINE.

  DATA: wa_zycbt089 LIKE /pws/zycbt089.

  SELECT SINGLE selps FROM t021r

    INTO  v_xpos

    WHERE event = 'SL-AG'

      AND feldn = 'BELNR'.

  ADD 1 TO v_xpos.

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

  SELECT SINGLE selps FROM t021r

...

 

...

      APPEND t_campo.

      RAISE campo_em_branco.

    ENDIF.

    IF ( t_dados-d_newko = space ).

      t_campo-mandt = t_dados-mandt.

      t_campo-campo = 'RF05A-NEWKO'.

      t_campo-descricao = text-027.

      APPEND t_campo.

      RAISE campo_em_branco.

    ENDIF.

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

    CLEAR v_fdtdoc.

    SELECT SINGLE fdtdoc

    INTO v_fdtdoc

    FROM /pws/zycbt007

    WHERE bukrs = t_dados-bukrs.

    IF sy-subrc = 0.

      IF v_fdtdoc = 'D'.

        t_dados-bldat = sy-datum.

      ELSE.

        t_dados-bldat = t_dados-budat.

      ENDIF.

    ENDIF.

* << Fim da inclusão

    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.

    v_monat = t_dados-budat+4(2).

    v_gjahr = t_dados-budat+0(4).

    v_koart = 'K'.

    PERFORM check_periodo USING    v_koart

...

 

 

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

Modificações efetuadas em FUNC /PWS/ZYCA_TRANSACAO_F_51C

 

...

    v_monat              LIKE t001b-frpe1,

    v_bukrs              LIKE t001-bukrs,

    v_gjahr              LIKE t001b-frye1,

    v_valut(10),

    v_data_val_char(10)  TYPE c,

    v_xpos1(2)           TYPE n,

    v_xpos_awkey(15),

    v_zfbdt(10)          TYPE c,

    v_xpos_belnr(2) TYPE n,

    v_selecao(2)    TYPE n,

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

    v_fdtdoc             TYPE /pws/zycbt007-fdtdoc,

* << Fim da inclusão

    v_konto              like T001B-VKONT.

  DATA: itab_t041t LIKE t041t OCCURS 0 WITH HEADER LINE.

  DATA: wa_zycbt089 LIKE /pws/zycbt089.

  SELECT SINGLE selps FROM t021r

    INTO  v_xpos_belnr

    WHERE event = 'SL-AG'

      AND feldn = 'BELNR'.

  ADD 1 TO v_xpos_belnr.

  LOOP AT t_dados.

    SELECT SINGLE * FROM /pws/zycbt089 INTO  wa_zycbt089

...

 

...

      APPEND t_campo.

      RAISE campo_em_branco.

    ENDIF.

    IF ( t_dados-d_newko = space ).

      t_campo-mandt = t_dados-mandt.

      t_campo-campo = 'RF05A-NEWKO'.

      t_campo-descricao = text-027.

      APPEND t_campo.

      RAISE campo_em_branco.

    ENDIF.

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

    CLEAR v_fdtdoc.

    SELECT SINGLE fdtdoc

    INTO v_fdtdoc

    FROM /pws/zycbt007

    WHERE bukrs = t_dados-bukrs.

    IF sy-subrc = 0.

      IF v_fdtdoc = 'D'.

        t_dados-bldat = sy-datum.

      ELSE.

        t_dados-bldat = t_dados-budat.

      ENDIF.

    ENDIF.

* << Fim da inclusão

    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.

    v_monat = t_dados-budat+4(2).

    v_gjahr = t_dados-budat+0(4).

    v_koart = 'K'.

    PERFORM check_periodo USING    v_koart

...

 

 

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

Modificações efetuadas em FUNC /PWS/ZYCA_TRANSACAO_F_51Q

 

...

    v_ok(1)              VALUE 'N',

    v_monat              LIKE t001b-frpe1,

    v_bukrs              LIKE t001-bukrs,

    v_gjahr              LIKE t001b-frye1,

    v_zfbdt(10)          TYPE c,

    v_valut(10),

    v_data_val_char(10)  TYPE c,

    v_xpos_belnr(2)      TYPE n,

    v_selecao(2)         TYPE n,

    v_konto              LIKE t001b-vkont,

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

    v_fdtdoc             TYPE /pws/zycbt007-fdtdoc,

* << Fim da inclusão

    v_waersb             LIKE /pws/zycbt007-waersb.

  DATA: itab_t041t LIKE t041t OCCURS 0 WITH HEADER LINE.

  DATA: wa_zycbt089 LIKE /pws/zycbt089.

  SELECT SINGLE selps FROM t021r

    INTO  v_xpos

    WHERE event = 'SL-AG'

      AND feldn = 'BELNR'.

  ADD 1 TO v_xpos.

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

  SELECT SINGLE selps FROM t021r

...

 

...

    ENDIF.

    IF ( t_dados-agkon = space ).

      t_campo-mandt = t_dados-mandt.

      t_campo-campo = 'RF05A-NEWKO'.

      t_campo-descricao = text-027.

      APPEND t_campo.

      RAISE campo_em_branco.

    ENDIF.

    SELECT SINGLE waersb FROM /pws/zycbt007 INTO v_waersb

                  WHERE bukrs = t_dados-bukrs.

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

    CLEAR v_fdtdoc.

    SELECT SINGLE fdtdoc

    INTO v_fdtdoc

    FROM /pws/zycbt007

    WHERE bukrs = t_dados-bukrs.

    IF sy-subrc = 0.

      IF v_fdtdoc = 'D'.

        t_dados-bldat = sy-datum.

      ELSE.

        t_dados-bldat = t_dados-budat.

      ENDIF.

    ENDIF.

* << Fim da inclusão

    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.

    v_monat = t_dados-budat+4(2).

    v_gjahr = t_dados-budat+0(4).

    v_koart = t_dados-agkoa.

    v_koart = '+'.

...

 

 

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

Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_02A

 

...

    v_bukrs              LIKE t001-bukrs,

    v_gjahr              LIKE t001b-frye1,

    v_date               LIKE t009b-bdatj,

    v_pep                LIKE prps-posid,

    v_periv(2),

    v_periodo(2),

    v_tela(4),

    v_zfbdt(10),

    v_f02(1) TYPE c,

    v_umskz              LIKE /pws/zycbe033-umskz,

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

    v_fdtdoc             TYPE /pws/zycbt007-fdtdoc,

* << Fim da inclusão

    v_programa(40)       TYPE c VALUE 'SAPMF05A'.

  DATA: wa_tbsl   TYPE tbsl,

        itab_tbsl TYPE TABLE OF tbsl,

        t_telas   TYPE rpy_dyfatc OCCURS 0 WITH HEADER LINE.

  v_f02 = 'X'.

  LOOP AT t_dados.

    CHECK t_dados-tcode = 'F-02'.

    IF ( t_dados-bukrs = space ).

      t_campo-mandt = t_dados-mandt.

      t_campo-campo = 'BKPF-BUKRS'.

...

 

...

    CLEAR itab_oculto.

    REFRESH itab_oculto.

    PERFORM trata_string_debito TABLES t_dados

                                       t_campo

                                       itab_oculto

                                USING  v_string_debito.

    PERFORM trata_string_credito TABLES t_dados

                                        t_campo

                                        itab_oculto

                                 USING  v_string_credito1.

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

    CLEAR v_fdtdoc.

    SELECT SINGLE fdtdoc

    INTO v_fdtdoc

    FROM /pws/zycbt007

    WHERE bukrs = t_dados-bukrs.

    IF sy-subrc = 0.

      IF v_fdtdoc = 'D'.

        t_dados-bldat = sy-datum.

      ELSE.

        t_dados-bldat = t_dados-budat.

      ENDIF.

    ENDIF.

* << Fim da inclusão

    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-zfbdt TO v_zfbdt,

           t_dados-kursf TO v_kursf.

    SELECT SINGLE periv FROM t001

                 INTO v_periv

                 WHERE bukrs EQ v_bukrs.

    CALL FUNCTION 'DETERMINE_PERIOD'

         EXPORTING

...

 

 

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

Modificações efetuadas em FUNC /PWS/ZYCM_TRANSACAO_F_51A

 

...

    v_bukrs              LIKE t001-bukrs,

    v_gjahr              LIKE t001b-frye1,

    v_periv(2),

    v_periodo(2),

    v_date               LIKE t009b-bdatj,

    v_valut(10),

    v_xpos1(2) TYPE n,

    v_dtdocto(10),

    v_xpos_belnr(2) TYPE n,

    v_selecao(2)    TYPE n,

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

    v_fdtdoc             TYPE /pws/zycbt007-fdtdoc,

* << Fim da inclusão

    v_reg           TYPE i.

  DATA: itab_t041t LIKE t041t OCCURS 0 WITH HEADER LINE.

  DATA: wa_zycbt089 LIKE /pws/zycbt089.

  SELECT SINGLE selps FROM t021r

    INTO  v_xpos1

    WHERE event = 'SL-AG'

      AND feldn = 'BELNR'.

  ADD 1 TO v_xpos1.

  SHIFT v_xpos1 LEFT DELETING LEADING  '0'.

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

...

 

...

      APPEND t_campo.

      RAISE campo_em_branco.

    ENDIF.

    IF ( t_dados-d_newko = space ).

      t_campo-mandt = t_dados-mandt.

      t_campo-campo = 'RF05A-NEWKO'.

      t_campo-descricao = text-020.

      APPEND t_campo.

      RAISE campo_em_branco.

    ENDIF.

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

    CLEAR v_fdtdoc.

    SELECT SINGLE fdtdoc

    INTO v_fdtdoc

    FROM /pws/zycbt007

    WHERE bukrs = t_dados-bukrs.

    IF sy-subrc = 0.

      IF v_fdtdoc = 'D'.

        t_dados-bldat = sy-datum.

      ELSE.

        t_dados-bldat = t_dados-budat.

      ENDIF.

    ENDIF.

* << Fim da inclusão

    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-bukrs   TO v_bukrs.

    SELECT SINGLE periv FROM t001

                 INTO v_periv

                 WHERE bukrs EQ v_bukrs.

    CALL FUNCTION 'DETERMINE_PERIOD'

         EXPORTING

...

 

 

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

Modificações efetuadas em FUNC /PWS/ZYCM_TRANSACAO_F_51G

 

...

    v_koart              like t001b-mkoar,

    v_ok(1)              value 'N',

    v_monat              like t001b-frpe1,

    v_bukrs              like t001-bukrs,

    v_gjahr              like t001b-frye1,

    v_periv(2),

    v_periodo(2),

    v_date               like t009b-bdatj,

    v_valut(10),

    v_xpos1(2) type n,

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

    v_fdtdoc             TYPE /pws/zycbt007-fdtdoc,

* << Fim da inclusão

    v_dtdocto(10).

  data: itab_t041t like t041t occurs 0 with header line.

  select single selps from t021r

    into  v_xpos1

    where event = 'SL-AG'

      and feldn = 'BELNR'.

  add 1 to v_xpos1.

  shift v_xpos1 left deleting leading  '0'.

  concatenate 'RF05A-XPOS1(' v_xpos1 ')' into v_xpos.

  clear v_xpos1.

...

 

...

      append t_campo.

      raise campo_em_branco.

    endif.

    if ( t_dados-d_newko = space ).

      t_campo-mandt = t_dados-mandt.

      t_campo-campo = 'RF05A-NEWKO'.

      t_campo-descricao = text-020.

      append t_campo.

      raise campo_em_branco.

    endif.

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

    CLEAR v_fdtdoc.

    SELECT SINGLE fdtdoc

    INTO v_fdtdoc

    FROM /pws/zycbt007

    WHERE bukrs = t_dados-bukrs.

    IF sy-subrc = 0.

      IF v_fdtdoc = 'D'.

        t_dados-bldat = sy-datum.

      ELSE.

        t_dados-bldat = t_dados-budat.

      ENDIF.

    ENDIF.

* << Fim da inclusão

    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-bukrs   to v_bukrs.

    select single periv from t001

                 into v_periv

                 where bukrs eq v_bukrs.

    call function 'DETERMINE_PERIOD'

         exporting

...

 

 

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

Modificações efetuadas em FUNC /PWS/ZYCM_TRANSACAO_F_51O

 

...

    v_string_debito      LIKE tbsl-faus1,

    v_valut(10),

    v_xpos_belnr(2) TYPE n,

    v_selecao(2)    TYPE n,

    v_string_credito      TYPE tbsl-faus1,

    v_srows               TYPE sy-srows,

    v_dtdocto(10),

    v_xpos_budat(15),

    v_campo2(15),

    v_reg           TYPE i,

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

    v_fdtdoc             TYPE /pws/zycbt007-fdtdoc,

* << Fim da inclusão

    v_ch(1)         TYPE c.

  DATA: itab_t041t LIKE t041t OCCURS 0 WITH HEADER LINE.

  DATA: wa_zycbt089 LIKE /pws/zycbt089.

  DATA: t_zycbe035_aux LIKE t_zycbe035 OCCURS 0 WITH HEADER LINE,

        t_zycbt036_aux LIKE t_zycbt036 OCCURS 0 WITH HEADER LINE.

  SELECT SINGLE selps FROM t021r

    INTO  v_xpos_belnr

    WHERE event = 'SL-AG'

      AND feldn = 'BELNR'.

  ADD 1 TO v_xpos_belnr.

...

 

...

      APPEND t_campo.

      RAISE campo_em_branco.

    ENDIF.

    IF v_op IS INITIAL.

      IF ( t_dados-d_newko = space ).

        t_campo-mandt = t_dados-mandt.

        t_campo-campo = 'RF05A-NEWKO'.

        t_campo-descricao = text-027.

        APPEND t_campo.

        RAISE campo_em_branco.

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

      ENDIF.

    ENDIF.

    CLEAR v_fdtdoc.

    SELECT SINGLE fdtdoc

    INTO v_fdtdoc

    FROM /pws/zycbt007

    WHERE bukrs = t_dados-bukrs.

    IF sy-subrc = 0.

      IF v_fdtdoc = 'D'.

        t_dados-bldat = sy-datum.

      ELSE.

        t_dados-bldat = t_dados-budat.

* << Fim da inclusão

      ENDIF.

    ENDIF.

    WRITE: t_dados-bldat   TO v_bldat,

           t_dados-budat   TO v_budat,

           t_dados-budat   TO v_budat_ant,

           t_dados-kursf   TO v_kursf,

           t_dados-wrbtr   TO v_wrbtr CURRENCY t_dados-waers,

           t_dados-bukrs   TO v_bukrs.

    SELECT SINGLE periv FROM t001 INTO t001-periv

                        WHERE bukrs = t_dados-bukrs.

...

 

 

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

Modificações efetuadas em FUNC /PWS/ZYGL_TRANSACAO_F_02

 

...

    v_monat              LIKE t001b-frpe1,

    v_bukrs              LIKE t001-bukrs,

    v_gjahr              LIKE t001b-frye1,

    v_date               LIKE t009b-bdatj,

    v_pep                LIKE prps-posid,

    v_periv(2),

    v_periodo(2),

    v_tela(4),

    v_emprsa(1),

    v_zfbdt(10),

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

    v_fdtdoc             TYPE /pws/zycbt007-fdtdoc,

* << Fim da inclusão

    v_akont(10).

  LOOP AT t_dados.

    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

...

 

...

    CLEAR itab_oculto.

    REFRESH itab_oculto.

    PERFORM trata_string_debito TABLES t_dados

                                       t_campo

                                       itab_oculto

                                USING  v_string_debito.

    PERFORM trata_string_credito TABLES t_dados

                                        t_campo

                                        itab_oculto

                                 USING  v_string_credito.

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

    CLEAR v_fdtdoc.

    SELECT SINGLE fdtdoc

    INTO v_fdtdoc

    FROM /pws/zycbt007

    WHERE bukrs = t_dados-bukrs.

    IF sy-subrc = 0.

      IF v_fdtdoc = 'D'.

        t_dados-bldat = sy-datum.

      ELSE.

        t_dados-bldat = t_dados-budat.

      ENDIF.

    ENDIF.

* << Fim da inclusão

    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.

    SELECT SINGLE periv FROM t001

                 INTO v_periv

                 WHERE bukrs EQ v_bukrs.

    CALL FUNCTION 'DETERMINE_PERIOD'

         EXPORTING

              date                = t_dados-budat

...

 

 

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

Modificações efetuadas em FUNC /PWS/ZYGL_TRANSACAO_F_04

 

...

    v_koart              LIKE t001b-mkoar,

    v_ok(1)              VALUE 'N',

    v_monat              LIKE t001b-frpe1,

    v_bukrs              LIKE t001-bukrs,

    v_date               LIKE t009b-bdatj,

    v_periv(2),

    v_periodo(2),

    v_gjahr              LIKE t001b-frye1,

    v_xpos1(2)           TYPE n,

    v_dmbtr(16),

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

    v_fdtdoc             TYPE /pws/zycbt007-fdtdoc,

* << Fim da inclusão

    v_wrbtr(16)          TYPE c.

  DATA: itab_t041t LIKE t041t OCCURS 0 WITH HEADER LINE.

  MOVE t_zycbt036[] TO itab_zycbt036[].

  SELECT SINGLE selps FROM t021r

    INTO  v_xpos1

    WHERE event = 'SL-AG'

      AND feldn = 'BELNR'.

  ADD 1 TO v_xpos1.

  SHIFT v_xpos1 LEFT DELETING LEADING  '0'.

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

...

 

...

    ELSEIF t_dados-newbs EQ '50'.

      PERFORM determina_string USING v_chave_credito

                                     t_dados-bukrs

                                     v_newko

                               CHANGING v_string_debito.

      PERFORM trata_string_debito TABLES t_dados

                                         t_campo

                                         itab_oculto

                                  USING  v_string_debito.

    ENDIF.

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

    CLEAR v_fdtdoc.

    SELECT SINGLE fdtdoc

    INTO v_fdtdoc

    FROM /pws/zycbt007

    WHERE bukrs = t_dados-bukrs.

    IF sy-subrc = 0.

      IF v_fdtdoc = 'D'.

        t_dados-bldat = sy-datum.

      ELSE.

        t_dados-bldat = t_dados-budat.

      ENDIF.

    ENDIF.

* << Fim da inclusão

    WRITE: t_dados-bukrs   TO v_bukrs,

           t_dados-bldat   TO v_bldat,

           t_dados-budat   TO v_budat,

           t_dados-kursf   TO v_kursf,

           t_dados-dmbtr   TO v_dmbtr CURRENCY t_dados-waersb.

    SELECT SINGLE periv FROM t001

                 INTO v_periv

                 WHERE bukrs EQ v_bukrs.

    CALL FUNCTION 'DETERMINE_PERIOD'

         EXPORTING

...

 

 

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

Modificações efetuadas em FUNC /PWS/ZYGL_TRANSACAO_F_30

 

...

    v_msgno              LIKE t100-msgnr,

    v_koart              LIKE t001b-mkoar,

    v_ok(1)              VALUE 'N',

    v_monat              LIKE t001b-frpe1,

    v_bukrs              LIKE t001-bukrs,

    v_date               LIKE t009b-bdatj,

    v_periv(2),

    v_periodo(2),

    v_gjahr              LIKE t001b-frye1,

    v_xpos1(2)      TYPE n,

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

    v_fdtdoc             TYPE /pws/zycbt007-fdtdoc,

* << Fim da inclusão

    v_selecao(2)    TYPE n.

  DATA: itab_t041t LIKE t041t OCCURS 0 WITH HEADER LINE,

        wa_zycbt089 LIKE /pws/zycbt089.

  MOVE t_zycbt036[] TO itab_zycbt036[].

  CLEAR v_xpos1.

  SELECT SINGLE selps FROM t021r

    INTO  v_xpos1

    WHERE event = 'SU-AG'

      AND feldn = 'BUDAT'.

  SHIFT v_xpos1 LEFT DELETING LEADING  '0'.

...

 

...

    IF t_dados-agkoa EQ 'S'.

      PERFORM determina_string USING v_chave_debito

                                     t_dados-bukrs

                                     v_agkon

                               CHANGING v_string_debito.

      PERFORM trata_string_debito TABLES t_dados

                                         t_campo

                                         itab_oculto

                                  USING  v_string_debito.

    ENDIF.

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

    CLEAR v_fdtdoc.

    SELECT SINGLE fdtdoc

    INTO v_fdtdoc

    FROM /pws/zycbt007

    WHERE bukrs = t_dados-bukrs.

    IF sy-subrc = 0.

      IF v_fdtdoc = 'D'.

        t_dados-bldat = sy-datum.

      ELSE.

        t_dados-bldat = t_dados-budat.

      ENDIF.

    ENDIF.

* << Fim da inclusão

    WRITE: t_dados-bukrs   TO v_bukrs,

           t_dados-bldat   TO v_bldat,

           t_dados-budat   TO v_budat,

           t_dados-kursf   TO v_kursf.

    SELECT SINGLE periv FROM t001

                 INTO v_periv

                 WHERE bukrs EQ v_bukrs.

    CALL FUNCTION 'DETERMINE_PERIOD'

         EXPORTING

              date                = t_dados-budat

...

 

 

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

Modificações efetuadas em FUNC /PWS/ZYGL_TRANSACAO_F_51

 

...

    v_koart              like t001b-mkoar,

    v_ok(1)              value 'N',

    v_monat              like t001b-frpe1,

    v_bukrs              like t001-bukrs,

    v_gjahr              like t001b-frye1,

    v_periv(2),

    v_periodo(2),

    v_date               like t009b-bdatj,

    v_valut(10),

    v_xpos1(2) type n,

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

    v_fdtdoc             TYPE /pws/zycbt007-fdtdoc,

* << Fim da inclusão

    v_dtdocto(10).

  data: itab_t041t like t041t occurs 0 with header line.

  select single selps from t021r

    into  v_xpos1

    where event = 'SL-AG'

      and feldn = 'BELNR'.

  add 1 to v_xpos1.

  shift v_xpos1 left deleting leading  '0'.

  concatenate 'RF05A-XPOS1(' v_xpos1 ')' into v_xpos.

  clear v_xpos1.

...

 

...

      append t_campo.

      raise campo_em_branco.

    endif.

    if ( t_dados-d_newko = space ).

      t_campo-mandt = t_dados-mandt.

      t_campo-campo = 'RF05A-NEWKO'.

      t_campo-descricao = text-020.

      append t_campo.

      raise campo_em_branco.

    endif.

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

    CLEAR v_fdtdoc.

    SELECT SINGLE fdtdoc

    INTO v_fdtdoc

    FROM /pws/zycbt007

    WHERE bukrs = t_dados-bukrs.

    IF sy-subrc = 0.

      IF v_fdtdoc = 'D'.

        t_dados-bldat = sy-datum.

      ELSE.

        t_dados-bldat = t_dados-budat.

      ENDIF.

    ENDIF.

* << Fim da inclusão

    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-bukrs   to v_bukrs.

    select single periv from t001

                 into v_periv

                 where bukrs eq v_bukrs.

    call function 'DETERMINE_PERIOD'

         exporting

...

 

 

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

Modificações efetuadas em FUNC /PWS/ZYGL_TRANSACAO_F_53

 

...

    v_bukrs              LIKE t001-bukrs,

    v_date               LIKE t009b-bdatj,

    v_periv(2),

    v_periodo(2),

    v_gjahr              LIKE t001b-frye1,

    v_xpos1(2) TYPE n,

    v_xpos_budat(15),

    v_dtdocto(10),

    v_outros(1),

    v_selecao(2)    TYPE n,

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

    v_fdtdoc             TYPE /pws/zycbt007-fdtdoc,

* << Fim da inclusão

    v_reg           TYPE i.

  DATA: wa_zycbt089    LIKE /pws/zycbt089,

        t_zycbt036_aux LIKE t_zycbt036 OCCURS 0 WITH HEADER LINE.

  CLEAR v_outros.

  SELECT SINGLE selps FROM t021r

    INTO  v_xpos_belnr

    WHERE event = 'SL-AG'

      AND feldn = 'BELNR'.

  CLEAR v_xpos1.

  SELECT SINGLE selps FROM t021r

...

 

...

    PERFORM determina_string USING v_chave_credito

                                   t_dados-bukrs

                                   t_dados-c_newko

                             CHANGING v_string_credito.

    CLEAR itab_oculto.

    REFRESH itab_oculto.

    PERFORM trata_string_credito TABLES t_dados

                                        t_campo

                                        itab_oculto

                                USING  v_string_credito.

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

    CLEAR v_fdtdoc.

    SELECT SINGLE fdtdoc

    INTO v_fdtdoc

    FROM /pws/zycbt007

    WHERE bukrs = t_dados-bukrs.

    IF sy-subrc = 0.

      IF v_fdtdoc = 'D'.

        t_dados-bldat = sy-datum.

      ELSE.

        t_dados-bldat = t_dados-budat.

      ENDIF.

    ENDIF.

* << Fim da inclusão

    WRITE: t_dados-bukrs   TO v_bukrs,

           t_dados-bldat   TO v_bldat,

           t_dados-budat   TO v_budat,

           t_dados-c_valut TO v_valut,

           t_dados-kursf   TO v_kursf,

           t_dados-wrbtr   TO v_wrbtr CURRENCY t_dados-waers,

           t_dados-dmbtr   TO v_dmbtr CURRENCY t_dados-waersb.

    SELECT SINGLE periv FROM t001

                 INTO v_periv

                 WHERE bukrs EQ v_bukrs.

...