CE PLUS - Nota 006671

Módulo: CÂMBIO FINANCEIRO

Funcionalidade: Remessa

Data/Hora da Publicação: 03/06/2008 00:00:00

Data/Hora Última Alteração: 18/02/2011 14:14:52

Descrição da Nota: REPATRIAÇÃO DE REMESSA

Sintoma

Criar mecanismos para permitir a criação de remessa de pagamento a clientes e recebimento de

fornecedores.

Criar funcionalidade de "Repatriação de Divisas" de faturas de importação, pagamento antecipado e

financiamento de importação

 

 

Solução

Criar mecanismos para permitir a criação de remessa de pagamento a clientes e recebimento de

fornecedores.

Criar funcionalidade de "Repatriação de Divisas" de faturas de importação, pagamento antecipado e

financiamento de importação

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

REMESSA - IMPOSTOS NOVOS

AJUSTE PARA CHAMAR A FUNÇÃO '/PWS/ZYCE_RELATORIO', VERIFICANDO O N° SEQ.

REMESSA COM ORIGEM - DOCTO CHAVE LANÇAMENTO INCORRETA - SALDO A ASSOCIAR

DESENVOLVIMENTO ADICIONAL COMPLETO - ORDEM DE PAGAMENTO

Informações Complementares

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

Nota Número 06671 Data: 03/06/2008 Hora: 10:01:07

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

 

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

Nota Número              : 06671

Categoria                : Melhoria

Prioridade               : Alta

Versão PW.CE             : 7.0

Pacote                   : 00005

Agrupamento              : 00050

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

Referência às notas relacionadas:

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

 

01231  - 00001 - 6.0    - 00023  - REMESSA - IMPOSTOS NOVOS

03270  - 00002 - 6.0    - 00026  - DESENVOLVIMENTO ADICIONAL COMPLETO - ORDEM DE PAGAMENTO

03423  - 00003 - 7.0    - 00001  - AJUSTE PARA CHAMAR A FUNÇÃO '/PWS/ZYCE_RELATORIO', VERIFICANDO O

06423  - 00004 - 7.0    - 00005  - REMESSA COM ORIGEM - DOCTO CHAVE LANÇAMENTO INCORRETA - SALDO A A

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

REPATRIAÇÃO DE REMESSA

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

Palavras Chave:

REPATRIAÇÃO, REPATRIAÇÃO DE REMESSA

 

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

Objetos da nota:

DOMA /PWS/ZYGLD588

DOMA /PWS/ZYGLD589

DOMA /PWS/ZYGLD590

DOMA /PWS/ZYGLD591

DOMA /PWS/ZYGLD592

DOMA /PWS/ZYGLD593

DTEL /PWS/ZYGLL1387

DTEL /PWS/ZYGLL1388

DTEL /PWS/ZYGLL1389

DTEL /PWS/ZYGLL1390

DTEL /PWS/ZYGLL1391

DTEL /PWS/ZYGLL1392

DYNP /PWS/SAPMZYCA109                        0002

DYNP /PWS/SAPMZYCA109                        0100

DYNP /PWS/SAPMZYCA109                        0101

DYNP /PWS/SAPMZYCA109                        0105

DYNP /PWS/SAPMZYCA109                        0121

DYNP /PWS/SAPMZYCB104                        0200

DYNP /PWS/SAPMZYCA027                        0001

ENQU /PWS/EZYCAT027

FUGR /PWS/ZYCAGF1

FUNC /PWS/ZYCAA027

FUNC /PWS/ZYCAA028

FUNC /PWS/ZYCAA029

FUNC /PWS/ZYCAA030

FUNC /PWS/ZYCA_TRANSACAO_F_02R

FUNC /PWS/ZYCA_TRANSACAO_F_51P

FUNC /PWS/ZYCA_TRANSACAO_F_51Q

FUNC /PWS/ZYCA_TRANSACAO_F_63P

FUNC /PWS/ZYCA_TRANSACAO_F_63R

FUNC /PWS/ZYCB_TRANSACAO_F_43

FUNC /PWS/ZYCB_TRANSACAO_F_51J

PARA /PWS/ZYCAP003

PARA /PWS/ZYCAP004

RELE F6DK960522 20080602 100837 PWSCB

REPS /PWS/LZYCAGFUXX

REPS /PWS/LZYCBGF2UXX

REPS /PWS/MZYCA027F01

REPS /PWS/MZYCA027I01

REPS /PWS/MZYCA027O01

REPS /PWS/MZYCA027TOP

REPS /PWS/MZYCA109F01

REPS /PWS/MZYCA109I01

REPS /PWS/MZYCA109O01

REPS /PWS/MZYCA109TOP

REPS /PWS/MZYCA110F01

REPS /PWS/MZYCA110TOP1

REPS /PWS/MZYCB110F01

REPS /PWS/MZYCB115F01

REPS /PWS/MZYCB115F02

REPS /PWS/MZYCB115TOP

REPS /PWS/MZYGL110F01

REPS /PWS/MZYGL110TOP

REPS /PWS/SAPMZYCA027

REPT /PWS/SAPMZYCA109

SHLP /PWS/ZYCAA027

SHLP /PWS/ZYCAA028

SHLP /PWS/ZYCAA029

SHLP /PWS/ZYCAA030

TABD /PWS/ZYCBE124

TABD /PWS/ZYCBT124

TABL /PWS/ZYCAT027

TABL /PWS/ZYCAT028

TABU TDDAT

TABU TVDIR

TOBJ /PWS/ZYCAT027S

TRAN /PWS/ZYCAT027

TÍTS /PWS/SAPMZCAT027

STUS /PWS/SAPMZCAT027

TEXT /PWS/SAPMZYCA027

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

Modificações efetuadas em DOMA /PWS/ZYGLD588

 

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

Domínio incluído: /PWS/ZYGLD588

Descrição breve incluída (33 caracteres), idioma: PT

"GL - TIPO DE CLIENTE / FORNECEDOR"

Classe de desenvolvimento: /PWS/ZYGL

Idioma original: PT

Categoria de dados: CHAR

Número de posições: 1

Comprimento de saída: 1

Rotina de conversão:

Letras minúsculas: NÃO

-Valores individuais

Incluído valor fixo "C"

Texto incluído, idioma: PT (8 caracteres):

"Clientes"

Incluído valor fixo "F"

Texto incluído, idioma: PT (12 caracteres):

"Fornecedores"

Incluída tabela de valores:

 

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

Modificações efetuadas em DOMA /PWS/ZYGLD589

 

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

Domínio incluído: /PWS/ZYGLD589

Descrição breve incluída (20 caracteres), idioma: PT

"GL - TIPO DE REMESSA"

Classe de desenvolvimento: /PWS/ZYGL

Idioma original: PT

Categoria de dados: CHAR

Número de posições: 1

Comprimento de saída: 1

Rotina de conversão:

Letras minúsculas: NÃO

-Valores individuais

Incluído valor fixo "C"

Texto incluído, idioma: PT (9 caracteres):

"Pagamento"

Incluído valor fixo "D"

Texto incluído, idioma: PT (11 caracteres):

"Recebimento"

Incluída tabela de valores:

 

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

Modificações efetuadas em DOMA /PWS/ZYGLD590

 

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

Domínio incluído: /PWS/ZYGLD590

Descrição breve incluída (27 caracteres), idioma: PT

"GL - CHAVE DÉBITO / CRÉDITO"

Classe de desenvolvimento: /PWS/ZYGL

Idioma original: PT

Categoria de dados: NUMC

Número de posições: 2

Comprimento de saída: 2

Rotina de conversão:

Incluída tabela de valores:

 

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

Modificações efetuadas em DOMA /PWS/ZYGLD591

 

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

Domínio incluído: /PWS/ZYGLD591

Descrição breve incluída (30 caracteres), idioma: PT

"GL - PAGAMENTO / FINANCIAMENTO"

Classe de desenvolvimento: /PWS/ZYGL

Idioma original: PT

Categoria de dados: CHAR

Número de posições: 2

Comprimento de saída: 2

Rotina de conversão:

Letras minúsculas: NÃO

-Valores individuais

Incluído valor fixo "PG"

Texto incluído, idioma: PT (19 caracteres):

"Pagamento de Fatura"

Incluído valor fixo "PA"

Texto incluído, idioma: PT (20 caracteres):

"Pagamento Antecipado"

Incluído valor fixo "FI"

Texto incluído, idioma: PT (13 caracteres):

"Financiamento"

Incluída tabela de valores:

 

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

Modificações efetuadas em DOMA /PWS/ZYGLD592

 

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

Domínio incluído: /PWS/ZYGLD592

Descrição breve incluída (27 caracteres), idioma: PT

"GL - SEQUENCIAL DO PROCESSO"

Classe de desenvolvimento: /PWS/ZYGL

Idioma original: PT

Categoria de dados: CHAR

Número de posições: 10

Comprimento de saída: 10

Rotina de conversão: ALPHA

Letras minúsculas: NÃO

Incluída tabela de valores:

 

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

Modificações efetuadas em DOMA /PWS/ZYGLD593

 

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

Domínio incluído: /PWS/ZYGLD593

Descrição breve incluída (25 caracteres), idioma: PT

"GL - Cliente / Fornecedor"

Classe de desenvolvimento: /PWS/ZYGL

Idioma original: PT

Categoria de dados: CHAR

Número de posições: 1

Comprimento de saída: 1

Rotina de conversão:

Letras minúsculas: NÃO

-Valores individuais

Incluído valor fixo "C"

Texto incluído, idioma: PT (7 caracteres):

"Cliente"

Incluído valor fixo "F"

Texto incluído, idioma: PT (10 caracteres):

"Fornecedor"

Incluída tabela de valores:

 

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

Modificações efetuadas em DTEL /PWS/ZYGLL1387

 

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

Elemento de dados incluído: /PWS/ZYGLL1387

Classe de desenvolvimento: /PWS/ZYGL

Idioma original: PT

Descrição breve incluída: (33 caracteres), idioma: PT

"GL - TIPO DE CLIENTE / FORNECEDOR"

Categoria de dados: Domínio

Domínio: /PWS/ZYGLD588

ID parâmetro: /PWS/ZYCAP003

Nome componente default:

Documentar modificações: NÃO

Nome da ajuda de pesquisa:

Parâmetro da ajuda de pesquisa:

Comprimento máximo do denominador breve: 10

Denominador breve incluído (9 caracteres), idioma: PT

"TpCliente"

Comprimento máximo do denominador médio: 15

Denominador médio incluído (11 caracteres), idioma: PT

"Tp. Cliente"

Comprimento máximo do denominador longo: 20

Denominador longo incluído (15 caracteres), idioma: PT

"Tipo de Cliente"

Comprimento máximo do título: 15

Título incluído (15 caracteres), idioma: PT

"Tipo de Cliente"

 

 

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

Modificações efetuadas em DTEL /PWS/ZYGLL1388

 

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

Elemento de dados incluído: /PWS/ZYGLL1388

Classe de desenvolvimento: /PWS/ZYGL

Idioma original: PT

Descrição breve incluída: (20 caracteres), idioma: PT

"GL - TIPO DE REMESSA"

Categoria de dados: Domínio

Domínio: /PWS/ZYGLD589

ID parâmetro: /PWS/ZYCAP004

Nome componente default:

Documentar modificações: NÃO

Nome da ajuda de pesquisa:

Parâmetro da ajuda de pesquisa:

Comprimento máximo do denominador breve: 04

Denominador breve incluído (4 caracteres), idioma: PT

"TpRe"

Comprimento máximo do denominador médio: 11

Denominador médio incluído (11 caracteres), idioma: PT

"Tp. Remessa"

Comprimento máximo do denominador longo: 15

Denominador longo incluído (15 caracteres), idioma: PT

"Tipo de Remessa"

Comprimento máximo do título: 02

Título incluído (2 caracteres), idioma: PT

"TR"

 

 

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

Modificações efetuadas em DTEL /PWS/ZYGLL1389

 

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

Elemento de dados incluído: /PWS/ZYGLL1389

Classe de desenvolvimento: /PWS/ZYGL

Idioma original: PT

Descrição breve incluída: (27 caracteres), idioma: PT

"GL - CHAVE DÉBITO / CRÉDITO"

Categoria de dados: Domínio

Domínio: BSCHL

ID parâmetro:

Nome componente default:

Documentar modificações: NÃO

Nome da ajuda de pesquisa:

Parâmetro da ajuda de pesquisa:

Comprimento máximo do denominador breve: 07

Denominador breve incluído (7 caracteres), idioma: PT

"Ch.D.C."

Comprimento máximo do denominador médio: 20

Denominador médio incluído (20 caracteres), idioma: PT

"Ch. Débito / Crédito"

Comprimento máximo do denominador longo: 22

Denominador longo incluído (22 caracteres), idioma: PT

"Chave Débito / Crédito"

Comprimento máximo do título: 07

Título incluído (7 caracteres), idioma: PT

"Ch.D.C."

 

 

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

Modificações efetuadas em DTEL /PWS/ZYGLL1390

 

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

Elemento de dados incluído: /PWS/ZYGLL1390

Classe de desenvolvimento: /PWS/ZYGL

Idioma original: PT

Descrição breve incluída: (50 caracteres), idioma: PT

"GL - TIPO DE PROCESSO PARA PAGAMENTO/FINANCIAMENTO"

Categoria de dados: Domínio

Domínio: /PWS/ZYGLD591

ID parâmetro:

Nome componente default:

Documentar modificações: NÃO

Nome da ajuda de pesquisa:

Parâmetro da ajuda de pesquisa:

Comprimento máximo do denominador breve: 10

Denominador breve incluído (8 caracteres), idioma: PT

"Tp Proc."

Comprimento máximo do denominador médio: 20

Denominador médio incluído (20 caracteres), idioma: PT

"Tp. de Processamento"

Comprimento máximo do denominador longo: 21

Denominador longo incluído (21 caracteres), idioma: PT

"Tipo de Processamento"

Comprimento máximo do título: 20

Título incluído (20 caracteres), idioma: PT

"Tp. de Processamento"

 

 

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

Modificações efetuadas em DTEL /PWS/ZYGLL1391

 

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

Elemento de dados incluído: /PWS/ZYGLL1391

Classe de desenvolvimento: /PWS/ZYGL

Idioma original: PT

Descrição breve incluída: (30 caracteres), idioma: PT

"GL - Nº SEQUENCIAL DO PROCESSO"

Categoria de dados: Domínio

Domínio: /PWS/ZYGLD592

ID parâmetro:

Nome componente default:

Documentar modificações: NÃO

Nome da ajuda de pesquisa:

Parâmetro da ajuda de pesquisa:

Comprimento máximo do denominador breve: 10

Denominador breve incluído (10 caracteres), idioma: PT

"Nº Seq.Pr."

Comprimento máximo do denominador médio: 16

Denominador médio incluído (16 caracteres), idioma: PT

"Nº Seq. Processo"

Comprimento máximo do denominador longo: 25

Denominador longo incluído (25 caracteres), idioma: PT

"Nº Sequencial do Processo"

Comprimento máximo do título: 16

Título incluído (16 caracteres), idioma: PT

"Nº Seq. Processo"

 

 

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

Modificações efetuadas em DTEL /PWS/ZYGLL1392

 

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

Elemento de dados incluído: /PWS/ZYGLL1392

Classe de desenvolvimento: /PWS/ZYGL

Idioma original: PT

Descrição breve incluída: (20 caracteres), idioma: PT

"GL - Tipo de Cliente"

Categoria de dados: Domínio

Domínio: /PWS/ZYGLD593

ID parâmetro:

Nome componente default:

Documentar modificações: NÃO

Nome da ajuda de pesquisa:

Parâmetro da ajuda de pesquisa:

Comprimento máximo do denominador breve: 10

Denominador breve incluído (6 caracteres), idioma: PT

"Tp Cli"

Comprimento máximo do denominador médio: 15

Denominador médio incluído (13 caracteres), idioma: PT

"Tp de Cliente"

Comprimento máximo do denominador longo: 20

Denominador longo incluído (15 caracteres), idioma: PT

"Tipo de Cliente"

Comprimento máximo do título: 13

Título incluído (13 caracteres), idioma: PT

"Tp de Cliente"

 

 

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

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

 

 

SOLICITAR TELA 0002 PARA DOWNLOAD

 

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

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

 

SOLICITAR TELA 0100 PARA DOWNLOAD

 

 

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

Modificações efetuadas em DYNP /PWS/SAPMZYCA109                        0101

 

SOLICITAR TELA 0101 PARA DOWNLOAD

 

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

Modificações efetuadas em DYNP /PWS/SAPMZYCA109                        0105

 

SOLICITAR TELA 0105 PARA DOWNLOAD

 

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

Modificações efetuadas em DYNP /PWS/SAPMZYCA109                        0121

 

SOLICITAR TELA 0121 PARA DOWNLOAD

 

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

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

 

SOLICITAR TELA 0200 PARA DOWNLOAD

 

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

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

 

SOLICITAR TELA 0001 PARA DOWNLOAD

 

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

Modificações efetuadas em ENQU /PWS/EZYCAT027

 

OBJETO DE BLOQUEIO: /PWS/EZYCAT027

DESCRIÇÃO BREVE: CA - Objeto de Bloqueio tabela /PWS/ZYCAT027

 

CARACTERÍSTICAS

 

(_) AUTORIZAR RFC

 

TABELAS

 

TABELA PRIMÁRIA:

NOME:               /PWS/ZYCAT027

MODO DE BLOQUEIO:   BLOQUEIO DE ESCRITA

 

TABELAS SECUNDÁRIAS:

NOME:                 MODO BLOQUEIO:

 

PARAM. BLOQUEIO

 

POND:       PARÂMETRO DE BLOQUEIO:       TABELA:          NOME CAMPO:

X           MANDT                        /PWS/ZYCAT027    MANDT

X           KOART                        /PWS/ZYCAT027    KOART

X           SHKZG                        /PWS/ZYCAT027    SHKZG

X           BSCHL                        /PWS/ZYCAT027    BSCHL

 

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

Modificações efetuadas em FUNC /PWS/ZYCAA027

 

MODIFICAR MÓDULO DE FUNÇÃO: /PWS/ZYCAA027

CARACTERÍSTICAS

 

CLASSIFICAÇÃO:

GRUPO DE FUNÇÕES: /PWS/ZYCAGF

TEXTO BREVE: CM - Assoc. Faturas de Importação - C. Crédito

 

TIPO DE EXECUÇÃO:

(X) - MÓDULO DE FUNÇÃO NORMAL

(_) - MÓDULO DE ACESSO REMOTO

(_) - MÓDULO DE ATUALIZAÇÃO

     (X) - INÍCIO IMEDIATO

     (_) - INÍCIO IMEDIATO-SEM ATUAL.POSTER.

     (_) - INÍC. RETARDADO

     (_) - PROCES. CLOETIVO

 

DADOS GERAIS:

(_) - BLOQUEIO PROCESSO

(_) - GLOBAL

 

IMPORTAÇÃO:

NOME PARAM.   ATRIB. TIPO REFERÊNCIA  VL. PROPOSTO OPCIONAL TRANSF. TEXT

 

EXPORTAÇÃO:

NOME PARAM.   ATRIB. TIPO REFERÊNCIA   TRANSF.  TEXTO BREVE

 

MODIFIC.:

NOME PARAM.   ATRIB. TIPO REFERÊNCIA  VL. PROPOSTO OPCIONAL TRANSF. TEXT

SHLP          TYPE   SHLP_DESCR_T                           X

CALLCONTROL   LIKE   DDSHF4CTRL                             X

 

TABELAS:

NOME PARAM.   ATRIB. TIPO REFERÊNCIA  OPCIONAL TEXTO BREVE

SHLP_TAB      TYPE   SHLP_DESCR_TAB_T

RECORD_TAB    LIKE   SEAHLPRES                 Ajuda pesq.estr.resultado

 

EXCEÇÕES:

EXCEÇÃO                    TEXTO BREVE

 

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

FUNCTION /PWS/ZYCAA027.

  TYPE-POOLS:

    shlp.

  TYPES:

    BEGIN OF t_s_dados,

     bschl       TYPE tbsl-bschl,

     koart       TYPE tbsl-koart,

     shkzg       TYPE tbsl-shkzg,

     ltext       TYPE tbslt-ltext,

    END OF t_s_dados,

    t_t_dados TYPE STANDARD TABLE OF t_s_dados.

  DATA:

    itab_dados     TYPE t_t_dados,

    itab_dados_aux TYPE t_t_dados,

    wa_dados       LIKE LINE OF itab_dados,                  "#EC *

    v_fieldname    TYPE dfies-lfieldname.

  FIELD-SYMBOLS:

    <fs_shlp>       LIKE LINE OF shlp_tab,

    <fs_fielddescr> LIKE LINE OF shlp_tab-fielddescr,

    <fs_dados>      LIKE LINE OF itab_dados.

  DATA: v_koart  TYPE /PWS/ZYCAT027-koart,

        v_shkzg  TYPE /PWS/ZYCAT027-shkzg.

  GET PARAMETER ID 'KOART' FIELD  v_koart.

  GET PARAMETER ID 'SHKZG' FIELD  v_shkzg.

    READ TABLE shlp_tab INDEX 1 ASSIGNING <fs_shlp>.

    CHECK <fs_shlp> IS ASSIGNED.

    LOOP AT <fs_shlp>-fielddescr ASSIGNING <fs_fielddescr>.

      CHECK <fs_fielddescr>-fieldname = 'BSCHL' OR

            <fs_fielddescr>-fieldname = 'KOART' OR

            <fs_fielddescr>-fieldname = 'SHKZG' OR

            <fs_fielddescr>-fieldname = 'LTEXT'.

      v_fieldname = <fs_fielddescr>-fieldname.

      CALL FUNCTION 'F4UT_PARAMETER_VALUE_GET'

           EXPORTING

                parameter         = <fs_fielddescr>-fieldname

                fieldname         = v_fieldname

           TABLES

                shlp_tab          = shlp_tab

                record_tab        = record_tab

                results_tab       = itab_dados

           CHANGING

                shlp              = shlp

                callcontrol       = callcontrol

           EXCEPTIONS

                parameter_unknown = 1

                OTHERS            = 2.

      IF sy-subrc <> 0.

        EXIT.

      ENDIF.

    ENDLOOP.

    UNASSIGN: <fs_shlp>, <fs_fielddescr>.

    LOOP AT itab_dados ASSIGNING <fs_dados>.

      IF NOT <fs_dados>-koart EQ v_koart OR

         NOT <fs_dados>-shkzg EQ v_shkzg.

         DELETE record_tab INDEX sy-tabix.

         DELETE itab_dados.

      ENDIF.

    ENDLOOP.

ENDFUNCTION.

* << Fim da inclusão

 

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

Modificações efetuadas em FUNC /PWS/ZYCAA028

 

MODIFICAR MÓDULO DE FUNÇÃO: /PWS/ZYCAA028

CARACTERÍSTICAS

 

CLASSIFICAÇÃO:

GRUPO DE FUNÇÕES: /PWS/ZYCBGF3

TEXTO BREVE: Exit para /PWS/ZYCBA249

 

TIPO DE EXECUÇÃO:

(X) - MÓDULO DE FUNÇÃO NORMAL

(_) - MÓDULO DE ACESSO REMOTO

(_) - MÓDULO DE ATUALIZAÇÃO

     (X) - INÍCIO IMEDIATO

     (_) - INÍCIO IMEDIATO-SEM ATUAL.POSTER.

     (_) - INÍC. RETARDADO

     (_) - PROCES. CLOETIVO

 

DADOS GERAIS:

(_) - BLOQUEIO PROCESSO

(_) - GLOBAL

 

IMPORTAÇÃO:

NOME PARAM.   ATRIB. TIPO REFERÊNCIA  VL. PROPOSTO OPCIONAL TRANSF. TEXT

 

EXPORTAÇÃO:

NOME PARAM.   ATRIB. TIPO REFERÊNCIA   TRANSF.  TEXTO BREVE

 

MODIFIC.:

NOME PARAM.   ATRIB. TIPO REFERÊNCIA  VL. PROPOSTO OPCIONAL TRANSF. TEXT

SHLP          TYPE   SHLP_DESCR_T                           X

CALLCONTROL   LIKE   DDSHF4CTRL                             X

 

TABELAS:

NOME PARAM.   ATRIB. TIPO REFERÊNCIA  OPCIONAL TEXTO BREVE

SHLP_TAB      TYPE   SHLP_DESCR_TAB_T

RECORD_TAB    LIKE   SEAHLPRES                 Ajuda pesq.estr.resultado

 

EXCEÇÕES:

EXCEÇÃO                    TEXTO BREVE

 

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

  TYPE-POOLS:

    shlp.

 

  TYPES:

    BEGIN OF t_s_dados,

     bukrs       TYPE /pws/zycbt119-bukrs,

     j_1bbranch  TYPE /pws/zycbt119-j_1bbranch,

     gsber       TYPE /pws/zycbt119-gsber,

     werks       TYPE /pws/zycbt119-werks,

     nrpagto     TYPE /pws/zycbt119-nrpagto,

     nrseq       TYPE /pws/zycbt119-nrseq,

     lifnr       TYPE /pws/zycbt119-lifnr,

     waers       TYPE /pws/zycbt119-waers,

     vlme        TYPE /pws/zycbt119-vlme,

     slpgfat     TYPE /pws/zycbt119-slpgfat,

     belnr_p     TYPE /pws/zycbt119-belnr_p,

    END OF t_s_dados,

    t_t_dados TYPE STANDARD TABLE OF t_s_dados.

 

  DATA: BEGIN OF itab_zycbt064 OCCURS 0.

            INCLUDE STRUCTURE /pws/zycbt064.

  DATA: END OF itab_zycbt064.

 

  DATA:

    itab_dados   TYPE t_t_dados,

    wa_dados     LIKE LINE OF itab_dados,                  "#EC *

    v_fieldname  TYPE dfies-lfieldname,

    v_tabix      TYPE sy-tabix.

 

  FIELD-SYMBOLS:

    <fs_shlp>       LIKE LINE OF shlp_tab,

    <fs_fielddescr> LIKE LINE OF shlp_tab-fielddescr,

    <fs_dados>      LIKE LINE OF itab_dados.

 

CHECK callcontrol-step EQ 'DISP'.

 

*   Busca na tabela shlp_tab os dados relativos aos campos.

    READ TABLE shlp_tab INDEX 1 ASSIGNING <fs_shlp>.

    CHECK <fs_shlp> IS ASSIGNED.

*   Transfere os dados da record_tab para os respectivos campos da

*   tabela interna.

    LOOP AT <fs_shlp>-fielddescr ASSIGNING <fs_fielddescr>.

      CHECK <fs_fielddescr>-fieldname = 'BUKRS'      OR

            <fs_fielddescr>-fieldname = 'J_1BBRANCH' OR

            <fs_fielddescr>-fieldname = 'GSBER'      OR

            <fs_fielddescr>-fieldname = 'WERKS'      OR

            <fs_fielddescr>-fieldname = 'NRPAGTO'    OR

            <fs_fielddescr>-fieldname = 'NRSEQ'      OR

            <fs_fielddescr>-fieldname = 'LIFNR'      OR

            <fs_fielddescr>-fieldname = 'WAERS'      OR

            <fs_fielddescr>-fieldname = 'VLME'       OR

            <fs_fielddescr>-fieldname = 'SLPGFAT'    OR

            <fs_fielddescr>-fieldname = 'BELNR_P'.

 

      v_fieldname = <fs_fielddescr>-fieldname.

      CALL FUNCTION 'F4UT_PARAMETER_VALUE_GET'

           EXPORTING

                parameter         = <fs_fielddescr>-fieldname

                fieldname         = v_fieldname

           TABLES

                shlp_tab          = shlp_tab

                record_tab        = record_tab

                results_tab       = itab_dados

           CHANGING

                shlp              = shlp

                callcontrol       = callcontrol

           EXCEPTIONS

                parameter_unknown = 1

                OTHERS            = 2.

      IF sy-subrc <> 0.

        EXIT.

      ENDIF.

    ENDLOOP.

    UNASSIGN: <fs_shlp>, <fs_fielddescr>.

 

    SELECT *

      INTO TABLE itab_zycbt064

      FROM /PWS/ZYCBT064

      FOR ALL ENTRIES IN itab_dados

     WHERE MDCORRESP = 'IP'

       AND NRCHAVE   = itab_dados-nrseq.

 

*   Elimina da record_tab entradas sem saldo

    LOOP AT itab_dados ASSIGNING <fs_dados>.

     v_tabix = sy-tabix.

     READ TABLE itab_zycbt064 WITH KEY nrchave = <fs_dados>-nrseq.

      IF NOT <fs_dados>-slpgfat > 0 OR

             sy-subrc NE 0          OR

             <fs_dados>-belnr_p EQ SPACE.

        DELETE record_tab INDEX v_tabix.

        DELETE itab_dados.

      ENDIF.

    ENDLOOP.

 

ENDFUNCTION.

* << Fim da inclusão

 

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

Modificações efetuadas em FUNC /PWS/ZYCAA029

 

MODIFICAR MÓDULO DE FUNÇÃO: /PWS/ZYCAA029

CARACTERÍSTICAS

 

CLASSIFICAÇÃO:

GRUPO DE FUNÇÕES: /PWS/ZYCBGF3

TEXTO BREVE: Exit para /PWS/ZYCBA249

 

TIPO DE EXECUÇÃO:

(X) - MÓDULO DE FUNÇÃO NORMAL

(_) - MÓDULO DE ACESSO REMOTO

(_) - MÓDULO DE ATUALIZAÇÃO

     (X) - INÍCIO IMEDIATO

     (_) - INÍCIO IMEDIATO-SEM ATUAL.POSTER.

     (_) - INÍC. RETARDADO

     (_) - PROCES. CLOETIVO

 

DADOS GERAIS:

(_) - BLOQUEIO PROCESSO

(_) - GLOBAL

 

IMPORTAÇÃO:

NOME PARAM.   ATRIB. TIPO REFERÊNCIA  VL. PROPOSTO OPCIONAL TRANSF. TEXT

 

EXPORTAÇÃO:

NOME PARAM.   ATRIB. TIPO REFERÊNCIA   TRANSF.  TEXTO BREVE

 

MODIFIC.:

NOME PARAM.   ATRIB. TIPO REFERÊNCIA  VL. PROPOSTO OPCIONAL TRANSF. TEXT

SHLP          TYPE   SHLP_DESCR_T                           X

CALLCONTROL   LIKE   DDSHF4CTRL                             X

 

TABELAS:

NOME PARAM.   ATRIB. TIPO REFERÊNCIA  OPCIONAL TEXTO BREVE

SHLP_TAB      TYPE   SHLP_DESCR_TAB_T

RECORD_TAB    LIKE   SEAHLPRES                 Ajuda pesq.estr.resultado

 

EXCEÇÕES:

EXCEÇÃO                    TEXTO BREVE

 

* >> Início da inclusão:

FUNCTION /PWS/ZYCAA029.

  TYPE-POOLS:

    shlp.

  TYPES:

    BEGIN OF t_s_dados,

     bukrs       TYPE /pws/zycbt117-bukrs,

     j_1bbranch  TYPE /pws/zycbt117-j_1bbranch,

     gsber       TYPE /pws/zycbt117-gsber,

     werks       TYPE /pws/zycbt117-werks,

     nrseq       TYPE /pws/zycbt117-nrseq,

     lifnr       TYPE /pws/zycbt117-lifnr,

     waers       TYPE /pws/zycbt117-waers,

     vlme        TYPE /pws/zycbt117-vlme,

     slpgant     TYPE /pws/zycbt117-slpgant,

     belnr_p     TYPE /pws/zycbt117-belnr_p,

    END OF t_s_dados,

    t_t_dados TYPE STANDARD TABLE OF t_s_dados.

  DATA: BEGIN OF itab_zycbt064 OCCURS 0.

            INCLUDE STRUCTURE /pws/zycbt064.

  DATA: END OF itab_zycbt064.

  DATA:

    itab_dados   TYPE t_t_dados,

    wa_dados     LIKE LINE OF itab_dados,                  "#EC *

    v_fieldname  TYPE dfies-lfieldname,

    v_tabix      TYPE sy-tabix.

  FIELD-SYMBOLS:

    <fs_shlp>       LIKE LINE OF shlp_tab,

    <fs_fielddescr> LIKE LINE OF shlp_tab-fielddescr,

    <fs_dados>      LIKE LINE OF itab_dados.

CHECK callcontrol-step EQ 'DISP'.

    READ TABLE shlp_tab INDEX 1 ASSIGNING <fs_shlp>.

    CHECK <fs_shlp> IS ASSIGNED.

    LOOP AT <fs_shlp>-fielddescr ASSIGNING <fs_fielddescr>.

      CHECK <fs_fielddescr>-fieldname = 'BUKRS'      OR

            <fs_fielddescr>-fieldname = 'J_1BBRANCH' OR

            <fs_fielddescr>-fieldname = 'GSBER'      OR

            <fs_fielddescr>-fieldname = 'WERKS'      OR

            <fs_fielddescr>-fieldname = 'NRSEQ'      OR

            <fs_fielddescr>-fieldname = 'LIFNR'      OR

            <fs_fielddescr>-fieldname = 'WAERS'      OR

            <fs_fielddescr>-fieldname = 'VLME'       OR

            <fs_fielddescr>-fieldname = 'SLPGANT'    OR

            <fs_fielddescr>-fieldname = 'BELNR_P'.

      v_fieldname = <fs_fielddescr>-fieldname.

      CALL FUNCTION 'F4UT_PARAMETER_VALUE_GET'

           EXPORTING

                parameter         = <fs_fielddescr>-fieldname

                fieldname         = v_fieldname

           TABLES

                shlp_tab          = shlp_tab

                record_tab        = record_tab

                results_tab       = itab_dados

           CHANGING

                shlp              = shlp

                callcontrol       = callcontrol

           EXCEPTIONS

                parameter_unknown = 1

                OTHERS            = 2.

      IF sy-subrc <> 0.

        EXIT.

      ENDIF.

    ENDLOOP.

    UNASSIGN: <fs_shlp>, <fs_fielddescr>.

    SELECT *

      INTO TABLE itab_zycbt064

      FROM /PWS/ZYCBT064

      FOR ALL ENTRIES IN itab_dados

     WHERE MDCORRESP = 'IA'

       AND NRCHAVE   = itab_dados-nrseq.

    LOOP AT itab_dados ASSIGNING <fs_dados>.

     v_tabix = sy-tabix.

     READ TABLE itab_zycbt064 WITH KEY nrchave = <fs_dados>-nrseq.

      IF NOT <fs_dados>-slpgant > 0 OR

             sy-subrc NE 0          OR

             <fs_dados>-belnr_p EQ SPACE.

        DELETE record_tab INDEX v_tabix.

        DELETE itab_dados.

      ENDIF.

    ENDLOOP.

