CE PLUS - Nota 006038

Módulo: CÂMBIO FINANCEIRO

Funcionalidade: Relatórios

Data/Hora da Publicação: 27/02/2008 00:00:00

Data/Hora Última Alteração: 03/03/2010 17:58:04

Descrição da Nota: CODE INSPECTOR, VERIFICAÇÃO AMPLIADA - CAMBIO

Sintoma

 

performance e sintaxe.

 

Solução

 

code inspector e verificação ampliada

Versões Tratadas

7.0

Informações Complementares

 

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

Nota Número 06038 Data: 27/02/2008 Hora: 11:04:26

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

 

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

Nota Número              : 06038

Categoria                : Melhoria

Prioridade               : Baixa

Versão PW.CE             : 7.0

Pacote                   : 00004

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

Referência às notas relacionadas:

Número - Ordem - Descrição Breve

 

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

Texto Rápido:

CODE INSPECTOR, VERIFICAÇÃO AMPLIADA - CAMBIO

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

Palavras Chave:

CODE INSPECTOR, VERIFICAÇÃO AMPLIADA - CAMBIO

 

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

Objetos da nota:

REPS /PWS/MZYCB034F01

REPS /PWS/MZYCB034I01

REPS /PWS/MZYCB034O01

REPS /PWS/MZYCB034TOP

REPS /PWS/MZYCB034X01

REPT /PWS/SAPMZYCB034

 

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

Modificações efetuadas em REPS /PWS/MZYCB034F01

 

...

          SET PARAMETER ID 'BUK' FIELD v_bukrs.

          SET PARAMETER ID 'GJR' FIELD v_gjahr.

          CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN.

        ENDIF.

      ELSE.

        MESSAGE e261(sf) WITH 'FB03'.

      ENDIF.

  ENDCASE.

ENDFORM.

FORM user_command_0100.

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

  DATA: v_linhas TYPE sy-tabix.

* << Fim da exclusão

  CASE ok_code.

    WHEN 'SAVE'.

      PERFORM salva_previsto.

      PERFORM salva_rendimentos.

      PERFORM processamento.

    WHEN 'PB_HELP'.

      v_tela_help = '0051'.

      EXIT.

    WHEN 'HELP_CLOSE'.

      v_tela_help = '0052'.

...

 

...

        ts_principal-activetab = ok_code.

      ELSEIF ok_code(6) EQ 'TAB130'.

        ts_70-activetab = ok_code.

      ENDIF.

  ENDCASE.

ENDFORM.

FORM seleciona_parametros.

  IF wa_controle-parametros_carregados IS INITIAL.

    SELECT *

      FROM /pws/zycbt007

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

      INTO TABLE itab_zycbt007.

* << Fim da exclusão

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

      INTO TABLE itab_zycbt007."#EC CI_NOWHERE

* << Fim da inclusão

    SELECT *

      FROM /pws/zycbt089

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

      INTO TABLE itab_zycbt089.

* << Fim da exclusão

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

      INTO TABLE itab_zycbt089."#EC CI_NOWHERE

* << Fim da inclusão

    SELECT *

      FROM /pws/zyglt009

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

      INTO TABLE itab_zyglt009.

* << Fim da exclusão

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

      INTO TABLE itab_zyglt009."#EC CI_NOWHERE

* << Fim da inclusão

    SELECT *

      FROM /pws/zyglt321

      INTO TABLE itab_zyglt321

      WHERE ( ktosl = c_chave_oper          OR

              ktosl = c_chv_oper_fat )

        AND ( codeven = c_codeven_op_emb    OR

              codeven = c_codeven_liqand    OR

              codeven = c_codeven_liqand_op OR

              codeven = c_codeven_op_pagant ).

    SELECT *

      FROM /pws/zycbt009

      INTO TABLE itab_zycbt009.

    SELECT *

      FROM /pws/zycbt011

      INTO TABLE itab_zycbt011

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

      WHERE codmod = c_modulo.

* << Fim da exclusão

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

      WHERE codmod = c_modulo."#EC CI_NOFIRST

* << Fim da inclusão

    CALL FUNCTION '/PWS/ZYGL_BUSCA_EXIT_CLIENTE'

         EXPORTING

              i_codmod                = c_modulo

              i_func                  = c_op

         TABLES

              itab_zyglt100           = itab_zyglt100

         EXCEPTIONS

              i_codmod_nao_encontrado = 1

              i_func_nao_encontrado   = 2

              i_zexit_nao_encontrado  = 3

              OTHERS                  = 4.

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

  if sy-subrc = 0.

  else.

  endif.

* << Fim da inclusão

    wa_controle-parametros_carregados = 'X'.

  ENDIF.

ENDFORM.

FORM seleciona_op.

  DATA:

    v_indice TYPE sy-index,

    wa_zycbt017  TYPE t_s_zycbt017.

  FIELD-SYMBOLS: <fs_zycbt226> TYPE t_s_zycbe226,

                 <fs_contrato> LIKE LINE OF itab_contrato,

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

                 <fs_disp>     LIKE LINE OF itab_disp_70,

                 <fs_zycbt017> TYPE t_s_zycbt017.

* << Fim da exclusão

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

                 <fs_disp>     LIKE LINE OF itab_disp_70.

* << Fim da inclusão

  IF sy-tcode NE c_transacao_c.

    CHECK wa_controle-dados_op_carregados IS INITIAL.

    SELECT *

      FROM /pws/zycbt226

      INTO CORRESPONDING FIELDS OF TABLE itab_zycbt226

      WHERE nrseq     IN s_nrseq

        AND nrinvoic  IN s_invoic

        AND nrparcf   IN s_nrparc

        AND gsberf    IN s_gsber

        AND bukrs     IN s_bukrs

...

 

...

      SELECT * FROM /pws/zycbt238

        INTO TABLE itab_disp_70

        FOR ALL ENTRIES IN itab_zycbt226

        WHERE nrseq   = itab_zycbt226-nrseq

          AND destino = c_70.

      APPEND LINES OF itab_disp_70 TO itab_disp_ant.

      IF NOT itab_disp_70[] IS INITIAL.

        SELECT * FROM /pws/zycbt239

          INTO TABLE itab_contrato

          FOR ALL ENTRIES IN itab_disp_70

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

          WHERE nrseq =   itab_disp_70-nrseq.

* << Fim da exclusão

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

          WHERE nrseq =   itab_disp_70-nrseq."#EC CI_NOFIRST

* << Fim da inclusão

        IF sy-subrc EQ 0.

          SORT itab_contrato BY nrseq dtdisp tpcontr ASCENDING.

          APPEND LINES OF itab_contrato TO itab_contrato_ant.

        ENDIF.

        CLEAR:

          v_indice.

        LOOP AT itab_disp_70 ASSIGNING <fs_disp>.

          v_indice = v_indice + 1.

          LOOP AT itab_contrato ASSIGNING <fs_contrato>

            WHERE nrseq   = <fs_disp>-nrseq

              AND destino = <fs_disp>-destino

              AND dtdisp  = <fs_disp>-dtdisp.

            <fs_contrato>-indice = v_indice.

          ENDLOOP.

          <fs_disp>-indice     = v_indice.

        ENDLOOP.

      ENDIF.

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

      SELECT * FROM /pws/zycbt240 INTO TABLE itab_rendimentos.

* << Fim da exclusão

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

      SELECT * FROM /pws/zycbt240

        INTO TABLE itab_rendimentos."#EC CI_NOWHERE

* << Fim da inclusão

      itab_rendimentos_ant = itab_rendimentos.

      LOOP AT itab_zycbt226 ASSIGNING <fs_zycbt226>.

        READ TABLE itab_zycbt017 INTO wa_zycbt017 WITH KEY

                    nrinvoic  = <fs_zycbt226>-nrinvoic

                    gsberf    = <fs_zycbt226>-gsberf

                    nrparcf   = <fs_zycbt226>-nrparcf.

        IF sy-subrc EQ '0'.

          <fs_zycbt226>-vlavinc = wa_zycbt017-vlavinc.

        ENDIF.

      ENDLOOP.

...

 

...

         EXPORTING

              i_codmod                = 'E'

              i_func                  = v_syrepid

         TABLES

              itab_zyglt100           = itab_zyglt100

         EXCEPTIONS

              i_codmod_nao_encontrado = 1

              i_func_nao_encontrado   = 2

              i_zexit_nao_encontrado  = 3

              OTHERS                  = 4.

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

  if sy-subrc = 0.

  else.

  endif.

* << Fim da inclusão

  ENDIF.

  IF NOT itab_zyglt100[] IS INITIAL.

    READ TABLE itab_zyglt100 WITH KEY zexit = p_exit

      ASSIGNING <fs_zyglt100>.

    IF sy-subrc = 0.

      CHECK NOT <fs_zyglt100>-zexit_ativa IS INITIAL AND

            NOT <fs_zyglt100>-formulario  IS INITIAL AND

            NOT <fs_zyglt100>-programa    IS INITIAL.

      v_ucomm = ok_code.

      PERFORM (<fs_zyglt100>-formulario)

...

 

...

  ENDIF.

ENDFORM.

FORM valores_iniciais.

  CASE sy-dynnr.

    WHEN '0100'.

      SET PARAMETER ID '/PWS/ZYCBP084' FIELD space.

  ENDCASE.

ENDFORM.

FORM bloqueia_op USING value(p_bloqueio)

                       p_index TYPE sy-tabix.

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

  DATA: v_abort(1)  TYPE c,

        v_index226  TYPE sy-tabix.

* << Fim da exclusão

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

  DATA: v_abort(1)  TYPE c.

* << Fim da inclusão

  FIELD-SYMBOLS: <fs_zycbt226> TYPE t_s_zycbe226.

  READ TABLE itab_zycbt226 INDEX p_index ASSIGNING <fs_zycbt226>.

  IF sy-subrc = 0.

    IF p_bloqueio = 'X'.

      CALL FUNCTION 'ENQUEUE_/PWS/EZYCBT226'

           EXPORTING

                mode_/pws/zycbt226 = 'E'

                mandt              = sy-mandt

                nrseq              = <fs_zycbt226>-nrseq

           EXCEPTIONS

...

 

...

    ELSEIF p_bloqueio = ' '.

      CALL FUNCTION 'ENQUEUE_/PWS/EZYCBT226'

           EXPORTING

                mode_/pws/zycbt226 = 'E'

                mandt              = sy-mandt

                nrseq              = <fs_zycbt226>-nrseq

           EXCEPTIONS

                foreign_lock       = 1

                system_failure     = 2

                OTHERS             = 3.

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

  if sy-subrc = 0.

  else.

* << Fim da inclusão

    ENDIF.

  ENDIF.

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

  ENDIF.

* << Fim da inclusão

  IF v_abort = 'X'.

    PERFORM message_show USING 'X'.

    LEAVE PROGRAM.

  ENDIF.

ENDFORM.

...

 

...

  CHECK wa_controle-msg_inicializada IS INITIAL.

  CALL FUNCTION 'MESSAGES_INITIALIZE'.

  wa_controle-msg_inicializada = 'X'.

ENDFORM.

FORM message_store USING    p_classe

                            p_tipo

                            p_msg1

                            p_msg2

                            p_msg3

                            p_msg4

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

                            p_nro.

* << Fim da exclusão

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

                            p_nro."#EC *

* << Fim da inclusão

  CALL FUNCTION 'MESSAGE_STORE'

       EXPORTING

            arbgb                  = p_classe

            msgty                  = p_tipo

            msgv1                  = p_msg1

            msgv2                  = p_msg2

            msgv3                  = p_msg3

            msgv4                  = p_msg4

            txtnr                  = p_nro

       EXCEPTIONS

            message_type_not_valid = 1

            not_active             = 2

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

            OTHERS                 = 3.

  IF sy-subrc NE 0.

* << Fim da exclusão

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

            OTHERS                 = 3."#EC *

  IF sy-subrc = 0.

  else.

* << Fim da inclusão

  ENDIF.

ENDFORM.

FORM message_show USING value(p_limpa_msg) TYPE c.

  DATA: v_num_messages TYPE sy-tabix.

  CALL FUNCTION 'MESSAGES_COUNT'

       IMPORTING

            count                       = v_num_messages

       EXCEPTIONS

            inconsistent_range          = 1

            inconsistent_range_severity = 2

            OTHERS                      = 3.

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

  IF sy-subrc <> 0.

* << Fim da exclusão

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

  IF sy-subrc = 0.

  else.

* << Fim da inclusão

  ENDIF.

  CHECK v_num_messages > 0.

  CLEAR:

    wa_controle-msg_cnt.

  CALL FUNCTION 'MESSAGES_SHOW'

       EXPORTING

            object             =

            'Mensagens emitidas durante o processo'(018)

            show_linno         = space

       EXCEPTIONS

            inconsistent_range = 1

            no_messages        = 2

            OTHERS             = 3.

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

  IF sy-subrc <> 0.

* << Fim da exclusão

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

  IF sy-subrc = 0.

  else.

* << Fim da inclusão

  ENDIF.

  IF p_limpa_msg = 'X'.

    CALL FUNCTION 'MESSAGES_INITIALIZE'.

  ENDIF.

ENDFORM.

FORM user_command_0051.

  CASE ok_code.

    WHEN 'BACK'.

      CALL METHOD html_control->go_back.

      CLEAR ok_code.

...

 

...

  EXPORT s_invoic TO MEMORY ID 'PROG34-INVOIC'.

  EXPORT s_gsber  TO MEMORY ID 'PROG34-GSBER'.

  EXPORT s_nrparc TO MEMORY ID 'PROG34-NRPARC'.

  EXPORT s_kunag  TO MEMORY ID 'PROG34-KUNAG'.

  EXPORT s_dtincl TO MEMORY ID 'PROG34-DTINCL'.

  EXPORT s_dtcext TO MEMORY ID 'PROG34-DTCEXT'.

  PERFORM leave_to_transaction

    USING c_transacao_a.

ENDFORM.

FORM trata_tela_0100.

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

  DATA: v_linhas TYPE sy-tabix.

* << Fim da exclusão

  FIELD-SYMBOLS: <fs_cols> TYPE cxtab_column.

  LOOP AT SCREEN.

    IF sy-tcode = c_transacao_e.

      IF screen-group1 CA 'E'.

        screen-input = 0.

        MODIFY SCREEN.

      ENDIF.

    ENDIF.

  ENDLOOP.

  LOOP AT tc_op-cols ASSIGNING <fs_cols>.

...

 

...

ENDFORM.

FORM busca_sequencial

  CHANGING p_novo_nrseq TYPE /pws/zycbt226-nrseq.

  TYPES:

    BEGIN OF t_s_nrseq,

      nrseq TYPE /pws/zycbt226,

    END OF t_s_nrseq,

    t_t_nrseq TYPE TABLE OF t_s_nrseq.

  DATA:

    v_nrseq(8) TYPE c,

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

    v_ano(3)     TYPE c,

    itab_nrseq TYPE t_t_nrseq.

* << Fim da exclusão

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

    v_ano(3)     TYPE c.

* << Fim da inclusão

  IF sy-tcode = c_transacao_c.

    CLEAR v_ultimo_nrseq.

    CONCATENATE '%' sy-datum+2(2) INTO v_ano.

    SELECT MAX( nrseq ) INTO v_ultimo_nrseq

      FROM /pws/zycbt226

      WHERE nrseq LIKE v_ano.

    IF v_ultimo_nrseq IS INITIAL.

      CONCATENATE '00000000' sy-datum+2(2) INTO v_ultimo_nrseq.

    ENDIF.

    v_nrseq = v_ultimo_nrseq(8) + 1.

...

 

...

ENDFORM.

FORM paginacao_tc USING    p_linhas

                  CHANGING p_top_line.

  CASE ok_code.

    WHEN 'P--'.

      p_top_line = 1.

    WHEN 'P-'.

      p_top_line =

        p_top_line - wa_controle-tc_linhas.

      IF p_top_line LE 0.

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

        p_top_line = 1.

* << Fim da exclusão

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

        p_top_line = 1."#EC PORTABLE

* << Fim da inclusão

      ENDIF.

    WHEN 'P+'.

      p_top_line =

        p_top_line + wa_controle-tc_linhas.

      IF p_top_line GE p_linhas.

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

        p_top_line = p_linhas.

* << Fim da exclusão

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

        p_top_line = p_linhas."#EC PORTABLE

* << Fim da inclusão

      ENDIF.

    WHEN 'P++'.

      p_top_line = p_linhas.

  ENDCASE.

ENDFORM.

FORM preenche_tc_op.

  FIELD-SYMBOLS: <fs_zycbt226> TYPE t_s_zycbe226,

                 <fs_zycbt209> TYPE t_s_zycbt209.

  DATA: wa_zycbt017 TYPE t_s_zycbt017,

        wa_kna1     TYPE t_s_kna1,

        wa_lfa1     TYPE t_s_lfa1,

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

        v_icon_name TYPE icon-name,

* << Fim da exclusão

        v_banco     TYPE lfa1-lifnr.

  FIELD-SYMBOLS: <fs_zycbt030> TYPE t_s_zycbt030.

  READ TABLE itab_zycbt226 INDEX tc_op-current_line

    ASSIGNING <fs_zycbt226>.

  IF sy-subrc = 0.

    IF wa_controle-autorizacao_emp IS INITIAL.

      PERFORM message_store USING

        '/PWS/ZYCBM'

        'W'

        'Registro não será exibido por falta de autorização.'(m02)

