CE PLUS - Nota 012182

Módulo: CÂMBIO EXPORTAÇÃO

Funcionalidade: Liquidação de Fatura

Data/Hora da Publicação: 15/05/2012 10:00:03

Data/Hora Última Alteração: 15/05/2012 10:00:03

Descrição da Nota: LIQUIDAÇÃO ANDAMENTO - VME - DESC. RECEBÍVEIS - VINCULAÇÃO - LIQUIDAÇÃO

Sintoma

- Inclusão da seleção DE/ATÉ para a Fatura, Parcela e Divisão nos programas de Vinculação e

Liquidação

- Inclusão do Número da Parcela na tela de seleção de faturas nos programas de Liq. Andamento, VME,

Desc. Recebíveis, SML, Vinculação e Liquidação

 

 

Solução

- Inclusão da seleção DE/ATÉ para a Fatura, Parcela e Divisão nos programas de Vinculação e

Liquidação

- Inclusão do Número da Parcela na tela de seleção de faturas nos programas de Liq. Andamento, VME,

Desc. Recebíveis, SML, Vinculação e Liquidação

 

Versões Tratadas

8.0


Pré-Requisitos

Produto:

Nota

Descrição

FATURA/VINCULAÇÃO/LIQUIDAÇÃO - COMMODITIES

VINCULAÇÃO/LIQUIDAÇÃO ARBITRAGEM-MOEDA SEM CASAS DECIMAIS, CENTAVOS

LIQUIDAÇÃO EM ANDAMENTO - NÃO APARECE O CAMPO CHAVE DE REFERENCIA

VINCULAÇÃO DE FATURAS EXPORTAÇÃO

VINCULAÇÃO DE CONTRATOS DE CAPTAÇÃO DE DP, ORDEM DE VENDA

LIQUIDAÇÃO - DATA PAGAMENTO NO EXTERIOR

PARÂMETROS DE TAXA E TIPO DE DOCUMENTO

VINCULAÇÃO - LIQUIDAÇÃO

DA - SISTEMA DE PAGAMENTOS EM MOEDA LOCAL E ASSOCIAÇÃO(SML)

CAPTAÇÃO - HISTÓRICO CONTÁBIL QUANDO LIQUIDA FATURA COM MAIS PARCELAS

SML-SISTEMA DE MOEDA LOCAL-CONSIDERAR SÓ BRL-VME-ATUALIZAÇÃO ZYCBT030

VALORES MANTIDOS NO EXTERIOR - VME - SML - TRILHA AUDITORIA

LIQUIDAÇÃO EM ANDAMENTO CRIAR - BOTÕES VINCULAR TOTAL SELECIONAR FATURAS

CONTRATOS DE NCE

DESCONTO DE RECEBÍVEIS - TRILHA AUDITORIA

VINCULAÇÃO - TRILHA AUDITORIA

VALORES MANTIDOS NO EXTERIOR , SISTEMA DE MOEDA LOCAL -AJUDA DE PESQUISA

LIQUIDAÇÃO EM ANDAMENTO - TRILHA AUDITORIA

DA-LIQUIDAÇÃO E VINCULAÇÃO LIQ. AUTOMÁT - NORMAL/ARBITRAGEM/PERFORMANCE

VME VALORES MANTIDOS NO EXTERIOR CONTABILIZAÇÃO COMISSÃO CG SALDO FATURA

VINCULAÇÃO - ESTORNO DE FATURAS E CONTRATO DE CAPTAÇÃO PERIODO FECHADO

DESCONTO DE RECEBÍVEIS, CRIAR BOTÃO PARA SELECIONAR FATURAS

VALORES MANTIDOS NO EXTERIOR E LIQUIDAÇÃO - COMISSÃO DE AGENTE

LIQUIDAÇÃO EXPORTAÇÃO, TRILHA DE AUDITORIA

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

Informações Complementares

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

Nota Número 12182 Data: 11/05/2012 Hora: 10:22:48

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

 

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

Nota Número              : 12182

Categoria                : Melhoria

Prioridade               : Baixa

Versão PW.CE             : 8.0

Pacote                   : 00011

Agrupamento              : 00113

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

Referência às notas relacionadas:

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

 

03776  - 00001 - 7.0    - 00001  - LIQUIDAÇÃO - DATA PAGAMENTO NO EXTERIOR

04958  - 00002 - 7.0    - 00003  - FATURA/VINCULAÇÃO/LIQUIDAÇÃO - COMMODITIES

07107  - 00003 - 7.0    - 00006  - LIQUIDAÇÃO EM ANDAMENTO CRIAR - BOTÕES VINCULAR TOTAL SELECIONAR

07117  - 00004 - 7.0    - 00006  - BOTÕES "VINCULAR TOTAL" E "SELECIONAR FATURAS" - VME

07635  - 00005 - 7.0    - 00007  - LIQUIDAÇÃO EM ANDAMENTO - NÃO APARECE O CAMPO CHAVE DE REFERENCIA

07760  - 00006 - 7.0    - 00007  - DA-LIQUIDAÇÃO E VINCULAÇÃO LIQ. AUTOMÁT - NORMAL/ARBITRAGEM/PERFO

07931  - 00007 - 7.0    - 00008  - DA - SISTEMA DE PAGAMENTOS EM MOEDA LOCAL E ASSOCIAÇÃO(SML)

08239  - 00008 - 7.0    - 00009  - VALORES MANTIDOS NO EXTERIOR  E LIQUIDAÇÃO - COMISSÃO DE AGENTE

08733  - 00009 - 7.0    - 00010  - SML-SISTEMA DE MOEDA LOCAL-CONSIDERAR SÓ BRL-VME-ATUALIZAÇÃO ZYCB

08831  - 00010 - 7.0    - 00010  - VINCULAÇÃO DE FATURAS EXPORTAÇÃO

09369  - 00011 - 8.0    - 00001  - VALORES MANTIDOS NO EXTERIOR , SISTEMA DE MOEDA LOCAL -AJUDA DE P

10522  - 00012 - 8.0    - 00004  - VINCULAÇÃO DE CONTRATOS DE CAPTAÇÃO DE DP, ORDEM DE VENDA

10850  - 00013 - 8.0    - 00006  - VME VALORES MANTIDOS NO EXTERIOR CONTABILIZAÇÃO COMISSÃO CG SALDO

10889  - 00014 - 8.0    - 00006  - VINCULAÇÃO/LIQUIDAÇÃO ARBITRAGEM-MOEDA SEM CASAS DECIMAIS, CENTAV

11204  - 00015 - 8.0    - 00007  - VINCULAÇÃO - ESTORNO DE FATURAS E CONTRATO DE CAPTAÇÃO PERIODO FE

11339  - 00016 - 8.0    - 00008  - DESCONTO DE RECEBÍVEIS, CRIAR BOTÃO PARA SELECIONAR FATURAS

11413  - 00017 - 8.0    - 00008  - CONTRATOS DE NCE

11650  - 00018 - 8.0    - 00009  - VINCULAÇÃO - TRILHA AUDITORIA

11653  - 00019 - 8.0    - 00009  - DESCONTO DE RECEBÍVEIS - TRILHA AUDITORIA

11656  - 00020 - 8.0    - 00009  - LIQUIDAÇÃO EM ANDAMENTO - TRILHA AUDITORIA

11665  - 00021 - 8.0    - 00009  - VALORES MANTIDOS NO EXTERIOR - VME - SML - TRILHA AUDITORIA

11702  - 00022 - 8.0    - 00009  - LIQUIDAÇÃO EXPORTAÇÃO, TRILHA DE AUDITORIA

11752  - 00023 - 8.0    - 00009  - CAPTAÇÃO - HISTÓRICO CONTÁBIL QUANDO LIQUIDA FATURA COM MAIS PARC

11979  - 00024 - 8.0    - 00010  - VINCULAÇÃO - LIQUIDAÇÃO

12108  - 00025 - 8.0    - 00011  - PARÂMETROS DE TAXA E TIPO DE DOCUMENTO

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

LIQUIDAÇÃO ANDAMENTO - VME - DESC. RECEBÍVEIS - VINCULAÇÃO - LIQUIDAÇÃO

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

Palavras Chave:

LIQUIDAÇÃO ANDAMENTO - VME - DESC. RECEBÍVEIS - VINCULAÇÃO - LIQUIDAÇÃO

SELEÇÃO DE FATURAS

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

Objetos da nota:

DYNP /PWS/SAPMZYCB004                        0001

DYNP /PWS/SAPMZYCB004                        0002

DYNP /PWS/SAPMZYCB004                        0003

DYNP /PWS/SAPMZYCB009                        0003

DYNP /PWS/SAPMZYCB009                        0200

DYNP /PWS/SAPMZYCB031                        0200

DYNP /PWS/SAPMZYCB033                        0200

DYNP /PWS/SAPMZYCB034                        0201

FUNC /PWS/ZYCB_LIQUIDACAO_AUTOMATIC

REPS /PWS/MZYCB004F01

REPS /PWS/MZYCB004F03

REPS /PWS/MZYCB004I01

REPS /PWS/MZYCB004TOP

REPS /PWS/MZYCB009F05

REPS /PWS/MZYCB009F10

REPS /PWS/MZYCB009I01

REPS /PWS/MZYCB009O01

REPS /PWS/MZYCB009TOP

REPS /PWS/MZYCB009X01

REPS /PWS/MZYCB031F01

REPS /PWS/MZYCB031I01

REPS /PWS/MZYCB031TOP

REPS /PWS/MZYCB033F01