ENDFUNCTION.

* << Fim da inclusão

 

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

Modificações efetuadas em FUNC /PWS/ZYCAA030

 

MODIFICAR MÓDULO DE FUNÇÃO: /PWS/ZYCAA030

CARACTERÍSTICAS

 

CLASSIFICAÇÃO:

GRUPO DE FUNÇÕES: /PWS/ZYCBGF3

TEXTO BREVE: Exit para /PWS/ZYCBA249

 

TIPO DE EXECUÇÃO:

(X) - MÓDULO DE FUNÇÃO NORMAL

(_) - MÓDULO DE ACESSO REMOTO

(_) - MÓDULO DE ATUALIZAÇÃO

     (X) - INÍCIO IMEDIATO

     (_) - INÍCIO IMEDIATO-SEM ATUAL.POSTER.

     (_) - INÍC. RETARDADO

     (_) - PROCES. CLOETIVO

 

DADOS GERAIS:

(_) - BLOQUEIO PROCESSO

(_) - GLOBAL

 

IMPORTAÇÃO:

NOME PARAM.   ATRIB. TIPO REFERÊNCIA  VL. PROPOSTO OPCIONAL TRANSF. TEXT

 

EXPORTAÇÃO:

NOME PARAM.   ATRIB. TIPO REFERÊNCIA   TRANSF.  TEXTO BREVE

 

MODIFIC.:

NOME PARAM.   ATRIB. TIPO REFERÊNCIA  VL. PROPOSTO OPCIONAL TRANSF. TEXT

SHLP          TYPE   SHLP_DESCR_T                           X

CALLCONTROL   LIKE   DDSHF4CTRL                             X

 

TABELAS:

NOME PARAM.   ATRIB. TIPO REFERÊNCIA  OPCIONAL TEXTO BREVE

SHLP_TAB      TYPE   SHLP_DESCR_TAB_T

RECORD_TAB    LIKE   SEAHLPRES                 Ajuda pesq.estr.resultado

 

EXCEÇÕES:

EXCEÇÃO                    TEXTO BREVE

 

* >> Início da inclusão:

FUNCTION /PWS/ZYCAA030.

  TYPE-POOLS:

    shlp.

  TYPES:

    BEGIN OF t_s_dados,

     bukrs       TYPE /pws/zycbt112-bukrs,

     j_1bbranch  TYPE /pws/zycbt112-j_1bbranch,

     gsber       TYPE /pws/zycbt112-gsber,

     werks       TYPE /pws/zycbt112-werks,

     nrfinanc    TYPE /pws/zycbt112-nrfinanc,

     nrseq       TYPE /pws/zycbt112-nrseq,

     lifnr       TYPE /pws/zycbt112-lifnr,

     waers       TYPE /pws/zycbt112-waers,

     vlme        TYPE /pws/zycbt112-vlme,

     slassoc     TYPE /pws/zycbt112-slassoc,

     belnr_as    TYPE /pws/zycbt112-belnr_as,

    END OF t_s_dados,

    t_t_dados TYPE STANDARD TABLE OF t_s_dados.

  DATA:

    itab_dados   TYPE t_t_dados,

    wa_dados     LIKE LINE OF itab_dados,                  "#EC *

    v_fieldname  TYPE dfies-lfieldname,

    v_tabix      TYPE sy-tabix.

  FIELD-SYMBOLS:

    <fs_shlp>       LIKE LINE OF shlp_tab,

    <fs_fielddescr> LIKE LINE OF shlp_tab-fielddescr,

    <fs_dados>      LIKE LINE OF itab_dados.

CHECK callcontrol-step EQ 'DISP'.

    READ TABLE shlp_tab INDEX 1 ASSIGNING <fs_shlp>.

    CHECK <fs_shlp> IS ASSIGNED.

    LOOP AT <fs_shlp>-fielddescr ASSIGNING <fs_fielddescr>.

      CHECK <fs_fielddescr>-fieldname = 'BUKRS'      OR

            <fs_fielddescr>-fieldname = 'J_1BBRANCH' OR

            <fs_fielddescr>-fieldname = 'GSBER'      OR

            <fs_fielddescr>-fieldname = 'WERKS'      OR

            <fs_fielddescr>-fieldname = 'NRFINANC'   OR

            <fs_fielddescr>-fieldname = 'NRSEQ'      OR

            <fs_fielddescr>-fieldname = 'LIFNR'      OR

            <fs_fielddescr>-fieldname = 'WAERS'      OR

            <fs_fielddescr>-fieldname = 'VLME'       OR

            <fs_fielddescr>-fieldname = 'SLASSOC'    OR

            <fs_fielddescr>-fieldname = 'BELNR_AS'.

      v_fieldname = <fs_fielddescr>-fieldname.

      CALL FUNCTION 'F4UT_PARAMETER_VALUE_GET'

           EXPORTING

                parameter         = <fs_fielddescr>-fieldname

                fieldname         = v_fieldname

           TABLES

                shlp_tab          = shlp_tab

                record_tab        = record_tab

                results_tab       = itab_dados

           CHANGING

                shlp              = shlp

                callcontrol       = callcontrol

           EXCEPTIONS

                parameter_unknown = 1

                OTHERS            = 2.

      IF sy-subrc <> 0.

        EXIT.

      ENDIF.

    ENDLOOP.

    UNASSIGN: <fs_shlp>, <fs_fielddescr>.

    LOOP AT itab_dados ASSIGNING <fs_dados>.

      v_tabix = sy-tabix.

      IF NOT <fs_dados>-slassoc > 0 OR

             <fs_dados>-belnr_as EQ SPACE.

        DELETE record_tab INDEX v_tabix.

        DELETE itab_dados.

      ENDIF.

    ENDLOOP.

ENDFUNCTION.

* << Fim da inclusão

 

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

Modificações efetuadas em FUNC /PWS/ZYCA_TRANSACAO_F_02R

 

 

IMPORTAÇÃO:

NOME PARAM.   ATRIB. TIPO REFERÊNCIA      VL. PROPOSTO OPCIONAL TRANSF. TEXT

 

V_VKOART      LIKE   /PWS/ZYCAT027-KOART      ' '        'X'     'X'    GL - TIPO DE CLIENTE /

                                                                        FORNECEDOR

V_SHKZG       LIKE   /PWS/ZYCAT027-SHKZG      ' '        'X'     'X'    GL - TIPO DE REMESSA

 

 

 

...

      WRITE: t_dados-dmbtr TO v_dmbtr CURRENCY t_dados-waersb.

      IF t_dados-newbs = '40'.

        PERFORM bdc_screen USING 'SAPMF05A' '0300'.

        READ TABLE itab_oculto WITH KEY campo = 'BSEG-VALUT'

                                        chave = 'D'.

        IF sy-subrc NE 0 AND NOT t_dados-d_valut IS INITIAL.

          WRITE t_dados-d_valut TO v_valut.

          PERFORM bdc_field  USING 'BSEG-VALUT' v_valut.

        ENDIF.

      ELSE.

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

       IF v_vkoart = 'F' AND v_shkzg = 'D'.

        PERFORM bdc_screen USING 'SAPMF05A' '0302'.

        READ TABLE itab_oculto WITH KEY campo = 'COBL-GSBER'

                                        chave = 'D'.

        IF sy-subrc <> 0.

          IF NOT t_dados-d_gsber IS INITIAL.

            PERFORM bdc_field  USING 'BSEG-GSBER' t_dados-d_gsber.

          ENDIF.

        ENDIF.

        PERFORM bdc_field  USING:

                'BSEG-ZTERM'  t_dados-zterm.

        READ TABLE itab_oculto WITH KEY campo = 'BSEG-ZFBDT'

                                        chave = 'D'.

        IF sy-subrc <> 0.

          IF NOT v_database IS INITIAL.

           PERFORM bdc_field  USING 'BSEG-ZFBDT'  v_database.

          ENDIF.

        ENDIF.

       ELSE.

* << Fim da inclusão

        PERFORM bdc_screen USING 'SAPMF05A' '0301'.

        PERFORM bdc_field USING:

                'BSEG-SKFBT' v_base_char,

                'BSEG-ZTERM'  t_dados-zterm.

        READ TABLE itab_oculto WITH KEY campo = 'COBL-GSBER'

                                        chave = 'D'.

        IF sy-subrc <> 0.

          IF NOT t_dados-d_gsber IS INITIAL.

            PERFORM bdc_field  USING 'BSEG-GSBER' t_dados-d_gsber.

          ENDIF.

        ENDIF.

        READ TABLE itab_oculto WITH KEY campo = 'BSEG-ZFBDT'

                                        chave = 'D'.

        IF sy-subrc <> 0.

          IF NOT v_database IS INITIAL.

       PERFORM bdc_field  USING 'BSEG-ZFBDT'  v_database.

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

          ENDIF.

* << Fim da inclusão

          ENDIF.

        ENDIF.

      ENDIF.

      IF NOT t_dados-d_sgtxt IS INITIAL.

        PERFORM bdc_field  USING 'BSEG-SGTXT' t_dados-d_sgtxt.

      ENDIF.

      IF NOT t_dados-brnch IS INITIAL.

        PERFORM bdc_field  USING 'BSEG-BUPLA'  t_dados-brnch.

      ENDIF.

      PERFORM bdc_field  USING:

...

 

 

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

Modificações efetuadas em FUNC /PWS/ZYCA_TRANSACAO_F_51P

 

IMPORTAÇÃO:

NOME PARAM.   ATRIB. TIPO REFERÊNCIA      VL. PROPOSTO OPCIONAL TRANSF. TEXT

 

V_VKOART      LIKE   /PWS/ZYCAT027-KOART      ' '        'X'     'X'    GL - TIPO DE CLIENTE /

                                                                        FORNECEDOR

V_VSHKZG      LIKE   /PWS/ZYCAT027-SHKZG      ' '        'X'     'X'    GL - TIPO DE REMESSA

 

...

        PERFORM bdc_field USING: 'RF05A-NEWBS' t_dados-newbs.

        IF t_dados-newbs EQ '50'.

          CLEAR t_dados-newbs.

        ENDIF.

      ENDIF.

      WRITE: t_dados-d_valut TO v_data_val_char,

             t_dados-wrbtr TO v_wrbtr  CURRENCY     t_dados-waers.

      IF t_dados-newbs IS INITIAL.

        PERFORM bdc_screen USING: 'SAPMF05A'     '0300'.

      ELSE.

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

       IF v_vkoart = 'C' AND v_vshkzg = 'C'.

        PERFORM bdc_screen USING 'SAPMF05A' '0301'.

       ELSEIF v_vkoart = 'F' AND v_vshkzg = 'C'.

* << Fim da inclusão

        PERFORM bdc_screen USING 'SAPMF05A' '0302'.

      ENDIF.

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

      ENDIF.

* << Fim da inclusão

      IF NOT t_dados-zfbdt = '00000000' AND

         NOT t_dados-zfbdt = '        '.

        WRITE t_dados-zfbdt TO v_zfbdt.

        PERFORM bdc_field USING 'BSEG-ZFBDT' v_zfbdt.

      ENDIF.

...

 

...

        IF sy-subrc <> 0.

          IF NOT t_dados-d_gsber IS INITIAL.

            PERFORM bdc_field  USING 'COBL-GSBER' t_dados-d_gsber.

          ENDIF.

        ENDIF.

        PERFORM bdc_field USING:

             'BDC_OKCODE'   '=ENTE'.

        IF t_dados-newbs IS INITIAL.

          PERFORM bdc_screen USING: 'SAPMF05A'     '0300'.

        ELSE.

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

          IF v_vkoart = 'C' AND v_vshkzg = 'C'.

          PERFORM bdc_screen USING: 'SAPMF05A'     '0301'.

          ELSEIF v_vkoart = 'F' AND v_vshkzg = 'C'.

* << Fim da inclusão

          PERFORM bdc_screen USING: 'SAPMF05A'     '0302'.

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

          ENDIF.

* << Fim da inclusão

        ENDIF.

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

        PERFORM bdc_screen USING 'SAPLKACB' '0002'.

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

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

      ELSEIF t_dados-newbs EQ '31'.

* << Fim da exclusão

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

      ELSEIF ( v_vkoart = 'C' AND v_vshkzg = 'C' ).

        PERFORM bdc_screen USING 'SAPMF05A' '0301'.

        PERFORM bdc_field USING  'BDC_OKCODE'   '=PA'.

      ELSEIF ( v_vkoart = 'F' AND v_vshkzg = 'C' ) OR

              t_dados-newbs EQ '31'.

* << Fim da inclusão

        PERFORM bdc_screen USING 'SAPMF05A' '0302'.

        PERFORM bdc_field USING  'BDC_OKCODE'   '=PA'.

      ENDIF.

    ENDIF.

    WRITE wa_zycbt089-num_selecao TO v_selecao.

    IF v_selecao GT v_xpos_belnr.

      SHIFT v_xpos_belnr LEFT DELETING LEADING  '0'.

      PERFORM bdc_screen USING 'SAPMF05A' '0710'.

      CONCATENATE 'RF05A-XPOS1(' v_xpos_belnr ')' INTO v_xpos_belnr2.

      PERFORM bdc_field USING:

...

 

...

      PERFORM bdc_field USING 'BDC_OKCODE'  '=BS'.

      PERFORM verifica_empresas USING t_dados-bukrs

                                      'UMBUCHNG'

                                       t_dados-agkon

                                       t_dados-agkoa.

      PERFORM bdc_screen USING 'SAPMF05A' '0700'.

      CONCATENATE 'RF05A-AZEI1(' v_cont ')' INTO v_campo.

      PERFORM bdc_field USING:

        'BDC_CURSOR'  'RF05A-AZEI1(02)',

        'BDC_OKCODE'  '=PI'.

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

       IF v_vkoart = 'C' AND v_vshkzg = 'C'.

        PERFORM bdc_screen USING 'SAPMF05A'   '0301'.

       ELSEIF v_vkoart = 'F' AND v_vshkzg = 'C'.

* << Fim da inclusão

      PERFORM bdc_screen USING 'SAPMF05A'   '0302'.

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

       ENDIF.

* << Fim da inclusão

      IF NOT t_dados-c_sgtxt IS INITIAL.

        PERFORM bdc_field USING: 'BDC_CURSOR' 'BSEG-SGTXT',

                                 'BSEG-SGTXT' t_dados-c_sgtxt.

      ENDIF.

      PERFORM bdc_field USING: 'BSEG-ZUONR' v_zuonr,

                               'BDC_OKCODE' '=BU'.

...

 

 

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

Modificações efetuadas em FUNC /PWS/ZYCA_TRANSACAO_F_51Q

 

IMPORTAÇÃO:

NOME PARAM.   ATRIB. TIPO REFERÊNCIA      VL. PROPOSTO OPCIONAL TRANSF. TEXT

 

V_VKOART      LIKE   /PWS/ZYCAT027-KOART      ' '        'X'     'X'    GL - CHAVE DÉBITO / CRÉDITO

V_VSHKZG      LIKE   /PWS/ZYCAT027-SHKZG      ' '        'X'     'X'    GL - TIPO DE REMESSA

 

...

            'RF05A-NEWKO' t_dados-agkon,

            'BKPF-WAERS'  t_dados-waers,

            'BKPF-BRNCH'  t_dados-brnch,

            'BDC_OKCODE'  '=00'.

    IF NOT t_dados-xblnr IS INITIAL.

      PERFORM bdc_field USING 'BKPF-XBLNR' t_dados-xblnr.

    ENDIF.

    IF t_dados-wrbtr NE 0.

      WRITE: t_dados-d_valut TO v_data_val_char,

             t_dados-wrbtr TO v_wrbtr  CURRENCY     t_dados-waers.

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

      IF t_dados-newbs EQ '01'.

* << Fim da exclusão

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

      IF ( v_vkoart = 'C' AND v_vshkzg = 'C' ) OR

         t_dados-newbs EQ '01'.

* << Fim da inclusão

        PERFORM bdc_screen USING: 'SAPMF05A'     '0301'.

      ELSE.

        PERFORM bdc_screen USING 'SAPMF05A' '0302'.

      ENDIF.

      IF NOT t_dados-zfbdt = '00000000' AND

         NOT t_dados-zfbdt = '        '.

        WRITE t_dados-zfbdt TO v_zfbdt.

        PERFORM bdc_field USING 'BSEG-ZFBDT' v_zfbdt.

      ENDIF.

      PERFORM bdc_field  USING:

...

 

 

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

Modificações efetuadas em FUNC /PWS/ZYCA_TRANSACAO_F_63P

 

 

IMPORTAÇÃO:

NOME PARAM.   ATRIB. TIPO REFERÊNCIA      VL. PROPOSTO OPCIONAL TRANSF. TEXT

 

V_VKOART      LIKE   /PWS/ZYCAT027-KOART      ' '        'X'     'X'    GL - TIPO DE CLIENTE /

                                                                        FORNECEDOR

V_SHKZG       LIKE   /PWS/ZYCAT027-SHKZG      ' '        'X'     'X'    GL - TIPO DE REMESSA

 

 

...

    PERFORM bdc_screen USING 'SAPLF040' '0100'.

    PERFORM bdc_field  USING:

           'BKPF-BLDAT'  v_data_doc_char,

           'BKPF-BLART'  t_dados-blart,

           'BKPF-BUKRS'  t_dados-bukrs,

           'BKPF-BUDAT'  v_data_lanc_char,

           'BKPF-MONAT'  v_monat+1(2),

           'BKPF-WAERS'  t_dados-waers,

           'BKPF-KURSF'  v_kursf,

           'BKPF-XBLNR'  t_dados-xblnr,

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

           'BKPF-BKTXT'  t_dados-bktxt,

           'RF05V-NEWBS' '31'.

* << Fim da exclusão

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

           'BKPF-BKTXT'  t_dados-bktxt.

  IF ( v_vkoart = 'F' AND v_shkzg = 'C' ) OR

     ( v_vkoart = 'C' AND v_shkzg = 'C' ).

       PERFORM bdc_field  USING 'RF05V-NEWBS' t_dados-newbs.

  ELSE.

       PERFORM bdc_field  USING 'RF05V-NEWBS' '31'.

  ENDIF.

* << Fim da inclusão

    if not t_dados-brnch is initial.

      PERFORM bdc_field USING: 'BKPF-BRNCH' t_dados-brnch.

    endif.

    IF NOT ( t_dados-newbs1 IS INITIAL ).

      PERFORM bdc_field  USING 'RF05V-NEWBS' t_dados-newbs1.

    ENDIF.

    PERFORM bdc_field  USING:

          'RF05V-NEWKO' t_dados-agkon,

          'BDC_OKCODE' '/00'.

    SELECT SINGLE * FROM tcurx INTO tcurx WHERE currkey = t_dados-waers.

...

 

 

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

Modificações efetuadas em FUNC /PWS/ZYCA_TRANSACAO_F_63R

 

IMPORTAÇÃO:

NOME PARAM.   ATRIB. TIPO REFERÊNCIA      VL. PROPOSTO OPCIONAL TRANSF. TEXT

 

V_VKOART      LIKE   /PWS/ZYCAT027-KOART      ' '        'X'     'X'    GL - TIPO DE CLIENTE /

                                                                        FORNECEDOR

V_SHKZG       LIKE   /PWS/ZYCAT027-SHKZG      ' '        'X'     'X'    GL - TIPO DE REMESSA

 

 

...

    APPEND t_campo.

    RAISE campo_em_branco.

  ENDIF.

  IF ( t_dados-c_newko = space ).

    t_campo-mandt = t_dados-mandt.

    t_campo-campo = 'RF05V-NEWKO'.

    t_campo-descricao = text-022.

    APPEND t_campo.

    RAISE campo_em_branco.

  ENDIF.

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

  IF t_dados-newbs = '31' OR t_dados-newbs = '21'.

* << Fim da exclusão

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

  IF ( v_vkoart = 'F' AND v_shkzg = 'C' )

     OR t_dados-newbs = '21'

     OR t_dados-newbs = '31'.

* << Fim da inclusão

    v_tamanho = strlen( t_dados-c_newko ).

    MOVE t_dados-c_newko TO v_newko.

    WRITE v_newko TO v_newko_aux RIGHT-JUSTIFIED.

    DO v_tamanho TIMES.

      REPLACE space WITH '0' INTO v_newko_aux.

    ENDDO.

    CLEAR v_conta.

    SELECT akont

      INTO v_conta

      FROM lfb1

      WHERE lifnr = v_newko_aux.

    ENDSELECT.

  ELSE.

    v_conta = t_dados-c_newko.

  ENDIF.

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

  IF t_dados-newbs = '31'.

* << Fim da exclusão

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

  IF ( v_vkoart = 'F' AND v_shkzg = 'C' )

     OR t_dados-newbs = '31'.

* << Fim da inclusão

    PERFORM determina_string USING t_dados-newbs

                                   t_dados-bukrs

                                   v_conta

                          CHANGING v_string_credito.

    CLEAR   itab_oculto.

    REFRESH itab_oculto.

    PERFORM trata_string_credito TABLES t_dados

                                        t_campo

                                        itab_oculto

                                  USING v_string_credito.

...

 

...

    FROM lfbw

      UP TO 1 ROWS

   WHERE lifnr      EQ t_dados-c_newko

    AND   bukrs     EQ t_dados-bukrs

    AND   wt_subjct EQ 'X'.

  ENDSELECT .

  IF sy-subrc EQ 0 AND v_tabix = 1.

    PERFORM bdc_screen USING 'SAPLFWTD' '0100'.

    PERFORM bdc_field USING  'BDC_OKCODE' '/00'.

  ENDIF.

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

  IF t_dados-newbs = '31' OR

* << Fim da exclusão

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

  IF ( v_vkoart = 'F' AND v_shkzg = 'C' ) OR

       t_dados-newbs = '31' OR

* << Fim da inclusão

     t_dados-newbs = '21' OR

     t_dados-newbs = '40'.

    SELECT SINGLE * FROM tcurx INTO tcurx WHERE currkey = t_dados-waers.

    IF tcurx-currdec <> 0 OR sy-subrc <> 0.

      WRITE: t_dados-wrbtr TO v_wrbtr CURRENCY t_dados-waers.

    ELSE.

      WRITE: t_dados-wrbtr TO v_wrbtr DECIMALS tcurx-currdec

                                      CURRENCY t_dados-waers.

    ENDIF.

  ENDIF.

...

 

...

      ENDIF.

      SELECT SINGLE * FROM tcurx INTO tcurx

                      WHERE currkey = t_dados-waers.

      IF tcurx-currdec <> 0 OR sy-subrc <> 0.

        WRITE: t_dados-wrbtr TO v_wrbtr CURRENCY t_dados-waers.

      ELSE.

        WRITE: t_dados-wrbtr TO v_wrbtr DECIMALS tcurx-currdec

                                        CURRENCY t_dados-waers.

      ENDIF.

      WRITE: t_dados-dmbtr TO v_dmbtr CURRENCY t_dados-waersb.

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

      IF t_dados-newbs = '31' OR t_dados-newbs = '21'.

* << Fim da exclusão

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

      IF ( v_vkoart = 'F' AND v_shkzg = 'C' )

        OR t_dados-newbs = '31'

        OR t_dados-newbs = '21'.

* << Fim da inclusão

        PERFORM bdc_screen USING 'SAPLF040' '0302'.

        PERFORM bdc_field  USING:

           'BSEG-ZTERM'  t_dados-zterm,

           'BSEG-WRBTR'  v_wrbtr,

           'BSEG-DMBTR'  v_dmbtr,

           'BSEG-ZUONR'  t_dados-c_zuonr,

           'BSEG-SKFBT'  v_base_char,

           'RF05V-NEWBS' t_debito-bschl,

           'RF05V-NEWKO' t_debito-d_newko,

           'BDC_CURSOR'  'RF05V-NEWKO',

...

 

...

        ENDIF.

        READ TABLE itab_oculto WITH KEY campo = 'BSEG-BUPLA'

                                        chave = v_deb_cred.

        IF sy-subrc NE 0 AND NOT t_dados-brnch IS INITIAL.

          PERFORM bdc_field  USING 'BSEG-BUPLA'  t_dados-brnch.

        ENDIF.

        READ TABLE itab_oculto WITH KEY campo = 'COBL-GSBER'

                                        chave = v_deb_cred.

        IF sy-subrc <> 0 AND NOT t_dados-c_gsber IS INITIAL.

          PERFORM bdc_field  USING 'BSEG-GSBER' t_dados-c_gsber.

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

        ENDIF.

      ELSEIF ( v_vkoart = 'C' AND v_shkzg = 'C' ).

        PERFORM bdc_screen USING 'SAPLF040' '0301'.

        PERFORM bdc_field  USING:

           'BSEG-ZTERM'  t_dados-zterm,

           'BSEG-WRBTR'  v_wrbtr,

           'BSEG-DMBTR'  v_dmbtr,

           'BSEG-ZUONR'  t_dados-c_zuonr,

           'RF05V-NEWBS' t_debito-bschl,

           'RF05V-NEWKO' t_debito-d_newko,

           'BDC_CURSOR'  'RF05V-NEWKO',

           'BDC_OKCODE'  '/00'.

        READ TABLE itab_oculto WITH KEY campo = 'BSEG-BUPLA'

                                        chave = v_deb_cred.

        IF sy-subrc NE 0 AND NOT t_dados-brnch IS INITIAL.

          PERFORM bdc_field  USING 'BSEG-BUPLA'  t_dados-brnch.

        ENDIF.

        READ TABLE itab_oculto WITH KEY campo = 'COBL-GSBER'

                                        chave = v_deb_cred.

        IF sy-subrc <> 0 AND NOT t_dados-c_gsber IS INITIAL.

          PERFORM bdc_field  USING 'BSEG-GSBER' t_dados-c_gsber.

        ENDIF.

        READ TABLE itab_oculto WITH KEY campo = 'BSEG-ZFBDT'

                                        chave = v_deb_cred.

        IF sy-subrc NE 0 AND NOT v_database IS INITIAL.

          PERFORM bdc_field  USING 'BSEG-ZFBDT'  v_database.

* << Fim da inclusão

        ENDIF.

      ELSEIF t_dados-newbs = '50' OR t_dados-newbs = '40'.

        SELECT SINGLE * FROM tbsl

               INTO wa_tbsl

               WHERE bschl = t_dados-newbs.

        IF wa_tbsl-shkzg EQ 'S'.

          v_deb_cred = 'D'.

        ELSE.

          v_deb_cred = 'C'.

        ENDIF.

...

 

 

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

Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_43

 

IMPORTAÇÃO:

NOME PARAM.   ATRIB. TIPO REFERÊNCIA      VL. PROPOSTO OPCIONAL TRANSF. TEXT

 

V_VKOART      LIKE   /PWS/ZYCAT027-KOART      ' '        'X'     'X'    GL - TIPO DE CLIENTE /

                                                                        FORNECEDOR

V_SHKZG       LIKE   /PWS/ZYCAT027-SHKZG      ' '        'X'     'X'    GL - TIPO DE REMESSA

 

 

...

    v_tabix              TYPE sy-tabix,

    v_tabix_aux          TYPE sy-tabix,

    v_newko(10)          TYPE c,

    v_newko_aux(10)      TYPE c,

    v_tamanho(2)         TYPE n,

    wa_tbsl              TYPE tbsl,

    v_umskz              TYPE /pws/zycbe033-umskz,

    v_newbs              TYPE /pws/zycbe033-newbs,

    v_agkon              TYPE skb1-saknr,

    v_programa(40)       TYPE c VALUE 'SAPMF05A',

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

    v_tela               TYPE sy-dynnr.

* << Fim da exclusão

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

    v_tela               TYPE sy-dynnr,

    v_flag_301           TYPE c,

    v_flag_302           TYPE c.

* << Fim da inclusão

  DATA: t_telas TYPE rpy_dyfatc OCCURS 0 WITH HEADER LINE.

  DATA: t_debito_aux     LIKE t_debito.

  TABLES: t074.

  LOOP AT t_dados.

    CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'

         EXPORTING

              v_bukrs = t_dados-bukrs

              v_date  = t_dados-budat

         IMPORTING

              v_year  = v_date.

...

 

...

                                       t_dados-bukrs

                                       t_dados-c_newko

                   CHANGING v_string_credito.

        CLEAR itab_oculto.

        PERFORM trata_string_credito TABLES t_dados

                                            t_campo

                                            itab_oculto

                                     USING  v_string_credito.

      ENDIF.

    ELSE.

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

      IF t_dados-newbs = '31' OR t_dados-newbs = '21'.

* << Fim da exclusão

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

      IF ( v_vkoart = 'F' AND v_shkzg = 'C' ) OR

         ( v_vkoart = 'C' AND v_shkzg = 'C' ) OR

         t_dados-newbs = '31' OR t_dados-newbs = '21'.

* << Fim da inclusão

        v_tamanho = strlen( t_dados-c_newko ).

        MOVE t_dados-c_newko TO v_newko.

        WRITE v_newko TO v_newko_aux RIGHT-JUSTIFIED.

        DO v_tamanho TIMES.

          REPLACE space WITH '0' INTO v_newko_aux.

        ENDDO.

        CLEAR v_conta.

        SELECT akont

          INTO v_conta

          FROM lfb1

          WHERE lifnr = v_newko_aux.

        ENDSELECT.

      ELSE.

        v_conta = t_dados-c_newko.

      ENDIF.

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

      IF t_dados-newbs = '31'

* << Fim da exclusão

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

      IF ( v_vkoart = 'F' AND v_shkzg = 'C' ) OR

         ( v_vkoart = 'C' AND v_shkzg = 'C' ) OR

         t_dados-newbs = '31'

* << Fim da inclusão

         OR t_dados-newbs = '50'.

        PERFORM determina_string USING t_dados-newbs

                                       t_dados-bukrs

                                       v_conta

                              CHANGING v_string_credito.

        CLEAR   itab_oculto.

        REFRESH itab_oculto.

        PERFORM trata_string_credito TABLES t_dados

                                            t_campo

                                            itab_oculto

...

 

...

          ENDIF.

          SELECT SINGLE * FROM tcurx INTO tcurx

                          WHERE currkey = t_dados-waers.

          IF tcurx-currdec <> 0 OR sy-subrc <> 0.

            WRITE: t_dados-wrbtr TO v_wrbtr CURRENCY t_dados-waers.

          ELSE.

            WRITE: t_dados-wrbtr TO v_wrbtr DECIMALS tcurx-currdec

                                            CURRENCY t_dados-waers.

          ENDIF.

          WRITE: t_dados-dmbtr  TO v_dmbtr CURRENCY t_dados-waersb.

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

          IF t_dados-newbs = '31' OR t_dados-newbs = '21'.

* << Fim da exclusão

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

          CLEAR: v_flag_301, v_flag_302.

          IF ( v_vkoart = 'F' AND v_shkzg = 'C' ) OR

             t_dados-newbs = '31' OR t_dados-newbs = '21'.

* << Fim da inclusão

            PERFORM bdc_screen USING 'SAPMF05A' '0302'.

            PERFORM bdc_field  USING:

               'BSEG-ZTERM'  t_dados-zterm,

               'BSEG-WRBTR'  v_wrbtr,

               'BSEG-DMBTR'  v_dmbtr,

               'BSEG-ZUONR'  t_dados-c_zuonr,

               'BSEG-SKFBT'  v_base_char,

               'RF05A-NEWBS' t_debito-bschl,

               'RF05A-NEWKO' t_debito-d_newko,

               'BDC_CURSOR'  'RF05A-NEWKO',

               'BDC_OKCODE'  '/00'.

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

             v_flag_302 = 'X'.

          ELSEIF v_vkoart = 'C' AND v_shkzg = 'C'.

             PERFORM bdc_screen USING 'SAPMF05A' '0301'.

             PERFORM bdc_field USING:

                    'BSEG-WRBTR'  v_wrbtr,

                    'BSEG-DMBTR'  v_dmbtr,

                    'BSEG-ZUONR'  t_dados-c_zuonr,

                    'BSEG-SKFBT'  v_base_char,

                    'BSEG-ZTERM'  t_dados-zterm,

                    'RF05A-NEWBS' t_debito-bschl,

                    'RF05A-NEWKO' t_debito-d_newko.

             READ TABLE itab_oculto WITH KEY campo = 'COBL-GSBER'

                                        chave = 'D'.

             IF sy-subrc <> 0.

              IF NOT t_dados-d_gsber IS INITIAL.

               PERFORM bdc_field  USING 'BSEG-GSBER' t_dados-d_gsber.

              ENDIF.

             ENDIF.

             v_flag_301 = 'X'.

           ENDIF.

           IF  v_flag_301 = 'X' OR v_flag_302 = 'X'.

* << Fim da inclusão

            IF t_dados-newbs = '21'.

              v_deb_cred = 'D'.

            ENDIF.

            IF NOT t_debito-newum IS INITIAL.

              PERFORM bdc_field USING:

                          'RF05A-NEWUM' t_debito-newum.

            ENDIF.

            IF v_deb_cred = 'C'.

              PERFORM determina_string USING t_debito-bschl

                                             t_dados-bukrs

...

 

 

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

Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_51J

 

CRIAR MÓDULO DE FUNÇÃO: /PWS/ZYCB_TRANSACAO_F_51J