...

 

...

         screen-name = '/PWS/ZYCBE226-DESTINO'.

        screen-input = '0'.

        MODIFY SCREEN.

      ENDIF.

    ENDIF.

  ENDLOOP.

ENDFORM.

FORM importa_selecao.

  DATA:

    wa_nrseq LIKE LINE OF s_nrseq,

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

    wa_zycbt226 LIKE LINE OF itab_zycbt226,

* << Fim da exclusão

    v_param(20) TYPE c,

    v_index(3) TYPE n,

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

    v_contador(3) TYPE n,

    v_nrseq TYPE /pws/zycbe226-nrseq.

* << Fim da exclusão

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

    v_contador(3) TYPE n.

* << Fim da inclusão

  CLEAR:

    v_index,

    v_contador.

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

  GET PARAMETER ID 'ZYCB034-QTD' FIELD v_index.

  SET PARAMETER ID 'ZYCB034-QTD' FIELD space.

* << Fim da exclusão

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

  GET PARAMETER ID 'ZYCB034-QTD' FIELD v_index."#EC *

  SET PARAMETER ID 'ZYCB034-QTD' FIELD space."#EC *

* << Fim da inclusão

  wa_nrseq-sign   = 'I'.

  wa_nrseq-option = 'EQ'.

  DO v_index TIMES.

    CONCATENATE c_parametro v_contador INTO v_param.

    GET PARAMETER ID v_param FIELD wa_nrseq-low.

    SET PARAMETER ID v_param FIELD space.

    APPEND wa_nrseq TO s_nrseq.

    v_contador = v_contador + 1.

  ENDDO.

ENDFORM.

FORM processamento.

  DATA: v_excecao(01) TYPE c,

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

        wa_disp LIKE LINE OF itab_disp_30,

        wa_zycbt226 LIKE LINE OF itab_zycbt226,

        v_indice_226  TYPE sy-tabix.

* << Fim da exclusão

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

        wa_zycbt226 LIKE LINE OF itab_zycbt226,"#EC NEEDED

        v_indice_226  TYPE sy-tabix."#EC NEEDED

* << Fim da inclusão

  PERFORM: seleciona_op,

           seleciona_dados,

           armazena_dados_antigos.

  LOOP AT itab_zycbt226 ASSIGNING <fs_op>.

    v_indice_226 = sy-tabix.

    IF <fs_op>-status = 'C'.

      IF <fs_op>-operacao = 'E'.

        READ TABLE itab_disp_30 WITH KEY nrseq = <fs_op>-nrseq

          TRANSPORTING NO FIELDS.

        IF sy-subrc EQ 0.

          PERFORM message_store

            USING '/PWS/ZYCBM'

                  'I'

                  'Ordem de Pagamento'(001)

                  <fs_op>-nrseq

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

                  'tem disponibilidade(s) de 30%.'(m21)

* << Fim da exclusão

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

                  'tem disponibilidade(s) de 30%.'(041)

* << Fim da inclusão

                  'Estorno não permitido.'(m15)

                  '061'.

          CONTINUE.

        ENDIF.

        READ TABLE itab_disp_70 WITH KEY nrseq = <fs_op>-nrseq

          TRANSPORTING NO FIELDS.

        IF sy-subrc EQ 0.

          PERFORM message_store

            USING '/PWS/ZYCBM'

                  'I'

                  'Ordem de Pagamento'(001)

                  <fs_op>-nrseq

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

                  'tem disponibilidade(s) de 70%.'(m22)

* << Fim da exclusão

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

                  'tem disponibilidade(s) de 70%.'(040)

* << Fim da inclusão

                  'Estorno não permitido.'(m15)

                  '061'.

          CONTINUE.

        ENDIF.

        IF <fs_op>-vlr_exterior NE <fs_op>-sld_exterior.

          PERFORM message_store

            USING '/PWS/ZYCBM'

                  'I'

                  'Ordem de Pagamento'(001)

                  <fs_op>-nrseq

...

 

...

    ENDLOOP.

    IF sy-subrc NE 0 AND NOT itab_zycbt226[] IS INITIAL.

      PERFORM leave_to_transaction

        USING c_transacao_a.

    ENDIF.

  ENDIF.

ENDFORM.

FORM verifica_dados

  USING    p_estorno  TYPE c

  CHANGING p_excecao  TYPE c.

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

  DATA: v_mensagens TYPE sy-tabix.

* << Fim da exclusão

  PERFORM verifica_parametrizacao_taxas

    USING    p_estorno

             itab_zycbt089

             <fs_op>-bukrs

    CHANGING p_excecao.

  PERFORM bloqueia_contas

    USING    'X'

    CHANGING p_excecao.

ENDFORM.

FORM determina_periodo_contabil

...

 

...

       EXPORTING

            date                = p_data

            version             = v_periv

       IMPORTING

            period              = p_periodo

       EXCEPTIONS

            period_in_not_valid = 1

            period_not_assigned = 2

            version_undefined   = 3

            OTHERS              = 4.

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

  IF sy-subrc <> 0.

* << Fim da exclusão

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

  IF sy-subrc = 0.

  else.

* << Fim da inclusão

  ENDIF.

  CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'

       EXPORTING

            v_bukrs                = p_bukrs

            v_date                 = p_data

       IMPORTING

            v_year                 = p_ano

       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.

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

  IF sy-subrc <> 0.

* << Fim da exclusão

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

  IF sy-subrc = 0.

  else.

* << Fim da inclusão

  ENDIF.

ENDFORM.

FORM verifica_periodo_contabil

  USING    value(p_bukrs)    TYPE t001-bukrs

           value(p_periodo)  TYPE frper

           value(p_ano)      TYPE gjahr

  CHANGING p_periodo_fechado TYPE c.

  CHECK:

    NOT p_bukrs   IS INITIAL,

    NOT p_ano     IS INITIAL,

...

 

...

                msgty                  = 'W'

                msgv1                  = 'O período contábil'(m07)

                msgv2                  = p_periodo

                msgv3                  = p_ano

                msgv4                  = 'está fechado.'(m08)

                txtnr                  = 061

           EXCEPTIONS

                message_type_not_valid = 1

                not_active             = 2

                OTHERS                 = 3.

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

      IF sy-subrc <> 0.

* << Fim da exclusão

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

      IF sy-subrc = 0.

      else.

* << Fim da inclusão

      ENDIF.

    ENDIF.

  ENDIF.

ENDFORM.

FORM verifica_parametrizacao_taxas

  USING    p_estorno       TYPE c

           p_itab_zycbt089 TYPE t_t_zycbt089

           p_bukrs         TYPE /pws/zycbt089-bukrs

  CHANGING p_excecao       TYPE c.

  FIELD-SYMBOLS:

    <fs_zycbt089> TYPE t_s_zycbt089.

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

  DATA: v_erro(1) TYPE c.

* << Fim da exclusão

  READ TABLE p_itab_zycbt089

    WITH TABLE KEY bukrs = p_bukrs

    ASSIGNING <fs_zycbt089>.

  IF sy-subrc = 0.

    IF p_estorno IS INITIAL.

      IF <fs_op>-tipo_op = 'E'.

        IF <fs_zycbt089>-tx_desm_cli      IS INITIAL OR

           <fs_zycbt089>-tx_liq_and       IS INITIAL OR

           <fs_zycbt089>-tx_c_ordem_pagto IS INITIAL.

          p_excecao = 'X'.

...

 

...

      CALL FUNCTION 'MESSAGE_STORE'

           EXPORTING

                arbgb                  = '/PWS/ZYCBM'

                msgty                  = 'E'

            msgv1 = 'Os tipos de taxa não estão parametrizados.'(m09)

                txtnr                  = 015

           EXCEPTIONS

                message_type_not_valid = 1

                not_active             = 2

                OTHERS                 = 3.

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

      IF sy-subrc <> 0.

* << Fim da exclusão

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

      IF sy-subrc = 0.

      else.

* << Fim da inclusão

      ENDIF.

    ENDIF.

  ENDIF.

ENDFORM.

FORM contabilizacoes.

  DATA: v_excecao(1)       TYPE c.

  CLEAR:

    v_desm_cli,

    v_desm_liqand,

    v_sld_liq_and,

...

 

...

ENDFORM.

FORM preenche_campos_contab_exc

  USING

    value(p_bukrs)       TYPE /pws/zycbt011-bukrs

    value(p_ktosl)       TYPE /pws/zyglt321-ktosl

    value(p_codeven)     TYPE /pws/zyglt321-codeven

    value(p_desmemb)     TYPE c

    value(p_wa_zycbt226) TYPE t_s_zycbe226

    value(p_wa_zycbt017) TYPE t_s_zycbt017

  CHANGING

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

    p_wa_zycbe033        TYPE t_s_zycbe033.

* << Fim da exclusão

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

    p_wa_zycbe033        TYPE t_s_zycbe033."#EC *

* << Fim da inclusão

  CONSTANTS:

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

    c_desm_cont(01)   TYPE c VALUE 'C',

* << Fim da exclusão

    c_sgtxt(05)       TYPE c VALUE 'SGTXT',

    c_xblnr(05)       TYPE c VALUE 'XBLNR',

    c_zuonr(05)       TYPE c VALUE 'ZUONR',

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

    c_zterm(05)       TYPE c VALUE 'ZTERM',

* << Fim da exclusão

    c_zfbdt(05)       TYPE c VALUE 'ZFBDT',

    c_valut(05)       TYPE c VALUE 'VALUT',

    c_nrinvoic(08)    TYPE c VALUE 'NRINVOIC',

    c_nremb(05)       TYPE c VALUE 'NREMB',

    c_nrseq(05)       TYPE c VALUE 'NRSEQ',

    c_ref(06)         TYPE c VALUE 'REF_OP',

    c_obs(03)         TYPE c VALUE 'OBS',

    c_dtincl(06)      TYPE c VALUE 'DTINCL',

    c_dtlancto(08)    TYPE c VALUE 'DTLANCTO',

    c_dtlimite(08)    TYPE c VALUE 'DTLIMITE',

...

 

...

        ENDCASE.

    ENDCASE.

  ENDLOOP.

ENDFORM.

FORM doc_op USING    value(p_estorno)   TYPE c

            CHANGING p_belnr_est_f02    TYPE /pws/zycbt226-belnr_op

                     p_dtlancto_est_f02 TYPE /pws/zycbt226-dtlancto.

  DATA: wa_zycbt032       TYPE t_s_zycbt032,

        wa_zycbe033       TYPE t_s_zycbe033,

        wa_zycbt034       TYPE t_s_zycbt034,

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

        wa_erro           TYPE t_s_erro,

* << Fim da exclusão

        wa_zycbt209       TYPE t_s_zycbt209,

        wa_tab_op         TYPE t_s_tab_op,

        v_lancto_multiplo TYPE c,

        v_newbs2          TYPE newbs,

        v_titulo(31)      TYPE c,

        v_codeven         TYPE /pws/zycbt011-codeven.

  CONSTANTS: c_op(23)     TYPE c VALUE 'DOC. ORDEM DE PAGAMENTO',

             c_est_op(31) TYPE c VALUE 'DOC. ESTORNO ORDEM DE PAGAMENTO'

.

  IF p_estorno IS INITIAL.

...

 

...

    wa_zycbe033-gsber   = <fs_op>-gsberf.

    wa_zycbe033-d_gsber = <fs_op>-gsberf.

    wa_zycbe033-c_gsber = <fs_op>-gsberf.

  ENDIF.

  IF NOT <fs_op>-j_1bbranch IS INITIAL.

    wa_zycbe033-brnch = <fs_op>-j_1bbranch.

  ENDIF.

  IF NOT <fs_op>-werks IS INITIAL.

    wa_zycbe033-werks = <fs_op>-werks.

  ENDIF.

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

  CONCATENATE 'Des.'

* << Fim da exclusão

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

  CONCATENATE text-038

* << Fim da inclusão

                     <fs_op>-nrinvoic <fs_op>-nrparcf

    INTO wa_zycbe033-d_zuonr

    SEPARATED BY space.

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

  CONCATENATE 'Des.' <fs_op>-nrinvoic <fs_op>-nrparcf

* << Fim da exclusão

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

  CONCATENATE text-038

  <fs_op>-nrinvoic <fs_op>-nrparcf

* << Fim da inclusão

    INTO wa_zycbe033-c_zuonr

    SEPARATED BY space.

  IF <fs_op>-tipo_op = 'E'.

    v_codeven = c_codeven_op_emb.

  ELSEIF  <fs_op>-tipo_op = 'P'.

    v_codeven = '030'.

  ENDIF.

  PERFORM preenche_campos_contab_exc

    USING

      <fs_op>-bukrs

      c_chave_oper

      v_codeven

      space

      <fs_op>

      wa_fat

    CHANGING

      wa_zycbe033.

  IF <fs_op>-tipo_op = 'P'.

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

    CONCATENATE 'Des.' <fs_op>-bukrs

* << Fim da exclusão

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

    CONCATENATE text-038

    <fs_op>-bukrs

* << Fim da inclusão

      INTO wa_zycbe033-c_zuonr

      SEPARATED BY space.

  ENDIF.

  IF <fs_op>-tipo_op = 'E'.

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

    CONCATENATE 'Des.' <fs_op>-nrinvoic <fs_op>-nrparcf

* << Fim da exclusão

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

    CONCATENATE text-038

    <fs_op>-nrinvoic <fs_op>-nrparcf

* << Fim da inclusão

      INTO wa_zycbe033-c_zuonr

      SEPARATED BY space.

  ENDIF.

  PERFORM define_taxa_cambio

    USING 'O'

      p_estorno

      v_codeven

      <fs_op>-bukrs

      <fs_op>-dtlancto

      <fs_op>-nrinvoic

...

 

...

    p_kursf TYPE tcurr-ukurs.

  CONSTANTS:

    c_dtcontr(10)    TYPE c VALUE 'DTCONTR',

    c_dtfech(10)     TYPE c VALUE 'DTFECH',

    c_dtlanc(10)     TYPE c VALUE 'DTLANC',

    c_dtemb(10)      TYPE c VALUE 'DTEMB',

    c_txfat(10)      TYPE c VALUE 'TXFAT',

    c_viatrans(10)   TYPE c VALUE 'VIATRANS',

    c_dtcredext(10)  TYPE c VALUE 'DTCREDEXT',

    c_dtaverb(10)    TYPE c VALUE 'DTAVERB',

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

    c_dtcruze(10)    TYPE c VALUE 'DTCRUZE',

    c_op(28)         TYPE c VALUE 'wa_zycbt089-tx_c_ordem_pagto',

    c_est_op(30)     TYPE c VALUE 'wa_zycbt089-tx_est_ordem_pagto',

    c_cli(23)        TYPE c VALUE 'wa_zycbt089-tx_desm_cli',

    c_est_cli(21)    TYPE c VALUE 'wa_zycbt089-tx_cl_cli',

    c_liqand(27)     TYPE c VALUE 'wa_zycbt089-tx_desm_liq_and',

    c_est_liqand(25) TYPE c VALUE 'wa_zycbt089-tx_cl_liq_and'.

* << Fim da exclusão

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

    c_dtcruze(10)    TYPE c VALUE 'DTCRUZE'.

* << Fim da inclusão

  DATA:

    v_dt_taxa    TYPE d,

    wa_zycet001  TYPE t_s_zycet001,

    wa_zycit054  TYPE t_s_zycit054,

    wa_zycet047  TYPE t_s_zycet047,

    wa_zycet048  TYPE t_s_zycet048,

    wa_bkpf      TYPE t_s_bkpf,

    v_op(30)     TYPE c,

    v_cli(23)    TYPE c,

    v_liqand(27) TYPE c.

...

 

...

    CASE p_tpcontab.

      WHEN 'O'.

        v_op = c_dtlanc.

        CASE v_op.

          WHEN c_dtlanc.

            v_dt_taxa = p_dtlanc.

          WHEN c_dtcredext.

            v_dt_taxa = <fs_op>-dtcredext.

          WHEN c_txfat.

            READ TABLE itab_zycet001 INTO wa_zycet001

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

              WITH KEY nrseq = <fs_op>-nrinvoic.

* << Fim da exclusão

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

              WITH KEY nrseq = <fs_op>-nrinvoic."#EC *

* << Fim da inclusão

            IF sy-subrc = 0.

              READ TABLE itab_zycbt030 INTO wa_zycbt030

                WITH KEY nrinvoic = <fs_op>-nrinvoic

                         gsberf   = <fs_op>-gsberf

                         nrparcf  = <fs_op>-nrparcf.

              IF sy-subrc = 0.

                CHECK ( NOT wa_zycbt030-belnr   IS INITIAL   OR

                        NOT wa_zycbt030-belnr_t IS INITIAL   OR

                        NOT wa_zycbt030-belnr6  IS INITIAL ) AND

                        NOT wa_zycbt030-gjahr IS INITIAL.

...

 

