CE PLUS - Nota 007117

Módulo: CÂMBIO EXPORTAÇÃO

Funcionalidade: Valores Mantidos no Exterior

Data/Hora da Publicação: 11/08/2008 00:00:00

Data/Hora Última Alteração: 11/03/2010 10:05:25

Descrição da Nota: BOTÕES "VINCULAR TOTAL" E "SELECIONAR FATURAS" - VME

Sintoma

 

Desenvolvimento Adicional

 

Solução

 

Desenvolvimento Adicional

Versões Tratadas

7.0

Informações Complementares

 

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

Nota Número 07117 Data: 11/08/2008 Hora: 14:03:30

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

 

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

Nota Número              : 07117

Categoria                : Melhoria

Prioridade               : Alta

Versão PW.CE             : 7.0

Pacote                   : 00006

Agrupamento              : 00060

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

Referência às notas relacionadas:

Número - Ordem - Descrição Breve

 

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

BOTÕES "VINCULAR TOTAL" E "SELECIONAR FATURAS" - VME

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

Palavras Chave:

INCLUIR BOTÕES "VINCULAR TOTAL" E "SELECIONAR FATURAS" NAS TELA DE

VALORES MANTIDOS NO EXTERIOR

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

Objetos da nota:

CUAD /PWS/SAPMZYCB034

DYNP /PWS/SAPMZYCB034                        0100

DYNP /PWS/SAPMZYCB034                        0110

DYNP /PWS/SAPMZYCB034                        0150

DYNP /PWS/SAPMZYCB034                        0201

DYNP /PWS/SAPMZYCB034                        0300

DYNP /PWS/SAPMZYCB034                        0301

MERG F6DK963885 20080808 173428 PWSCB

RELE F6DK963888 20080808 173436 PWSCB

REPS /PWS/MZYCB034F01

REPS /PWS/MZYCB034I01

REPS /PWS/MZYCB034O01

REPS /PWS/MZYCB034TOP

REPS /PWS/MZYCB034X01

REPT /PWS/SAPMZYCB034

 

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

Modificações efetuadas em DYNP /PWS/SAPMZYCB034                        0100

 

solicitar arquivo para upload da tela a equipe de produto - pw.CE - câmbio - 11 5504 0170

 

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

Modificações efetuadas em DYNP /PWS/SAPMZYCB034                        0150

 

solicitar arquivo para upload da tela a equipe de produto - pw.CE - câmbio - 11 5504 0170

 

 

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

Modificações efetuadas em DYNP /PWS/SAPMZYCB034                        0201

 

solicitar arquivo para upload da tela a equipe de produto - pw.CE - câmbio - 11 5504 0170

 

 

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

Modificações efetuadas em DYNP /PWS/SAPMZYCB034                        0300

 

solicitar arquivo para upload da tela a equipe de produto - pw.CE - câmbio - 11 5504 0170

 

 

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

Modificações efetuadas em DYNP /PWS/SAPMZYCB034                        0301

 

solicitar arquivo para upload da tela a equipe de produto - pw.CE - câmbio - 11 5504 0170

 

 

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

Modificações efetuadas em DYNP /PWS/SAPMZYCB034                        0110

 

solicitar arquivo para upload da tela a equipe de produto - pw.CE - câmbio - 11 5504 0170

 

 

MODIFICAR LÓGICA DE PROCESSAMENTO TELA 0110

...

PROCESS AFTER INPUT.

  MODULE:

    drilldown.

  LOOP WITH CONTROL tc_op.

    FIELD /pws/zycbe226-nrinvoic     MODULE verifica_processo.

    MODULE: verifica_vlr_exterior,

            verifica_dt_limite,

            verifica_periodo_contabil,

            atualiza_tc_op.

  ENDLOOP.

* >> Início da inclusão:

  module  preenche_table_control.

* << Fim da inclusão

  MODULE: user_command,

          user_command_exit AT EXIT-COMMAND.

PROCESS ON VALUE-REQUEST.

  FIELD /pws/zycbe226-nrinvoic MODULE get_invoice.

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB034F01

 

...

      SET PF-STATUS '0001' EXCLUDING 'SPOS'.

      SET TITLEBAR  '0100' WITH '- '(020) 'Criar'(015).

    WHEN '0100'.

      CASE sy-tcode.

        WHEN c_transacao_c.

          preenche_itab_status_exc 'AEND'.

          preenche_itab_status_exc 'ESTORNO'.

          preenche_itab_status_exc 'NOOP'.

          preenche_itab_status_exc 'MOVE_DATA'.

          preenche_itab_status_exc 'SEL_DEVOL'.

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

          IF opt_origem_embarque IS INITIAL.

            preenche_itab_status_exc 'SELE'.

          ENDIF.

* << Fim da inclusão

        WHEN c_transacao_a.

          verifica_devolucao.

          preenche_itab_status_exc 'AEND'.

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

            IF sy-ucomm EQ 'MOVE_DATA' or

               sy-ucomm EQ 'P-'        or

               sy-ucomm EQ 'P+' .

            ELSE.

* << Fim da inclusão

          preenche_itab_status_exc 'RECEB_TOT'.

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

          ENDIF.

          preenche_itab_status_exc 'SELE'.

* << Fim da inclusão

        WHEN c_transacao_e.

          verifica_devolucao.

          preenche_itab_status_exc 'RECEB_TOT'.

          preenche_itab_status_exc 'MOVE_DATA'.

          preenche_itab_status_exc 'ESTORNO'.

          preenche_itab_status_exc 'NOOP'.

          preenche_itab_status_exc 'MARK'.

          preenche_itab_status_exc 'UNMARK'.

          preenche_itab_status_exc 'DEL_LINE'.

          preenche_itab_status_exc 'SAVE'.

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

          preenche_itab_status_exc 'SELE'.

* << Fim da inclusão

      ENDCASE.

      SET PF-STATUS '0100' EXCLUDING itab_status_exc.

      define_titulo.

    WHEN '0200'.

      CASE sy-tcode.

        WHEN c_transacao_e.

          preenche_itab_status_exc 'NOVO'.

          preenche_itab_status_exc 'SALVAR'.

          preenche_itab_status_exc 'ELIMINAR'.

          preenche_itab_status_exc 'ESTORNAR'.

...

 

...

          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 inclusão: FORM USER_COMMAND_0100

  DATA: wa_zycbt226 TYPE t_s_zycbe226.

* << Fim da inclusão

  CASE ok_code.

    WHEN 'SAVE'.

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

      LOOP AT itab_zycbt226 INTO wa_zycbt226.

      if sy-tcode ne c_transacao_a.

        IF wa_zycbt226-vlr_exterior IS INITIAL.

        MESSAGE e015 WITH 'Informe'(m49) 'o Valor Ret.no Exterior'(m50).

        ENDIF.

      endif.

      ENDLOOP.

* << Fim da inclusão

      PERFORM salva_previsto.

      PERFORM salva_rendimentos.

      PERFORM processamento.

    WHEN 'PB_HELP'.

      v_tela_help = '0051'.

      EXIT.

    WHEN 'HELP_CLOSE'.

      v_tela_help = '0052'.

      EXIT.

    WHEN 'AEND'.

...

 

...

        ts_principal-activetab = wa_controle-ts_atual.

      ELSE.

        ts_principal-activetab = ok_code.

      ENDIF.

    WHEN 'TAB100_00'.

      IF itab_disp_00[] IS INITIAL.

        ts_principal-activetab = wa_controle-ts_atual.

      ELSE.

        ts_principal-activetab = ok_code.

      ENDIF.

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

    WHEN 'SELE'.

      SET SCREEN '0201'.

      LEAVE TO SCREEN '0201'.

* << Fim da inclusão

    WHEN OTHERS.

      IF ok_code(6) EQ 'TAB100'.

        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.

...

 