CARACTERÍSTICAS:

 

CLASSIFICAÇÃO:

GRUPO DE FUNÇÕES: /PWS/ZYCBGF2

TEXTO BREVE:      CB - Execução F-51

Clase de desenvolvimento: /PWS/ZYCB

 

TIPO DE EXECUÇÃO:

(X) - MÓDULO DE FUNÇÃO NORMAL

(_) - MÓDULO DE ACESSO REMOTO

(_) - MÓDULO DE ATUALIZAÇÃO

     (X) - INÍCIO IMEDIATO

     (_) - INÍCIO IMEDIATO-SEM ATUAL.POSTER.

     (_) - INÍC. RETARDADO

     (_) - PROCES. CLOETIVO

 

DADOS GERAIS:

(_) - BLOQUEIO PROCESSO

(_) - GLOBAL

 

IMPORTAÇÃO:

NOME PARAM.   ATRIB. TIPO REFERÊNCIA  VL. PROPOSTO OPCIONAL TRANSF. TEXT

V_MODO        TYPE   C

 

 

EXPORTAÇÃO:

NOME PARAM.   ATRIB. TIPO REFERÊNCIA   TRANSF.  TEXTO BREVE

 

MODIFIC.:

NOME PARAM.   ATRIB. TIPO REFERÊNCIA  VL. PROPOSTO OPCIONAL TRANSF. TEXT

 

TABELAS:

NOME PARAM.   ATRIB. TIPO REFERÊNCIA  OPCIONAL TEXTO BREVE

T_DADOS       LIKE   /PWS/ZYCBE033      ' '

T_CAMPO       LIKE   /PWS/ZYCBT034      'X'

T_ZYCBT032    LIKE   /PWS/ZYCBT032      'X'

T_ZYCBT036    LIKE   /PWS/ZYCBT036      'X'

 

EXCEÇÕES:

EXCEÇÃO                    TEXTO BREVE

CAMPO_EM_BRANCO

PERIODO_FECHADO

 

 

* >> Início da inclusão:

FUNCTION /PWS/ZYCB_TRANSACAO_F_51J.

DATA:  v_kursf(9)             TYPE c,

       v_dtbldat(10)          TYPE c,

       v_dtzfbdt(10)          TYPE c,

       v_dtbudat(10)          TYPE c,

       v_valut(10)            TYPE c,

       v_monat(2)             TYPE c,

       v_wrbtr(16)            TYPE c,

       v_string_debito        TYPE tbsl-faus1,

       v_campo(15),

       v_cont(2)              TYPE n,

       v_transacao(4)         TYPE c,

       v_update               TYPE c,

       v_msgid                TYPE t100-arbgb,

       v_msgno                TYPE t100-msgnr,

       v_mode                 TYPE c,

       v_nrmsg                TYPE i VALUE 0,

       v_dtdocto(10)          TYPE c,

       v_xpos1(2)             TYPE n,

       v_xpos_awkey(15).

  DATA: wa_zycbt089 LIKE /pws/zycbt089.

    IF ( t_dados-bukrs = space ).

      t_campo-mandt = t_dados-mandt.

      t_campo-campo = 'BKPF-BUKRS'.

      t_campo-descricao = text-021.

      APPEND t_campo.

      RAISE campo_em_branco.

    ENDIF.

    IF ( t_dados-d_newko = space ).

      t_campo-mandt = t_dados-mandt.

      t_campo-campo = 'RF05A-NEWKO'.

      t_campo-descricao = text-022.

      APPEND t_campo.

      RAISE campo_em_branco.

    ENDIF.

  CLEAR: itab_bdc, v_xpos1.

  REFRESH itab_bdc.

    CLEAR itab_oculto.

    REFRESH itab_oculto.

    PERFORM trata_string_debito TABLES t_dados

                                       t_campo

                                       itab_oculto

                                USING  v_string_debito.

    SELECT selps FROM t021r

       UP TO 1 ROWS

      INTO  v_xpos1

      WHERE event = 'SU-AG'

        AND feldn = 'AWKEY'.

    ENDSELECT.

    SHIFT v_xpos1 LEFT DELETING LEADING  '0'.

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

  WRITE: t_dados-bldat TO v_dtbldat,

         t_dados-budat TO v_dtbudat,

         t_dados-kursf TO v_kursf.

  v_monat = t_dados-budat+4(2).

  WRITE: t_dados-wrbtr TO v_wrbtr  CURRENCY  t_dados-waers.

    PERFORM bdc_screen USING  'SAPMF05A'    '0122'.

    PERFORM bdc_field  USING:

           'BKPF-BLDAT'  v_dtbldat,

           'BKPF-BLART'  t_dados-blart,

           'BKPF-BUKRS'  t_dados-bukrs,

           'BKPF-BUDAT'  v_dtbudat,

           'BKPF-MONAT'  v_monat,

           'BKPF-WAERS'  t_dados-waers,

           'BKPF-KURSF'  v_kursf,

           'BKPF-XBLNR'  t_dados-xblnr,

           'BKPF-BKTXT'  t_dados-bktxt,

           'RF05A-NEWBS' t_dados-newbs,

           'RF05A-NEWKO' t_dados-d_newko,

           'BDC_CURSOR' 'BKPF-XBLNR',

           'BDC_OKCODE'  '/00'.

    IF NOT t_dados-xblnr IS INITIAL.

    PERFORM bdc_field  USING 'BKPF-XBLNR'  t_dados-xblnr.

  ENDIF.

    PERFORM bdc_screen USING  'SAPMF05A'    '0300'.

    WRITE t_dados-zfbdt TO v_dtzfbdt.

    PERFORM bdc_field USING:

           'BSEG-WRBTR'  v_wrbtr,

           'BSEG-ZUONR'  t_dados-d_zuonr,

           'BSEG-ZFBDT'  v_dtzfbdt.

  IF NOT t_dados-d_sgtxt IS INITIAL.

     PERFORM bdc_field  USING 'BSEG-SGTXT' t_dados-d_sgtxt.

  ENDIF.

  READ TABLE itab_oculto WITH KEY campo = 'BSEG-VALUT'

                                  chave = 'D'.

  IF sy-subrc NE 0 AND NOT t_dados-d_valut IS INITIAL.

     WRITE t_dados-d_valut TO v_valut.

     PERFORM bdc_field  USING 'BSEG-VALUT' v_valut.

  ENDIF.

    PERFORM bdc_field USING:

           'BDC_SUBSCR'  'SAPLKACB',

           'DKACB-FMORE'  'X',

           'BDC_CURSOR'  'BSEG-SGTXT',

           'BDC_OKCODE'  '=PA'.

    PERFORM bdc_screen USING  'SAPLKACB'    '0002'.

    READ TABLE itab_oculto WITH KEY campo = 'COBL-KOSTL' chave = 'D'.

    IF sy-subrc <> 0.

      IF NOT t_dados-d_kostl IS INITIAL.

        PERFORM bdc_field USING 'COBL-KOSTL' t_dados-d_kostl.

      ENDIF.

    ENDIF.

    READ TABLE itab_oculto WITH KEY campo = 'COBL-GSBER'

                                    chave = 'D'.

    IF sy-subrc <> 0.

       IF NOT t_dados-d_gsber IS INITIAL.

          PERFORM bdc_field  USING 'COBL-GSBER' t_dados-d_gsber.

       ENDIF.

    ENDIF.

    PERFORM bdc_field USING:

           'BDC_SUBSCR'  'SAPLKACB',

           'BDC_OKCODE'  '=ENTE'.

      PERFORM bdc_screen USING  'SAPMF05A'    '0710'.

      PERFORM bdc_field USING:

           'RF05A-AGBUK'   t_dados-bukrs,

           'RF05A-AGKON'   t_dados-agkon,

           'RF05A-AGKOA'   t_dados-agkoa,

           'RF05A-AGUMS'   t_dados-agums,

           'RF05A-XNOPS'  ' ',

           'RF05A-XPOS1(06)'  'X',

           'BDC_CURSOR'    'RF05A-XPOS1(06)',

           'BDC_OKCODE'  '=PA'.

    PERFORM bdc_screen USING  'SAPMF05A'    '0731'.

    CLEAR v_cont.

    PERFORM bdc_field USING:

           'BDC_CURSOR'  'RF05A-SEL01(01)'.

    LOOP AT t_zycbt036 WHERE tcode  = t_dados-tcode

                         AND tabela = t_dados-tabela

                         AND cpochv = t_dados-cpochv.

      ADD 1 TO v_cont.

      CONCATENATE 'RF05A-SEL01(' v_cont ')' INTO v_campo.

      PERFORM bdc_field USING v_campo t_zycbt036-belnr.

    ENDLOOP.

    PERFORM bdc_field USING 'BDC_OKCODE'  '=PA'.

    PERFORM bdc_screen USING  'SAPDF05X'    '3100'.

    PERFORM bdc_field USING:

            'BDC_SUBSCR'  'SAPDF05X',

            'BDC_CURSOR'  'RF05A-ABPOS',

            'RF05A-ABPOS'  '1',

            'BDC_OKCODE'  '=OSU'.

    PERFORM bdc_screen USING  'SAPDF05X'    '2000'.

    PERFORM bdc_field USING:

           'RF05A-XPOS1(06)'  'X',

           'BDC_CURSOR'  'RF05A-XPOS1(06)',

           'BDC_OKCODE'  '=GO'.

    PERFORM bdc_screen USING  'SAPDF05X'    '0732'.

     READ TABLE t_zycbt036

               WITH KEY tcode  = t_dados-tcode

                        tabela = t_dados-tabela

                        cpochv = t_dados-cpochv.

     IF sy-subrc = 0.

        WRITE t_zycbt036-dtdocto TO v_dtdocto.

        PERFORM bdc_field USING:

           'RF05A-VONDT(01)'  v_dtdocto,

           'RF05A-BISDT(01)'  v_dtdocto,

           'BDC_CURSOR'  'RF05A-BISDT(01)',

           'BDC_OKCODE'  '=GO'.

     ENDIF.

    PERFORM bdc_screen USING  'SAPDF05X'    '3100'.

    PERFORM bdc_field USING:

           'BDC_SUBSCR'   'SAPDF05X',

           'BDC_CURSOR'   'RF05A-ABPOS',

           'RF05A-ABPOS'  '1',

           'BDC_OKCODE'   '=OSU'.

    WHILE v_xpos1 > 10.

      v_xpos1 = v_xpos1 - 10.

      PERFORM bdc_screen USING 'SAPDF05X'   '2000'.

      PERFORM bdc_field USING 'BDC_OKCODE'  'P+'.

      SHIFT v_xpos1 LEFT DELETING LEADING  '0'.

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

    ENDWHILE.

    PERFORM bdc_screen USING 'SAPDF05X'   '2000'.

    PERFORM bdc_field  USING 'BDC_CURSOR'  v_xpos_awkey.

    PERFORM bdc_field  USING v_xpos_awkey 'X'.

    PERFORM bdc_field  USING 'BDC_OKCODE'  '=GO'.

    PERFORM bdc_screen USING  'SAPDF05X'    '0731'.

    PERFORM bdc_field USING:

           'BDC_CURSOR'  'RF05A-SEL01(01)',

           'RF05A-SEL01(01)'  t_dados-awkey,

           'BDC_OKCODE'  '=GO'.

    PERFORM bdc_screen USING  'SAPDF05X'    '3100'.

    PERFORM bdc_field USING:

           'BDC_SUBSCR'   'SAPDF05X',

           'BDC_CURSOR'   'RF05A-ABPOS',

           'RF05A-ABPOS'  '1',

           'BDC_OKCODE'   '=BU'.

    REFRESH itab_msg.

    CLEAR itab_msg.

    v_transacao = 'F-51'.

    v_update = 'S'.

    v_msgid = 'F5'.

    v_msgno = '312'.

    IF v_modo IS INITIAL.

      v_mode = 'N'.

    ELSE.

      v_mode = v_modo.

    ENDIF.

     PERFORM  call_transaction TABLES  itab_msg

                                       itab_bdc

                                       t_zycbt032

                                       t_dados

                              USING    v_transacao

                                       v_mode

                                       v_update

                                       v_msgid

                                       v_msgno

                              CHANGING v_nrmsg.

    CLEAR: itab_bdc.

    REFRESH: itab_bdc.

ENDFUNCTION.

* << Fim da inclusão

 

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

Modificações efetuadas em PARA /PWS/ZYCAP003

 

Criar ID Parâmetro: /PWS/ZYCAP003

Texto Breve: CA - CLIENTE / FORNECEDOR

 

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

Modificações efetuadas em PARA /PWS/ZYCAP004

 

ID Parâmetro: /PWS/ZYCAP004

Texto Breve: CA - TIPO DE REMESSA

 

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

Modificações efetuadas em REPS /PWS/LZYCAGFUXX

 

INCLUDE /PWS/LZYCAGFU01.

INCLUDE /PWS/LZYCAGFU02.

INCLUDE /PWS/LZYCAGFU03.

INCLUDE /PWS/LZYCAGFU04.

INCLUDE /PWS/LZYCAGFU05.

* >> Início da inclusão:

INCLUDE /PWS/LZYCAGFU06.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/LZYCBGF2UXX

 

...

INCLUDE /PWS/LZYCBGF2U77.

INCLUDE /PWS/LZYCBGF2U76.

INCLUDE /PWS/LZYCBGF2U78.

INCLUDE /PWS/LZYCBGF2U79.

INCLUDE /PWS/LZYCBGF2U80.

INCLUDE /PWS/LZYCBGF2U81.

INCLUDE /PWS/LZYCBGF2U82.

INCLUDE /PWS/LZYCBGF2U83.

INCLUDE /PWS/LZYCBGF2U84.

INCLUDE /PWS/LZYCBGF2U85.

* >> Início da inclusão:

INCLUDE /PWS/LZYCBGF2U86.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCA027F01

 

* >> Início da inclusão:

FORM atualiza_dados

     USING

         p_koart         TYPE /PWS/ZYCAT027-koart

         p_shkzg         TYPE /PWS/ZYCAT027-shkzg

         p_chlancamento  TYPE /PWS/ZYCAT027-bschl.

/pws/zycat027-koart = p_koart.

/pws/zycat027-shkzg = p_shkzg.

/pws/zycat027-bschl  = p_chlancamento.

  UPDATE /pws/zycat027 SET bschl = p_chlancamento

                       usernamec = /pws/zycat027-usernamec

                       dtuserc   = /pws/zycat027-dtuserc

                       hruserc   = /pws/zycat027-hruserc

                       user_save = /pws/zycat027-user_save

                     WHERE koart = p_koart

                       AND shkzg = p_shkzg.

  IF sy-subrc NE 0.

    INSERT INTO /pws/zycat027 VALUES /pws/zycat027.

  ENDIF.

  MOVE-CORRESPONDING /pws/zycat027 TO itab_zycat027.

  MODIFY itab_zycat027 TRANSPORTING koart

                                    shkzg

                                    bschl

                                    usernamec

                                    dtuserc

                                    hruserc

                                    user_save

                       WHERE koart = 'C'

                         AND shkzg = 'D'.

  IF sy-subrc NE 0.

    APPEND itab_zycat027.

  ENDIF.

ENDFORM.

FORM lock_record.

  CHECK ok_code NE 'SAVE'.

  AUTHORITY-CHECK OBJECT 'S_TCODE'

                  ID     'TCD'

                  FIELD  '/PWS/ZYCAT027'.

  IF sy-subrc = 0.

    CALL FUNCTION 'ENQUEUE_/PWS/EZYCAT027'

         EXCEPTIONS

              foreign_lock   = 1

              system_failure = 2.

    CASE sy-subrc.

      WHEN 0.

        v_status = '1'.

      WHEN 1.

        MESSAGE w015 WITH text-001 text-002.

      WHEN 2.

        MESSAGE a015 WITH text-003.

    ENDCASE.

  ELSE.

    MESSAGE i120 WITH text-005.

    v_status = 0.

  ENDIF.

ENDFORM.

FORM seleciona_dados.

  CHECK itab_zycat027[] IS INITIAL.

  SELECT * FROM /pws/zycat027 INTO TABLE itab_zycat027."#EC CI_NOWHERE

  IF sy-subrc = 0.

   LOOP AT itab_zycat027.

    IF itab_zycat027-koart EQ 'C' AND

       itab_zycat027-shkzg EQ 'D'.

      MOVE: itab_zycat027-bschl  TO v_cldebito.

    ELSEIF itab_zycat027-koart EQ 'C' AND

           itab_zycat027-shkzg EQ 'C'.

      MOVE: itab_zycat027-bschl  TO v_clcredito.

    ELSEIF itab_zycat027-koart EQ 'F' AND

           itab_zycat027-shkzg EQ 'D'.

      MOVE: itab_zycat027-bschl  TO v_fdebito.

    ELSEIF itab_zycat027-koart EQ 'F' AND

           itab_zycat027-shkzg EQ 'C'.

      MOVE: itab_zycat027-bschl  TO v_fcredito.

    ENDIF.

   ENDLOOP.

   MOVE-CORRESPONDING itab_zycat027 TO /pws/zycat027.

   itab_zycat027_aux[] = itab_zycat027[].

  ENDIF.

ENDFORM.

FORM salvar_dados.

  CALL FUNCTION 'GUI_GET_DESKTOP_INFO'

       EXPORTING

            type   = 5

       CHANGING

            return = v_name."#EC *

  MOVE: v_name   TO /pws/zycat027-user_save,

        sy-uname TO /pws/zycat027-usernamec,

        sy-datum TO /pws/zycat027-dtuserc,

        sy-uzeit TO /pws/zycat027-hruserc.

  PERFORM atualiza_dados USING  'C' 'D' v_cldebito.

  PERFORM atualiza_dados USING  'C' 'C' v_clcredito.

  PERFORM atualiza_dados USING  'F' 'D' v_fdebito.

  PERFORM atualiza_dados USING  'F' 'C' v_fcredito.

  COMMIT WORK.

  IF sy-subrc = 0.

    MESSAGE i015 WITH text-004.

    v_status = 0.

    itab_zycat027_aux[] = itab_zycat027[].

  ENDIF.

ENDFORM.

FORM verifica_alteracao CHANGING p_alteracao type c.

  IF itab_zycat027_aux[] IS INITIAL AND

     ( NOT v_cldebito   IS INITIAL OR

       NOT v_clcredito  IS INITIAL OR

       NOT v_fdebito    IS INITIAL OR

       NOT v_fcredito   IS INITIAL ).

    p_alteracao = 'X'.

    EXIT.

  ENDIF.

  READ TABLE itab_zycat027_aux

             WITH KEY koart = 'C'

                      shkzg = 'D'.

  IF sy-subrc EQ 0 AND itab_zycat027_aux-bschl NE v_cldebito.

    p_alteracao = 'X'.

    EXIT.

  ENDIF.

  READ TABLE itab_zycat027_aux

             WITH KEY koart = 'C'

                      shkzg = 'C'.

  IF sy-subrc EQ 0 AND itab_zycat027_aux-bschl NE v_clcredito.

    p_alteracao = 'X'.

    EXIT.

  ENDIF.

  READ TABLE itab_zycat027_aux

             WITH KEY koart = 'F'

                      shkzg = 'D'.

  IF sy-subrc EQ 0 AND itab_zycat027_aux-bschl NE v_fdebito.

    p_alteracao = 'X'.

    EXIT.

  ENDIF.

  READ TABLE itab_zycat027_aux

             WITH KEY koart = 'F'

                      shkzg = 'C'.

  IF sy-subrc EQ 0 AND itab_zycat027_aux-bschl NE v_fcredito.

    p_alteracao = 'X'.

    EXIT.

  ENDIF.

ENDFORM.

FORM trata_saida_programa.

  CLEAR v_alteracao.

  PERFORM verifica_alteracao CHANGING v_alteracao.

  IF NOT v_alteracao IS INITIAL.

    CALL FUNCTION 'POPUP_TO_CONFIRM_STEP'

         EXPORTING

              defaultoption  = 'Y'

              textline1      = text-006

              titel          = text-007

              start_column   = 25

              start_row      = 6

              cancel_display = 'X'

         IMPORTING

              answer         = v_resposta."#EC *

    IF     v_resposta = 'J'.

      PERFORM salvar_dados.

    ELSEIF v_resposta = 'A'.

      EXIT.

    ENDIF.

  ENDIF.

  CALL FUNCTION 'DEQUEUE_/PWS/EZYCAT027'.

  LEAVE PROGRAM.

ENDFORM.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCA027I01

 

* >> Início da inclusão:

MODULE USER_COMMAND_0001 INPUT.

  CASE OK_CODE.

    WHEN 'SAVE'.

      PERFORM SALVAR_DADOS.

    WHEN 'MODI'.

      PERFORM LOCK_RECORD.

    WHEN 'BACK' OR 'EXIT' OR 'CLOSE'.

      perform trata_saida_programa.

  ENDCASE.

ENDMODULE.

MODULE seta_matchcode1 INPUT.

  DATA:  l_display1(1) TYPE c,

         v_matchcode1 TYPE shlpname.

  SET PARAMETER ID 'KOART' FIELD  'C'.

  SET PARAMETER ID 'SHKZG' FIELD  'D'.

  CLEAR v_matchcode1.

  v_matchcode1 = '/PWS/ZYCAA027'.

  CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST'

       EXPORTING

            tabname    = 'TBSL'

            fieldname  = 'BSCHL'

            searchhelp = v_matchcode1

            display    = l_display1

       TABLES

            return_tab = itab_result

       EXCEPTIONS

            OTHERS     = 0.

   v_cldebito = itab_result-fieldval.

ENDMODULE.

MODULE seta_matchcode2 INPUT.

  DATA:  l_display2(1) TYPE c,

         v_matchcode2 TYPE shlpname.

  SET PARAMETER ID 'KOART' FIELD  'C'.

  SET PARAMETER ID 'SHKZG' FIELD  'C'.

  CLEAR v_matchcode2.

  v_matchcode2 = '/PWS/ZYCAA027'.

  CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST'

       EXPORTING

            tabname    = 'TBSL'

            fieldname  = 'BSCHL'

            searchhelp = v_matchcode2

            display    = l_display2

       TABLES

            return_tab = itab_result

       EXCEPTIONS

            OTHERS     = 0.

      v_clcredito = itab_result-fieldval.

ENDMODULE.

MODULE seta_matchcode3 INPUT.

  DATA:  l_display3(1) TYPE c,

         v_matchcode3 TYPE shlpname.

  SET PARAMETER ID 'KOART' FIELD  'F'.

  SET PARAMETER ID 'SHKZG' FIELD  'D'.

  CLEAR v_matchcode3.

  v_matchcode3 = '/PWS/ZYCAA027'.

  CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST'

       EXPORTING

            tabname    = 'TBSL'

            fieldname  = 'BSCHL'

            searchhelp = v_matchcode3

            display    = l_display3

       TABLES

            return_tab = itab_result

       EXCEPTIONS

            OTHERS     = 0.

      v_fdebito  = itab_result-fieldval.

ENDMODULE.

MODULE seta_matchcode4 INPUT.

  DATA:  l_display4(1) TYPE c,

         v_matchcode4 TYPE shlpname.

  SET PARAMETER ID 'KOART' FIELD  'F'.

  SET PARAMETER ID 'SHKZG' FIELD  'C'.

  CLEAR v_matchcode4.

  v_matchcode4 = '/PWS/ZYCAA027'.

  CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST'

       EXPORTING

            tabname    = 'TBSL'

            fieldname  = 'BSCHL'

            searchhelp = v_matchcode4

            display    = l_display4

       TABLES

            return_tab = itab_result

       EXCEPTIONS

            OTHERS     = 0.

      v_fcredito  = itab_result-fieldval.

ENDMODULE.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCA027O01

 

* >> Início da inclusão:

MODULE SELECIONA_CONSISTE_DADOS OUTPUT.

  PERFORM LOCK_RECORD.

  PERFORM SELECIONA_DADOS.

ENDMODULE.

MODULE STATUS_0001 OUTPUT.

  IF V_STATUS = 1.

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

  ELSE.

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

  ENDIF.

  SET TITLEBAR '0001'.

ENDMODULE.

MODULE SET_SCREEN OUTPUT.

  LOOP AT SCREEN.

    SCREEN-INPUT = V_STATUS.

    MODIFY SCREEN.

  ENDLOOP.

ENDMODULE.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCA027TOP

 

* >> Início da inclusão:

PROGRAM  /PWS/SAPMZYCA027 MESSAGE-ID /PWS/ZYCAM.

 

TABLES: /PWS/ZYCAT027.

 

DATA: BEGIN OF ITAB_ZYCAT027 OCCURS 0.

        INCLUDE STRUCTURE /PWS/ZYCAT027.

DATA: END OF ITAB_ZYCAT027.

 

DATA: BEGIN OF itab_result OCCURS 0.

        INCLUDE STRUCTURE ddshretval.

DATA: END OF itab_result.

 

DATA: ITAB_ZYCAT027_AUX LIKE ITAB_ZYCAT027 OCCURS 0 WITH HEADER LINE.

 

DATA: V_NAME(100) TYPE c,

      OK_CODE     TYPE SY-UCOMM,

      V_STATUS    TYPE c,

      v_resposta  type c,

      v_alteracao type c,

      v_cldebito  TYPE /PWS/ZYCAT027-bschl,

      v_clcredito TYPE /PWS/ZYCAT027-bschl,

      v_fdebito   TYPE /PWS/ZYCAT027-bschl,

      v_fcredito  TYPE /PWS/ZYCAT027-bschl.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCA109F01

 

...

            CLEAR: wa_zycbt124, /pws/zycbe124, /pws/zycbe115.

            PERFORM unlock_record.

            LEAVE TO SCREEN 0.

          ELSE.

            CALL SCREEN '100'.

          ENDIF.

        ENDIF.

      ENDIF.

      IF sy-tcode = '/PWS/ZYCB109_A' OR

         sy-tcode = '/PWS/ZYCB109_E'.

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

        CLEAR v_repatri.

* << Fim da inclusão

        PERFORM unlock_record.

        LEAVE TO SCREEN '0200'.

      ENDIF.

      COMMIT WORK.

    WHEN 'ADIC'.

      IF /pws/zycbe124-codpagto EQ text-078 OR

         /pws/zycbe124-codpagto EQ text-079.

        IF /pws/zycbe124-tpoper = 'R'.

          CALL SCREEN '0120' STARTING AT 2 2 ENDING AT 80 16.

        ELSE.

...

 

...

      ENDIF.

    ENDLOOP.

  ENDIF.

  IF NOT /pws/zycbe124-noper IS INITIAL.

    MOVE /pws/zycbe124-noper TO /pws/zycbt124-noper.

  ENDIF.

  IF /pws/zycbe124-irfat IS INITIAL OR

     /pws/zycbe124-irfat EQ space.

    /pws/zycbe124-irfat  = 'N'.

  ENDIF.

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

  READ TABLE itab_zycat025

       WITH KEY tpimp = 'I'

               dedfat = 'X'.

  IF sy-subrc NE 0.

    READ TABLE itab_zycat025

         WITH KEY tpimp = 'IRRF'

                  dedfat = 'X'.

    IF sy-subrc = 0.

     /pws/zycbe124-irfat  = 'S'.

    ENDIF.

  ELSE.

     /pws/zycbe124-irfat  = 'S'.

  ENDIF.

* << Fim da inclusão

  IF /pws/zycbe124-irreaj = space.

    /pws/zycbe124-irreaj = 'N'.

  ENDIF.

  IF /pws/zycbe124-recrem IS INITIAL AND

     /pws/zycbe124-tpoper NE 'R'.

    MESSAGE i015 WITH text-021.

    EXIT.

  ENDIF.

  IF /pws/zycbe124-tpoper EQ text-147.

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

    /pws/zycbe124-tprecrem = 'F'.

* << Fim da exclusão

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

    /pws/zycbe124-tprecrem = /pws/zycbe124-tpcliente.

* << Fim da inclusão

  ELSEIF /pws/zycbe124-tpoper EQ text-148.

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

    /pws/zycbe124-tprecrem = 'C'.

* << Fim da exclusão

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

    /pws/zycbe124-tprecrem = /pws/zycbe124-tpcliente.

* << Fim da inclusão

  ENDIF.

  IF v_compra = 'X'.

    /pws/zycbe124-ftaxa = 'G'.

...

 

...

      CHECK erro_bi_principal IS INITIAL AND

            erro_bi_irrf      IS INITIAL AND

            erro_bi_cide      IS INITIAL AND

            erro_bi_pis       IS INITIAL AND

            erro_bi_cofins    IS INITIAL AND

            erro_bi_iof       IS INITIAL AND

            erro_bi_iss       IS INITIAL.

      PERFORM exclui_despesas.

      DELETE FROM /pws/zycbt124 WHERE nrseq = /pws/zycbe124-nrseq.

      IF sy-subrc = 0.

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

        DELETE FROM /pws/zycat028 WHERE nrseq = /pws/zycbe124-nrseq.

* << Fim da inclusão

        DELETE /pws/zycbt127 FROM wa_zycbt127.

        DELETE FROM /pws/zycbt141 WHERE nrseq = /pws/zycbe124-nrseq.

        DELETE FROM /pws/zycat025 WHERE

                             nrseq = /pws/zycbe124-nrseq."#EC CI_NOFIRST

        PERFORM exclui_dados_bancarios.

        MESSAGE i015 WITH text-006.

        CLEAR: /pws/zycbe124, /pws/zycbe127, itab_zycbt118.

        REFRESH: itab_zycbt118.

        PERFORM unlock_record.

        LEAVE TO SCREEN 0.

...

 

...

    /pws/zycbt115-nrcorrep = /pws/zycbe124-nrseq.

    /pws/zycbt115-rof      = /pws/zycbe115-rof.

    /pws/zycbt115-dtrof    = /pws/zycbe124-dtrof.

    /pws/zycbt115-tpdoc    = 'N'.

    MODIFY /pws/zycbt115.

    IF /pws/zycbe127 <> wa_zycbt127.

      /pws/zycbe127-waers  = /pws/zycbe124-waers.

      /pws/zycbe127-nrseq  = /pws/zycbe124-nrseq.

      /pws/zycbe127-nrfech = /pws/zycbe124-nrfech.

      MODIFY /pws/zycbt127 FROM /pws/zycbe127.

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

    ENDIF.

    IF NOT v_repatri IS INITIAL.

      INSERT INTO /pws/zycat028 VALUES /pws/zycat028.

* << Fim da inclusão

    ENDIF.

    IF v_existe = 'S'.

      MESSAGE i061 WITH text-019 /pws/zycbe124-nrfech

                        text-020 /pws/zycbe124-nrseq.

      v_nrseq = /pws/zycbe124-nrseq.

      LOOP AT itab_zycat025.

        itab_zycat025-nrseq = /pws/zycbe124-nrseq.

        MODIFY itab_zycat025 INDEX sy-tabix.

      ENDLOOP.

      LOOP AT itab_zycbt141.

...

 

...

    wa_zycbt127            = /pws/zycbe127.

    itab_zyglt209_aux[]    = itab_zyglt209[].

    itab_zyglt209-bcofav   = /pws/zygle209-bcofav.

    PERFORM salva_dados_bancarios.

  ENDIF.

  PERFORM salva_itens.

  MESSAGE s061 WITH text-175 /pws/zycbe124-nrseq text-176.

  PERFORM salva_dados_imposto.

  IF sy-tcode EQ '/PWS/ZYCB109_C'.

    SET PARAMETER ID '/PWS/ZYCBP374' FIELD v_nrseq.

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

  IF v_repatri = 'X'.

    SET PARAMETER ID 'X' FIELD v_repatri.

  ENDIF.

* << Fim da inclusão

    IF sy-binpt IS INITIAL.

      LEAVE TO TRANSACTION '/PWS/ZYCB109_E' AND SKIP FIRST SCREEN.

    ELSE.

      LEAVE PROGRAM.

    ENDIF.

  ENDIF.

ENDFORM.

FORM consiste_valores.

  IF v_trans NE 'S'.

    w_vlr = 'N'.

...

 

...

        screen-output = '1'.

        screen-invisible = '0'.

      ELSE.

        screen-input = '1'.

      ENDIF.

      MODIFY SCREEN.

    ENDLOOP.

  ENDIF.

ENDFORM.

FORM ver_campos.

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

  IF /pws/zycbe124-criacao EQ 'S'.

* << Fim da inclusão

  IF /pws/zycbe124-dtvencto LT /pws/zycbe124-dtincl.

    MESSAGE i015 WITH text-014.

    CLEAR /pws/zycbe124-dtvencto.

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

    ENDIF.

* << Fim da inclusão

  ENDIF.

  IF /pws/zycbe124-aliqir GT 100.

    MESSAGE i015 WITH text-015.

    CLEAR /pws/zycbe124-aliqir.

...

 

...

ENDFORM.

FORM busca_clifor.

  DATA:

    v_kunnr LIKE kna1-kunnr,

    v_lifnr LIKE lfa1-lifnr.

  CLEAR: kna1, lfa1.

  CLEAR: v_kunnr, v_lifnr, v_nome.

  IF /pws/zycbe124-recrem IS INITIAL.

    EXIT.

  ENDIF.

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

  IF /pws/zycbe124-tpoper = 'R'.

* << Fim da exclusão

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

  IF /pws/zycbe124-tpcliente = 'C'.

* << Fim da inclusão

    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

         EXPORTING

              input  = /pws/zycbe124-recrem

         IMPORTING

              output = v_kunnr

         EXCEPTIONS

              OTHERS = 0.

    SELECT SINGLE kunnr name1

      INTO (kna1-kunnr, kna1-name1)

      FROM kna1

...

 

...

    IF sy-subrc NE 0.

      IF ok_code EQ 'SAVE'.

        MESSAGE e015 WITH text-017.

      ELSE.

        MESSAGE i015 WITH text-017.

      ENDIF.

      CLEAR /pws/zycbe124-recrem.

    ELSE.

      v_nome = kna1-name1.

    ENDIF.

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

  ELSEIF /pws/zycbe124-tpoper = 'P'.