REPS /PWS/MZYCB033I01

REPS /PWS/MZYCB033O01

REPS /PWS/MZYCB033TOP

REPS /PWS/MZYCB034F01

REPS /PWS/MZYCB034I01

REPS /PWS/MZYCB034TOP

REPT /PWS/SAPMZYCB004

REPT /PWS/SAPMZYCB009

REPT /PWS/SAPMZYCB031

REPT /PWS/SAPMZYCB033

REPT /PWS/SAPMZYCB034

 

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

Modificações efetuadas em DYNP /PWS/SAPMZYCB004                        0001

 

Solicitar o download da tela junto a equipe de produto do pw.CE - Telefone (11) 5504.0170

 

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

Modificações efetuadas em DYNP /PWS/SAPMZYCB004                        0002

 

Solicitar o download da tela junto a equipe de produto do pw.CE - Telefone (11) 5504.0170

 

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

Modificações efetuadas em DYNP /PWS/SAPMZYCB004                        0003

 

Solicitar o download da tela junto a equipe de produto do pw.CE - Telefone (11) 5504.0170

 

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

Modificações efetuadas em DYNP /PWS/SAPMZYCB009                        0003

 

Excluir a tela 0003 do programa /PWS/SAPMZYCB009

 

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

Modificações efetuadas em DYNP /PWS/SAPMZYCB009                        0200

 

Solicitar o download da tela junto a equipe de produto do pw.CE - Telefone (11) 5504.0170

 

 

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

Modificações efetuadas em DYNP /PWS/SAPMZYCB033                        0200

 

Solicitar o download da tela junto a equipe de produto do pw.CE - Telefone (11) 5504.0170

 

 

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

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

 

Solicitar o download da tela junto a equipe de produto do pw.CE - Telefone (11) 5504.0170

 

 

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

Modificações efetuadas em FUNC /PWS/ZYCB_LIQUIDACAO_AUTOMATIC

 

...

    PERFORM bdc_field  USING: 'BDC_OKCODE'              '=SAVE',

                              '/PWS/ZYCBE006-DTPAGEXT'  v_dtpagext_char,

                              'V_DTPAGTO'               v_dtpagto_char.

  ELSE.

    PERFORM bdc_screen USING: '/PWS/SAPMZYCB004' '0002'.

    PERFORM bdc_field  USING: 'BDC_OKCODE'      '=ENTE',

                              'V_NRSEQC'        v_nrseqc,

                              'V_DTVINCUL'      v_dtvincul_char,

                              'V_DTPAGTO'       v_dtpagto_char,

                              'V_DTPAGEXT'      v_dtpagext_char,

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

                              'V_NRINVOIC'      v_nrinvoic,

                              'V_NRPARCF'       v_nrparcf,

                              'V_GSBERF'        v_gsberf.

* << Fim da exclusão

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

                              'R_INVOIC-LOW'    v_nrinvoic,

                              'R_NRPARC-LOW'    v_nrparcf,

                              'R_GSBERF-LOW'    v_gsberf.

* << Fim da inclusão

    PERFORM bdc_screen USING: '/PWS/SAPMZYCB004'        '0100'.

    PERFORM bdc_field  USING: 'BDC_OKCODE'              '=DELE',

                              'ITAB_ZYCBT005-MARK(01)'  'X'.

    PERFORM bdc_screen USING: '/PWS/SAPMZYCB004'        '0100'.

    PERFORM bdc_field  USING: 'BDC_OKCODE'              '=SAVE'.

  ENDIF.

  v_update = 'S'.

  IF v_modo IS INITIAL.

    v_mode = 'N'.

  ELSE.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB004F01

 

...

                  where bukrs = /pws/zycbe001-bukrs.

  select single * from /pws/zyglt009 into /pws/zyglt009

                  where bukrs = /pws/zycbe001-bukrs.

  select * from tcurx

           into table itab_tcurx.

  select * from /pws/zycbt006

           into table itab_zycbt006_pagos

           where nrseqc = v_nrseqc.                     "#EC CI_NOFIRST

  if v_trans is initial.

    if v_dtvencto is initial and

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

       v_nrinvoic is initial.

* << Fim da exclusão

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

       r_invoic[] is initial.

* << Fim da inclusão

      select *

        from /pws/zycbt005

        into table itab_zycbt005

       where nrseqc   eq v_nrseqc

         and tpdesp   eq ' '

         and dtvincul eq v_dtvincul

         and slpagar gt 0.

    else.

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

      if v_nrinvoic is initial.

* << Fim da exclusão

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

      if r_invoic[] is initial.

* << Fim da inclusão

        select *

          from /pws/zycbt005

          into table itab_zycbt005

         where nrseqc   eq v_nrseqc

           and tpdesp   eq ' '

           and dtvincul eq v_dtvincul

           and slpagar gt 0

           and dtvencto <= v_dtvencto.

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

      elseif not v_nrinvoic is initial and

* << Fim da exclusão

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

      elseif not r_invoic[] is initial and

* << Fim da inclusão

                 v_dtvencto is initial.

        select *

          from /pws/zycbt005

          into table itab_zycbt005

         where nrseqc   eq v_nrseqc

           and tpdesp   eq ' '

           and dtvincul eq v_dtvincul

           and slpagar gt 0

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

           and nrinvoic = v_nrinvoic.

           if not v_nrparcf is initial.

              delete itab_zycbt005 where nrparcf ne v_nrparcf.

* << Fim da exclusão

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

           and nrinvoic in r_invoic.

           if not r_nrparc[] is initial.

              delete itab_zycbt005

                where not nrparcf in r_nrparc.

* << Fim da inclusão

           endif.

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

           if not v_gsberf is initial.

              delete itab_zycbt005 where gsberf  ne v_gsberf.

* << Fim da exclusão

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

           if not r_gsberf is initial.

              delete itab_zycbt005

                where not gsberf  in r_gsberf.

* << Fim da inclusão

           endif.

      else.

        select *

          from /pws/zycbt005

          into table itab_zycbt005

         where nrseqc   eq v_nrseqc

           and tpdesp   eq ' '

           and dtvincul eq v_dtvincul

           and slpagar gt 0

           and dtvencto <= v_dtvencto

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

           and nrinvoic = v_nrinvoic.

           if not v_nrparcf is initial.

              delete itab_zycbt005 where nrparcf ne v_nrparcf.

* << Fim da exclusão

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

           and nrinvoic in r_invoic.

           if not r_nrparc[] is initial.

              delete itab_zycbt005

                where not nrparcf in r_nrparc.

* << Fim da inclusão

           endif.

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

           if not v_gsberf is initial.

              delete itab_zycbt005 where gsberf  ne v_gsberf.

* << Fim da exclusão

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

           if not r_gsberf is initial.

              delete itab_zycbt005

                where not gsberf  in r_gsberf.

* << Fim da inclusão

           endif.

      endif.

    endif.

    if not itab_zycbt005[] is initial.

      select nrinvoic nrparcf gsberf pendcomm

        from /pws/zycbt030 into table itab_pendcomm

        for all entries in itab_zycbt005

        where nrinvoic = itab_zycbt005-nrinvoic

          and nrparcf  = itab_zycbt005-nrparcf

          and gsberf   = itab_zycbt005-gsberf.

...

 

...

       and b~dtincl   = a~dtincl

       and b~nrinvoic = a~nrinvoic

       and b~nrparcf  = a~nrparcf

       and b~gsberf   = a~gsberf

       and b~dtvincul = a~dtvincul

       and b~dtvencto = a~dtvencto

      where a~nrseqc   eq v_nrseqc

        and a~dtvincul eq v_dtvincul

        and a~dtpagext eq v_dtpagext

        and a~dtpagto  eq v_dtpagto.

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

    if not v_vinculacao is initial.

      delete itab_zycbt005 where nrinvoic ne v_nrinvoic

                              or nrparcf  ne v_nrparcf

                              or gsberf   ne v_gsberf.

    endif.

    perform monta_range_t005.

* << Fim da exclusão

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

      delete itab_zycbt005

        where not nrinvoic in r_invoic

           or not nrparcf  in r_nrparc

           or not gsberf   in r_gsberf.

* << Fim da inclusão

    loop at itab_zycbt005.

      move itab_zycbt005-txjtotal to itab_zycbt005-txjtotal2.

      if itab_zycbt005-waers ne /pws/zycbt001-waers.

        itab_zycbt005-v_armda = 'X'.

      endif.

      select single bukrs from /pws/zycbt017 into v_bukrs_fat

        where nrinvoic = itab_zycbt005-nrinvoic

          and nrparcf  = itab_zycbt005-nrparcf

          and gsberf   = itab_zycbt005-gsberf.

      if sy-subrc eq 0.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB004F03

 

...

      endloop.

    endif.

  else.

    loop at itab_zycbt034.

      itab_erro-vbeln = itab_zycbt006-belnr_d.

      itab_erro-msg   = itab_zycbt034-descricao.

      append itab_erro.

    endloop.

  endif.

endform.

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