...

        <fs_cols>-invisible = '0'.

      ENDIF.

    ELSEIF ( opt_origem_embarque = 'X' AND

             opt_origem_pagantec = 'X' ) OR

           ( opt_origem_embarque IS INITIAL AND

             opt_origem_pagantec IS INITIAL ).

      <fs_cols>-invisible = '0'.

    ENDIF.

    IF <fs_cols>-screen-name EQ '/PWS/ZYCBE226-TIPO_OP'.

      <fs_cols>-invisible = '1'.

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

    ENDIF.

    IF <fs_cols>-screen-name EQ '/PWS/ZYCBE226-VLR_EXTERIOR '.

      IF v_select IS INITIAL.

         IF sy-tcode = c_transacao_a.

          <fs_cols>-screen-input = 0.

         ELSE.

          <fs_cols>-screen-required = '0'.

         ENDIF .

      ELSE.

        <fs_cols>-screen-required = '0'.

* << Fim da inclusão

    ENDIF.

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

    ENDIF.

* << Fim da inclusão

  ENDLOOP.

ENDFORM.

FORM trata_tela_0120.

  DATA: v_linhas TYPE sy-tabix.

  FIELD-SYMBOLS: <fs_cols> TYPE cxtab_column.

  DESCRIBE TABLE itab_disp_30 LINES v_linhas.

...

 

...

      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,

        v_banco     TYPE lfa1-lifnr.

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

  DATA:   v_line(02)  TYPE n.

* << Fim da inclusão

  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)

        space

...

 

...

          nrparcf  = /pws/zycbe226-nrparcf  AND

          gsberf   = /pws/zycbe226-gsberf.

      /pws/zycbe226-sld_transferir = /pws/zycbe226-sld_transferir +

                                     <fs_zycbt209>-saldo.

    ENDLOOP.

    IF sy-tcode = c_transacao_c AND

       <fs_zycbt226>-status = 'C'.

      PERFORM bloqueia_celula.

    ENDIF.

  ENDIF.

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

  v_check = ' ' .

* << Fim da inclusão

ENDFORM.

FORM atualiza_tc_op.

  DATA: wa_lfa1     TYPE t_s_lfa1,

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

        wa_kna1     TYPE t_s_kna1,

* << Fim da inclusão

        wa_zycbt226 TYPE t_s_zycbe226,

        wa_zycbt017 TYPE t_s_zycbt017,

        v_banco     TYPE lfa1-lifnr.

  READ TABLE itab_zycbt226 INTO wa_zycbt226 INDEX tc_op-current_line.

...

 

...

  TRANSLATE v_banco USING ' 0'.

  READ TABLE itab_lfa1 WITH KEY lifnr = v_banco

    INTO wa_lfa1.

  IF sy-subrc = 0.

    /pws/zycbe226-descr_bcoreceb = wa_lfa1-name1.

  ELSE.

    CLEAR /pws/zycbe226-descr_bcoreceb.

  ENDIF.

  /pws/zycbe226-belnr_op2 = wa_zycbt226-belnr_op2.

  IF wa_zycbt226-drilldown EQ 'X'.

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

      if not wa_zycbt226-vlr_exterior is initial.

* << Fim da inclusão

    MOVE wa_zycbt226-vlr_exterior TO /pws/zycbe226-vlr_exterior.

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

        CLEAR wa_zycbt226-drilldown.

      elseif not /pws/zycbe226-vlr_exterior is initial.

        MOVE /pws/zycbe226-vlr_exterior TO /pws/zycbe226-vlr_exterior.

* << Fim da inclusão

    CLEAR wa_zycbt226-drilldown.

  ENDIF.

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

  ENDIF.

* << Fim da inclusão

  IF sy-tcode EQ c_transacao_c.

    /pws/zycbe226-sld_exterior = /pws/zycbe226-vlr_exterior.

  ENDIF.

  IF sy-tcode            EQ c_transacao_c AND

     opt_origem_pagantec EQ 'X'.

    /pws/zycbe226-vlavinc        = /pws/zycbe226-vlr_exterior.

    /pws/zycbe226-sld_transferir = /pws/zycbe226-sld_exterior.

    /pws/zycbe226-sld_associar   = /pws/zycbe226-vlr_exterior.

    IF /pws/zycbe226-tipo_op NE 'P'.

      /pws/zycbe226-tipo_op      = 'P'.

...

 

...

  MOVE-CORRESPONDING /pws/zycbe226 TO wa_zycbt226.

  IF NOT wa_zycbt226-belnr_op2 IS INITIAL.

    MOVE wa_zycbt226-belnr_op2 TO /pws/zycbe226-belnr_op.

  ENDIF.

  wa_zycbt226-mark     = v_mark.

  MODIFY itab_zycbt226 FROM wa_zycbt226 INDEX tc_op-current_line.

  IF sy-subrc NE 0.

    APPEND wa_zycbt226 TO itab_zycbt226.

  ENDIF.

  wa_controle-tc_linhas = sy-loopc.

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

  v_check = '  ' .

* << Fim da inclusão

ENDFORM.

FORM marcar_estorno

  USING value(p_valor)

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

 CHANGING p_itab TYPE INDEX TABLE.

* << Fim da exclusão

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

 CHANGING p_itab TYPE INDEX TABLE .

* << Fim da inclusão

  FIELD-SYMBOLS:

...

 

...

  itab_zycit054,

  itab_zyglt316,

  itab_zyglt376,

  itab_zyglt368,

  itab_bkpf,

  itab_disp_ant,

  itab_disp_30,

  itab_disp_70,

  itab_rendimentos,

  itab_contrato,

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

  itab_disp_00,

* << Fim da inclusão

  itab_zycbt007,

  itab_zycbt089,

  itab_zyglt009,

  itab_kna1,

  itab_lfa1,

  itab_zyglt321,

  itab_zycbt009,

  itab_zycbt011,

  itab_zyglt100.

ENDFORM.

...

 

...

         EXPORTING

              i_bloqueia    = ' '

         TABLES

              itab_zycbt224 = itab_zycbe224

         EXCEPTIONS

              zycbe224_null = 1

              erro_bloqueio = 2

              OTHERS        = 3.

    IF sy-subrc <> 0.

      EXIT.

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

    ENDIF.

    IF p_processo = 'O'.

      v_adm = 'X' .

      SELECT SINGLE xopvw

         FROM skb1

         INTO skb1-xopvw

        WHERE bukrs = wa_zycbe033-bukrs

          AND saknr = wa_zycbe033-d_newko.

      IF skb1-xopvw = 'X'.

        PERFORM message_store

          USING '/PWS/ZYCBM'

                'I'

                v_titulo

                '-'

                <fs_op>-nrseq

                space

                '061'.

* << Fim da inclusão

    ENDIF.

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

    ELSE.

* << Fim da inclusão

    PERFORM message_store

      USING '/PWS/ZYCBM'

            'I'

            v_titulo

            '-'

            <fs_op>-nrseq

            space

            '061'.

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

    ENDIF.

    IF p_processo = 'O'.

      IF skb1-xopvw = 'X'.

        CALL FUNCTION '/PWS/ZYCB_TRANSACAO_F_30_S'

             EXPORTING

                  v_modo          = v_modo_bi

             TABLES

                  t_dados         = itab_zycbe033

                  t_campo         = itab_zycbt034

                  t_zycbt032      = itab_zycbt032

                  t_zycbt036      = itab_zycbt036

             EXCEPTIONS

                  campo_em_branco = 1

                  periodo_fechado = 2

                  OTHERS          = 3.

      ENDIF.

    ELSE.

* << Fim da inclusão

    CALL FUNCTION '/PWS/ZYCB_TRANSACAO_F_30_S'

         EXPORTING

              v_modo          = v_modo_bi

         TABLES

              t_dados         = itab_zycbe033

              t_campo         = itab_zycbt034

              t_zycbt032      = itab_zycbt032

              t_zycbt036      = itab_zycbt036

         EXCEPTIONS

              campo_em_branco = 1

              periodo_fechado = 2

              OTHERS          = 3.

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

    ENDIF.

* << Fim da inclusão

    IF sy-subrc = 0.

      READ TABLE itab_zycbt032 WITH KEY

        tcode  = 'F-30'

        tabela = '/PWS/ZYCBT226'

        cpochv = wa_zycbe033-cpochv

        tpmsg  = 'S'

        INTO wa_zycbt032.

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

      IF sy-subrc EQ 0.

* << Fim da exclusão

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

      IF sy-subrc EQ 0 OR

         v_adm    EQ 'X'.