...

                               gjahr = wa_zycbt030-gjahr(4).

                  ENDIF.

                ENDIF.

                IF sy-subrc = 0.

                  p_kursf = wa_bkpf-kursf.

                ENDIF.

              ENDIF.

            ENDIF.

          WHEN c_viatrans.

            READ TABLE itab_zycet001 INTO wa_zycet001

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

              WITH KEY nrseq = p_nrinvoic.

* << Fim da exclusão

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

              WITH KEY nrseq = p_nrinvoic."#EC *

* << Fim da inclusão

            IF sy-subrc = 0.

              READ TABLE itab_zycit054 INTO wa_zycit054

                WITH KEY vktra_ci = wa_zycet001-viatrans.

              IF sy-subrc = 0.

                CHECK NOT wa_zycit054-vktra IS INITIAL.

                READ TABLE itab_zycet048 INTO wa_zycet048

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

                  WITH KEY vktrt = wa_zycit054-vktra.

* << Fim da exclusão

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

                  WITH KEY vktrt = wa_zycit054-vktra."#EC *

* << Fim da inclusão

                IF sy-subrc = 0.

                  IF wa_zycet048-dtvrc EQ wa_zycet048-dtvencto.

                    v_dt_taxa = wa_zycet001-kurrf_bl.

                  ELSE.

                    IF wa_zycet048-dtvrc EQ 'DTBL'.

                      READ TABLE itab_zycet047 INTO wa_zycet047

                        WITH KEY nrseq = wa_zycet001-nrseq.

                      IF sy-subrc = 0.

                        v_dt_taxa = wa_zycet047-dtbl.

                      ENDIF.

...

 

...

                      v_dt_taxa = wa_zycet001-dtaverb.

                    ELSEIF wa_zycet048-dtvrc EQ 'DTCRUZE'.

                      v_dt_taxa = wa_zycet001-dtcruze.

                    ENDIF.

                  ENDIF.

                ENDIF.

              ENDIF.

            ENDIF.

          WHEN c_dtemb.

            READ TABLE itab_zycet001 INTO wa_zycet001

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

              WITH KEY nrseq = <fs_op>-nrinvoic.

* << Fim da exclusão

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

              WITH KEY nrseq = <fs_op>-nrinvoic."#EC *

* << Fim da inclusão

            IF sy-subrc = 0.

              v_dt_taxa = wa_zycet001-dtemb.

            ENDIF.

          WHEN c_dtfech.

            v_dt_taxa      = <fs_op>-dtincl.

            v_dt_taxa+6(2) = '01'.

            v_dt_taxa      = v_dt_taxa - 1.

            v_dt_taxa      = v_dt_taxa.

        ENDCASE.

      WHEN 'C'.

...

 

...

          v_cli = wa_zycbt089-tx_desm_cli.

        ELSE.

          v_cli = wa_zycbt089-tx_cl_cli.

        ENDIF.

        CASE v_cli.

          WHEN c_dtlanc.

            v_dt_taxa = p_dtlanc.

          WHEN c_dtfech.

            READ TABLE itab_zycet001

              WITH KEY nrseq = p_nrinvoic

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

              INTO wa_zycet001.

* << Fim da exclusão

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

              INTO wa_zycet001."#EC *

* << Fim da inclusão

            IF sy-subrc = 0.

              wa_zycet001-dtemb+6(2) = '01'.

              <fs_op>-dtcredext+6(2) = '01'.

              IF wa_zycet001-dtemb EQ <fs_op>-dtcredext.

                v_dt_taxa = wa_zycet001-dtemb.

              ELSE.

                v_dt_taxa = <fs_op>-dtincl.

                v_dt_taxa+6(2) = '01'.

                v_dt_taxa = v_dt_taxa - 1.

              ENDIF.

            ENDIF.

          WHEN c_dtemb.

            READ TABLE itab_zycet001

              WITH KEY nrseq = p_nrinvoic

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

              INTO wa_zycet001.

* << Fim da exclusão

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

              INTO wa_zycet001."#EC *

* << Fim da inclusão

            IF sy-subrc = 0.

              v_dt_taxa = wa_zycet001-dtemb.

            ENDIF.

          WHEN c_txfat.

            READ TABLE itab_zycet001 INTO wa_zycet001

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

              WITH KEY nrseq = <fs_op>-nrinvoic.

* << Fim da exclusão

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

              WITH KEY nrseq = <fs_op>-nrinvoic."#EC *

* << Fim da inclusão

            IF sy-subrc = 0.

              READ TABLE itab_zycbt030 INTO wa_zycbt030 WITH KEY

                nrinvoic = <fs_op>-nrinvoic

                gsberf   = <fs_op>-gsberf

                nrparcf  = <fs_op>-nrparcf.

              IF sy-subrc = 0.

                IF ( NOT wa_zycbt030-belnr   IS INITIAL   OR

                     NOT wa_zycbt030-belnr_t IS INITIAL   OR

                     NOT wa_zycbt030-belnr6  IS INITIAL ) AND

                     NOT wa_zycbt030-gjahr IS INITIAL.

...

 

...

                    p_kursf = wa_bkpf-kursf.

                    CLEAR v_dt_taxa.

                  ENDIF.

                ENDIF.

              ENDIF.

            ENDIF.

          WHEN c_viatrans OR

               c_dtcontr.

            READ TABLE itab_zycet001

              WITH KEY nrseq = p_nrinvoic

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

              INTO wa_zycet001.

* << Fim da exclusão

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

              INTO wa_zycet001."#EC *

* << Fim da inclusão

            IF sy-subrc = 0.

              READ TABLE itab_zycit054

                WITH KEY vktra_ci = wa_zycet001-viatrans

                INTO wa_zycit054.

              IF sy-subrc = 0.

                IF NOT wa_zycit054-vktra IS INITIAL.

                  READ TABLE itab_zycet048

                    WITH KEY vktrt = wa_zycit054-vktra

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

                    INTO wa_zycet048.

* << Fim da exclusão

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

                    INTO wa_zycet048."#EC *

* << Fim da inclusão

                  IF sy-subrc = 0.

                    CASE wa_zycet048-dtvrc.

                      WHEN c_dtemb.

                        v_dt_taxa = wa_zycet001-dtemb.

                      WHEN c_dtaverb.

                        v_dt_taxa = wa_zycet001-dtaverb.

                      WHEN c_dtcruze.

                        v_dt_taxa = wa_zycet001-dtcruze.

                    ENDCASE.

                  ENDIF.

...

 

...

        IF p_estorno IS INITIAL.

          v_liqand = wa_zycbt089-tx_desm_liq_and.

        ELSE.

          v_liqand = wa_zycbt089-tx_cl_liq_and.

        ENDIF.

        CASE v_liqand.

          WHEN c_dtlanc.

            v_dt_taxa = p_dtlanc.

          WHEN 'DTEMB'.

            READ TABLE itab_zycet001 INTO wa_zycet001

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

                WITH KEY nrseq = <fs_op>-nrinvoic.

* << Fim da exclusão

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

                WITH KEY nrseq = <fs_op>-nrinvoic."#EC *

* << Fim da inclusão

            IF sy-subrc = 0.

              v_dt_taxa = wa_zycet001-dtemb.

            ENDIF.

          WHEN 'DTFECH'.

            READ TABLE itab_zycet001

              WITH KEY nrseq = p_nrinvoic

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

              INTO wa_zycet001.

* << Fim da exclusão

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

              INTO wa_zycet001."#EC *

* << Fim da inclusão

            IF sy-subrc = 0.

              wa_zycet001-dtemb+6(2) = '01'.

              <fs_op>-dtcredext+6(2) = '01'.

              IF wa_zycet001-dtemb EQ <fs_op>-dtcredext.

                v_dt_taxa = wa_zycet001-dtemb.

              ELSE.

                v_dt_taxa = <fs_op>-dtincl.

                v_dt_taxa+6(2) = '01'.

                v_dt_taxa = v_dt_taxa - 1.

              ENDIF.

            ENDIF.

          WHEN 'DTFECH1'.

            READ TABLE itab_zycet001

              WITH KEY nrseq = p_nrinvoic

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

              INTO wa_zycet001.

* << Fim da exclusão

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

              INTO wa_zycet001."#EC *

* << Fim da inclusão

            IF sy-subrc = 0.

              wa_zycet001-dtemb+6(2) = '01'.

              <fs_op>-dtcredext+6(2) = '01'.

              IF wa_zycet001-dtemb EQ <fs_op>-dtcredext.

                v_dt_taxa = wa_zycet001-dtemb.

              ELSE.

                v_dt_taxa = <fs_op>-dtincl.

                v_dt_taxa+6(2) = '01'.

              ENDIF.

            ENDIF.

          WHEN 'VIATRANS'.

            CLEAR wa_zycet048.

            READ TABLE itab_zycet001 INTO wa_zycet001

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

              WITH KEY nrseq = <fs_op>-nrinvoic.

* << Fim da exclusão

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

              WITH KEY nrseq = <fs_op>-nrinvoic."#EC *

* << Fim da inclusão

            IF sy-subrc = 0.

              READ TABLE itab_zycit054 INTO wa_zycit054

                WITH KEY vktra_ci = wa_zycet001-viatrans.

              IF sy-subrc = 0.

                IF NOT wa_zycit054-vktra IS INITIAL.

                  READ TABLE itab_zycet048 INTO wa_zycet048

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

                    WITH KEY vktrt = wa_zycit054-vktra.

* << Fim da exclusão

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

                    WITH KEY vktrt = wa_zycit054-vktra."#EC *

* << Fim da inclusão

                  IF sy-subrc EQ 0.

                    IF wa_zycet048-dtvrc = wa_zycet048-dtvencto.

                      CLEAR v_dt_taxa.

                      p_kursf = wa_zycet001-kurrf_bl.

                    ELSE.

                      IF wa_zycet048-dtvrc EQ 'DTBL'.

                        READ TABLE itab_zycet047 INTO wa_zycet047

                          WITH KEY nrseq = wa_zycet001-nrseq.

                        IF sy-subrc = 0.

                          v_dt_taxa = wa_zycet047-dtbl.

...

 

...

                      ELSEIF wa_zycet048-dtvrc EQ 'DTCRUZE'.

                        v_dt_taxa = wa_zycet001-dtcruze.

                      ENDIF.

                    ENDIF.

                  ENDIF.

                ENDIF.

              ENDIF.

            ENDIF.

          WHEN 'TXFAT'.

            READ TABLE itab_zycet001 INTO wa_zycet001

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

              WITH KEY nrseq = <fs_op>-nrinvoic.

* << Fim da exclusão

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

              WITH KEY nrseq = <fs_op>-nrinvoic."#EC *

* << Fim da inclusão

            IF sy-subrc = 0.

              READ TABLE itab_zycbt030 INTO wa_zycbt030

                WITH KEY nrinvoic = <fs_op>-nrinvoic

                         gsberf   = <fs_op>-gsberf

                         nrparcf  = <fs_op>-nrparcf.

              IF sy-subrc = 0.

                IF NOT wa_zycbt030-belnr IS INITIAL AND

                   NOT wa_zycet001-dtemb IS INITIAL.

                  READ TABLE itab_bkpf INTO wa_bkpf

                    WITH KEY bukrs = <fs_op>-bukrs

...

 

...

          p_bukrs

          <fs_op>-waers

          wa_zycbt007-waersb

          v_dt_taxa

        CHANGING

          p_kursf.

    ENDIF.

  ENDIF.

ENDFORM.

FORM seleciona_dados.

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

  DATA: BEGIN OF itab_054 OCCURS 0,

* << Fim da exclusão

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

  DATA: BEGIN OF itab_054 OCCURS 0,"#EC *

* << Fim da inclusão

          mandt       TYPE /pws/zycit054-mandt,

          vktra_ci    TYPE /pws/zycit054-vktra_ci,

          vktra(2)    TYPE n,

          bezei       TYPE /pws/zycit054-bezei,

          codvias     TYPE /pws/zycit054-codvias,

          dtprescarga TYPE /pws/zycit054-dtprescarga,

          nrdias      TYPE /pws/zycit054-nrdias,

        END OF itab_054.

  SELECT modo descr

    FROM /pws/zycbt039

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

    INTO CORRESPONDING FIELDS OF TABLE itab_zycbt039.

* << Fim da exclusão

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

    INTO CORRESPONDING FIELDS OF TABLE itab_zycbt039."#EC CI_NOWHERE

* << Fim da inclusão

  IF NOT itab_zycbt226[] IS INITIAL.

    SELECT *

      FROM kna1

      INTO TABLE itab_kna1

      FOR ALL ENTRIES IN itab_zycbt226

      WHERE kunnr = itab_zycbt226-kunag.

    SELECT *

      FROM lfa1

      INTO TABLE itab_lfa1

      FOR ALL ENTRIES IN itab_zycbt226

...

 

...

                belnr = itab_zycbt030-belnr6 )

        AND   bukrs = itab_zycbt030-bukrs

        AND   gjahr = itab_zycbt030-gjahr.

    ENDIF.

    SELECT *

      FROM /pws/zycbt209

      INTO TABLE itab_zycbt209

      FOR ALL ENTRIES IN itab_zycbt017

      WHERE nrinvoic = itab_zycbt017-nrinvoic

        AND nrparcf  = itab_zycbt017-nrparcf

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

        AND gsberf   = itab_zycbt017-gsberf.

* << Fim da exclusão

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

        AND gsberf   = itab_zycbt017-gsberf."#EC CI_NOFIRST

* << Fim da inclusão

    SELECT *

      FROM /pws/zyglt368

      INTO TABLE itab_zyglt368

      FOR ALL ENTRIES IN itab_zycbt017

      WHERE bukrs = itab_zycbt017-bukrs.

  ENDIF.

ENDFORM.

FORM busca_taxa   USING

    value(p_codeven)   TYPE /pws/zycbt011-codeven

    value(p_bukrs)     TYPE t001-bukrs

...

 

...

  READ TABLE itab_zycbt011

    WITH TABLE KEY

      codeven = p_codeven

      codmod  = c_modulo

      bukrs   = p_bukrs

    ASSIGNING <fs_zycbt011>.

  IF sy-subrc = 0.

    READ TABLE itab_zycbt009

      WITH TABLE KEY

        codpadr = <fs_zycbt011>-ctmoed

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

      ASSIGNING <fs_zycbt009>.

* << Fim da exclusão

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

      ASSIGNING <fs_zycbt009>."#EC *

* << Fim da inclusão

  ENDIF.

  IF <fs_zycbt009> IS ASSIGNED.

    CALL FUNCTION '/PWS/ZYGL_MONTANTE_CONVERTE'

         EXPORTING

              i_montante                   = 1

              i_demoeda                    = p_waersde

              i_paramoeda                  = p_waerspara

              i_ctmoeda                    = <fs_zycbt009>-kurst

              i_dtbase                     = p_dtbase

         IMPORTING

...

 

...

         EXCEPTIONS

              i_demoeda_nao_encontrado     = 1

              i_paramoeda_nao_encontrado   = 2

              i_ctmoeda_nao_encontrado     = 3

              i_dtbase_nao_encontrada      = 4

              taxa_nao_encontrada          = 5

              fator_nao_encontrado         = 6

              i_montante_nao_encontrado    = 7

              tabela_categ_nao_configurada = 8

              OTHERS                       = 9.

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

    IF sy-subrc <> 0.

* << Fim da exclusão

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

    IF sy-subrc = 0.

    else.

* << Fim da inclusão

    ENDIF.

  ENDIF.

ENDFORM.

FORM le_dados.

  READ TABLE itab_zycbt007

    WITH TABLE KEY bukrs = <fs_op>-bukrs

    INTO wa_zycbt007.

  READ TABLE itab_zycbt089

    WITH TABLE KEY bukrs = <fs_op>-bukrs

    INTO wa_zycbt089.

...

 

...

    INTO wa_fat.

ENDFORM.

FORM busca_conta USING

    value(p_bukrs)        TYPE /pws/zycbt001-bukrs

    value(p_kunnr)        TYPE /pws/zycbt001-kunnr

    value(p_sld_liq_and)  TYPE wrbtr

    value(p_wa_zycbt209)  TYPE t_s_zycbt209

    value(p_estorno)      TYPE c

  CHANGING

    p_wa_zycbe033         TYPE t_s_zycbe033

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

    p_newbs2              TYPE newbs.

  CONSTANTS:

    c_codaux1 TYPE /pws/zyglt316-codaux1 VALUE 'ORDEM PAGAMENTO'.

* << Fim da exclusão

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

    p_newbs2              TYPE newbs."#EC *

* << Fim da inclusão

  DEFINE atualiza_cmps_contabeis_op.

    <fs_op>-tp_conta       = &1.

    <fs_op>-conta_contabil = &2.

    <fs_op>-rze            = &3.

  END-OF-DEFINITION.

  DATA:

    wa_zyglt316 TYPE t_s_zyglt316,

    wa_zycbt011 TYPE t_s_zycbt011,

    v_codeven   TYPE /pws/zycbt011-codeven,

    v_banco     TYPE /pws/zycbt226-bco_me.

...

 