FORM monta_range_t005.

 

  CLEAR: r_invoic, r_nrparc, r_gsberf.

  REFRESH: r_invoic, r_nrparc, r_gsberf.

 

  IF NOT v_nrinvoic IS INITIAL OR

     NOT v_nrinv_to IS INITIAL.

 

    r_invoic-sign = 'I'.

 

    IF NOT v_nrinvoic IS INITIAL.

      r_invoic-low = v_nrinvoic.

    ENDIF.

 

    IF NOT v_nrinv_to IS INITIAL.

      r_invoic-option = 'BT'.

      r_invoic-high = v_nrinv_to.

    ELSE.

      r_invoic-option = 'EQ'.

    ENDIF.

    APPEND r_invoic.

  ENDIF.

 

  IF NOT v_nrparcf   IS INITIAL OR

     NOT v_nrparc_to IS INITIAL.

 

    r_nrparc-sign = 'I'.

 

    IF NOT v_nrparcf IS INITIAL.

      r_nrparc-low = v_nrparcf.

    ENDIF.

 

    IF NOT v_nrparc_to IS INITIAL.

      r_nrparc-option = 'BT'.

      r_nrparc-high = v_nrparc_to.

    ELSE.

      r_nrparc-option = 'EQ'.

    ENDIF.

    APPEND r_nrparc.

  ENDIF.

 

  IF NOT v_gsberf    IS INITIAL OR

     NOT v_gsberf_to IS INITIAL.

 

    r_gsberf-sign = 'I'.

 

    IF NOT v_gsberf IS INITIAL.

      r_gsberf-low = v_gsberf.

    ENDIF.

 

    IF NOT v_gsberf_to IS INITIAL.

      r_gsberf-option = 'BT'.

      r_gsberf-high = v_gsberf_to.

    ELSE.

      r_gsberf-option = 'EQ'.

    ENDIF.

    APPEND r_gsberf.

  ENDIF.

 

  DELETE itab_zycbt005 WHERE NOT nrinvoic IN r_invoic.

  DELETE itab_zycbt005 WHERE NOT nrparcf  IN r_nrparc.

  DELETE itab_zycbt005 WHERE NOT gsberf   IN r_gsberf.

ENDFORM.                    " monta_range_t005

* << Fim da exclusão

 

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

form matchcode_inv.

 

  data: v_field(30)     type c,

        v_fieldname(30) type c,

        v_tela          type d020s-dnum,

        v_searchhelp    type shlpname,

        l_display(1)    type c,

        v_line          type i.

 

  data: tdynpread    like dynpread occurs 0 with header line.

 

  data: begin of itab_result occurs 0.

          include structure ddshretval.

  data: end of itab_result.

 

  field-symbols: <fs_field> type any.

 

  if sy-tcode = c_transacao_c.

    v_tela = '0001'.

  elseif sy-tcode = c_transacao_a or

         sy-tcode = c_transacao_e.

    v_tela = '0002'.

  endif.

 

  if v_nrseqc is initial.

    clear tdynpread.

    refresh tdynpread.

 

    tdynpread-fieldname = 'V_NRSEQC'.

    append tdynpread.

 

    call function 'DYNP_VALUES_READ'

         exporting

              dyname     = '/PWS/SAPMZYCB004'

              dynumb     = v_tela

         tables

              dynpfields = tdynpread.

 

 

    v_nrseqc = tdynpread-fieldvalue.

  endif.

 

  if v_dtvincul is initial or

     v_dtvincul eq ' 0000000'.

    clear tdynpread.

    refresh tdynpread.

 

    tdynpread-fieldname = 'V_DTVINCUL'.

    append tdynpread.

 

    call function 'DYNP_VALUES_READ'

         exporting

              dyname     = '/PWS/SAPMZYCB004'

              dynumb     = v_tela

         tables

              dynpfields = tdynpread.

 

    replace '.' with space into tdynpread-fieldvalue.

    replace '.' with space into tdynpread-fieldvalue.

    replace '/' with space into tdynpread-fieldvalue.

    replace '/' with space into tdynpread-fieldvalue.

    condense tdynpread-fieldvalue no-gaps.

 

    v_dtvincul(4) = tdynpread-fieldvalue+4(4).

    v_dtvincul+4(2) = tdynpread-fieldvalue+2(2).

    v_dtvincul+6(2) = tdynpread-fieldvalue(2).

  endif.

 

  if ( sy-tcode eq c_transacao_a or

       sy-tcode eq c_transacao_e ) and

     ( v_dtpagto is initial or

       v_dtpagto eq ' 0000000' ).

    clear tdynpread.

    refresh tdynpread.

 

    tdynpread-fieldname = 'V_DTPAGTO'.

    append tdynpread.

 

    call function 'DYNP_VALUES_READ'

         exporting

              dyname     = '/PWS/SAPMZYCB004'

              dynumb     = v_tela

         tables

              dynpfields = tdynpread.

 

    replace '.' with space into tdynpread-fieldvalue.

    replace '.' with space into tdynpread-fieldvalue.

    replace '/' with space into tdynpread-fieldvalue.

    replace '/' with space into tdynpread-fieldvalue.

    condense tdynpread-fieldvalue no-gaps.

 

    v_dtpagto(4) = tdynpread-fieldvalue+4(4).

    v_dtpagto+4(2) = tdynpread-fieldvalue+2(2).

    v_dtpagto+6(2) = tdynpread-fieldvalue(2).

  endif.

 

  if ( sy-tcode eq c_transacao_a or

       sy-tcode eq c_transacao_e ) and

     ( v_dtpagext is initial or

       v_dtpagext eq ' 0000000' ).

    clear tdynpread.

    refresh tdynpread.

 

    tdynpread-fieldname = 'V_DTPAGEXT'.

    append tdynpread.

 

    call function 'DYNP_VALUES_READ'

         exporting

              dyname     = '/PWS/SAPMZYCB004'

              dynumb     = v_tela

         tables

              dynpfields = tdynpread.

 

    replace '.' with space into tdynpread-fieldvalue.

    replace '.' with space into tdynpread-fieldvalue.

    replace '/' with space into tdynpread-fieldvalue.

    replace '/' with space into tdynpread-fieldvalue.

    condense tdynpread-fieldvalue no-gaps.

 

    v_dtpagext(4) = tdynpread-fieldvalue+4(4).

    v_dtpagext+4(2) = tdynpread-fieldvalue+2(2).

    v_dtpagext+6(2) = tdynpread-fieldvalue(2).

  endif.

 

  set parameter id '/PWS/ZYCBP019' field v_nrseqc.

  set parameter id '/PWS/ZYGLP159' field v_dtvincul.

  set parameter id '/PWS/ZYGLT160' field v_dtpagto.

  set parameter id '/PWS/ZYGLT161' field v_dtpagext.

 

  get cursor field v_field.

 

  if sy-tcode eq c_transacao_c.

    if v_field(8) = 'R_INVOIC'.

      v_fieldname = 'NRINVOIC'.

      v_searchhelp = '/PWS/ZYCBA299'.

    elseif v_field(8) = 'R_NRPARC'.

      v_fieldname = 'NRPARCF'.

      v_searchhelp = '/PWS/ZYCBA300'.

    elseif v_field(8) = 'R_GSBERF'.

      v_fieldname = 'GSBERF'.

      v_searchhelp = '/PWS/ZYCBA301'.

    elseif v_field(6) = 'RSCSEL'.  "Ajuda Acionada através do

      "SAP Standard (seta do selec-options)

      call function 'DYNP_GET_STEPL'  "Captura a linha selecionada

           importing

                povstepl = v_line.

      if v_ucomm(4) = '%001'.      "Número da Linha onde se encontra

        "a seta do select-option

        v_fieldname = 'NRINVOIC'.

        v_searchhelp = '/PWS/ZYCBA299'.

      elseif v_ucomm(4) = '%003'.  "Número da Linha onde se encontra

        "a seta do select-option

        v_fieldname = 'NRPARCF'.

        v_searchhelp = '/PWS/ZYCBA300'.

      elseif v_ucomm(4) = '%005'.  "Número da Linha onde se encontra

        "a seta do select-option

        v_fieldname = 'GSBERF'.

        v_searchhelp = '/PWS/ZYCBA301'.

      endif.

    endif.

  elseif sy-tcode eq c_transacao_a or

         sy-tcode eq c_transacao_e.

    if v_field(8) = 'R_INVOIC'.

      v_fieldname = 'NRINVOIC'.

      v_searchhelp = '/PWS/ZYCBA302'.

    elseif v_field(8) = 'R_NRPARC'.

      v_fieldname = 'NRPARCF'.

      v_searchhelp = '/PWS/ZYCBA303'.

    elseif v_field(8) = 'R_GSBERF'.

      v_fieldname = 'GSBERF'.

      v_searchhelp = '/PWS/ZYCBA304'.

    elseif v_field(6) = 'RSCSEL'.  "Ajuda Acionada através do

      "SAP Standard (seta do selec-options)

      call function 'DYNP_GET_STEPL'  "Captura a linha selecionada

           importing

                povstepl = v_line.

      if v_ucomm(4) = '%001'.      "Número da Linha onde se encontra

        "a seta do select-option

        v_fieldname = 'NRINVOIC'.

        v_searchhelp = '/PWS/ZYCBA302'.

      elseif v_ucomm(4) = '%003'.  "Número da Linha onde se encontra

        "a seta do select-option

        v_fieldname = 'NRPARCF'.

        v_searchhelp = '/PWS/ZYCBA303'.

      elseif v_ucomm(4) = '%005'.  "Número da Linha onde se encontra

        "a seta do select-option

        v_fieldname = 'GSBERF'.

        v_searchhelp = '/PWS/ZYCBA304'.

      endif.

    endif.

  endif.

 

  call function 'F4IF_FIELD_VALUE_REQUEST'

       exporting

            tabname    = '/PWS/ZYCBT006'

            fieldname  = v_field

            searchhelp = v_searchhelp

            display    = l_display

       tables

            return_tab = itab_result

       exceptions

            others     = 5.

 

  check sy-subrc eq 0 .

 

  read table itab_result index 1.

 

  assign (v_field) to <fs_field>.

  if <fs_field> is assigned.

    <fs_field> = itab_result-fieldval.

    unassign <fs_field>.

  else.

    clear tdynpread.

    refresh tdynpread.

 

    tdynpread-fieldname  = v_field.

    tdynpread-fieldvalue = itab_result-fieldval.

    tdynpread-stepl      = v_line.

    append tdynpread.

 

    call function 'DYNP_VALUES_UPDATE'

         exporting

              dyname     = 'SAPLALDB'

              dynumb     = sy-dynnr

         tables

              dynpfields = tdynpread

         exceptions

              others     = 0.

  endif.

 