* << Fim da inclusão

        wa_cont-belnr    = wa_zycbt032-belnr.

        wa_cont-dtlancto = wa_zycbe033-budat.

        wa_cont-fb08     = 'X'.

        wa_cont-fbra     = 'X'.

        CASE p_processo(1).

          WHEN 'C'.

            wa_cont-belnr_ant = <fs_op>-belnr_desm_cli.

            wa_cont-tabela = 'ITAB_ZYCBT226'.

            wa_cont-campo  = 'BELNR_DESM_CLI'.

            CLEAR <fs_op>-belnr_desm_cli.

...

 

...

        p_destino   TYPE /pws/zycbe238-destino.

  DATA:

    wa_disp LIKE LINE OF p_itab_disp.

  /pws/zycbe238-destino = p_destino.

  READ TABLE p_itab_disp INTO wa_disp INDEX p_tc-current_line.

  MOVE-CORRESPONDING:

    /pws/zycbe238 TO wa_disp.

  MOVE:

    v_mark              TO wa_disp-mark,

    /pws/zycbe226-waers TO wa_disp-waers,

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

    /pws/zycbe238-vldisp   TO wa_disp-saldo.

* << Fim da exclusão

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

    /pws/zycbe238-vldisp   TO wa_disp-saldo,

    sy-datum            TO wa_disp-dtdisp .

* << Fim da inclusão

  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

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

  DATA:

    v_fecha_linha TYPE c.

  READ TABLE itab_zycbt007 INTO wa_zycbt007

    WITH KEY bukrs = /pws/zycbe226-bukrs.

...

 

...

        IF wa_zycbt007-cont_disp EQ space.

          IF screen-name EQ '/PWS/ZYCBE238-DTLANC'.

            screen-input = 0.

            MODIFY SCREEN.

          ENDIF.

        ENDIF.

        IF ( screen-name  EQ '/PWS/ZYCBE238-VLDISP' OR

             screen-name  EQ '/PWS/ZYCBE238-DTLANC' OR

             screen-name  EQ '/PWS/ZYCBE238-DTDISP' ) AND

           screen-input NE 0.

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

          screen-required = 1.

* << Fim da exclusão

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

          screen-required = 0.

* << Fim da inclusão

          MODIFY SCREEN.

        ENDIF.

      ENDIF.

    ENDIF.

  ENDLOOP.

ENDFORM.

FORM loop_at_screen_contr

  USING p_itab_contrato TYPE t_t_contrato

        p_tc            TYPE cxtab_control.

  DATA:

...

 

...

        USING 'X'

        CHANGING itab_zycbt226.

    WHEN 'NOOP'.

      PERFORM marcar_estorno

        USING ' '

        CHANGING itab_zycbt226.

    WHEN 'MOVE_DATA'.

      PERFORM adicionar_disponibilidade.

    WHEN 'SEL_DEVOL'.

      PERFORM seleciona_devolucao.

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

    WHEN 'TOTAL'.

      PERFORM vincular_total.

    WHEN OTHERS.

      CLEAR v_check.

* << Fim da inclusão

  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,

...

 

...

      PERFORM paginacao_tc USING    v_linhas

                           CHANGING tc_00-top_line.

    WHEN 'ESTORNO'.

      PERFORM marcar_estorno

        USING 'X'

        CHANGING itab_disp_00.

    WHEN 'NOOP'.

      PERFORM marcar_estorno

        USING ' '

        CHANGING itab_disp_00.

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

    WHEN 'RECEB_TOT'.

      PERFORM vincular_total.

* << Fim da inclusão

  ENDCASE.

ENDFORM.

FORM seleciona_devolucao.

  DATA:

    it_zycbt226_temp TYPE t_t_zycbt226,

    wa_zycbt226      TYPE t_s_zycbe226.

  FIELD-SYMBOLS:

    <fs_devolucao>   TYPE t_devolucao.

  LOOP AT itab_zycbt226 INTO wa_zycbt226

    WHERE mark    = 'X'

...

 

...

    USING p_devolucao-dtlancto

          v_cpochv

    CHANGING wa_zycbe033

             p_devolucao-belnr.

  IF itab_zycbt034[] IS INITIAL.

    CLEAR:

      p_devolucao-belnr,

      p_devolucao-dtlancto.

  ENDIF.

ENDFORM.

* >> Início da inclusão:

FORM vincular_total.

  DATA:  wa_zycbt226 TYPE t_s_zycbe226,

         wa_disp     LIKE LINE OF itab_disp_30.

  CLEAR v_index.

  LOOP AT itab_zycbt226 INTO wa_zycbt226.

    v_index = v_index + 1.

    IF sy-dynnr NE '0150' .

      IF  wa_zycbt226-vlr_exterior EQ 0.

        MOVE wa_zycbt226-sld_transferir TO wa_zycbt226-vlr_exterior.

        MODIFY itab_zycbt226 FROM wa_zycbt226 INDEX v_index.

      ENDIF.

    ENDIF.

    IF sy-tcode = c_transacao_a.

      IF sy-dynnr = '0150' .

        loop at  itab_disp_00 INTO wa_disp

                                 where nrseq = wa_zycbt226-nrseq

                                   and OPERACAO = 'N'.

             if not wa_zycbt226-sld_exterior is initial.

             MOVE wa_zycbt226-sld_exterior TO wa_disp-vldisp.

            MODIFY itab_disp_00 FROM wa_disp  INDEX sy-tabix.

            endif .

        endloop.

      ENDIF.

    ENDIF.

  ENDLOOP.

ENDFORM.

FORM limpa_selecao.

  /pws/zycbe017-nrinvoic = ''.

  /pws/zycbe017-nrparcf  = ''.

  /pws/zycbe017-gsberf   = ''.

  /pws/zycbe017-dtbl     = ''.

  /pws/zycbe017-fkdat    = ''.

  /pws/zycbe017-kunag    = ''.

  /pws/zycbe017-dtvencto = ''.

  /pws/zycbe017-inco1    = ''.

  /pws/zycbe017-nrsd     = ''.

  /pws/zycbe017-nrre     = ''.

  /pws/zycbe017a-nrinvoic = ''.

  /pws/zycbe017a-nrparcf  = ''.

  /pws/zycbe017a-gsberf   = ''.

  /pws/zycbe017a-dtbl     = ''.

  /pws/zycbe017a-fkdat    = ''.

  /pws/zycbe017a-kunag    = ''.

  /pws/zycbe017a-dtvencto = ''.

  /pws/zycbe017a-inco1    = ''.

  /pws/zycbe017a-nrsd     = ''.

  v_nrre_ate              = ''.

ENDFORM.

form set_screen_0301.

  SET PF-STATUS '0300'.

  SET TITLEBAR '300'.

  LOOP AT SCREEN.

    screen-input = '0'.

    screen-invisible = '1'.

    MODIFY SCREEN.

    IF screen-name+15(9) NE 'OPTI_PUSH'.

      IF v_nrinvoic = 'X' AND screen-group1 = 'FAT'.

        screen-invisible = '0'.

        screen-input = '1'.

        MODIFY SCREEN.

      ENDIF.

      IF v_gsberf = 'X' AND screen-group1 = 'DIV'.

        screen-invisible = '0'.

        screen-input = '1'.

        MODIFY SCREEN.

      ENDIF.

      IF v_dtbl = 'X' AND screen-group1 = 'DBL'.

        screen-invisible = '0'.

        screen-input = '1'.

        MODIFY SCREEN.

      ENDIF.

      IF v_fkdat = 'X' AND screen-group1 = 'DFT'.

        screen-invisible = '0'.

        screen-input = '1'.

        MODIFY SCREEN.

      ENDIF.

      IF v_kunag = 'X' AND screen-group1 = 'CLI'.

        screen-invisible = '0'.

        screen-input = '1'.

        MODIFY SCREEN.

      ENDIF.

      IF v_dtvencto = 'X' AND screen-group1 = 'DV'.

        screen-invisible = '0'.

        screen-input = '1'.

        MODIFY SCREEN.

      ENDIF.

      IF v_inco1 = 'X' AND screen-group1 = 'INC'.

        screen-invisible = '0'.

        screen-input = '1'.

        MODIFY SCREEN.

      ENDIF.

      IF v_re = 'X' AND screen-group1 = 'NRE'.

        screen-invisible = '0'.

        screen-input = '1'.

        MODIFY SCREEN.

      ENDIF.

      IF v_sd = 'X' AND screen-group1 = 'NRS'.

        screen-invisible = '0'.

        screen-input = '1'.

        MODIFY SCREEN.

      ENDIF.

    ENDIF.

  ENDLOOP.