* << Fim da exclusão

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

  ELSEIF /pws/zycbe124-tpcliente = 'F'.

* << Fim da inclusão

    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

         EXPORTING

              input  = /pws/zycbe124-recrem

         IMPORTING

              output = v_lifnr

         EXCEPTIONS

              OTHERS = 0.

    SELECT SINGLE lifnr name1

      INTO (lfa1-lifnr, lfa1-name1)

      FROM lfa1

...

 

...

        UP TO 1 ROWS

      INTO wa_zycbt011

     WHERE codeven = '003R'

       AND codmod  = 'F'.

    ENDSELECT.

    SELECT * FROM /pws/zyglt321

             INTO TABLE itab_zyglt321

             WHERE ktosl   = 'RCF'

               AND codeven = '003R'.

  ENDIF.

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

   SELECT *

     FROM /pws/zycat027

     INTO TABLE itab_zycat027.

* << Fim da inclusão

ENDFORM.

FORM preenche_partida_multipla USING p_tpimp.

  DATA: v_vlirrf_aux LIKE /pws/zycat025-vlimpme.

  DATA: v_vlirrf(16) TYPE p DECIMALS 5,

        v_tot        LIKE /pws/zycat025-vlimpme,

        v_line       TYPE i.

  LOOP AT itab_zycbt141 WHERE tpimp = p_tpimp.

    itab_zycbe035-mandt      = sy-mandt.

    itab_zycbe035-tcode      = 'F-63'.

    itab_zycbe035-tabela     = '/PWS/ZYCBT124'.

...

 

...

FORM criar_remessa_doc.

  IF NOT bkpf-belnr IS INITIAL AND

     NOT bkpf-bukrs IS INITIAL AND

     NOT bkpf-gjahr IS INITIAL.

    CLEAR:   itab_bseg, wa_bkpf.

    REFRESH: itab_bseg.

    SELECT SINGLE * FROM bkpf INTO wa_bkpf

                    WHERE belnr = bkpf-belnr

                      AND bukrs = bkpf-bukrs

                      AND gjahr = bkpf-gjahr.

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

    IF sy-subrc = 0.

      SELECT * FROM /pws/zycat027 INTO TABLE itab_zycat027.

* << Fim da inclusão

    IF sy-subrc = 0.

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

       LOOP AT itab_zycat027.

          r_bschl-sign   = 'I'.

          r_bschl-option = 'BT'.

          r_bschl-high   = itab_zycat027-bschl.

          APPEND r_bschl.

       ENDLOOP.

* << Fim da inclusão

      SELECT * FROM bseg INTO TABLE itab_bseg

               WHERE belnr = wa_bkpf-belnr

                 AND bukrs = wa_bkpf-bukrs

                 AND gjahr = wa_bkpf-gjahr

                 AND augbl = space

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

                 AND ( bschl = '31' OR bschl = '01' ).

* << Fim da exclusão

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

                 AND bschl IN r_bschl.

      ENDIF.

* << Fim da inclusão

      IF sy-subrc = 0.

        PERFORM cria_remessa TABLES itab_bseg

                             USING  wa_bkpf.

      ELSE.

        MESSAGE w061 WITH text-125 wa_bkpf-belnr text-133.

      ENDIF.

    ELSE.

      MESSAGE w061 WITH text-126.

    ENDIF.

  ENDIF.

...

 

...

        ENDIF.

      ELSE.

        MESSAGE w061 WITH text-126.

      ENDIF.

    ELSE.

      MESSAGE w061 WITH text-123 rbkp-belnr rbkp-gjahr text-124.

    ENDIF.

  ENDIF.

  LEAVE TO SCREEN '0002'.

ENDFORM.

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

FORM call_function_f63 USING p_tpimp.

* << Fim da exclusão

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

FORM call_function_f63

  USING p_tpimp

        p_koart

        p_shkzg.

* << Fim da inclusão

  LOOP AT itab_zycbt034.

    MESSAGE i016 WITH itab_zycbt034-descricao.

  ENDLOOP.

  IF itab_zycbt034[] IS INITIAL.

    IF v_modo_bi IS INITIAL.

      v_modo_bi = 'N'.

    ENDIF.

    CALL FUNCTION '/PWS/ZYCA_TRANSACAO_F_63R'

         EXPORTING

              v_modo          = v_modo_bi

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

              v_vkoart        = p_koart

              v_shkzg         = p_shkzg

* << Fim da inclusão

         TABLES

              t_dados         = itab_zycbe033

              t_campo         = itab_zycbt034

              t_zycbt032      = itab_zycbt032

              t_debito        = itab_zycbe035

         EXCEPTIONS

              campo_em_branco = 1

              periodo_fechado = 2

              OTHERS          = 3.

    IF sy-subrc = 0.

...

 

...

          UPDATE /pws/zycat025 SET belnr_pr = itab_zycat025-belnr_pr

                               WHERE nrseq = /pws/zycbe124-nrseq

                                 AND tpimp = p_tpimp.   "#EC CI_NOFIRST

        ENDIF.

        SELECT * FROM /pws/zycbt133 INTO TABLE itab_zycbt133

                 WHERE bukrs = /pws/zycbe124-bukrs.

        READ TABLE itab_zycbt133 WITH KEY codmod = 'F'.

        IF sy-subrc = 0.

          IF itab_zycbt133-vaprov = 'X'.

            PERFORM executa_aprovacao USING itab_zycbt032-belnr

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

                                            p_tpimp.

* << Fim da exclusão

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

                                            p_tpimp

                                            p_koart.

* << Fim da inclusão

          ENDIF.

        ENDIF.

      ELSE.

        PERFORM seta_erro_bi USING p_tpimp.

        LOOP AT itab_zycbt032.

          MESSAGE i015 WITH itab_zycbt032-msg+0(50)

                            itab_zycbt032-msg+50(50).

        ENDLOOP.

      ENDIF.

    ELSE.

...

 

...

      ENDLOOP.

    ENDIF.

  ELSE.

    PERFORM seta_erro_bi USING p_tpimp.

    LOOP AT itab_zycbt034.

      MESSAGE i016 WITH itab_zycbt034-descricao.

    ENDLOOP.

  ENDIF.

ENDFORM.

FORM executa_aprovacao USING p_belnr

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

                             p_tpimp.

* << Fim da exclusão

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

                             p_tpimp

                             p_vkoart.

  IF p_vkoart = 'C'.

   itab_zycbe033-agkoa = 'D'.

  ELSEIF p_vkoart = 'F'.

   itab_zycbe033-agkoa = 'K'.

  ENDIF.

* << Fim da inclusão

  itab_zycbe033-mandt  = sy-mandt.

  itab_zycbe033-tcode  = 'FBV0'.

  itab_zycbe033-tabela = '/PWS/ZYCBT124'.

  itab_zycbe033-cpochv = /pws/zycbe124-nrseq.

  itab_zycbe033-belnr  = p_belnr.

  itab_zycbe033-bukrs  = /pws/zycbe124-bukrs.

  itab_zycbe033-zlspr  = ''.

  IF p_tpimp = 'PRINCIPAL'.

    itab_zycbe033-bldat  = /pws/zycbe124-dtdocto.

  ELSE.

...

 

...

      ENDIF.

    ELSE.

      PERFORM seta_erro_bi USING p_tpimp.

      MESSAGE s262 WITH p_belnr p_tpimp.

    ENDIF.

  ELSE.

    PERFORM seta_erro_bi USING p_tpimp.

  ENDIF.

ENDFORM.

FORM efetua_lancamento_recebimento.

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

  DATA: v_koart_bi TYPE /pws/zycat027-koart,

        v_shkzg_bi TYPE /pws/zycat027-shkzg.

* << Fim da inclusão

  PERFORM clear_date_batch.

  CLEAR itab_zycat025-tpimp.

  PERFORM get_parameters_f63_f02 USING itab_zycat025-tpimp.

  itab_zycbe033-mandt    = sy-mandt.

  itab_zycbe033-tcode    = 'F-02'.

  itab_zycbe033-tabela   = '/PWS/ZYCBT124'.

  itab_zycbe033-cpochv   = /pws/zycbe124-nrseq.

  itab_zycbe033-budat    = /pws/zycbe124-dtdocto.

  IF /pws/zycbt007-fdtdoc = 'D'.

    itab_zycbe033-bldat   = sy-datum.

...

 

...

                                  'BLART'

                                  text-090.

  itab_zycbe033-blart  = wa_zycbt011-blart.

  PERFORM verify_null_field USING /pws/zycbe124-vlme

                                  'VLME'

                                  text-119.

  itab_zycbe033-wrbtr = /pws/zycbe124-vlme.

  PERFORM verifica_pais_filial USING /pws/zycbe124-bukrs

                                     /pws/zycbe124-j_1bbranch.

  itab_zycbe033-brnch   = /pws/zycbe124-j_1bbranch.

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

  itab_zycbe033-newbs     = '01'.

* << Fim da exclusão

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

  IF /pws/zycbe124-tpoper EQ 'R'.

    IF /pws/zycbe124-tpcliente EQ 'F'.

     READ TABLE itab_zycat027

          WITH KEY koart = 'F'

                   shkzg = 'D'.

     itab_zycbe033-newbs     = itab_zycat027-bschl.

     v_koart_bi = 'F'.

     v_shkzg_bi = 'D'.

    ELSEIF /pws/zycbe124-tpcliente = 'C'.

     READ TABLE itab_zycat027

          WITH KEY koart = 'C'

                   shkzg = 'D'.

     itab_zycbe033-newbs     = itab_zycat027-bschl.

     v_koart_bi = 'C'.

     v_shkzg_bi = 'D'.

    ENDIF.

  ENDIF.

* << Fim da inclusão

  PERFORM verify_null_field USING /pws/zycbe124-recrem

                                'D_NEWKO'

                                text-120.

  itab_zycbe033-d_newko = /pws/zycbe124-recrem.

  itab_zycbe033-d_gsber = /pws/zycbe124-gsber.

  itab_zycbe033-c_gsber = /pws/zycbe124-gsber.

  itab_zycbe033-zterm  = /pws/zycbt007-condpgvista.

  APPEND itab_zycbe033.

  PERFORM preenche_partida_multipla_rec.

  LOOP AT itab_zycbt034.

...

 

...

  ENDIF.

  READ TABLE itab_zyglt100 WITH KEY zexit  = 'REM006' BINARY SEARCH.

  IF sy-subrc EQ 0 AND NOT itab_zyglt100-zexit_ativa IS INITIAL.

    PERFORM (itab_zyglt100-formulario)

            IN PROGRAM (itab_zyglt100-programa).

  ENDIF.

  IF itab_zycbt034[] IS INITIAL.

    CALL FUNCTION '/PWS/ZYCA_TRANSACAO_F_02R'

         EXPORTING

              v_modo          = v_modo_bi

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

              v_vkoart        = v_koart_bi

              v_shkzg         = v_shkzg_bi

* << Fim da inclusão

         TABLES

              t_dados         = itab_zycbe033

              t_campo         = itab_zycbt034

              t_zycbt032      = itab_zycbt032

              t_credito       = itab_zycbe035

         EXCEPTIONS

              campo_em_branco = 1

              periodo_fechado = 2

              OTHERS          = 3.

    IF sy-subrc = 0.

...

 

...

    /pws/zycbt124-waers     = p_bkpf-waers.

    IF NOT i_bseg-fdtag IS INITIAL.

      /pws/zycbt124-dtvencto  = i_bseg-fdtag.

    ELSE.

      /pws/zycbt124-dtvencto  = i_bseg-zfbdt + i_bseg-zbd1t.

    ENDIF.

    /pws/zycbt124-belnr     = p_bkpf-belnr.

    /pws/zycbt124-frpagto   = 'C'.

    /pws/zycbt124-status    = 'I'.

    IF v_ordem = 'X'       OR ( v_doc = 'X' AND i_bseg-koart = 'D' ).

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

     IF i_bseg-shkzg EQ 'S'.

* << Fim da inclusão

      /pws/zycbt124-tpoper  = 'R'.

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

      /pws/zycbt124-recrem  = i_bseg-kunnr.

      /pws/zycbt124-tprecrem = 'C'.

      /pws/zycbt124-tpcliente = 'C'.

     ELSE.

      /pws/zycbt124-tpoper  = 'P'.

* << Fim da inclusão

      /pws/zycbt124-recrem  = i_bseg-kunnr.

      /pws/zycbt124-tprecrem = 'C'.

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

      /pws/zycbt124-tpcliente = 'C'.

     ENDIF.

* << Fim da inclusão

    ELSEIF v_revisao = 'X' OR ( v_doc = 'X' AND i_bseg-koart = 'K' ).

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

     IF i_bseg-shkzg EQ 'H'.

* << Fim da inclusão

      /pws/zycbt124-tpoper  = 'P'.

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

      /pws/zycbt124-recrem  = i_bseg-lifnr.

      /pws/zycbt124-tprecrem = 'F'.

      /pws/zycbt124-tpcliente = 'F'.

     ELSE.

      /pws/zycbt124-tpoper  = 'R'.

* << Fim da inclusão

      /pws/zycbt124-recrem  = i_bseg-lifnr.

      /pws/zycbt124-tprecrem = 'F'.

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

      /pws/zycbt124-tpcliente = 'F'.

     ENDIF.

* << Fim da inclusão

    ENDIF.

    IF v_ordem = 'X'.

      /pws/zycbt124-criacao = 'O'.

    ELSEIF v_doc = 'X'.

      /pws/zycbt124-criacao = 'D'.

    ELSEIF v_revisao = 'X'.

      /pws/zycbt124-criacao = 'R'.

    ENDIF.

    IF /pws/zycbt124-tpoper = 'P'.

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

     IF /pws/zycbt124-tpcliente = 'F'.

      READ TABLE itab_zycat027

           WITH KEY koart = 'F'

                    shkzg = 'C'.

      IF sy-subrc EQ 0.

      SELECT SINGLE * FROM bseg

               WHERE belnr EQ wa_bkpf-belnr

                 AND bukrs EQ wa_bkpf-bukrs

                 AND gjahr EQ wa_bkpf-gjahr

                 AND augbl EQ space

                 AND shkzg EQ 'H'

                 AND bschl NE itab_zycat027-bschl.

      ENDIF.

     ELSE.

      READ TABLE itab_zycat027

           WITH KEY koart = 'C'

                    shkzg = 'C'.

      IF sy-subrc EQ 0.

* << Fim da inclusão

      SELECT SINGLE * FROM bseg

               WHERE belnr EQ wa_bkpf-belnr

                 AND bukrs EQ wa_bkpf-bukrs

                 AND gjahr EQ wa_bkpf-gjahr

                 AND augbl EQ space

                 AND shkzg EQ 'H'

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

                 AND bschl NE '31'.

* << Fim da exclusão

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

                 AND bschl NE itab_zycat027-bschl.

      ENDIF.

     ENDIF.

* << Fim da inclusão

    ELSEIF /pws/zycbt124-tpoper = 'R'.

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

     IF /pws/zycbt124-tpcliente = 'C'.

      READ TABLE itab_zycat027

           WITH KEY koart = 'C'

                    shkzg = 'D'.

      IF sy-subrc EQ 0.

       SELECT SINGLE * FROM bseg

               WHERE belnr EQ wa_bkpf-belnr

                 AND bukrs EQ wa_bkpf-bukrs

                 AND gjahr EQ wa_bkpf-gjahr

                 AND augbl EQ space

                 AND shkzg EQ 'S'

                 AND bschl NE itab_zycat027-bschl.

      ENDIF.

     ELSE.

      READ TABLE itab_zycat027

           WITH KEY koart = 'F'

                    shkzg = 'D'.

      IF sy-subrc EQ 0.

* << Fim da inclusão

      SELECT SINGLE * FROM bseg

               WHERE belnr EQ wa_bkpf-belnr

                 AND bukrs EQ wa_bkpf-bukrs

                 AND gjahr EQ wa_bkpf-gjahr

                 AND augbl EQ space

                 AND shkzg EQ 'S'

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

                 AND bschl NE '01'.

* << Fim da exclusão

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

                 AND bschl NE itab_zycat027-bschl.

      ENDIF.

     ENDIF.

* << Fim da inclusão

    ENDIF.

    if sy-subrc = 0.

      message i061 with text-182 text-183.

      exit.

    endif.

    IF /pws/zycbt124-tpoper = 'R' AND /pws/zycbt124-frpagto = 'C'.

      /pws/zycbt124-sld_associar = /pws/zycbt124-vlme.

    ENDIF.

    INSERT INTO /pws/zycbt124 VALUES /pws/zycbt124.

    IF sy-subrc = 0.

...

 

...

    ELSEIF itab_rel-tpoper = 'P'.

      CONCATENATE text-128 itab_rel-waers v_valor

                  text-130 itab_rel-recrem text-131

                  INTO v_dados SEPARATED BY space.

    ENDIF.

    WRITE: 27 v_dados.

  ENDLOOP.

  EXPORT itab_rel[] TO MEMORY ID 'IT_REM'.

ENDFORM.

FORM desmembra_docto_provisao_prin.

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

  DATA: v_koart_bi TYPE /pws/zycat027-koart,

        v_shkzg_bi TYPE /pws/zycat027-shkzg.

* << Fim da inclusão

  PERFORM clear_date_batch.

  SELECT SINGLE * FROM /pws/zycbt007

                  WHERE bukrs EQ /pws/zycbe124-bukrs.

  SELECT SINGLE * FROM /pws/zycbt089

                  WHERE bukrs EQ /pws/zycbe124-bukrs.

  SELECT SINGLE * FROM /pws/zyglt009

                  WHERE bukrs EQ /pws/zycbe124-bukrs.

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

  SELECT * FROM /pws/zycat027 INTO TABLE itab_zycat027.

* << Fim da inclusão

  SELECT *

     FROM /pws/zycbt011

       UP TO 1 ROWS

     INTO wa_zycbt011

    WHERE codmod  = 'F'

      AND codeven = '004P'.

  ENDSELECT.

  SELECT * FROM /pws/zyglt321

           INTO TABLE itab_zyglt321

           WHERE ktosl   = 'DSF'

...

 

...

        ELSEIF itab_zyglt321-cpocb IS INITIAL AND

               NOT itab_zyglt321-descr IS INITIAL.

          itab_zycbe033-c_zuonr = itab_zyglt321-descr.

        ENDIF.

    ENDCASE.

  ENDLOOP.

  itab_zycbe033-agkon = /pws/zycbe124-recrem.

  PERFORM verify_null_field USING itab_zycbe033-agkon

                                  'AGKON'

                                  text-136.

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

  IF /pws/zycbe124-tpoper = 'R'.

* << Fim da exclusão

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

  IF /pws/zycbe124-tpoper EQ 'R'.

    IF /pws/zycbe124-tpcliente EQ 'F'.

     READ TABLE itab_zycat027

          WITH KEY koart = 'F'

                   shkzg = 'D'.

     itab_zycbe033-newbs     = itab_zycat027-bschl.

     v_koart_bi              = 'F'.

     v_shkzg_bi              = 'D'.

     itab_zycbe033-agkoa = 'K'.

    ELSEIF /pws/zycbe124-tpcliente = 'C'.

     READ TABLE itab_zycat027

          WITH KEY koart = 'C'

                   shkzg = 'D'.

     itab_zycbe033-newbs     = itab_zycat027-bschl.

     v_koart_bi              = 'C'.

     v_shkzg_bi              = 'D'.

* << Fim da inclusão

    itab_zycbe033-agkoa = 'D'.

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

    itab_zycbe033-newbs = '01'.

  ELSEIF /pws/zycbe124-tpoper = 'P'.

* << Fim da exclusão

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

    ENDIF.

  ELSE.

    IF /pws/zycbe124-tpcliente EQ 'F'.

     READ TABLE itab_zycat027

          WITH KEY koart = 'F'

                   shkzg = 'C'.

     itab_zycbe033-newbs     = itab_zycat027-bschl.

     v_koart_bi              = 'F'.

     v_shkzg_bi              = 'C'.

* << Fim da inclusão

    itab_zycbe033-agkoa = 'K'.

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

    itab_zycbe033-newbs = '31'.

* << Fim da exclusão

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

    ELSEIF /pws/zycbe124-tpcliente = 'C'.

     READ TABLE itab_zycat027

          WITH KEY koart = 'C'

                   shkzg = 'C'.

     itab_zycbe033-newbs     = itab_zycat027-bschl.

     v_koart_bi              = 'C'.

     v_shkzg_bi              = 'C'.

     itab_zycbe033-agkoa = 'D'.

    ENDIF.

* << Fim da inclusão

  ENDIF.

  itab_zycbe033-belnr = /pws/zycbe124-belnr.

  SELECT SINGLE budat kursf awkey FROM bkpf

                      INTO (itab_zycbe033-dtdocto,itab_zycbe033-kursf,

                            itab_zycbe033-awkey)

                      WHERE bukrs EQ /pws/zycbe124-bukrs

                        AND belnr EQ /pws/zycbe124-belnr

                        AND gjahr EQ /pws/zycbe124-dtdocto(4).

  CLEAR:   itab_zyglt100.

  REFRESH: itab_zyglt100.

...

 

...

  ENDIF.

  APPEND itab_zycbe033.

  LOOP AT itab_zycbt034.

    MESSAGE i016 WITH itab_zycbt034-descricao.

  ENDLOOP.

  IF itab_zycbt034[] IS INITIAL.

    CALL FUNCTION '/PWS/ZYCA_TRANSACAO_F_51Q'

         EXPORTING

              v_modo          = v_modo_bi

              v_buzei         = /pws/zycbe124-buzei

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

              v_vkoart         = v_koart_bi

              v_vshkzg         = v_shkzg_bi

* << Fim da inclusão

         IMPORTING

              v_dtlanc        = v_dtlanc

         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

...

 

...

        MESSAGE i016 WITH itab_zycbt034-descricao.

      ENDLOOP.

      PERFORM seta_erro_bi USING 'PRINCIPAL'.

    ENDIF.

  ELSE.

    PERFORM seta_erro_bi USING 'PRINCIPAL'.

  ENDIF.

ENDFORM.

FORM fill_date_f_51_princ_ir.

  DATA: v_processo(1) TYPE c,

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

        v_zuonr       LIKE /pws/zycbe033-c_zuonr.

* << Fim da exclusão

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

        v_zuonr       LIKE /pws/zycbe033-c_zuonr,

        v_koart_bi        TYPE /pws/zycat027-koart,

        v_shkzg_bi        TYPE /pws/zycat027-shkzg.

* << Fim da inclusão

  PERFORM clear_date_batch.

  READ TABLE itab_zycat025 WITH KEY tpimp(4) = 'IRRF'.

  CHECK erro_bi_principal IS INITIAL AND

        erro_bi_irrf      IS INITIAL AND

        sy-subrc          EQ 0.

  SELECT SINGLE * FROM /pws/zycbt007

                  WHERE bukrs EQ /pws/zycbe124-bukrs.

  SELECT SINGLE * FROM /pws/zycbt089

                  WHERE bukrs EQ /pws/zycbe124-bukrs.

  SELECT SINGLE * FROM /pws/zyglt009

                  WHERE bukrs EQ /pws/zycbe124-bukrs.

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

  SELECT * FROM /pws/zycat027 INTO TABLE itab_zycat027.

* << Fim da inclusão

  IF sy-index <= 1.

    SELECT *

      FROM /pws/zycbt011

        UP TO 1 ROWS

      INTO wa_zycbt011

     WHERE codmod  = 'F'

       AND codeven = '004P'.

    ENDSELECT.

    SELECT * FROM /pws/zyglt321

             INTO TABLE itab_zyglt321

...

 

...

        ELSEIF itab_zyglt321-cpocb IS INITIAL AND

               NOT itab_zyglt321-descr IS INITIAL.

          itab_zycbe033-c_zuonr = itab_zyglt321-descr.

        ENDIF.

    ENDCASE.

  ENDLOOP.

  itab_zycbe033-agkon = /pws/zycbe124-recrem.

  PERFORM verify_null_field USING itab_zycbe033-agkon

                                  'AGKON'

                                  text-136.

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

  IF /pws/zycbe124-tpoper EQ 'R'.

    IF /pws/zycbe124-tpcliente EQ 'F'.

     READ TABLE itab_zycat027

          WITH KEY koart = 'F'

                   shkzg = 'D'.

     itab_zycbe033-newbs = itab_zycat027-bschl.

     v_koart_bi = 'F'.

     v_shkzg_bi = 'D'.

     itab_zycbe033-agkoa = 'K'.

    ELSE.

     READ TABLE itab_zycat027

          WITH KEY koart = 'C'

                   shkzg = 'D'.

     itab_zycbe033-newbs = itab_zycat027-bschl.

     v_koart_bi = 'C'.

     v_shkzg_bi = 'D'.

     itab_zycbe033-agkoa = 'D'.

    ENDIF.

  ELSE.

    IF /pws/zycbe124-tpcliente EQ 'F'.

     READ TABLE itab_zycat027

          WITH KEY koart = 'F'

                   shkzg = 'C'.

     itab_zycbe033-newbs = itab_zycat027-bschl.

     v_koart_bi = 'F'.

     v_shkzg_bi = 'C'.

* << Fim da inclusão

  itab_zycbe033-agkoa = 'K'.

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

    ELSE.

      READ TABLE itab_zycat024 WITH KEY tpimp(4) = 'IRRF'

                                        bukrs    = /pws/zycbe124-bukrs.

      IF sy-subrc = 0 AND  itab_zycat024-credito_imp = '1'.

        IF NOT /pws/zycbe124-belnr_f51p IS INITIAL.

          v_koart_bi = 'F'.

          v_shkzg_bi = 'C'.

          itab_zycbe033-newbs = '31'.

          itab_zycbe033-agkoa = 'D'.

        ELSE.

          READ TABLE itab_zycat027

               WITH KEY koart = 'C'

                        shkzg = 'C'.

          itab_zycbe033-newbs = itab_zycat027-bschl.

          v_koart_bi = 'C'.

          v_shkzg_bi = 'C'.

          itab_zycbe033-agkoa = 'D'.

        ENDIF.

      ELSE.

          READ TABLE itab_zycat027

               WITH KEY koart = 'C'

                        shkzg = 'C'.

          itab_zycbe033-newbs = itab_zycat027-bschl.

          v_koart_bi = 'C'.

          v_shkzg_bi = 'C'.

          itab_zycbe033-agkoa = 'D'.

      ENDIF.

    ENDIF.

  ENDIF.

* << Fim da inclusão

  IF sy-index <= 1.

    itab_zycbe033-c_newko   = /pws/zycbe124-recrem.

    itab_zycbe033-d_newko   = /pws/zycbe124-recrem.

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

    itab_zycbe033-newbs = '31'.

* << Fim da exclusão

  ELSEIF sy-index = 2.

    IF NOT itab_zycat024-credito_imp IS INITIAL.

      v_cred_imp = itab_zycat024-credito_imp.

    ELSE.

      v_cred_imp = /pws/zyglt009-cont_impostos.

    ENDIF.

    IF v_cred_imp = '1'.

      itab_zycbe033-c_newko   = /pws/zycbt089-forn_rec_fed.

      itab_zycbe033-d_newko   = /pws/zycbt089-forn_rec_fed.

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

      itab_zycbe033-newbs = '31'.

* << Fim da exclusão

    ELSEIF v_cred_imp = '2'.

      itab_zycbe033-c_newko   = /pws/zycbe124-recrem.

      itab_zycbe033-d_newko   = /pws/zycbe124-recrem.

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

      itab_zycbe033-newbs = '31'.

* << Fim da exclusão

    ELSEIF v_cred_imp = '3'.

      CALL FUNCTION '/PWS/ZYGL_READ_ACCOUNT_NUMBER'

           EXPORTING

                bukrs           = /pws/zycbe124-bukrs

...

 

...

  APPEND itab_zycbe033.

  LOOP AT itab_zycbt034.

    MESSAGE i016 WITH itab_zycbt034-descricao.

  ENDLOOP.

  IF itab_zycbt034[] IS INITIAL.

    CALL FUNCTION '/PWS/ZYCA_TRANSACAO_F_51P'

         EXPORTING

              v_modo          = v_modo_bi

              v_processo      = v_processo

              v_zuonr         = v_zuonr

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

              v_vkoart        = v_koart_bi

              v_vshkzg        = v_shkzg_bi

* << Fim da inclusão

         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.

    IF sy-subrc = 0.

...

 

...

ENDFORM.

FORM atualiza_itab_rateio

  TABLES p_itab_zycbt141 STRUCTURE itab_zycbt141_p

  USING  value(p_indice) TYPE i.

  IF itab_zycbt141_i NE /pws/zycbe141-tpimp AND

     ok_code         EQ 'DEL_L'.

    EXIT.

  ENDIF.

  MOVE: sy-mandt                TO p_itab_zycbt141-mandt    ,

        /pws/zycbe124-nrseq     TO p_itab_zycbt141-nrseq    ,

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

        /pws/zycbe141-tpimp     TO p_itab_zycbt141-tpimp     ,

* << Fim da exclusão

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

        /pws/zycbe141-tpimp     TO p_itab_zycbt141-tpimp    ,

* << Fim da inclusão

        /pws/zycbe141-saknr1    TO p_itab_zycbt141-saknr1   ,

        /pws/zycbe141-vlremessa TO p_itab_zycbt141-vlremessa,

        /pws/zycbe141-kostl     TO p_itab_zycbt141-kostl    ,

        /pws/zycbe141-prctr     TO p_itab_zycbt141-prctr    ,

        /pws/zycbe141-aufnr     TO p_itab_zycbt141-aufnr    ,

        /pws/zycbe141-fipos     TO p_itab_zycbt141-fipos    ,

        /pws/zycbe141-fictr     TO p_itab_zycbt141-fictr    ,

        /pws/zycbe141-kstrg     TO p_itab_zycbt141-kstrg    ,

        /pws/zycbe141-ps_posid  TO p_itab_zycbt141-ps_posid ,

        /pws/zycbe141-nplnr     TO p_itab_zycbt141-nplnr    ,

...

 

...

          screen-name EQ 'OBJR_PRI'.

    IF screen-name           EQ 'OBJR_PRI' AND

       NOT itab_zycbt141_p[] IS INITIAL.

      CONTINUE.

    ENDIF.

    MOVE p_editar TO screen-input.

    MODIFY SCREEN.

  ENDLOOP.

  LOOP AT tc_principal-cols

    INTO wa_cols.

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

     IF v_repatri = 'X'.

      IF wa_cols-screen-name = '/PWS/ZYCBE141-SAKNR1' OR

         wa_cols-screen-name = '/PWS/ZYCBE141-VLREMESSA'.

         wa_cols-screen-input = 0.

         MODIFY tc_principal-cols FROM wa_cols.

      ENDIF.

     ELSE.

* << Fim da inclusão

    MOVE p_editar TO wa_cols-screen-input.

    MODIFY tc_principal-cols FROM wa_cols.

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

     ENDIF.

* << Fim da inclusão

  ENDLOOP.

ENDFORM.

FORM editar_rateio_imposto

   USING value(p_editar).

  LOOP AT SCREEN.

...

 

...

      erro_bi_irrf = erro_bi_cide = erro_bi_pis = erro_bi_cofins =

      erro_bi_iss = erro_bi_iof = 'X'.

      EXIT.

    ELSE.

      CLEAR: v_total, itab_zycbt141.

    ENDIF.

  ENDLOOP.

ENDFORM.

FORM preenche_gera_contabeis USING p_tpimp

                                   p_vlme.

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

  DATA: v_koart_bi TYPE /pws/zycat027-koart,

        v_shkzg_bi TYPE /pws/zycat027-shkzg.

* << Fim da inclusão

  v_tpimp = p_tpimp.

  CHECK erro_bi_principal IS INITIAL AND

        erro_bi_irrf      IS INITIAL AND

        erro_bi_cide      IS INITIAL AND

        erro_bi_pis       IS INITIAL AND

        erro_bi_cofins    IS INITIAL AND

        erro_bi_iss       IS INITIAL AND

        erro_bi_iof       IS INITIAL.

  PERFORM clear_date_batch.

  PERFORM get_parameters_f63_f02 USING p_tpimp.

...

 

...

          itab_zycbe033-c_zuonr = /pws/zycbe124-codpagto.

        ELSEIF itab_zyglt321-cpocb = 'TPIMP'.

          itab_zycbe033-c_zuonr = p_tpimp.

        ELSEIF itab_zyglt321-cpocb IS INITIAL AND

               NOT itab_zyglt321-descr IS INITIAL.

          itab_zycbe033-c_zuonr = itab_zyglt321-descr.

        ENDIF.

    ENDCASE.

  ENDLOOP.

  itab_zycbe033-newbs     = '31'.

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

  IF /pws/zycbe124-tpoper EQ 'P'.

    IF /pws/zycbe124-tpcliente EQ 'F'.

     READ TABLE itab_zycat027

          WITH KEY koart = 'F'

                   shkzg = 'C'.

     itab_zycbe033-newbs     = itab_zycat027-bschl.

     v_koart_bi = 'F'.

     v_shkzg_bi = 'C'.

    ELSEIF /pws/zycbe124-tpcliente = 'C'.

      READ TABLE itab_zycat027

           WITH KEY koart = 'C'

                    shkzg = 'C'.

      IF sy-subrc = 0.

        itab_zycbe033-newbs = itab_zycat027-bschl.

        v_koart_bi = 'C'.

        v_shkzg_bi = 'C'.

        itab_zycbe033-agkoa = 'D'.

      ENDIF.

      IF p_tpimp(4) = 'IRRF'.

        READ TABLE itab_zycat024 WITH KEY tpimp(4) = 'IRRF'

                                         bukrs    = /pws/zycbe124-bukrs.

        IF sy-subrc = 0 AND  itab_zycat024-credito_imp = '1'.

          v_koart_bi = 'F'.

          v_shkzg_bi = 'C'.

          itab_zycbe033-newbs = '31'.

          itab_zycbe033-agkoa = 'D'.

        ENDIF.

      ENDIF.

    ENDIF.

  ENDIF.