...

            bukrs           = <fs_op>-bukrs

            ktosl           = 'FBK'

            codaux1         = v_banco

            codaux2         = <fs_op>-waers

       TABLES

            account         = itab_zyglt316

       EXCEPTIONS

            key_not_found   = 1

            rules_not_found = 2

            OTHERS          = 3.

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

  if sy-subrc = 0.

  else.

  endif.

* << Fim da inclusão

  READ TABLE itab_zyglt316 INTO wa_zyglt316 INDEX 1.

  IF sy-subrc = 0.

    p_wa_zycbe033-d_newko = wa_zyglt316-konts.

  ENDIF.

  IF p_estorno IS INITIAL.

    atualiza_cmps_contabeis_op 'S'

                               p_wa_zycbe033-d_newko

                               ' '                .

  ENDIF.

  PERFORM preenche_contas_bloqueio USING  sy-mandt

...

 

...

            titel              = 'Execução do Batch-Input'(009)

       IMPORTING

            answer             = v_modo_bi

       TABLES

            t_spopli           = itab_modo

       EXCEPTIONS

            not_enough_answers = 1

            too_much_answers   = 2

            too_much_marks     = 3

            OTHERS             = 4.

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

  if sy-subrc = 0.

  else.

  endif.

* << Fim da inclusão

  IF v_modo_bi EQ '1' OR v_modo_bi EQ 'A'.

    v_modo_bi = 'N'.

  ELSEIF v_modo_bi EQ '3'.

    v_modo_bi = 'A'.

  ELSEIF v_modo_bi EQ '2'.

    v_modo_bi = 'E'.

  ENDIF.

ENDFORM.

FORM armazena_dados_antigos.

  REFRESH itab_zycbt226_ant.

...

 

...

      wa_zycbe033-belnr = <fs_zycbt030>-belnr.

    ENDIF.

  ENDIF.

  wa_zycbe033-d_newko = <fs_op>-kunag.

  wa_zycbe033-newbs = '01'.

  PERFORM preenche_contas_bloqueio USING  sy-mandt

                                          <fs_op>-bukrs

                                          'D'

                                          wa_zycbe033-d_newko

                                          'S'.

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

  CONCATENATE 'Des.'

* << Fim da exclusão

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

  CONCATENATE text-038

* << Fim da inclusão

                     <fs_zycbt030>-nrinvoic <fs_zycbt030>-nrparcf

              INTO wa_zycbe033-d_zuonr

              SEPARATED BY space.

  wa_zycbt036-tcode   = wa_zycbe033-tcode.

  wa_zycbt036-tabela  = wa_zycbe033-tabela.

  wa_zycbt036-cpochv  = wa_zycbe033-cpochv.

  wa_zycbt036-residuo = wa_zycbe033-wrbtr.

  wa_zycbt036-zuonr   = wa_zycbe033-d_zuonr.

  APPEND wa_zycbt036 TO itab_zycbt036.

  APPEND wa_zycbe033 TO itab_zycbe033.

...

 

...

FORM doc_desm_liq_and.

  DATA: wa_zycbt032          TYPE t_s_zycbt032,

        wa_zycbe033          TYPE t_s_zycbe033,

        wa_zycbt034          TYPE t_s_zycbt034,

        wa_zycbt036          TYPE t_s_zycbt036,

        wa_zycbt011          TYPE t_s_zycbt011,

        wa_zycbt225          TYPE t_s_zycbt225,

        v_vlr_lancto         TYPE /pws/zycbe033-wrbtr,

        v_ultimo(1)          TYPE c,

        v_vinc_tot(1)        TYPE c.

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

  FIELD-SYMBOLS: <fs_zycbt209> TYPE t_s_zycbt209,

                 <fs_zycbt030> TYPE t_s_zycbt030.

* << Fim da exclusão

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

  FIELD-SYMBOLS: <fs_zycbt209> TYPE t_s_zycbt209.

* << Fim da inclusão

  CHECK NOT <fs_op>-belnr_op         IS INITIAL AND

            <fs_op>-belnr_desmliqand IS INITIAL AND

            v_desm_liqand = 'X'.

  LOOP AT itab_zycbt209 ASSIGNING <fs_zycbt209>

    WHERE nrinvoic = <fs_op>-nrinvoic

      AND nrparcf  = <fs_op>-nrparcf

      AND gsberf   = <fs_op>-gsberf

      AND saldo    > 0.

    CLEAR: v_ultimo,

           v_vinc_tot.

...

 

...

    PERFORM preenche_campos_contab_exc

      USING

        <fs_op>-bukrs

        c_chave_oper

        c_codeven_liqand_op

        space

        <fs_op>

        wa_fat

      CHANGING

        wa_zycbe033.

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

    CONCATENATE 'Des.' <fs_zycbt209>-nrinvoic <fs_zycbt209>-nrparcf

* << Fim da exclusão

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

    CONCATENATE text-038

    <fs_zycbt209>-nrinvoic <fs_zycbt209>-nrparcf

* << Fim da inclusão

                INTO wa_zycbe033-d_zuonr

                SEPARATED BY space.

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

    CONCATENATE 'Des.' <fs_zycbt209>-nrinvoic <fs_zycbt209>-nrparcf

* << Fim da exclusão

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

  CONCATENATE text-038

    <fs_zycbt209>-nrinvoic <fs_zycbt209>-nrparcf

* << Fim da inclusão

      INTO wa_zycbe033-c_zuonr

...

 

...

           IMPORTING

                v_year                 = v_year

           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.

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

  if sy-subrc = 0.

  else.

  endif.

* << Fim da inclusão

      SELECT SINGLE zuonr

             FROM bseg

             INTO wa_zycbe033-c_zuonr

             WHERE bukrs = <fs_op>-bukrs      AND

                   belnr = wa_zycbt030-belnr6 AND

                   gjahr = v_year             AND

                   augbl = space              AND

                   koart = 'D'                AND

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

                   buzei <= 2.

* << Fim da exclusão

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

                   buzei <= 2."#EC *

* << Fim da inclusão

      APPEND wa_partidas TO itab_partidas.

    ENDIF.

  ENDIF.

  IF v_desm_liqand = 'X'.

    LOOP AT itab_zycbt209 INTO wa_zycbt209

      WHERE nrinvoic = <fs_op>-nrinvoic

        AND nrparcf  = <fs_op>-nrparcf

        AND gsberf   = <fs_op>-gsberf.

      LOOP AT itab_zycbt225 INTO wa_zycbt225

        WHERE nrseq    = <fs_op>-nrseq

...

 

...

             IMPORTING

                  v_year                 = v_year

             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.

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

  if sy-subrc = 0.

  else.

  endif.

* << Fim da inclusão

        SELECT SINGLE zuonr

               FROM bseg

               INTO wa_zycbe033-c_zuonr

               WHERE bukrs = wa_zycbt209-bukrs            AND

                     belnr = wa_zycbt225-belnr_desmliqand AND

                     gjahr = v_year                       AND

                     augbl = space                        AND

                     koart = wa_zycbt209-koart            AND

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

                     buzei <= 2.

* << Fim da exclusão

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

                     buzei <= 2."#EC *

* << Fim da inclusão

        APPEND wa_partidas TO itab_partidas.

      ENDLOOP.

    ENDLOOP.

  ENDIF.

  LOOP AT itab_partidas INTO wa_partidas.

    PERFORM preenche_contas_bloqueio USING  sy-mandt

                                            <fs_op>-bukrs

                                            wa_partidas-agkoa

                                            wa_partidas-agkon(10)

                                            'S'.

...

 

...

              bukrs           = <fs_op>-bukrs

              ktosl           = 'FBK'

              codaux1         = v_banco

              codaux2         = <fs_op>-waers

         TABLES

              account         = itab_zyglt316

         EXCEPTIONS

              key_not_found   = 1

              rules_not_found = 2

              OTHERS          = 3.

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

  if sy-subrc = 0.

  else.

  endif.

* << Fim da inclusão

    READ TABLE itab_zyglt316 INTO wa_zyglt316 INDEX 1.

    IF sy-subrc = 0.

      PERFORM preenche_contas_bloqueio USING  sy-mandt

                                              <fs_op>-bukrs

                                              'S'

                                              wa_zyglt316-konts

                                              'S'.

    ENDIF.

    READ TABLE itab_zycbt209 INTO wa_zycbt209

      WITH KEY nrinvoic = <fs_op>-nrinvoic

...

 

...

              bukrs           = <fs_op>-bukrs

              ktosl           = 'FBK'

              codaux1         = v_banco

              codaux2         = <fs_op>-waers

         TABLES

              account         = itab_zyglt316

         EXCEPTIONS

              key_not_found   = 1

              rules_not_found = 2

              OTHERS          = 3.

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

  if sy-subrc = 0.

  else.

  endif.

* << Fim da inclusão

    READ TABLE itab_zyglt316 INTO wa_zyglt316 INDEX 1.

    IF sy-subrc = 0.

      PERFORM preenche_contas_bloqueio USING  sy-mandt

                                              <fs_op>-bukrs

                                              'S'

                                              wa_zyglt316-konts

                                              'S'.

    ENDIF.

    PERFORM preenche_contas_bloqueio USING  sy-mandt

                                            <fs_op>-bukrs

...

 

...

  ENDIF.

  CALL FUNCTION '/PWS/ZYCB_ENQUEUE_CONTAS'

       EXPORTING

            i_bloqueia    = p_bloqueio

       TABLES

            itab_zycbt224 = itab_zycbe224

       EXCEPTIONS

            zycbe224_null = 1

            erro_bloqueio = 2

            OTHERS        = 3.

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

  IF sy-subrc <> 0.

* << Fim da exclusão

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

  IF sy-subrc = 0.

  else.

* << Fim da inclusão

  ENDIF.

  LOOP AT itab_zycbe224 INTO wa_zycbe224

      WHERE uname <> space.

    CALL FUNCTION 'MESSAGE_STORE'

         EXPORTING

              arbgb                  = '/PWS/ZYCBM'

              msgty                  = 'E'

              msgv1                  = wa_zycbe224-saknr

              msgv2                  = wa_zycbe224-bukrs

              msgv3                  = wa_zycbe224-uname

              txtnr                  = 295

         EXCEPTIONS

              message_type_not_valid = 1

              not_active             = 2

              OTHERS                 = 3.

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

    IF sy-subrc <> 0.

* << Fim da exclusão

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

    IF sy-subrc = 0.

    else.

* << Fim da inclusão

    ENDIF.

    p_excecao = 'X'.

  ENDLOOP.

  IF sy-subrc = 0.

    CALL FUNCTION '/PWS/ZYCB_ENQUEUE_CONTAS'

         EXPORTING

              i_bloqueia    = space

         TABLES

              itab_zycbt224 = itab_zycbe224

         EXCEPTIONS

              zycbe224_null = 1

              erro_bloqueio = 2

              OTHERS        = 3.

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

    IF sy-subrc <> 0.

* << Fim da exclusão

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

    IF sy-subrc = 0.

    else.

* << Fim da inclusão

    ENDIF.

  ENDIF.

ENDFORM.

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

FORM verifica_excecoes CHANGING p_mensagens TYPE sy-tabix.

* << Fim da exclusão

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

FORM verifica_excecoes CHANGING p_mensagens TYPE sy-tabix."#EC CALLED

* << Fim da inclusão

  CALL FUNCTION 'MESSAGES_COUNT'

       IMPORTING

            count                       = p_mensagens

       EXCEPTIONS

            inconsistent_range          = 1

            inconsistent_range_severity = 2

            OTHERS                      = 3.

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

  IF sy-subrc <> 0.

* << Fim da exclusão

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

  IF sy-subrc = 0.

  else.

* << Fim da inclusão

  ENDIF.

ENDFORM.

FORM get_invoice.

  TYPES:

BEGIN OF shlp_intdescr_t.

  TYPES:

  issimple      TYPE dd30v-issimple,

  hotkey        TYPE dd30v-hotkey,

  selmtype      TYPE dd30v-selmtype,

  selmethod     TYPE dd30v-selmethod,

...

 

...

  DATA: BEGIN OF itab_result OCCURS 0.

          INCLUDE STRUCTURE ddshretval.

  DATA: END OF itab_result.

  DATA: BEGIN OF record_tab OCCURS 0.

          INCLUDE STRUCTURE seahlpres.

  DATA: END OF record_tab.

  DATA: v_line         TYPE sy-lilli,

        l_display(1)   TYPE c,

        tdynpread      TYPE dynpread OCCURS 0 WITH HEADER LINE,

        wa_zycbt017    TYPE t_s_zycbt017,

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

        itab_zycbt017  TYPE t_t_zycbt017,

* << Fim da exclusão

        v_moeda        TYPE /pws/zycbe226-waers,

        wa_invoice     TYPE t_s_invoice,

        v_valor(16)    TYPE c,

        v_pendcomm     TYPE /pws/zycbt030-pendcomm,

        wa_zycbt226    TYPE LINE OF t_t_zycbt226.

  CLEAR   tdynpread.

  REFRESH tdynpread.

  CALL FUNCTION 'DYNP_GET_STEPL'

       IMPORTING

            povstepl = v_line.

  tdynpread-fieldname = '/PWS/ZYCBE226-NRINVOIC'.

  tdynpread-stepl     = v_line.

  APPEND tdynpread.

  CALL FUNCTION 'DYNP_VALUES_READ'

       EXPORTING

            dyname     = '/PWS/SAPMZYCB034'

            dynumb     = '0110'

       TABLES

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

            dynpfields = tdynpread.

* << Fim da exclusão

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

            dynpfields = tdynpread

       EXCEPTIONS

            others = 0.

* << Fim da inclusão

  IF sy-subrc EQ 0 AND

     NOT tdynpread-fieldvalue IS INITIAL.

    EXIT.

  ENDIF.

  IF sy-tcode = c_transacao_a OR

     sy-tcode = c_transacao_e.

    l_display = 'X'.

  ELSE.

    l_display = ' '.

  ENDIF.

...

 

...

    CLEAR tdynpread.

    REFRESH tdynpread.

    tdynpread-fieldname = '/PWS/ZYCBE226-NRINVOIC'.

    tdynpread-stepl     = v_line - 1.

    APPEND tdynpread.

    CALL FUNCTION 'DYNP_VALUES_READ'

         EXPORTING

              dyname     = '/PWS/SAPMZYCB034'

              dynumb     = '0110'

         TABLES

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

              dynpfields = tdynpread.

* << Fim da exclusão

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

              dynpfields = tdynpread

         EXCEPTIONS

          others = 0.

* << Fim da inclusão

    IF sy-subrc             EQ 0       AND

       tdynpread-fieldvalue IS INITIAL AND

       tdynpread-stepl      GT 0.

      v_line = tdynpread-stepl.

    ELSEIF sy-subrc EQ 0 AND

           NOT tdynpread-fieldvalue IS INITIAL.

      EXIT.

    ENDIF.

  ENDDO.

  CLEAR   tdynpread.

...

 

...

                      AND nrparcf  = record_tab-string+23(2)

                      AND gsberf   = record_tab-string+25(4).

    IF sy-subrc NE 0.

      SHIFT record_tab-string RIGHT BY 3 PLACES.

      SELECT SINGLE * FROM /pws/zycbt017 INTO wa_zycbt017

                      WHERE nrinvoic = record_tab-string+3(20)

                        AND nrparcf  = record_tab-string+23(2)

                        AND gsberf   = record_tab-string+25(4).

    ENDIF.

    CLEAR v_pendcomm.

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

    SELECT SINGLE pendcomm

      FROM /pws/zycbt030 INTO v_pendcomm

* << Fim da exclusão

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

    SELECT pendcomm

      FROM /pws/zycbt030

        UP TO 1 ROWS

      INTO v_pendcomm

* << Fim da inclusão

      WHERE nrinvoic = record_tab-string+3(20)

        AND nrparcf  = record_tab-string+23(2)

        AND gsberf   = record_tab-string+25(4).

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

   endselect.

* << Fim da inclusão

    IF NOT v_pendcomm IS INITIAL.

      MESSAGE i061 WITH text-029 record_tab-string+3(20) text-030.

      CONTINUE.

    ENDIF.

    READ TABLE itab_invoice INTO wa_invoice

      WITH KEY nrinvoic = record_tab-string+3(20)

               nrparcf  = record_tab-string+23(2)

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

               gsberf   = record_tab-string+25(4).

* << Fim da exclusão

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

               gsberf   = record_tab-string+25(4)."#EC *

* << Fim da inclusão

    IF sy-subrc = 0.

      APPEND wa_invoice TO itab_invoice_aux.

    ENDIF.

  ENDLOOP.

  LOOP AT itab_invoice_aux INTO wa_invoice.

    IF sy-tabix > 1.

      v_line = v_line + 1.

    ENDIF.

    SELECT SINGLE * FROM /pws/zycbt017 INTO wa_zycbt017

                    WHERE nrinvoic = wa_invoice-nrinvoic

...

 

...

      APPEND wa_zycbt226 TO itab_zycbt226.

    ENDIF.

  ENDLOOP.

  CALL FUNCTION 'DYNP_VALUES_UPDATE'

       EXPORTING

            dyname     = sy-cprog

            dynumb     = '0110'

       TABLES

            dynpfields = tdynpread

       EXCEPTIONS

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

            OTHERS     = 8.