endform.

form selecionar_zycbt017.

  DATA: v_nlin TYPE i VALUE IS INITIAL.

  IF sy-ucomm EQ 'CRET'.

    FREE:   itab_zycbt017_aux, itab_nrinvoic, itab_gsberf  , itab_fkdat,

            itab_kunag       , itab_dtvencto, itab_dtbl    , itab_inco1,

            itab_nrre        , itab_nrsd,     itab_zycbt226_aux .

    SELECT *

       INTO TABLE itab_zycbt017_aux

       FROM /pws/zycbt017

        WHERE nrinvoic IN nrin

          AND gsberf   IN gsbe

          AND fkdat    IN fkda

          AND kunag    IN kuna

          AND dtvencto IN dtve

          AND dtbl     IN dtbl

          AND inco1    IN inco

          AND nrre     IN nrre

          AND nrsd     IN nrsd

       AND status   EQ space.

    DESCRIBE TABLE itab_zycbt017_aux LINES v_nlin.

LOOP AT itab_zycbt017_aux.

      itab_zycbt017_aux-v_fsaldo = 'X'.

      MODIFY itab_zycbt017_aux INDEX sy-tabix.

      itab_zycbt226_aux-bukrs = itab_zycbt017_aux-bukrs .

      itab_zycbt226_aux-nrinvoic = itab_zycbt017_aux-nrinvoic .

      itab_zycbt226_aux-gsberf = itab_zycbt017_aux-gsberf .

      itab_zycbt226_aux-kunag = itab_zycbt017_aux-kunag .

      itab_zycbt226_aux-nrparcf = itab_zycbt017_aux-nrparcf .

      itab_zycbt226_aux-vlavinc   = itab_zycbt017_aux-vlavinc.

      itab_zycbt226_aux-dtlancto = sy-datum.

      itab_zycbt226_aux-dtcredext = sy-datum.

      itab_zycbt226_aux-waers = itab_zycbt017_aux-waers.

      SELECT * FROM /pws/zycbt030

               UP TO 1 ROWS

           WHERE nrinvoic = itab_zycbt017_aux-nrinvoic AND

                 nrparcf  = itab_zycbt017_aux-nrparcf  AND

                 gsberf   = itab_zycbt017_aux-gsberf.

      ENDSELECT.

      IF sy-subrc = 0.

        IF /pws/zycbt030-vlsltrans > 0 .

          itab_zycbt226_aux-sld_transferir = /pws/zycbt030-vlsltrans.

          APPEND itab_zycbt226_aux.

        ELSE.

           continue.

        ENDIF.

      ENDIF.

    ENDLOOP.

    if itab_zycbt226_aux[] is initial.

        MESSAGE w015 WITH text-m47.

    endif.

    IF v_nlin IS INITIAL.

      MESSAGE w015 WITH text-M48.

    ELSE.

      v_select = 'X'.

      v_check  = 'X'.

      SET SCREEN '0100'.

      LEAVE TO SCREEN '0100'.

    ENDIF.

  ENDIF.

endform.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCB034I01

 

...

      PERFORM user_command_0200.

  ENDCASE.

ENDMODULE.

MODULE user_command_exit INPUT.

  CASE sy-dynnr.

    WHEN '0100'.

      CASE sy-tcode.

        WHEN c_transacao_a OR

             c_transacao_e.

          LEAVE TO SCREEN 0001.

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

        WHEN c_transacao_c.

         if ok_code = 'BACK'.

          IF NOT itab_zycbt226[] IS INITIAL.

           LEAVE TO SCREEN 0.

          else.

           LEAVE TO SCREEN 0.

          ENDIF.

         ELSE.

          LEAVE PROGRAM.

         ENDIF.

* << Fim da inclusão

        WHEN OTHERS.

          LEAVE TO SCREEN 0.

      ENDCASE.

    WHEN '0002'.

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

      LEAVE PROGRAM.

    WHEN '0200'.

* << Fim da inclusão

      LEAVE TO SCREEN 0.

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

    WHEN '0200'.

* << Fim da exclusão

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

    WHEN '0201'.

      CLEAR: v_nrinvoic,

             v_re,

             v_nrre_ate,

             v_sd,

             v_gsberf,

             v_fkdat,

             v_kunag,

             v_dtvencto,

             v_dtbl,

             v_inco1.

      IF ok_code = '%EX'.

        SET SCREEN 0.

        LEAVE TO SCREEN 0.

      ENDIF.

      IF  ok_code = 'BACK'.

        SET SCREEN 100.

      ENDIF.

    WHEN '0300'.

      IF ok_code = '%EX'.

* << Fim da inclusão

      LEAVE TO SCREEN 0.

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

      ELSE.

        LEAVE TO SCREEN '0201'.

      ENDIF.

* << Fim da inclusão

  ENDCASE.

ENDMODULE.

MODULE verifica_processo INPUT.

  PERFORM: verifica_autorizacao USING 'TCODE'.

...

 

...

        READ TABLE itab_disp_ant

          WITH KEY nrseq   = wa_disp-nrseq

                   destino = wa_disp-destino

                   dtdisp  = wa_disp-dtdisp

          TRANSPORTING NO FIELDS.

        IF sy-subrc NE 0.

          v_sldext = v_sldext + wa_disp-vldisp.

        ENDIF.

      ENDLOOP.

      v_sldext = v_sldext + /pws/zycbe238-vldisp.

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

      IF /pws/zycbe238-vldisp GT /pws/zycbe226-sld_exterior OR

         v_sldext             GT /pws/zycbe226-sld_exterior.

        MESSAGE e061

          WITH 'Valor maior que o saldo. Favor corrigir.'(033).

      ENDIF.

* << Fim da exclusão

  ENDCASE.

ENDMODULE.

MODULE verifica_data_disp INPUT.

  DATA:

    v_destino TYPE /pws/zycbe238-destino.

  CASE sy-dynnr.

    WHEN '0120'.

      v_destino = c_30.

    WHEN '0131'.

      v_destino = c_70.

...

 

...

        USING tc_70

        CHANGING itab_disp_70.

    WHEN '0150'.

      PERFORM define_operacao_disp

        USING tc_00

        CHANGING itab_disp_00.

  ENDCASE.

ENDMODULE.

module drilldown input.

  DATA: v_campo(30) TYPE c,

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

        v_value(10) TYPE c,"#EC NEEDED

        v_index     TYPE sy-tabix.

* << Fim da exclusão

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

        v_value(10) TYPE c.                                 "#EC NEEDED

* << Fim da inclusão

  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.

          MODIFY SCREEN.

...

 

...

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

  ENDIF.

  READ TABLE itab_devolucao INTO wa_devolucao

    WITH KEY nrseqop     = /pws/zycbe242-nrseqop

             dtdevolucao = /pws/zycbe242-dtdevolucao.

  IF sy-subrc EQ 0.

    CHECK wa_devolucao-operacao NE c_novo.

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

  ENDIF.

endmodule.

* >> Início da inclusão:

MODULE status_0201 OUTPUT.

  SET PF-STATUS '0201'.

  SET TITLEBAR '201'.

ENDMODULE.

MODULE limpa_campos OUTPUT.

  IF ok_code <> 'MARK' AND ok_code <> 'DESM'.

    v_nrinvoic = ' '.

    v_gsberf = ' '.

    v_fkdat = ' '.

    v_kunag = ' '.

    v_dtvencto  = ' '.

    v_dtbl = ' '.

    v_inco1 = ' '.

    v_re = ' '.

    v_sd = ' '.

  ENDIF.

ENDMODULE.