* << Fim da inclusão

  IF p_tpimp = 'PRINCIPAL'.

    itab_zycbe033-c_newko   =  /pws/zycbe124-recrem.

    READ TABLE itab_zycat025 WITH KEY tpimp(4) = 'IRRF'.

    IF sy-subrc = 0 AND itab_zycat025-dedfat = 'X'.

      itab_zycbe033-wrbtr   =  p_vlme -

                              itab_zycat025-vlimpme.        "#EC *

    ENDIF.

    p_tpimp = 'PRINCIPAL'.

    itab_zycbe033-c_prctr   = /pws/zycbe124-prctr.

  ELSE.

    IF NOT itab_zycat024-credito_imp IS INITIAL.

      v_cred_imp = itab_zycat024-credito_imp.

    ELSE.

      v_cred_imp = /pws/zyglt009-cont_impostos.

    ENDIF.

    IF v_cred_imp = '1'.

      itab_zycbe033-c_newko   = /pws/zycbt089-forn_rec_fed.

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

      itab_zycbe033-newbs     = '31'.

      v_koart_bi = 'F'.

      v_shkzg_bi = 'C'.

* << Fim da inclusão

    ELSEIF v_cred_imp = '2'.

      itab_zycbe033-c_newko   = /pws/zycbe124-recrem.

    ELSEIF v_cred_imp = '3'.

      CALL FUNCTION '/PWS/ZYGL_READ_ACCOUNT_NUMBER'

           EXPORTING

                bukrs           = /pws/zycbe124-bukrs

                ktosl           = 'PVF'

                codaux1         = p_tpimp

           TABLES

                account         = itab_zyglt316

           EXCEPTIONS

                key_not_found   = 1

                rules_not_found = 2

                OTHERS          = 3.

      IF sy-subrc = 0.

        READ TABLE itab_zyglt316 INDEX 1.

        itab_zycbe033-c_newko = itab_zyglt316-konth.

      ENDIF.

      itab_zycbe033-newbs   = '50'.

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

      CLEAR: v_koart_bi, v_shkzg_bi.

* << Fim da inclusão

    ENDIF.

  ENDIF.

  itab_zycbe033-d_gsber   = /pws/zycbe124-gsber.

  itab_zycbe033-c_gsber   = /pws/zycbe124-gsber.

  APPEND itab_zycbe033.

  PERFORM preenche_partida_multipla USING p_tpimp.

  CLEAR:   itab_zyglt100.

  REFRESH: itab_zyglt100.

  IF itab_zyglt100[] IS INITIAL.

    v_syrepid = sy-repid.

...

 

...

      PERFORM (itab_zyglt100-formulario)

              IN PROGRAM (itab_zyglt100-programa)

              USING      ok_code

              CHANGING   e_subrc.

      IF e_subrc NE 0.

        EXIT.

      ENDIF.

    ENDIF.

  ENDIF.

  IF /pws/zycbe124-frgzu = '2'.

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

    PERFORM call_function_f63 USING p_tpimp.

* << Fim da exclusão

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

    PERFORM call_function_f63

      USING p_tpimp

            v_koart_bi

            v_shkzg_bi.

* << Fim da inclusão

  ELSEIF /pws/zycbe124-frgzu = '1'.

    MODIFY /pws/zycbt124 FROM /pws/zycbe124.

  ENDIF.

ENDFORM.

FORM preenche_estorna_contabeis USING p_tpimp

                                      p_belnr

                                      p_data.

  CLEAR bkpf.

  SELECT SINGLE * FROM bkpf

         WHERE bukrs EQ wa_zycbt124-bukrs

...

 

...

       ( /pws/zycbe124-ftaxa    NE wa_zycbt124-ftaxa    AND

         /pws/zycbe124-kursf    IS INITIAL ).

        p_estorna = 'X'.

        EXIT.

      ENDIF.

    ENDIF.

    IF /pws/zycbe124-bukrs      NE wa_zycbt124-bukrs      OR

       /pws/zycbe124-waers      NE wa_zycbt124-waers      OR

       /pws/zycbe124-vlme       NE wa_zycbt124-vlme       OR

       /pws/zycbe124-j_1bbranch NE wa_zycbt124-j_1bbranch OR

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

       /pws/zycbe124-gsber      NE wa_zycbt124-gsber.

* << Fim da exclusão

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

       /pws/zycbe124-gsber      NE wa_zycbt124-gsber      OR

       /pws/zycbe124-tpcliente  NE wa_zycbt124-tpcliente.

* << Fim da inclusão

      p_estorna = 'X'.

      EXIT.

    ENDIF.

    IF NOT itab_zycat024-credito_imp IS INITIAL.

      v_cred_imp = itab_zycat024-credito_imp.

    ELSE.

      v_cred_imp = /pws/zyglt009-cont_impostos.

    ENDIF.

    IF v_cred_imp = '2'.

      IF /pws/zycbe124-recrem NE wa_zycbt124-recrem.

...

 

...

            vl_base        = p_base_calculo

       TABLES

            t_zycat025     = itab_zycat025

       EXCEPTIONS

            valor_invalido = 1

            OTHERS         = 2.                             "#EC *

  IF sy-subrc = 0 .

  ELSE.

  ENDIF.

ENDFORM.

* >> Início da inclusão:

form preenche_dados_repatriacao.

CLEAR: v_moeda, v_agums, v_codeven, v_sequencial_aux,

       v_saldo, v_belnr_as, v_dtassoc, itab_zycbt141_p.

REFRESH itab_zycbt141_p.

GET PARAMETER ID 'PROCESSO'   FIELD v_processo.

GET PARAMETER ID 'SEQUENCIAL' FIELD v_sequencial.

MOVE v_sequencial TO v_sequencial_aux.

CASE v_processo.

 WHEN 'PG'.

  SELECT *

     UP TO 1 ROWS

    FROM /pws/zycbt119

   WHERE nrseq = v_sequencial_aux.

  ENDSELECT.

   IF sy-subrc EQ 0.

    v_moeda  = /pws/zycbt119-waers.

    v_saldo  = /pws/zycbt119-slpgfat.

    IF /pws/zycbt119-belnr_as EQ SPACE.

     v_belnr_as = /pws/zycbt119-belnr_p.

     v_dtassoc = /pws/zycbt119-dtpagto.

    ELSE.

     v_belnr_as = /pws/zycbt119-belnr_as.

     v_dtassoc = /pws/zycbt119-dtassoc.

    ENDIF.

    v_recrem = /pws/zycbt119-lifnr.

    CONCATENATE '007' /pws/zycbt119-codint INTO v_codeven.

   ENDIF.

 WHEN 'PA'.

  SELECT *

     UP TO 1 ROWS

    FROM /pws/zycbt117

   WHERE nrseq = v_sequencial_aux.

  ENDSELECT.

   IF sy-subrc EQ 0.

    v_moeda = /pws/zycbt117-waers.

    v_saldo = /pws/zycbt117-slpgant.

    IF /pws/zycbt117-belnr_as EQ SPACE.

     v_belnr_as = /pws/zycbt117-belnr_p.

     v_dtassoc = /pws/zycbt117-dtpagto.

    ELSE.

     v_belnr_as = /pws/zycbt117-belnr_as.

     v_dtassoc = /pws/zycbt117-dtassoc.

    ENDIF.

    v_recrem = /pws/zycbt117-lifnr.

    CONCATENATE '005' /pws/zycbt117-codint INTO v_codeven.

   ENDIF.

 WHEN 'FI'.

  SELECT *

     UP TO 1 ROWS

    FROM /pws/zycbt112

   WHERE nrseq = v_sequencial_aux.

  ENDSELECT.

  IF sy-subrc EQ 0.

    v_moeda    = /pws/zycbt112-waers.

    v_saldo    = /pws/zycbt112-slassoc.

    v_belnr_as = /pws/zycbt112-belnr_as.

    v_dtassoc  = /pws/zycbt112-dtassoc.

    v_recrem = /pws/zycbt112-lifnr.

    CONCATENATE '001' /pws/zycbt112-codint INTO v_codeven.

  ENDIF.

ENDCASE.

IF sy-subrc EQ 0.

    SELECT *

        UP TO 1 ROWS

      FROM /pws/zycbt011

     WHERE bukrs = /pws/zycbe124-bukrs AND

        codmod = 'I'                   AND

        codeven = v_codeven.

     ENDSELECT.

     IF sy-subrc EQ 0.

       v_agums = /pws/zycbt011-agums.

     ENDIF.

ENDIF.

SELECT *

  UP TO 1 ROWS

  FROM BSEG

 WHERE bukrs = /pws/zycbe124-bukrs AND

       belnr = v_belnr_as          AND

       gjahr = v_dtassoc(4)        AND

       augbl = space               AND

       koart = 'K'                 AND

       umskz = v_agums.

ENDSELECT.

IF sy-subrc EQ 0.

   v_saknr1 = bseg-hkont.

   MOVE: v_nrseq   TO itab_zycbt141_p-nrseq,

         v_saknr1  TO itab_zycbt141_p-saknr1,

         v_saldo   TO itab_zycbt141_p-vlremessa.

    SELECT SINGLE *

      FROM bkpf

     WHERE bukrs = /pws/zycbe124-bukrs

       AND gjahr = v_dtassoc(4)

       AND belnr = v_belnr_as.

       IF sy-subrc = 0.

         MOVE:  bkpf-kursf TO /pws/zycbe124-kursf.

       ENDIF.

   APPEND itab_zycbt141_p.

ENDIF.

MOVE: v_nrseq               TO /pws/zycat028-nrseq,

      v_processo            TO /pws/zycat028-tp_processo,

      v_sequencial_aux      TO /pws/zycat028-nr_processo,

      v_agums               TO /pws/zycat028-agums,

      v_saldo               TO v_saldo_r,

      v_belnr_as            TO /pws/zycat028-belnr_as,

      v_dtassoc             TO /pws/zycat028-dt_assoc,

      v_recrem              TO /pws/zycbe124-recrem,

      v_belnr_as            TO v_belnr_s.

endform.

form cria_remessa_repatriacao

   USING p_sy_subrc    type sy-subrc.

   SELECT *

       UP TO 1 ROWS

     FROM /pws/zycat028

     WHERE tp_processo = v_processo

       AND nr_processo = v_sequencial_aux.

   ENDSELECT.

    p_sy_subrc = sy-subrc.

endform.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCA109I01

 

...

            LEAVE TO TRANSACTION '/PWS/ZYCB109_E' AND SKIP FIRST SCREEN.

          ELSE.

            v_status_s = 0.

          ENDIF.

        ENDIF.

      ENDIF.

      SELECT SINGLE * FROM /pws/zycbt124 INTO /pws/zycbe124

                      WHERE nrseq = v_nrseq

                        AND status <> 'E'.

      IF sy-subrc = 0.

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

        SELECT *

           UP TO 1 ROWS

           FROM /pws/zycat028

          WHERE nrseq = v_nrseq.

        ENDSELECT.

 IF sy-subrc EQ 0.

  GET PARAMETER ID 'X' FIELD v_repatri.

   MOVE: /pws/zycat028-tp_processo   TO v_processo,

         /pws/zycat028-nr_processo   TO v_sequencial,

         /pws/zycbe124-waers         TO v_moeda,

         /pws/zycbe124-vlme          TO v_saldo_r,

         /pws/zycat028-agums         TO v_agums,

         /pws/zycat028-belnr_as      TO v_belnr_as,

         /pws/zycat028-dt_assoc      TO v_dtassoc,

         /pws/zycbe124-recrem        TO v_recrem,

         /pws/zycat028-belnr_as      TO v_belnr_s.

   v_repatri = 'X'.

 ENDIF.

* << Fim da inclusão

        v_dtvencto_ant = /pws/zycbe124-dtvencto.

        SELECT * FROM /pws/zycat025 INTO TABLE itab_zycat025

                 WHERE nrseq = v_nrseq.                 "#EC CI_NOFIRST

        LOOP AT itab_zycat025.

          SELECT * FROM /pws/zycbt064

                     UP TO 1 ROWS

                  WHERE nrchave   = /pws/zycbe124-nrseq

                    AND mdcorresp = 'CP'.

          ENDSELECT .

          IF sy-subrc = 0.

...

 

...

               tpimp LIKE 'IRRF%'   OR

               tpimp LIKE 'ISS%'    OR

               tpimp LIKE 'PIS%' ).

        SORT itab_zycbt141_i BY tpimp.

        itab_zycbt141_p_aux[]  = itab_zycbt141_p[].

        itab_zycbt141_p_aux3[] = itab_zycbt141_p[].

        itab_zycbt141_i_aux[]  = itab_zycbt141_i[].

        v_aliqpis    = /pws/zycbe124-aliqpis.

        v_aliqcofins = /pws/zycbe124-aliqcofins.

        v_aliqiss    = /pws/zycbe124-aliqiss.

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

        IF /pws/zycat028-belnr_as IS INITIAL.

* << Fim da inclusão

        IF NOT /pws/zycbe124-belnr_f51p IS INITIAL.

          v_belnr_s = /pws/zycbe124-belnr_f51p.

        ELSE.

          v_belnr_s = /pws/zycbe124-belnr.

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

          ENDIF.

* << Fim da inclusão

        ENDIF.

        MOVE /pws/zycbe124 TO wa_zycbt124.

        IF wa_zycbt124-contcom = 'X'.

...

 

...

  ENDIF.

ENDMODULE.

MODULE consiste_fiv INPUT.

  IF v_status_s NE 0.

    IF /pws/zycbe124-fiv IS INITIAL.

      MESSAGE i015 WITH text-058.

    ENDIF.

  ENDIF.

ENDMODULE.

MODULE seta_matchcode INPUT.

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

  tdynpread-fieldname = '/PWS/ZYCBE124-TPOPER'.

* << Fim da exclusão

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

  tdynpread-fieldname = '/PWS/ZYCBE124-TPCLIENTE'.

* << Fim da inclusão

  APPEND tdynpread.

  CALL FUNCTION 'DYNP_VALUES_READ'

       EXPORTING

            dyname     = '/PWS/SAPMZYCA109'

            dynumb     = '0101'

       TABLES

            dynpfields = tdynpread.

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

  /pws/zycbe124-tpoper = tdynpread-fieldvalue.

  CASE /pws/zycbe124-tpoper.

    WHEN 'P'.

* << Fim da exclusão

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

  /pws/zycbe124-tpcliente = tdynpread-fieldvalue.

  CASE /pws/zycbe124-tpcliente.

    WHEN 'F'.

* << Fim da inclusão

      CLEAR matchcode.

      matchcode = 'KRED'.

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

    WHEN 'R'.

* << Fim da exclusão

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

    WHEN 'C'.

* << Fim da inclusão

      CLEAR matchcode.

      matchcode = 'DEBI'.

...

 

...

MODULE user_command_0002 INPUT.

  CASE ok_code.

    WHEN 'ENTE'.

      IF v_sori = 'X'.

        /pws/zycbe124-criacao = 'S'.

        IF ok_code EQ 'ENTE'.

          LEAVE TO SCREEN '0100'.

        ELSE.

          LEAVE SCREEN.

        ENDIF.

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

      ELSEIF v_repatri = 'X'.

        /pws/zycbe124-criacao = 'S'.

        IF NOT ( v_flag_proc IS INITIAL OR

                 v_flag_seq IS INITIAL ).

          PERFORM cria_remessa_repatriacao

            USING v_sy_subrc.

          IF v_sy_subrc NE 0.

            LEAVE TO SCREEN '0100'.

          ELSE.

            MESSAGE w061 WITH text-132 v_sequencial.

            LEAVE TO SCREEN '0002'.

          ENDIF.

        ELSE.

          LEAVE TO SCREEN '0002'.

        ENDIF.

* << Fim da inclusão

      ELSEIF v_ordem = 'X'.

        /pws/zycbe124-criacao = 'O'.

        PERFORM criar_remessa_ordem.

      ELSEIF v_doc = 'X'.

        /pws/zycbe124-criacao = 'D'.

        PERFORM criar_remessa_doc.

      ELSEIF v_revisao = 'X'.

        /pws/zycbe124-criacao = 'R'.

        PERFORM criar_remessa_revisao.

      ENDIF.

...

 

...

    IF sy-subrc = 0.

      READ TABLE itab_zycat025 WITH KEY tpimp = /pws/zycbe141-tpimp.

      IF sy-subrc NE 0.

        MESSAGE e061 WITH text-108.

      ENDIF.

    ENDIF.

  ENDIF.

ENDMODULE.

MODULE consiste_conta_p INPUT.

  CHECK NOT /pws/zycbe124-codpagto IS INITIAL AND v_status_s NE 0.

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

 IF v_repatri IS INITIAL.

* << Fim da inclusão

  IF /pws/zycbe124-tpoper = 'P'.

    PERFORM busca_conta USING /pws/zycbe124-bukrs

                              'DSF'

                              /pws/zycbe124-codpagto

                              space.

    READ TABLE itab_zyglt316 WITH KEY konts = /pws/zycbe141-saknr1.

  ELSEIF /pws/zycbe124-tpoper = 'R'.

    PERFORM busca_conta USING /pws/zycbe124-bukrs

                              'RCF'

                              /pws/zycbe124-codpagto

                              space.

    READ TABLE itab_zyglt316 WITH KEY konth = /pws/zycbe141-saknr1.

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

  ENDIF.

* << Fim da inclusão

  ENDIF.

  IF ( sy-subrc NE 0 AND /pws/zycbe124-criacao EQ 'S' )

     OR /pws/zycbe141-saknr1 IS INITIAL.

    IF NOT /pws/zycbe141-saknr1 IS INITIAL.

      CLEAR v_aux.

      DO 99 TIMES.

        v_aux = v_aux + 1.

        CONDENSE v_aux.

        IF /pws/zycbe124-tpoper = 'P'.

          PERFORM busca_conta USING /pws/zycbe124-bukrs

...

 

...

  ENDIF.

  READ TABLE itab_zyglt100 WITH KEY zexit = 'REM005' BINARY SEARCH.

  IF sy-subrc EQ 0.

    IF NOT itab_zyglt100-zexit_ativa IS INITIAL.

      PERFORM (itab_zyglt100-formulario)

              IN PROGRAM (itab_zyglt100-programa)

              USING      ok_code.

    ENDIF.

  ENDIF.

ENDMODULE.

* >> Início da inclusão:

module exibe_tp_pagamento input.

  DATA: BEGIN OF f_info OCCURS 0.

          INCLUDE STRUCTURE help_info.

  DATA: END OF f_info.

  DATA: BEGIN OF DYNPSELECT OCCURS 0.

          INCLUDE STRUCTURE  DSELC.

  DATA: END OF DYNPSELECT.

  DATA: BEGIN OF DYNPVALUETAB OCCURS 0.

          INCLUDE STRUCTURE  DVAL.

  DATA: END OF DYNPVALUETAB.

  CLEAR:   f_info.

  REFRESH: f_info.

  FREE v_processo.

  MOVE: '/PWS/ZYCAT028' TO f_info-tabname,

        'TP_PROCESSO'   TO f_info-fieldname,

        'V'             TO f_info-call.

  APPEND f_info.

CALL FUNCTION 'HELP_START'

  EXPORTING

    help_infos         = f_info

  IMPORTING

    select_value       = v_processo

  tables

    dynpselect         = DYNPSELECT

    dynpvaluetab       = DYNPVALUETAB

  exceptions

    others             = 2.

  SET PARAMETER ID 'PROCESSO'   FIELD  v_processo.

  v_flag_proc = 'X'.

endmodule.

module exibe_nr_sequencial input.

  DATA: l_display(1) TYPE c,

        v_matchcode1 TYPE shlpname,

        v_tabname    TYPE DFIES-TABNAME.

  FREE: v_sequencial, v_sequencial_aux.

  CASE v_processo.

    WHEN 'PA'.

      CLEAR: v_matchcode1, v_tabname.

      v_matchcode1 = '/PWS/ZYCAA029'.

      v_tabname    = '/PWS/ZYCBT117'.

    WHEN 'PG'.

      CLEAR: v_matchcode1, v_tabname.

      v_matchcode1 = '/PWS/ZYCAA028'.

      v_tabname    = '/PWS/ZYCBT119'.

    WHEN 'FI'.

      CLEAR: v_matchcode1, v_tabname.

      v_matchcode1 = '/PWS/ZYCAA030'.

      v_tabname    = '/PWS/ZYCBT112'.

    WHEN OTHERS.

      CLEAR: v_matchcode1, v_tabname.

      MESSAGE i061(/pws/zycbm) WITH text-068.

      EXIT.

  ENDCASE.

  CLEAR itab_result.

  CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST'

       EXPORTING

            tabname    = v_tabname

            fieldname  = 'NRSEQ'

            searchhelp = v_matchcode1

            display    = l_display

       TABLES

            return_tab = itab_result

       EXCEPTIONS

            OTHERS     = 0.

  v_sequencial_aux = itab_result-fieldval.

  v_sequencial     = v_sequencial_aux.

  SET PARAMETER ID 'SEQUENCIAL'   FIELD  v_sequencial.

  v_flag_seq = 'X'.

endmodule.

module consiste_ordem_repatriacao input.

   IF v_repatri EQ 'X' AND

      ( v_processo IS INITIAL OR

        v_sequencial IS INITIAL ) AND

        sy-ucomm NE 'EXIT'.

    MESSAGE w061 WITH text-096.

   ENDIF.

endmodule.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCA109O01

 

...

                screen-input = '0'.

              ELSE.

                screen-input = '1'.

              ENDIF.

            ENDIF.

            IF screen-name EQ '/PWS/ZYCBE124-NRFECH'.

              screen-input = '1'.

            ELSE.

              IF screen-name NE 'TAB_CONT' AND

                 screen-name NE 'TAB_CAB'  AND

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

                 screen-name NE 'TAB_CONTR'.

* << Fim da exclusão

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

                 screen-name NE 'TAB_CONTR' AND

                 screen-name NE 'TAB_REPAT'.

* << Fim da inclusão

                screen-input = '0'.

              ENDIF.

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

              IF v_repatri IS INITIAL.

                IF screen-name EQ 'TAB_REPAT'.

                 screen-invisible = 1.

                ENDIF.

* << Fim da inclusão

            ENDIF.

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

            ENDIF.

* << Fim da inclusão

            IF screen-name = '/PWS/ZYCBE124-NRFECH'.

              screen-input = 0.

            ENDIF.

            MODIFY SCREEN.

          ENDLOOP.

        ELSE.

          LOOP AT SCREEN.

            IF ( screen-name = '/PWS/ZYCBE124-XBLNR' OR

                 screen-name = '/PWS/ZYCBE124-BELNR_RE' OR

                 screen-name = '/PWS/ZYCBE124-NRINVOIC' )

...

 

...

            ELSEIF screen-name EQ  '/PWS/ZYCBE124-RECREM'.

              IF /pws/zycbt125-tprem = '2' AND

                 NOT /pws/zycbe124-recrem IS INITIAL.

                screen-input = '0'.

              ELSE.

                screen-input = '1'.

              ENDIF.

            ENDIF.

            IF screen-name NE 'TAB_CONT' AND

               screen-name NE 'TAB_CAB'  AND

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

               screen-name NE 'TAB_CONTR'.

* << Fim da exclusão

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

               screen-name NE 'TAB_CONTR' AND

               screen-name NE 'TAB_REPAT'.

* << Fim da inclusão

              screen-input = '0'.

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

            ENDIF.

              IF v_repatri IS INITIAL.

                IF screen-name EQ 'TAB_REPAT'.

                 screen-invisible = 1.

                ENDIF.

* << Fim da inclusão

            ENDIF.

            IF screen-name = '/PWS/ZYCBE124-NRFECH'.

...

 

...

               AND /pws/zycbt125-tprem EQ '2'.

            screen-invisible = 0.

            IF screen-name NE '/PWS/ZYCBE124-BELNR_RE'.

              screen-input = 1.

            ENDIF.

          ENDIF.

          IF ( screen-group1 = 'TAB' OR screen-group1 = 'IMP' )

             AND NOT /pws/zycbe124-dtpagto IS INITIAL

             AND screen-name NE 'TAB_CONT'

             AND screen-name NE 'TAB_CAB'

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

             AND screen-name NE 'TAB_CONTR'.

* << Fim da exclusão

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

             AND screen-name NE 'TAB_CONTR'

             AND screen-name NE 'TAB_REPAT'.

* << Fim da inclusão

            screen-input = '0'.

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

          ENDIF.

          IF v_repatri IS INITIAL.

            IF screen-name EQ 'TAB_REPAT'.

               screen-invisible = 1.

* << Fim da inclusão

          ENDIF.

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

          ENDIF.

* << Fim da inclusão

          IF ( screen-name = '/PWS/ZYCBE124-VLME' OR

               screen-name = '/PWS/ZYCBE124-WAERS' ) AND

             /pws/zycbt125-tprem = '2' AND

             NOT /pws/zycbe124-vlme IS INITIAL.

            screen-input = '0'.

          ENDIF.

          IF screen-name = 'V_NRSEQVIEW' OR

             ( screen-name = '/PWS/ZYCBE124-DTPAGTO' ).

            screen-input = '0'.

          ELSEIF /pws/zycbe124-pcide = space

...

 

...

          AND /pws/zycbe124-tpoper <> 'P'

          AND imp = 0.

            screen-input = 0.

          ENDIF.

          IF /pws/zycbe124-criacao NE 'S'.

            IF screen-name = '/PWS/ZYCBE124-BUKRS'    OR

               screen-name = '/PWS/ZYCBE124-GSBER'    OR

               screen-name = '/PWS/ZYCBE124-WERKS'    OR

               screen-name = '/PWS/ZYCBE124-DTDOCTO'  OR

               screen-name = '/PWS/ZYCBE124-TPOPER'   OR

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

               screen-name = '/PWS/ZYCBE124-TPCLIENTE' OR

* << Fim da inclusão

               screen-name = '/PWS/ZYCBE124-NRFAT'    OR

               screen-name = '/PWS/ZYCBE124-BUZEI'    OR

               screen-name = '/PWS/ZYCBE124-VLME'     OR

               screen-name = '/PWS/ZYCBE124-WAERS'    OR

               screen-name = '/PWS/ZYCBE124-DTVENCTO' OR

               screen-name = '/PWS/ZYCBE124-RECREM'   OR

               screen-name = '/PWS/ZYCBE124-FRPAGTO'  OR

               screen-name = '/PWS/ZYCBE124-KURSF'    OR

               screen-name = '/PWS/ZYCBE124-FIV'      OR

               screen-name = 'V_VENDA'                OR

               screen-name = 'V_COMPRA'               OR

               screen-name = 'V_MEDIA'.

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

              screen-input = 0.

            ENDIF.

          ENDIF.

          IF v_repatri EQ 'X'.

           IF /pws/zycbe124-criacao EQ 'S'.

            IF screen-name = '/PWS/ZYCBE124-TPOPER'    OR

               screen-name = '/PWS/ZYCBE124-TPCLIENTE' OR

               screen-name = '/PWS/ZYCBE124-VLME'      OR

               screen-name = '/PWS/ZYCBE124-WAERS'     OR

               screen-name = '/PWS/ZYCBE124-RECREM'    OR

               screen-name = '/PWS/ZYCBE124-FRPAGTO'   OR

               screen-name = '/PWS/ZYCBE124-KURSF'.

               /pws/zycbe124-tpoper = 'R'.

               /pws/zycbe124-tpcliente = 'F'.

               /pws/zycbe124-recrem = v_recrem.

               /pws/zycbe124-waers = v_moeda.

               /pws/zycbe124-vlme = v_saldo_r.

               /pws/zycbe124-frpagto = 'R'.

* << Fim da inclusão

              screen-input = 0.

            ENDIF.

          ENDIF.

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

          ENDIF.

* << Fim da inclusão

          IF ( /pws/zycbe124-tpoper  = 'R' OR

               /pws/zycbe124-frpagto = 'C' ) AND

             screen-name = '/PWS/ZYCBE124-FIV'.

            /pws/zycbe124-fiv = 'N'.

...

 

...

  IF /pws/zycbe124-cidereaj EQ '0'.

    CLEAR /pws/zycbe124-cidereaj.

  ELSEIF /pws/zycbe124-cidereaj EQ ' '.

    /pws/zycbe124-cidereaj = 'N'.

  ENDIF.

  IF /pws/zycbe124-fiv IS INITIAL.

    /pws/zycbe124-fiv = 'N'.

  ENDIF.

  v_nrseq_aux2 = v_nrseqview.

  PERFORM preenche_dados_contrato.

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

 IF sy-tcode EQ '/PWS/ZYCB109_C'.

   IF NOT v_repatri IS INITIAL.

     PERFORM preenche_dados_repatriacao.

   ENDIF.

 ENDIF.

* << Fim da inclusão

ENDMODULE.

MODULE status_0200 OUTPUT.

  save = 0.

  IF sy-tcode = '/PWS/ZYCB109_A'.

    AUTHORITY-CHECK OBJECT 'S_TCODE' ID 'TCD'  FIELD '/PWS/ZYCB109_A'.

    IF sy-subrc NE 0.

      MESSAGE e261(sf) WITH '/PWS/ZYCB109_A'.

    ELSE.

      v_trans = 'A'.

      SET PF-STATUS '0200' EXCLUDING 'SAVE'.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCA109TOP

 

PROGRAM  /pws/sapmzycb109 MESSAGE-ID /pws/zycam.

data  RB_PAG.

data  RB_REC.

INCLUDE /pws/zygli100.

DATA: itab_zyglt100 LIKE /pws/zyglt100 OCCURS 0 WITH HEADER LINE.

INCLUDE /pws/zygli101.

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

TABLES:

* >> Início da inclusão:

  /pws/zycat028,

  /pws/zycbt119,

  /pws/zycbt117,

  /pws/zycbt112,

  /pws/zycbt011,

* << Fim da inclusão

  /pws/zyglt364,

  /pws/zyglt214,

  /pws/zycbt125,

  /pws/zycbt007,

  /pws/zycbt009, "#EC *

  /pws/zycbt089,

  /pws/zyglt009,

  rbkp,

  vbfa,

  kna1,

...

 

...

       recrem    LIKE /pws/zycbt124-recrem,

      END OF itab_rel.

DATA: v_nrboleto LIKE  /pws/zycbt064-nrboleto OCCURS 10 WITH HEADER

 LINE."#EC *

DATA: BEGIN OF itab_pf_status OCCURS 10,

        fcode LIKE rsmpe-func,

      END OF itab_pf_status.

DATA: BEGIN OF itab_zycbt133 OCCURS 0.

        INCLUDE STRUCTURE /pws/zycbt133.

DATA: END OF itab_zycbt133.

* >> Início da inclusão:

DATA: BEGIN OF itab_result OCCURS 0.

        INCLUDE STRUCTURE ddshretval.

DATA: END OF itab_result.

DATA: BEGIN OF itab_zycat027 OCCURS 0.

        INCLUDE STRUCTURE /pws/zycat027.

DATA: END OF itab_zycat027.

* << Fim da inclusão

DATA: BEGIN OF itab_zyglt209_aux OCCURS 0.

        INCLUDE STRUCTURE /pws/zyglt209.

DATA: mark(1) TYPE c.

DATA: END OF itab_zyglt209_aux.

DATA: BEGIN OF itab_zyglt209_tela OCCURS 0.

        INCLUDE STRUCTURE /pws/zyglt209.

DATA: mark(1) TYPE c.

DATA: END OF itab_zyglt209_tela.

DATA: BEGIN OF itab_zyglt316 OCCURS 0.

        INCLUDE STRUCTURE /pws/zyglt316.

...

 

...

  v_aliqiss           LIKE /pws/zycbt124-aliqiss,"#EC NEEDED

  v_kursf             LIKE /pws/zycbe124-kursf,

  v_branco            TYPE c,

  v_competencia       TYPE c,

  v_dif               LIKE /pws/zycbt124-vlme,

  v_msg(50)           TYPE c,

  v_estorna           TYPE c,

  v_reducao           LIKE /pws/zycbt124-vlme,

  v_dtvencto_ant      LIKE /pws/zycbt124-dtvencto,

  v_cred_imp          LIKE /pws/zycat024-credito_imp,

* >> Início da inclusão:

  v_repatri           TYPE c,

  v_processo          LIKE  HELP_INFO-FLDVALUE,

  v_sequencial        LIKE /PWS/ZYCBT124-nrseq,

  v_saldo_r             TYPE /pws/zycbt124-vlme,

  v_moeda               TYPE /pws/zycbt119-waers,

  v_agums               TYPE /pws/zycbt011-agums,

  v_codeven             TYPE /pws/zycbt011-codeven,

  v_sequencial_aux(10)  TYPE n,

  v_saldo               TYPE /pws/zycbt124-vlme,

  v_belnr_as            TYPE /pws/zycbt119-belnr_as,

  v_dtassoc             TYPE /pws/zycbt119-dtassoc,

  v_recrem              TYPE /pws/zycbe124-recrem,

  v_saknr1              TYPE /pws/zycbe141-SAKNR1,

  v_sy_subrc            TYPE sy-subrc,

  v_flag_proc           TYPE c,

  v_flag_seq            TYPE c,

* << Fim da inclusão

  v_indice TYPE i.

DATA: v_nome_campo(35) TYPE c,

      v_comp(35)       TYPE c,

      v_cod_grupo      LIKE /pws/zyglt320-cod_grupo,

      cont             TYPE i VALUE 0,

      v_tela           LIKE sy-ucomm,

      wa_zycbe141_aux  LIKE /pws/zycbe141,

      v_dtlanc(10)     TYPE c,

      v_vlme_assoc     TYPE /pws/zycbt124-vlme,

      v_sld_associar   TYPE /pws/zycbt124-sld_associar.

* >> Início da inclusão:

 RANGES: r_bschl FOR /pws/zycat027-bschl OCCURS 0.

* << Fim da inclusão

DATA: v_porcentagem TYPE /pws/zycbt124-vlme,

  v_resposta TYPE c,

  v_verif   TYPE c,

      v_total_docto TYPE bseg-wrbtr.

 

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