endform.                    " matchcode_inv

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCB004I01

 

...

endmodule.                             " USER_COMMAND_0100  INPUT

module user_command_exit input.

...

      if sy-tcode = c_transacao_c.

        clear: v_trans.

      elseif sy-tcode = c_transacao_a or

             sy-tcode = '/PWS/ZYCB004_CAP'.

        v_trans = '2'.

      else.

        v_trans = '3'.

      endif.

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

      clear: v_nrseqc, v_dtvincul, v_dtpagto, v_dtpagext,

             v_dtvencto, r_invoic, r_nrparc  , r_gsberf.

      refresh: r_invoic, r_nrparc  , r_gsberf.

* >> Fim da inclusão

      " Verifica qual tela chamou a tela '100'

      if v_trans is initial.

        clear itab_zycbt005.

        refresh itab_zycbt005.

        free itab_zycbt005.

        leave to screen '0001'.

      elseif v_trans eq '2'.

        perform unlock_record.      "Desbloqueia registros

        leave to screen '0002'.

      else.

        clear itab_zycbt005.

        refresh itab_zycbt005.

        free itab_zycbt005.

        leave to screen '0003'.

      endif.

...

 

...

ENDMODULE.

MODULE altera_itab_zycbt005 INPUT.

  PERFORM altera_itab_zycbt005.

ENDMODULE.

MODULE data_vinc INPUT.

  v_nrinvoic = /pws/zycbe005-nrinvoic.

  v_nrparcf  = /pws/zycbe005-nrparcf.

  v_gsberf   = /pws/zycbe005-gsberf  .

  v_dtvincul = /pws/zycbe005-dtvincul.

  v_dtvencto = /pws/zycbe005-dtvencto.

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

  clear: r_invoic, r_nrparc, r_gsberf.

  if not v_nrinvoic is initial.

    move: 'I'        to r_invoic-sign,

          'EQ'       to r_invoic-option,

          v_nrinvoic to r_invoic-low.

    append r_invoic.

  endif.

  if not v_nrparcf is initial.

    move: 'I'       to r_nrparc-sign,

          'EQ'      to r_nrparc-option,

          v_nrparcf to r_nrparc-low.

    append r_nrparc.

  endif.

  if not v_gsberf is initial.

    move: 'I'       to r_gsberf-sign,

          'EQ'      to r_gsberf-option,

          v_gsberf  to r_gsberf-low.

    append r_gsberf.

  endif.

* << Fim da inclusão

  SET SCREEN 0.

  LEAVE SCREEN.

ENDMODULE.

MODULE user_command_0010 INPUT.

  CASE ok_code.

    WHEN 'CRIAR'.

      EXPORT v_nrseqc TO MEMORY ID '001'.

      CALL TRANSACTION c_transacao_c.

      LEAVE PROGRAM.

  ENDCASE.

...

 

...

      CALL TRANSACTION c_transacao_c.

      LEAVE PROGRAM.

  ENDCASE.

ENDMODULE.

MODULE data_pagto INPUT.

  v_nrinvoic = /pws/zycbt006-nrinvoic.

  v_nrparcf  = /pws/zycbt006-nrparcf.

  v_dtvincul = /pws/zycbt006-dtvincul.

  v_dtpagto  = /pws/zycbt006-dtpagto.

  v_dtpagext = /pws/zycbt006-dtpagext.

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

  clear: r_invoic, r_nrparc, r_gsberf.

  if not v_nrinvoic is initial.

    move: 'I'        to r_invoic-sign,

          'EQ'       to r_invoic-option,

          v_nrinvoic to r_invoic-low.

    append r_invoic.

  endif.

  if not v_nrparcf is initial.

    move: 'I'       to r_nrparc-sign,

          'EQ'      to r_nrparc-option,

          v_nrparcf to r_nrparc-low.

    append r_nrparc.

  endif.

* << Fim da inclusão

  CLEAR /pws/zycbt006.

  SET SCREEN 0.

  LEAVE SCREEN.

ENDMODULE.

MODULE seleciona_dados INPUT.

  SELECT * FROM /pws/zycbt002

           INTO TABLE itab_zycbt002j

           WHERE nrseqc = /pws/zycbe005-nrseqc

           AND tpparc = 'J'.

  SELECT * FROM /pws/zycbt009

...

 

...

      ENDIF.

    WHEN 'MARC'.

      PERFORM marca_desmarca_tc USING 'X'.

    WHEN 'DESM'.

      PERFORM marca_desmarca_tc USING ''.

  ENDCASE.

ENDMODULE.

MODULE consiste_fatura INPUT.

  PERFORM gravar_linha_selecionada.

ENDMODULE.

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

MODULE matchcode_inv INPUT.

  DATA: v_field(30)     TYPE c,

        v_fieldname(30) TYPE c,

        v_tela          TYPE d020s-dnum,

        v_searchhelp    TYPE shlpname,

        l_display(1)    TYPE c.

  DATA: tdynpread    LIKE dynpread OCCURS 0 WITH HEADER LINE.

  DATA: BEGIN OF itab_result OCCURS 0.

          INCLUDE STRUCTURE ddshretval.

  DATA: END OF itab_result.

  FIELD-SYMBOLS: <fs_field> TYPE ANY.

  v_tela = sy-dynnr.

  IF v_nrseqc IS INITIAL.

    CLEAR tdynpread.

    REFRESH tdynpread.

    tdynpread-fieldname = 'V_NRSEQC'.

    APPEND tdynpread.

    CALL FUNCTION 'DYNP_VALUES_READ'

         EXPORTING

              dyname     = '/PWS/SAPMZYCB004'

              dynumb     = v_tela

         TABLES

              dynpfields = tdynpread.

    v_nrseqc = tdynpread-fieldvalue.

  ENDIF.

  IF v_dtvincul IS INITIAL OR

     v_dtvincul EQ ' 0000000'.

    CLEAR tdynpread.

    REFRESH tdynpread.

    tdynpread-fieldname = 'V_DTVINCUL'.

    APPEND tdynpread.

    CALL FUNCTION 'DYNP_VALUES_READ'

         EXPORTING

              dyname     = '/PWS/SAPMZYCB004'

              dynumb     = V_TELA

         TABLES

              dynpfields = tdynpread.

    REPLACE '.' WITH space INTO tdynpread-fieldvalue.

    REPLACE '.' WITH space INTO tdynpread-fieldvalue.

    REPLACE '/' WITH space INTO tdynpread-fieldvalue.

    REPLACE '/' WITH space INTO tdynpread-fieldvalue.

    CONDENSE tdynpread-fieldvalue NO-GAPS.

    v_dtvincul(4) = tdynpread-fieldvalue+4(4).

    v_dtvincul+4(2) = tdynpread-fieldvalue+2(2).

    v_dtvincul+6(2) = tdynpread-fieldvalue(2).

  ENDIF.

  IF v_dtpagto IS INITIAL OR

     v_dtpagto EQ ' 0000000'.

    CLEAR tdynpread.

    REFRESH tdynpread.

    tdynpread-fieldname = 'V_DTVINCUL'.

    APPEND tdynpread.

    CALL FUNCTION 'DYNP_VALUES_READ'

         EXPORTING

              dyname     = '/PWS/SAPMZYCB004'

              dynumb     = V_TELA

         TABLES

              dynpfields = tdynpread.

    REPLACE '.' WITH space INTO tdynpread-fieldvalue.

    REPLACE '.' WITH space INTO tdynpread-fieldvalue.

    REPLACE '/' WITH space INTO tdynpread-fieldvalue.

    REPLACE '/' WITH space INTO tdynpread-fieldvalue.

    CONDENSE tdynpread-fieldvalue NO-GAPS.

    v_dtpagto(4) = tdynpread-fieldvalue+4(4).

    v_dtpagto+4(2) = tdynpread-fieldvalue+2(2).

    v_dtpagto+6(2) = tdynpread-fieldvalue(2).

  ENDIF.

  IF v_dtpagext IS INITIAL OR

     v_dtpagext EQ ' 0000000'.

    CLEAR tdynpread.

    REFRESH tdynpread.

    tdynpread-fieldname = 'V_DTVINCUL'.

    APPEND tdynpread.

    CALL FUNCTION 'DYNP_VALUES_READ'

         EXPORTING

              dyname     = '/PWS/SAPMZYCB004'

              dynumb     = V_TELA

         TABLES

              dynpfields = tdynpread.

    REPLACE '.' WITH space INTO tdynpread-fieldvalue.

    REPLACE '.' WITH space INTO tdynpread-fieldvalue.

    REPLACE '/' WITH space INTO tdynpread-fieldvalue.

    REPLACE '/' WITH space INTO tdynpread-fieldvalue.

    CONDENSE tdynpread-fieldvalue NO-GAPS.

    v_dtpagext(4) = tdynpread-fieldvalue+4(4).

    v_dtpagext+4(2) = tdynpread-fieldvalue+2(2).

    v_dtpagext+6(2) = tdynpread-fieldvalue(2).

  ENDIF.

  SET PARAMETER ID '/PWS/ZYCBP019' FIELD v_nrseqc.

  SET PARAMETER ID '/PWS/ZYGLP159' FIELD v_dtvincul.

  SET PARAMETER ID '/PWS/ZYGLT160' FIELD v_dtpagto.

  SET PARAMETER ID '/PWS/ZYGLT161' FIELD v_dtpagext.

  GET CURSOR FIELD v_field.

  IF v_field(7) = 'V_NRINV'.

    v_fieldname = 'NRINVOIC'.

    v_searchhelp = '/PWS/ZYCBA302'.

  ELSEIF v_field(8) = 'V_NRPARC'.

    v_fieldname = 'NRPARCF'.

    v_searchhelp = '/PWS/ZYCBA303'.

  ELSEIF v_field(8) = 'V_GSBERF'.

    v_fieldname = 'GSBERF'.

    v_searchhelp = '/PWS/ZYCBA304'.

  ENDIF.

  CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST'

       EXPORTING

            tabname    = '/PWS/ZYCBT006'

            fieldname  = v_field

            searchhelp = v_searchhelp

            display    = l_display

       TABLES

            return_tab = itab_result

       EXCEPTIONS

            OTHERS     = 5.

  CHECK sy-subrc EQ 0 .

  READ TABLE itab_result INDEX 1.

  ASSIGN (v_field) TO <fs_field>.

  IF <fs_field> IS ASSIGNED.

    <fs_field> = itab_result-fieldval.

    UNASSIGN <fs_field>.

  ENDIF.