MODULE user_command_0201 INPUT.

  CASE ok_code.

    WHEN 'EXEC'.

      IF  v_inco1 = ' ' AND  v_nrinvoic = ' ' AND  v_gsberf = ' ' AND

          v_kunag = ' ' AND  v_dtvencto = ' ' AND  v_fkdat  = ' ' AND

          v_dtbl  = ' ' AND  v_re       = ' ' AND  v_sd     = ' '.

        MESSAGE w015 WITH text-m46.

      ELSE.

        PERFORM limpa_selecao.

        CALL SELECTION-SCREEN 0301.

      ENDIF.

    WHEN 'MARK'.

      v_nrinvoic = 'X'.

      v_gsberf = 'X'.

      v_fkdat = 'X'.

      v_kunag = 'X'.

      v_dtvencto = 'X'.

      v_dtbl = 'X'.

      v_inco1 = 'X'.

      v_re = 'X'.

      v_sd = 'X'.

    WHEN 'DESM'.

      v_nrinvoic = ' '.

      v_gsberf = ' '.

      v_fkdat = ' '.

      v_kunag = ' '.

      v_dtvencto  = ' '.

      v_dtbl = ' '.

      v_inco1 = ' '.

      v_re = ' '.

      v_sd = ' '.

  ENDCASE.

  IF OK_CODE = 'BACK'.

    LEAVE TO SCREEN 0.

  ENDIF.

ENDMODULE.

MODULE status_0300 OUTPUT.

  SET PF-STATUS '0300'.

  SET TITLEBAR '300'.

ENDMODULE.

MODULE set_screen_300 OUTPUT.

  LOOP AT SCREEN.

    screen-input = '0'.

    screen-invisible = '1'.

    MODIFY SCREEN.

    IF v_nrinvoic = 'X' AND screen-group2 = 'FAT'.

      screen-invisible = '0'.

      screen-input = '1'.

      MODIFY SCREEN.

    ENDIF.

    IF v_gsberf = 'X' AND screen-group2 = 'DIV'.

      screen-invisible = '0'.

      screen-input = '1'.

      MODIFY SCREEN.

    ENDIF.

    IF v_dtbl = 'X' AND screen-group2 = 'DBL'.

      screen-invisible = '0'.

      screen-input = '1'.

      MODIFY SCREEN.

    ENDIF.

    IF v_fkdat = 'X' AND screen-group2 = 'DFT'.

      screen-invisible = '0'.

      screen-input = '1'.

      MODIFY SCREEN.

    ENDIF.

    IF v_kunag = 'X'  AND screen-group2 = 'CLI'.

      screen-invisible = '0'.

      screen-input = '1'.

      MODIFY SCREEN.

    ENDIF.

    IF v_dtvencto = 'X' AND screen-group2 = 'DV'.

      screen-invisible = '0'.

      screen-input = '1'.

      MODIFY SCREEN.

    ENDIF.

    IF v_inco1 = 'X' AND screen-group2 = 'INC'.

      screen-invisible = '0'.

      screen-input = '1'.

      MODIFY SCREEN.

    ENDIF.

    IF v_re = 'X' AND screen-group2 = 'NRE'.

      screen-invisible = '0'.

      screen-input = '1'.

      MODIFY SCREEN.

    ENDIF.

    IF v_sd = 'X' AND screen-group2 = 'NSD'.

      screen-invisible = '0'.

      screen-input = '1'.

      MODIFY SCREEN.

    ENDIF.

  ENDLOOP.

ENDMODULE.