* << Fim da exclusão

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

            OTHERS     = 0.

* << Fim da inclusão

ENDFORM.

FORM limpa_itabs.

  REFRESH:

  itab_zycbt017,

  itab_zycbt030,

  itab_zycbt039,

  itab_zycbt209,

  itab_zycbe224,

  itab_zycbt225,

  itab_zycbt226,

...

 

...

        wa_moeda    TYPE t_moeda,

        itab_moeda  TYPE TABLE OF t_moeda WITH DEFAULT KEY,

        v_kursf     TYPE tcurr-ukurs,

        v_ctg_moeda TYPE /pws/zycbt011-ctmoed,

        wa_zycbt009 TYPE t_s_zycbt009,

        itab_226    TYPE t_t_zycbt226.

  CHECK wa_controle-total_30_70 IS INITIAL.

  CLEAR: v_total_30,

         v_total_70.

  SELECT * FROM /pws/zycbt226

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

    INTO CORRESPONDING FIELDS OF TABLE itab_226.

* << Fim da exclusão

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

    INTO CORRESPONDING FIELDS OF TABLE itab_226."#EC CI_NOWHERE

* << Fim da inclusão

  SORT itab_226 BY destino waers ASCENDING.

  LOOP AT itab_226 INTO wa_zycbt226.

    IF ( wa_zycbt226-destino NE v_destino AND

         wa_zycbt226-waers   NE v_moeda ) OR

       ( wa_zycbt226-destino =  v_destino AND

           wa_zycbt226-waers NE v_moeda ) OR

       ( wa_zycbt226-destino NE  v_destino AND

           wa_zycbt226-waers =  v_moeda ).

      CLEAR wa_moeda.

      wa_moeda-destino = wa_zycbt226-destino.

...

 

...

      IF p_moedag = 'X'.

        v_ctg_moeda = 'G'.

      ENDIF.

      IF p_moedam = 'X'.

        v_ctg_moeda = 'M'.

      ENDIF.

      IF p_moedab = 'X'.

        v_ctg_moeda = 'B'.

      ENDIF.

      READ TABLE itab_zycbt009 INTO wa_zycbt009

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

        WITH KEY codpadr = v_ctg_moeda.

* << Fim da exclusão

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

        WITH KEY codpadr = v_ctg_moeda."#EC *

* << Fim da inclusão

      IF sy-subrc = 0.

        CALL FUNCTION '/PWS/ZYCB_MONTANTE_CONVERTE'

             EXPORTING

                  i_montante                 = '1'

                  i_demoeda                  = wa_moeda-waers

                  i_paramoeda                = c_paramoeda

                  i_ctmoeda                  = wa_zycbt009-kurst

                  i_dtbase                   = sy-datum

             IMPORTING

                  e_txc                      = v_kursf

             EXCEPTIONS

                  i_demoeda_nao_encontrado   = 1

                  i_paramoeda_nao_encontrado = 2

                  i_ctmoeda_nao_encontrado   = 3

                  i_dtbase_nao_encontrada    = 4

                  taxa_nao_encontrada        = 5

                  fator_nao_encontrado       = 6

                  i_montante_nao_encontrado  = 7

                  OTHERS                     = 8.

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

  if sy-subrc = 0.

  else.

  endif.

* << Fim da inclusão

        wa_moeda-vlr_usd = wa_moeda-soma * v_kursf.

        MODIFY TABLE itab_moeda FROM wa_moeda.

      ENDIF.

    ENDIF.

  ENDLOOP.

  LOOP AT itab_moeda INTO wa_moeda WHERE destino = '30'.

    v_total_30 = v_total_30 + wa_moeda-vlr_usd.

  ENDLOOP.

  LOOP AT itab_moeda INTO wa_moeda WHERE destino = '70'.

    v_total_70 = v_total_70 + wa_moeda-vlr_usd.

...

 

...

          PERFORM message_store

            USING wa_zycbt032-msgid

                  wa_zycbt032-tpmsg

                  wa_zycbt032-msgv1

                  wa_zycbt032-msgv2

                  wa_zycbt032-msgv3

                  wa_zycbt032-msgv4

                  wa_zycbt032-nrmsg.

        ENDLOOP.

        PERFORM estornar_contabilizacoes

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

          USING itab_contabilizacoes.

* << Fim da exclusão

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

       CHANGING itab_contabilizacoes.

* << Fim da inclusão

      ENDIF.

    ELSEIF sy-subrc = 1.

      LOOP AT itab_zycbt034 INTO wa_zycbt034.

        PERFORM message_store

          USING '/PWS/ZYCBM'

                'E'

                'Campo não está preenchido.'(m13)

                wa_zycbt034-campo

                '-'

                wa_zycbt034-descricao

                '061'.

      ENDLOOP.

      PERFORM estornar_contabilizacoes

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

        USING itab_contabilizacoes.

* << Fim da exclusão

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

      CHANGING itab_contabilizacoes.

* << Fim da inclusão

    ENDIF.

    CALL FUNCTION '/PWS/ZYCB_ENQUEUE_CONTAS'

         EXPORTING

              i_bloqueia    = 'X'

         TABLES

              itab_zycbt224 = itab_zycbe224

         EXCEPTIONS

              zycbe224_null = 1

              erro_bloqueio = 2

              OTHERS        = 3.

...

 

...

ENDFORM.

FORM f02_reversa

            CHANGING p_belnr_est_f02    TYPE /pws/zycbt226-belnr_op

                     p_dtlancto_est_f02 TYPE /pws/zycbt226-dtlancto.

  DATA: wa_zycbt032       TYPE t_s_zycbt032,

        wa_zycbe033       TYPE t_s_zycbe033,

        wa_zycbt034       TYPE t_s_zycbt034,

        wa_partidas       TYPE t_s_zycbe033,

        wa_zycbt209       TYPE t_s_zycbt209,

        wa_zycbt225       TYPE t_s_zycbt225,

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

        wa_tab_op         TYPE t_s_tab_op,

* << Fim da exclusão

        wa_zyglt316       TYPE t_s_zyglt316,

        wa_zycbt011       TYPE t_s_zycbt011,

        wa_cont           TYPE t_contabilizacoes,

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

        v_lancto_multiplo TYPE c,

        v_newbs2          TYPE newbs,

* << Fim da exclusão

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

        v_lancto_multiplo TYPE c,"#EC NEEDED

* << Fim da inclusão

        v_titulo(31)      TYPE c,

        v_codeven         TYPE /pws/zycbt011-codeven,

        v_banco           TYPE /pws/zycbt226-bco_me,

        v_belnr           TYPE /pws/zycbt226-belnr_op,

        v_gjahr           TYPE bkpf-gjahr,

        v_tot_liqand      TYPE wrbtr.

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

  CONSTANTS: c_op(23)     TYPE c VALUE 'DOC. ORDEM DE PAGAMENTO',

             c_est_op(31) TYPE c VALUE 'DOC. ESTORNO ORDEM DE PAGAMENTO'

.

* << Fim da exclusão

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

  CONSTANTS:

       c_est_op(31) TYPE c VALUE 'DOC. ESTORNO ORDEM DE PAGAMENTO'.

* << Fim da inclusão

  CHECK <fs_op>-tipo_op = 'E'.

  v_titulo = c_est_op.

  wa_zycbe033-tcode  = 'F-02'.

  wa_zycbe033-tabela = '/PWS/ZYCBT226'.

  IF <fs_op>-tipo_op = 'E'.

    CONCATENATE <fs_op>-nrinvoic <fs_op>-gsberf <fs_op>-nrparcf

      INTO wa_zycbe033-cpochv.

  ENDIF.

  PERFORM verifica_campo_vazio USING <fs_op>-dtcredext

                                     'DTCREDEXT'

...

 

...

              bukrs           = <fs_op>-bukrs

              ktosl           = 'FBK'

              codaux1         = v_banco

              codaux2         = <fs_op>-waers

         TABLES

              account         = itab_zyglt316

         EXCEPTIONS

              key_not_found   = 1

              rules_not_found = 2

              OTHERS          = 3.

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

  if sy-subrc = 0.

  else.

  endif.

* << Fim da inclusão

    READ TABLE itab_zyglt316 INTO wa_zyglt316 INDEX 1.

    IF sy-subrc = 0.

      wa_zycbe033-d_newko = wa_zyglt316-konts.

    ENDIF.

    PERFORM preenche_contas_bloqueio USING  sy-mandt

                                            <fs_op>-bukrs

                                            wa_zycbe033-agkoa

                                            wa_zycbe033-d_newko

                                            'S'.

    IF v_desm_liqand = 'X'.

...

 

...

            PERFORM message_store

              USING wa_zycbt032-msgid

                    wa_zycbt032-tpmsg

                    wa_zycbt032-msgv1

                    wa_zycbt032-msgv2

                    wa_zycbt032-msgv3

                    wa_zycbt032-msgv4

                    wa_zycbt032-nrmsg.

          ENDLOOP.

          PERFORM estornar_contabilizacoes

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

            USING itab_contabilizacoes.

* << Fim da exclusão

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

         CHANGING itab_contabilizacoes.

* << Fim da inclusão

        ENDIF.

      ELSEIF sy-subrc = 1.

        LOOP AT itab_zycbt034 INTO wa_zycbt034.

          PERFORM message_store

            USING '/PWS/ZYCBM'

                  'E'

                  'Campo não está preenchido.'(m13)

                  wa_zycbt034-campo

                  '-'

                  wa_zycbt034-descricao

                  '061'.

        ENDLOOP.

        PERFORM estornar_contabilizacoes

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

          USING itab_contabilizacoes.

* << Fim da exclusão

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

          changing itab_contabilizacoes.

* << Fim da inclusão

      ENDIF.

    ENDIF.

    REFRESH: itab_zycbt032,

             itab_zycbe033,

             itab_zycbt036,

             itab_zycbe224.

  ENDLOOP.

  CALL FUNCTION '/PWS/ZYCB_ENQUEUE_CONTAS'

       EXPORTING

            i_bloqueia    = 'X'

...

 

...

    /pws/zycbe238 TO wa_disp.

  MOVE:

    v_mark              TO wa_disp-mark,

    /pws/zycbe226-waers TO wa_disp-waers,

    /pws/zycbe238-vldisp   TO wa_disp-saldo.

  MODIFY p_itab_disp FROM wa_disp INDEX p_tc-current_line.

ENDFORM.

FORM loop_at_screen_disp

  USING p_itab_disp TYPE t_t_disponibilidade

        p_tc        TYPE cxtab_control

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

        p_destino   TYPE /pws/zycbe238-destino.

* << Fim da exclusão

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

        p_destino   TYPE /pws/zycbe238-destino."#EC *

* << Fim da inclusão

  DATA:

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

    v_fecha_linha TYPE c,

    v_newko   TYPE /pws/zycbe033-d_newko,

    wa_disp   LIKE LINE OF p_itab_disp.

* << Fim da exclusão

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

    v_fecha_linha TYPE c.

* << Fim da inclusão

  READ TABLE itab_zycbt007 INTO wa_zycbt007

...

 

...

  ENDCASE.

ENDFORM.

FORM mover_dados

  USING    p_itab_origem  TYPE t_t_zycbt226

           p_destino      TYPE /pws/zycbt238-destino

  CHANGING p_itab_destino TYPE t_t_disponibilidade.

  DATA:

    v_codaux1 TYPE /pws/zygle316-codaux1,

    v_codaux2 TYPE /pws/zygle316-codaux2,

    v_codaux3 TYPE /pws/zygle316-codaux3,

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

    v_indice   TYPE sy-index,

* << Fim da exclusão

    v_existe   TYPE char1,

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

    wa_origem  LIKE LINE OF p_itab_origem,

* << Fim da exclusão

    wa_destino LIKE LINE OF p_itab_destino.

  FIELD-SYMBOLS:

    <fs_origem> LIKE LINE OF p_itab_origem.

  LOOP AT p_itab_origem ASSIGNING <fs_origem> WHERE mark EQ 'X'.

    CHECK <fs_origem>-status EQ c_contabilizado.

    LOOP AT p_itab_destino INTO wa_destino

...

 

...

      v_ok = 'X'.

    ENDIF.

  ENDLOOP.

  IF sy-subrc NE 0.

    MESSAGE w061 WITH

      'Por favor, selecionar pelo menos uma fatura.'(m01).

    EXIT.

  ENDIF.

  IF v_ok EQ 'X'.

    MESSAGE w061 WITH

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

      'Não existe saldo suficiente para disponibilizar.'(m21).

* << Fim da exclusão

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

      text-m21.

* << Fim da inclusão

    EXIT.

  ENDIF.

  wa_modo-selflag = '1'.

  wa_modo-varoption = '30%'(031).

  APPEND wa_modo TO itab_modo.

  wa_modo-selflag = '2'.

  wa_modo-varoption = '70%'(032).

  APPEND wa_modo TO itab_modo.

  SORT itab_modo BY selflag ASCENDING.

  CALL FUNCTION 'POPUP_TO_DECIDE_LIST'

...

 

...

            ktosl           = p_chave

            codaux1         = p_codaux1

            codaux2         = p_codaux2

            codaux3         = p_codaux3

       TABLES

            account         = itab_zyglt316

       EXCEPTIONS

            key_not_found   = 1

            rules_not_found = 2

            OTHERS          = 3.

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

  if sy-subrc = 0.

  else.

  endif.

* << Fim da inclusão

  READ TABLE itab_zyglt316 INDEX 1 INTO wa_zyglt316.

  IF sy-subrc = 0.

    CASE p_tipo.

      WHEN c_debito.

        MOVE wa_zyglt316-konts TO p_conta.

      WHEN c_credito.

        MOVE wa_zyglt316-konth TO p_conta.

    ENDCASE.

  ENDIF.

ENDFORM.

FORM adicionar_dados_contrato

  USING p_itab_disp TYPE t_t_disponibilidade.

  DATA:

    v_indice    TYPE sy-index,

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

    wa_disp     LIKE LINE OF p_itab_disp,

* << Fim da exclusão

    wa_contrato LIKE LINE OF itab_contrato.

  FIELD-SYMBOLS:

    <fs_disp> LIKE LINE OF p_itab_disp.

  DESCRIBE TABLE p_itab_disp LINES v_indice.

  LOOP AT p_itab_disp ASSIGNING <fs_disp>

    WHERE vldisp EQ 0.

    DO 2 TIMES.

      IF sy-index EQ 1.

        wa_contrato-tpcontr = c_tp1.

      ELSE.

...

 

...

  ENDLOOP.

ENDFORM.

FORM preenche_tc_contrato

  USING p_itab_disp     TYPE t_t_disponibilidade

        p_itab_contrato TYPE t_t_contrato

        p_tc            TYPE cxtab_control.

  DATA:

    wa_disp     LIKE LINE OF p_itab_disp,

    wa_zycbt226 LIKE LINE OF itab_zycbt226,

    wa_contrato LIKE LINE OF p_itab_contrato.

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

  FIELD-SYMBOLS:

    <fs_contrato> LIKE LINE OF p_itab_contrato.

* << Fim da exclusão

  READ TABLE p_itab_contrato INDEX p_tc-current_line

    INTO wa_contrato.

  IF sy-subrc EQ 0.

    READ TABLE itab_zycbt226

      INTO wa_zycbt226

      WITH KEY nrseq = wa_contrato-nrseq.

    READ TABLE p_itab_disp INTO wa_disp

      WITH KEY indice = wa_contrato-indice.

    IF sy-subrc EQ 0.

      MOVE:

...

 

...

  ENDCASE.

  CONCATENATE p_disp-nrseq '-' p_disp-destino '%' INTO v_msg.

  SHIFT v_msg LEFT DELETING LEADING '0'.

  IF sy-subrc EQ 0.

    CASE p_disp-operacao.

      WHEN c_novo.

        APPEND p_disp TO itab_disp_ant.

        PERFORM message_store USING

          '/PWS/ZYCBM'

          'I'

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

          'Disponibilidade'

* << Fim da exclusão

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

          'Disponibilidade'(039)

* << Fim da inclusão

          v_msg

          'gravada com sucesso.'(m37)

          space

          '061'.

      WHEN c_alterado.

        MODIFY itab_disp_ant FROM p_disp

          TRANSPORTING doc_comp doc_cont doc_desm

          WHERE nrseq   = p_disp-nrseq

            AND destino = p_disp-destino

            AND dtdisp  = p_disp-dtdisp.

...

 

...

  CHECK NOT p_contrato-operacao IS INITIAL.

  CASE p_contrato-operacao.

    WHEN c_novo.

      INSERT INTO /pws/zycbt239 VALUES p_contrato.

    WHEN c_alterado.

      UPDATE /pws/zycbt239 FROM p_contrato.

    WHEN c_excluido.

      DELETE FROM /pws/zycbt239

        WHERE nrseq   = p_contrato-nrseq

          AND destino = p_contrato-destino

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

          AND dtdisp  = p_contrato-dtdisp.

* << Fim da exclusão

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

          AND dtdisp  = p_contrato-dtdisp."#EC CI_NOFIRST