ENDMODULE.

* << Fim da exclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCB004TOP

 

...

data: begin of itab_zycbt006_ca occurs 0.

        include structure /pws/zycbt006.

data: end of itab_zycbt006_ca.

data: v_line type n.

data: v_vlme  type /pws/zycet013-vlme,

      v_belnr_cg type /pws/zycet013-belnr.

data: v_loop  type i .

data: v_total_liq like /pws/zycbt006-vlme.

data: v_ms(5)      type c.

data: v_identificador type /pws/zyglt390-identificador.

* >> Início da exclusão:

data: v_nrinv_to  type /pws/zycbt006-nrinvoic,

      v_nrparc_to type /pws/zycbt006-nrparcf,

      v_gsberf_to type /pws/zycbt006-gsberf.

ranges: r_invoic for /pws/zycbt006-nrinvoic,

        r_nrparc for /pws/zycbt006-nrparcf,

        r_gsberf for /pws/zycbt006-gsberf.

* << Fim da exclusão

* >> Início da inclusão:

data: v_ucomm     type sy-ucomm,

      v_tela_adic type sy-dynnr value '0004'.

selection-screen begin of screen 0004 as subscreen.

select-options  r_invoic for /pws/zycbt017-nrinvoic.

selection-screen skip 1.

select-options  r_nrparc for /pws/zycbt017-nrparcf.

selection-screen skip 1.

select-options  r_gsberf for /pws/zycbt017-gsberf.

selection-screen end of screen 0004.

at selection-screen.

  if sy-dynnr = '0004'.

    v_ucomm = sy-ucomm.

  endif.

at selection-screen on value-request for r_invoic-low.

  perform matchcode_inv.

at selection-screen on value-request for r_invoic-high.

  perform matchcode_inv.

at selection-screen on value-request for r_nrparc-low.

  perform matchcode_inv.

at selection-screen on value-request for r_nrparc-high.

  perform matchcode_inv.

at selection-screen on value-request for r_gsberf-low.

  perform matchcode_inv.

at selection-screen on value-request for r_gsberf-high.

  perform matchcode_inv.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCB009F05

 

...

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

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

  /pws/zycbe017-nrparcf = ''.

  /pws/zycbe017a-nrparcf = ''.

* << Fim da inclusão

endform.

 

...

  data: v_tabix like sy-tabix.

  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.

    free:   itab_zycbt209_aux.

    if not refe[] is initial.

       select *

          into table itab_zycbt209_aux

          from /pws/zycbt209

         where ref_ordem in refe. "#EC CI_NOFIELD

       if not itab_zycbt209_aux[] is initial.

          select *

           into table itab_zycbt017_aux

           from /pws/zycbt017

            for all entries in itab_zycbt209_aux

          where nrinvoic = itab_zycbt209_aux-nrinvoic

            and nrparcf  = itab_zycbt209_aux-nrparcf

            and gsberf   = itab_zycbt209_aux-gsberf

            and vlslf    > 0.

       endif.

    endif.

    if not nrin[] is initial  or  not gsbe[] is initial  or

       not fkda[] is initial  or  not kuna[] is initial  or

       not dtve[] is initial  or  not dtbl[] is initial  or

       not inco[] is initial  or  not nrre[] is initial  or

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

       not nrsd[] is initial.

* << Fim da exclusão

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

       NOT nrsd[] IS INITIAL  OR  NOT nrpa[] IS INITIAL.

* << Fim da inclusão

       select *

       appending table itab_zycbt017_aux

       from /pws/zycbt017

        where nrinvoic in nrin

          and gsberf   in gsbe

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

         AND nrparcf  IN nrpa

* << Fim da inclusão

          and fkdat    in fkda

          and kunag    in kuna

...

 

...

    endloop.

    clear: refe,

           nrin,

           gsbe,

           fkda,

           kuna,

           dtve,

           dtbl,

           inco,

           nrre,

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

           nrpa,

* << Fim da inclusão

           nrsd.

    refresh: refe,

             nrin,

             gsbe,

             fkda,

             kuna,

             dtve,

             dtbl,

             inco,

             nrre,

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

             nrpa,

* << Fim da inclusão

             nrsd.

    select single * from /pws/zycbt089 into wa_zycbt089

     where bukrs eq /pws/zycbe001-bukrs.

    if not wa_zycbt089-controle_ov is initial.

       select * from /pws/zycbt221 into table itab_zycbt221

        where nrseqc = /pws/zycbe001-nrseqc.

       if not itab_zycbt221[] is initial.

          select * from /pws/zycet002 into table itab_zycet002

           for all entries in itab_zycbt221

           where vbeln_va = itab_zycbt221-ordem.

...

 

...

        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.

      if v_ref_ordem = 'X' and screen-group1 = 'REF'.

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

        screen-invisible = '0'.

        screen-input = '1'.

        MODIFY SCREEN.

      ENDIF.

      IF v_nrparcf = 'X' AND screen-group1 = 'PAR'.

* << Fim da inclusão

        screen-invisible = '0'.

        screen-input = '1'.

        modify screen.

      endif.

    endif.

  endloop.

endform.

form calcula_saldos_2.

  data:

  v_vldif  like /pws/zycbe005-vlslf,

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB009F10

 

...

        itab_zycbt005_aux,

        itab_zycbt017,

        itab_zycbt017_aux,

        itab_zycbt006.

  free:

        itab_zycbt001,

        itab_zycbt005_aux,

        itab_zycbt017,

        itab_zycbt017_aux,

        itab_zycbt006.

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

  clear: r_invoic, r_nrparc, r_gsberf, v_inv_from, v_inv_to,

         v_parc_from, v_parc_to, v_gsberf_from, v_gsberf_to.

* << Fim da exclusão

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

  clear: r_invoic, r_nrparc, r_gsberf.

* << Fim da inclusão

  refresh: r_invoic, r_nrparc, r_gsberf.

endform.

form verifica_prorrogacao.

  data: v_docto_belnr like /pws/zycbt030-belnr6.

  clear: v_buzei, v_zterm, v_zbd1t, v_ztag1.

  if v_doc_and is initial.

    if not itab_zycbt030-belnr6 is initial.

      v_docto_belnr = itab_zycbt030-belnr6.

    else.

      v_docto_belnr = itab_zycbt030-belnr.

...

 

...

    where codeven = v_codeven

      and codmod  = 'E'

      and bukrs   = /pws/zycbe001-bukrs.

  check sy-subrc eq 0.

  perform define_cambio using /pws/zycbe001-dtcontr

                              itab_zycbt005-waers

                              /pws/zycbe001-waers

                              /pws/zycbe005-parid.

  itab_zycbt005-parid = /pws/zycbe005-parid.

endform.

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

form monta_range.

 

  clear: r_invoic, r_nrparc, r_gsberf.

  refresh: r_invoic, r_nrparc, r_gsberf.

 

  if not v_inv_from is initial or

     not v_inv_to   is initial.

 

    r_invoic-sign = 'I'.

 

    if not v_inv_from is initial.

      r_invoic-low = v_inv_from.

    endif.

 

    if not v_inv_to is initial.

      r_invoic-option = 'BT'.

      r_invoic-high = v_inv_to.

    else.

      r_invoic-option = 'EQ'.

    endif.

    append r_invoic.

  endif.

 

  if not v_parc_from is initial or

     not v_parc_to   is initial.

 

    r_nrparc-sign = 'I'.

 

    if not v_parc_from is initial.

      r_nrparc-low = v_parc_from.

    endif.

 

    if not v_parc_to is initial.

      r_nrparc-option = 'BT'.

      r_nrparc-high = v_parc_to.

    else.

      r_nrparc-option = 'EQ'.

    endif.

    append r_nrparc.

  endif.

 

  if not v_gsberf_from is initial or

     not v_gsberf_to   is initial.

 

    r_gsberf-sign = 'I'.

 

    if not v_gsberf_from is initial.

      r_gsberf-low = v_gsberf_from.

    endif.

 

    if not v_gsberf_to is initial.

      r_gsberf-option = 'BT'.

      r_gsberf-high = v_gsberf_to.

    else.

      r_gsberf-option = 'EQ'.

    endif.

    append r_gsberf.

  endif.

 