MODULE selecionar_zycbt017 INPUT.

  DATA: v_nlin TYPE i VALUE IS INITIAL.

  CLEAR:  itab_zycbt226_aux.

  REFRESH :itab_zycbt226_aux.

  IF ok_code EQ 'EXEC'.

    FREE:  itab_nrinvoic,

           itab_gsberf,

           itab_fkdat,

           itab_kunag,

           itab_dtvencto,

           itab_dtbl,

           itab_inco1,

           itab_nrre,

           itab_nrsd.

    IF NOT /pws/zycbe017-nrinvoic  IS INITIAL AND

         /pws/zycbe017a-nrinvoic IS INITIAL.

      itab_nrinvoic-sign = 'I'.

      itab_nrinvoic-option = 'EQ'.

      itab_nrinvoic-low = /pws/zycbe017-nrinvoic.

      itab_nrinvoic-high = /pws/zycbe017a-nrinvoic.

      APPEND itab_nrinvoic.

    ELSEIF /pws/zycbe017-nrinvoic IS INITIAL AND

          NOT /pws/zycbe017a-nrinvoic IS INITIAL.

      itab_nrinvoic-sign = 'I'.

      itab_nrinvoic-option = 'BT'.

      itab_nrinvoic-low = /pws/zycbe017-nrinvoic.

      itab_nrinvoic-high = /pws/zycbe017a-nrinvoic.

      APPEND itab_nrinvoic.

    ELSEIF NOT /pws/zycbe017-nrinvoic  IS INITIAL AND

           NOT /pws/zycbe017a-nrinvoic IS INITIAL.

      itab_nrinvoic-sign = 'I'.

      itab_nrinvoic-option = 'BT'.

      itab_nrinvoic-low = /pws/zycbe017-nrinvoic.

      itab_nrinvoic-high = /pws/zycbe017a-nrinvoic.

      APPEND itab_nrinvoic.

    ENDIF.

    IF NOT /pws/zycbe017-gsberf  IS INITIAL AND

           /pws/zycbe017a-gsberf IS INITIAL.

      itab_gsberf-sign = 'I'.

      itab_gsberf-option = 'EQ'.

      itab_gsberf-low = /pws/zycbe017-gsberf.

      itab_gsberf-high = /pws/zycbe017a-gsberf.

      APPEND itab_gsberf.

    ELSEIF /pws/zycbe017-gsberf  IS INITIAL AND

           NOT /pws/zycbe017a-gsberf IS INITIAL.

      itab_gsberf-sign = 'I'.

      itab_gsberf-option = 'BT'.

      itab_gsberf-low = /pws/zycbe017-gsberf.

      itab_gsberf-high = /pws/zycbe017a-gsberf.

      APPEND itab_gsberf.

    ELSEIF NOT /pws/zycbe017-gsberf  IS INITIAL AND

           NOT /pws/zycbe017a-gsberf IS INITIAL.

      itab_gsberf-sign = 'I'.

      itab_gsberf-option = 'BT'.

      itab_gsberf-low = /pws/zycbe017-gsberf.

      itab_gsberf-high = /pws/zycbe017a-gsberf.

      APPEND itab_gsberf.

    ENDIF.

    IF NOT /pws/zycbe017-kunag  IS INITIAL AND

           /pws/zycbe017a-kunag IS INITIAL.

      itab_kunag-sign = 'I'.

      itab_kunag-option = 'EQ'.

      itab_kunag-low = /pws/zycbe017-kunag.

      itab_kunag-high = /pws/zycbe017a-kunag.

      APPEND itab_kunag.

    ELSEIF /pws/zycbe017-kunag  IS INITIAL AND

           NOT /pws/zycbe017a-kunag IS INITIAL.

      itab_kunag-sign = 'I'.

      itab_kunag-option = 'BT'.

      itab_kunag-low = /pws/zycbe017-kunag.

      itab_kunag-high = /pws/zycbe017a-kunag.

      APPEND itab_kunag.

    ELSEIF NOT /pws/zycbe017-kunag  IS INITIAL AND

           NOT /pws/zycbe017a-kunag IS INITIAL.

      itab_kunag-sign = 'I'.

      itab_kunag-option = 'BT'.

      itab_kunag-low = /pws/zycbe017-kunag.

      itab_kunag-high = /pws/zycbe017a-kunag.

      APPEND itab_kunag.

    ENDIF.

    IF NOT /pws/zycbe017-inco1  IS INITIAL AND

           /pws/zycbe017a-inco1 IS INITIAL.

      itab_inco1-sign = 'I'.

      itab_inco1-option = 'EQ'.

      itab_inco1-low = /pws/zycbe017-inco1.

      itab_inco1-high = /pws/zycbe017a-inco1.

      APPEND itab_inco1.

    ELSEIF /pws/zycbe017-inco1  IS INITIAL AND

           NOT /pws/zycbe017a-inco1 IS INITIAL.

      itab_inco1-sign = 'I'.

      itab_inco1-option = 'BT'.

      itab_inco1-low = /pws/zycbe017-inco1.

      itab_inco1-high = /pws/zycbe017a-inco1.

      APPEND itab_inco1.

    ELSEIF NOT /pws/zycbe017-inco1  IS INITIAL AND

           NOT /pws/zycbe017a-inco1 IS INITIAL.

      itab_inco1-sign = 'I'.

      itab_inco1-option = 'BT'.

      itab_inco1-low = /pws/zycbe017-inco1.

      itab_inco1-high = /pws/zycbe017a-inco1.

      APPEND itab_inco1.

    ENDIF.

    IF ( ( /pws/zycbe017-fkdat NE '' )           AND

         ( /pws/zycbe017-fkdat NE '00000000' ) ) AND

       ( ( /pws/zycbe017a-fkdat EQ '' )          OR

         ( /pws/zycbe017a-fkdat EQ '00000000' ) ).

      itab_fkdat-sign = 'I'.

      itab_fkdat-option = 'EQ'.

      itab_fkdat-low = /pws/zycbe017-fkdat.

      itab_fkdat-high = /pws/zycbe017a-fkdat.

      APPEND itab_fkdat.

    ELSEIF ( ( /pws/zycbe017-fkdat EQ '' )           OR

             ( /pws/zycbe017-fkdat EQ '00000000' ) ) AND

           ( ( /pws/zycbe017a-fkdat NE '' )          AND

            ( /pws/zycbe017a-fkdat NE '00000000' ) ).

      itab_fkdat-sign = 'I'.

      itab_fkdat-option = 'BT'.

      itab_fkdat-low = /pws/zycbe017-fkdat.

      itab_fkdat-high = /pws/zycbe017a-fkdat.

      APPEND itab_fkdat.

    ELSEIF ( ( /pws/zycbe017-fkdat NE '' )           AND

             ( /pws/zycbe017-fkdat NE '00000000' ) ) AND

           ( ( /pws/zycbe017a-fkdat NE '' )          AND

             ( /pws/zycbe017a-fkdat NE '00000000' ) ).

      itab_fkdat-sign = 'I'.

      itab_fkdat-option = 'BT'.

      itab_fkdat-low = /pws/zycbe017-fkdat.

      itab_fkdat-high = /pws/zycbe017a-fkdat.

      APPEND itab_fkdat.

    ENDIF.

    IF ( ( /pws/zycbe017-dtvencto NE '' )           AND

         ( /pws/zycbe017-dtvencto NE '00000000' ) ) AND

       ( ( /pws/zycbe017a-dtvencto EQ '' )          OR

       ( /pws/zycbe017a-dtvencto EQ '00000000' ) ).

      itab_dtvencto-sign = 'I'.

      itab_dtvencto-option = 'EQ'.

      itab_dtvencto-low = /pws/zycbe017-dtvencto.

      itab_dtvencto-high = /pws/zycbe017a-dtvencto.

      APPEND itab_dtvencto.

    ELSEIF ( ( /pws/zycbe017-dtvencto EQ '' )           OR

             ( /pws/zycbe017-dtvencto EQ '00000000' ) ) AND

           ( ( /pws/zycbe017a-dtvencto NE '' )          AND

           ( /pws/zycbe017a-dtvencto NE '00000000' ) ).

      itab_dtvencto-sign = 'I'.

      itab_dtvencto-option = 'BT'.

      itab_dtvencto-low = /pws/zycbe017-dtvencto.

      itab_dtvencto-high = /pws/zycbe017a-dtvencto.

      APPEND itab_dtvencto.

    ELSEIF ( ( /pws/zycbe017-dtvencto NE '' )           AND

             ( /pws/zycbe017-dtvencto NE '00000000' ) ) AND

           ( ( /pws/zycbe017a-dtvencto NE '' )          AND

           ( /pws/zycbe017a-dtvencto NE '00000000' ) ).

      itab_dtvencto-sign = 'I'.

      itab_dtvencto-option = 'BT'.

      itab_dtvencto-low = /pws/zycbe017-dtvencto.

      itab_dtvencto-high = /pws/zycbe017a-dtvencto.

      APPEND itab_dtvencto.

    ENDIF.

    IF ( ( /pws/zycbe017-dtbl NE '' )           AND

         ( /pws/zycbe017-dtbl NE '00000000' ) ) AND

       ( ( /pws/zycbe017a-dtbl EQ '' )          OR

         ( /pws/zycbe017a-dtbl EQ '00000000' ) ).

      itab_dtbl-sign = 'I'.

      itab_dtbl-option = 'EQ'.

      itab_dtbl-low = /pws/zycbe017-dtbl.

      itab_dtbl-high = /pws/zycbe017a-dtbl.

      APPEND itab_dtbl.

    ELSEIF ( ( /pws/zycbe017-dtbl EQ '' )           OR

             ( /pws/zycbe017-dtbl EQ '00000000' ) ) AND

           ( ( /pws/zycbe017a-dtbl NE '' )          AND

             ( /pws/zycbe017a-dtbl NE '00000000' ) ).

      itab_dtbl-sign = 'I'.

      itab_dtbl-option = 'BT'.

      itab_dtbl-low = /pws/zycbe017-dtbl.

      itab_dtbl-high = /pws/zycbe017a-dtbl.

      APPEND itab_dtbl.

    ELSEIF ( ( /pws/zycbe017-dtbl NE '' )           AND

             ( /pws/zycbe017-dtbl NE '00000000' ) ) AND

           ( ( /pws/zycbe017a-dtbl NE '' )          AND

             ( /pws/zycbe017a-dtbl NE '00000000' ) ).

      itab_dtbl-sign = 'I'.

      itab_dtbl-option = 'BT'.

      itab_dtbl-low = /pws/zycbe017-dtbl.

      itab_dtbl-high = /pws/zycbe017a-dtbl.

      APPEND itab_dtbl.

    ENDIF.

    IF NOT /pws/zycbe017-nrre IS INITIAL AND

           v_nrre_ate IS INITIAL.

      itab_nrre-sign = 'I'.

      itab_nrre-option = 'EQ'.

      itab_nrre-low = /pws/zycbe017-nrre.

      itab_nrre-high = v_nrre_ate.

      APPEND itab_nrre.

    ELSEIF /pws/zycbe017-nrre IS INITIAL AND

           NOT v_nrre_ate IS INITIAL.

      itab_nrre-sign = 'I'.

      itab_nrre-option = 'BT'.

      itab_nrre-low = /pws/zycbe017-nrre.

      itab_nrre-high = v_nrre_ate.

      APPEND itab_nrre.

    ELSEIF NOT /pws/zycbe017-nrre  IS INITIAL AND

           NOT v_nrre_ate IS INITIAL.

      itab_nrre-sign = 'I'.

      itab_nrre-option = 'BT'.

      itab_nrre-low = /pws/zycbe017-nrre.

      itab_nrre-high = v_nrre_ate.

      APPEND itab_nrre.

    ENDIF.

    IF NOT /pws/zycbe017-nrsd  IS INITIAL AND

           /pws/zycbe017a-nrsd IS INITIAL.

      itab_nrsd-sign = 'I'.

      itab_nrsd-option = 'EQ'.

      itab_nrsd-low = /pws/zycbe017-nrsd.

      itab_nrsd-high = /pws/zycbe017a-nrsd.

      APPEND itab_nrsd.

    ELSEIF /pws/zycbe017-nrsd  IS INITIAL AND

           NOT /pws/zycbe017a-nrsd IS INITIAL.

      itab_nrsd-sign = 'I'.

      itab_nrsd-option = 'BT'.

      itab_nrsd-low = /pws/zycbe017-nrsd.

      itab_nrsd-high = /pws/zycbe017a-nrsd.

      APPEND itab_nrsd.

    ELSEIF NOT /pws/zycbe017-nrsd  IS INITIAL AND

           NOT /pws/zycbe017a-nrsd IS INITIAL.

      itab_nrsd-sign = 'I'.

      itab_nrsd-option = 'BT'.

      itab_nrsd-low = /pws/zycbe017-nrsd.

      itab_nrsd-high = /pws/zycbe017a-nrsd.

      APPEND itab_nrsd.

    ENDIF.

    SELECT *

       INTO TABLE itab_zycbt017_aux

       FROM /pws/zycbt017

        WHERE nrinvoic IN itab_nrinvoic

          AND gsberf   IN itab_gsberf

          AND fkdat    IN itab_fkdat

          AND kunag    IN itab_kunag

          AND dtvencto IN itab_dtvencto

          AND dtbl     IN itab_dtbl

          AND inco1    IN itab_inco1

          AND nrre     IN itab_nrre

          AND nrsd     IN itab_nrsd

       AND status   EQ space.

    DESCRIBE TABLE itab_zycbt017_aux LINES v_nlin.

    LOOP AT itab_zycbt017_aux.

      itab_zycbt017_aux-v_fsaldo = 'X'.

      MODIFY itab_zycbt017_aux INDEX sy-tabix.

      itab_zycbt226_aux-bukrs = itab_zycbt017_aux-bukrs .

      itab_zycbt226_aux-nrinvoic = itab_zycbt017_aux-nrinvoic .

      itab_zycbt226_aux-gsberf = itab_zycbt017_aux-gsberf .

      itab_zycbt226_aux-kunag = itab_zycbt017_aux-kunag .

      itab_zycbt226_aux-nrparcf = itab_zycbt017_aux-nrparcf .

      itab_zycbt226_aux-vlavinc   = itab_zycbt017_aux-vlavinc.

      itab_zycbt226_aux-dtlancto = sy-datum.

      itab_zycbt226_aux-dtcredext = sy-datum.

      itab_zycbt226_aux-waers = itab_zycbt017_aux-waers.

      SELECT * FROM /pws/zycbt030

               UP TO 1 ROWS

           WHERE nrinvoic = itab_zycbt017_aux-nrinvoic AND

                 nrparcf  = itab_zycbt017_aux-nrparcf  AND

                 gsberf   = itab_zycbt017_aux-gsberf.

      ENDSELECT.

      IF sy-subrc = 0.

        IF /pws/zycbt030-vlsltrans > 0 .

          itab_zycbt226_aux-sld_transferir = /pws/zycbt030-vlsltrans.

          APPEND itab_zycbt226_aux.

        ELSE.

           continue.

        ENDIF.

      ENDIF.

    ENDLOOP.

    IF v_nlin IS INITIAL.

      MESSAGE w015 WITH text-m48.

    ELSE.

      v_select = 'X'.

      v_check  = 'X'.

      SET SCREEN '0100'.

      LEAVE TO SCREEN '0100'.

    ENDIF.

  ENDIF.