* << Fim da inclusão

  ENDCASE.

  IF sy-subrc EQ 0.

    CASE p_contrato-operacao.

      WHEN c_novo.

        APPEND p_contrato TO itab_contrato_ant.

        v_msg = p_contrato-nrseq.

        SHIFT v_msg LEFT DELETING LEADING '0'.

        CONCATENATE 'para a disponibilidade'(m35)

                    v_msg

               INTO v_msg

...

 

...

          <fs_disp>-operacao.

      ENDIF.

    ELSE.

      <fs_disp>-operacao = c_novo.

    ENDIF.

  ENDIF.

ENDFORM.

FORM atualiza_icone

  USING    p_operacao TYPE t_disponibilidade-operacao

  CHANGING p_icone.

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

  CLEAR v_icone.

* << Fim da exclusão

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

  CLEAR P_icone.

* << Fim da inclusão

  CASE p_operacao.

    WHEN space.

      p_icone = icon_space.

    WHEN c_excluido.

      p_icone = icon_delete.

    WHEN c_novo.

      p_icone = icon_create.

    WHEN c_alterado.

      p_icone = icon_change.

  ENDCASE.

...

 

...

  LOOP AT p_itab_disp INTO wa_disp

    WHERE mark = 'X'.

    LOOP AT p_itab_contrato ASSIGNING <fs_contrato>

      WHERE nrseq   = wa_disp-nrseq

        AND destino = wa_disp-destino

        AND dtdisp  = wa_disp-dtdisp.

      <fs_contrato>-mark = 'X'.

    ENDLOOP.

  ENDLOOP.

  PERFORM marcar_estorno

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

    USING p_valor

          p_itab_contrato.

* << Fim da exclusão

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

    USING    p_valor

   CHANGING  p_itab_contrato.

* << Fim da inclusão

ENDFORM.

FORM elimina_linha_marcada

  CHANGING p_itab TYPE INDEX TABLE.

  DATA:

    v_tabix TYPE sy-tabix.

  FIELD-SYMBOLS:

    <fs_line>   TYPE ANY,

    <fs_record> TYPE ANY.

  LOOP AT p_itab ASSIGNING <fs_line>.

    v_tabix = sy-tabix.

...

 

...

    wa_zycbt226 LIKE LINE OF itab_zycbt226,

    v_param(20) TYPE c,

    v_index(3) TYPE n.

  CLEAR:

    v_index.

  LOOP AT itab_zycbt226 INTO wa_zycbt226.

    CONCATENATE c_parametro v_index INTO v_param.

    SET PARAMETER ID v_param FIELD wa_zycbt226-nrseq.

    v_index = v_index + 1.

  ENDLOOP.

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

  SET PARAMETER ID 'ZYCB034-QTD' FIELD v_index.

  SET PARAMETER ID 'UCOMM' FIELD 'CRET'.

* << Fim da exclusão

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

  SET PARAMETER ID 'ZYCB034-QTD' FIELD v_index."#EC *

  SET PARAMETER ID 'UCOMM' FIELD 'CRET'."#EC *

* << Fim da inclusão

  LEAVE TO TRANSACTION p_transacao AND SKIP FIRST SCREEN.

ENDFORM.

FORM contabiliza_contrato

  USING p_disp LIKE LINE OF itab_disp_70

  CHANGING p_contrato LIKE LINE OF itab_contrato.

  DATA:

    v_count     TYPE t_mensagem-msg,

    v_msg       TYPE t_mensagem-msg,

    v_cpochv    TYPE /pws/zycbe033-cpochv,

    wa_zycbt011 TYPE /pws/zycbe011,

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

    wa_zycbt034 LIKE LINE OF itab_zycbt034,

* << Fim da exclusão

    wa_zycbe033 LIKE LINE OF itab_zycbe033,

    wa_mensagem TYPE t_mensagem.

  CHECK p_contrato-doc_cont IS INITIAL.

  CHECK p_contrato-operacao NE c_excluido.

  PERFORM limpa_dados_bi.

  CONCATENATE <fs_op>-bukrs

              p_contrato-tpcontr

              p_contrato-nrseq

              p_contrato-destino

              p_contrato-dtdisp

...

 

...

             '061'.

    ENDLOOP.

    FREE p_wa_mensagem.

  ENDIF.

ENDFORM.

FORM preenche_f02_contrato

  USING p_disp     LIKE LINE OF itab_disp_70

        p_contrato LIKE LINE OF itab_contrato

        p_zycbt011 TYPE /pws/zycbe011

        p_cpochv   TYPE /pws/zycbe033-cpochv

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

  CHANGING p_zycbe033 LIKE LINE OF itab_zycbe033.

* << Fim da exclusão

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

  CHANGING p_zycbe033 LIKE LINE OF itab_zycbe033."#EC *

* << Fim da inclusão

  p_zycbe033-tcode  = c_f02.

  p_zycbe033-tabela = c_zycbt239.

  p_zycbe033-cpochv = p_cpochv.

  p_zycbe033-bukrs = <fs_op>-bukrs.

  p_zycbe033-budat = p_contrato-dtdebito.

  p_zycbe033-bldat = p_zycbe033-budat.

  p_zycbe033-bktxt = p_contrato-txtlanc.

  p_zycbe033-waers   = <fs_op>-waers.

  p_zycbe033-gsber   = <fs_op>-gsberf.

  p_zycbe033-werks   = <fs_op>-werks.

...

 

...

                                     'Conta Débito'(035).

  PERFORM verifica_campo_vazio USING p_zycbe033-c_newko

                                     'NEWKO'

                                     'Conta Crédito'(036).

ENDFORM.

FORM busca_parametros

  USING p_evento TYPE /pws/zycbt011-codeven

        p_modulo

  CHANGING p_zycbt011 TYPE /pws/zycbe011

           p_zycbe033 LIKE LINE OF itab_zycbe033.

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

  SELECT SINGLE * FROM /pws/zycbt011 INTO p_zycbt011

* << Fim da exclusão

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

  SELECT * FROM /pws/zycbt011

      up to 1 rows

    INTO p_zycbt011

* << Fim da inclusão

    WHERE codeven = p_evento

      AND codmod  = p_modulo.

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

   endselect.

* << Fim da inclusão

  p_zycbe033-blart   = p_zycbt011-blart.

  p_zycbe033-agums   = p_zycbt011-agums.

  p_zycbe033-augtx   = p_zycbt011-txtdesc.

  p_zycbe033-d_sgtxt = p_zycbt011-txtdesc.

  p_zycbe033-agkoa   = 'S'.

...

 

...

            periodo_fechado = 2

            OTHERS          = 3.

  IF sy-subrc <> 0.

    EXIT.

  ENDIF.

ENDFORM.

FORM busca_parametros_321

  USING p_evento

        p_chave

        p_txtlanc     TYPE /pws/zycbe239-txtlanc

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

  CHANGING p_zycbe033 LIKE LINE OF itab_zycbe033.

* << Fim da exclusão

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

  CHANGING p_zycbe033 LIKE LINE OF itab_zycbe033."#EC *

* << Fim da inclusão

  DATA:

    v_hora(8) TYPE c,

    itab_zyglt321 TYPE STANDARD TABLE OF /pws/zyglt321,

    wa_zyglt321 LIKE LINE OF itab_zyglt321.

  SELECT * FROM /pws/zyglt321

    INTO TABLE itab_zyglt321

    WHERE ktosl   = p_chave  AND

          codeven = p_evento.

  LOOP AT itab_zyglt321 INTO wa_zyglt321.

    CASE wa_zyglt321-cpor3.

...

 

...

            wa_zycbt034-descricao

            '061'.

  ENDLOOP.

ENDFORM.

FORM clearing_contrato

  USING p_disp LIKE LINE OF itab_disp_70

        p_itab_contrato TYPE t_t_contrato.

  DATA:

    v_count     TYPE t_mensagem-msg,

    v_msg       TYPE t_mensagem-msg,

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

    wa_contrato LIKE LINE OF p_itab_contrato,

* << Fim da exclusão

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

    wa_contrato LIKE LINE OF p_itab_contrato,"#EC NEEDED

* << Fim da inclusão

    v_cpochv    TYPE /pws/zycbe033-cpochv,

    wa_zycbt011 TYPE /pws/zycbe011,

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

    wa_zycbt034 LIKE LINE OF itab_zycbt034,

* << Fim da exclusão

    wa_zycbe033 LIKE LINE OF itab_zycbe033,

    wa_mensagem TYPE t_mensagem.

  FIELD-SYMBOLS:

    <fs_contrato> TYPE t_contrato.

  READ TABLE p_itab_contrato

...

 

...

            OTHERS          = 3.

  IF sy-subrc <> 0.

    EXIT.

  ENDIF.

ENDFORM.

FORM preenche_f30_clearing_contrato

  USING p_disp     LIKE LINE OF itab_disp_70

        p_itab_contrato TYPE t_t_contrato

        p_zycbt011 TYPE /pws/zycbe011

        p_cpochv   TYPE /pws/zycbe033-cpochv

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

  CHANGING p_zycbe033 LIKE LINE OF itab_zycbe033.

* << Fim da exclusão

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

  CHANGING p_zycbe033 LIKE LINE OF itab_zycbe033."#EC *

* << Fim da inclusão

  DATA:

    wa_doctos   LIKE LINE OF itab_doctos,

    wa_contrato LIKE LINE OF p_itab_contrato.

  p_zycbe033-tcode  = c_f30.

  p_zycbe033-tabela = c_zycbt239.

  p_zycbe033-cpochv = p_cpochv.

  READ TABLE p_itab_contrato INTO wa_contrato

    WITH KEY nrseq   = p_disp-nrseq

             destino = p_disp-destino

             dtdisp  = p_disp-dtdisp.

...

 

...

  ELSE.

    PERFORM store_erros

      USING itab_zycbt034.

  ENDIF.

ENDFORM.

FORM estorno_clearing_contrato

  USING p_contrato TYPE t_contrato

        p_cpochv   TYPE /pws/zycbe033-cpochv.

  DATA:

    wa_zycbe033 LIKE LINE OF itab_zycbe033,

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

    v_periodo            TYPE frper,

    v_ano                TYPE gjahr,

    v_periodo_fechado(1) TYPE c,

* << Fim da exclusão

    wa_mensagem TYPE t_mensagem.

  CHECK NOT p_contrato-doc_comp IS INITIAL.

  wa_zycbe033-mandt  = sy-mandt.

  wa_zycbe033-tcode  = c_fbra.

  wa_zycbe033-tabela = c_zycbt239.

  wa_zycbe033-cpochv = p_cpochv.

  wa_zycbe033-belnr  = p_contrato-doc_comp.

  wa_zycbe033-bukrs  = <fs_op>-bukrs.

  wa_zycbe033-bldat  = p_contrato-dtdebito.

  APPEND wa_zycbe033 TO itab_zycbe033.

...

 

...

        USING itab_zycbt034.

    ENDIF.

  ELSE.

    PERFORM store_erros

      USING itab_zycbt034.

  ENDIF.

ENDFORM.

FORM verifica_periodo

  USING p_empresa

        p_data

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

        p_msg.

* << Fim da exclusão

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

        p_msg."#EC *

* << Fim da inclusão

  DATA: v_periodo            TYPE frper,

        v_ano                TYPE gjahr,

        v_periodo_fechado(1) TYPE c.

  PERFORM determina_periodo_contabil

    USING    p_empresa

             p_data

    CHANGING v_periodo

             v_ano.

  PERFORM verifica_periodo_contabil

    USING

      p_empresa

      v_periodo

      v_ano

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

    CHANGING v_periodo_fechado.

* << Fim da exclusão

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

    CHANGING v_periodo_fechado."#EC *

* << Fim da inclusão

  IF v_periodo_fechado = 'X'.

    PERFORM message_store

      USING '/PWS/ZYCBM'

            'E'

            p_msg

            space

            space

            space

            '061'.

  ENDIF.

...

 

...

            t_zycbt032      = itab_zycbt032

       EXCEPTIONS

            campo_em_branco = 1

            OTHERS          = 2.

  IF sy-subrc <> 0.

    EXIT.

  ENDIF.

ENDFORM.

FORM atualizar_saldos

  USING p_disp TYPE t_disponibilidade.

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

  DATA:

    wa_zycbt017 TYPE t_s_zycbt017.

* << Fim da exclusão

  CASE <fs_op>-tipo_op.

    WHEN c_embarque_exportacao.

      PERFORM atualiza_saldo_zycbt017

        USING p_disp

              c_embarque_exportacao.

      PERFORM atualiza_saldo_zycbt030

        USING p_disp

              c_embarque_exportacao.

      PERFORM atualiza_saldo_zycbt226

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

        USING p_disp

              c_embarque_exportacao.

* << Fim da exclusão

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

        USING p_disp.

* << Fim da inclusão

      PERFORM atualiza_saldo_zycbt227

        USING p_disp

              c_embarque_exportacao.

    WHEN c_pagamento_antecipado.

      PERFORM atualiza_saldo_zycbt017

        USING p_disp

              c_pagamento_antecipado.

      PERFORM atualiza_saldo_zycbt030

        USING p_disp

              c_pagamento_antecipado.

      PERFORM atualiza_saldo_zycbt226

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

        USING p_disp

              c_pagamento_antecipado.

* << Fim da exclusão

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

        USING p_disp.

* << Fim da inclusão

      PERFORM atualiza_saldo_zycbt227

        USING p_disp

              c_pagamento_antecipado.

  ENDCASE.

ENDFORM.

FORM atualiza_saldo_zycbt017

  USING p_disp    TYPE t_disponibilidade

        p_tipo_op TYPE /pws/zycbe226-tipo_op.

  DATA:

    wa_disp     TYPE t_disponibilidade,

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

    wa_zycbt227 TYPE t_zycbt227,

    v_valor     TYPE /pws/zycbt226-sld_exterior.

* << Fim da exclusão

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

    wa_zycbt227 TYPE t_zycbt227.

* << Fim da inclusão

  FIELD-SYMBOLS:

    <fs_zycbt017> LIKE LINE OF itab_zycbt017.

  CHECK NOT p_disp-operacao IS INITIAL.

  CASE p_tipo_op.

    WHEN c_embarque_exportacao.

      READ TABLE itab_zycbt017 ASSIGNING <fs_zycbt017>

        WITH KEY nrinvoic = <fs_op>-nrinvoic

                 nrparcf  = <fs_op>-nrparcf

                 gsberf   = <fs_op>-gsberf.

      CHECK <fs_zycbt017> IS ASSIGNED.

...

 

...

            AND nrparcf  = <fs_zycbt017>-nrparcf

            AND gsberf   = <fs_zycbt017>-gsberf.

      ENDLOOP.

  ENDCASE.

ENDFORM.

FORM atualiza_saldo_zycbt030

  USING p_disp    TYPE t_disponibilidade

        p_tipo_op TYPE /pws/zycbe226-tipo_op.

  DATA:

    wa_disp     TYPE t_disponibilidade,

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

    wa_zycbt227 TYPE t_zycbt227,

    v_valor     TYPE /pws/zycbt226-sld_exterior.

* << Fim da exclusão

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

    wa_zycbt227 TYPE t_zycbt227.

* << Fim da inclusão

  FIELD-SYMBOLS:

    <fs_zycbt030> LIKE LINE OF itab_zycbt030.

  CHECK NOT p_disp-operacao IS INITIAL.

  CASE p_tipo_op.

    WHEN c_embarque_exportacao.

      READ TABLE itab_zycbt030 ASSIGNING <fs_zycbt030>

        WITH KEY nrinvoic = <fs_op>-nrinvoic

                 nrparcf  = <fs_op>-nrparcf

                 gsberf   = <fs_op>-gsberf.

      CHECK <fs_zycbt030> IS ASSIGNED.

...

 

...

        UPDATE /pws/zycbt030

          SET vlslliq = <fs_zycbt030>-vlslliq

          WHERE nrinvoic = <fs_zycbt030>-nrinvoic

            AND nrparcf  = <fs_zycbt030>-nrparcf

            AND gsberf   = <fs_zycbt030>-gsberf

            AND vbeln    = <fs_zycbt030>-vbeln.

      ENDLOOP.

  ENDCASE.

ENDFORM.

FORM atualiza_saldo_zycbt226

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

  USING p_disp    TYPE t_disponibilidade

        p_tipo_op TYPE /pws/zycbe226-tipo_op.

* << Fim da exclusão

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

  USING p_disp    TYPE t_disponibilidade.

* << Fim da inclusão

  FIELD-SYMBOLS:

    <fs_zycbt226> LIKE LINE OF itab_zycbt226.

  CHECK NOT p_disp-operacao IS INITIAL.

  READ TABLE itab_zycbt226 ASSIGNING <fs_zycbt226>

    WITH KEY nrseq = p_disp-nrseq.

  CASE p_disp-operacao.

    WHEN c_excluido.

      <fs_zycbt226>-sld_exterior =

        <fs_zycbt226>-sld_exterior + p_disp-vldisp.

    WHEN c_novo.

...

 

...

  ENDCASE.

  UPDATE /pws/zycbt226

    SET sld_exterior = <fs_zycbt226>-sld_exterior

        belnr_op2    = <fs_zycbt226>-belnr_op2

        dtlancto2    = <fs_zycbt226>-dtlancto2

    WHERE nrseq = <fs_zycbt226>-nrseq.

