CE PLUS - Nota 004786

Módulo: CÂMBIO EXPORTAÇÃO

Funcionalidade: Captação

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

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

Descrição da Nota: LIQUIDAÇÃO DE FATURAS

Sintoma

 

Ao parametrizar na /PWS/ZYGL007 para que o programa sempre considere a data do documento como sendo

a data do dia, momento de fazer a liquidação o programa não está considerando esse parametro, no

desmembramento do cliente ele pega a data digitada no campo Data de Liquidação, para o

desmembramento, o programa pega a data digitada no campo Data de Liquidação e para a compensação o

programa considera a data de pagto no exterior.

 

Solução

 

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

* /PWS/ZYCB_TRANSACAO_F_02

* /PWS/ZYCB_TRANSACAO_F_02G

* /PWS/ZYCB_TRANSACAO_F_22

* /PWS/ZYCB_TRANSACAO_F_22B

* /PWS/ZYCB_TRANSACAO_F_22D

* /PWS/ZYCB_TRANSACAO_F_22G

* /PWS/ZYCB_TRANSACAO_F_28

* /PWS/ZYCB_TRANSACAO_F_30

* /PWS/ZYCB_TRANSACAO_F_30_A

* /PWS/ZYCB_TRANSACAO_F_30_B

* /PWS/ZYCB_TRANSACAO_F_30_P

* /PWS/ZYCB_TRANSACAO_F_30_Q

* /PWS/ZYCB_TRANSACAO_F_30_S

* /PWS/ZYCB_TRANSACAO_F_30_T

* /PWS/ZYCB_TRANSACAO_F_30_W

Versões Tratadas

7.0

Informações Complementares

 

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

Nota Número 04786 Data: 21/09/2007 Hora: 14:23:55

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

 

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

Nota Número              : 04786

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

 

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

LIQUIDAÇÃO DE FATURAS

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

Palavras Chave:

LIQUIDAÇÃO DE FATURAS

 

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

Objetos da nota:

FUNC /PWS/ZYCB_TRANSACAO_F_02

FUNC /PWS/ZYCB_TRANSACAO_F_02G

FUNC /PWS/ZYCB_TRANSACAO_F_22

FUNC /PWS/ZYCB_TRANSACAO_F_22B

FUNC /PWS/ZYCB_TRANSACAO_F_22D

FUNC /PWS/ZYCB_TRANSACAO_F_22G

FUNC /PWS/ZYCB_TRANSACAO_F_28

FUNC /PWS/ZYCB_TRANSACAO_F_30

FUNC /PWS/ZYCB_TRANSACAO_F_30_A

FUNC /PWS/ZYCB_TRANSACAO_F_30_B

FUNC /PWS/ZYCB_TRANSACAO_F_30_P

FUNC /PWS/ZYCB_TRANSACAO_F_30_Q

FUNC /PWS/ZYCB_TRANSACAO_F_30_S

FUNC /PWS/ZYCB_TRANSACAO_F_30_T

FUNC /PWS/ZYCB_TRANSACAO_F_30_W

 

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

Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_02

 

...

    v_ok(1)              VALUE 'N',

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

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

    v_fdtdoc             TYPE /pws/zycbt007-fdtdoc,