endform.                    " monta_range

* << Fim da exclusão

 

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

form matchcode_inv.

 

  data: v_field(30)     type c,

        v_line          type i,

        v_fieldname(30) type c.

 

  data: tdynpread    like dynpread occurs 0 with header line.

 

  field-symbols: <fs_field> type any.

 

  "Captura o número do contrato antes da passagem pelo PAI/PBO

  if v_nrseqc is initial.

    clear tdynpread.

    refresh tdynpread.

 

    tdynpread-fieldname = 'V_NRSEQC'.

    append tdynpread.

 

    call function 'DYNP_VALUES_READ'

         exporting

              dyname     = '/PWS/SAPMZYCB009'

              dynumb     = '0001'

         tables

              dynpfields = tdynpread.

 

 

    v_nrseqc = tdynpread-fieldvalue.

  endif.

 

  "Captura a data de vinculação antes da passagem pelo PAI/PBO

  if v_dtvincul is initial or

     v_dtvincul eq ' 0000000'.

    clear tdynpread.

    refresh tdynpread.

 

    tdynpread-fieldname = 'V_DTVINCUL'.

    append tdynpread.

 

    call function 'DYNP_VALUES_READ'

         exporting

              dyname     = '/PWS/SAPMZYCB009'

              dynumb     = '0001'

         tables

              dynpfields = tdynpread.

 

    replace '.' with space into tdynpread-fieldvalue.

    replace '.' with space into tdynpread-fieldvalue.

    replace '/' with space into tdynpread-fieldvalue.

    replace '/' with space into tdynpread-fieldvalue.

    condense tdynpread-fieldvalue no-gaps.

 

    v_dtvincul(4) = tdynpread-fieldvalue+4(4).

    v_dtvincul+4(2) = tdynpread-fieldvalue+2(2).

    v_dtvincul+6(2) = tdynpread-fieldvalue(2).

  endif.

 

  set parameter id '/PWS/ZYCBP019' field v_nrseqc.

  set parameter id '/PWS/ZYGLP159' field v_dtvincul.

 

  get cursor field v_field.

 

  if v_field(5) = 'R_INV'.   "Ajuda acionada pela própria Vinculação

    v_fieldname = 'NRINVOIC'.

    v_searchhelp = '/PWS/ZYCBA299'.

  elseif v_field(8) = 'R_NRPARC'. "Ajuda acionada pela própria

    "Vinculação

    v_fieldname = 'NRPARCF'.

    v_searchhelp = '/PWS/ZYCBA300'.

  elseif v_field(8) = 'R_GSBERF'."Ajuda acionada pela própria Vinculação

    v_fieldname = 'GSBERF'.

    v_searchhelp = '/PWS/ZYCBA301'.

  elseif v_field(6) = 'RSCSEL'.  "Ajuda Acionada através do

    "SAP Standard (seta do selec-options)

    call function 'DYNP_GET_STEPL'  "Captura a linha selecionada

         importing

              povstepl = v_line.

    if v_ucomm(4) = '%001'.      "Número da Linha onde se encontra

      "a seta do select-option

      v_fieldname = 'NRINVOIC'.

      v_searchhelp = '/PWS/ZYCBA299'.

    elseif v_ucomm(4) = '%003'.  "Número da Linha onde se encontra

      "a seta do select-option

      v_fieldname = 'NRPARCF'.

      v_searchhelp = '/PWS/ZYCBA300'.

    elseif v_ucomm(4) = '%005'.  "Número da Linha onde se encontra

      "a seta do select-option

      v_fieldname = 'GSBERF'.

      v_searchhelp = '/PWS/ZYCBA301'.

    endif.

  endif.

 

  call function 'F4IF_FIELD_VALUE_REQUEST'

       exporting

            tabname    = '/PWS/ZYCBT005'

            fieldname  = v_field

            searchhelp = v_searchhelp

            display    = l_display

       tables

            return_tab = itab_result

       exceptions

            others     = 5.

 

  check sy-subrc eq 0 .

 

  read table itab_result index 1.

 

  assign (v_field) to <fs_field>.

  if <fs_field> is assigned.

    <fs_field> = itab_result-fieldval.

    unassign <fs_field>.

  else.

    clear tdynpread.

    refresh tdynpread.

 

    tdynpread-fieldname  = v_field.

    tdynpread-fieldvalue = itab_result-fieldval.

    tdynpread-stepl      = v_line.

    append tdynpread.

 

    call function 'DYNP_VALUES_UPDATE'

         exporting

              dyname     = 'SAPLALDB'

              dynumb     = sy-dynnr

         tables

              dynpfields = tdynpread

         exceptions

              others     = 0.

  endif.

 

endform.                    " matchcode_inv

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCB009I01

 

...

        exit.

      endif.

      select single * from /pws/zycbt001 into /pws/zycbe001

                      where nrseqc = v_nrseqc.

      v_dtdocto = /pws/zycbe001-dtvincul.

      if sy-subrc eq 0.

        v_encontrou = 'S'.

        perform seleciona_parametros_gerais.

        v_slvinc = /pws/zycbe001-slvinc.

      endif.

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

      perform monta_range.

* << Fim da exclusão

      select single * from /pws/zycbt005

             into corresponding fields of /pws/zycbe005

             where nrseqc   = v_nrseqc

               and dtvincul = v_dtvincul

               and tpdesp   = ' '

               and nrinvoic in r_invoic

               and nrparcf  in r_nrparc

               and gsberf   in r_gsberf.

      if /pws/zycbt005-status eq 'I'.

        case /pws/zycbe001-fdtlanc.

...

 

...

module altera_itab_zycbt005 input.

  perform altera_itab_zycbt005.

  perform altera_desvincula.

endmodule.

module user_command_0200 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     = ' ' and

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

          v_ref_ordem = ' '.

* << Fim da exclusão

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

          v_ref_ordem = ' ' and v_nrparcf = ' '.

* << Fim da inclusão

        message w015 with text-057.

      else.

        perform limpa_selecao.

        call selection-screen 0301.

      endif.

    when 'MARC'.

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

      v_ref_ordem = 'X'.

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

      v_nrparcf = 'X'.

* << Fim da inclusão

    when 'DESM'.

      v_nrinvoic = ' '.

      v_gsberf = ' '.

      v_fkdat = ' '.

      v_kunag = ' '.

      v_dtvencto  = ' '.

      v_dtbl = ' '.

      v_inco1 = ' '.

      v_re = ' '.

      v_sd = ' '.

      v_ref_ordem = ' '.

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

      v_nrparcf = ' '.

* << Fim da inclusão

  endcase.

endmodule.

module selecionar_zycbt017 input.

  data: v_nlin type i value is initial.

  if ok_code eq 'EXEC'.

    free:   itab_zycbt017_aux, 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.

...

 

...

  if /pws/zycbe001-tpcontr(1) = 'P' or

     /pws/zycbe001-tpcontr(1) = 'S' or

     /pws/zycbe001-tpcontr(1) = 'N'.

    if not /pws/zycbe006-dtpagext is initial.

      /pws/zycbe005-deduz_juros = 'X'.

    else.

      clear /pws/zycbe005-deduz_juros.

    endif.

  endif.

endmodule.

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

module matchcode_inv input.

  data: v_field(30) type c,

        v_fieldname(30) type c.

  field-symbols: <fs_field> type any.

  if v_nrseqc is initial.

    clear tdynpread.

    refresh tdynpread.

    tdynpread-fieldname = 'V_NRSEQC'.

    append tdynpread.

    call function 'DYNP_VALUES_READ'

         exporting

              dyname     = '/PWS/SAPMZYCB009'

              dynumb     = '0001'

         tables

              dynpfields = tdynpread.

    v_nrseqc = tdynpread-fieldvalue.

  endif.

  if v_dtvincul is initial or

     v_dtvincul eq ' 0000000'.

    clear tdynpread.

    refresh tdynpread.

    tdynpread-fieldname = 'V_DTVINCUL'.

    append tdynpread.

    call function 'DYNP_VALUES_READ'

         exporting

              dyname     = '/PWS/SAPMZYCB009'

              dynumb     = '0001'

         tables

              dynpfields = tdynpread.

    replace '.' with space into tdynpread-fieldvalue.

    replace '.' with space into tdynpread-fieldvalue.

    replace '/' with space into tdynpread-fieldvalue.

    replace '/' with space into tdynpread-fieldvalue.

    condense tdynpread-fieldvalue no-gaps.

    v_dtvincul(4) = tdynpread-fieldvalue+4(4).

    v_dtvincul+4(2) = tdynpread-fieldvalue+2(2).

    v_dtvincul+6(2) = tdynpread-fieldvalue(2).

  endif.

  set parameter id '/PWS/ZYCBP019' field v_nrseqc.

  set parameter id '/PWS/ZYGLP159' field v_dtvincul.

  get cursor field v_field.

  if v_field(5) = 'V_INV'.

    v_fieldname = 'NRINVOIC'.

    v_searchhelp = '/PWS/ZYCBA299'.

  elseif v_field(6) = 'V_PARC'.

    v_fieldname = 'NRPARCF'.

    v_searchhelp = '/PWS/ZYCBA300'.

  elseif v_field(8) = 'V_GSBERF'.

    v_fieldname = 'GSBERF'.

    v_searchhelp = '/PWS/ZYCBA301'.

  endif.

  call function 'F4IF_FIELD_VALUE_REQUEST'

       exporting

            tabname    = '/PWS/ZYCBT005'

            fieldname  = v_field

            searchhelp = v_searchhelp

            display    = l_display

       tables

            return_tab = itab_result

       exceptions

            others     = 5.

  check sy-subrc eq 0 .

  read table itab_result index 1.

  assign (v_field) to <fs_field>.

  if <fs_field> is assigned.

    <fs_field> = itab_result-fieldval.

    unassign <fs_field>.

  endif.