ENDFORM.

FORM atualiza_saldo_zycbt227

  USING p_disp    TYPE t_disponibilidade

        p_tipo_op TYPE /pws/zycbe226-tipo_op.

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

  DATA:

    v_residuo TYPE wrbtr.

* << Fim da exclusão

  FIELD-SYMBOLS:

    <fs_zycbt227> LIKE LINE OF itab_zycbt227.

  CHECK NOT p_disp-operacao IS INITIAL.

  CHECK p_tipo_op EQ c_pagamento_antecipado.

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

  CLEAR v_residuo.

* << Fim da exclusão

  LOOP AT itab_zycbt227 ASSIGNING <fs_zycbt227>

    WHERE nrseq    = <fs_op>-nrseq.

    CHECK p_disp-saldo > 0.

...

 

...

    MOVE:

      wa_rend-mark TO v_mark.

  ENDIF.

ENDFORM.

FORM salva_rendimentos.

  DATA:

    v_nrseqr TYPE /pws/zycbt240-nrseqr.

  FIELD-SYMBOLS:

    <fs_rend> TYPE t_rendimentos.

  IF v_nrseqr IS INITIAL.

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

    SELECT MAX( nrseqr ) FROM /pws/zycbt240 INTO v_nrseqr.

* << Fim da exclusão

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

    SELECT MAX( nrseqr ) FROM /pws/zycbt240

      INTO v_nrseqr."#EC CI_NOWHERE

* << Fim da inclusão

  ENDIF.

  LOOP AT itab_rendimentos_ant ASSIGNING <fs_rend>.

    READ TABLE itab_rendimentos

      WITH KEY nrseqr = <fs_rend>-nrseqr

      TRANSPORTING NO FIELDS.

    IF sy-subrc NE 0.

      DELETE FROM /pws/zycbt240 WHERE nrseqr = <fs_rend>-nrseqr.

      DELETE itab_rendimentos_ant WHERE nrseqr = <fs_rend>-nrseqr.

    ENDIF.

  ENDLOOP.

...

 

...

      <fs_rend>-nrseqr = v_nrseqr.

    ENDIF.

    READ TABLE itab_rendimentos_ant

      WITH KEY nrseqr = <fs_rend>-nrseqr

      TRANSPORTING NO FIELDS.

    IF sy-subrc NE 0.

      INSERT INTO /pws/zycbt240 VALUES <fs_rend>.

    ENDIF.

  ENDLOOP.

  IF sy-subrc NE 0 AND sy-tcode NE c_transacao_c.

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

    DELETE FROM /pws/zycbt240 WHERE nrseqr <> space.

* << Fim da exclusão

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

    DELETE FROM /pws/zycbt240 WHERE nrseqr <> space."#EC CI_NOFIELD

* << Fim da inclusão

    REFRESH itab_rendimentos_ant.

  ENDIF.

  MODIFY /pws/zycbt240 FROM TABLE itab_rendimentos.

ENDFORM.

FORM user_command_0140.

  CASE ok_code.

    WHEN 'MARK'.

      PERFORM preenche_campo_itab

        USING 'MARK'

              'X'

...

 

...

    CLEAR p_contrato-operacao.

  ENDIF.

ENDFORM.

FORM contabiliza_disponibilidade

  CHANGING p_disp TYPE t_disponibilidade.

  DATA:

    v_count     TYPE t_mensagem-msg,

    v_msg       TYPE t_mensagem-msg,

    v_cpochv    TYPE /pws/zycbe033-cpochv,

    wa_zycbt011 TYPE /pws/zycbe011,

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

    wa_zycbt034 LIKE LINE OF itab_zycbt034,

* << Fim da exclusão

    wa_zycbe033 LIKE LINE OF itab_zycbe033,

    wa_mensagem TYPE t_mensagem.

  CHECK p_disp-doc_cont IS INITIAL.

  CHECK p_disp-operacao NE c_excluido.

  PERFORM limpa_dados_bi.

  CONCATENATE <fs_op>-bukrs

              p_disp-nrseq

              p_disp-destino

              p_disp-dtdisp

         INTO v_cpochv.

...

 

...

    PERFORM store_erros

      USING itab_zycbt034.

  ENDIF.

ENDFORM.

FORM preenche_f02_disponibilidade

  USING p_disp     LIKE LINE OF itab_disp_70

        p_zycbt011 TYPE /pws/zycbe011

        p_cpochv   TYPE /pws/zycbe033-cpochv

  CHANGING p_zycbe033 LIKE LINE OF itab_zycbe033.

  DATA:

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

    wa_zycbt089 LIKE LINE OF itab_zycbt089,

    v_codaux TYPE /pws/zygle316-codaux1.

* << Fim da exclusão

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

    wa_zycbt089 LIKE LINE OF itab_zycbt089.

* << Fim da inclusão

  READ TABLE itab_zycbt089 INTO wa_zycbt089

    WITH KEY bukrs = <fs_op>-bukrs.

  p_zycbe033-tcode  = c_f02.

  p_zycbe033-tabela = c_zycbt239.

  p_zycbe033-cpochv = p_cpochv.

  p_zycbe033-bukrs = <fs_op>-bukrs.

  p_zycbe033-budat = p_disp-dtlanc.

  p_zycbe033-bldat = p_zycbe033-budat.

  p_zycbe033-waers   = <fs_op>-waers.

  p_zycbe033-gsber   = <fs_op>-gsberf.

  p_zycbe033-werks   = <fs_op>-werks.

  p_zycbe033-brnch = <fs_op>-j_1bbranch.

  p_zycbe033-wrbtr = p_disp-vldisp.

  PERFORM busca_taxa_disponibilidade

    USING p_disp

          p_zycbt011

          wa_zycbt089-tx_lanc_dispon

    CHANGING p_zycbe033-kursf.

  p_zycbe033-d_newko = p_disp-conta_contabil.

  p_zycbe033-c_newko = <fs_op>-conta_contabil.

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

  CONCATENATE 'Desm.'

* << Fim da exclusão

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

  CONCATENATE text-037

* << Fim da inclusão

              <fs_op>-nrinvoic

              <fs_op>-nrparcf

         INTO p_zycbe033-c_zuonr

    SEPARATED BY space.

  PERFORM verifica_campo_vazio USING p_zycbe033-budat

                                     'DTCREDEXT'

                                     'Data do Documento'(005).

  PERFORM verifica_campo_vazio USING p_zycbe033-bldat

                                     'DTLANCTO'

                                     'Data de Lançamento'(004).

...

 

...

    CHANGING

      p_kursf.

ENDFORM.

FORM desmembramento_disponibilidade

  CHANGING p_disp TYPE t_disponibilidade.

  DATA:

    v_count     TYPE t_mensagem-msg,

    v_msg       TYPE t_mensagem-msg,

    v_cpochv    TYPE /pws/zycbe033-cpochv,

    wa_zycbt011 TYPE /pws/zycbe011,

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

    wa_zycbt034 LIKE LINE OF itab_zycbt034,

* << Fim da exclusão

    wa_zycbe033 LIKE LINE OF itab_zycbe033,

    wa_mensagem TYPE t_mensagem.

  CHECK NOT p_disp-doc_cont IS INITIAL.

  CHECK p_disp-doc_desm IS INITIAL.

  CHECK p_disp-operacao NE c_excluido.

  PERFORM limpa_dados_bi.

  CONCATENATE <fs_op>-bukrs

              p_disp-nrseq

              p_disp-destino

              p_disp-dtdisp

...

 

...

    PERFORM store_erros

      USING itab_zycbt034.

  ENDIF.

ENDFORM.

FORM preenche_f30_desmemb_disp

  USING p_disp     LIKE LINE OF itab_disp_70

        p_zycbt011 TYPE /pws/zycbe011

        p_cpochv   TYPE /pws/zycbe033-cpochv

  CHANGING p_zycbe033 LIKE LINE OF itab_zycbe033.

  DATA:

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

    wa_doctos   LIKE LINE OF itab_doctos,

    v_codaux TYPE /pws/zygle316-codaux1.

* << Fim da exclusão

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

    wa_doctos   LIKE LINE OF itab_doctos.

* << Fim da inclusão

  p_zycbe033-tcode  = c_f30.

  p_zycbe033-tabela = c_zycbt239.

  p_zycbe033-cpochv = p_cpochv.

  p_zycbe033-bukrs = <fs_op>-bukrs.

  p_zycbe033-budat = p_disp-dtlanc.

  p_zycbe033-bldat = p_zycbe033-budat.

  p_zycbe033-waers   = <fs_op>-waers.

  p_zycbe033-gsber   = <fs_op>-gsberf.

  p_zycbe033-werks   = <fs_op>-werks.

  p_zycbe033-brnch = <fs_op>-j_1bbranch.

  p_zycbe033-wrbtr = p_disp-vldisp.

  p_zycbe033-newbs   = '40'.

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

  CONCATENATE 'Desm.'

* << Fim da exclusão

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

  CONCATENATE text-037

* << Fim da inclusão

              <fs_op>-nrinvoic

              <fs_op>-nrparcf

         INTO p_zycbe033-d_zuonr

    SEPARATED BY space.

  PERFORM define_taxa_cambio

    USING 'C'

      'X'

      p_zycbt011-codeven

      <fs_op>-bukrs

      <fs_op>-dtlancto

...

 

...

                                     'NEWKO'

                                     'Conta Débito'(035).

ENDFORM.

FORM clearing_disponibilidade

  CHANGING p_disp TYPE t_disponibilidade.

  DATA:

    v_count     TYPE t_mensagem-msg,

    v_msg       TYPE t_mensagem-msg,

    v_cpochv    TYPE /pws/zycbe033-cpochv,

    wa_zycbt011 TYPE /pws/zycbe011,

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

    wa_zycbt034 LIKE LINE OF itab_zycbt034,

* << Fim da exclusão

    wa_zycbe033 LIKE LINE OF itab_zycbe033,

    wa_mensagem TYPE t_mensagem.

  CHECK p_disp-doc_comp IS INITIAL.

  CHECK NOT p_disp-doc_cont IS INITIAL.

  CHECK NOT p_disp-doc_desm IS INITIAL.

  CHECK p_disp-operacao NE c_excluido.

  PERFORM limpa_dados_bi.

  CONCATENATE <fs_op>-bukrs

              p_disp-nrseq

              p_disp-destino

...

 

...

    PERFORM store_erros

      USING itab_zycbt034.

  ENDIF.

ENDFORM.

FORM preenche_f30_clearing_disp

  USING p_disp     LIKE LINE OF itab_disp_70

        p_zycbt011 TYPE /pws/zycbe011

        p_cpochv   TYPE /pws/zycbe033-cpochv

  CHANGING p_zycbe033 LIKE LINE OF itab_zycbe033.

  DATA:

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

    wa_doctos   LIKE LINE OF itab_doctos,

    v_codaux TYPE /pws/zygle316-codaux1.

* << Fim da exclusão

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

    wa_doctos   LIKE LINE OF itab_doctos.

* << Fim da inclusão

  p_zycbe033-tcode  = c_f30.

  p_zycbe033-tabela = c_zycbt239.

  p_zycbe033-cpochv = p_cpochv.

  p_zycbe033-bukrs = <fs_op>-bukrs.

  p_zycbe033-budat = p_disp-dtlanc.

  p_zycbe033-bldat = p_zycbe033-budat.

  p_zycbe033-waers   = <fs_op>-waers.

  p_zycbe033-gsber   = <fs_op>-gsberf.

  p_zycbe033-werks   = <fs_op>-werks.

  p_zycbe033-brnch = <fs_op>-j_1bbranch.

...

 

...

  p_zycbe033-d_newko = <fs_op>-conta_contabil.

  p_zycbe033-c_newko = p_disp-conta_contabil.

  wa_doctos-tcode   = p_zycbe033-tcode.

  wa_doctos-tabela  = p_zycbe033-tabela.

  wa_doctos-cpochv  = p_zycbe033-cpochv.

  wa_doctos-belnr   = p_disp-doc_cont.

  wa_doctos-dtdocto = p_disp-dtlanc.

  APPEND wa_doctos TO itab_doctos.

  wa_doctos-belnr   = p_disp-doc_desm.

  wa_doctos-dtdocto = p_disp-dtlanc.

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

  CONCATENATE 'Desm.'

* << Fim da exclusão

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

  CONCATENATE text-037

* << Fim da inclusão

              <fs_op>-nrinvoic

              <fs_op>-nrparcf

         INTO wa_doctos-zuonr

    SEPARATED BY space.

  APPEND wa_doctos TO itab_doctos.

  PERFORM verifica_campo_vazio USING p_zycbe033-budat

                                     'DTCREDEXT'

                                     'Data do Documento'(005).

  PERFORM verifica_campo_vazio USING p_zycbe033-bldat

                                     'DTLANCTO'

...

 

...

    ELSE.

      PERFORM store_erros

        USING itab_zycbt034.

    ENDIF.

  ELSE.

    PERFORM store_erros

      USING itab_zycbt034.

  ENDIF.

ENDFORM.

FORM contabiliza_estorno_dispon

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

  CHANGING p_disp TYPE t_disponibilidade.

* << Fim da exclusão

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

  using p_disp TYPE t_disponibilidade.

* << Fim da inclusão

  DATA:

    v_count     TYPE t_mensagem-msg,

    v_msg       TYPE t_mensagem-msg,

    v_cpochv    TYPE /pws/zycbe033-cpochv,

    wa_cont     TYPE t_contabilizacoes,

    wa_zycbt011 TYPE /pws/zycbe011,

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

    wa_zycbt034 LIKE LINE OF itab_zycbt034,

* << Fim da exclusão

    wa_zycbe033 LIKE LINE OF itab_zycbe033,

...

 

...

    PERFORM store_erros

      USING itab_zycbt034.

  ENDIF.

ENDFORM.

FORM preenche_f02_estorno_dispon

  USING p_disp     LIKE LINE OF itab_disp_70

        p_zycbt011 TYPE /pws/zycbe011

        p_cpochv   TYPE /pws/zycbe033-cpochv

  CHANGING p_zycbe033 LIKE LINE OF itab_zycbe033.

  DATA:

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

    wa_zycbt089 LIKE LINE OF itab_zycbt089,

    v_codaux TYPE /pws/zygle316-codaux1.

* << Fim da exclusão

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

    wa_zycbt089 LIKE LINE OF itab_zycbt089.

* << Fim da inclusão

  READ TABLE itab_zycbt089 INTO wa_zycbt089

    WITH KEY bukrs = <fs_op>-bukrs.

  p_zycbe033-tcode  = c_f02.

  p_zycbe033-tabela = c_zycbt239.

  p_zycbe033-cpochv = p_cpochv.

  p_zycbe033-bukrs = <fs_op>-bukrs.

  p_zycbe033-budat = p_disp-dtlanc.

  p_zycbe033-bldat = p_zycbe033-budat.

  p_zycbe033-waers   = <fs_op>-waers.

  p_zycbe033-gsber   = <fs_op>-gsberf.

...

 

...

                                     'WAERS'

                                     'Moeda'(010).

  PERFORM verifica_campo_vazio USING p_zycbe033-kursf

                                     'KURSF'

                                     'Taxa de Câmbio'(019).

  PERFORM verifica_campo_vazio USING p_zycbe033-d_newko

                                     'NEWKO'

                                     'Conta Débito'(035).

ENDFORM.

FORM clearing_conta_banco

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

  CHANGING p_disp TYPE t_disponibilidade.

* << Fim da exclusão

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

  using p_disp TYPE t_disponibilidade.

* << Fim da inclusão

  DATA:

    v_count     TYPE t_mensagem-msg,

    v_msg       TYPE t_mensagem-msg,

    v_cpochv    TYPE /pws/zycbe033-cpochv,

    wa_cont     TYPE t_contabilizacoes,

    wa_zycbt011 TYPE /pws/zycbe011,

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

    wa_zycbt034 LIKE LINE OF itab_zycbt034,

* << Fim da exclusão

    wa_zycbe033 LIKE LINE OF itab_zycbe033,

...

 

...

    PERFORM estornar_contabilizacoes

      CHANGING itab_contabilizacoes.

  ENDIF.

ENDFORM.

FORM preenche_f30_clearing_banco

  USING p_disp     LIKE LINE OF itab_disp_70

        p_zycbt011 TYPE /pws/zycbe011

        p_cpochv   TYPE /pws/zycbe033-cpochv

  CHANGING p_zycbe033 LIKE LINE OF itab_zycbe033.

  DATA:

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

    wa_doctos   LIKE LINE OF itab_doctos,

    v_codaux TYPE /pws/zygle316-codaux1.

* << Fim da exclusão

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

    wa_doctos   LIKE LINE OF itab_doctos.

* << Fim da inclusão

  p_zycbe033-tcode  = c_f30.

  p_zycbe033-tabela = c_zycbt239.

  p_zycbe033-cpochv = p_cpochv.

  p_zycbe033-bukrs = <fs_op>-bukrs.

  p_zycbe033-budat = p_disp-dtlanc.

  p_zycbe033-bldat = p_zycbe033-budat.

  p_zycbe033-waers   = <fs_op>-waers.

  p_zycbe033-gsber   = <fs_op>-gsberf.

  p_zycbe033-werks   = <fs_op>-werks.

  p_zycbe033-brnch = <fs_op>-j_1bbranch.