Modificações efetuadas em REPS /PWS/MZYCA110F01

 

...

            /pws/zycbt128-waers   TO itab_documentos-waers,

            '/PWS/ZYCBT129'       TO itab_documentos-tabela,

            'CE'                  TO itab_documentos-codparc.

      APPEND itab_documentos.

    ENDIF.

  ENDLOOP.

ENDFORM.

FORM selecionar_cp.

  SELECT SINGLE * FROM /pws/zycbt124 INTO wa_zycbt124

                  WHERE nrseq = /pws/zycbe031-nrcorresp.

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

  SELECT *

      UP TO 1 ROWS

    FROM /pws/zycat028

    INTO wa_zycat028

   WHERE nrseq = /pws/zycbe031-nrcorresp.

  ENDSELECT.

  IF sy-subrc = 0.

    SELECT *

       FROM /pws/zycat027

       INTO TABLE itab_zycat027.

  ENDIF.

* << Fim da inclusão

  SELECT SINGLE * FROM /pws/zycbt127

                  WHERE nrseq = wa_zycbt124-nrseq.

  SELECT SINGLE tprem FROM /pws/zycbt125

                      INTO /pws/zycbt125-tprem

                      WHERE codpagto EQ wa_zycbt124-codpagto

                        AND tpoper EQ 'R'.

  IF NOT itab_zycbt064[] IS INITIAL.

    SELECT * FROM /pws/zycbt141 INTO TABLE itab_zycbt141

             FOR ALL ENTRIES IN itab_zycbt064

             WHERE nrseq = itab_zycbt064-nrchave.

...

 

...

  itab_zycbe033-bukrs  = wa_zycbt124-bukrs.

  PERFORM verify_null_field USING wa_zycbt124-waers

                                  'WAERS'

                                  text-011.

  itab_zycbe033-waers  = wa_zycbt124-waers.

  itab_zycbe033-kursf  = itab_dados_tc-kursf.

  PERFORM verify_null_field USING wa_zycbt011-blart

                                  'BLART'

                                  text-012.

  itab_zycbe033-blart  = wa_zycbt011-blart.

* >> Início da inclusão: FORM FILL_DATE_F-30_CP

  IF wa_zycbt124-tpcliente = 'F'.

    itab_zycbe033-agkoa   = 'K'.

  ELSE.

* << Fim da inclusão

  itab_zycbe033-agkoa   = wa_zycbt011-koart.

* >> Início da inclusão: FORM FILL_DATE_F-30_CP

  ENDIF.

* << Fim da inclusão

  itab_zycbe033-newbs   = '40'.

  itab_zycbe033-d_gsber = wa_zycbt124-gsber.

  itab_zycbe033-c_gsber = wa_zycbt124-gsber.

  CALL FUNCTION '/PWS/ZYGL_READ_ACCOUNT_NUMBER'

       EXPORTING

            bukrs           = /pws/zycbe031-bukrs

...

 

...

        MESSAGE i127 WITH itab_zycbt034-descricao v_evento.

      ENDLOOP.

    ENDIF.

  ELSE.

    erro_bi = 'X'.

  ENDIF.

  IF erro_bi = 'X'.

    LOOP AT itab_zycbt124_aux WHERE buzei > 0

                          AND belnr_f51 NE '0000000000'

                          AND belnr_f51 NE '          '.

* >> Início da exclusão: FORM FILL_DATE_F-30_CP

      PERFORM estorna_desmembra_provisao_cp.

* << Fim da exclusão

* >> Início da inclusão: FORM FILL_DATE_F-30_CP

      PERFORM estorna_desmembra_provisao_cp USING ''.

* << Fim da inclusão

    ENDLOOP.

  ENDIF.

ENDFORM.

FORM desmembra_docto_provisao_cp USING p_tpimp.

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

  DATA: v_koart_bi        TYPE /pws/zycat027-koart,

        v_shkzg_bi        TYPE /pws/zycat027-shkzg.

* << Fim da inclusão

  CLEAR v_buzei.

  PERFORM clear_date_batch.

...

 

...

  itab_zycbe033-zterm  = wa_zycbt007-condpgvista.

  itab_zycbe033-wrbtr  = itab_zycbt124_aux-vlme.

  PERFORM verify_null_field USING wa_zycbt011-blart

                                  'BLART'

                                  text-012.

  itab_zycbe033-blart  = wa_zycbt011-blart.

  itab_zycbe033-agkon = itab_zycbt124_aux-recrem.

  PERFORM verify_null_field USING itab_zycbe033-agkon

                                  'AGKON'

                                  text-061.

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

  IF itab_zycbt124_aux-tpoper = 'R'.

* << Fim da exclusão

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

  IF itab_zycbt124_aux-tpoper EQ 'R'.

    IF itab_zycbt124_aux-tpcliente EQ 'F'.

     READ TABLE itab_zycat027

          WITH KEY koart = 'F'

                   shkzg = 'D'.

     itab_zycbe033-newbs = itab_zycat027-bschl.

     v_koart_bi = 'F'.

     v_shkzg_bi = 'D'.

     itab_zycbe033-agkoa = 'K'.

    ELSE.

     READ TABLE itab_zycat027

          WITH KEY koart = 'C'

                   shkzg = 'D'.

     itab_zycbe033-newbs = itab_zycat027-bschl.

     v_koart_bi = 'C'.

     v_shkzg_bi = 'D'.

     itab_zycbe033-agkoa = 'D'.

    ENDIF.

  ELSE.

    IF itab_zycbt124_aux-tpcliente EQ 'C'.

     READ TABLE itab_zycat027

          WITH KEY koart = 'C'

                   shkzg = 'C'.

     itab_zycbe033-newbs = itab_zycat027-bschl.

     v_koart_bi = 'C'.

     v_shkzg_bi = 'C'.

* << Fim da inclusão

    itab_zycbe033-agkoa = 'D'.

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

    itab_zycbe033-newbs = '01'.

  ELSEIF itab_zycbt124_aux-tpoper = 'P'.

* << Fim da exclusão

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

    ELSE.

     READ TABLE itab_zycat027

          WITH KEY koart = 'F'

                   shkzg = 'C'.

     itab_zycbe033-newbs = itab_zycat027-bschl.

     v_koart_bi = 'F'.

     v_shkzg_bi = 'C'.

* << Fim da inclusão

    itab_zycbe033-agkoa = 'K'.

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

    itab_zycbe033-newbs = '31'.

* << Fim da exclusão

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

    ENDIF.

* << Fim da inclusão

  ENDIF.

  v_buzei = itab_zycbt124_aux-buzei.

  itab_zycbe033-belnr = itab_zycbt124_aux-belnr.

...

 

...

              OTHERS                  = 4.

    READ TABLE itab_zyglt100 WITH KEY zexit  = 'CBF003' BINARY SEARCH.

    IF sy-subrc EQ 0 AND NOT itab_zyglt100-zexit_ativa IS INITIAL.

      PERFORM (itab_zyglt100-formulario)

              IN PROGRAM (itab_zyglt100-programa).

    ELSE.

      CALL FUNCTION '/PWS/ZYCA_TRANSACAO_F_51Q'

           EXPORTING

                v_modo          = v_modo_bi

                v_buzei         = v_buzei

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

              v_vkoart        = v_koart_bi

              v_vshkzg        = v_shkzg_bi

* << Fim da inclusão

           IMPORTING

                v_dtlanc        = v_dtlanc

           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

...

 

...

    ELSE.

      LOOP AT itab_zycbt034.

        MESSAGE i016 WITH itab_zycbt034-descricao.

      ENDLOOP.

      erro_bi = 'X'.

    ENDIF.

  ELSE.

    erro_bi = 'X'.

  ENDIF.

ENDFORM.

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

FORM estorna_desmembra_provisao_cp.

* << Fim da exclusão

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

FORM estorna_desmembra_provisao_cp USING p_tpimp.

* << Fim da inclusão

  DATA: v_trans(4) TYPE c.

  CLEAR v_erro_anulacomp.

  PERFORM clear_date_batch.

  itab_zycbe033-mandt  = sy-mandt.

  itab_zycbe033-tcode  = text-069.

  itab_zycbe033-tabela = '/PWS/ZYCBT031'.

  itab_zycbe033-cpochv = /pws/zycbe031-nrseq.

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

  IF itab_zycbt124_aux-irfat = 'N'.

    itab_zycbe033-belnr  = itab_zycbt124_aux-belnr_f51.

  ELSE.

    IF p_tpimp = 'PRINCIPAL'.

      EXIT.

    ELSE.

* << Fim da inclusão

  itab_zycbe033-belnr  = itab_zycbt124_aux-belnr_f51.

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

    ENDIF.

  ENDIF.

* << Fim da inclusão

  PERFORM verify_null_field USING /pws/zycbe031-bukrs

                                  'BUKRS'

                                  text-010.

  itab_zycbe033-bukrs  = /pws/zycbe031-bukrs.

  itab_zycbe033-bldat  = wa_zycbt031-dtcredpr.

...

 

...

    itab_zycbe033-belnr    = /pws/zycbe031-belnr_cide.

    itab_zycbe033-wrbtr    = /pws/zycbe031-vlcide.

    itab_zycbe033-dmbtr    = /pws/zycbe031-vlmicide.

  ENDIF.

  itab_zycbe033-bktxt = wa_zycbt007-bktxt.

  IF wa_zycbt007-fdtdoc   = 'D'.

    itab_zycbe033-bldat   = sy-datum.

  ELSE.

    itab_zycbe033-bldat   = itab_zycbe033-budat.

  ENDIF.

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

  IF itab_dados_tc-pagtoirrf = 'BCO'.

* << Fim da inclusão

  itab_zycbe033-agkoa = 'K'.

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

  ENDIF.

* << Fim da inclusão

  itab_zycbe033-newbs = '31'.

  IF NOT itab_zycat024-credito_imp IS INITIAL.

    v_cred_imp = itab_zycat024-credito_imp.

  ELSE.

    v_cred_imp = /pws/zyglt009-cont_impostos.

  ENDIF.

  IF v_cred_imp = '1'.

    itab_zycbe033-d_newko  = /pws/zycbt089-forn_rec_fed.

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

    itab_zycbe033-agkoa = 'K'.

* << Fim da inclusão

  ELSEIF v_cred_imp = '2'.

    itab_zycbe033-d_newko  = itab_zycbt124_aux-recrem.

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

    IF itab_zycbt124_aux-tpcliente = 'F'.

     itab_zycbe033-agkoa = 'K'.

    ELSE.

     itab_zycbe033-agkoa = 'D'.

    ENDIF.

* << Fim da inclusão

  ELSEIF v_cred_imp = '3'.

...

 

...

    v_trans = 'F-02'.

    SELECT SINGLE * FROM /pws/zycbt011 INTO wa_zycbt011

                         WHERE codeven = '003R'

                           AND codmod  = 'F'

                           AND bukrs   = /pws/zycbe031-bukrs.

    SELECT * FROM /pws/zyglt321

             INTO TABLE itab_zyglt321

             WHERE ktosl   = 'RCF'

               AND codeven = '003R'.

  ENDIF.

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

   IF itab_zycat027[] IS INITIAL.

     SELECT *

       FROM /pws/zycat027

       INTO TABLE itab_zycat027.

   ENDIF.

* << Fim da inclusão

ENDFORM.

FORM contabiliza_docto_cp USING p_tpimp

                                p_recontabiliza

                                p_recuperar.

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

  DATA: v_koart_bi TYPE /pws/zycat027-koart,

        v_shkzg_bi TYPE /pws/zycat027-shkzg.

* << Fim da inclusão

  IF NOT p_recontabiliza IS INITIAL.

    READ TABLE itab_zycbt124_aux WITH KEY nrseq = itab_zycat025-nrseq.

...

 

...

    itab_zycbe033-d_zuonr = itab_zycbe033-c_zuonr.

  ENDIF.

  itab_zycbe033-newbs   = '31'.

  IF p_recuperar                 IS INITIAL  AND

     p_recontabiliza             IS INITIAL  AND

     ( ( /pws/zycbe145-cod_fech  EQ 'TR'     AND

         p_tpimp(4)              NE 'IRRF'   AND

         p_tpimp(4)              NE 'CIDE' ) OR

       ( /pws/zycbe145-cod_fech  EQ 'TR'     AND

         ( p_tpimp(4)            EQ 'IRRF'   OR

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

           p_tpimp(4)            EQ 'CIDE' ) AND

       itab_dados_tc-pagtoirrf   EQ 'BCO' ) ).

* << Fim da exclusão

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

           p_tpimp(4)            EQ 'CIDE' ) ) ).

* << Fim da inclusão

    itab_zycbe033-agkon   = itab_dados_tc-bcooper.

    itab_zycbe033-c_newko = itab_dados_tc-bcooper.

    itab_zycbe033-newbs1  = '31'.

    itab_zycbe033-c_prctr = itab_zycbt124_aux-prctr.

  ELSE.

    IF p_tpimp = 'PRINCIPAL' AND itab_zycbt124_aux-tpoper = 'R'.

      CALL FUNCTION '/PWS/ZYGL_READ_ACCOUNT_NUMBER'

           EXPORTING

                bukrs           = /pws/zycbe031-bukrs

                ktosl           = 'FBK'

...

 

...

         ( v_codeven EQ '004P'  AND itab_zycbt124_aux-fiv = 'S' ) ).

      itab_zycbe033-umskz = wa_zycbt011-agums.

      itab_zycbe033-newbs = '29'.

      itab_zycbe033-c_newko = itab_zycbt124_aux-recrem.

      itab_zycbe033-d_newko = itab_zycbt124_aux-recrem.

      itab_zycbe033-agkon   = itab_zycbt124_aux-recrem.

    ELSEIF p_tpimp = 'PRINCIPAL'.

      itab_zycbe033-c_newko = itab_zycbt124_aux-recrem.

      itab_zycbe033-agkon   = itab_zycbt124_aux-recrem.

      itab_zycbe033-c_prctr = itab_zycbt124_aux-prctr.

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

      IF /pws/zycbe145-cod_fech NE 'TR'.

       IF itab_zycbt124_aux-tpoper EQ 'P'.

        IF itab_zycbt124_aux-tpcliente EQ 'F'.

         READ TABLE itab_zycat027

              WITH KEY koart = 'F'

                       shkzg = 'C'.

          itab_zycbe033-newbs     = itab_zycat027-bschl.

          v_koart_bi = 'F'.

          v_shkzg_bi = 'C'.

        ELSEIF itab_zycbt124_aux-tpcliente = 'C'.

          READ TABLE itab_zycat027

               WITH KEY koart = 'C'

                      shkzg = 'C'.

          IF sy-subrc = 0.

            itab_zycbe033-newbs     = itab_zycat027-bschl.

            v_koart_bi = 'C'.

            v_shkzg_bi = 'C'.

          ENDIF.

        ENDIF.

       ENDIF.

      ENDIF.

* << Fim da inclusão

    ELSE.

      IF ( p_tpimp(4) EQ 'IRRF' OR p_tpimp(4) EQ 'CIDE' ) AND

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

         itab_dados_tc-pagtoirrf EQ 'BCO'               AND

         p_recontabiliza         IS INITIAL             AND

* << Fim da exclusão

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

         ( itab_dados_tc-pagtoirrf EQ 'BCO'               OR

           itab_dados_tc-pagtoirrf EQ 'EMP' )             AND

         p_recontabiliza         IS INITIAL               AND

* << Fim da inclusão

         p_recuperar             IS INITIAL.

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

          IF itab_dados_tc-pagtoirrf = 'BCO'.

* << Fim da inclusão

        itab_zycbe033-c_newko = itab_dados_tc-bcooper.

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

             v_koart_bi = 'F'.

             v_shkzg_bi = 'C'.

          ELSE.

           IF NOT itab_zycat024-credito_imp IS INITIAL.

             v_cred_imp = itab_zycat024-credito_imp.

           ELSE.

             v_cred_imp = /pws/zyglt009-cont_impostos.

           ENDIF.

           IF v_cred_imp     EQ '1'.

            itab_zycbe033-c_newko   = /pws/zycbt089-forn_rec_fed.

            itab_zycbe033-agkoa = 'K'.

            v_koart_bi = 'F'.

            v_shkzg_bi = 'C'.

           ELSEIF v_cred_imp EQ '2'.

            itab_zycbe033-c_newko   = itab_zycbt124_aux-recrem.

            IF itab_zycbt124_aux-tpcliente = 'C'.

              READ TABLE itab_zycat027

                   WITH KEY koart = 'C'

                          shkzg = 'C'.

              IF sy-subrc = 0.

               itab_zycbe033-newbs     = itab_zycat027-bschl.

              ENDIF.

              itab_zycbe033-agkoa = 'D'.

              v_koart_bi = 'C'.

              v_shkzg_bi = 'C'.

* << Fim da inclusão

      ELSE.

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

              READ TABLE itab_zycat027

                   WITH KEY koart = 'F'

                          shkzg = 'C'.

              IF sy-subrc = 0.

                itab_zycbe033-newbs     = itab_zycat027-bschl.

              ENDIF.

              itab_zycbe033-agkoa = 'K'.

              v_koart_bi = 'F'.

              v_shkzg_bi = 'C'.

            ENDIF.

           ELSEIF v_cred_imp EQ '3'.

            CALL FUNCTION '/PWS/ZYGL_READ_ACCOUNT_NUMBER'

               EXPORTING

                    bukrs           = itab_zycbt124_aux-bukrs

                    ktosl           = 'PVF'

                    codaux1         = p_tpimp

               TABLES

                    account         = itab_zyglt316

               EXCEPTIONS

                    key_not_found   = 1

                    rules_not_found = 2

                    OTHERS          = 3.

            IF sy-subrc = 0.

             READ TABLE itab_zyglt316 INDEX 1.

             itab_zycbe033-c_newko = itab_zyglt316-konth.

            ENDIF.

             itab_zycbe033-newbs   = '50'.

           ENDIF.

          ENDIF.

      ELSE.

* << Fim da inclusão

        IF NOT itab_zycat024-credito_imp IS INITIAL.

          v_cred_imp = itab_zycat024-credito_imp.

        ELSE.

          v_cred_imp = /pws/zyglt009-cont_impostos.

        ENDIF.

        IF v_cred_imp     EQ '1'.

          itab_zycbe033-c_newko   = /pws/zycbt089-forn_rec_fed.

        ELSEIF v_cred_imp EQ '2'.

          itab_zycbe033-c_newko   = itab_zycbt124_aux-recrem.

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

          IF itab_zycbt124_aux-tpcliente = 'C'.

            READ TABLE itab_zycat027

                 WITH KEY koart = 'C'

                          shkzg = 'C'.

            IF sy-subrc = 0.

              itab_zycbe033-newbs     = itab_zycat027-bschl.

              v_koart_bi = 'C'.

              v_shkzg_bi = 'C'.

            ENDIF.

          ELSE.

            READ TABLE itab_zycat027

                 WITH KEY koart = 'F'

                          shkzg = 'C'.

            IF sy-subrc = 0.

              itab_zycbe033-newbs     = itab_zycat027-bschl.

              v_koart_bi = 'F'.

              v_shkzg_bi = 'C'.

            ENDIF.

          ENDIF.

* << Fim da inclusão

        ELSEIF v_cred_imp EQ '3'.

          CALL FUNCTION '/PWS/ZYGL_READ_ACCOUNT_NUMBER'

               EXPORTING

                    bukrs           = itab_zycbt124_aux-bukrs

                    ktosl           = 'PVF'

                    codaux1         = p_tpimp

               TABLES

                    account         = itab_zyglt316

               EXCEPTIONS

                    key_not_found   = 1

...

 

...

                                    p_recontabiliza

                                    p_recuperar.

  LOOP AT itab_zycbt034.

    MESSAGE i016 WITH itab_zycbt034-descricao.

  ENDLOOP.

  IF itab_zycbt034 IS INITIAL.

    IF itab_zycbt124_aux-tpoper = 'R'.

      CALL FUNCTION '/PWS/ZYCA_TRANSACAO_F_02R'

           EXPORTING

                v_modo          = v_modo_bi

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

                v_vkoart        = v_koart_bi

                v_shkzg         = v_shkzg_bi

* << Fim da inclusão

           TABLES

                t_dados         = itab_zycbe033

                t_campo         = itab_zycbt034

                t_zycbt032      = itab_zycbt032

                t_credito       = itab_zycbe035

           EXCEPTIONS

                campo_em_branco = 1

                periodo_fechado = 2

                OTHERS          = 3.

    ELSEIF itab_zycbt124_aux-tpoper = 'P'.

      IF p_tpimp     EQ 'PRINCIPAL' AND

         p_recuperar IS INITIAL     AND

       ( v_codeven   EQ '004PV'     OR

         ( v_codeven EQ '004P'      AND

           itab_zycbt124_aux-fiv = 'S' ) ).

        CALL FUNCTION '/PWS/ZYCA_TRANSACAO_F_63P'

             EXPORTING

                  v_modo          = v_modo_bi

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

                  v_vkoart        = v_koart_bi

                  v_shkzg         = v_shkzg_bi

* << Fim da inclusão

             TABLES

                  t_dados         = itab_zycbe033

                  t_campo         = itab_zycbt034

                  t_zycbt032      = itab_zycbt032

             EXCEPTIONS

                  campo_em_branco = 1

                  OTHERS          = 2.

      ELSE.

        CALL FUNCTION '/PWS/ZYCB_TRANSACAO_F_43'

             EXPORTING

                  v_modo          = v_modo_bi

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

                  v_vkoart        = v_koart_bi

                  v_shkzg         = v_shkzg_bi

* << Fim da inclusão

             TABLES

                  t_dados         = itab_zycbe033

                  t_campo         = itab_zycbt034

                  t_zycbt032      = itab_zycbt032

                  t_debito        = itab_zycbe035

             EXCEPTIONS

                  campo_em_branco = 1

                  periodo_fechado = 2

                  OTHERS          = 3.

      ENDIF.

...

 

...

            UPDATE /pws/zycbt124 SET dtpagto = wa_zycbt124-dtpagto

                                     statusp = wa_zycbt124-statusp

                                     belnr   = wa_zycbt124-belnr

                                 WHERE nrseq = itab_zycbt124_aux-nrseq.

          ENDLOOP.

          CLEAR: /pws/zycbe031-belnr_p, /pws/zycbe031-statusp.

          MODIFY /pws/zycbt031 FROM /pws/zycbe031.

          LOOP AT itab_zycbt124_aux WHERE buzei > 0

                                      AND belnr_f51 NE '0000000000'

                                      AND belnr_f51 NE '          '.

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

            PERFORM estorna_desmembra_provisao_cp.

* << Fim da exclusão

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

            PERFORM estorna_desmembra_provisao_cp USING ''.

* << Fim da inclusão

          ENDLOOP.

        ELSEIF p_tpimp(4) = 'IRRF'.

          CLEAR: /pws/zycbe031-belnr_pi, /pws/zycbe031-statuspi.

          MODIFY /pws/zycbt031 FROM /pws/zycbe031.

          CLEAR: itab_zycbt031-belnr_pi, itab_zycbt031-statuspi.

          MODIFY itab_zycbt031 TRANSPORTING belnr_pi statuspi

                               WHERE nrseq = /pws/zycbe031-nrseq.

          CLEAR: itab_zycbt031_tc-belnr_pi.

          MODIFY itab_zycbt031_tc TRANSPORTING belnr_pi

                                 WHERE nrseq = /pws/zycbe031-nrseq.

...

 

...

  ENDIF.

  IF wa_zycbt124-frpagto = 'R' OR /pws/zycbe145-cod_fech = 'TR'.

    READ TABLE itab_dados_tc WITH KEY tpimp = 'PRINCIPAL'.

    IF NOT itab_dados_tc-belnr IS INITIAL.

      READ TABLE itab_dados_tc_aux WITH KEY tpimp = 'PRINCIPAL'.

      IF sy-subrc                EQ 0                         AND

         ( itab_dados_tc-kursf   NE itab_dados_tc_aux-kursf   OR

           itab_dados_tc-vlmi    NE itab_dados_tc_aux-vlmi    OR

           itab_dados_tc-bcooper NE itab_dados_tc_aux-bcooper OR

           itab_dados_tc-dtlanc  NE itab_dados_tc_aux-dtlanc ).

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

        IF NOT wa_zycat028 IS INITIAL AND

           /pws/zycbe145-cod_fech = 'PR'.

           PERFORM estorna_docto_repatriacao_cp

               USING 'PRINCIPAL'

                      itab_dados_tc_aux-belnr

                      itab_dados_tc_aux-dtlanc

                      itab_zycbt124_aux-criacao

                      'X'.

        ELSE.

* << Fim da inclusão

        PERFORM estorna_docto_cp USING 'PRINCIPAL'

                                       itab_dados_tc_aux-belnr

                                       itab_dados_tc_aux-dtlanc

                                       ' '

                                       ' '.

      ENDIF.

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

      ENDIF.

* << Fim da inclusão

    ELSEIF sy-subrc = 0 AND /pws/zycbe031-frgzu = '2'.

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

      IF wa_zycat028 IS INITIAL.

* << Fim da inclusão

      PERFORM contabiliza_docto_cp USING 'PRINCIPAL'

                                         ' '

                                         ' '.

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

      ELSE.

        PERFORM contabiliza_repatriacao_cp.

* << Fim da inclusão

    ENDIF.

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

    ENDIF.

* << Fim da inclusão

  ELSE.

    IF wa_zycbt124-tpoper = 'P'.

      IF NOT /pws/zycbe031-belnr_p IS INITIAL.

        LOOP AT itab_zycbt124_aux.

          READ TABLE itab_dados_tc WITH KEY tpimp = 'PRINCIPAL'.

          IF sy-subrc = 0.

            READ TABLE itab_dados_tc_aux WITH KEY tpimp = 'PRINCIPAL'.

            IF sy-subrc                EQ 0                         AND

                ( itab_dados_tc-kursf   NE itab_dados_tc_aux-kursf   OR

                  itab_dados_tc-vlmi    NE itab_dados_tc_aux-vlmi    OR

...

 

...

            t_dados         = itab_zycbe033

            t_campo         = itab_zycbt034

            t_zycbt032      = itab_zycbt032

       EXCEPTIONS

            campo_em_branco = 1

            periodo_fechado = 2

            OTHERS          = 3.

ENDFORM.

FORM fill_date_f_51_princ_ir_cp USING p_recontabiliza.

  DATA: v_processo(1) TYPE c,

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

        v_zuonr       LIKE /pws/zycbe033-c_zuonr.

* << Fim da exclusão

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

        v_zuonr       LIKE /pws/zycbe033-c_zuonr,

        v_koart_bi        TYPE /pws/zycat027-koart,

        v_shkzg_bi        TYPE /pws/zycat027-shkzg.

* << Fim da inclusão

  PERFORM clear_date_batch.

  READ TABLE itab_zycat025 WITH KEY tpimp(4) = 'IRRF'

                                    nrseq = itab_zycbt124_aux-nrseq.

  CHECK erro_bi IS INITIAL AND sy-subrc = 0.

  IF sy-index <= 1.

    PERFORM get_parameters_cp USING 'PRINCIPAL'.

  ELSEIF sy-index = 2.

    PERFORM get_parameters_cp USING itab_zycat025-tpimp.

  ENDIF.

  itab_zycbe033-mandt = sy-mandt.

...

 

...

        ELSEIF itab_zyglt321-cpocb IS INITIAL AND

               NOT itab_zyglt321-descr IS INITIAL.

          itab_zycbe033-c_zuonr = itab_zyglt321-descr.

        ENDIF.

    ENDCASE.

  ENDLOOP.

  itab_zycbe033-agkon = itab_zycbt124_aux-recrem.

  PERFORM verify_null_field USING itab_zycbe033-agkon

                                  'AGKON'

                                  text-062.

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

  IF itab_zycbt124_aux-tpoper EQ 'P'.

    IF itab_zycbt124_aux-tpcliente EQ 'F'.

     READ TABLE itab_zycat027

          WITH KEY koart = 'F'

                   shkzg = 'C'.

     itab_zycbe033-newbs = itab_zycat027-bschl.

     v_koart_bi = 'F'.

     v_shkzg_bi = 'C'.

* << Fim da inclusão

  itab_zycbe033-agkoa = 'K'.

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

  itab_zycbe033-newbs = '31'.

* << Fim da exclusão

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

    ELSE.

     READ TABLE itab_zycat027

          WITH KEY koart = 'C'

                   shkzg = 'C'.

     itab_zycbe033-newbs = itab_zycat027-bschl.

     v_koart_bi = 'C'.

     v_shkzg_bi = 'C'.

     itab_zycbe033-agkoa = 'D'.

    ENDIF.

  ENDIF.

* << Fim da inclusão

  IF sy-index <= 1.

    itab_zycbe033-c_newko   = itab_zycbt124_aux-recrem.

    itab_zycbe033-d_newko   = itab_zycbt124_aux-recrem.

  ELSEIF sy-index = 2.

    READ TABLE itab_dados_tc WITH KEY tpimp(4) = 'IRRF'.

    IF sy-subrc = 0 AND itab_dados_tc-pagtoirrf = 'BCO' AND

       p_recontabiliza IS INITIAL.

      itab_zycbe033-c_newko = itab_dados_tc-bcooper.

      itab_zycbe033-d_newko = itab_dados_tc-bcooper.

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

      itab_zycbe033-newbs = '31'.

      v_koart_bi = 'F'.

      v_shkzg_bi = 'C'.

* << Fim da inclusão

    ELSEIF sy-subrc                  EQ 0     AND

           ( itab_dados_tc-pagtoirrf EQ 'EMP' OR

             NOT p_recontabiliza     IS INITIAL ).

      READ TABLE itab_zycat024 WITH KEY bukrs = /pws/zycbe031-bukrs

                                        tpimp = itab_zycat025-tpimp.

      IF sy-subrc = 0 AND NOT itab_zycat024-credito_imp IS INITIAL.

        v_cred_imp = itab_zycat024-credito_imp.

      ELSE.

        v_cred_imp = /pws/zyglt009-cont_impostos.

      ENDIF.

      IF v_cred_imp = '1'.

        itab_zycbe033-c_newko   = /pws/zycbt089-forn_rec_fed.

        itab_zycbe033-d_newko   = /pws/zycbt089-forn_rec_fed.

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

        itab_zycbe033-newbs = '31'.

        v_koart_bi = 'F'.

        v_shkzg_bi = 'C'.

        IF itab_zycbt124_aux-tpcliente = 'C'.

          itab_zycbe033-agkoa = 'D'.

        ELSE.

          itab_zycbe033-agkoa = 'K'.

        ENDIF.

* << Fim da inclusão

      ELSEIF v_cred_imp = '2'.

        itab_zycbe033-c_newko   = itab_zycbt124_aux-recrem.

        itab_zycbe033-d_newko   = itab_zycbt124_aux-recrem.

      ELSEIF v_cred_imp = '3'.

        CALL FUNCTION '/PWS/ZYGL_READ_ACCOUNT_NUMBER'

             EXPORTING

                  bukrs           = itab_zycbt124_aux-bukrs

                  ktosl           = 'PVF'

                  codaux1         = itab_zycat025-tpimp

             TABLES

...

 

...

  APPEND itab_zycbe033.

  LOOP AT itab_zycbt034.

    MESSAGE i016 WITH itab_zycbt034-descricao.

  ENDLOOP.

  IF itab_zycbt034[] IS INITIAL.

    CALL FUNCTION '/PWS/ZYCA_TRANSACAO_F_51P'

         EXPORTING

              v_modo          = v_modo_bi

              v_processo      = v_processo

              v_zuonr         = v_zuonr

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

              v_vkoart        = v_koart_bi

              v_vshkzg        = v_shkzg_bi

* << Fim da inclusão

         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.

    IF sy-subrc = 0.

...

 

...

                                         ' '.

    ELSEIF sy-index = 2.

      sy-index = 1.

      PERFORM anula_compensacao_cp USING 'PRINCIPAL'

                                         itab_zycbt124_aux-belnr_f51p

                                         itab_zycbt124_aux-dtdocto

                                         itab_zycbt124_aux-criacao

                                         ' '.

      IF itab_zycbt124_aux-belnr_f51 NE '0000000000' AND

         itab_zycbt124_aux-belnr_f51 NE '          '.

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

        PERFORM estorna_desmembra_provisao_cp.

* << Fim da exclusão

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

        PERFORM estorna_desmembra_provisao_cp USING ''.

* << Fim da inclusão

      ENDIF.

    ENDIF.

    CONTINUE.

  ENDDO.

ENDFORM.

FORM contabiliza_com_origem_cp.

  DO 2 TIMES.

    IF sy-index                    <= 1       AND

       itab_zycbt124_aux-belnr_f51 IS INITIAL AND

       /pws/zycbe031-frgzu         EQ '2'.

...

 

...

        itab_dados_tc-bcooper   NE itab_dados_tc_aux-bcooper  OR

        itab_dados_tc-dtlanc    NE itab_dados_tc_aux-dtlanc   OR

        itab_dados_tc-pagtoirrf NE itab_dados_tc_aux-pagtoirrf ).

      IF ( itab_zycat025-tpimp(4) EQ 'IRRF'                     OR

           itab_zycat025-tpimp(4) EQ 'CIDE' )                   AND

         itab_dados_tc-kursf     EQ itab_dados_tc_aux-kursf     AND

         itab_dados_tc-vlmi      EQ itab_dados_tc_aux-vlmi      AND

         itab_dados_tc-dtlanc    EQ itab_dados_tc_aux-dtlanc    AND

         itab_dados_tc-pagtoirrf EQ itab_dados_tc_aux-pagtoirrf AND

         itab_dados_tc-bcooper   NE itab_dados_tc_aux-bcooper   AND

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

         itab_dados_tc-pagtoirrf EQ 'EMP'.

* << Fim da exclusão

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

          itab_dados_tc-pagtoirrf NE itab_dados_tc_aux-pagtoirrf.