ENDMODULE.

module preenche_table_control input.

  DATA: wa_zycbt017 TYPE t_s_zycbt017,

        wa_kna1     TYPE t_s_kna1.

  LOOP AT itab_zycbt226 INTO wa_zycbt226.

    READ TABLE itab_zycbt017 WITH key

      nrinvoic = wa_zycbt226-nrinvoic

      nrparcf  = wa_zycbt226-nrparcf

      gsberf   = wa_zycbt226-gsberf

      INTO wa_zycbt017.

   if sy-subrc = 0.

       wa_zycbt226-nremb      = wa_zycbt017-nremb.

   endif.

  READ TABLE itab_kna1 WITH KEY kunnr = wa_zycbt226-kunag

    INTO wa_kna1.

  IF sy-subrc = 0.

    wa_zycbt226-descr_kunag = wa_kna1-name1.

  ENDIF.

  MODIFY itab_zycbt226 FROM wa_zycbt226 .

 endloop.

endmodule.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCB034O01

 

...

ENDMODULE.

MODULE preenche_tc_op OUTPUT.

  PERFORM: verifica_autorizacao USING 'BUKRS',

           preenche_tc_op.

  IF sy-tcode = c_transacao_a.

    PERFORM: bloqueia_op USING 'X'

                               tc_op-current_line.

  ENDIF.

ENDMODULE.

MODULE seleciona_dados OUTPUT.

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

    if v_check  = 'X'  and

       v_select = 'X'.

    itab_zycbt226[] = itab_zycbt226_aux[] .

    endif.

* << Fim da inclusão

  PERFORM: seleciona_op,

           seleciona_parametros,

           seleciona_dados,

           armazena_dados_antigos.

ENDMODULE.

MODULE html_help OUTPUT.

  IF my_container IS INITIAL.

    CREATE OBJECT my_container

        EXPORTING

            container_name = 'CC_HTML_HELP'

...

 

...

    CALL METHOD html_control->set_registered_events

        EXPORTING

            events = myevent_tab.

    CREATE OBJECT evt_receiver.

    SET HANDLER evt_receiver->on_sapevent

                FOR html_control.

    PERFORM load_home_page.

  ENDIF.

ENDMODULE.

MODULE exibe_msgs OUTPUT.

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

  DATA: p_oper(2)   TYPE c,

  wa_zycbt017 TYPE t_s_zycbt017.

* << Fim da exclusão

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

  DATA: p_oper(2)   TYPE c.

* << Fim da inclusão

  FIELD-SYMBOLS: <fs_zycbt226> TYPE t_s_zycbe226.

  IF sy-tcode EQ c_transacao_c.

    p_oper = '01'.

  ELSEIF sy-tcode EQ c_transacao_a.

    p_oper = '02'.

  ELSEIF sy-tcode EQ c_transacao_e.

    p_oper = '03'.

  ENDIF.

  loop at itab_zycbt226 assigning <fs_zycbt226>.

        READ TABLE itab_zycbt017 WITH KEY

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB034TOP

 

...

         /pws/zygli101,

         <icon>.

TYPE-POOLS: icon.

TABLES:

        /pws/zycbe226,

        /pws/zycbe238,

        /pws/zycbe239,

        /pws/zycbe240,

        /pws/zycbe242,

        /pws/zycbe017,

* >> Início da inclusão:

        /pws/zycbe017a,

        /pws/zycbt030,

        skb1,

* << Fim da inclusão

        /pws/zycbt089.

CONTROLS:

  ts_70        TYPE TABSTRIP,

  ts_principal TYPE TABSTRIP,

  tc_op        TYPE TABLEVIEW USING SCREEN '0110',

  tc_30        TYPE TABLEVIEW USING SCREEN '0120',

  tc_70        TYPE TABLEVIEW USING SCREEN '0131',

  tc_contrato  TYPE TABLEVIEW USING SCREEN '0132',

  tc_00        TYPE TABLEVIEW USING SCREEN '0150',

  tc_rendimentos TYPE TABLEVIEW USING SCREEN '0140',

...

 

...

  v_total_30             TYPE wrbtr,

  v_total_70             TYPE wrbtr,

  v_msg_previsto(74)     TYPE c,"#EC NEEDED

  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,

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

* >> Início da inclusão:

data:  v_adm(1)           type c.

* << Fim da inclusão

DATA:

   v_codaux   TYPE /pws/zygle316-codaux1,

   v_codaux1  TYPE /pws/zygle316-codaux1,

   v_codaux2  TYPE /pws/zygle316-codaux2.

* >> Início da inclusão:

data:   v_nrinvoic      VALUE space,

        v_gsberf        VALUE space,

        v_fkdat         VALUE space,

        v_kunag         VALUE space,

        v_dtvencto      VALUE space,

        v_dtbl          VALUE space,

        v_inco1         VALUE space,

        v_re            VALUE space,

        v_sd            VALUE space,

        v_nrre_ate      LIKE /pws/zycbe017-nrre,

        v_select        type c,

        v_check         type c,

        v_oper          LIKE icons-text,

        v_index         like sy-tabix.

DATA:  BEGIN OF itab_nrinvoic OCCURS 1,

         sign(1)   TYPE c,

         option(2) TYPE c,

         low       LIKE /pws/zycbe017-nrinvoic,

         high      LIKE /pws/zycbe017a-nrinvoic,

       END OF itab_nrinvoic.

DATA:  BEGIN OF itab_gsberf OCCURS 1,

         sign(1)   TYPE c,

         option(2) TYPE c,

         low       LIKE /pws/zycbe017-gsberf,

         high      LIKE /pws/zycbe017a-gsberf,

       END OF itab_gsberf.

DATA:  BEGIN OF itab_fkdat OCCURS 1,

         sign(1)   TYPE c,

         option(2) TYPE c,

         low       LIKE /pws/zycbe017-fkdat,

         high      LIKE /pws/zycbe017a-fkdat,

       END OF itab_fkdat.