...

 

...

                                     'WAERS'

                                     'Moeda'(010).

  PERFORM verifica_campo_vazio USING p_zycbe033-kursf

                                     'KURSF'

                                     'Taxa de Câmbio'(019).

  PERFORM verifica_campo_vazio USING p_zycbe033-d_newko

                                     'NEWKO'

                                     'Conta Débito'(035).

ENDFORM.

FORM clearing_conta_disp

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

  CHANGING p_disp TYPE t_disponibilidade.

* << Fim da exclusão

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

  using p_disp TYPE t_disponibilidade.

* << Fim da inclusão

  DATA:

    v_count     TYPE t_mensagem-msg,

    v_msg       TYPE t_mensagem-msg,

    v_cpochv    TYPE /pws/zycbe033-cpochv,

    wa_cont     TYPE t_contabilizacoes,

    wa_zycbt011 TYPE /pws/zycbe011,

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

    wa_zycbt034 LIKE LINE OF itab_zycbt034,

* << Fim da exclusão

    wa_zycbe033 LIKE LINE OF itab_zycbe033,

...

 

...

    PERFORM estornar_contabilizacoes

      CHANGING itab_contabilizacoes.

  ENDIF.

ENDFORM.

FORM preenche_f30_clear_conta_disp

  USING p_disp     LIKE LINE OF itab_disp_70

        p_zycbt011 TYPE /pws/zycbe011

        p_cpochv   TYPE /pws/zycbe033-cpochv

  CHANGING p_zycbe033 LIKE LINE OF itab_zycbe033.

  DATA:

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

    wa_doctos   LIKE LINE OF itab_doctos,

    v_codaux TYPE /pws/zygle316-codaux1.

* << Fim da exclusão

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

    wa_doctos   LIKE LINE OF itab_doctos.

* << Fim da inclusão

  p_zycbe033-tcode  = c_f30.

  p_zycbe033-tabela = c_zycbt239.

  p_zycbe033-cpochv = p_cpochv.

  p_zycbe033-bukrs = <fs_op>-bukrs.

  p_zycbe033-budat = p_disp-dtlanc.

  p_zycbe033-bldat = p_zycbe033-budat.

  p_zycbe033-waers   = <fs_op>-waers.

  p_zycbe033-gsber   = <fs_op>-gsberf.

  p_zycbe033-werks   = <fs_op>-werks.

  p_zycbe033-brnch = <fs_op>-j_1bbranch.

...

 

...

                 wa_cont-belnr.

    ENDIF.

  ENDLOOP.

  REFRESH:

    p_itab_cont.

ENDFORM.

FORM loop_at_screen_rendimentos

  USING p_itab_rend     TYPE t_t_rendimentos

        p_tc            TYPE cxtab_control.

  DATA:

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

    wa_rend TYPE t_rendimentos.

* << Fim da exclusão

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

    wa_rend TYPE t_rendimentos."#EC NEEDED

* << Fim da inclusão

  READ TABLE p_itab_rend INTO wa_rend

    INDEX p_tc-current_line.

  READ TABLE itab_zycbt007 INTO wa_zycbt007

    WITH KEY bukrs = /pws/zycbe226-bukrs.

  LOOP AT SCREEN.

    IF sy-tcode EQ c_transacao_e.

      screen-input = 0.

      MODIFY SCREEN.

    ENDIF.

  ENDLOOP.

ENDFORM.

FORM estorna_disp_incompleta

  USING p_disp TYPE t_disponibilidade.

  DATA:

    v_cpochv    TYPE /pws/zycbe033-cpochv,

    wa_zycbe033 TYPE t_s_zycbe033.

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

  FIELD-SYMBOLS:

    <fs_tabela> TYPE INDEX TABLE,

    <fs_linha>  TYPE ANY,

    <fs_campo>  TYPE ANY.

* << Fim da exclusão

  PERFORM limpa_dados_bi.

  CONCATENATE <fs_op>-bukrs

              <fs_op>-nrseq

         INTO v_cpochv.

  wa_zycbe033-tabela = c_zycbt239.

  wa_zycbe033-bukrs = <fs_op>-bukrs.

  IF NOT p_disp-doc_desm IS INITIAL.

    PERFORM cancela_documento

      USING p_disp-dtlanc

            v_cpochv

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB034I01

 

...

    WITH KEY nrseq   = /pws/zycbe238-nrseq

             destino =  v_destino

             dtdisp  = /pws/zycbe238-dtdisp

    TRANSPORTING NO FIELDS.

  IF sy-subrc EQ 0.

    MESSAGE e061 WITH 'Data Inválida, Favor redigitar.'(034).

  ENDIF.

ENDMODULE.

MODULE verifica_taxa_contrato INPUT.

  DATA:

* >> Início da exclusão: MODULE VERIFICA_TAXA_CONTRATO

    v_indice    TYPE sy-index,

    v_kursf     TYPE /pws/zycbt239-kursf.

* << Fim da exclusão

* >> Início da inclusão: MODULE VERIFICA_TAXA_CONTRATO

    v_indice    TYPE sy-index.

* << Fim da inclusão

  CLEAR:

    wa_disp,

    wa_contrato.

  CASE sy-dynnr.

    WHEN '0131'.

      READ TABLE itab_disp_70 INTO wa_disp

        INDEX tc_70-current_line.

      v_indice = wa_disp-indice.

      READ TABLE itab_contrato INTO wa_contrato

        WITH KEY indice  = v_indice

...

 

...

        USING tc_30

        CHANGING itab_disp_30.

    WHEN '0131'.

      PERFORM define_operacao_disp

        USING tc_70

        CHANGING itab_disp_70.

  ENDCASE.

ENDMODULE.

module drilldown input.

  DATA: v_campo(30) TYPE c,

* >> Início da exclusão: MODULE DRILLDOWN

        v_value(10) TYPE c,

* << Fim da exclusão

* >> Início da inclusão: MODULE DRILLDOWN

        v_value(10) TYPE c,"#EC NEEDED

* << Fim da inclusão

        v_index     TYPE sy-tabix.

  FIELD-SYMBOLS:

    <fs_receb> LIKE LINE OF itab_zycbt226.

  CASE ok_code.

    WHEN '/CS'.

      CHECK sy-tcode = c_transacao_c.

      LOOP AT SCREEN.

        IF SCREEN-name EQ '/PWS/ZYCBE226-VLR_EXTERIOR' OR

           SCREEN-name EQ '/PWS/ZYCBE226-BCO_ME'.

          SCREEN-required = 0.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB034O01

 

...

MODULE html_help OUTPUT.

  IF my_container IS INITIAL.

    CREATE OBJECT my_container

        EXPORTING

            container_name = 'CC_HTML_HELP'

        EXCEPTIONS

            others = 1.

    CASE sy-subrc.

      WHEN 0.

      WHEN OTHERS.

* >> Início da exclusão: MODULE HTML_HELP

        RAISE cntl_error.

* << Fim da exclusão

* >> Início da inclusão: MODULE HTML_HELP

        RAISE cntl_error."#EC *

* << Fim da inclusão

    ENDCASE.

  ENDIF.

  IF html_control IS INITIAL.

    CREATE OBJECT html_control

         EXPORTING

              parent = my_container.

    IF sy-subrc NE 0.

* >> Início da exclusão: MODULE HTML_HELP

      RAISE cntl_error.

* << Fim da exclusão

* >> Início da inclusão: MODULE HTML_HELP

      RAISE cntl_error."#EC *

* << Fim da inclusão

    ENDIF.

    alignment = html_control->align_at_left  +

                html_control->align_at_right +

                html_control->align_at_top   +

                html_control->align_at_bottom.

    CALL METHOD html_control->set_alignment

        EXPORTING

            alignment = alignment.

    myevent-eventid = html_control->m_id_sapevent.

    myevent-appl_event = 'X'.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB034TOP

 

...

  c_tela_disp_70         TYPE FELD-FCOD VALUE 'TAB130_DISP',

  c_mark(6)              TYPE c VALUE 'V_MARK',

  c_parametro(14)        TYPE C VALUE 'ZYCBE034-NRSEQ',

  c_f02                  TYPE /pws/zycbt032-tcode   VALUE 'F-02',

  c_f30                  TYPE /pws/zycbt032-tcode   VALUE 'F-30',

  c_fb08                 TYPE /pws/zycbt032-tcode   VALUE 'FB08',

  c_fbra                 TYPE /pws/zycbt032-tcode   VALUE 'FBRA',

  c_zycbt239            TYPE /pws/zycbe033-tabela VALUE '/PWS/ZYCBT239',

  c_embarque_exportacao  TYPE /pws/zycbt226-tipo_op VALUE 'E',

  c_pagamento_antecipado TYPE /pws/zycbt226-tipo_op VALUE 'P',

* >> Início da exclusão:

  c_tx_lancamento        TYPE c VALUE 'L',

  c_tx_estorno           TYPE c VALUE 'E',

* << Fim da exclusão

  c_transacao_c(14)      TYPE c VALUE '/PWS/ZYCB034_C',

  c_transacao_a(14)      TYPE c VALUE '/PWS/ZYCB034_A',

  c_transacao_e(14)      TYPE c VALUE '/PWS/ZYCB034_E',

  c_op                   TYPE sy-cprog VALUE '/PWS/SAPMZYCB034',

  c_modulo(1)            TYPE c VALUE 'E',

  c_chave_oper(3)        TYPE c VALUE 'TRE',

  c_chv_oper_fat(3)      TYPE c VALUE 'FTE',

  c_codeven_op_emb(5)    TYPE c VALUE '029',

  c_codeven_op_pagant(5) TYPE c VALUE '030',

  c_codeven_fat(5)       TYPE c VALUE '010',

  c_codeven_liqand(5)    TYPE c VALUE '023',

* >> Início da exclusão:

  c_codeven_liqand_op(5) TYPE c VALUE '023DO',

  c_op_cli(8)            TYPE c VALUE 'OP_CLI',

  c_op_trs(8)            TYPE c VALUE 'OP_TRS',

  c_desm_cli(8)          TYPE c VALUE 'DESM_CLI',

  c_desm_trs(8)          TYPE c VALUE 'DESM_TRS'.

* << Fim da exclusão

* >> Início da inclusão:

  c_codeven_liqand_op(5) TYPE c VALUE '023DO'.

* << Fim da inclusão

TYPES:

BEGIN OF t_controle,

  dados_op_carregados(1)   TYPE c,

  parametros_carregados(1) TYPE c,

  msg_inicializada(1)      TYPE c,

  tc_linhas                TYPE sy-srows,

  autorizacao_emp(1)       TYPE c,

  total_30_70(1)           TYPE c,

  periodo_fechado(1)       TYPE c,

  ts_atual                 LIKE ts_principal-activetab,

...

 

...

      itab_zycbt039       TYPE t_t_zycbt039,

      itab_zycbt226       TYPE t_t_zycbt226,

      itab_zycbt225       TYPE t_t_zycbt225,

      itab_zycbt226_ant   TYPE t_t_zycbt226,

      itab_zycbt017       TYPE t_t_zycbt017,

      itab_zycbt030       TYPE t_t_zycbt030,

      itab_zycbt209       TYPE t_t_zycbt209,

      itab_zyglt100       TYPE t_t_zyglt100,

      itab_zyglt316       TYPE t_t_zyglt316,

      itab_zyglt321       TYPE t_t_zyglt321,

* >> Início da exclusão:

      itab_zyglt368       TYPE t_t_zyglt368,

* << Fim da exclusão

* >> Início da inclusão:

      itab_zyglt368       TYPE t_t_zyglt368,"#EC NEEDED

* << Fim da inclusão

      itab_zycbt011       TYPE t_t_zycbt011,

      itab_zycet001       TYPE t_t_zycet001,

      itab_zycet047       TYPE t_t_zycet047,

      itab_zycet048       TYPE t_t_zycet048,

      itab_zycit054       TYPE t_t_zycit054,

      itab_kna1           TYPE t_t_kna1,

      itab_lfa1           TYPE t_t_lfa1,

      itab_bkpf           TYPE t_t_bkpf,

      itab_zycbe224       TYPE t_t_zycbe224,

      itab_disp_30        TYPE t_t_disponibilidade,

...

 

...

  v_ultimo_nrseq         TYPE /pws/zycbe226-nrseq,

  v_novo_nrseq           TYPE /pws/zycbe226-nrseq,

  v_modo_bi(1)           TYPE c,

  v_desm_cli(1)          TYPE c,

  v_desm_liqand(1)       TYPE c,

  v_sld_liq_and          TYPE wrbtr,

  v_belnr_est_f02        TYPE /pws/zycbt226-belnr_op,

  v_dtlancto_est_f02     TYPE /pws/zycbt226-dtlancto,

  v_total_30             TYPE wrbtr,

  v_total_70             TYPE wrbtr,

* >> Início da exclusão:

  v_msg_previsto(74)     TYPE c,

* << Fim da exclusão

* >> Início da inclusão:

  v_msg_previsto(74)     TYPE c,"#EC NEEDED

* << Fim da inclusão

  opt_origem_embarque(1) TYPE c,

  opt_origem_pagantec(1) TYPE c,

  opt_destino_30(1)      TYPE c,

  opt_destino_70(1)      TYPE c,

  v_mark(1)            TYPE c,

  v_icone              TYPE icons-text,

* >> Início da exclusão:

  v_tela_help          TYPE sy-dynnr VALUE '0052'.

* << Fim da exclusão

* >> Início da inclusão:

  v_tela_help          TYPE sy-dynnr VALUE '0052'."#EC NEEDED

* << Fim da inclusão

DATA:

   v_codaux   TYPE /pws/zygle316-codaux1,

   v_codaux1  TYPE /pws/zygle316-codaux1,

   v_codaux2  TYPE /pws/zygle316-codaux2.

INCLUDE /PWS/MZYCB034X01.

SELECTION-SCREEN BEGIN OF SCREEN 0001.

SELECTION-SCREEN BEGIN OF BLOCK a WITH FRAME TITLE text-011.

SELECT-OPTIONS: s_bukrs  FOR /pws/zycbe226-bukrs,

                s_nrseq  FOR /pws/zycbe226-nrseq,

                s_invoic FOR /pws/zycbe226-nrinvoic

...

 

...

            p_moedab RADIOBUTTON GROUP w.

SELECTION-SCREEN END OF BLOCK c.

SELECTION-SCREEN END OF SCREEN 0001.

AT SELECTION-SCREEN OUTPUT.

  PERFORM: status_gui_0001,

           importa_selecao.

AT SELECTION-SCREEN.

  CHECK sy-dynnr EQ '0001'.

  DATA:

    v_ucomm type sy-ucomm.

* >> Início da exclusão:

  GET PARAMETER ID 'UCOMM' FIELD v_ucomm.

  SET PARAMETER ID 'UCOMM' FIELD space.

* << Fim da exclusão

* >> Início da inclusão:

  GET PARAMETER ID 'UCOMM' FIELD v_ucomm."#EC *

  SET PARAMETER ID 'UCOMM' FIELD space."#EC *

* << Fim da inclusão

  IF NOT v_ucomm IS INITIAL.

    sy-ucomm = v_ucomm.

  ENDIF.

  CASE sy-ucomm.

    WHEN 'CRET'.

      CLEAR wa_controle.

      PERFORM: limpa_itabs,

               seleciona_op.

      IF NOT itab_zycbt226[] IS INITIAL.

        CALL SCREEN '0100'.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB034X01

 

* >> Início da exclusão:

DATA: BEGIN OF COMMON PART c.

* << Fim da exclusão

* >> Início da inclusão:

DATA: BEGIN OF COMMON PART c."#EC PART_OK

* << Fim da inclusão

DATA: itab_zycbt032       type t_t_zycbt032,

      itab_zycbe033       type t_t_zycbe033,

      itab_zycbt034       type t_t_zycbt034,

      itab_zycbt036       type t_t_zycbt036,

      itab_partidas       type t_t_zycbe033.

DATA: END OF COMMON PART.

 

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

Modificações efetuadas em REPT /PWS/SAPMZYCB034

 

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

Excluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 007

 

Texto: (21 caracteres)

"Código Razão Especial"

 

Comprimento máximo: 21

 

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

Excluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 022

 

Texto: (29 caracteres)

"ESTORNO DA ORDEM DE PAGAMENTO"

 

Comprimento máximo: 29

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 037

 

Texto: (5 caracteres)

"Desm."

 

Comprimento máximo: 5

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 038

 

Texto: (4 caracteres)

"Des."

 

Comprimento máximo: 4

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 039

 

Texto: (15 caracteres)

"Disponibilidade"

 

Comprimento máximo: 15

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 040

 

Texto: (30 caracteres)

"tem disponibilidade(s) de 70%."

 

Comprimento máximo: 30

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 041

 

Texto: (30 caracteres)

"tem disponibilidade(s) de 30%."

 

Comprimento máximo: 30

 

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

Excluído símbolo de texto:

 

Idioma: PT

 

Símbolo: M17

 

Texto: (29 caracteres)

"Favor corrigir campo Destino."

 

Comprimento máximo: 29