* << Fim da inclusão

        EXIT.

      ENDIF.

      IF ( ( itab_zycat025-tpimp(4) EQ 'IRRF'   AND

             v_esto_irrf_bco        EQ ' ' )    OR

           ( itab_zycat025-tpimp(4) EQ 'CIDE'   AND

             v_esto_cide_bco       EQ ' ' ) )  AND

         itab_dados_tc-pagtoirrf   EQ 'BCO'    AND

         itab_zycat025-frpagto_imp EQ 'C'      AND

         /pws/zycbe145-cod_fech    NE 'TR'.

        PERFORM anula_compensacao_cp USING itab_zycat025-tpimp

...

 

...

          ENDIF.

        ENDIF.

      ENDIF.

    ENDLOOP.

  ENDIF.

  IF wa_zycbt124-frpagto = 'R' OR /pws/zycbe145-cod_fech = 'TR'.

    READ TABLE itab_dados_tc WITH KEY tpimp = 'PRINCIPAL'.

    IF NOT itab_dados_tc-belnr IS INITIAL.

      READ TABLE itab_dados_tc_aux WITH KEY tpimp = 'PRINCIPAL'.

      IF sy-subrc EQ 0.

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

        IF NOT wa_zycat028 IS INITIAL AND

           /pws/zycbe145-cod_fech = 'PR'.

           PERFORM estorna_docto_repatriacao_cp

               USING 'PRINCIPAL'

                      itab_dados_tc_aux-belnr

                      itab_dados_tc_aux-dtlanc

                      itab_zycbt124_aux-criacao

                      'X'.

        ELSE.

* << Fim da inclusão

        PERFORM estorna_docto_cp USING 'PRINCIPAL'

                                       itab_dados_tc_aux-belnr

                                       itab_dados_tc_aux-dtlanc

                                       ' '

                                       ' '.

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

        ENDIF.

* << Fim da inclusão

      ENDIF.

    ENDIF.

...

 

...

    IF p_tpimp     = 'PRINCIPAL'.

      MESSAGE i061 WITH text-098 /pws/zycbe031-belnr_cl_p text-179.

      CLEAR: /pws/zycbe031-belnr_cl_p, /pws/zycbt031-belnr_cl_p,

             itab_zycbt031-belnr_cl_p.

      MODIFY itab_zycbt031 TRANSPORTING belnr_cl_p

                           WHERE nrseq = /pws/zycbe031-nrseq.

      LOOP AT itab_zycbt124_aux WHERE buzei GT 0

                        AND belnr_f51       NE '0000000000'

                        AND belnr_f51       NE '          '

                        AND criacao         NE 'S'.

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

        PERFORM estorna_desmembra_provisao_cp.

* << Fim da exclusão

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

          PERFORM estorna_desmembra_provisao_cp USING p_tpimp.

* << Fim da inclusão

      ENDLOOP.

    ELSEIF p_tpimp(4) = 'IRRF'.

      MESSAGE i061 WITH text-098 /pws/zycbe031-belnr_cl_pi text-179.

      CLEAR: /pws/zycbe031-belnr_cl_pi, /pws/zycbt031-belnr_cl_pi,

             itab_zycbt031-belnr_cl_pi.

      MODIFY itab_zycbt031 TRANSPORTING belnr_cl_pi

                           WHERE nrseq = /pws/zycbe031-nrseq.

    ELSEIF p_tpimp(4) = 'CIDE'.

      MESSAGE i061 WITH text-098 /pws/zycbe031-belnr_cl_cide text-179.

      CLEAR: /pws/zycbe031-belnr_cl_cide, /pws/zycbt031-belnr_cl_cide,

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCA110TOP1

 

TABLES:

    /pws/zycbt127,

    /pws/zycbt128,

    /pws/zycbt129,

    /pws/zycbt144,

    /pws/zycat008,

* >> Início da inclusão:

    /pws/zycat028,

* << Fim da inclusão

    rbkp,

    t021r.

DATA: BEGIN OF itab_zycbt129 OCCURS 0.

        INCLUDE STRUCTURE /pws/zycbt129.

DATA: END OF itab_zycbt129.

DATA: BEGIN OF itab_code OCCURS 10,

        fcode LIKE rsmpe-func,

      END OF itab_code.

DATA: BEGIN OF itab_zycat008 OCCURS 100.

        INCLUDE STRUCTURE /pws/zycat008.

DATA: END OF itab_zycat008.

DATA: BEGIN OF itab_zycbt128 OCCURS 0.

        INCLUDE STRUCTURE /pws/zycbt128.

DATA: END OF itab_zycbt128.

DATA : BEGIN OF itab_periodo OCCURS 10.

        INCLUDE STRUCTURE casdayattr.

DATA : END OF itab_periodo.

* >> Início da inclusão:

DATA: BEGIN OF itab_zycat027 OCCURS 0.

        INCLUDE STRUCTURE /pws/zycat027.

DATA:  END OF itab_zycat027.

* << Fim da inclusão

DATA: wa_ftpt_req_advance LIKE ftpt_req_advance,

      wa_pa0017           LIKE pa0017,

      wa_zyglt009         LIKE /pws/zyglt009,

* >> Início da exclusão:

      wa_zycat025         LIKE /pws/zycat025.

* << Fim da exclusão

* >> Início da inclusão:

      wa_zycat025         LIKE /pws/zycat025,

      wa_zycat028         TYPE /pws/zycat028.

* << Fim da inclusão

DATA: v_dia_taxa      LIKE sy-datum,

      v_estorno(1)    TYPE c,

      v_ok(1)         VALUE 'N',

      v_reportv       LIKE /pws/zyglt009-reportv,

      v_cont_irrf_bco TYPE c,

      v_esto_irrf_bco TYPE c,

      v_cont_cide_bco TYPE c,

      v_esto_cide_bco TYPE c,

      v_cred_imp      LIKE /pws/zycat024-credito_imp,

      v_controla_cp(2) type n.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB110F01

 

...

  IF sy-subrc <> 0.

  ENDIF.

    PERFORM verifica_contabilizacao

      USING 'FBRA' c_zycbt117 p_cpochv

            'Cancelamento do documento'(265)

      CHANGING wa_mensagem.

    IF NOT wa_mensagem IS INITIAL.

    ENDIF.

  ENDIF.

ENDFORM.

* >> Início da inclusão:

form contabiliza_repatriacao_cp.

  PERFORM clear_date_batch.

  PERFORM get_parameters_repatriacao_cp.

    SELECT SINGLE awkey FROM bkpf

           INTO itab_zycbe033-awkey

          WHERE belnr EQ wa_zycat028-belnr_as

            AND bukrs EQ itab_zycbt124_aux-bukrs

            AND gjahr EQ itab_dados_tc-dtlanc(4).

    itab_zycbe033-mandt = sy-mandt.

    itab_zycbe033-tcode = 'F-51'.

    itab_zycbe033-tabela = '/PWS/ZYCBT031'.

    itab_zycbe033-cpochv = itab_zycbt124_aux-nrseq.

    itab_zycbe033-bktxt = wa_zycbt007-bktxt.

    itab_zycbe033-budat = itab_dados_tc-dtlanc.

    IF wa_zycbt007-fdtdoc   = 'D'.

      itab_zycbe033-bldat   = sy-datum.

    ELSE.

      itab_zycbe033-bldat   = itab_zycbe033-budat.

    ENDIF.

    itab_zycbe033-c_kostl = itab_zycbt141-kostl.

    itab_zycbe033-d_kostl = itab_zycbt141-kostl.

    IF /pws/zycbe031-contabreal IS INITIAL.

      itab_zycbe033-waers = itab_zycbt124_aux-waers.

    ELSE.

      itab_zycbe033-waers = wa_zycbt007-waersb.

    ENDIF.

    PERFORM verify_null_field USING itab_zycbt124_aux-waers

                                    'WAERS'

                                    text-011.

    itab_zycbe033-agums = wa_zycat028-agums.

    itab_zycbe033-kursf = itab_dados_tc-kursf.

    itab_zycbe033-newbs = '40'.

    itab_zycbe033-d_newko = itab_zyglt316-konts.

    itab_zycbe033-d_gsber = itab_zycbt124_aux-gsber.

    itab_zycbe033-c_gsber = itab_zycbt124_aux-gsber.

    itab_zycbe033-wrbtr  = itab_dados_tc-vlme.

    PERFORM verify_null_field USING itab_zycbe033-wrbtr

                                    'VLME'

                                    text-013.

    PERFORM verify_null_field USING itab_zycbt124_aux-bukrs

                                    'BUKRS'

                                    text-010.

    itab_zycbe033-bukrs  = itab_zycbt124_aux-bukrs.

    PERFORM verify_null_field USING wa_zycbt011-blart

                                   'BLART'

                                   text-012.

    itab_zycbe033-blart  = wa_zycbt011-blart.

    itab_zycbe033-agkon = itab_zycbt124_aux-recrem.

    itab_zycbe033-agkoa = 'K'.

  LOOP AT itab_zyglt321.

    CASE itab_zyglt321-cpor3.

      WHEN 'SGTXT'.

        IF itab_zyglt321-cpocb = 'NRFAT'.

          itab_zycbe033-c_sgtxt = itab_zycbt124_aux-nrfat.

          itab_zycbe033-d_sgtxt = itab_zycbt124_aux-nrfat.

        ELSEIF itab_zyglt321-cpocb = 'NRCONTR'.

          itab_zycbe033-c_sgtxt = itab_zycbt124_aux-nrcontr.

          itab_zycbe033-d_sgtxt = itab_zycbt124_aux-nrcontr.

        ELSEIF itab_zyglt321-cpocb = 'NRFECH'.

          itab_zycbe033-c_sgtxt = itab_zycbt124_aux-nrfech.

          itab_zycbe033-d_sgtxt = itab_zycbt124_aux-nrfech.

        ELSEIF itab_zyglt321-cpocb = 'NRSEQ'.

          itab_zycbe033-c_sgtxt = itab_zycbt124_aux-nrseq.

          itab_zycbe033-d_sgtxt = itab_zycbt124_aux-nrseq.

        ELSEIF itab_zyglt321-cpocb = 'TXTINF'.

          itab_zycbe033-c_sgtxt = itab_zycbt124_aux-txtinf.

          itab_zycbe033-d_sgtxt = itab_zycbt124_aux-txtinf.

        ELSEIF itab_zyglt321-cpocb = 'CODPAGTO'.

          itab_zycbe033-c_sgtxt = itab_zycbt124_aux-codpagto.

          itab_zycbe033-d_sgtxt = itab_zycbt124_aux-codpagto.

        ELSEIF itab_zyglt321-cpocb IS INITIAL AND

           NOT itab_zyglt321-descr IS INITIAL.

          itab_zycbe033-c_sgtxt = itab_zyglt321-descr.

          itab_zycbe033-d_sgtxt = itab_zyglt321-descr.

        ENDIF.

      WHEN 'VALUT'.

        IF itab_zyglt321-cpocb = 'DTINCL'.

          itab_zycbe033-c_valut = itab_zycbt124_aux-dtincl.

          itab_zycbe033-d_valut = itab_zycbt124_aux-dtincl.

        ELSEIF itab_zyglt321-cpocb = 'DTDOCTO'.

          itab_zycbe033-c_valut = itab_zycbt124_aux-dtdocto.

          itab_zycbe033-d_valut = itab_zycbt124_aux-dtdocto.

        ELSEIF itab_zyglt321-cpocb = 'DTVENCTO'.

          itab_zycbe033-c_valut = itab_zycbt124_aux-dtvencto.

          itab_zycbe033-d_valut = itab_zycbt124_aux-dtvencto.

        ENDIF.

      WHEN 'XBLNR'.

        IF itab_zyglt321-cpocb = 'NRSEQ'.

          itab_zycbe033-xblnr = itab_zycbt124_aux-nrseq.

        ELSEIF itab_zyglt321-cpocb = 'NRFECH'.

          itab_zycbe033-xblnr = itab_zycbt124_aux-nrfech.

        ELSEIF itab_zyglt321-cpocb = 'NRFAT'.

          itab_zycbe033-xblnr = itab_zycbt124_aux-nrfat.

        ELSEIF itab_zyglt321-cpocb = 'NRCONTR'.

          itab_zycbe033-xblnr = itab_zycbt124_aux-nrcontr.

        ELSEIF itab_zyglt321-cpocb = 'TXTINF'.

          itab_zycbe033-xblnr = itab_zycbt124_aux-txtinf.

        ELSEIF itab_zyglt321-cpocb = 'CODPAGTO'.

          itab_zycbe033-xblnr = itab_zycbt124_aux-codpagto.

        ELSEIF itab_zyglt321-cpocb IS INITIAL AND

               NOT itab_zyglt321-descr IS INITIAL.

          itab_zycbe033-xblnr = itab_zyglt321-descr.

        ENDIF.

      WHEN 'ZFBDT'.

        IF itab_zyglt321-cpocb = 'DTVENCTO'.

          itab_zycbe033-zfbdt = itab_zycbt124_aux-dtvencto.

        ELSEIF itab_zyglt321-cpocb = 'DTINCL'.

          itab_zycbe033-zfbdt = itab_zycbt124_aux-dtincl.

        ELSEIF itab_zyglt321-cpocb = 'DTDOCTO'.

          itab_zycbe033-zfbdt = itab_zycbt124_aux-dtdocto.

        ENDIF.

      WHEN 'ZUONR'.

        IF itab_zyglt321-cpocb = 'NRSEQ'.

          itab_zycbe033-c_zuonr = itab_zycbt124_aux-nrseq.

          itab_zycbe033-d_zuonr = itab_zycbt124_aux-nrseq.

        ELSEIF itab_zyglt321-cpocb = 'NRFECH'.

          itab_zycbe033-c_zuonr = itab_zycbt124_aux-nrfech.

          itab_zycbe033-d_zuonr = itab_zycbt124_aux-nrfech.

        ELSEIF itab_zyglt321-cpocb = 'NRFAT'.

          itab_zycbe033-c_zuonr = itab_zycbt124_aux-nrfat.

          itab_zycbe033-d_zuonr = itab_zycbt124_aux-nrfat.

        ELSEIF itab_zyglt321-cpocb = 'NRCONTR'.

          itab_zycbe033-c_zuonr = itab_zycbt124_aux-nrcontr.

          itab_zycbe033-d_zuonr = itab_zycbt124_aux-nrcontr.

        ELSEIF itab_zyglt321-cpocb = 'TXTINF'.

          itab_zycbe033-c_zuonr = itab_zycbt124_aux-txtinf.

          itab_zycbe033-d_zuonr = itab_zycbt124_aux-txtinf.

        ELSEIF itab_zyglt321-cpocb = 'CODPAGTO'.

          itab_zycbe033-c_zuonr = itab_zycbt124_aux-codpagto.

          itab_zycbe033-d_zuonr = itab_zycbt124_aux-codpagto.

        ELSEIF itab_zyglt321-cpocb IS INITIAL AND

               NOT itab_zyglt321-descr IS INITIAL.

          itab_zycbe033-c_zuonr = itab_zyglt321-descr.

          itab_zycbe033-d_zuonr = itab_zyglt321-descr.

        ENDIF.

    ENDCASE.

  ENDLOOP.

  APPEND itab_zycbe033.

    itab_zycbt036-tcode = 'F-51'.

    itab_zycbt036-tabela = '/PWS/ZYCBT031'.

    itab_zycbt036-cpochv = itab_zycbt124_aux-nrseq.

    itab_zycbt036-belnr = wa_zycat028-belnr_as.

    itab_zycbt036-dtdocto = wa_zycat028-dt_assoc.

    APPEND itab_zycbt036.

  LOOP AT itab_zycbt034.

    MESSAGE i016 WITH itab_zycbt034-descricao.

  ENDLOOP.

 IF itab_zycbt034 IS INITIAL.

  CALL FUNCTION '/PWS/ZYCB_TRANSACAO_F_51J'

    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.

      IF sy-subrc = 0.

        READ TABLE itab_zycbt032

             WITH KEY tcode  = 'F-51'

                      tabela = '/PWS/ZYCBT031'

                      cpochv = itab_zycbt124_aux-nrseq

                      tpmsg  = 'S'.

        IF sy-subrc = 0.

         MESSAGE i223 WITH itab_zycbt032-belnr.

         itab_dados_tc-belnr = itab_zycbt032-belnr.

         MODIFY itab_dados_tc TRANSPORTING belnr

                              WHERE tpimp = 'PRINCIPAL'.

         itab_dados_tc_aux-belnr = itab_zycbt032-belnr.

         MODIFY itab_dados_tc_aux TRANSPORTING belnr

                              WHERE tpimp = 'PRINCIPAL'.

         CASE wa_zycat028-tp_processo.

          WHEN: 'FI'.

            UPDATE /pws/zycbt112 SET dtassoc = itab_dados_tc-dtlanc

                                belnr_as = itab_zycbt032-belnr

                                slassoc = 0

                          WHERE nrseq  = wa_zycat028-nr_processo.

          WHEN: 'PA'.

            UPDATE /pws/zycbt117 SET dtassoc = itab_dados_tc-dtlanc

                                belnr_as = itab_zycbt032-belnr

                                slpgant = 0

                          WHERE nrseq  = wa_zycat028-nr_processo.

          WHEN: 'PG'.

            UPDATE /pws/zycbt119 SET dtassoc = itab_dados_tc-dtlanc

                                belnr_as = itab_zycbt032-belnr

                                slpgfat = 0

                          WHERE nrseq  = wa_zycat028-nr_processo.

         ENDCASE.

          LOOP AT itab_zycbt124_aux.

            SELECT SINGLE * FROM /pws/zycbt124 INTO wa_zycbt124

                            WHERE nrseq = itab_zycbt124_aux-nrseq.

            IF wa_zycbt124-tpoper = 'R'.

              wa_zycbt124-dtpagto    = /pws/zycbe031-dtboleto.

            ENDIF.

            wa_zycbt124-statusp    = 'C'.

            IF wa_zycbt124-frpagto = 'R'.

              wa_zycbt124-dtdocto  = itab_dados_tc-dtlanc.

              wa_zycbt124-belnr    = itab_zycbt032-belnr.

            ENDIF.

            UPDATE /pws/zycbt124 SET dtpagto = wa_zycbt124-dtpagto

                                     statusp = wa_zycbt124-statusp

                                     dtdocto = wa_zycbt124-dtdocto

                                     belnr   = wa_zycbt124-belnr

                                 WHERE nrseq = itab_zycbt124_aux-nrseq.

          ENDLOOP.

          /pws/zycbe031-statusp  = 'C'.

          /pws/zycbe031-belnr_p  = itab_zycbt032-belnr.

        ELSE.

          erro_bi = 'X'.

          LOOP AT itab_zycbt032.

            MESSAGE i015 WITH itab_zycbt032-msg+0(50)

                              itab_zycbt032-msg+50(50).

          ENDLOOP.

        ENDIF.

      ELSE.

        LOOP AT itab_zycbt034.

          MESSAGE i016 WITH itab_zycbt034-descricao.

        ENDLOOP.

        erro_bi = 'X'.

      ENDIF.

 ELSE.

  erro_bi = 'X'.

 ENDIF.

endform.

form seleciona_contas

     using

          value(p_ktosl)

          value(p_codaux1).

  SHIFT p_codaux1 LEFT  DELETING LEADING '0'.

  CALL FUNCTION '/PWS/ZYGL_READ_ACCOUNT_NUMBER'

       EXPORTING

            bukrs           = /pws/zycbe031-bukrs

            ktosl           = p_ktosl

            codaux1         = p_codaux1

       TABLES

            account         = itab_zyglt316

       EXCEPTIONS

            key_not_found   = 1

            rules_not_found = 2

            OTHERS          = 3.

  IF sy-subrc EQ 0.

    READ TABLE itab_zyglt316 INDEX 1.

  ENDIF.

endform.

form get_parameters_repatriacao_cp.

   CLEAR:   wa_zycbt011, itab_zyglt321, itab_zyglt316.

   REFRESH: itab_zyglt321, itab_zyglt316.

   CASE wa_zycat028-tp_processo.

    WHEN 'FI'.

      SELECT *

         UP TO 1 ROWS

        FROM /pws/zycbt112

       WHERE nrseq = wa_zycat028-nr_processo.

      ENDSELECT.

      IF sy-subrc EQ 0.

        CONCATENATE '001' /pws/zycbt112-codint INTO v_codeven.

        SELECT SINGLE *

          FROM /pws/zycbt011

          INTO wa_zycbt011

         WHERE codeven = v_codeven AND

                codmod = 'I'       AND

                bukrs  = /pws/zycbe031-bukrs.

      ENDIF.

    WHEN 'PA'.

      SELECT *

         UP TO 1 ROWS

        FROM /pws/zycbt117

       WHERE nrseq = wa_zycat028-nr_processo.

      ENDSELECT.

      IF sy-subrc EQ 0.

        CONCATENATE '005' /pws/zycbt117-codint INTO v_codeven.

        SELECT SINGLE *

          FROM /pws/zycbt011

          INTO wa_zycbt011

         WHERE codeven = v_codeven AND

                codmod = 'I'       AND

                bukrs  = /pws/zycbe031-bukrs.

      ENDIF.

    WHEN 'PG'.

      SELECT *

         UP TO 1 ROWS

        FROM /pws/zycbt119

       WHERE nrseq = wa_zycat028-nr_processo.

      ENDSELECT.

      IF sy-subrc EQ 0.

        CONCATENATE '007' /pws/zycbt119-codint INTO v_codeven.

        SELECT SINGLE *

          FROM /pws/zycbt011

          INTO wa_zycbt011

         WHERE codeven = v_codeven AND

                codmod = 'I'       AND

                bukrs  = /pws/zycbe031-bukrs.

      ENDIF.

   ENDCASE.

   SELECT * FROM /pws/zyglt321

            INTO TABLE itab_zyglt321

            WHERE ktosl   = 'RCF'

              AND codeven = '004P'.

    PERFORM seleciona_contas

         USING

              'FBK'

              itab_dados_tc-bcooper.

endform.

form estorna_docto_repatriacao_cp

    USING p_tpimp

          p_belnr

          p_data

          p_criacao

          p_anula_ir_ci_bco.

  CHECK NOT p_belnr IS INITIAL.

  PERFORM clear_date_batch.

  itab_zycbe033-mandt  = sy-mandt.

  itab_zycbe033-tcode  = 'FBRA'.

  itab_zycbe033-tabela = '/PWS/ZYCBT031'.

  itab_zycbe033-cpochv = /pws/zycbe031-nrseq.

  itab_zycbe033-belnr  = p_belnr.

  PERFORM verify_null_field USING /pws/zycbe031-bukrs

                                  'BUKRS'

                                  text-010.

  itab_zycbe033-bukrs  = /pws/zycbe031-bukrs.

  itab_zycbe033-budat  = p_data.

  itab_zycbe033-bldat  = itab_zycbe033-budat.

  PERFORM determina_periodo USING itab_zycbe033-budat

                                  /pws/zycbe031-bukrs

                         CHANGING v_monat.

  PERFORM determina_ano USING itab_zycbe033-budat

                              /pws/zycbe031-bukrs

                     CHANGING v_ano.

  CALL FUNCTION 'FI_PERIOD_CHECK'

       EXPORTING

            i_bukrs          = itab_zycbe033-bukrs

            i_gjahr          = v_ano

            i_koart          = '+'

            i_monat          = v_monat

       EXCEPTIONS

            error_period     = 1

            error_period_acc = 2

            OTHERS           = 3.

  IF sy-subrc = 0.

    itab_zycbe033-stgrd = '01'.

  ELSE.

    itab_zycbe033-stgrd = '02'.

    itab_zycbe033-budat = sy-datum.

  ENDIF.

  APPEND itab_zycbe033.

  v_trans = 'FBRA'.

  CALL FUNCTION '/PWS/ZYCM_TRANSACAO_FBRA'

       EXPORTING

            v_modo          = v_modo_bi

       TABLES

            t_dados         = itab_zycbe033

            t_campo         = itab_zycbt034

            t_zycbt032      = itab_zycbt032

       EXCEPTIONS

            campo_em_branco = 1

            OTHERS          = 2.

  IF sy-subrc = 0.

    v_trans = 'FB08'.

    itab_zycbe033-tcode = 'FB08'.

    MODIFY itab_zycbe033 TRANSPORTING tcode WHERE tcode = 'FBRA'.

    CALL FUNCTION '/PWS/ZYCM_TRANSACAO_FB08'

         EXPORTING

              v_modo          = v_modo_bi

         TABLES

              t_dados         = itab_zycbe033

              t_campo         = itab_zycbt034

              t_zycbt032      = itab_zycbt032

         EXCEPTIONS

              campo_em_branco = 1

              OTHERS          = 2.

  ENDIF.

  IF sy-subrc = 0.

    READ TABLE itab_zycbt032 WITH KEY tcode  = v_trans

                                      tabela = '/PWS/ZYCBT031'

                                      cpochv = /pws/zycbe031-nrseq

                                      tpmsg  = 'S'.

    IF sy-subrc NE 0.

      erro_bi = 'X'.

      LOOP AT itab_zycbt032.

        MESSAGE i015 WITH itab_zycbt032-msg.

      ENDLOOP.

    ELSE.

      MESSAGE i077 WITH p_belnr.

      CLEAR: itab_dados_tc-belnr.

      MODIFY itab_dados_tc TRANSPORTING belnr WHERE tpimp = p_tpimp.

      IF p_tpimp = 'PRINCIPAL'.

        LOOP AT itab_zycbt124_aux.

          SELECT SINGLE * FROM /pws/zycbt124 INTO wa_zycbt124

                          WHERE nrseq = itab_zycbt124_aux-nrseq.

          IF wa_zycbt124-tpoper = 'R'.

            CLEAR: wa_zycbt124-dtpagto, wa_zycbt124-statusp.

          ELSE.

            CLEAR: wa_zycbt124-statusp.

          ENDIF.

          IF wa_zycbt124-frpagto = 'R'.

            CLEAR: wa_zycbt124-belnr.

          ENDIF.

          UPDATE /pws/zycbt124 SET dtpagto = wa_zycbt124-dtpagto

                                   statusp = wa_zycbt124-statusp

                                   belnr   = wa_zycbt124-belnr

                               WHERE nrseq = itab_zycbt124_aux-nrseq.

        ENDLOOP.

        CLEAR: /pws/zycbe031-statusp, /pws/zycbe031-belnr_p.

      ENDIF.

         CASE wa_zycat028-tp_processo.

          WHEN: 'FI'.

            UPDATE /pws/zycbt112 SET dtassoc = wa_zycat028-dt_assoc

                                belnr_as = wa_zycat028-belnr_as

                                slassoc = /pws/zycbe031-vlme

                          WHERE nrseq  = wa_zycat028-nr_processo.

          WHEN: 'PA'.

            UPDATE /pws/zycbt117 SET dtassoc = wa_zycat028-dt_assoc

                                belnr_as = wa_zycat028-belnr_as

                                slpgant = /pws/zycbe031-vlme

                          WHERE nrseq  = wa_zycat028-nr_processo.

          WHEN: 'PG'.

            UPDATE /pws/zycbt119 SET dtassoc = wa_zycat028-dt_assoc

                                belnr_as = wa_zycat028-belnr_as

                                slpgfat = /pws/zycbe031-vlme

                          WHERE nrseq  = wa_zycat028-nr_processo.

         ENDCASE.

    ENDIF.

  ELSE.

    LOOP AT itab_zycbt034.

      MESSAGE i016 WITH itab_zycbt034-descricao.

    ENDLOOP.

    erro_bi = 'X'.

  ENDIF.

endform.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCB115F01

 

...

  SELECT *

         UP TO 1 ROWS

         FROM /pws/zyglt009

         WHERE bukrs EQ itab_zycbt134-bukrs.

  ENDSELECT.

  SELECT *

         UP TO 1 ROWS

         FROM /pws/zycbt089

         WHERE bukrs EQ itab_zycbt134-bukrs.

  ENDSELECT.

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

  IF itab_zycat027[] IS INITIAL.

    SELECT * FROM /pws/zycat027 INTO TABLE itab_zycat027.

  ENDIF.

* << Fim da inclusão

  IF itab_zycbt134-mdcorresp = 'CP'.

    PERFORM get_parameters_cp USING itab_zycbt134-tpproc.

    IF /pws/zycbt145-cod_fech NE 'TR'.

      CLEAR v_origem.

      LOOP AT itab_zycbt064 WHERE nrboleto = itab_zycbt134-nrseq.

        LOOP AT itab_zycbt124 WHERE nrseq     = itab_zycbt064-nrchave

                                AND tpoper    = 'P'

                                AND ( criacao = 'D' OR

                                      criacao = 'R' ).

        ENDLOOP.

...

 

...

      ok_code     = 'FC_GPAG'.

    ELSE.

      CLEAR ok_code.

    ENDIF.

  ENDIF.

ENDFORM.

FORM posiciona_registro.

  CALL SCREEN '0002' STARTING AT 16 12 ENDING AT 46 12.

ENDFORM.

FORM desmembra_docto_provisao_cp.

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

  DATA: v_koart_bi TYPE /pws/zycat027-koart,

        v_shkzg_bi TYPE /pws/zycat027-shkzg.

* << Fim da inclusão

  PERFORM clear_date_batch.

  SELECT *

         UP TO 1 ROWS

         FROM /pws/zycbt011

         INTO wa_zycbt011

         WHERE codmod  = 'F'

           AND codeven = '004P'

           AND bukrs   = itab_zycbt124-bukrs.

  ENDSELECT.

  REFRESH itab_zyglt321.

...

 

...

      itab_zycbe033-d_sgtxt = itab_zycbt124-ftxt.

    ELSE.

      itab_zycbe033-c_sgtxt = wa_zycbt011-txtdesc.

      itab_zycbe033-d_sgtxt = wa_zycbt011-txtdesc.

    ENDIF.

  ENDIF.

  itab_zycbe033-agkon = itab_zycbt124-recrem.

  PERFORM verify_null_field USING itab_zycbe033-agkon

                                  'AGKON'

                                  text-061.

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

  IF itab_zycbt124-tpoper = 'R'.

* << Fim da exclusão

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

  IF itab_zycbt124-tpoper EQ 'P'.

    IF itab_zycbt124-tpcliente EQ 'F'.

     READ TABLE itab_zycat027

          WITH KEY koart = 'F'

                   shkzg = 'C'.

     itab_zycbe033-newbs     = itab_zycat027-bschl.

     itab_zycbe033-agkoa = 'K'.

     v_koart_bi = 'F'.

     v_shkzg_bi = 'C'.

    ELSEIF itab_zycbt124-tpcliente = 'C'.

          READ TABLE itab_zycat027

               WITH KEY koart = 'C'

                        shkzg = 'C'.

          itab_zycbe033-newbs = itab_zycat027-bschl.

          v_koart_bi = 'C'.

          v_shkzg_bi = 'C'.

* << Fim da inclusão

    itab_zycbe033-agkoa = 'D'.

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

    itab_zycbe033-newbs = '01'.

  ELSEIF itab_zycbt124-tpoper = 'P'.

    itab_zycbe033-agkoa = 'K'.

    itab_zycbe033-newbs = '31'.

* << Fim da exclusão

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

    ENDIF.

* << Fim da inclusão

  ENDIF.

  v_buzei = itab_zycbt124-buzei.

  itab_zycbe033-belnr = itab_zycbt124-belnr.

  SELECT budat kursf awkey

         UP TO 1 ROWS

         FROM bkpf

         INTO (itab_zycbe033-dtdocto,itab_zycbe033-kursf,

               itab_zycbe033-awkey)

         WHERE bukrs EQ itab_zycbt124-bukrs AND

               belnr EQ itab_zycbt124-belnr AND

...

 

...

              OTHERS                  = 4.

    READ TABLE itab_zyglt100 WITH KEY zexit = 'SPG006'.

    IF sy-subrc EQ 0 AND NOT itab_zyglt100-zexit_ativa IS INITIAL.

      PERFORM (itab_zyglt100-formulario)

      IN PROGRAM (itab_zyglt100-programa).

    ELSE.

      CALL FUNCTION '/PWS/ZYCA_TRANSACAO_F_51Q'

           EXPORTING

                v_modo          = v_modo_bi

                v_buzei         = v_buzei

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

                v_vkoart        = v_koart_bi

                v_vshkzg        = v_shkzg_bi

* << Fim da inclusão

           IMPORTING

                v_dtlanc        = v_dtlanc2

           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

...

 

...

      itab_zycbe033-budat = itab_zycbt031-dtcredpr.

    ENDIF.

  ENDIF.

  PERFORM verify_null_field USING itab_zycbe033-budat

                                 'BUDAT'

                                  text-072.

  itab_zycbe033-agkon = itab_zycbt124-recrem.

  PERFORM verify_null_field USING itab_zycbe033-agkon

                                  'AGKON'

                                  text-070.

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

  IF itab_zycbt124-tpoper EQ 'P'.

    IF itab_zycbt124-tpcliente EQ 'F'.

* << Fim da inclusão

  itab_zycbe033-agkoa = 'K'.

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

    ELSEIF itab_zycbt124-tpcliente = 'C'.

      itab_zycbe033-agkoa = 'D'.

    ENDIF.

  ENDIF.

* << Fim da inclusão

  itab_zycbe033-bldat = itab_zycbe033-budat.

  PERFORM dados_bi USING itab_zycbt134-tpproc.

  itab_zycbe033-bktxt = wa_zycbt007-bktxt.

...

 

...

      ENDSELECT.

    ELSEIF /pws/zycbt124-tpoper = 'R'.

      SELECT *

             UP TO 1 ROWS

             FROM /pws/zycbt011

             INTO wa_zycbt011

             WHERE codeven = '009O'

               AND codmod  = 'F'

               AND bukrs   = itab_zycbt124-bukrs.

      ENDSELECT.

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

    ENDIF.

* << Fim da inclusão

    ENDIF.

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

   IF itab_zycat027[] IS INITIAL.

    SELECT * FROM /pws/zycat027 INTO TABLE itab_zycat027.

* << Fim da inclusão

  ENDIF.

ENDFORM.