endmodule.

* << Fim da exclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCB009O01

 

...

    v_nrinvoic = ' '.

    v_gsberf = ' '.

    v_fkdat = ' '.

    v_kunag = ' '.

    v_dtvencto  = ' '.

    v_dtbl = ' '.

    v_inco1 = ' '.

    v_re = ' '.

    v_sd = ' '.

    v_ref_ordem = ' '.

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

    v_nrparcf = ' '.

* << Fim da inclusão

  endif.

endmodule.

module guarda_faturas_tc output.

  move itab_zycbt005[]  to itab_zycbt005_aux[].

  move itab_zycbt005[]  to itab_zycbt005_parid[].

  loop at itab_zycbt005_aux where waers ne /pws/zycbe001-waers.

    if not itab_zycbt005_aux-vlme_p is initial and

           itab_zycbt005_aux-parid  is initial and

           itab_zycbt005_aux-vlvinc is initial and

           itab_zycbt005_aux-waers  ne itab_zycbt005_aux-waers_c.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB009TOP

 

...

       wa_zycbt006_aud LIKE /pws/zycbt006,

       wa_zycbt030_aud LIKE /pws/zycbt030,

       wa_zycbt050_aud LIKE /pws/zycbt050,

       wa_zycbt051_aud LIKE /pws/zycbt051,

       wa_zycbt084_aud LIKE /pws/zycbt084,

       wa_zycbt209_aud LIKE /pws/zycbt209,

       wa_zycbt220_aud LIKE /pws/zycbt220,

       wa_zycbt231_aud LIKE /pws/zycbt231,

       v_identific(25) TYPE c,

       v_operacao(1)   TYPE c.

* >> Início da exclusão:

ranges: r_invoic for /pws/zycbt017-nrinvoic,

        r_nrparc for /pws/zycbt017-nrparcf,

        r_gsberf for /pws/zycbt017-gsberf.

* << Fim da exclusão

* >> Início da inclusão:

data: v_ucomm   type sy-ucomm,

      v_nrparcf value space.

* << Fim da inclusão

 SELECTION-SCREEN BEGIN OF SCREEN 0301.

 SELECT-OPTIONS:

         nrin FOR /pws/zycbe017-nrinvoic MODIF ID fat

              MATCHCODE OBJECT /pws/zycba068,

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

* >> Início da inclusão:

         nrpa for /pws/zycbe017-nrparcf  modif id par,

* << Fim da inclusão

         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,

         refe FOR /pws/zycbe209-ref_ordem MODIF ID ref

              MATCHCODE OBJECT /pws/zycba295.

 SELECTION-SCREEN END OF SCREEN 0301  .

* >> Início da inclusão:

 selection-screen begin of screen 0003 as subscreen.

 select-options  r_invoic for /pws/zycbt017-nrinvoic.

 selection-screen skip 1.

 select-options  r_nrparc for /pws/zycbt017-nrparcf.

 selection-screen skip 1.

 select-options  r_gsberf for /pws/zycbt017-gsberf.

 selection-screen end of screen 0003.

* << Fim da inclusão

 AT SELECTION-SCREEN OUTPUT.

* >> Início da inclusão:

   if sy-dynnr = '0301'.

* << Fim da inclusão

   PERFORM set_screen_0301.

* >> Início da inclusão:

   endif.

* << Fim da inclusão

 AT SELECTION-SCREEN.

* >> Início da inclusão:

   if sy-dynnr = '0301'.

* << Fim da inclusão

   PERFORM selecionar_zycbt017.

* >> Início da inclusão:

   elseif sy-dynnr = '0003'.

     v_ucomm = sy-ucomm.

   endif.

 at selection-screen on value-request for r_invoic-low.

   perform matchcode_inv.

 at selection-screen on value-request for r_invoic-high.

   perform matchcode_inv.

 at selection-screen on value-request for r_nrparc-low.

   perform matchcode_inv.

 at selection-screen on value-request for r_nrparc-high.

   perform matchcode_inv.

 at selection-screen on value-request for r_gsberf-low.

   perform matchcode_inv.

 at selection-screen on value-request for r_gsberf-high.

   perform matchcode_inv.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCB009X01

 

...

        include structure /pws/zyglt321.

data: end of itab_zyglt321.

data: begin of itab_doctos occurs 0.

        include structure /pws/zycbt036.

data: end of itab_doctos.

data: v_searchhelp type shlpname,

      v_nrseqc     type /pws/zycbt001-nrseqc,

      v_cliente    type /pws/zycbt001-kunnr.

data: v_aux_dtpagext type /pws/zycbt005-dtpagext.

data: v_aux_dtvincul type /pws/zycbt001-dtvincul.

* >> Início da exclusão:

data: v_inv_from    type /pws/zycbt005-nrinvoic,

      v_inv_to      type /pws/zycbt005-nrinvoic,

      v_parc_from   type /pws/zycbt005-nrparcf,

      v_parc_to     type /pws/zycbt005-nrparcf,

      v_gsberf_from type /pws/zycbt005-gsberf,

      v_gsberf_to   type /pws/zycbt005-gsberf.

* << Fim da exclusão

data: end of common part.

 

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

Modificações efetuadas em REPS /PWS/MZYCB031F01

 

...

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

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

    v_nrparcf = ' '.

* << Fim da inclusão

  endif.

endmodule.

form limpa_selecao.

  /pws/zycbe017-nrinvoic = ''.

  /pws/zycbe017-nrparcf  = ''.

  /pws/zycbe017-gsberf   = ''.

  /pws/zycbe017-dtbl     = ''.

  /pws/zycbe017-fkdat    = ''.

  /pws/zycbe017-kunag    = ''.

  /pws/zycbe017-dtvencto = ''.

...

 

...

      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.

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

      if v_nrparcf = 'X' and screen-group1 = 'PAR'.

        screen-invisible = '0'.

        screen-input = '1'.

        modify screen.

      endif.

* << Fim da inclusão

    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.

    select *

       into table itab_zycbt017_aux

       from /pws/zycbt017

        where nrinvoic in nrin

          and gsberf   in gsbe

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

          and nrparcf  in nrpa

* << Fim da inclusão

          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.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB031I01

 

...

endmodule.

module status_0200 output.

  set pf-status '0200'.

  set titlebar  '200'.

endmodule.

module user_command_0200 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

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

          v_dtbl  = ' ' and  v_re       = ' ' and  v_sd     = ' '.

* << Fim da exclusão

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

          v_dtbl  = ' ' and  v_re       = ' ' and  v_sd     = ' ' and

          v_nrparcf = ' '.

* << Fim da inclusão

        message w015 with text-076.

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

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

      v_nrparcf = 'X'.

* << Fim da inclusão

    when 'DESM'.

      v_nrinvoic = ' '.

      v_gsberf = ' '.

      v_fkdat = ' '.

      v_kunag = ' '.

      v_dtvencto  = ' '.

      v_dtbl = ' '.

      v_inco1 = ' '.

      v_re = ' '.

      v_sd = ' '.

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

      v_nrparcf = ' '.

* << Fim da inclusão

  endcase.

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

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB031TOP

 

...

      v_subrc      LIKE sy-subrc.

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,

* >> Início da inclusão:

        v_nrparcf       value space,

* << Fim da inclusão

        v_nrre_ate      LIKE /pws/zycbe017-nrre,

        v_ano               LIKE t009b-bdatj,

        v_monat             LIKE t001b-frpe1,

        v_select        TYPE c,

        v_index         TYPE i.

DATA: v_tpcontabil TYPE /pws/zycbt169-tpcontabil,

      wa_zycbt017  TYPE /pws/zycbt017,

      wa_zycbt007  TYPE /pws/zycbt007,

      wa_zycbt011  TYPE /pws/zycbt011.

DATA:  BEGIN OF itab_nrinvoic OCCURS 1,

...

 

...

                s_bukrs FOR /pws/zycbt209-bukrs,

                s_gsber FOR /pws/zycbt209-gsberf,

                s_werks FOR /pws/zycbt209-werks,

                s_nparc FOR /pws/zycbt209-nrparcf,

                s_kunnr FOR /pws/zycbt209-kunnr,

                s_dtinc FOR /pws/zycbt209-dtincl.

SELECTION-SCREEN END OF SCREEN 0001.

SELECTION-SCREEN BEGIN OF SCREEN 0301.

SELECT-OPTIONS: nrin FOR /pws/zycbe017-nrinvoic

                     MATCHCODE OBJECT /pws/zycba249 MODIF ID fat ,

* >> Início da inclusão:

        nrpa for /pws/zycbe017-nrparcf   modif id par,

* << Fim da inclusão

        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.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB033F01

 