* << Fim da inclusão

    v_zfbdt(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/ZYCB_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/ZYCB_TRANSACAO_F_02G

 

...

    v_valut(10),

    v_last(1),

    v_tela(4),

    v_emprsa(1),

    v_vlme               TYPE wrbtr,

    v_gsber              TYPE gsber,

    v_sgtxt              TYPE sgtxt,

    v_brnch              LIKE /pws/zycbe033-brnch,

    v_zterm              LIKE /pws/zycbe033-zterm,

    v_zfbdt(10),

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

    v_fdtdoc             TYPE /pws/zycbt007-fdtdoc,

* << Fim da inclusão

    v_f02(1) TYPE c,

    t_telas   TYPE rpy_dyfatc OCCURS 0 WITH HEADER LINE,

    v_programa(40)       TYPE c VALUE 'SAPMF05A',

    v_agums              TYPE /pws/zycbe033-agums,

    v_umskz(1).

  v_f02 = 'X'.

  LOOP AT t_dados.

    CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'

         EXPORTING

              v_bukrs = t_dados-bukrs

...

 

...

              bukrs EQ t_dados-bukrs.

      PERFORM determina_string USING t_dados-newbs

                                     t_dados-bukrs

                                     v_cconta

                            CHANGING v_string_credito.

    ENDIF.

    PERFORM trata_string_debito  TABLES t_dados

                                        t_campo

                                        itab_oculto

                                 USING  v_string_credito.

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

    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/ZYCB_TRANSACAO_F_22

 

...

    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_NEWSB1             LIKE RF05A-NEWBS,

    V_NEWSB2             LIKE RF05A-NEWBS,

    V_DATE               LIKE T009B-BDATJ,

    V_PERIV(2),

    V_PERIODO(2),

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

    v_fdtdoc             TYPE /pws/zycbt007-fdtdoc,

* << Fim da inclusão

    V_NEWKO              LIKE T_DADOS-D_NEWKO.

  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.

    CHECK T_DADOS-TCODE = 'F-22'.

    IF ( T_DADOS-BUKRS = SPACE ).

...

 

...

    PERFORM DETERMINA_STRING USING V_CHAVE_CREDITO

                                   T_DADOS-BUKRS

                                   V_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/ZYCB_TRANSACAO_F_22

    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/ZYCB_TRANSACAO_F_22B

 

...

    v_ok(1)              VALUE 'N',

    v_monat              LIKE t001b-frpe1,

    v_bukrs              LIKE t001-bukrs,

    v_gjahr              LIKE t001b-frye1,

    v_newsb1             LIKE rf05a-newbs,

    v_newsb2             LIKE rf05a-newbs,

    v_newko              LIKE t_dados-d_newko,

    v_periv(2),

    v_periodo(2),

    v_chave(1),

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

    v_fdtdoc             TYPE /pws/zycbt007-fdtdoc,

* << Fim da inclusão

    v_tela(4).

  LOOP AT t_dados.

    CHECK t_dados-tcode = 'F-22'.

    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.

...

 

...

    PERFORM determina_string USING v_chave_credito

                                   t_dados-bukrs

                                   v_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/ZYCB_TRANSACAO_F_22B

    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/ZYCB_TRANSACAO_F_22D

 

...

    v_bukrs              LIKE t001-bukrs,

    v_gjahr              LIKE t001b-frye1,

    v_newsb1             LIKE rf05a-newbs,

    v_newsb2             LIKE rf05a-newbs,

    v_date               LIKE t009b-bdatj,

    v_periv(2),

    v_periodo(2),

    v_newko              LIKE t_dados-d_newko,

    v_wrbtr2(16),

    v_vldif              LIKE /pws/zycbe033-wrbtr,

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

    v_fdtdoc             TYPE /pws/zycbt007-fdtdoc,

* << Fim da inclusão

    v_vldif2(16).

  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.

    CHECK t_dados-tcode = 'F-22'.

    IF ( t_dados-bukrs = space ).

...

 

...

    PERFORM determina_string USING v_chave_credito

                                   t_dados-bukrs

                                   v_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/ZYCB_TRANSACAO_F_22D

    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/ZYCB_TRANSACAO_F_22G

 

...

    v_tela(4),

    v_emprsa(1),

    v_vlme               TYPE wrbtr,

    v_gsber              TYPE gsber,

    v_sgtxt              TYPE sgtxt,

    v_brnch              LIKE /pws/zycbe033-brnch,

    v_zterm              LIKE /pws/zycbe033-zterm,

    v_zfbdt(10),

    v_umskz(1),

    v_vldif(16),

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

    v_fdtdoc             TYPE /pws/zycbt007-fdtdoc,

* << Fim da inclusão

    v_tabix              LIKE sy-tabix.

  DATA: t_telas TYPE  rpy_dyfatc OCCURS 0 WITH HEADER LINE.

  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.

    CHECK t_dados-tcode = 'F-22'.

...

 

...

              bukrs EQ t_dados-bukrs.

      PERFORM determina_string USING t_dados-newbs

                                     t_dados-bukrs

                                     v_cconta

                            CHANGING v_string_credito.

    ENDIF.

    PERFORM trata_string_debito  TABLES t_dados

                                        t_campo

                                        itab_oculto

                                 USING  v_string_credito.

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

    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/ZYCB_TRANSACAO_F_28

 

...

    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_gjahr              LIKE t001b-frye1,

    v_dtdocto(10),

    v_periv(2),

    v_periodo(2),

    v_xpos1(2) TYPE n,

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

    v_fdtdoc             TYPE /pws/zycbt007-fdtdoc,

* << Fim da inclusão

    v_outros(1).

  data: wa_zycbt089 like /pws/zycbt089.

  CLEAR v_outros.

  SELECT SINGLE selps FROM t021r

    INTO  v_xpos1

    WHERE event = 'SL-AG'

      AND feldn = 'BELNR'.

  ADD 1 TO v_xpos1.

  IF v_xpos1 GT 5.

    v_outros = 'X'.

...

 

...

      RAISE campo_em_branco.

    ENDIF.

    PERFORM determina_string USING v_chave_debito

                                   t_dados-bukrs

                                   t_dados-d_newko

                             CHANGING v_string_debito.

    PERFORM trata_string_debito TABLES t_dados

                                       t_campo

                                       itab_oculto

                                USING  v_string_debito.

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

    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-d_valut TO v_valut,

           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'

...

 

 

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

Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_30

 

...

    v_date               LIKE t009b-bdatj,

    v_periv(2),

    v_periodo(2),

    v_umskz              LIKE /pws/zycbe033-umskz,

    v_newbs              LIKE /pws/zycbe033-newbs,

    v_gjahr              LIKE t001b-frye1,

    v_xpos1(2) TYPE n,

    v_xpos_belnr(2)      TYPE n,

    v_selecao(2)         TYPE n,

    v_year               LIKE bkpf-gjahr,

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

    v_fdtdoc             TYPE /pws/zycbt007-fdtdoc,

* << Fim da inclusão

    v_zbd1t(3).

  DATA:

    v_pos_wrbtr       TYPE i,

    v_xpos_wrbtr(15).

  DATA:

    v_vl_min(16)         VALUE '0,01',

    v_vl_max(16)         VALUE '9.999.999.999,99'.

  DATA: itab_t041t LIKE t041t OCCURS 0 WITH HEADER LINE.

  DATA: wa_zycbt089 LIKE /pws/zycbt089.

  MOVE t_zycbt036[] TO itab_zycbt036[].

...

 

...

    MOVE t_dados-agkon TO v_agkon.

    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.

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

    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.

      ENDIF.

* << Fim da inclusão

    ENDIF.

    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

...

 

 

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

Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_30_A

 

...

    v_dmbtr(16),

    v_cconta             LIKE /pws/zycbe033-d_newko,

    v_periv(2),

    v_periodo(2),

    v_dtdocto(10),

    v_zfbdt(10),

    v_xpos1(2) TYPE n,

    v_xpos2(2) TYPE n,

    v_xpos_belnr(2) TYPE n,

    v_selecao(2) TYPE n ,

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

    v_fdtdoc             TYPE /pws/zycbt007-fdtdoc,

* << Fim da inclusão

    v_zbd1t(3).

  DATA: itab_t041t LIKE t041t OCCURS 0 WITH HEADER LINE.

  DATA: wa_zycbt089 LIKE /pws/zycbt089.

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

...

 

...

        WHERE lifnr EQ t_dados-d_newko AND

              bukrs EQ t_dados-bukrs.

      PERFORM determina_string USING t_dados-newbs

                                   t_dados-bukrs

                                   v_cconta

                             CHANGING v_string_debito.

      PERFORM trata_string_debito TABLES t_dados

                                         t_campo

                                         itab_oculto

                                  USING  v_string_debito.

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

    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.

      ENDIF.

* << Fim da inclusão

    ENDIF.

    WRITE: t_dados-bukrs   TO v_bukrs,

           t_dados-bldat   TO v_bldat,

           t_dados-budat   TO v_budat,

           t_dados-zfbdt   TO v_zfbdt,

           t_dados-kursf   TO v_kursf.

    WRITE: t_dados-d_valut TO v_valut,

           t_dados-zbd1t   TO v_zbd1t.

    SELECT SINGLE periv FROM t001

                 INTO v_periv

...

 

 

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

Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_30_B

 

...

    v_bukrs              LIKE t001-bukrs,

    v_date               LIKE t009b-bdatj,

    v_gjahr              LIKE t001b-frye1,

    v_periv(2),

    v_periodo(2),

    v_dtdocto(10),

    v_xpos1(2) TYPE n,

    v_xpos_belnr(2) TYPE n,

    v_selecao(2) TYPE n,

    v_year like bkpf-gjahr,

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

    v_fdtdoc             TYPE /pws/zycbt007-fdtdoc,

* << Fim da inclusão

    v_zbd1t(3).

  DATA: itab_t041t LIKE t041t OCCURS 0 WITH HEADER LINE.

  DATA: wa_zycbt089 LIKE /pws/zycbt089.

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

...

 

...

    MOVE t_dados-agkon TO v_agkon.

    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.

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

    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.

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

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

    SELECT SINGLE periv FROM t001

...

 

 

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

Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_30_P

 

...

    v_linhas(3)          TYPE n,

    v_zuonr              LIKE /pws/zycbe033-d_zuonr,

    v_cont(2)            TYPE n,

    v_subrc              LIKE sy-subrc,

    v_xpos_wrbtr(15),

    v_pos_wrbtr          TYPE i,

    v_vl_min(16)         VALUE '0,01',

    v_vl_max(16)         VALUE '9.999.999.999,99',

    v_xpos_belnr(2)      TYPE n,

    v_selecao(2)         TYPE n,

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

    v_fdtdoc             TYPE /pws/zycbt007-fdtdoc,

* << Fim da inclusão

    v_year               LIKE bkpf-gjahr,

    v_char(10)           TYPE c,

    v_campo_tela         TYPE c,

    v_zbd1t(3),

    v_umskz              LIKE /pws/zycbe033-umskz,

    v_newbs              LIKE /pws/zycbe033-newbs,

    v_ulsk1              TYPE t042-ulsk1,

    v_umsks              TYPE t074u-umsks,

    v_tela               LIKE sy-dynnr,

    v_newum              LIKE rf05a-newum,

...

 

...

                            CHANGING v_string_credito.

    ENDIF.

    PERFORM trata_string_credito TABLES t_dados

                                        t_campo

                                        itab_oculto

                                 USING  v_string_credito.

    PERFORM trata_string_debito TABLES t_dados

                                       t_campo

                                       itab_oculto

                                USING  v_string_credito.

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

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

           t_dados-kursf   TO v_kursf,

           t_dados-zfbdt   TO v_zfbdt2,

           t_dados-zbd1t   TO v_zbd1t.

    IF NOT t_dados-d_valut = '00000000' AND

       NOT t_dados-d_valut = '        '.

      WRITE: t_dados-d_valut TO v_valut.

...

 

 

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

Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_30_Q

 

...

    v_xpos_belnr(2) TYPE n,

    v_selecao(2)    TYPE n,

    v_xpos_zuonr(15),

    v_cont(2)            TYPE n,

    v_campo(15),

    v_partidas(1),

    v_last(1),

    v_xpos_belnr2(2) TYPE n,

    v_campo2(15),

    v_tabix         LIKE sy-tabix,

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

    v_fdtdoc             TYPE /pws/zycbt007-fdtdoc,

* << Fim da inclusão

    v_zbd1t(3).

  DATA: BEGIN OF itab_parts OCCURS 0,

          tabela LIKE /pws/zycbe033-tabela,

          cpochv LIKE /pws/zycbe033-cpochv,

          tcode  LIKE /pws/zycbe033-tcode,

          agkoa  LIKE /pws/zycbe033-agkoa,

          agkon  LIKE /pws/zycbe033-agkon,

          agums  LIKE /pws/zycbe033-agums,

          shkzg  LIKE /pws/zycbe033-shkzg,

        END OF itab_parts.

...

 

...

                            CHANGING v_string_credito.

    ENDIF.

    PERFORM trata_string_credito TABLES t_dados

                                        t_campo

                                        itab_oculto

                                 USING  v_string_credito.

    PERFORM trata_string_debito TABLES t_dados

                                       t_campo

                                       itab_oculto

                                USING  v_string_credito.

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

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

           t_dados-kursf   TO v_kursf,

           t_dados-zbd1t   TO v_zbd1t.

    WRITE: t_dados-d_valut TO v_valut.

    SELECT SINGLE periv FROM t001

                 INTO v_periv

                 WHERE bukrs EQ v_bukrs.

...

 

 

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

Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_30_S

 

...

    v_xpos1(2) TYPE n,

    wa_tbsl LIKE tbsl,

    v_lanc1(1),

    v_lanc2(1),

    c_brnch LIKE bseg-bupla,

    c_zfbdt LIKE bseg-zfbdt,

    v_last(1),

    v_linhas(3) TYPE n,

    v_cont(2)   TYPE n,

    v_xpos_belnr2(2) TYPE n,

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

    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.

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

      APPEND t_campo.

      RAISE campo_em_branco.

    ENDIF.

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

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

           t_dados-d_valut TO v_valut.

    SELECT SINGLE periv FROM t001

                 INTO v_periv

                 WHERE bukrs EQ t_dados-bukrs.

    CALL FUNCTION 'DETERMINE_PERIOD'

...

 

 

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

Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_30_T

 

...

    v_lanc1(1),

    v_lanc2(1),

    c_brnch LIKE bseg-bupla,

    c_zfbdt LIKE bseg-zfbdt,

    v_last(1),

    v_linhas(3) TYPE n,

    v_cont(2)   TYPE n,

    v_linha(2),

    v_xpos_belnr(2) TYPE n,

    v_selecao(2)    TYPE n,

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

    v_fdtdoc             TYPE /pws/zycbt007-fdtdoc,

* << Fim da inclusão

    v_year like bkpf-gjahr.

  TABLES: bsid.

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

...

 

...

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

      APPEND t_campo.

      RAISE campo_em_branco.

    ENDIF.

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

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

    SELECT SINGLE periv FROM t001

                 INTO v_periv

                 WHERE bukrs EQ t_dados-bukrs.

    CALL FUNCTION 'DETERMINE_PERIOD'

         EXPORTING

...

 

 

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

Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_30_W

 

...

    v_umskz LIKE t_dados-umskz,

    v_xpos_wrbtr(15),

    v_pos_wrbtr          TYPE i,

    v_vl_min(16)         VALUE '0,01',

    v_vl_max(16)         VALUE '9.999.999.999,99',

    v_partidas(1),

    v_xpos_belnr2(2) TYPE n,

    v_selecao(2)    TYPE n,

    v_tabix         LIKE sy-tabix,

    v_agkoa         LIKE /pws/zycbe033-agkoa,

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

    v_fdtdoc             TYPE /pws/zycbt007-fdtdoc,

* << Fim da inclusão

    v_year          LIKE bkpf-gjahr.

  DATA: BEGIN OF itab_parts OCCURS 0,

          tabela LIKE /pws/zycbe033-tabela,

          cpochv LIKE /pws/zycbe033-cpochv,

          tcode  LIKE /pws/zycbe033-tcode,

          agkoa  LIKE /pws/zycbe033-agkoa,

          agkon  LIKE /pws/zycbe033-agkon,

          agums  LIKE /pws/zycbe033-agums,

          shkzg  LIKE /pws/zycbe033-shkzg,

        END OF itab_parts.

...

 

...

    ENDIF.

    IF t_dados-wrbtr > 0.

      IF ( t_dados-d_newko = space ).

        t_campo-mandt = t_dados-mandt.

        t_campo-campo = 'RF05A-NEWKO'.

        t_campo-descricao = text-026.

        APPEND t_campo.

        RAISE campo_em_branco.

      ENDIF.

    ENDIF.

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

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

           t_dados-d_valut TO v_valut.

    SELECT SINGLE periv FROM t001

                 INTO v_periv

                 WHERE bukrs EQ t_dados-bukrs.

    CALL FUNCTION 'DETERMINE_PERIOD'

...