FORM seleciona_docto_cp USING p_tpproc.

  READ TABLE itab_zycbt031 WITH KEY nrseq = itab_zycbt134-nrseq.

  CHECK sy-subrc = 0.

  CLEAR   itab_zycbt036.

  REFRESH itab_zycbt036.

  IF p_tpproc = 'PRINCIPAL' OR p_tpproc = ' '.

    IF /pws/zycbt145-cod_fech  EQ 'TR'  OR

       /pws/zycbt124-frpagto   EQ 'R'.

      itab_zycbe033-belnr   = itab_zycbt031-belnr_p.

      itab_zycbe033-dtdocto = itab_zycbt031-dtcredpr.

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

      IF itab_zycbt124-tpoper = 'P' AND itab_zycbt124-tpcliente = 'C'.

        itab_zycbe033-agkon   = itab_zycbt031-lifnr.

        itab_zycbe033-agkoa   = 'D'.

      ELSE.

* << Fim da inclusão

      itab_zycbe033-agkon   = itab_zycbt031-bcooper.

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

      ENDIF.

* << Fim da inclusão

      itab_zycbt036-tcode   = 'F-53'.

      itab_zycbt036-tabela  = '/PWS/ZYCBT134'.

      itab_zycbt036-cpochv  = v_cpochv.

      itab_zycbt036-belnr   = itab_zycbt031-belnr_p.

      itab_zycbt036-dtdocto = itab_zycbt031-dtcredpr.

      SELECT awkey

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB115F02

 

...

           NOT itab_zycat024-credito_imp IS INITIAL.

          v_cred_imp = itab_zycat024-credito_imp.

        ELSE.

          v_cred_imp = /pws/zyglt009-cont_impostos.

        ENDIF.

        IF v_cred_imp = '1'.

          itab_zycbe033-agkon = /pws/zycbt089-forn_rec_fed.

          itab_zycbe033-agkoa = 'K'.

        ELSEIF v_cred_imp = '2'.

          itab_zycbe033-agkon = itab_zycbt124-recrem.

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

          IF itab_zycbt124-tpcliente = 'F'.

* << Fim da inclusão

          itab_zycbe033-agkoa = 'K'.

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

          ELSE.

            IF itab_zycbt031-pagtoirrf = 'BCO'.

               itab_zycbe033-agkoa = 'K'.

            ELSE.

               itab_zycbe033-agkoa = 'D'.

            ENDIF.

          ENDIF.

* << Fim da inclusão

        ELSEIF v_cred_imp = '3'.

          CALL FUNCTION '/PWS/ZYGL_READ_ACCOUNT_NUMBER'

               EXPORTING

                    bukrs           = itab_zycbt124-bukrs

                    ktosl           = 'PVF'

                    codaux1         = itab_zycbt134-tpproc

               TABLES

                    account         = itab_zyglt316

               EXCEPTIONS

                    key_not_found   = 1

...

 

...

            itab_zycbe033-agkon = itab_bsik-lifnr.

          ELSEIF itab_zycbt134-mdcorresp = 'CP'.

            READ TABLE itab_zycat024 WITH KEY

                                         tpimp = itab_zycbt134-tpproc

                                         bukrs = itab_zycbt134-bukrs.

            IF sy-subrc = 0 AND

               NOT itab_zycat024-credito_imp IS INITIAL.

              v_cred_imp = itab_zycat024-credito_imp.

            ELSE.

              v_cred_imp = /pws/zyglt009-cont_impostos.

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

            ENDIF.

            IF v_cred_imp = '1'.

               READ TABLE itab_bsik

                     WITH KEY gjahr = v_ano

                              belnr = itab_zycbt134-belnr_p.

               IF sy-subrc = 0.

                itab_zycbe033-agkon = itab_bsik-lifnr.

                itab_zycbe033-agkoa = 'K'.

               ENDIF.

            ELSEIF  v_cred_imp = '2'.

             IF itab_zycbt124-tpcliente = 'C'.

               PERFORM seleciona_kunnr.

               READ TABLE itab_bsid

                     WITH KEY gjahr = v_ano

                              belnr = itab_zycbt134-belnr_p.

               IF sy-subrc = 0.

                itab_zycbe033-agkon = itab_bsid-kunnr.

                itab_zycbe033-agkoa = 'D'.

* << Fim da inclusão

            ENDIF.

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

             ELSE.

               READ TABLE itab_bsik

                     WITH KEY gjahr = v_ano

                              belnr = itab_zycbt134-belnr_p.

               IF sy-subrc = 0.

                itab_zycbe033-agkon = itab_bsik-lifnr.

                itab_zycbe033-agkoa = 'K'.

               ENDIF.

             ENDIF.

            ENDIF.

* << Fim da inclusão

            IF v_cred_imp = '3'.

              CALL FUNCTION '/PWS/ZYGL_READ_ACCOUNT_NUMBER'

                   EXPORTING

                        bukrs           = itab_zycbt124-bukrs

                        ktosl           = 'PVF'

                        codaux1         = itab_zycbt134-tpproc

                   TABLES

                        account         = itab_zyglt316

                   EXCEPTIONS

                        key_not_found   = 1

...

 

...

                itab_zycbe033-agkon = itab_zycbt031-bcooper.

              ELSE.

                itab_zycbe033-agkon = itab_zycbt031-bcoopir.

              ENDIF.

            ENDIF.

          ENDIF.

        ENDIF.

      ENDIF.

    ELSEIF itab_zycbt134-tpproc = ' ' OR

           itab_zycbt134-tpproc = 'PRINCIPAL'.

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

      IF itab_zycbt134-mdcorresp = 'CP'.

           IF itab_zycbt124-tpoper = 'P' AND

              itab_zycbt124-tpcliente = 'C'.

              itab_zycbe033-agkon   = itab_zycbt124-recrem.

              itab_zycbe033-agkoa   = 'D'.

           ENDIF.

      ENDIF.

* << Fim da inclusão

      IF itab_zycbt134-mdcorresp = 'EL'.

        READ TABLE itab_bsik WITH KEY gjahr = itab_zycbt036-dtdocto(4)

                                         belnr = itab_zycbt134-belnr_p

                                         lifnr = itab_zycbt134-bcocred.

      ELSE.

        READ TABLE itab_bsik WITH KEY gjahr = v_ano

                                      belnr = itab_zycbt134-belnr_p

                                      lifnr = itab_zycbt134-bcocred.

      ENDIF.

      IF sy-subrc EQ 0.

        itab_zycbe033-agkon = itab_bsik-lifnr.

        IF /pws/zyglt009-comis_ar EQ 'A' AND

              itab_zycbt134-mdcorresp  EQ 'EL'.

          itab_zycbe033-agums = itab_bsik-umskz.

        ENDIF.

      ELSE.

        IF itab_zycbt134-mdcorresp = 'EL'.

          READ TABLE itab_bsik

            WITH KEY gjahr = itab_zycbt036-dtdocto(4)

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

                     belnr = itab_zycbt134-belnr_p.

        ELSE.

          IF itab_zycbt134-mdcorresp = 'CP'.

           IF itab_zycbt124-tpoper = 'P' AND

              itab_zycbt124-tpcliente = 'C'.

              PERFORM seleciona_kunnr.

              READ TABLE itab_bsid WITH KEY gjahr = v_ano

                                        belnr = itab_zycbt134-belnr_p.

           ELSE.

              READ TABLE itab_bsik WITH KEY gjahr = v_ano

* << Fim da inclusão

                     belnr = itab_zycbt134-belnr_p.

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

           ENDIF.

* << Fim da inclusão

        ELSE.

          READ TABLE itab_bsik WITH KEY gjahr = v_ano

                                        belnr = itab_zycbt134-belnr_p.

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

          ENDIF.

* << Fim da inclusão

        ENDIF.

        IF sy-subrc EQ 0.

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

          IF itab_zycbt134-mdcorresp = 'CP'.

           IF itab_zycbt124-tpoper = 'P' AND

              itab_zycbt124-tpcliente = 'C'.

              itab_zycbe033-agkon = itab_bsid-kunnr.

           ELSE.

              itab_zycbe033-agkon = itab_bsik-lifnr.

           ENDIF.

          ELSE.

* << Fim da inclusão

          itab_zycbe033-agkon = itab_bsik-lifnr.

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

          ENDIF.

* << Fim da inclusão

          IF /pws/zyglt009-comis_ar EQ 'A' AND

                  itab_zycbt134-mdcorresp  EQ 'EL'.

            itab_zycbe033-agums = itab_bsik-umskz.

          ENDIF.

        ELSE.

          IF /pws/zyglt009-comp_trans = 'C'.

...

 

...

          IF sy-subrc = 0 AND

             NOT itab_zycat024-credito_imp IS INITIAL.

            v_cred_imp = itab_zycat024-credito_imp.

          ELSE.

            v_cred_imp = /pws/zyglt009-cont_impostos.

          ENDIF.

          IF v_cred_imp = '1'.

            itab_zycbe033-agkon   = /pws/zycbt089-forn_rec_fed.

          ELSEIF v_cred_imp = '2'.

            itab_zycbe033-agkon   = itab_zycbt124-recrem.

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

                 IF itab_zycbt124-tpcliente = 'C'.

                  itab_zycbe033-agkoa = 'D'.

                 ENDIF.

* << Fim da inclusão

          ELSEIF v_cred_imp = '3'.

            CALL FUNCTION '/PWS/ZYGL_READ_ACCOUNT_NUMBER'

                 EXPORTING

                      bukrs           = itab_zycbt124-bukrs

                      ktosl           = 'PVF'

                      codaux1         = itab_zycbt134-tpproc

                 TABLES

                      account         = itab_zyglt316

                 EXCEPTIONS

                      key_not_found   = 1

...

 

...

            itab_zycbe033-agkon = itab_bsik-lifnr.

          ELSEIF itab_zycbt134-mdcorresp = 'CP'.

            READ TABLE itab_zycat024 WITH KEY

                                         tpimp = itab_zycbt134-tpproc

                                          bukrs = itab_zycbt134-bukrs.

            IF sy-subrc = 0 AND

               NOT itab_zycat024-credito_imp IS INITIAL.

              v_cred_imp = itab_zycat024-credito_imp.

            ELSE.

              v_cred_imp = /pws/zyglt009-cont_impostos.

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

            ENDIF.

            IF v_cred_imp = '1'.

               READ TABLE itab_bsik

                     WITH KEY gjahr = v_ano

                              belnr = itab_zycbt134-belnr_p.

               IF sy-subrc = 0.

                itab_zycbe033-agkon = itab_bsik-lifnr.

                itab_zycbe033-agkoa = 'K'.

               ENDIF.

            ELSEIF  v_cred_imp = '2'.

             IF itab_zycbt124-tpcliente = 'C'.

               PERFORM seleciona_kunnr.

               READ TABLE itab_bsid

                     WITH KEY gjahr = v_ano

                              belnr = itab_zycbt134-belnr_p.

               IF sy-subrc = 0.

                itab_zycbe033-agkon = itab_bsid-kunnr.

                itab_zycbe033-agkoa = 'D'.

               ENDIF.

             ELSE.

               READ TABLE itab_bsik

                     WITH KEY gjahr = v_ano

                              belnr = itab_zycbt134-belnr_p.

               IF sy-subrc = 0.

                itab_zycbe033-agkon = itab_bsik-lifnr.

                itab_zycbe033-agkoa = 'K'.

               ENDIF.

* << Fim da inclusão

            ENDIF.

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

            ENDIF.

* << Fim da inclusão

            IF v_cred_imp = '3'.

              CALL FUNCTION '/PWS/ZYGL_READ_ACCOUNT_NUMBER'

                   EXPORTING

                        bukrs           = itab_zycbt124-bukrs

                        ktosl           = 'PVF'

                        codaux1         = itab_zycbt134-tpproc

...

 

...

                itab_zycbe033-agkon = itab_zyglt316-konth.

              ENDIF.

              itab_zycbe033-agkoa = 'S'.

            ENDIF.

          ENDIF.

        ENDIF.

      ENDIF.

    ENDIF.

  ELSE.

   IF itab_zycbt134-tpproc = 'I' OR itab_zycbt134-tpproc(4) = 'IRRF' OR

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

         itab_zycbt134-tpproc = 'C' OR itab_zycbt134-tpproc(4) = 'CIDE'.

* << Fim da exclusão

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

         itab_zycbt134-tpproc = 'C' OR itab_zycbt134-tpproc(4) = 'CIDE'

.

* << Fim da inclusão

      IF itab_zycbt031-pagtoirrf = 'BCO'.

        IF NOT itab_zycbt031-bcoopir  IS INITIAL AND

           ( itab_zycbt134-tpproc     EQ 'I'     OR

             itab_zycbt134-tpproc(4)  EQ 'IRRF' ).

          itab_zycbe033-agkon = itab_zycbt031-bcoopir.

        ELSEIF NOT itab_zycbt031-bcoopcide IS INITIAL AND

           ( itab_zycbt134-tpproc          EQ 'C'     OR

             itab_zycbt134-tpproc(4)       EQ 'CIDE' ).

          itab_zycbe033-agkon = itab_zycbt031-bcoopcide.

        ELSEIF NOT itab_zycbt031-bcooper IS INITIAL.

...

 

...

  IF p_dtlanc IS INITIAL.

    MESSAGE e208.

    EXIT.

  ENDIF.

ENDFORM.

FORM consiste_conta_contabil.

  IF v_contrazao IS INITIAL.

    MESSAGE e061 WITH 'Conta Contábil Inválida.'(288).

  ENDIF.

ENDFORM.

* >> Início da inclusão:

form seleciona_kunnr.

  IF NOT itab_zycbt134_g[] IS INITIAL.

    SELECT kunnr umskz gjahr belnr

           FROM bsid

           INTO TABLE itab_bsid

           FOR ALL ENTRIES IN itab_zycbt134_g

           WHERE bukrs EQ itab_zycbt134_g-bukrs      AND

               ( belnr EQ itab_zycbt134_g-belnr_p  OR

                 belnr EQ itab_zycbt134_g-belnr_pi OR

                 belnr EQ itab_zycbt134_g-belnr_pcide ).

  ENDIF.

endform.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCB115TOP

 

...

DATA: END OF itab_zycbt031.

DATA: BEGIN OF itab_zycbt031_aux OCCURS 50.

        INCLUDE STRUCTURE /pws/zycbt031.

DATA: END OF itab_zycbt031_aux.

DATA: BEGIN OF itab_bsik OCCURS 50,

        lifnr LIKE bsik-lifnr,

        umskz LIKE bsik-umskz,

        gjahr LIKE bsik-gjahr,

        belnr LIKE bsik-belnr.

DATA: END OF itab_bsik.

* >> Início da inclusão:

DATA: BEGIN OF itab_bsid OCCURS 50,

        kunnr LIKE bsid-kunnr,

        umskz LIKE bsid-umskz,

        gjahr LIKE bsid-gjahr,

        belnr LIKE bsid-belnr.

DATA: END OF itab_bsid.

DATA: BEGIN OF itab_zycat027 OCCURS 0.

         INCLUDE STRUCTURE /pws/zycat027.

DATA: END OF itab_zycat027.

* << Fim da inclusão

DATA: BEGIN OF itab_zycbt001 OCCURS 0.

        INCLUDE STRUCTURE /pws/zycbt001.

DATA: END OF itab_zycbt001.

TYPES: BEGIN OF t_zycbt074,

         nrseqc       TYPE /pws/zycbt074-nrseqc,

         fpagto_comis TYPE /pws/zycbt074-fpagto_comis,

         tipo_comis   TYPE /pws/zycbt074-tipo_comis,

       END OF t_zycbt074.

DATA: itab_zycbt002 TYPE STANDARD TABLE OF /pws/zycbt002

       WITH HEADER LINE,

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYGL110F01

 

...

    ELSEIF sy-subrc EQ 2.

      MESSAGE i015 WITH text-214.

    ENDIF.

  ELSE.

    READ TABLE itab_zyglt316 INDEX 1.

    MOVE itab_zyglt316-konts TO itab_zycbe033-agkon.

  ENDIF.

  PERFORM verify_null_field USING itab_zycbe033-agkon

                                  'AGKON'

                                  text-016.

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

    IF /pws/zycbe145-cod_fech EQ 'TR' AND

       wa_zycbt124-tpoper = 'P'       AND

       wa_zycbt124-tpcliente = 'C'.

       IF p_tpimp = 'PRINCIPAL'.

         itab_zycbe033-agkoa       = 'D'.

       ELSE.

         IF itab_zycat024-credito_imp = '1'.

* << Fim da inclusão

  itab_zycbe033-agkoa       = 'K'.

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

         ELSE.

           itab_zycbe033-agkoa       = 'D'.

         ENDIF.

       ENDIF.

    ELSE.

       itab_zycbe033-agkoa       = 'K'.

    ENDIF.

* << Fim da inclusão

  IF p_tpimp = 'PRINCIPAL'.

    itab_zycbe033-d_newko   =  itab_zycbt124_aux-recrem.

  ELSE.

    IF NOT itab_zycat024-credito_imp IS INITIAL.

      v_cred_imp = itab_zycat024-credito_imp.

    ELSE.

      v_cred_imp = /pws/zyglt009-cont_impostos.

    ENDIF.

    IF v_cred_imp = '1'.

      itab_zycbe033-d_newko   = /pws/zycbt089-forn_rec_fed.

...

 

 

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

Modificações efetuadas em REPS /PWS/SAPMZYCA027

 

* >> Início da inclusão

INCLUDE /PWS/MZYCA027TOP.

INCLUDE /PWS/MZYCA027I01.

INCLUDE /PWS/MZYCA027F01.

INCLUDE /PWS/MZYCA027O01.

* << Fim da inclusão

 

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

Modificações efetuadas em SHLP /PWS/ZYCAA027

 

CRIAR AJUDA DE PESQUISA: /PWS/ZYCAA027

DESCRIÇÃO BREVE: CA - CHAVE DE LANÇAMENTO

 

DEFINIÇÃO

 

OBTENÇÃO DE DADOS

MÉTODO DE SELEÇÃO: H_TBSL

 

COMPORTAMENTO DE DIÁLOGO: ____________________________

TIPO DE DIÁLOGO: Exibição de Valores Imediata

HOT KEY: ____

 

EXIT AJUD. PESQUISA: /PWS/ZYCAA027

 

PARÂMETROS:

 

PARAM.    IMP EXP POSL ISEL EXAJ ELEM. DADOS  MOD  VALOR PROPOSTO

BSCHL       X   1  1      BSCHL

KOART       X   2  2      KOART

SHKZG       X   3  3      SHKZG

LTEXT       X   4  4      TEXT_BSLT

 

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

Modificações efetuadas em SHLP /PWS/ZYCAA028

 

CRIAR AJUDA DE PESQUISA: /PWS/ZYCAA028

DESCRIÇÃO BREVE: CA - PAGAMENTO DE FATURA

 

DEFINIÇÃO

 

OBTENÇÃO DE DADOS

MÉTODO DE SELEÇÃO: /PWS/ZYCBT119

 

COMPORTAMENTO DE DIÁLOGO: ____________________________

TIPO DE DIÁLOGO: Exibição de Valores Imediata

HOT KEY: ____

 

EXIT AJUD. PESQUISA: /PWS/ZYCAA028

 

PARÂMETROS:

 

PARAM.    IMP EXP POSL ISEL EXAJ ELEM. DADOS  MOD  VALOR PROPOSTO

BUKRS           1   1      BUKRS

J_1BBRANCH    2   2      J_1BBRANC_

GSBER           3   3      GSBER

WERKS           4   4      WERKS_D

NRPAGTO    5   5      /PWS/ZYCBL244

NRSEQ       X   6   6      /PWS/ZYCBL344

LIFNR           7   7      LIFRE

WAERS           8   8      WAERS

VLME           9   9      WRBTR

SLPGFAT   10  10      WRBTR

BELNR_P   11  11      /PWS/ZYGLL615

 

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

Modificações efetuadas em SHLP /PWS/ZYCAA029

 

CRIAR AJUDA DE PESQUISA: /PWS/ZYCAA029

DESCRIÇÃO BREVE: CA - PAGAMENTO ANTECIPADO

 

DEFINIÇÃO

 

OBTENÇÃO DE DADOS

MÉTODO DE SELEÇÃO: /PWS/ZYCBT117

 

COMPORTAMENTO DE DIÁLOGO: ____________________________

TIPO DE DIÁLOGO: Exibição de Valores Imediata

HOT KEY: ____

 

EXIT AJUD. PESQUISA: /PWS/ZYCAA029

 

PARÂMETROS:

 

PARAM.    IMP EXP POSL ISEL EXAJ ELEM. DADOS  MOD  VALOR PROPOSTO

BUKRS           1   1      BUKRS

J_1BBRANCH    2   2      J_1BBRANC_

GSBER           3   3      GSBER

WERKS           4   4      WERKS_D

NRSEQ       X   6   6      /PWS/ZYCBL342

LIFNR           7   7      LIFRE

WAERS           8   8      WAERS

VLME           9   9      WRBTR

SLPGANT          10  10      WRBTR

BELNR_P   11  11      BELNR_D

 

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

Modificações efetuadas em SHLP /PWS/ZYCAA030

 

CRIAR AJUDA DE PESQUISA: /PWS/ZYCAA030

DESCRIÇÃO BREVE: CA - FINANCIAMENTO

 

DEFINIÇÃO

 

OBTENÇÃO DE DADOS

MÉTODO DE SELEÇÃO: /PWS/ZYCBT112

 

COMPORTAMENTO DE DIÁLOGO: ____________________________

TIPO DE DIÁLOGO: Exibição de Valores Imediata

HOT KEY: ____

 

EXIT AJUD. PESQUISA: /PWS/ZYCAA030

 

PARÂMETROS:

 

PARAM.    IMP EXP POSL ISEL EXAJ ELEM. DADOS  MOD  VALOR PROPOSTO

BUKRS           1  1      BUKRS

J_1BBRANCH    2  2      J_1BBRANC_

GSBER           3  3      GSBER

WERKS           4  4      WERKS_D

NRFINANC    5  5      /PWS/ZYCBL204

NRSEQ       X   6  6      /PWS/ZYCBL340

LIFNR           7  7      LIFRE

WAERS           8  8      WAERS

VLME           9  9      WRBTR

SLASSOC   10 10      WRBTR

BELNR_AS   11 11      BELNR_D

 

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

Modificações efetuadas em TABD /PWS/ZYCBE124

 

MODIFICAR ESTRUTURA: /PWS/ZYCBE124

DESCRIÇÃO BREVE: GL - Pagamentos e Recebimentos (Remessas)

 

COMPONENTES NOVOS

COMPONENTE:     TP. COMP:      TAB.REF.:       CPO.REF.:    AJUD. PESQU.

TPCLIENTE       /PWS/ZYGLL1392

 

COMPONENTES EXCLUÍDOS

COMPONENTE:     TP. COMP:      TAB.REF.:       CPO.REF.:    AJUD. PESQU.

 

 

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

Modificações efetuadas em TABD /PWS/ZYCBT124

 

MODIFICAR TABELA TRANSPARENTE: /PWS/ZYCBT124

DESCRIÇÃO BREVE: GL - Pagamentos e Recebimentos (Remessas)

 

CARACTERÍSTICAS

 

CATEGORIA DA TABELA: Tabela Transparente

CLASSE DE ENTREGA:   A

(X) - AUTUALIZAÇÃO DE TABELAS PERMITIDA

 

CAMPOS NOVOS

 

CAMPOS:         TP. CAMPO       CH: INI: TAB.VERIF.:    TAB.REF.:     CPO.RE

TPCLIENTE       /PWS/ZYGLL1392

 

CAMPOS EXCLUÍDOS

 

CAMPOS:         TP. CAMPO   CH: INI: TAB.VERIF.:    TAB.REF.:     CPO.RE

 

OPÇÕES TÉCNICAS

 

TIPO DE DADOS: APPL0

CATEGOR. TAMANHO: 0

 

(X) - AR. BUFFER NÃO PERMITIDO

(_) - AR. BUFFER PERMITIDO, MAS DESATIVADO

(_) - AR. BUFFER ATIVADO

(_) - RGSTS. IND ARMAZENADOS

(_) - ÁREA GEN ARMAZENADA EM BUFFER   Nº DE CPOS CHAVE: ______

(_) - TOTALMENTE ARMAZENADO

(_) - REGISTRAR MODIFICS. DDS. EM LOG.

 

 

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

Modificações efetuadas em TABL /PWS/ZYCAT027

 

MODIFICAR TABELA TRANSPARENTE: /PWS/ZYCAT027

DESCRIÇÃO BREVE: CA - REMESSA - CHAVE DE LANÇAMENTO

 

CARACTERÍSTICAS

 

CATEGORIA DA TABELA: Tabela Transparente

CLASSE DE ENTREGA:   A

(X) - AUTUALIZAÇÃO DE TABELAS PERMITIDA

 

CAMPOS NOVOS

 

CAMPOS:         TP. CAMPO        CH: INI: TAB.VERIF.:    TAB.REF.:     CPO.RE

MANDT           MANDT            X   X

KOART           /PWS/ZYGLL1387   X   X

SHKZG           /PWS/ZYGLL1388   X   X

BSCHL           /PWS/ZYGLL1389   X   X    TBSL

USERNAMEC       SYUNAME

DTUSERC         SYDATUM

HRUSERC         SYSTTIMLO

USER_SAVE       /PWS/ZYGLL699

 

 

CAMPOS EXCLUÍDOS

 

CAMPOS:         TP. CAMPO   CH: INI: TAB.VERIF.:    TAB.REF.:     CPO.RE

 

OPÇÕES TÉCNICAS

 

TIPO DE DADOS: APPL0

CATEGOR. TAMANHO: 0

 

(X) - AR. BUFFER NÃO PERMITIDO

(_) - AR. BUFFER PERMITIDO, MAS DESATIVADO

(_) - AR. BUFFER ATIVADO

(_) - RGSTS. IND ARMAZENADOS

(_) - ÁREA GEN ARMAZENADA EM BUFFER   Nº DE CPOS CHAVE: 0

(_) - TOTALMENTE ARMAZENADO

(_) - REGISTRAR MODIFICS. DDS. EM LOG.

 

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

Modificações efetuadas em TABL /PWS/ZYCAT028

 

MODIFICAR TABELA TRANSPARENTE: /PWS/ZYCAT028

DESCRIÇÃO BREVE: CB - REMESSA REPATRIADA

 

CARACTERÍSTICAS

 

CATEGORIA DA TABELA: Tabela Transparente

CLASSE DE ENTREGA:   A

(X) - AUTUALIZAÇÃO DE TABELAS PERMITIDA

 

CAMPOS NOVOS

 

CAMPOS:         TP. CAMPO       CH: INI: TAB.VERIF.:    TAB.REF.:     CPO.RE

MANDT           MANDT           X   X

NRSEQ           /PWS/ZYCBL222   X   X

TP_PROCESSO     /PWS/ZYGLL1390

NR_PROCESSO     /PWS/ZYGLL1391

AGUMS           UMSKZ

BELNR_AS        BELNR_D

DT_ASSOC        SYDATUM

 

CAMPOS EXCLUÍDOS

 

CAMPOS:         TP. CAMPO   CH: INI: TAB.VERIF.:    TAB.REF.:     CPO.RE

 

OPÇÕES TÉCNICAS

 

TIPO DE DADOS: APPL0

CATEGOR. TAMANHO: 0

 

(X) - AR. BUFFER NÃO PERMITIDO

(_) - AR. BUFFER PERMITIDO, MAS DESATIVADO

(_) - AR. BUFFER ATIVADO

(_) - RGSTS. IND ARMAZENADOS

(_) - ÁREA GEN ARMAZENADA EM BUFFER   Nº DE CPOS CHAVE: 0

(_) - TOTALMENTE ARMAZENADO

(_) - REGISTRAR MODIFICS. DDS. EM LOG.

 

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

Modificações efetuadas em TABU TDDAT

Popular a tabela /PWS/ZYCAT027 com os seguintes dados:

KOART    SHKZG    BSCHL   USERNAMEC    DTUSERC   HRUSERC   USER_SAVE

C        C        14

C        D        01

F        C        31

F        D        24

 

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

Modificações efetuadas em TABU TVDIR

 

 

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

Modificações efetuadas em TRAN /PWS/ZYCAT027

 

OBS.: NÃO DISPONIBILIZAR ESSA TRANSAÇÃO NO MENU, QUALQUER DÚVIDA ENTRAR EM CONTATO COM O PRODUTO.

      CHAMAR DIRETO A TRANSAÇÃO /PWS/ZYCAT027.

 

CÓDIGO DE TRANSAÇÃO: /PWS/ZYCAT027

 

ATRIBUTOS DA TRANSAÇÃO

TEXTO BREVE: Remessa - Chave de Lançamento

 

OBJETO DE EXECUÇÃO

(X) - PROGRAMA E TELA (TRANSAÇÃO DE DIÁLOGO)

(_) - PROGRAMA E TELA DE SELEÇÃO (TRANSAÇÃO DE REPORT)

 

TEXTO DA TRANSAÇÃO: Remessa - Chave de Lançamento

PROGRAMA: /PWS/SAPMZYCA027

TELA(SELEÇÃO): 1

INÍCIO COM VARIANTE: _____________________________________________

OBJETO DE AUTORIZAÇÃO: ___________________________________________

(X) - ATUALIZAÇÃO DA VARIANTE DA TRANSAÇÃO STANDARD PERMITIDA

 

CLASSIFICAÇÃO

 

CLASSIFICAÇÃO DE TRANSAÇÃO:

(X) - TRANSAÇÃO PROFESSIONAL USER

(_) - TRANSAÇÃO EASY WEB      SERVIÇO: ___________________________

 

CAPACIDADE GUI:

(X) SAP GUI PARA HTML

(X) SAP GUI PARA JAVA

(X) SAP GUI PARA WINDOWS

 

 

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

Modificações efetuadas em TÍTS /PWS/SAPMZYCA027

 

TÍTS GUI

CODE TÍTULO: 0001

TÍTULO:      CA - Remessa - Chave de Lançamento

 

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

Modificações efetuadas em STATUS GUI /PWS/SAPMZYCA027

 

 

Texto Breve: CA - Status Tela 0001

Tipo Status: Status Diálogo

 

 

BARRA DE BOTÕES

 

CÓDIGO DE FUNÇÃO: MODI

CATEGORIA DE FUNÇÃO: ____

 

TEXTOS DE FUNÇÃO ESTÁTICOS

TEXTO DE FUNÇÃO: Modificar

NOME DE ÍCONE: ICON_CHANGE

TEXTO DE ÍCONE: _____________________________________________________

TEXTO INFORMATIVO: __________________________________________________

SELEÇÃO DIRETA: _____

TECLA DE ATALHO: _______________________________

 

 

TECLAS DE FUNÇÃO

 

BARRA DE FERRAMENTAS

 

CÓDIGO DE FUNÇÃO: SAVE

CATEGORIA DE FUNÇÃO: ____

 

TEXTOS DE FUNÇÃO ESTÁTICOS

TEXTO DE FUNÇÃO: Gravar

NOME DE ÍCONE: ICON_SYSTEM_SAVE

TEXTO DE ÍCONE: _____________________________________________________

TEXTO INFORMATIVO: __________________________________________________

SELEÇÃO DIRETA: _____

TECLA DE ATALHO: _______________________________

 

CÓDIGO DE FUNÇÃO: BACK

CATEGORIA DE FUNÇÃO: ____

 

TEXTOS DE FUNÇÃO ESTÁTICOS

TEXTO DE FUNÇÃO: Voltar

NOME DE ÍCONE: _____________________

TEXTO DE ÍCONE: _____________________________________________________

TEXTO INFORMATIVO: __________________________________________________

SELEÇÃO DIRETA: _____

TECLA DE ATALHO: _______________________________

 

CÓDIGO DE FUNÇÃO: EXIT

CATEGORIA DE FUNÇÃO: ____

 

TEXTOS DE FUNÇÃO ESTÁTICOS

TEXTO DE FUNÇÃO: Encerrar

NOME DE ÍCONE: _____________________

TEXTO DE ÍCONE: _____________________________________________________

TEXTO INFORMATIVO: __________________________________________________

SELEÇÃO DIRETA: _____

TECLA DE ATALHO: _______________________________

 

CÓDIGO DE FUNÇÃO: CLOSE

CATEGORIA DE FUNÇÃO: ____

 

TEXTOS DE FUNÇÃO ESTÁTICOS

TEXTO DE FUNÇÃO: Cancelar

NOME DE ÍCONE: ICON_CANCEL

TEXTO DE ÍCONE: _____________________________________________________

TEXTO INFORMATIVO: __________________________________________________

SELEÇÃO DIRETA: _____

TECLA DE ATALHO: _______________________________

 

 

TECLAS DE FUNÇÃO DE LIVRE DEFINIÇÃO

 

F5              MODI               Modificar

 

 

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

Modificações efetuadas em TEXT /PWS/SAPMZYCA027

 

INCLUIR SÍMBOLOS DE TEXTO :

 

TEXTOS NOVOS:

SÍM.:   TEXTO:                                                  CD. CM.

001     Parâmetros estão sendo alterados por outro usuário      50  50

 

TEXTOS ANTIGOS:

SÍM.:   TEXTO:                                                  CD. CM.

002     Somente é possível exibí-los.                           29  29

 

TEXTOS ANTIGOS:

SÍM.:   TEXTO:                                                  CD. CM.

003     Problemas de bloqueio. Avisar administrador do sistema. 55  55

 

TEXTOS ANTIGOS:

SÍM.:   TEXTO:                                                  CD. CM.

004     Registro atualizado com sucesso.                        32  32

 

TEXTOS ANTIGOS:

SÍM.:   TEXTO:                                                  CD. CM.

005     Fórmulas Base de Cálculo Impostos.                      34  34

 

TEXTOS ANTIGOS:

SÍM.:   TEXTO:                                                  CD. CM.

006     Houve alterações nos parâmetros. Deseja salvar?         47  47

 

TEXTOS ANTIGOS:

SÍM.:   TEXTO:                                                  CD. CM.

007     Aviso                                                   5   5