...

      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.

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

      if v_nrparcf = 'X' and screen-group1 = 'PAR'.

        screen-invisible = '0'.

        screen-input = '1'.

        modify screen.

* << Fim da inclusão

    endif.

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

    endif.

* << Fim da inclusão

  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.

    select *

       into table itab_zycbt017_aux

       from /pws/zycbt017

        where nrinvoic in nrin

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

          and nrparcf  in nrpa

* << Fim da inclusão

          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.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB033I01

 

...

  if sy-subrc ne 0.

    describe table itab_zycbt219 lines v_line_ini.

    tc_desrec-top_line = v_line_ini + 1.

  endif.

endmodule.

module user_command_0200 input.

  case ok_code.

    when 'EXEC'.

     if  v_inco1 = ' ' and  v_nrinvoic_sel = ' ' and v_gsberf = ' ' and

         v_kunag = ' ' and  v_dtvencto     = ' ' and v_fkdat  = ' ' and

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

             v_dtbl  = ' ' and  v_re           = ' ' and v_sd     = ' '.

* << Fim da exclusão

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

         v_dtbl  = ' ' and  v_re           = ' ' and v_sd     = ' ' and

         v_nrparcf = ' '.

* << Fim da inclusão

        message w015 with text-076.

      else.

        perform limpa_selecao.

        call selection-screen 0301.

      endif.

    when 'MARK'.

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

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

      v_nrparcf      = 'X'.

* << Fim da inclusão

    when 'DESM'.

      v_nrinvoic_sel = ' '.

      v_gsberf       = ' '.

      v_fkdat        = ' '.

      v_kunag        = ' '.

      v_dtvencto     = ' '.

      v_dtbl         = ' '.

      v_inco1        = ' '.

      v_re           = ' '.

      v_sd           = ' '.

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

      v_nrparcf      = ' '.

* << Fim da inclusão

  endcase.

endmodule.

module selecionar_zycbt017 input.

  data: v_nlin type i value is initial.

  if ok_code eq 'EXEC'.

    free:  itab_nrinvoic,

           itab_gsberf,

           itab_fkdat,

           itab_kunag,

           itab_dtvencto,

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB033O01

 

...

  if ok_code <> 'MARK' and ok_code <> 'DESM'.

    v_nrinvoic_sel = ' '.

    v_gsberf       = ' '.

    v_fkdat        = ' '.

    v_kunag        = ' '.

    v_dtvencto     = ' '.

    v_dtbl         = ' '.

    v_inco1        = ' '.

    v_re           = ' '.

    v_sd           = ' '.

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

    v_nrparcf      = ' '.

* << Fim da inclusão

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

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB033TOP

 

...

DATA: END OF itab_zycbt030.

DATA: itab_zycbt013 LIKE /pws/zycbt013 OCCURS 10 WITH HEADER LINE."#EC *

DATA: BEGIN OF itab_modo OCCURS 0.

        INCLUDE STRUCTURE spopli.

DATA: END OF itab_modo.

DATA: BEGIN OF itab_zyglt321 OCCURS 0.

        INCLUDE STRUCTURE /pws/zyglt321.

DATA: END OF itab_zyglt321.

DATA: itab_zyglt368 LIKE /pws/zyglt368 OCCURS 0 WITH HEADER LINE."#EC *

DATA:   v_nrinvoic_sel  VALUE space,

* >> Início da inclusão:

        v_nrparcf       value space,

* << Fim da inclusão

        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.

...

 

...

                s_bukrs FOR /pws/zycbt219-bukrs,

                s_gsber FOR /pws/zycbt219-gsberf,

                s_werks FOR /pws/zycbt219-werks,

                s_nparc FOR /pws/zycbt219-nrparcf,

                s_kunnr FOR /pws/zycbt219-kunnr,

                s_dtinc FOR /pws/zycbt219-dtincl.

SELECTION-SCREEN END OF SCREEN 0001.

SELECTION-SCREEN BEGIN OF SCREEN 0301.

SELECT-OPTIONS: nrin FOR /pws/zycbe017-nrinvoic

                     MATCHCODE OBJECT /pws/zycba249 MODIF ID fat ,

* >> Início da inclusão:

        nrpa for /pws/zycbe017-nrparcf   modif id par,

* << Fim da inclusão

        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.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB034F01

 

...

      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.

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

      IF v_nrparcf = 'X' AND screen-group1 = 'PAR'.

        screen-invisible = '0'.

        screen-input = '1'.

        MODIFY SCREEN.

* << Fim da inclusão

    endif.

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

    ENDIF.

* << Fim da inclusão

  endloop.

endform.

form selecionar_zycbt017.

  field-symbols: <fs_zycbt209_aux> like line of itab_zycbt209_aux.

  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

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

          AND nrparcf  IN nrpa

* << Fim da inclusão

          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.

    if sy-tcode+13(3) = 'SML'.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB034I01

 

...

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

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

    v_nrparcf = ' '.

* << Fim da inclusão

  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

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

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

* << Fim da exclusão

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

          v_dtbl  = ' ' AND  v_re       = ' ' AND  v_sd     = ' ' and

          v_nrparcf = ' '.

* << Fim da inclusão

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

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

      v_nrparcf = 'X'.

* << Fim da inclusão

    WHEN 'DESM'.

      v_nrinvoic = ' '.

      v_gsberf = ' '.

      v_fkdat = ' '.

      v_kunag = ' '.

      v_dtvencto  = ' '.

      v_dtbl = ' '.

      v_inco1 = ' '.

      v_re = ' '.

      v_sd = ' '.

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

      v_nrparcf = ' '.

* << Fim da inclusão

  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.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB034TOP

 

...

data:

   v_codaux   type /pws/zygle316-codaux1,

   v_codaux1  type /pws/zygle316-codaux1,

   v_codaux2  type /pws/zygle316-codaux2,

   v_codaux3  type /pws/zygle316-codaux3,

   v_conta type /pws/zycbe226-conta_contab,

   v_bco_cab          type /pws/zycbe134-bcocred.

data: v_vlme  type /pws/zycet013-vlme,

      v_belnr type /pws/zycet013-belnr.

data:   v_nrinvoic      value space,

* >> Início da inclusão:

        v_nrparcf       value space,

* << Fim da inclusão

        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,

...

 

...

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.

selection-screen begin of screen 0301.

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

                     matchcode object /pws/zycba249 modif id fat ,

* >> Início da inclusão:

        nrpa for /pws/zycbe017-nrparcf  modif id par,

* << Fim da inclusão

        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.

...

 

 

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

Modificações efetuadas em REPT /PWS/SAPMZYCB004

 

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

Incluído texto de seleção:

 

Idioma: PT

 

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

 

Texto: (15 caracteres)

"Divisão"

 

Referência ao Dictionary: NÃO

 

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

Incluído texto de seleção:

 

Idioma: PT

 

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

 

Texto: (19 caracteres)

"Nº Embarque"

 

Referência ao Dictionary: NÃO

 

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

Incluído texto de seleção:

 

Idioma: PT

 

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

 

Texto: (18 caracteres)

"Nº Parcela"

 

Referência ao Dictionary: NÃO

 

 

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

Modificações efetuadas em REPT /PWS/SAPMZYCB009

 

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

Incluído texto de seleção:

 

Idioma: PT

 

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

 

Texto: (18 caracteres)

"Nº Parcela"

 

Referência ao Dictionary: NÃO

 

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

Incluído texto de seleção:

 

Idioma: PT

 

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

 

Texto: (15 caracteres)

"Divisão"

 

Referência ao Dictionary: NÃO

 

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

Incluído texto de seleção:

 

Idioma: PT

 

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

 

Texto: (19 caracteres)

"Nº Embarque"

 

Referência ao Dictionary: NÃO

 

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

Incluído texto de seleção:

 

Idioma: PT

 

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

 

Texto: (18 caracteres)

"Nº Parcela"

 

Referência ao Dictionary: NÃO

 

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

Excluído texto de seleção:

 

Idioma: PT

 

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

 

Texto: (15 caracteres)

"Divisão"

 

Referência ao Dictionary: NÃO

 

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

Excluído texto de seleção:

 

Idioma: PT

 

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

 

Texto: (19 caracteres)

"Nº Embarque"

 

Referência ao Dictionary: NÃO

 

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

Excluído texto de seleção:

 

Idioma: PT

 

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

 

Texto: (18 caracteres)

"Nº Parcela"

 

Referência ao Dictionary: NÃO

 

 

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

Modificações efetuadas em REPT /PWS/SAPMZYCB031

 

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

Incluído texto de seleção:

 

Idioma: PT

 

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

 

Texto: (18 caracteres)

"Nº Parcela"

 

Referência ao Dictionary: NÃO

 

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

Modificado texto de seleção:

 

Idioma: PT

 

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

 

Texto: (15 caracteres)

"Empresa"

 

Referência ao Dictionary: NÃO

 

 

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

Modificações efetuadas em REPT /PWS/SAPMZYCB033

 

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

Incluído texto de seleção:

 

Idioma: PT

 

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

 

Texto: (18 caracteres)

"Nº Parcela"

 

Referência ao Dictionary: NÃO

 

 

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

Modificações efetuadas em REPT /PWS/SAPMZYCB034

 

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

Incluído texto de seleção:

 

Idioma: PT

 

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

 

Texto: (18 caracteres)

"Nº Parcela"

 

Referência ao Dictionary: NÃO

Referência ao Dictionary: NÃO

Referência ao Dictionary: NÃO

Referência ao Dictionary: NÃO

Referência ao Dictionary: NÃO