DATA:  BEGIN OF itab_kunag OCCURS 1,

         sign(1)   TYPE c,

         option(2) TYPE c,

         low       LIKE /pws/zycbe017-kunag,

         high      LIKE /pws/zycbe017a-kunag,

       END OF itab_kunag.

DATA:  BEGIN OF itab_dtvencto OCCURS 1,

         sign(1)   TYPE c,

         option(2) TYPE c,

         low       LIKE /pws/zycbe017-dtvencto,

         high      LIKE /pws/zycbe017a-dtvencto,

       END OF itab_dtvencto.

DATA:  BEGIN OF itab_dtbl OCCURS 1,

         sign(1)   TYPE c,

         option(2) TYPE c,

         low       LIKE /pws/zycbe017-dtbl,

         high      LIKE /pws/zycbe017a-dtbl,

       END OF itab_dtbl.

DATA:  BEGIN OF itab_inco1 OCCURS 1,

         sign(1)   TYPE c,

         option(2) TYPE c,

         low       LIKE /pws/zycbe017-inco1,

         high      LIKE /pws/zycbe017a-inco1,

       END OF itab_inco1.

DATA:  BEGIN OF itab_nrre OCCURS 1,

         sign(1)   TYPE c,

         option(2) TYPE c,

         low       LIKE /pws/zycbe017-nrre,

         high      TYPE /pws/zycbe017-nrre,

       END OF itab_nrre.

DATA:  BEGIN OF itab_nrsd OCCURS 1,

         sign(1)   TYPE c,

         option(2) TYPE c,

         low       LIKE /pws/zycbe017-nrsd,

         high      LIKE /pws/zycbe017a-nrsd,

       END OF itab_nrsd.

DATA: BEGIN OF itab_zycbt017_aux OCCURS 0.

        INCLUDE STRUCTURE /pws/zycbt017.

DATA: v_fsaldo TYPE c,

END OF itab_zycbt017_aux.

DATA: BEGIN OF itab_zycbt226_aux OCCURS 0.

        INCLUDE STRUCTURE /pws/zycbe226.

DATA : mark(1)       TYPE c,

       operacao(1)   TYPE c,

       bloqueado(1)  TYPE c,

       acesso_emp(1) TYPE c,

       drilldown(1)  TYPE c.

DATA: END OF itab_zycbt226_aux .

* << Fim da inclusão

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

                  MATCHCODE OBJECT /pws/zycba275,

                s_gsber  FOR /pws/zycbe226-gsberf,

                s_nrparc FOR /pws/zycbe226-nrparcf,

                s_kunag  FOR /pws/zycbe017-kunag,

...

 

...

SELECTION-SCREEN BEGIN OF BLOCK b WITH FRAME TITLE text-021.

PARAMETERS: p_orig1 AS CHECKBOX,

            p_orig2 AS CHECKBOX.

SELECTION-SCREEN END OF BLOCK b.

SELECTION-SCREEN BEGIN OF BLOCK c WITH FRAME TITLE text-027.

PARAMETERS: p_moedag RADIOBUTTON GROUP w,

            p_moedam RADIOBUTTON GROUP w,

            p_moedab RADIOBUTTON GROUP w.

SELECTION-SCREEN END OF BLOCK c.

SELECTION-SCREEN END OF SCREEN 0001.

* >> Início da inclusão:

SELECTION-SCREEN BEGIN OF SCREEN 0301.

select-options: nrin FOR /pws/zycbe017-nrinvoic

                     MATCHCODE OBJECT /PWS/ZYCBA249 MODIF ID fat ,

        gsbe FOR /pws/zycbe017-gsberf    MODIF ID div,

        dtbl FOR /pws/zycbe017-dtbl     MODIF ID dbl,

        fkda FOR /pws/zycbe017-fkdat  MODIF ID dft,

        kuna FOR /pws/zycbe017-kunag    MODIF ID cli

                      MATCHCODE OBJECT debia,

        dtve FOR /pws/zycbe017-dtvencto  MODIF ID dv,

        inco FOR /pws/zycbe017-inco1    MODIF ID inc,

        nrre FOR /pws/zycbe017-nrre     MODIF ID nre,

        nrsd FOR /pws/zycbe017-nrsd     MODIF ID nrs.

SELECTION-SCREEN END OF SCREEN 0301.

* << Fim da inclusão

AT SELECTION-SCREEN OUTPUT.

* >> Início da inclusão:

  IF sy-dynnr = '0301'.

      PERFORM set_screen_0301.

  ELSE.

* << Fim da inclusão

  PERFORM: status_gui_0001,

           importa_selecao.

* >> Início da inclusão:

  endif.

* << Fim da inclusão

AT SELECTION-SCREEN.

* >> Início da inclusão:

   IF sy-dynnr = '0301'.

     PERFORM selecionar_zycbt017.

   ENDIF.

* << Fim da inclusão

  CHECK sy-dynnr EQ '0001'.

  DATA:

    v_ucomm type sy-ucomm.

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

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

  IF NOT v_ucomm IS INITIAL.

    sy-ucomm = v_ucomm.

  ENDIF.

  CASE sy-ucomm.

    WHEN 'CRET'.

* >> Início da inclusão:

      IF itab_zycbt226[] IS INITIAL.

* << Fim da inclusão

      CLEAR wa_controle.

      PERFORM: limpa_itabs,

               seleciona_op.

* >> Início da inclusão:

      endif.

* << Fim da inclusão

      IF NOT itab_zycbt226[] IS INITIAL.

        CALL SCREEN '0100'.

      ELSE.

        MESSAGE i222.

...

 

 

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

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

 

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: M46

 

Texto: (25 caracteres)

"Nenhum campo foi marcado."

 

Comprimento máximo: 25

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: M47

 

Texto: (39 caracteres)

"Dados não encontrados para essa seleção"

 

Comprimento máximo: 47

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: M48

 

Texto: (31 caracteres)

"Nenhuma fatura foi selecionada."

 

Comprimento máximo: 31

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: M49

 

Texto: (7 caracteres)

"Informe"

 

Comprimento máximo: 7

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: M50

 

Texto: (23 caracteres)

"o Valor Ret.no Exterior"

 

Comprimento máximo: 23

 

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

Incluído texto de seleção:

 

Idioma: PT

 

Variável (SELECT-OPTION / PARAMETER): DTBL

 

Texto: (24 caracteres)

"Data do Embarque"

 

Referência ao Dictionary: NÃO

 

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

Incluído texto de seleção:

 

Idioma: PT

 

Variável (SELECT-OPTION / PARAMETER): DTVE

 

Texto: (26 caracteres)

"Data de Vencimento"

 

Referência ao Dictionary: NÃO

 

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

Incluído texto de seleção:

 

Idioma: PT

 

Variável (SELECT-OPTION / PARAMETER): FKDA

 

Texto: (27 caracteres)

"Data de Faturamento"

 

Referência ao Dictionary: NÃO

 

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

Incluído texto de seleção:

 

Idioma: PT

 

Variável (SELECT-OPTION / PARAMETER): GSBE

 

Texto: (25 caracteres)

"Divisão da Fatura"

 

Referência ao Dictionary: NÃO

 

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

Incluído texto de seleção:

 

Idioma: PT

 

Variável (SELECT-OPTION / PARAMETER): INCO

 

Texto: (17 caracteres)

"Incoterms"

 

Referência ao Dictionary: NÃO

 

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

Incluído texto de seleção:

 

Idioma: PT

 

Variável (SELECT-OPTION / PARAMETER): KUNA

 

Texto: (15 caracteres)

"Cliente"

 

Referência ao Dictionary: NÃO

 

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

Incluído texto de seleção:

 

Idioma: PT

 

Variável (SELECT-OPTION / PARAMETER): NRIN

 

Texto: (17 caracteres)

"Nº Fatura"

 

Referência ao Dictionary: NÃO

 

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

Incluído texto de seleção:

 

Idioma: PT

 

Variável (SELECT-OPTION / PARAMETER): NRRE

 

Texto: (10 caracteres)

"RE"

 

Referência ao Dictionary: NÃO

 

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

Incluído texto de seleção:

 

Idioma: PT

 

Variável (SELECT-OPTION / PARAMETER): NRSD

 

Texto: (10 caracteres)

"SD"

 

Referência ao Dictionary: NÃO