CE PLUS - Nota 013659

Módulo: CÂMBIO FINANCEIRO

Funcionalidade: SISCOSERV

Data/Hora da Publicação: 22/05/2014 15:54:11

Data/Hora Última Alteração: 22/05/2014 15:54:11

Descrição da Nota: SISCOSERV, DESP.IMPORTAÇÃO, ORDEM DE VENDA, PEDIDO DE COMPRA, NIF

Sintoma

Novos tratamentos nas funcionalidades de Siscoserv e Associação

- Criar automático RAS de fatura de importação de despesa - tipo 04

- Automatizar associação de RAS de fatura de importação de despesa - tipo 04

- Criar parâmetro para data pgto/rec e/ou Data Inicio e Data Final.

- Associação de RAS/RVS conforme parametro da data pgto/rec.

- Criar RVS com Origem na Ordem de Venda(COM RANGE)

- Automatizar associação de RVS com Origem na Ordem de Venda

- Criar Range Pedido de Compra, para já criar mais de um, agrupando conforme regras.

- Preenchimento do campo NIF do cadastro do fornecedor

 

 

 

Solução

Desenvolvimento dos Itens Solicitados.

 

Versões Tratadas

9.0


Pré-Requisitos

Produto:

Nota

Descrição

ASSOCIAÇÃO SISCOSERV

SISCOSERV, NOVO TRATAMENTO PARA CRIAÇÃO DE RAS / RVS, VÁRIOS EMBARQUES

SISCOSERV - CRIAÇÃO AUTOMÁTICA DE RAS/RVS

SISCOSERV - ROBÔ - MELHORIAS PARA TRATAR RE-ENVIO AUTOMÁTICO DO ARQUIVO

SISCOSERV - ASSOCIAÇÃO - AUTOMATIZAR PAGAMENTO DO PEDIDO DE COMPRA

SISCOSERV, RAS/RVS DE COMISSÃO DE AGENTE E PRESTAÇÃO DE CONTAS

SISCOSERV, MATCH CODE DE SELEÇÃO DE EMBARQUES DE IMP/EXP

SISCOSERV

SISCOSERV - ASSOCIAÇÃO RAS BUSCAR PAGAMENTO DAS FATURAS PELO INCOTERM

Informações Complementares

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

Nota Número 13659 Data: 03/02/2014 Hora: 10:20:42

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

 

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

Nota Número              : 13659

Categoria                : Melhoria

Prioridade               : Média

Versão PW.CE             : 9.0

Pacote                   : 00007

Agrupamento              : 00170

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

Referência às notas relacionadas:

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

 

12480  - 00001 - 9.0    - 00001  - SISCOSERV

12671  - 00002 - 9.0    - 00002  - ASSOCIAÇÃO SISCOSERV

13194  - 00003 - 9.0    - 00005  - SISCOSERV - ROBÔ - MELHORIAS PARA TRATAR RE-ENVIO AUTOMÁTICO DO A

13310  - 00004 - 9.0    - 00006  - SISCOSERV - ASSOCIAÇÃO - AUTOMATIZAR PAGAMENTO DO PEDIDO DE COMPR

13314  - 00005 - 9.0    - 00006  - SISCOSERV - ASSOCIAÇÃO RAS BUSCAR PAGAMENTO DAS FATURAS PELO INCO

13366  - 00006 - 9.0    - 00006  - SISCOSERV, NOVO TRATAMENTO PARA CRIAÇÃO DE RAS / RVS, VÁRIOS EMBA

13383  - 00007 - 9.0    - 00006  - SISCOSERV, MATCH CODE DE SELEÇÃO DE EMBARQUES DE IMP/EXP

13542  - 00008 - 9.0    - 00006  - SISCOSERV, RAS/RVS DE COMISSÃO DE AGENTE E PRESTAÇÃO DE CONTAS

13874  - 00009 - 9.0    - 00007  - SISCOSERV - CRIAÇÃO AUTOMÁTICA DE RAS/RVS

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

SISCOSERV, DESP.IMPORTAÇÃO, ORDEM DE VENDA, PEDIDO DE COMPRA, NIF

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

Palavras Chave:

SISCOSERV, DESP.IMPORTAÇÃO, ORDEM DE VENDA, PEDIDO DE COMPRA

CAMPO NIF

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

Objetos da nota:

PARA /PWS/ZYCAP007

PARA /PWS/ZYCAP008

DOMA /PWS/ZYCAD029

DOMA /PWS/ZYCAD030

DOMA /PWS/ZYCAD031

DOMD /PWS/ZYCAD027

DOMD /PWS/ZYCAD028

DTEL /PWS/ZYCAL061

DTEL /PWS/ZYCAL062

DTEL /PWS/ZYCAL063

TABL /PWS/ZYCAT048

TABL /PWS/ZYCAT049

TABL /PWS/ZYCAT047

TABD /PWS/ZYCIT019

TOBJ /PWS/ZYCAT049S

TOBJ /PWS/ZYCIT019S

TOBJ /PWS/ZYCAT047S

TOBJ /PWS/ZYCAT048S

SHLD /PWS/ZYCAA172

FUGR /PWS/ZYCIGF1

FUGR /PWS/ZYCAGF1

CUAD /PWS/SAPMZYCA011

DYNP /PWS/SAPMZYCA011                        0001

DYNP /PWS/SAPMZYCA011                        0003

DYNP /PWS/SAPMZYCA011                        0007

DYNP /PWS/SAPMZYCA011                        0010

DYNP /PWS/SAPMZYCA011                        0011

REPS /PWS/MZYCA012I01

REPS /PWS/MZYCA012O01

REPS /PWS/MZYCA012TOP

REPS /PWS/ZYCAGF1TOP

REPS /PWS/MZYCA012F01

REPS /PWS/MZYCA011TOP

REPS /PWS/MZYCA011O01

REPS /PWS/MZYCA011I01

REPS /PWS/MZYCA011F01

REPT /PWS/SAPMZYCA011

TRAN /PWS/ZYCAT049

TRAN /PWS/ZYCAT048

TRAN /PWS/ZYCAT047

SHI3 /PWS/ZYCB

SHI6 /PWS/ZYCB

TABU TMENU01

TABU TMENU01R

TABU TDDAT

TABU TVDIR

TABU TVIMF

TABU TMENU01T

VDAT V_TVIMF

 

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

Modificações efetuadas em PARA /PWS/ZYCAP007

 

*** CRIAÇÃO DE PARAMETRO

*** CLAS.DESENVOLVIMENTO - /PWS/ZYCA

*** ID.PARAMETRO - /PWS/ZYCAP007 - CA - Tipo Operação Remessa

 

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

Modificações efetuadas em PARA /PWS/ZYCAP008

 

*** CRIAÇÃO DE PARAMETRO

*** CLAS.DESENVOLVIMENTO - /PWS/ZYCA

*** ID.PARAMETRO - /PWS/ZYCAP008 - CA - Fornecedor ou Cliente Remessa

 

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

Modificações efetuadas em DOMA /PWS/ZYCAD029

 

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

*************************************

** Domínio incluído: /PWS/ZYCAD029 **

*************************************

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

"Siscoserv - Listbox Tipo de Processos"

Classe de desenvolvimento: /PWS/ZYCA

Idioma original: PT

Categoria de dados: CHAR

Número de posições: 3

Comprimento de saída: 3

Rotina de conversão:

Letras minúsculas: NÃO

-Valores individuais

 

Incluído valor fixo "RAS"

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

"Reg. Aquisição de Serviço"

 

Incluído valor fixo "RVS"

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

"Reg. Venda de Serviço"

 

Incluído valor fixo "FI"

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

"Fatura de Importação"

 

Incluído valor fixo "FE"

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

"Fatura de Exportação"

 

Incluído valor fixo "PT"

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

"Prestação de Contas"

 

Incluído valor fixo "PC"

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

"Pedido de Compras"

 

Incluído valor fixo "OV"

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

"Ordem de Venda"

 

Incluído valor fixo "RP"

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

"Remessa de Pagamento"

 

Incluído valor fixo "RR"

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

"Remessa de Recebimento"

 

Incluído valor fixo "CA"

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

"Comissão de Agente"

 

Incluída tabela de valores:

 

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

Modificações efetuadas em DOMA /PWS/ZYCAD030

 

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

*************************************

** Domínio incluído: /PWS/ZYCAD030 **

*************************************

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

"Siscoserv - Listbox Tipo de Campo"

Classe de desenvolvimento: /PWS/ZYCA

Idioma original: PT

Categoria de dados: CHAR

Número de posições: 9

Comprimento de saída: 9

Rotina de conversão:

Letras minúsculas: NÃO

-Valores individuais

 

Incluído valor fixo "NIF"

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

"Identificação Fiscal"

 

Incluído valor fixo "DT_INI"

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

"Data Início"

 

Incluído valor fixo "DT_FIM"

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

"Data Fim"

 

Incluído valor fixo "DT_PG_REC"

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

"Data Pagamento / Recebimento"

 

Incluída tabela de valores:

 

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

Modificações efetuadas em DOMA /PWS/ZYCAD031

 

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

*************************************

** Domínio incluído: /PWS/ZYCAD031 **

*************************************

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

"Siscoserv - Listbox Tipo de Valores"

Classe de desenvolvimento: /PWS/ZYCA

Idioma original: PT

Categoria de dados: CHAR

Número de posições: 9

Comprimento de saída: 9

Rotina de conversão:

Letras minúsculas: NÃO

-Valores individuais

 

Incluído valor fixo "AUGDT"

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

"Data Compensação"

 

Incluído valor fixo "AUDAT"

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

"Data Documento"

 

Incluído valor fixo "BEDAT"

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

"Data Documento"

 

Incluído valor fixo "DTATRAC"

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

"Data Atracação DI"

 

Incluído valor fixo "DTAVERB"

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

"Data Averbação"

 

Incluído valor fixo "DTBL"

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

"Data BL"

 

Incluído valor fixo "DTCH"

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

"Data de Chegada"

 

Incluído valor fixo "DTCHEG"

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

"Data Chegada BL"

 

Incluído valor fixo "DTCREDPR"

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

"Data Lançamento CB"

 

Incluído valor fixo "DTDCTO"

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

"Data Documento PC"

 

Incluído valor fixo "DTDESEMB"

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

"Data Desembaraço DI"

 

Incluído valor fixo "DTEMB"

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

"Data Embarque"

 

Incluído valor fixo "DTINCL"

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

"Data Fatura / Inclusão PC"

 

Incluído valor fixo "DTINICIO"

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

"Data Início"

 

Incluído valor fixo "DTLANC"

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

"Data Lançamento SP / PC"

 

Incluído valor fixo "DTLIQUIDA"

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

"Data Liquidação CB / Swift CB"

 

Incluído valor fixo "EEIND"

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

"Data Remessa"

 

Incluído valor fixo "ERDAT"

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

"Data Criação"

 

Incluído valor fixo "STCD1"

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

"Nº. Id. Fiscal 1"

 

Incluído valor fixo "STCD2"

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

"Nº. Id. Fiscal 2"

 

Incluído valor fixo "STCD3"

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

"Nº. Id. Fiscal 3"

 

Incluído valor fixo "STCD4"

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

"Nº. Id. Fiscal 4"

 

Incluído valor fixo "STCEG"

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

"Nº. Ident. Fiscal"

 

Incluído valor fixo "STENR"

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

"Nº. ID Fiscal"

 

Incluído valor fixo "DTPAGEXT"

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

"Data Pagamento Exterior"

 

Incluído valor fixo "DTPAGTO"

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

"Data Pagamento"

 

Incluída tabela de valores:

 

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

Modificações efetuadas em DOMD /PWS/ZYCAD027

 

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

***************************************

** Domínio modificado: /PWS/ZYCAD027 **

***************************************

-Valores individuais

 

Incluído valor fixo "DI"

Texto modificado, idioma: PT (30 caracteres):

"Embarque Importação - Despesas"

 

Incluído valor fixo "OV"

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

"Ordem de Venda"

 

*** Após a Inclusão o Domínio ficará com na Seguinte Ordem

 

' '    Sem Origem

FI     Embarque Importação - Frete

SI     Embarque Importação - Seguro

EI     Embarque Importação - Serviços

DI     Embarque Importação - Despesas                   (novo)

FE     Embarque Exportação - Frete

SE     Embarque Exportação - Seguro

EE     Embarque Exportação - Serviços

CA     Embarque Exportação - Comissão de Agente

PT     Embarque Exportação - Prestação de Contas

PC     Pedido de Compra

OV     Ordem de Venda                                   (novo)

 

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

Modificações efetuadas em DOMD /PWS/ZYCAD028

 

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

Domínio modificado: /PWS/ZYCAD028

Comprimento de saída: 2

-Valores individuais

 

Modificado valor fixo "E"

Texto modificado, idioma: PT (30 caracteres):

"Embarque Importação - Despesas"

 

Modificado valor fixo "F"

Texto modificado, idioma: PT (27 caracteres):

"Embarque Exportação - Frete"

 

Modificado valor fixo "G"

Texto modificado, idioma: PT (28 caracteres):

"Embarque Exportação - Seguro"

 

Modificado valor fixo "H"

Texto modificado, idioma: PT (30 caracteres):

"Embarque Exportação - Serviços"

 

Modificado valor fixo "I"

Texto modificado, idioma: PT (40 caracteres):

"Embarque Exportação - Comissão de Agente"

 

Modificado valor fixo "J"

Texto modificado, idioma: PT (41 caracteres):

"Embarque Exportação - Prestação de Contas"

 

Incluído valor fixo "K"

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

"Pedido de Compra"

 

Incluído valor fixo "L"

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

"Ordem de Venda"

 

*** Após o Ajuste o Domínio ficará com na Seguinte Ordem

 

A      Sem Origem

B      Embarque Importação - Frete

C      Embarque Importação - Seguro

D      Embarque Importação - Serviços

E      Embarque Importação - Despesas

F      Embarque Exportação - Frete

G      Embarque Exportação - Seguro

H      Embarque Exportação - Serviços

I      Embarque Exportação - Comissão de Agente

J      Embarque Exportação - Prestação de Contas

K      Pedido de Compra

L      Ordem de Venda

 

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

Modificações efetuadas em DTEL /PWS/ZYCAL061

 

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

***********************************************

** Elemento de dados incluído: /PWS/ZYCAL061 **

***********************************************

Classe de desenvolvimento: /PWS/ZYCA

Idioma original: PT

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

"Siscoserv - Listbox do Tipo de Processos"

Categoria de dados: Domínio

Domínio: /PWS/ZYCAD029

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

"Processo"

Comprimento máximo do denominador médio: 20

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

"Siscoserv -Processo"

Comprimento máximo do denominador longo: 29

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

"Siscoserv - Tipo de Processo"

Comprimento máximo do título: 29

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

"Siscoserv - Tipo de Processo"

 

 

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

Modificações efetuadas em DTEL /PWS/ZYCAL062

 

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

***********************************************

** Elemento de dados incluído: /PWS/ZYCAL062 **

***********************************************

Classe de desenvolvimento: /PWS/ZYCA

Idioma original: PT

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

"Siscoserv - Listbox do Tipo de Campos"

Categoria de dados: Domínio

Domínio: /PWS/ZYCAD030

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 (5 caracteres), idioma: PT

"Campo"

Comprimento máximo do denominador médio: 19

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

"Siscoserv  - Campo"

Comprimento máximo do denominador longo: 27

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

"Siscoserv  - Tipo de Campo"

Comprimento máximo do título: 27

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

"Siscoserv  - Tipo de Campo"

 

 

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

Modificações efetuadas em DTEL /PWS/ZYCAL063

 

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

***********************************************

** Elemento de dados incluído: /PWS/ZYCAL063 **

***********************************************

Classe de desenvolvimento: /PWS/ZYCA

Idioma original: PT

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

"Siscoserv - Listbox do Tipo de Valores"

Categoria de dados: Domínio

Domínio: /PWS/ZYCAD031

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 (5 caracteres), idioma: PT

"Valor"

Comprimento máximo do denominador médio: 20

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

"Siscoserv  - Valor"

Comprimento máximo do denominador longo: 27

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

"Siscoserv - Tipo de Valor"

Comprimento máximo do título: 27

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

"Siscoserv - Tipo de Valor"

 

 

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

Modificações efetuadas em TABL /PWS/ZYCAT047

 

CRIAR TABELA TRANSPARENTE: /PWS/ZYCAT047

DESCRIÇÃO BREVE: Preenchimento para Campos ao Criar e Associar RAS/RVS

 

CARACTERÍSTICAS

***************

CATEGORIA DA TABELA: Tabela Transparente

CLASSE DE ENTREGA:   'A' - Tabela de aplicação (dados mestre e de movimento)

(X) - AUTUALIZAÇÃO DE TABELAS PERMITIDA

 

CAMPOS NOVOS

************

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

MANDT           MANDT          X   X

PROCESSO        /PWS/ZYCAL061  X   X

CAMPO           /PWS/ZYCAL062  X   X

VALOR           /PWS/ZYCAL063  X   X

 

 

OPÇÕES TÉCNICAS

***************

TIPO DE DADOS: APPL2

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.

 

************

GERAR DIÁLOGO DE ATUALIZAÇÃO PARA A TABELA /PWS/ZYCAT047 COM AS INFORMAÇÕES ABAIXO:

GRUPO DE AUTORIZAÇÃO:

GRUPO DE FUNÇÕES    : /PWS/ZYCAGF1

CL. DESENVOLVIMENTO : /PWS/ZYCA

 

************

TELAS DE ATUALIZAÇÃO:

CTG. ATUALIZAÇÃO:   (X) NÍVEL ÚNICO

                    (_) 2 NÍVEIS

 

Nº TELA ATUALIZAÇÃO: TELA DE SÍNTESE: 47

                     TELA INDIVIDUAL: __

 

INDICAÇÕES PARA TRANSPORTE DE DADOS DE DIÁLOGO:

ROTINA DE REGISTRO: (X) ROTINA DE REGISTRO STANDARD

                    (_) ROTINA DE REGISTRO INDIVIDUAL (OU NENHUMA)

CÓDIGO DE AJUSTE: AJUSTÁVEL AUTOMATICAMENTE

 

************

NA TELA DO DIÁLOGO DE ATUALIZAÇÃO, IR EM AMBIENTE --> MODIFICAÇÃO --> HORAS E INCLUIR AS ENTRADAS

ABAIXO:

 

MOM         NOME DO FORM/PROGRAMA

01          GRAVA_LOG_ZYCAT047_DEL

02          GRAVA_LOG_ZYCAT047_UPD

 

 

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

Modificações efetuadas em TABL /PWS/ZYCAT048

 

CRIAR TABELA TRANSPARENTE: /PWS/ZYCAT048

DESCRIÇÃO BREVE: Parâmetros Considerados ao criar/associar RAS/RVS

 

CARACTERÍSTICAS

***************

CATEGORIA DA TABELA: Tabela Transparente

CLASSE DE ENTREGA:   'A' - Tabela de aplicação (dados mestre e de movimento)

(X) - AUTUALIZAÇÃO DE TABELAS PERMITIDA

 

CAMPOS NOVOS

************

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

MANDT           MANDT          X   X

PROCESSO        /PWS/ZYCAL061  X   X

CAMPO           /PWS/ZYCAL062  X   X

VALOR           /PWS/ZYCAL063  ''  ''

 

*** CRIAR CHAVE EXTERNA PARA O CAMPO VALOR

*** Tabela verificação /PWS/ZYCAT047

Tab.Verif.     Cpo.Tab.Verif.   Tab.Chave Externa  Cpo Chave Externa

/PWS/ZYCAT047  MANDT            /PWS/ZYCAT048      MANDT

/PWS/ZYCAT047  PROCESSO         /PWS/ZYCAT048      PROCESSO

/PWS/ZYCAT047  CAMPO            /PWS/ZYCAT048      CAMPO

/PWS/ZYCAT047  VALOR            /PWS/ZYCAT048      VALOR

 

Verificação da Tela - (X) Verificação desejada

 

 

OPÇÕES TÉCNICAS

***************

TIPO DE DADOS: APPL2

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.

 

************

GERAR DIÁLOGO DE ATUALIZAÇÃO PARA A TABELA /PWS/ZYCAT048 COM AS INFORMAÇÕES ABAIXO:

GRUPO DE AUTORIZAÇÃO:

GRUPO DE FUNÇÕES    : /PWS/ZYCAGF1

CL. DESENVOLVIMENTO : /PWS/ZYCA

 

************

TELAS DE ATUALIZAÇÃO:

CTG. ATUALIZAÇÃO:   (X) NÍVEL ÚNICO

                    (_) 2 NÍVEIS

 

Nº TELA ATUALIZAÇÃO: TELA DE SÍNTESE: 48

                     TELA INDIVIDUAL: __

 

INDICAÇÕES PARA TRANSPORTE DE DADOS DE DIÁLOGO:

ROTINA DE REGISTRO: (X) ROTINA DE REGISTRO STANDARD

                    (_) ROTINA DE REGISTRO INDIVIDUAL (OU NENHUMA)

CÓDIGO DE AJUSTE: AJUSTÁVEL AUTOMATICAMENTE

 

************

NA TELA DO DIÁLOGO DE ATUALIZAÇÃO, IR EM AMBIENTE --> MODIFICAÇÃO --> HORAS E INCLUIR AS ENTRADAS

ABAIXO:

 

MOM         NOME DO FORM/PROGRAMA

01          GRAVA_LOG_ZYCAT048_DEL

02          GRAVA_LOG_ZYCAT048_UPD

 

 

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

Modificações efetuadas em TABL /PWS/ZYCAT049

 

CRIAR TABELA TRANSPARENTE: /PWS/ZYCAT049

DESCRIÇÃO BREVE: Parâmetros Tipo de Ordem de Venda / Condição Siscoserv

 

CARACTERÍSTICAS

***************

CATEGORIA DA TABELA: Tabela Transparente

CLASSE DE ENTREGA:   'A' - Tabela de aplicação (dados mestre e de movimento)

(X) - AUTUALIZAÇÃO DE TABELAS PERMITIDA

 

CAMPOS NOVOS

************

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

MANDT           MANDT          X   X

AUART           AUART          X   X

KSCHL           KSCHA          X   X

 

*** CRIAR CHAVE EXTERNA PARA O CAMPO AUART

*** Tabela verificação TVAK

Tab.Verif.   Cpo.Tab.Verif.   Tab.Chave Externa   Cpo Chave Externa

TVAK         MANDT            /PWS/ZYCAT049       MANDT

TVAK         AUART            /PWS/ZYCAT049       AUART

 

Verificação da Tela - (X) Verificação desejada

 

*** CRIAR CHAVE EXTERNA PARA O CAMPO KSCHL

*** Tabela verificação T685

Tab.Verif.   Cpo.Tab.Verif.   Tab.Chave Externa   Cpo Chave Externa  Genérico

T685         MANDT            /PWS/ZYCAT049       MANDT

T685         KVEWE                                                   'X'

T685         KAPPL                                                   'X'

T685         KSCHL            /PWS/ZYCAT049       KSCHL

 

 

OPÇÕES TÉCNICAS

***************

TIPO DE DADOS: APPL2

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.

 

************

GERAR DIÁLOGO DE ATUALIZAÇÃO PARA A TABELA /PWS/ZYCAT049 COM AS INFORMAÇÕES ABAIXO:

GRUPO DE AUTORIZAÇÃO:

GRUPO DE FUNÇÕES    : /PWS/ZYCAGF1

CL. DESENVOLVIMENTO : /PWS/ZYCA

 

************

TELAS DE ATUALIZAÇÃO:

CTG. ATUALIZAÇÃO:   (X) NÍVEL ÚNICO

                    (_) 2 NÍVEIS

 

Nº TELA ATUALIZAÇÃO: TELA DE SÍNTESE: 49

                     TELA INDIVIDUAL: __

 

INDICAÇÕES PARA TRANSPORTE DE DADOS DE DIÁLOGO:

ROTINA DE REGISTRO: (X) ROTINA DE REGISTRO STANDARD

                    (_) ROTINA DE REGISTRO INDIVIDUAL (OU NENHUMA)

CÓDIGO DE AJUSTE: AJUSTÁVEL AUTOMATICAMENTE

 

************

NA TELA DO DIÁLOGO DE ATUALIZAÇÃO, IR EM AMBIENTE --> MODIFICAÇÃO --> HORAS E INCLUIR AS ENTRADAS

ABAIXO:

 

MOM         NOME DO FORM/PROGRAMA

01          GRAVA_LOG_ZYCAT049_DEL

02          GRAVA_LOG_ZYCAT049_UPD

 

 

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

Modificações efetuadas em TABD /PWS/ZYCIT019

 

MODIFICAR TABELA TRANSPARENTE: /PWS/ZYCIT019

DESCRIÇÃO BREVE: GL - Param. Tipo de Despesa.

 

CARACTERÍSTICAS

 

CATEGORIA DA TABELA: Tabela transpare

CLASSE DE ENTREGA:   C - Tab.customizing, atualização só por cliente, s/import.SAP

(X) - AUTUALIZAÇÃO DE TABELAS PERMITIDA

 

CAMPOS NOVOS

************

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

 

SISCOSERV       /PWS/ZYCEL914    ''  ''    ''             ''            ''

MODO_PREST      /PWS/ZYCAL030    ''  ''    ''             ''            ''

NBS             /PWS/ZYCAL028    ''  ''    ''             ''            ''

 

INCLUIR ESTES CAMPOS NO FINAL DA TABELA

***************************************

 

OPÇÕES TÉCNICAS

 

TIPO DE DADOS:    APPL2

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.

 

 

************

GERAR NOVMANETE DIÁLOGO DE ATUALIZAÇÃO PARA A TABELA /PWS/ZYCIT019 COM AS INFORMAÇÕES ABAIXO:

GRUPO DE AUTORIZAÇÃO:

GRUPO DE FUNÇÕES    : /PWS/ZYCIGF1

CL. DESENVOLVIMENTO : /PWS/ZYCI

 

************

TELAS DE ATUALIZAÇÃO:

CTG. ATUALIZAÇÃO:   (X) NÍVEL ÚNICO

                    (_) 2 NÍVEIS

 

Nº TELA ATUALIZAÇÃO: TELA DE SÍNTESE: 19

                     TELA INDIVIDUAL: __

 

INDICAÇÕES PARA TRANSPORTE DE DADOS DE DIÁLOGO:

ROTINA DE REGISTRO: (X) ROTINA DE REGISTRO STANDARD

                    (_) ROTINA DE REGISTRO INDIVIDUAL (OU NENHUMA)

CÓDIGO DE AJUSTE: AJUSTÁVEL AUTOMATICAMENTE

 

 

*** Criar Ajuda para Pesquisa para Campo

*** Saltar -> AJuda para Pesquisa -> para Campo

*** Para o Campo /PWS/ZYCIT019-NBS

*** Nome Ajuda-> /PWS/ZYCAA175

 

*** Parametro de Ajuda p/pesquisa    -  Nome da Tabela   - Nome do Campo

*** NBS                                 /PWS/ZYCIT019      NBS

 

 

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

Modificações efetuadas em SHLD /PWS/ZYCAA172

 

*** ALTERAÇÃO NA AJUDA DE PESQUISA - /PWS/ZYCAA172

Modificações efetuadas em SHLD /PWS/ZYCAA172

 

MODIFICAR AJUDA DE PESQUISA: /PWS/ZYCAA172

DESCRIÇÃO BREVE: Associação Remessas / RAS / RVS - SISCOSERV

 

DEFINIÇÃO

*********

OBTENÇÃO DE DADOS

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

 

COMPORTAMENTO DE DIÁLOGO:

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

HOT KEY: ____

 

EXIT AJUD. PESQUISA: /PWS/ZYCAA172

 

*** INCLUSAO DE DOIS NOVOS CAMPOS - TPOPER e TPRECREM (CAMPO NOVO)

 

PARÂMETROS:

***********

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

 

NRSEQ         ''   'X'  1    1   ''    /PWS/ZYCBL222     ''

NRFECH        ''   ''   2    2   ''    /PWS/ZYCBL246     ''

BUKRS         'X'  ''   3    3   'X'   BUKRS             ''    BUK

VLME          ''   ''   4    4   ''    WRBTR             ''

WAERS         'X'  ''   5    5   'X'   WAERS             ''    FWS

RECREM        'X'  ''   6    6   'X'   /PWS/ZYCBL255     ''    KUN

TPOPER        ''   ''   0    0   ''    /PWS/ZYCBL225     ''    /PWS/ZYCAP007   (CAMPO NOVO)

TPRECREM      ''   ''   0    0   ''    /PWS/ZYGLL858     ''    /PWS/ZYCAP008   (CAMPO NOVO)

 

 

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

Modificações efetuadas em CUAD /PWS/SAPMZYCA011

 

*** NO PROGRAMA /PWS/SAPMZYCA011 CRIAR 2 NOVOS TIT.GUI

 

Cod. 0010 - Título - Seleção Pedido de Compra

Cod. 0011 - Título - Seleção Ordem de Venda

 

*** NO PROGRAMA /PWS/SAPMZYCA011 CRIAR 2 NOVOS STATUS GUI

 

*** CRIAÇÃO NO STATUS GUI - 0010 - Seleção Pedido Compra - Somente na Tecla de Função

 

*** Barra de menu    (não houve alteracao)

*** Barra de botões  (não houve alteracao)

*** Teclas de função

   -- Código de função     ENTE  ( BOTÃO DE OK )

      Categoria de função  Função de aplicação

      Texto de função      Confirmação

      Tecla de Função      F8

 

   -- Código de função     EXIT  ( BOTÃO DE VOLTAR VERDE )

      Categoria de função  E  Comando exit

      Texto de função      Voltar

 

   -- Código de função     EXIT  ( BOTÃO DE VOLTAR AMARELO )

      Categoria de função  E  Comando exit

      Texto de função      Encerrar

 

   -- Código de função     EXIT  ( BOTÃO DE X VERMELHO )

      Categoria de função  E  Comando exit

      Texto de função      Cancelar

      Nome do Icone        ICON_CANCEL

 

 

*** CRIAÇÃO NO STATUS GUI - 0011 - Seleção Ordem Venda - Somente na Tecla de Função

 

*** Barra de menu    (não houve alteracao)

*** Barra de botões  (não houve alteracao)

*** Teclas de função

   -- Código de função     ENTE  ( BOTÃO DE OK )

      Categoria de função  Função de aplicação

      Texto de função      Confirmação

      Tecla de Função      F8

 

   -- Código de função     EXIT  ( BOTÃO DE VOLTAR VERDE )

      Categoria de função  E  Comando exit

      Texto de função      Voltar

 

   -- Código de função     EXIT  ( BOTÃO DE VOLTAR AMARELO )

      Categoria de função  E  Comando exit

      Texto de função      Encerrar

 

   -- Código de função     EXIT  ( BOTÃO DE X VERMELHO )

      Categoria de função  E  Comando exit

      Texto de função      Cancelar

      Nome do Icone        ICON_CANCEL

 

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

 

*** SOLICITAR A EQUIPE DE PRODUTO PW.CE CÂMBIO OS ARQUIVOS DAS TELAS PARA UPLOAD

 

*** 13659_SAPMZYCA011_TELA_0003.txt

*** 13659_SAPMZYCA011_TELA_0007.txt

*** 13659_SAPMZYCA011_TELA_0010.txt

*** 13659_SAPMZYCA011_TELA_0011.txt

 

 

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

 

MODIFICAR LÓGICA DE PROCESSAMENTO TELA 0001

PROCESS BEFORE OUTPUT.

  MODULE status_0001.

  MODULE verifica_autorizacao.

* >> Início da inclusão:

  module busca_parametros.

* << Fim da inclusão

PROCESS AFTER INPUT.

  MODULE exit_command AT EXIT-COMMAND.

  MODULE user_command.

 

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

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

 

MODIFICAR LÓGICA DE PROCESSAMENTO TELA 0003

process before output.

  module status_0003.

  call subscreen ss_embimp including syst-cprog '0004'.

  call subscreen ss_embexp including syst-cprog '0005'.

  call subscreen ss_pedcompr including syst-cprog '0006'.

* >> Início da inclusão:

  call subscreen ss_ordvenda including syst-cprog '0009'.

  module busca_parametros.

* << Fim da inclusão

process after input.

  module exit_command at exit-command.

  call subscreen ss_embimp.

  call subscreen ss_embexp.

  call subscreen ss_pedcompr.

* >> Início da inclusão:

  call subscreen ss_ordvenda.

* << Fim da inclusão

  module user_command.

 

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

Modificações efetuadas em DYNP /PWS/SAPMZYCA011                        0007

 

 

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

Modificações efetuadas em DYNP /PWS/SAPMZYCA011                        0010

 

MODIFICAR LÓGICA DE PROCESSAMENTO TELA 0010

* >> Início da inclusão:

process before output.

  module status_0010.

  call subscreen ss_pedcompr including syst-cprog '0006'.

process after input.

  module exit_command at exit-command.

  call subscreen ss_pedcompr.

  module user_command.

* << Fim da inclusão

 

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

Modificações efetuadas em DYNP /PWS/SAPMZYCA011                        0011

 

MODIFICAR LÓGICA DE PROCESSAMENTO TELA 0011

* >> Início da inclusão:

process before output.

  module status_0011.

  call subscreen ss_ordvenda including syst-cprog '0009'.

process after input.

  module exit_command at exit-command.

  call subscreen ss_ordvenda.

  module user_command.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCA012I01

 

...

        l_display(1)    TYPE c,

        v_line          TYPE i,

        v_lifnr         TYPE /pws/zycet010-lifnr,

        v_dtvencto      TYPE /pws/zycet010-dtvencto,

        v_nrparcf       TYPE /pws/zycbt006-nrparcf,

        v_gsberf        TYPE /pws/zycbt006-gsberf,

        v_dtvencto_c(10) TYPE c.

  SET PARAMETER ID 'BUK' FIELD /pws/zycat030-bukrs.

  SET PARAMETER ID 'FWS' FIELD /pws/zycat030-waers.

  SET PARAMETER ID 'KUN' FIELD /pws/zycat030-bukrs_ext.

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

  if /pws/zycat030-tp_processo eq 'A'.

    set parameter id '/PWS/ZYCAP007' field 'P'.

    set parameter id '/PWS/ZYCAP008' field 'F'.

  elseif /pws/zycat030-tp_processo eq 'V'.

    set parameter id '/PWS/ZYCAP007' field 'R'.

    set parameter id '/PWS/ZYCAP008' field 'C'.

  endif.

* << Fim da inclusão

  CALL FUNCTION 'DYNP_GET_STEPL'

       IMPORTING

            povstepl = v_line.

  CASE sy-dynnr.

    WHEN '0101'.

      v_tabname     = 'WA_ZYCAT039R'.

      v_fieldname   = 'REMESSA'.

      v_searchhelp  = '/PWS/ZYCAA172'.

      v_shlpparam   = 'NRSEQ'.

    WHEN '0102'.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCA012TOP

 

...

  vlavinc  type /pws/zycbt017-vlavinc,

  vlcomis  type /pws/zycbt017-vlcomis,

  parvw    type /pws/zycbt017-parvw,

end of ty_zycbt017,

begin of ty_zycbt006,

  nrinvoic type /pws/zycbt006-nrinvoic,

  nrparcf  type /pws/zycbt006-nrparcf,

  gsberf   type /pws/zycbt006-gsberf,

  dtpagext type /pws/zycbt006-dtpagext,

  vlme     type /pws/zycbt006-vlme,

* >> Início da inclusão:

  dtpagto  type /pws/zycbt006-dtpagto,

* << Fim da inclusão

end of ty_zycbt006,

begin of ty_zycat038_alv,

  nrseq_arq      type /pws/zycat038-nrseq_arq,

  processo(40)   type c,

  usuario        type /pws/zycat038-usuario,

  data           type /pws/zycat038-data,

  hora           type /pws/zycat038-hora,

  prot_transm    type /pws/zycat038-prot_transm,

  status         type /pws/zycat038-status,

  status_t(25)   type c,

...

 

...

  bukrs type bsak-bukrs,

  augdt type bsak-augdt,

  augbl type bsak-augbl,

  gjahr type bsak-gjahr,

  belnr type bsak-belnr,

  waers type bsak-waers,

  wrbtr type bsak-wrbtr,

end of ty_total,

begin of ty_awkey,

  awkey type bkpf-awkey,

* >> Início da exclusão:

end of ty_awkey.

* << Fim da exclusão

* >> Início da inclusão:

end of ty_awkey,

begin of ty_bsad,

  vbeln type bsad-vbeln,

  augdt type bsad-augdt,

  augbl type bsad-augbl,

  waers type bsad-waers,

  gjahr type bsad-gjahr,

  wrbtr type bsad-wrbtr,

end of ty_bsad.

* << Fim da inclusão

tables: /pws/zycat030,

        /pws/zycat031,

        /pws/zycat037,

        /pws/zycat038,

        /pws/zycat039,

        bkpf.

data: itab_zycat039     type table of /pws/zycat039,

      itab_zycat039_ant type table of /pws/zycat039,

      itab_zycat039_c   type table of ty_zycat039t with header line,

      itab_zycat039_r   type table of ty_zycat039t with header line,

...

 

...

      wa_zycat039_ant  type /pws/zycat039,

      wa_zycat039c     type /pws/zycat039,

      wa_zycat039r     type /pws/zycat039,

      wa_zycat039f     type /pws/zycat039,

      wa_zycat039o     type /pws/zycat039,

      wa_zycat039fe    type /pws/zycat039,

      wa_cols          type cxtab_column,

      wa_tdynpread     type dynpread,

      wa_result        type ddshretval,

      wa_fcode         type ty_fcode,

* >> Início da exclusão:

      wa_zycat030      type /pws/zycat030.

* << Fim da exclusão

* >> Início da inclusão:

      wa_zycat030      type /pws/zycat030,

      wa_bsad          type ty_bsad,

      wa_zycat048      type /pws/zycat048,

      wa_zycbt031_aux  type /pws/zycbt031,

      wa_zycbt048_aux  type /pws/zycbt048,

      wa_zycbt134_aux  type /pws/zycbt134.

data: begin of itab_zycat048 occurs 0.

  include structure /pws/zycat048.

data: end of itab_zycat048.

* << Fim da inclusão

data: v_okcode     type sy-ucomm,

      v_exibe      type c,

      v_screen     type sy-dynnr,

      v_dynnr      type sy-dynnr,

      v_nbs        type /pws/zycat041-descricao,

      v_operacao   type /pws/zycat039-operacao,

      v_mark       type c,

      v_lines      type i,

      v_path       type rlgrap-filename,

      v_funcionalidade type /pws/zyglt390-programa

...

 

 

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

Modificações efetuadas em REPS /PWS/ZYCAGF1TOP

 

...

      itab_zycat043_del type table of /pws/zycat043.

data: itab_zycat044_ins type table of /pws/zycat044,

      itab_zycat044_upd type table of /pws/zycat044,

      itab_zycat044_del type table of /pws/zycat044,

      itab_zycat045_ins type table of /pws/zycat045,

      itab_zycat045_upd type table of /pws/zycat045,

      itab_zycat045_del type table of /pws/zycat045.

data: itab_zycat046_ins type table of /pws/zycat046,

      itab_zycat046_upd type table of /pws/zycat046,

      itab_zycat046_del type table of /pws/zycat046.

* >> Início da inclusão:

data: itab_zycat047_ins type table of /pws/zycat047,

      itab_zycat047_upd type table of /pws/zycat047,

      itab_zycat047_del type table of /pws/zycat047,

      itab_zycat048_ins type table of /pws/zycat048,

      itab_zycat048_upd type table of /pws/zycat048,

      itab_zycat048_del type table of /pws/zycat048,

      itab_zycat049_ins type table of /pws/zycat049,

      itab_zycat049_upd type table of /pws/zycat049,

      itab_zycat049_del type table of /pws/zycat049.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/LZYCAGF1F01

 

...

...

...

* >> Início da inclusão:

**** grava_log_zycat047_del

form grava_log_zycat047_del.

 

  types: begin of s_conteudo,

           zycat047  type /pws/zycat047,

           action(1) type c,

         end of s_conteudo.

 

  field-symbols: <fs_conteudo> type s_conteudo.

 

  loop at total.

 

    assign total to <fs_conteudo> casting.

 

    case <fs_conteudo>-action.

 

      when c_new.

 

        append <fs_conteudo>-zycat047 to itab_zycat047_ins.

 

      when c_update.

 

        append <fs_conteudo>-zycat047 to itab_zycat047_upd.

 

      when c_delete.

 

        append <fs_conteudo>-zycat047 to itab_zycat047_del.

 

    endcase.

 

  endloop.

 

  loop at itab_zycat047_del

    into /pws/zycat047.

 

    perform carrega_log using '/PWS/ZYCAT047'

                              c_delete

                              '/PWS/ZYCAT047'

                              '/PWS/ZYCAT047'

                              space.

 

  endloop.

 

  clear sy-subrc.

 

endform.

 

**** grava_log_zycat047_upd

form grava_log_zycat047_upd.

 

  loop at itab_zycat047_upd

    into /pws/zycat047.

 

    perform carrega_log using '/PWS/ZYCAT047'

                              c_update

                              '/PWS/ZYCAT047'

                              '/PWS/ZYCAT047'

                              space.

 

  endloop.

 

  loop at itab_zycat047_ins

    into /pws/zycat047.

 

    perform carrega_log using '/PWS/ZYCAT047'

                              c_insert

                              '/PWS/ZYCAT047'

                              '/PWS/ZYCAT047'

                              space.

 

  endloop.

 

endform.

 

**** grava_log_zycat048_del.

form grava_log_zycat048_del.

 

  types: begin of s_conteudo,

           zycat048  type /pws/zycat048,

           action(1) type c,

         end of s_conteudo.

 

  field-symbols: <fs_conteudo> type s_conteudo.

 

  loop at total.

 

    assign total to <fs_conteudo> casting.

 

    case <fs_conteudo>-action.

 

      when c_new.

 

        append <fs_conteudo>-zycat048 to itab_zycat048_ins.

 

      when c_update.

 

        append <fs_conteudo>-zycat048 to itab_zycat048_upd.

 

      when c_delete.

 

        append <fs_conteudo>-zycat048 to itab_zycat048_del.

 

    endcase.

 

  endloop.

 

  loop at itab_zycat048_del

    into /pws/zycat048.

 

    perform carrega_log using '/PWS/ZYCAT048'

                              c_delete

                              '/PWS/ZYCAT048'

                              '/PWS/ZYCAT048'

                              space.

 

  endloop.

 

  clear sy-subrc.

 

endform.

 

**** grava_log_zycat048_upd

form grava_log_zycat048_upd.

 

  loop at itab_zycat048_upd

    into /pws/zycat048.

 

    perform carrega_log using '/PWS/ZYCAT048'

                              c_update

                              '/PWS/ZYCAT048'

                              '/PWS/ZYCAT048'

                              space.

 

  endloop.

 

  loop at itab_zycat048_ins

    into /pws/zycat048.

 

    perform carrega_log using '/PWS/ZYCAT048'

                              c_insert

                              '/PWS/ZYCAT048'

                              '/PWS/ZYCAT048'

                              space.

 

  endloop.

 

endform.

 

**** grava_log_zycat049_del

form grava_log_zycat049_del.

 

  types: begin of s_conteudo,

           zycat049  type /pws/zycat049,

           action(1) type c,

         end of s_conteudo.

 

  field-symbols: <fs_conteudo> type s_conteudo.

 

  loop at total.

 

    assign total to <fs_conteudo> casting.

 

    case <fs_conteudo>-action.

 

      when c_new.

 

        append <fs_conteudo>-zycat049 to itab_zycat049_ins.

 

      when c_update.

 

        append <fs_conteudo>-zycat049 to itab_zycat049_upd.

 

      when c_delete.

 

        append <fs_conteudo>-zycat049 to itab_zycat049_del.

 

    endcase.

 

  endloop.

 

  loop at itab_zycat049_del

    into /pws/zycat049.

 

    perform carrega_log using '/PWS/ZYCAT049'

                              c_delete

                              '/PWS/ZYCAT049'

                              '/PWS/ZYCAT049'

                              space.

 

  endloop.

 

  clear sy-subrc.

 

endform.

 

**** grava_log_zycat049_upd

form grava_log_zycat049_upd.

 

  loop at itab_zycat049_upd

    into /pws/zycat049.

 

    perform carrega_log using '/PWS/ZYCAT049'

                              c_update

                              '/PWS/ZYCAT049'

                              '/PWS/ZYCAT049'

                              space.

 

  endloop.

 

  loop at itab_zycat049_ins

    into /pws/zycat049.

 

    perform carrega_log using '/PWS/ZYCAT049'

                              c_insert

                              '/PWS/ZYCAT049'

                              '/PWS/ZYCAT049'

                              space.

 

  endloop.

 

endform.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCA012F01

 

...

  data: v_bloq,

        v_tipo_pt(3) type c,

        v_dtcredpr   type /pws/zycbt031-dtcredpr,

        v_nrseqrem   type /pws/zycet033-nrseqrem,

        v_embarque   type /pws/zycet033-nrseq.

  data: itab_zycat041 type table of /pws/zycat041,

        wa_zycat041   type /pws/zycat041,

        v_objname     type tadir-obj_name.

  perform verifica_autorizacao_emp changing v_bloq.

  check v_bloq is initial.

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

  select * from /pws/zycat048

    into table itab_zycat048.

* << Fim da inclusão

  clear: wa_zycat039c,

         wa_zycat039r,

         wa_zycat039f,

         wa_zycat039o,

         wa_zycat039fe.

  select single * from /pws/zycat030

    where nrseq = /pws/zycat039-nrseq.

  select single *

    from /pws/zycat031

    into /pws/zycat031

...

 

...

    endif.

  endloop.

  itab_zycat039_ant[] = itab_zycat039[].

  clear v_okcode.

  v_screen = sy-dynnr.

  clear: v_okcode, v_dynnr.

  if not wa_zycat030-origem is initial

     and itab_zycat039[] is initial.

    if /pws/zycat030-tp_origem = 'FI' or

       /pws/zycat030-tp_origem = 'SI' or

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

       /pws/zycat030-tp_origem = 'EI'.

* << Fim da exclusão

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

       /pws/zycat030-tp_origem = 'EI' or

       /pws/zycat030-tp_origem = 'DI'.

* << Fim da inclusão

      wa_zycat039f-fat_imp = wa_zycat030-origem.

      perform atualiza_itab tables  itab_zycat039_f

                            using   wa_zycat039f

                                    tc_fatimp.

    elseif /pws/zycat030-tp_origem = 'FE' or

           /pws/zycat030-tp_origem = 'SE' or

           /pws/zycat030-tp_origem = 'EE'.

      wa_zycat039fe-fat_exp = wa_zycat030-origem.

      wa_zycat039fe-moeda   = /pws/zycat030-waers.

      wa_zycat039fe-valor   = /pws/zycat030-valor.

...

 

...

        wa_zycat039r-tpdesp      =  /pws/zycat031-tpdesp.

        wa_zycat039r-moeda       =  /pws/zycat031-waers.

        wa_zycat039r-valor       =  /pws/zycat031-valor.

        perform atualiza_itab tables  itab_zycat039_r

                              using   wa_zycat039r

                                      tc_remessa.

      endif.

    endif.

    perform calcula_saldo.

  endif.

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

  if /pws/zycat030-tp_origem = 'OV' and

     v_exibe is initial.

    perform busca_ordem_venda using /pws/zycat031-nrseq_origem.

    perform calcula_saldo.

  endif.

* << Fim da inclusão

  if /pws/zycat030-tp_origem = 'PC'.

    perform busca_doc_pedido using /pws/zycat030-origem

                                   /pws/zycat031-ebelp.

    perform calcula_saldo.

  endif.

  if not itab_zycat039_r[] is initial or

     ( itab_zycat039_r[] is initial and

       itab_zycat039_c[] is initial and

       itab_zycat039_f[] is initial and

       itab_zycat039_fe[] is initial and

...

 

...

    message i015 with text-i02 text-i03.

  endif.

endform.

form seleciona_dados_exibe.

  data: v_bloq.

  data: itab_zycat041 type table of /pws/zycat041,

        wa_zycat041   type /pws/zycat041,

        v_objname     type tadir-obj_name.

  perform verifica_autorizacao_emp changing v_bloq.

  check v_bloq is initial.

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

  select * from /pws/zycat048

    into table itab_zycat048.

* << Fim da inclusão

  select * from /pws/zycat039

    into table itab_zycat039

    where nrseq    = /pws/zycat039-nrseq

      and operacao = /pws/zycat039-operacao.

  if sy-subrc ne 0.

    clear v_okcode.

    message i015 with text-e01.

    exit.

  else.

    select single * from /pws/zycat030

...

 

...

      clear v_okcode.

    when 'TB_FEXP'.

      v_dynnr = '0107'.

      ts_assoc-activetab = v_okcode.

      clear v_okcode.

    when 'SAVE'.

      perform salva_associacao.

    when 'MODIF'.

      clear v_exibe.

      perform verifica_bloqueio.

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

      if v_exibe is initial and /pws/zycat030-tp_origem eq 'OV'.

        perform busca_ordem_venda using /pws/zycat031-nrseq_origem.

        perform calcula_saldo.

        clear v_okcode.

      endif.

* << Fim da inclusão

    when 'FILE_LOC'.

      clear v_path.

      call screen 0104 starting at 25 10.

    when 'LOG'.

      perform executa_log.

    when 'LOG_TRILHA'.

      perform log_trilha using sy-repid

                               /pws/zycat030-nrseq

                               ' '.

      clear v_okcode.

...

 

...

    from /pws/zycbt119

    into (p_bukrs, p_wa_zycat039-moeda, p_wa_zycat039-valor,

          p_wa_zycat039-num_nf, p_wa_zycat039-dt_pg_rec)

    where nrseq = v_nrseqpgfat.

  if sy-subrc ne 0 or p_wa_zycat039-dt_pg_rec is initial.

    message i061 with text-i13 p_wa_zycat039-fat_imp text-i09.

    clear p_pago.

    exit.

  endif.

  p_wa_zycat039-valor = /pws/zycat031-saldo.

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

  clear: v_nrboleto.

* << Fim da exclusão

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

  clear: v_nrboleto,

         wa_zycbt031_aux,

         wa_zycbt048_aux,

         wa_zycbt134_aux.

* << Fim da inclusão

  select single nrboleto

    from /pws/zycbt064

    into v_nrboleto

   where mdcorresp = 'IP'

     and nrchave   = v_nrseqpgfat.

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

  select single nrseq

* << Fim da exclusão

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

  select single *

* << Fim da inclusão

    from /pws/zycbt031

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

    into v_nrseq

* << Fim da exclusão

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

    into wa_zycbt031_aux

* << Fim da inclusão

   where mdcorresp = 'IP'

     and nrseq     = v_nrboleto.

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

  select single bco_ccme

* << Fim da exclusão

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

  select single *

    from /pws/zycbt048

    into wa_zycbt048_aux

   where nrseq     = wa_zycbt031_aux-nrseq

     and mdcorresp = wa_zycbt031_aux-mdcorresp

     and nrcorresp = wa_zycbt031_aux-nrcorresp.

  select single *

* << Fim da inclusão

    from /pws/zycbt134

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

    into v_bcoccme

* << Fim da exclusão

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

    into wa_zycbt134_aux

* << Fim da inclusão

   where mdcorresp = 'IP'

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

     and nrseq     = v_nrseq.

* << Fim da exclusão

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

     and nrseq     = wa_zycbt031_aux-nrseq.

  v_bcoccme = wa_zycbt134_aux-bco_ccme.

* << Fim da inclusão

  if sy-subrc ne 0.

    message i061 with text-i13 v_nrseqpgfat text-i09.

    clear p_pago.

  else.

    p_wa_zycat039-vme = p_wa_zycat039-valor.

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

    perform busca_parametros_campos using 'FI'

                                 changing p_wa_zycat039-dt_pg_rec.

* << Fim da inclusão

  endif.

...

 

...

form valida_exportacao changing p_wa_zycat039 structure /pws/zycat039

                              p_pago

                              p_bukext

                              p_bukrs.

  data: itab_zycbt017 type standard table of ty_zycbt017,

        wa_zycbt017   type ty_zycbt017,

        itab_zycbt006 type standard table of ty_zycbt006,

        wa_zycbt006   type ty_zycbt006,

        v_vlavinc     type /pws/zycbt017-vlavinc,

        v_vlpago      type /pws/zycbt006-vlme.

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

  check /pws/zycat030-tp_origem ne 'PT'.

* << Fim da inclusão

  select nrinvoic nrparcf gsberf bukrs

      kunag waers vlavinc vlcomis parvw

    from /pws/zycbt017

    into table itab_zycbt017

    where nrinvoic  =  p_wa_zycat039-fat_exp.

  if sy-subrc ne 0.

    message i015 with text-i13 text-i09.

    clear p_pago.

    exit.

  endif.

  select nrinvoic nrparcf gsberf dtpagext vlme

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

    dtpagto

* << Fim da inclusão

    from /pws/zycbt006

    into table itab_zycbt006

    for all entries in itab_zycbt017

    where nrinvoic = itab_zycbt017-nrinvoic

      and nrparcf  = itab_zycbt017-nrparcf

      and gsberf   = itab_zycbt017-gsberf.

  select nrinvoic nrparcf gsberf dtcredext vlr_exterior

    from /pws/zycbt226

    appending table itab_zycbt006

    for all entries in itab_zycbt017

...

 

...

      from /pws/zycet002

      into p_wa_zycat039-num_nf

      where nrseq = p_wa_zycat039-fat_exp.

    endselect.

    if p_wa_zycat039-num_nf is initial or

       p_wa_zycat039-num_nf = '000000000'.

      clear p_wa_zycat039-num_nf.

    endif.

  endif.

  if p_wa_zycat039-dt_pg_rec is initial.

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

    read table itab_zycat048 into wa_zycat048

                                     with key processo = 'FE'

                                              campo    = 'DT_PG_REC'.

    if sy-subrc eq 0.

      if wa_zycat048-valor = 'DTPAGEXT'.

* << Fim da inclusão

    sort itab_zycbt006 by dtpagext descending.

    read table itab_zycbt006 into wa_zycbt006 index 1.

    p_wa_zycat039-dt_pg_rec =  wa_zycbt006-dtpagext.

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

      elseif wa_zycat048-valor = 'DTPAGTO'.

        sort itab_zycbt006 by dtpagto descending.

        read table itab_zycbt006 into wa_zycbt006 index 1.

        p_wa_zycat039-dt_pg_rec =  wa_zycbt006-dtpagto.

      endif.

    endif.

* << Fim da inclusão

  endif.

  if p_wa_zycat039-dt_pg_rec is initial.

    message i061 with text-i13 p_wa_zycat039-fat_exp text-i09.

    clear p_pago.

  endif.

endform.

form user_command_0107.

  case v_okcode.

    when 'MALL'.

      loop at itab_zycat039_fe.

...

 

...

          where nrseqce   = p_nrseqce

            and tpfatura  = '01'

            and eliminado = ' '.

        if sy-subrc ne 0.

          message i015 with text-i14.

          clear p_pago.

          exit.

        endif.

      endif.

    endif.

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

  elseif /pws/zycat030-tp_origem = 'DI'.

    select single tpfatura lifnr nrseq_pgfat

      from /pws/zycit006

      into (p_tpfatura, p_bukext, p_nrseqpgfat)

      where nrseq     = /pws/zycat031-despach

        and nrseqce   = p_nrseqce

        and tpfatura  = '04'

        and eliminado = ' '.

    if sy-subrc ne 0.

      message i015 with text-i14.

      clear p_pago.

      exit.

* << Fim da inclusão

  endif.

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

  endif.

* << Fim da inclusão

endform.

form busca_saldo_bseg.

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

  check /pws/zycat030-tp_origem ne 'OV'.

* << Fim da inclusão

  data: itab_bseg type table of bseg,

...

 

...

                                  p_dtcredpr

                                  p_nrseqrem

                                  p_embarque.

  data: wa_zycat031 type /pws/zycat031,

        wa_zycet043 type /pws/zycet043,

        v_nrpres    type /pws/zycet033-nrpres.

  clear: p_tipo_pt,

         p_dtcredpr,

         p_nrseqrem,

         p_embarque,

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

         v_nrboleto.

* << Fim da exclusão

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

         v_nrboleto,

         wa_zycbt031_aux,

         wa_zycbt048_aux,

         wa_zycbt134_aux.

* << Fim da inclusão

  select *

    from /pws/zycat031

    into wa_zycat031

   where nrseq    = p_nrseq

     and operacao = p_operacao.

  select single *

    from /pws/zycet043

    into wa_zycet043

   where codmod   = 'X'

     and nrpres   =  wa_zycat031-nrseq_origem

     and tpdesp   =  wa_zycat031-tpdesp.

  endselect.

  p_embarque = wa_zycet043-nrseq.

  if wa_zycet043-remfinanc is initial.

    p_tipo_pt = 'EXP'.

    select single nrboleto

      from /pws/zycbt064

      into v_nrboleto

     where mdcorresp = 'EP'

       and nrchave   = wa_zycat031-nrseq_origem.

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

    select single dtcredpr

* << Fim da exclusão

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

    select single *

* << Fim da inclusão

      from /pws/zycbt031

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

      into p_dtcredpr

* << Fim da exclusão

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

      into wa_zycbt031_aux

* << Fim da inclusão

     where mdcorresp = 'EP'

       and nrseq     = v_nrboleto.

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

    select single nrseq

* << Fim da exclusão

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

    select single *

      from /pws/zycbt048

      into wa_zycbt048_aux

     where nrseq     = wa_zycbt031_aux-nrseq

       and mdcorresp = wa_zycbt031_aux-mdcorresp

       and nrcorresp = wa_zycbt031_aux-nrcorresp.

    select single *

* << Fim da inclusão

      from /pws/zycbt134

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

      into v_nrboleto

* << Fim da exclusão

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

      into wa_zycbt134_aux

* << Fim da inclusão

     where mdcorresp = 'EP'

       and nrseq     = v_nrboleto.

    if sy-subrc ne 0.

      clear: p_tipo_pt.

      message i061 with text-i12 text-i11.

      exit.

    endif.

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

    perform busca_parametros_campos using 'PT'

                                 changing p_dtcredpr.

* << Fim da inclusão

    select single *

      from /pws/zycat039

      into wa_zycat039

      where nrseq    ne  /pws/zycat039-nrseq

        and fat_exp   =  p_embarque

        and nrpres    =  wa_zycat031-nrseq_origem

        and despach   =  wa_zycat031-despach

        and tpdesp    =  wa_zycat031-tpdesp

        and moeda     =  wa_zycat031-waers.

  else.

...

 

...

    message i015 with text-e09 text-i11.

    clear p_pago.

    exit.

  endif.

  select single bukrs nfnum waers

    from /pws/zycet002

    into (p_bukrs,

          p_wa_zycat039-num_nf,

          p_wa_zycat039-moeda)

    where nrseq = p_wa_zycat039-fat_comis.

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

  clear: v_nrboleto.

* << Fim da exclusão

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

  clear: v_nrboleto,

         wa_zycbt031_aux,

         wa_zycbt048_aux,

         wa_zycbt134_aux.

* << Fim da inclusão

  select single nrboleto

    from /pws/zycbt064

    into v_nrboleto

   where mdcorresp = 'EL'

     and nrchave   = p_wa_zycat039-fat_comis

     and moeda     = /pws/zycat030-waers

     and lifnr     = p_wa_zycat039-lifnr.

  select single *

    from /pws/zycbt031

    into wa_zycbt031

   where bukrs     = /pws/zycat030-bukrs

     and mdcorresp = 'EL'

     and nrseq     = v_nrboleto

     and waers     = /pws/zycat030-waers

     and lifnr     = p_wa_zycat039-lifnr.

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

  select single bco_ccme

* << Fim da exclusão

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

  move-corresponding wa_zycbt031 to wa_zycbt031_aux.

  select single *

    from /pws/zycbt048

    into wa_zycbt048_aux

   where nrseq     = wa_zycbt031_aux-nrseq

     and mdcorresp = wa_zycbt031_aux-mdcorresp

     and nrcorresp = wa_zycbt031_aux-nrcorresp.

  select single *

* << Fim da inclusão

    from /pws/zycbt134

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

    into v_bcoccme

* << Fim da exclusão

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

    into wa_zycbt134_aux

* << Fim da inclusão

   where mdcorresp = 'EL'

     and nrseq     = v_nrboleto.

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

  v_bcoccme = wa_zycbt134_aux-bco_ccme.

* << Fim da inclusão

  if sy-subrc ne 0.

    message i061 with text-i13 p_wa_zycat039-fat_comis

                      text-i09.

    clear p_pago.

  else.

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

    p_wa_zycat039-dt_pg_rec = wa_zycbt031-dtcredpr.

* << Fim da exclusão

    p_bukext                = wa_zycbt031-lifnr.

    if sy-subrc eq 0.

      p_wa_zycat039-vme = p_wa_zycat039-valor.

    endif.

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

    perform busca_parametros_campos using 'CA'

                                 changing p_wa_zycat039-dt_pg_rec.

* << Fim da inclusão

  endif.

endform.

form valida_remessa_2 changing p_wa_zycat039 structure /pws/zycat039

                               p_pago

                               p_bukext

                               p_bukrs.

  data: v_nrseq    type /pws/zycbt031-nrseq,

        v_vlme     type /pws/zycbt134-vlme,

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

        v_bcoccme  type /pws/zycbt134-bco_ccme.

* << Fim da exclusão

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

        v_bcoccme  type /pws/zycbt134-bco_ccme,

        v_tpoper   type /pws/zycbt124-tpoper.

* << Fim da inclusão

  select single * from /pws/zycat039

    into wa_zycat039

    where nrseq   ne /pws/zycat039-nrseq

      and remessa = p_wa_zycat039-remessa               "#EC CI_NOFIRST

      and despach = p_wa_zycat039-despach

      and tpdesp  = p_wa_zycat039-tpdesp

      and nrpres  = p_wa_zycat039-nrpres.

  if sy-subrc eq 0.

    message i015 with text-e07 text-i11.

    clear p_pago.

    exit.

  endif.

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

  select single bukrs recrem nrfat

* << Fim da exclusão

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

  select single bukrs recrem nrfat tpoper

* << Fim da inclusão

    from /pws/zycbt124

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

    into (p_bukrs, p_bukext, p_wa_zycat039-num_nf)

* << Fim da exclusão

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

    into (p_bukrs, p_bukext, p_wa_zycat039-num_nf, v_tpoper)

* << Fim da inclusão

   where nrseq = p_wa_zycat039-remessa.

  if sy-subrc ne 0.

    message i061 with text-i08 p_wa_zycat039-remessa

      text-i09.

    clear p_pago.

    exit.

  endif.

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

  clear: v_nrboleto.

* << Fim da exclusão

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

  clear: v_nrboleto,

         wa_zycbt031_aux,

         wa_zycbt048_aux,

         wa_zycbt134_aux.

* << Fim da inclusão

  select single nrboleto

    from /pws/zycbt064

    into v_nrboleto

   where mdcorresp = 'CP'

     and nrchave   = p_wa_zycat039-remessa.

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

  select single nrseq dtcredpr

* << Fim da exclusão

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

  select single *

* << Fim da inclusão

    from /pws/zycbt031

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

    into (v_nrseq, p_wa_zycat039-dt_pg_rec)

* << Fim da exclusão

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

    into wa_zycbt031_aux

* << Fim da inclusão

    where mdcorresp = 'CP'

      and nrseq     = v_nrboleto.

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

  if sy-subrc eq 0.

* << Fim da inclusão

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

  select single bco_ccme vlme

* << Fim da exclusão

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

    select single *

      from /pws/zycbt048

      into wa_zycbt048_aux

     where nrseq     = wa_zycbt031_aux-nrseq

       and mdcorresp = wa_zycbt031_aux-mdcorresp

       and nrcorresp = wa_zycbt031_aux-nrcorresp.

    if v_tpoper eq 'P'.

      select single *

* << Fim da inclusão

    from /pws/zycbt134

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

    into (v_bcoccme, v_vlme)

   where nrseq  = v_nrseq

* << Fim da exclusão

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

        into wa_zycbt134_aux

       where nrseq  = wa_zycbt031_aux-nrseq

* << Fim da inclusão

     and tpproc = 'PRINCIPAL'.

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

      v_bcoccme = wa_zycbt134_aux-bco_ccme.

      v_vlme    = wa_zycbt134_aux-vlme.

    else.

      v_vlme    = wa_zycbt031_aux-vlme.

    endif.

  endif.

* << Fim da inclusão

  if sy-subrc eq 0.

    if /pws/zycat030-tp_origem is initial.

      p_wa_zycat039-vme   = v_vlme.

      p_wa_zycat039-valor = v_vlme.

    else.

      p_wa_zycat039-vme = p_wa_zycat039-valor.

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

    endif.

    if v_tpoper = 'P'.

      perform busca_parametros_campos using 'RP'

                                   changing p_wa_zycat039-dt_pg_rec.

    elseif v_tpoper = 'R'.

      perform busca_parametros_campos using 'RR'

                                   changing p_wa_zycat039-dt_pg_rec.

* << Fim da inclusão

    endif.

  else.

    message i061 with text-i12 text-i11.

    clear p_pago.

  endif.

endform.

* >> Início da inclusão:

form busca_parametros_campos

             using p_process               type /pws/zycat048-processo

          changing p_wa_zycat039-dt_pg_rec type /pws/zycat039-dt_pg_rec.

  clear: p_wa_zycat039-dt_pg_rec.

  loop at itab_zycat048 into wa_zycat048 where processo = p_process.

    case wa_zycat048-campo.

      when 'DT_PG_REC'.

        if p_process = 'CA' or

           p_process = 'FI' or

           p_process = 'RP' or

           p_process = 'PT' .

          case wa_zycat048-valor.

            when 'DTCREDPR'.

              p_wa_zycat039-dt_pg_rec = wa_zycbt031_aux-dtcredpr.

            when 'DTLIQUIDA'.

              p_wa_zycat039-dt_pg_rec = wa_zycbt048_aux-dtliquida.

            when 'DTLANC'.

              p_wa_zycat039-dt_pg_rec = wa_zycbt134_aux-dtlanc.

          endcase.

        elseif p_process = 'RR'.

          case wa_zycat048-valor.

            when 'DTCREDPR'.

              p_wa_zycat039-dt_pg_rec = wa_zycbt031_aux-dtcredpr.

            when 'DTLIQUIDA'.

              p_wa_zycat039-dt_pg_rec = wa_zycbt048_aux-dtswift.

          endcase.

        elseif p_process = 'OV'.

          case wa_zycat048-valor.

            when 'AUGDT'.

              p_wa_zycat039-dt_pg_rec = wa_bsad-augdt.

          endcase.

        endif.

    endcase.

  endloop.

endform.

form  busca_ordem_venda using p_fatura.

  data: v_vbeln   type  vbrp-vbeln,

        v_augdt   type  bsad-augdt,

        itab_bsad type  table of ty_bsad.

  select single vbeln

    from vbrp

    into v_vbeln

   where aubel = p_fatura.

   if sy-subrc eq 0.

     select vbeln augdt augbl waers gjahr sum( wrbtr )

       from bsad

       into table itab_bsad

      where vbeln = v_vbeln

     group by vbeln augdt augbl waers gjahr.

   endif.

   clear: wa_zycat039o.

   if itab_bsad[] is initial.

     message i061 with text-i13 text-i09.

     exit.

   endif.

   loop at itab_bsad into wa_bsad.

     read table itab_zycat039_o

              into wa_zycat039o with key fatura = wa_bsad-augbl

                                         gjahr  = wa_bsad-gjahr.

     if sy-subrc ne 0.

       clear wa_zycat039o.

       move: wa_bsad-augbl to wa_zycat039o-fatura,

             wa_bsad-augdt to wa_zycat039o-dt_pg_rec,

             wa_bsad-waers to wa_zycat039o-moeda,

             wa_bsad-wrbtr to wa_zycat039o-valor.

       perform busca_parametros_campos using 'OV'

                                    changing wa_zycat039o-dt_pg_rec.

       append wa_zycat039o to itab_zycat039_o.

     endif.

   endloop.

endform.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCA011TOP

 

...

        /pws/zycat037,

        /pws/zycat038,

        /pws/zycat039,

        /pws/zycat044,

        /pws/zycit001,

        /pws/zycet001,

        ekpo,

        /pws/zycet010,

        /pws/zycet033,

        /pws/zycet043,

* >> Início da exclusão:

        t001w.

* << Fim da exclusão

* >> Início da inclusão:

        t001w,

        ekko,

        vbak,

        /pws/zycit006.

* << Fim da inclusão

types:

  begin of ty_zycat031t.

        include structure /pws/zycat031.

types: mark,

       msg,

end of ty_zycat031t,

begin of ty_zycat032t.

        include structure /pws/zycat032.

types: mark,

end of ty_zycat032t,

...

 

...

  nrseqce type /pws/zycit094-nrseqce,

  nrseq   type /pws/zycit094-nrseq,

end of ty_zycit094,

begin of ty_zycit093,

  nrseqce type /pws/zycit093-nrseqce,

  dtemiss type /pws/zycit093-dtemiss,

  dtcheg  type /pws/zycit093-dtcheg,

  vlfre   type /pws/zycit093-vlfre,

end of ty_zycit093,

begin of ty_zycit006,

* >> Início da exclusão:

  nrseq    type /pws/zycit006-nrseq,

  tpfatura type /pws/zycit006-tpfatura,

  vlmerc   type /pws/zycit006-vlmerc,

  vlfre    type /pws/zycit006-vlfre,

  vlseg    type /pws/zycit006-vlseg,

  vltotal  type /pws/zycit006-vltotal,

  lifnr    type /pws/zycit006-lifnr,

  nrseqce  type /pws/zycit006-nrseqce,

* << Fim da exclusão

* >> Início da inclusão:

  nrseq        type /pws/zycit006-nrseq,

  tpfatura     type /pws/zycit006-tpfatura,

  vlmerc       type /pws/zycit006-vlmerc,

  vlfre        type /pws/zycit006-vlfre,

  vlseg        type /pws/zycit006-vlseg,

  vltotal      type /pws/zycit006-vltotal,

  lifnr        type /pws/zycit006-lifnr,

  nrseqce      type /pws/zycit006-nrseqce,

  nrseq_pgfat  type /pws/zycit006-nrseq_pgfat,

  dtincl       type /pws/zycit006-dtincl,

  waers        type /pws/zycit006-waers,

* << Fim da inclusão

end of ty_zycit006,

begin of ty_zycit001,

  nrseq      type /pws/zycit001-nrseq,

  bukrs      type /pws/zycit001-bukrs,

  waers      type /pws/zycit001-waers,

  j_1bbranch type /pws/zycit001-j_1bbranch,

  modalidade type /pws/zycit001-modalidade,

* >> Início da inclusão:

  dtinicio   type /pws/zycit001-dtinicio,

* << Fim da inclusão

end of ty_zycit001,

begin of ty_zycit003,

  nrseq      type /pws/zycit003-nrseq,

  ebeln      type /pws/zycit003-ebeln,

  matnr      type /pws/zycit003-matnr,

end of ty_zycit003,

begin of ty_zycit263,

  nrseq       type /pws/zycit263-nrseq,

  ebeln       type /pws/zycit263-ebeln,

  nrseq_pgfat type /pws/zycit263-nrseq_pgfat,

end of ty_zycit263,

begin of ty_zycit085,

  nrseqdi    type /pws/zycit085-nrseqdi,

  nrdi       type /pws/zycit085-nrdi,

  nrbl       type /pws/zycit085-nrbl,

  vlseg      type /pws/zycit085-vlseg,

* >> Início da inclusão:

  dtatrac    type /pws/zycit085-dtatrac,

  dtdesemb   type /pws/zycit085-dtdesemb,

* << Fim da inclusão

end of ty_zycit085,

begin of ty_zycet001,

  nrseq      type /pws/zycet001-nrseq,

  bukrs      type /pws/zycet001-bukrs,

  dtemb      type /pws/zycet001-dtemb,

  codportd   type /pws/zycet001-codportd,

  tipo_emb   type /pws/zycet001-tipo_emb,

* >> Início da inclusão:

  dtaverb    type /pws/zycet001-dtaverb,

* << Fim da inclusão

end of ty_zycet001,

begin of ty_zycet002,

  nrseq      type /pws/zycet002-nrseq,

  fkdat      type /pws/zycet002-fkdat,

  matnr      type /pws/zycet002-matnr,

end of ty_zycet002,

begin of ty_zycet003,

  nrseq      type /pws/zycet003-nrseq,

  nrseqre    type /pws/zycet003-nrseqre,

* >> Início da inclusão:

  dtaverb    type /pws/zycet003-dtaverb,

* << Fim da inclusão

end of ty_zycet003,

begin of ty_zycet008,

  nrseq      type /pws/zycet008-nrseq,

  vlme_f     type /pws/zycet008-vlme_f,

  waers      type /pws/zycet008-waers,

end of ty_zycet008,

begin of ty_zycet008_aux,

  nrseq      type /pws/zycet008-nrseq,

  codigo     type /pws/zycet008-codigo,

  vlme_f     type /pws/zycet008-vlme_f,

...

 

...

  nrseqre    type /pws/zycet116-nrseqre,

  nrre       type /pws/zycet116-nrre,

  j_1bbranch type /pws/zycet116-j_1bbranch,

end of ty_zycet116,

begin of ty_ekko,

  ebeln type ekko-ebeln,

  bukrs type ekko-ebeln,

  lifnr type ekko-lifnr,

  waers type ekko-waers,

  kdate type ekko-kdate,

* >> Início da inclusão:

  bedat type ekko-bedat,

* << Fim da inclusão

end of ty_ekko,

begin of ty_ekpo,

  ebeln type ekpo-ebeln,

  ebelp type ekpo-ebelp,

  matnr type ekpo-matnr,

  werks type ekpo-werks,

  netwr type ekpo-netwr,

end of ty_ekpo,

begin of ty_eket,

  ebeln type eket-ebeln,

  ebelp type eket-ebelp,

  etenr type eket-etenr,

  eindt type eket-eindt,

end of ty_eket,

begin of ty_t001w,

  werks type t001w-werks,

  j_1bbranch type t001w-j_1bbranch,

* >> Início da exclusão:

end of ty_t001w.

* << Fim da exclusão

* >> Início da inclusão:

end of ty_t001w,

begin of ty_vbak,

  vbeln    type vbak-vbeln,

  auart    type vbak-auart,

  kunnr    type vbak-kunnr,

  waerk    type vbak-waerk,

  bukrs_vf type vbak-bukrs_vf,

  knumv    type vbak-knumv,

  audat    type vbak-audat,

  erdat    type vbak-erdat,

end of ty_vbak,

begin of ty_vbap,

  vbeln      type vbap-vbeln,

  posnr      type vbap-posnr,

  matnr      type vbap-matnr,

  werks      type vbap-werks,

  j_1bbranch type t001w-j_1bbranch,

end of ty_vbap.

* << Fim da inclusão

data: itab_zycat031      type table of /pws/zycat031,

      itab_zycat031t     type table of ty_zycat031t with header line,

      itab_zycat031_ant  type table of /pws/zycat031,

      itab_zycat032t     type table of ty_zycat032t with header line,

      itab_zycat032      type table of /pws/zycat032,

      itab_zycat032_ant  type table of /pws/zycat032,

      itab_zycat033      type table of /pws/zycat033,

      itab_zycat033t     type table of ty_zycat033t with header line,

      itab_zycat033_ant  type table of /pws/zycat033,

      itab_zycat041      type table of /pws/zycat041,

...

 

...

      v_freteimp   type c,

      v_segimp     type c,

      v_embimp     type c,

      v_freteexp   type c,

      v_segexp     type c,

      v_embexp     type c,

      v_pedcomp    type c,

      v_comagente       type c,

      v_prestconta      type c,

      v_stceg           type lfa1-stceg,

* >> Início da exclusão:

      v_tipo_origem(60) type c.

* << Fim da exclusão

* >> Início da inclusão:

      v_tipo_origem(60) type c,

      v_despimp         type c,

      v_ordvenda        type c,

      v_stcd1           type kna1-stcd1,

      v_stcd2           type kna1-stcd2,

      v_stcd3           type kna1-stcd3,

      v_stcd4           type kna1-stcd4,

      v_stenr           type lfa1-stenr,

      v_proces          type /pws/zycat048-processo.

data: begin of itab_zycat048 occurs 0.

  include structure /pws/zycat048.

data: end of itab_zycat048.

data: wa_zycat048       type /pws/zycat048,

      wa_zycet001_aux   type ty_zycet001,

      wa_zycet003_aux   type /pws/zycet003,

      wa_zycet033_aux   type /pws/zycet033,

      wa_zycet046_aux   type /pws/zycet046,

      wa_zycet047_aux   type /pws/zycet047,

      wa_zycit001_aux   type ty_zycit001,

      wa_zycit006_aux   type ty_zycit006,

      wa_zycit085_aux   type ty_zycit085,

      wa_zycit093_aux   type ty_zycit093,

      wa_ekko_aux       type ty_ekko,

      wa_eket_aux       type ty_eket,

      wa_vbak           type ty_vbak,

      wa_vbap           type ty_vbap.

* << Fim da inclusão

controls: ts_contrato   type tabstrip,

          tc_oper       type tableview using screen '0101',

          tc_enq        type tableview using screen '0102',

          tc_re         type tableview using screen '0103'.

data editor        type ref to cl_gui_textedit.

data editcontainer type ref to cl_gui_custom_container.

data: gos type ref to /pws/zygl_cl_gos.

selection-screen begin of screen 0004 as subscreen.

* >> Início da exclusão:

select-options  r_embimp for /pws/zycit001-nrseq.

* << Fim da exclusão

* >> Início da inclusão:

select-options:

       r_filimp for t001w-j_1bbranch      no intervals no-extension,

       r_embimp for /pws/zycit001-nrseq,

       r_forimp for /pws/zycit006-lifnr   no intervals no-extension,

       r_moeimp for /pws/zycit006-waers   no intervals no-extension.

* << Fim da inclusão

selection-screen skip 1.

selection-screen end of screen 0004.

selection-screen begin of screen 0005 as subscreen.

select-options:

       r_filial for t001w-j_1bbranch      no intervals no-extension,

       r_embexp for /pws/zycet001-nrseq,

       r_fornec for /pws/zycet043-despach no intervals no-extension,

       r_moeda  for /pws/zycet010-waers   no intervals no-extension.

selection-screen end of screen 0005.

selection-screen begin of screen 0006 as subscreen.

select-options:

* >> Início da exclusão:

  r_pcompr for ekpo-ebeln no intervals no-extension,

  r_item   for ekpo-ebelp.

* << Fim da exclusão

* >> Início da inclusão:

  r_centro for ekpo-werks no intervals no-extension,

  r_pcompr for ekpo-ebeln,

  r_item   for ekpo-ebelp,

  r_fornpc for ekko-lifnr no intervals no-extension,

  r_pmoeda for ekko-waers no intervals no-extension.

* << Fim da inclusão

selection-screen end of screen 0006.

* >> Início da inclusão:

selection-screen begin of screen 0009 as subscreen.

select-options:

  r_vlocal for t001w-j_1bbranch      no intervals no-extension,

  r_ordem  for vbak-vbeln,

  r_client for vbak-kunnr            no intervals no-extension,

  r_vmoeda for vbak-waerk            no intervals no-extension.

selection-screen end of screen 0009.

* << Fim da inclusão

at selection-screen output.

  case sy-dynnr.

* >> Início da exclusão:

    when '0004' or '0005' or '0006'.

      perform set_screen_origem_2.

* << Fim da exclusão

* >> Início da inclusão:

    when '0004' or '0005' or '0006' or '0009'.

      perform set_screen_origem_3.

* << Fim da inclusão

  endcase.

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

* >> Início da exclusão:

  perform match_code_pedcompra.

* << Fim da exclusão

* >> Início da inclusão:

  perform match_code_pedcompra_2 using 'L'.

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

  perform match_code_pedcompra_2 using 'H'.

* << Fim da inclusão

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

  perform match_code_item_low.

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

  perform match_code_item_high.

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

  perform match_code_importacao using 'L'.

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

  perform match_code_importacao using 'H'.

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

  perform match_code_exportacao using 'L'.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCA011O01

 

...

        endif.

        modify tc_oper-cols from wa_cols.

      endif.

    endloop.

  else.

    loop at screen.

      screen-input = '1'.

      if screen-name = 'B_INCLUI'.

        if ( sy-tcode        eq '/PWS/ZYCA011_C' and

             wa_zycat030_ant is initial )        or

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

           ( v_sorigem       eq 'X'   or

             v_pedcomp       eq 'X' ).

* << Fim da exclusão

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

             v_sorigem       eq 'X'.

* << Fim da inclusão

          screen-invisible = '1'.

        endif.

      endif.

      modify screen.

    endloop.

    loop at tc_oper-cols into wa_cols.

      if wa_cols-screen-name ne '/PWS/ZYCAT031-SALDO'  and

         wa_cols-screen-name ne '/PWS/ZYCAT031-WAERS'  and

         wa_cols-screen-name ne '/PWS/ZYCAT031-STATUS' and

         wa_cols-screen-name ne '/PWS/ZYCAT031-EBELP'.

...

 

...

  set titlebar '0003'.

endmodule.

module status_0007 output.

  set pf-status '0007'.

  set titlebar '0007'.

endmodule.

module status_0008 output.

  set pf-status '0008'.

  set titlebar '0008'.

endmodule.

* >> Início da inclusão:

module busca_parametros output.

  select *

    from /pws/zycat048

    into table itab_zycat048.

endmodule.

module status_0010 output.

  set pf-status '0010'.

  set titlebar '0010'.

endmodule.

module status_0011 output.

  set pf-status '0011'.

  set titlebar '0011'.

endmodule.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCA011I01

 

...

    when '0001'.

      perform user_command_0001.

    when '0002'.

      perform user_command_0002.

    when '0003'.

      perform user_command_0003.

    when '0007'.

      perform user_command_0007.

    when '0008'.

      perform user_command_0008.

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

    when '0010'.

      perform user_command_0010.

    when '0011'.

      perform user_command_0011.

* << Fim da inclusão

    when '0100'.

      perform user_command_0100.

    when '0101'.

      perform user_command_0101.

    when '0102'.

      perform user_command_0102.

    when '0103'.

      perform user_command_0103.

  endcase.

endmodule.

module exit_command input.

  case sy-dynnr.

    when '0001'.

      leave program.

    when '0002'.

      clear v_path.

      set screen 0.

      leave screen.

    when '0003'.

      leave program.

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

    when '0007' or '0008'.

* << Fim da exclusão

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

    when '0007' or '0008' or '0010' or '0011'.

* << Fim da inclusão

      set screen 0.

      leave screen.

    when '0100'.

      leave program.

    when '0102'.

      clear: v_nrseq_enq, v_oper_enq, /pws/zycat032.

      free: itab_zycat032t.

      set screen 0.

      leave screen.

  endcase.

endmodule.

module emp_ext input.

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

  clear: v_land1, v_stras, v_mcod3, v_name1,

    /pws/zycat030-cod_pais.

* << Fim da exclusão

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

  clear: v_land1,  v_name1,  v_stras,  v_mcod3,

         v_stceg,  v_stcd1,  v_stcd2,  v_stcd3,

         v_stcd4,  v_stenr,

         /pws/zycat030-cod_pais,

         /pws/zycat030-nif,

         wa_zycat048.

* << Fim da inclusão

  case /pws/zycat030-tp_processo.

    when 'A'.

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

      select single land1 name1 stras mcod3

* << Fim da exclusão

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

      v_proces = 'RAS'.

      select single land1 name1 stras mcod3 stceg

                    stcd1 stcd2 stenr

* << Fim da inclusão

        from lfa1

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

        into (v_land1, v_name1, v_stras, v_mcod3)

* << Fim da exclusão

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

        into (v_land1, v_name1, v_stras, v_mcod3, v_stceg,

              v_stcd1, v_stcd2, v_stenr)

* << Fim da inclusão

        where lifnr = /pws/zycat030-bukrs_ext.

    when 'V'.

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

      select single land1 name1 stras mcod3

* << Fim da exclusão

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

      v_proces = 'RVS'.

      select single land1 name1 stras mcod3 stceg

                    stcd1 stcd2 stcd3 stcd4

* << Fim da inclusão

        from kna1

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

        into (v_land1, v_name1, v_stras, v_mcod3)

* << Fim da exclusão

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

        into (v_land1, v_name1, v_stras, v_mcod3, v_stceg,

              v_stcd1, v_stcd2, v_stcd3, v_stcd4)

* << Fim da inclusão

        where kunnr = /pws/zycat030-bukrs_ext.

  endcase.

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

  if sy-subrc eq 0.

    read table itab_zycat048

                      into wa_zycat048 with key processo = v_proces

                                                   campo = 'NIF'.

    if sy-subrc eq 0.

      case wa_zycat048-valor.

        when 'STCEG'.

          /pws/zycat030-nif = v_stceg.

        when 'STCD1'.

          /pws/zycat030-nif = v_stcd1.

        when 'STCD2'.

          /pws/zycat030-nif = v_stcd2.

        when 'STCD3'.

          /pws/zycat030-nif = v_stcd3.

        when 'STCD4'.

          /pws/zycat030-nif = v_stcd4.

        when 'STENR'.

          /pws/zycat030-nif = v_stenr.

      endcase.

    endif.

  endif.

* << Fim da inclusão

  if v_land1 = 'BR'.

    message e015 with text-e26.

  endif.

endmodule.

module matchcode_empext input.

  clear: v_mconame,

         itab_tdynpread,

         wa_tdynpread.

  free itab_tdynpread.

  wa_tdynpread-fieldname = '/PWS/ZYCAT030-TP_PROCESSO'.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCA011F01

 

...

    when 'BACK'.

      perform verifica_alteracao using 'X'.

    when 'MODIF'.

      clear: v_exibe, v_okcode.

      perform verifica_bloqueio.

      if v_exibe is initial.

        if /pws/zycat030-tp_origem = 'PT'.

          perform verifica_alteracao_prestacao.

        elseif /pws/zycat030-tp_origem = 'CA'.

          perform verifica_alteracao_comissao.

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

        elseif /pws/zycat030-tp_origem = 'DI'.

          perform verifica_alteracao_despesas.

* << Fim da inclusão

        endif.

      endif.

    when 'TB_OP'.

      v_dynnr = '0101'.

      ts_contrato-activetab = v_okcode.

    when 'TB_RE'.

      v_dynnr = '0103'.

      ts_contrato-activetab = v_okcode.

    when 'TB_INFC'.

      v_dynnr = '0104'.

...

 

...

        itab_zycat031t-operacao = sy-tabix.

        modify itab_zycat031t.

      endloop.

      clear v_okcode.

    when 'ENQ'.

      perform carrega_enquadramento.

      clear v_okcode.

    when 'INCL'.

      if not v_freteimp is initial or

         not v_segimp   is initial or

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

         not v_embimp   is initial.

* << Fim da exclusão

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

         not v_embimp   is initial or

         not v_despimp  is initial.

* << Fim da inclusão

        call screen '0007' starting at 7 13.

      elseif not v_freteexp is initial or

             not v_segexp   is initial or

             not v_embexp     is initial or

             not v_comagente  is initial or

             not v_prestconta is initial.

        call screen '0008' starting at 7 13.

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

      elseif not v_pedcomp is initial.

        call screen '0010' starting at 7 13.

      elseif not v_ordvenda is initial.

        call screen '0011' starting at 7 13.

* << Fim da inclusão

      endif.

    when 'SELEC'.

      perform drill_down.

  endcase.

endform.

form user_command_0102.

  case v_okcode.

    when 'MALL'.

      loop at itab_zycat032t where not cod_enquad is initial.

        itab_zycat032t-mark = 'X'.

...

 

...

  if sy-subrc eq 0.

    loop at itab_zycat033_ant into wa_zycat033.

      append wa_zycat033 to itab_zycat033t.

    endloop.

  endif.

  if sy-tcode = '/PWS/ZYCA011_A'.

    if /pws/zycat030-tp_origem = 'PT'.

      perform verifica_alteracao_prestacao.

    elseif /pws/zycat030-tp_origem = 'CA'.

      perform verifica_alteracao_comissao.

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

    elseif /pws/zycat030-tp_origem = 'DI'.

      perform verifica_alteracao_despesas.

* << Fim da inclusão

    endif.

  endif.

  perform inicializa_texto.

  itab_tline_ant[] = itab_tline[].

  if sy-tcode = '/PWS/ZYCA011_E' or

    ( sy-tcode ne '/PWS/ZYCA011_E' and

      ( /pws/zycat030-status = 'EP' or

        /pws/zycat030-status = 'ES' or

        /pws/zycat030-status = '01' or

        /pws/zycat030-status = '02' or

...

 

...

  endcase.

  clear: v_embexp,

         v_embimp,

         v_freteexp,

         v_freteimp,

         v_segexp,

         v_segimp,

         v_pedcomp,

         v_sorigem,

         v_comagente,

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

         v_prestconta.

* << Fim da exclusão

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

         v_prestconta,

         v_despimp,

         v_ordvenda.

* << Fim da inclusão

  if /pws/zycat030-tp_origem is initial.

    v_sorigem = 'X'.

  else.

    case /pws/zycat030-tp_origem.

      when 'EE'.

        v_embexp     = 'X'.

      when 'EI'.

        v_embimp     = 'X'.

      when 'FE'.

        v_freteexp   = 'X'.

...

 

...

      when 'SE'.

        v_segexp     = 'X'.

      when 'SI'.

        v_segimp     = 'X'.

      when 'PC'.

        v_pedcomp    = 'X'.

      when 'CA'.

        v_comagente  = 'X'.

      when 'PT'.

        v_prestconta = 'X'.

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

      when 'DI'.

        v_despimp    = 'X'.

      when 'OV'.

        v_ordvenda   = 'X'.

* << Fim da inclusão

    endcase.

  endif.

  perform verifica_bloqueio.

  clear: v_okcode, v_dynnr.

  ts_contrato-activetab = 'TB_OP'.

  set screen 0100.

  leave screen.

endform.

form inicializa_texto.

  if editor is initial.

...

 

...

  call method p_gos->unpublish.

endform.

form user_command_0003.

  data: v_erro.

  case v_okcode.

    when 'ENTE'.

      clear v_okcode.

      if v_sorigem is initial and

        r_embimp[] is initial and

        r_embexp[] is initial and

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

        r_pcompr[] is initial.

* << Fim da exclusão

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

        r_pcompr[] is initial and

        r_ordem[]  is initial.

* << Fim da inclusão

        message i015 with text-i24.

        exit.

      endif.

      if v_sorigem is initial.

        perform busca_origem_2 changing v_erro.

      endif.

      check v_erro is initial.

      set screen 0100.

      leave screen.

  endcase.

...

 

...

  move:

    '01'                   to wa_zycat031-operacao,

    /pws/zycat030-cod_pais to wa_zycat031-cod_pais,

    /pws/zycat030-valor    to wa_zycat031-valor,

    wa_zycat046-nbs        to wa_zycat031-nbs,

    wa_zycat046-modo_prest to wa_zycat031-modo_prest,

    wa_zycat031-valor      to wa_zycat031-saldo.

  append wa_zycat031 to itab_zycat031t.

endform.

form informacoes_cabecalho.

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

  clear: v_land1, v_stras, v_mcod3, v_name1,

* << Fim da exclusão

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

  clear: v_land1,  v_name1,  v_stras,  v_mcod3,

         v_stceg,  v_stcd1,  v_stcd2,  v_stcd3,

         v_stcd4,  v_stenr,

* << Fim da inclusão

   /pws/zycat030-cod_pais,

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

   v_stceg.

* << Fim da exclusão

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

         /pws/zycat030-nif,

         wa_zycat048.

* << Fim da inclusão

  case /pws/zycat030-tp_processo.

    when 'A'.

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

      v_proces = 'RAS'.

* << Fim da inclusão

      select single land1 name1 stras mcod3 stceg

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

                    stcd1 stcd2 stenr

* << Fim da inclusão

        from lfa1

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

        into (v_land1, v_name1, v_stras, v_mcod3, v_stceg)

* << Fim da exclusão

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

        into (v_land1, v_name1, v_stras, v_mcod3, v_stceg,

              v_stcd1, v_stcd2, v_stenr)

* << Fim da inclusão

        where lifnr = /pws/zycat030-bukrs_ext.

    when 'V'.

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

      v_proces = 'RVS'.

* << Fim da inclusão

      select single land1 name1 stras mcod3 stceg

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

                    stcd1 stcd2 stcd3 stcd4

* << Fim da inclusão

        from kna1

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

        into (v_land1, v_name1, v_stras, v_mcod3, v_stceg)

* << Fim da exclusão

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

        into (v_land1, v_name1, v_stras, v_mcod3, v_stceg,

              v_stcd1, v_stcd2, v_stcd3, v_stcd4)

* << Fim da inclusão

        where kunnr = /pws/zycat030-bukrs_ext.

  endcase.

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

  if sy-subrc eq 0.

    read table itab_zycat048

                      into wa_zycat048 with key processo = v_proces

                                                   campo = 'NIF'.

* << Fim da inclusão

  if sy-subrc eq 0.

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

      case wa_zycat048-valor.

        when 'STCEG'.

* << Fim da inclusão

    /pws/zycat030-nif = v_stceg.

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

        when 'STCD1'.

          /pws/zycat030-nif = v_stcd1.

        when 'STCD2'.

          /pws/zycat030-nif = v_stcd2.

        when 'STCD3'.

          /pws/zycat030-nif = v_stcd3.

        when 'STCD4'.

          /pws/zycat030-nif = v_stcd4.

        when 'STENR'.

          /pws/zycat030-nif = v_stenr.

      endcase.

    endif.

* << Fim da inclusão

  endif.

  if v_land1 is initial.

    message e061 with text-e16 /pws/zycat030-bukrs_ext

        text-e17.

  else.

    select single cod_pais

      from /pws/zycat043

      into /pws/zycat030-cod_pais

      where land1 = v_land1.

    if sy-subrc ne 0.

...

 

...

  r_item-low = wa_result-fieldval.

endform.

form match_code_item_high.

  data: l_display(1)   type c,

        itab_result    type table of ddshretval,

        wa_result      type ddshretval,

        itab_tdynpread type table of dynpread,

        wa_tdynpread   type dynpread .

  clear itab_tdynpread.

  refresh itab_tdynpread.

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

  wa_tdynpread-fieldname = 'R_PCOMPR-LOW'.

* << Fim da exclusão

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

  wa_tdynpread-fieldname = 'R_PCOMPR-HIGH'.

* << Fim da inclusão

  append wa_tdynpread to itab_tdynpread.

  call function 'DYNP_VALUES_READ'

       exporting

            dyname     = '/PWS/SAPMZYCA011'

            dynumb     = '0006'

       tables

            dynpfields = itab_tdynpread.

  if sy-subrc             eq 0.

    read table itab_tdynpread into wa_tdynpread index 1.

    set parameter id 'BES' field wa_tdynpread-fieldvalue.

...

 

...

    perform busca_emb_imp_2 using v_novo

                         changing p_erro.

  elseif not v_freteexp is initial or

         not v_segexp   is initial.

    perform busca_frete_seg_exp_2 using v_novo

                               changing p_erro.

  elseif not v_embexp is initial.

    perform busca_emb_exp_2 using v_novo

                         changing p_erro.

  elseif not v_pedcomp is initial.

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

    perform busca_pedido_compra changing p_erro.

* << Fim da exclusão

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

    perform busca_pedido_compra_2 using v_novo

                               changing p_erro.

* << Fim da inclusão

  elseif not v_comagente is initial.

    perform busca_comissao_agente using v_novo

                               changing p_erro.

  elseif not v_prestconta is initial.

    perform busca_prestacao_contas using v_novo

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

                                changing p_erro.

  elseif not v_despimp is initial.

    perform busca_despesas_imp using v_novo

* << Fim da inclusão

                                changing p_erro.

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

  elseif not v_ordvenda is initial.

    perform busca_ordem_venda using v_novo

                           changing p_erro.

* << Fim da inclusão

  endif.

endform.

form busca_emb_imp_2 using p_novo

                  changing p_erro.

  data:

    v_valor_total type /pws/zycit006-vlmerc,

    v_count       type /pws/zycat031-operacao,

    v_existe(1)   type c,

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

    v_nrseqdi     type /pws/zycit085-nrseqdi,

    v_nrseqce     type /pws/zycit093-nrseqce,

* << Fim da inclusão

    wa_zycit003 type ty_zycit003,

    wa_zycit006 type ty_zycit006,

    wa_zycit263 type ty_zycit263,

    wa_zycat046 type /pws/zycat046,

    begin of itab_zycit001 occurs 0,

       nrseq        type /pws/zycit001-nrseq,

       bukrs        type /pws/zycit001-bukrs,

       waers        type /pws/zycit001-waers,

       j_1bbranch   type /pws/zycit001-j_1bbranch,

       modalidade   type /pws/zycit001-modalidade,

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

       dtinicio     type /pws/zycit001-dtinicio,

* << Fim da inclusão

    end of itab_zycit001,

    begin of itab_zycit003 occurs 0,

       nrseq        type /pws/zycit003-nrseq,

       ebeln        type /pws/zycit003-ebeln,

       matnr        type /pws/zycit003-matnr,

    end of itab_zycit003,

    begin of itab_zycit263 occurs 0,

       nrseq        type /pws/zycit263-nrseq,

       ebeln        type /pws/zycit263-ebeln,

       nrseq_pgfat  type /pws/zycit263-nrseq_pgfat,

...

 

...

    begin of itab_zycit006 occurs 0,

       nrseq        type /pws/zycit006-nrseq,

       tpfatura     type /pws/zycit006-tpfatura,

       vlmerc       type /pws/zycit006-vlmerc,

       vlfre        type /pws/zycit006-vlfre,

       vlseg        type /pws/zycit006-vlseg,

       vltotal      type /pws/zycit006-vltotal,

       lifnr        type /pws/zycit006-lifnr,

       nrseqce      type /pws/zycit006-nrseqce,

       nrseq_pgfat  type /pws/zycit006-nrseq_pgfat,

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

       dtincl       type /pws/zycit006-dtincl,

* << Fim da inclusão

    end of itab_zycit006.

  data: begin of itab_zycat046 occurs 0.

          include structure /pws/zycat046.

  data: end of itab_zycat046.

  select nrseq bukrs waers j_1bbranch modalidade

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

    dtinicio

* << Fim da inclusão

    from /pws/zycit001

    into table itab_zycit001

...

 

...

    for all entries in itab_zycit001

    where nrseq = itab_zycit001-nrseq.

  select nrseq ebeln nrseq_pgfat

    from /pws/zycit263

    into table itab_zycit263

    for all entries in itab_zycit003

    where nrseq = itab_zycit003-nrseq

      and ebeln = itab_zycit003-ebeln.

  select nrseq tpfatura vlmerc  vlfre

         vlseg vltotal  lifnr   nrseqce

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

         nrseq_pgfat

* << Fim da exclusão

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

         nrseq_pgfat dtincl

* << Fim da inclusão

    from /pws/zycit006

    into table itab_zycit006

    for all entries in itab_zycit263

    where nrseq_pgfat = itab_zycit263-nrseq_pgfat.

  select *

    from /pws/zycat046

    into table itab_zycat046

    for all entries in itab_zycit003

    where matnr      = itab_zycit003-matnr

      and tpprocesso = 'A'.

...

 

...

      endif.

    endif.

    move:

      v_count                   to  wa_zycat031-operacao,

      /pws/zycat030-cod_pais    to  wa_zycat031-cod_pais,

      wa_zycit006-vltotal       to  wa_zycat031-valor,

      wa_zycit006-vltotal       to  wa_zycat031-saldo,

      itab_zycit001-nrseq       to  wa_zycat031-nrseq_origem,

      wa_zycat046-nbs           to  wa_zycat031-nbs,

      wa_zycat046-modo_prest    to  wa_zycat031-modo_prest.

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

    clear: wa_zycit001_aux,

           wa_zycit006_aux,

           wa_zycit085_aux,

           wa_zycit093_aux.

    select single nrseqdi

      from /pws/zycit100

      into v_nrseqdi

     where nrseq = itab_zycit001-nrseq.

    if sy-subrc eq 0.

      select single  nrseqdi  nrdi     nrbl

                     vlseg    dtatrac  dtdesemb

        from /pws/zycit085

        into wa_zycit085_aux

       where nrseqdi = v_nrseqdi.

    endif.

    select single nrseqce

      from /pws/zycit094

      into v_nrseqce

     where nrseq = itab_zycit001-nrseq.

    if sy-subrc eq 0.

      select single nrseqce dtemiss dtcheg vlfre

        from /pws/zycit093

        into wa_zycit093_aux

       where nrseqce = v_nrseqce.

    endif.

    move-corresponding:  itab_zycit001  to wa_zycit001_aux,

                         wa_zycit006    to wa_zycit006_aux.

    perform busca_parametros_campos.

* << Fim da inclusão

    append wa_zycat031 to itab_zycat031t.

    v_valor_total = v_valor_total + wa_zycit006-vltotal.

  endloop.

  move: v_valor_total   to  /pws/zycat030-valor,

        v_valor_total   to  /pws/zycat030-saldo.

  clear:   r_embimp.

  refresh: r_embimp.

endform.

form busca_emb_exp_2 using p_novo

                  changing p_erro.

  data:

    wa_zycat046    type /pws/zycat046,

    wa_zycet002    type ty_zycet002,

    wa_zycet008    type ty_zycet008_aux,

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

    wa_t001w       type ty_t001w,

    v_tabix        type sy-tabix,

* << Fim da inclusão

    v_vlme_f       type /pws/zycet008-vlme_f,

    v_val_tot_exp  type /pws/zycit006-vlmerc,

    v_count        type /pws/zycat031-operacao,

    v_existe(1)    type c,

    begin of itab_zycet001 occurs 0,

       nrseq      type /pws/zycet001-nrseq,

       bukrs      type /pws/zycet001-bukrs,

       dtemb      type /pws/zycet001-dtemb,

       codportd   type /pws/zycet001-codportd,

       tipo_emb   type /pws/zycet001-tipo_emb,

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

       dtaverb    type /pws/zycet001-dtaverb,

       werks      type /pws/zycet001-werks,

       j_1bbranch type /pws/zycet116-j_1bbranch,

* << Fim da inclusão

    end of itab_zycet001,

    begin of itab_zycet002 occurs 0,

       nrseq      type /pws/zycet002-nrseq,

       fkdat      type /pws/zycet002-fkdat,

       matnr      type /pws/zycet002-matnr,

    end of itab_zycet002,

    begin of itab_zycet008 occurs 0,

       nrseq      type /pws/zycet008-nrseq,

       codigo     type /pws/zycet008-codigo,

       vlme_f     type /pws/zycet008-vlme_f,

       waers      type /pws/zycet008-waers,

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

    end of itab_zycet008.

* << Fim da exclusão

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

    end of itab_zycet008,

    begin of itab_t001w occurs 0,

       werks      type t001w-werks,

       j_1bbranch type t001w-j_1bbranch,

    end of itab_t001w.

* << Fim da inclusão

  data: begin of itab_zycat030 occurs 0.

          include structure /pws/zycat030.

  data: end of itab_zycat030.

  data: begin of itab_zycat046 occurs 0.

          include structure /pws/zycat046.

  data: end of itab_zycat046.

  data: begin of itab_zycet156 occurs 0.

          include structure /pws/zycet156.

  data: end of itab_zycet156.

  select nrseq bukrs dtemb codportd tipo_emb

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

    dtaverb werks

* << Fim da inclusão

    from /pws/zycet001

    into table itab_zycet001

    where nrseq in r_embexp.

  if sy-subrc ne 0.

    p_erro = 'X'.

    message i015 with text-i25 text-i26.

    exit.

  endif.

  loop at itab_zycet001.

    if itab_zycet001-tipo_emb ne 'E'.

...

 

...

      if wa_zycet002-fkdat <= '20120731'.

        delete itab_zycet001.

      endif.

    endif.

  endloop.

  if itab_zycet001[] is initial.

    p_erro = 'X'.

    message i015 with text-i25 text-i26.

    exit.

  endif.

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

  select werks j_1bbranch

    from t001w

    into table itab_t001w

    for all entries in itab_zycet001

  where werks = itab_zycet001-werks.

  loop at itab_zycet001.

    clear: wa_t001w.

    v_tabix = sy-tabix.

    read table itab_t001w into wa_t001w

                               with key werks = itab_zycet001-werks.

    itab_zycet001-j_1bbranch = wa_t001w-j_1bbranch.

    modify itab_zycet001 index v_tabix.

  endloop.

* << Fim da inclusão

  select * from /pws/zycet156

    into table itab_zycet156

    for all entries in itab_zycet001

    where bukrs    = itab_zycet001-bukrs

      and codmod   = 'X'

      and proccond = 'FOB'.

  if sy-subrc eq 0.

    select nrseq codigo vlme_f waers

      from /pws/zycet008

      into table itab_zycet008

...

 

...

           wa_zycet008,

           v_vlme_f.

    v_count = v_count + 1.

    loop at itab_zycet008 into wa_zycet008

                               where nrseq = itab_zycet001-nrseq.

      v_vlme_f = v_vlme_f + wa_zycet008-vlme_f.

    endloop.

    if v_count eq 1.

      move:

        itab_zycet001-bukrs      to /pws/zycat030-bukrs,

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

        itab_zycet001-j_1bbranch to /pws/zycat030-j_1bbranch,

* << Fim da inclusão

        'V'                      to /pws/zycat030-tp_processo,

        itab_zycet001-codportd   to /pws/zycat030-bukrs_ext,

        wa_zycet008-waers        to /pws/zycat030-waers,

        'EE'                     to /pws/zycat030-tp_origem.

      perform informacoes_cabecalho.

    else.

      if itab_zycet001-bukrs      ne /pws/zycat030-bukrs       or

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

         itab_zycet001-j_1bbranch ne /pws/zycat030-j_1bbranch  or

* << Fim da inclusão

         itab_zycet001-codportd   ne /pws/zycat030-bukrs_ext   or

         wa_zycet008-waers        ne /pws/zycat030-waers.

        message i061

                with text-i30 itab_zycet001-nrseq text-i33 text-i34.

        continue.

      endif.

    endif.

    read table itab_zycet002

       into wa_zycet002 with key nrseq = itab_zycet001-nrseq.

    read table itab_zycat046

       into wa_zycat046 with key matnr = wa_zycet002-matnr.

    move:

      v_count                 to  wa_zycat031-operacao,

      /pws/zycat030-cod_pais  to  wa_zycat031-cod_pais,

      v_vlme_f                to  wa_zycat031-valor,

      v_vlme_f                to  wa_zycat031-saldo,

      itab_zycet001-nrseq     to  wa_zycat031-nrseq_origem,

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

      wa_zycet002-fkdat       to  wa_zycat031-data_ini,

* << Fim da exclusão

      wa_zycat046-nbs         to  wa_zycat031-nbs,

      wa_zycat046-modo_prest  to  wa_zycat031-modo_prest.

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

    clear: wa_zycet001_aux,

           wa_zycet003_aux,

           wa_zycet046_aux,

           wa_zycet047_aux.

    select single *

      from /pws/zycet003

      into wa_zycet003_aux

     where nrseq = itab_zycet001-nrseq.

    select single *

      from /pws/zycet046

      into wa_zycet046_aux

     where nrseq = itab_zycet001-nrseq.

    select single *

      from /pws/zycet047

      into wa_zycet047_aux

     where nrseq = itab_zycet001-nrseq.

    move-corresponding itab_zycet001 to wa_zycet001_aux.

    perform busca_parametros_campos.

* << Fim da inclusão

    append wa_zycat031 to itab_zycat031t.

    v_val_tot_exp = v_val_tot_exp + v_vlme_f.

  endloop.

  move: v_val_tot_exp  to /pws/zycat030-valor,

        v_val_tot_exp  to /pws/zycat030-saldo.

  clear:   r_embexp.

  refresh: r_embexp.

endform.

form busca_frete_seg_imp_2 using p_novo

                        changing p_erro.

...

 

...

    begin of itab_zycit006 occurs 0,

       nrseq        type /pws/zycit006-nrseq,

       tpfatura     type /pws/zycit006-tpfatura,

       vlmerc       type /pws/zycit006-vlmerc,

       vlfre        type /pws/zycit006-vlfre,

       vlseg        type /pws/zycit006-vlseg,

       vltotal      type /pws/zycit006-vltotal,

       lifnr        type /pws/zycit006-lifnr,

       nrseqce      type /pws/zycit006-nrseqce,

       nrseq_pgfat  type /pws/zycit006-nrseq_pgfat,

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

       dtincl       type  /pws/zycit006-dtincl,

* << Fim da inclusão

    end of itab_zycit006,

    begin of itab_zycit001 occurs 0,

       nrseq        type /pws/zycit001-nrseq,

       bukrs        type /pws/zycit001-bukrs,

       waers        type /pws/zycit001-waers,

       j_1bbranch   type /pws/zycit001-j_1bbranch,

       modalidade   type /pws/zycit001-modalidade,

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

       dtinicio     type /pws/zycit001-dtinicio,

* << Fim da inclusão

    end of itab_zycit001,

    begin of itab_zycit093 occurs 0,

       nrseqce      type /pws/zycit093-nrseqce,

       dtemiss      type /pws/zycit093-dtemiss,

       dtcheg       type /pws/zycit093-dtcheg,

       vlfre        type /pws/zycit093-vlfre,

    end of itab_zycit093,

    begin of itab_zycit085 occurs 0,

       nrseqdi      type /pws/zycit085-nrseqdi,

       nrdi         type /pws/zycit085-nrdi,

       nrbl         type /pws/zycit085-nrbl,

       vlseg        type /pws/zycit085-vlseg,

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

       dtatrac      type /pws/zycit085-dtatrac,

       dtdesemb     type /pws/zycit085-dtdesemb,

* << Fim da inclusão

    end of itab_zycit085.

  if not v_freteimp is initial.

    v_tp_origem = 'FI'.

    v_tp_fatura = '02'.

    v_matnr     = 'FRT'.

  elseif not v_segimp is initial.

    v_tp_origem = 'SI'.

    v_tp_fatura = '03'.

    v_matnr     = 'SEG'.

  endif.

...

 

...

      endif.

    endif.

  endloop.

  if itab_zycit094[] is initial.

    p_erro = 'X'.

    message i015 with text-i25 text-i26.

    exit.

  endif.

  select nrseq tpfatura vlmerc  vlfre

         vlseg vltotal  lifnr   nrseqce

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

         nrseq_pgfat

* << Fim da exclusão

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

         nrseq_pgfat dtincl

* << Fim da inclusão

    from /pws/zycit006

    into table itab_zycit006

    for all entries in itab_zycit094

    where nrseqce = itab_zycit094-nrseqce.

  if sy-subrc ne 0.

    p_erro = 'X'.

    message i015 with text-i25 text-i26.

    exit.

  endif.

  select nrseq bukrs waers j_1bbranch modalidade

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

    dtinicio

* << Fim da inclusão

    from /pws/zycit001

    into table itab_zycit001

    for all entries in itab_zycit094

    where nrseq = itab_zycit094-nrseq.

  select nrseqce dtemiss dtcheg vlfre

    from /pws/zycit093

    into table itab_zycit093

    for all entries in itab_zycit094

    where nrseqce = itab_zycit094-nrseqce.

  select nrseqdi nrdi nrbl vlseg

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

    dtatrac dtdesemb

* << Fim da inclusão

    from /pws/zycit085

    into table itab_zycit085

    for all entries in itab_zycit094

    where nrbl = itab_zycit094-nrseqce.

  select single *

    from /pws/zycat046

    into wa_zycat046

    where matnr = v_matnr

      and tpprocesso = 'A'.

  if p_novo = 'S'.

...

 

...

          with key nrseqce  = itab_zycit094-nrseqce

                   tpfatura = v_tp_fatura.

        if sy-subrc eq 0.

          v_valor_aux = wa_zycit006-vlseg.

        endif.

      endif.

    endif.

    move:

      v_count                 to wa_zycat031-operacao,

      /pws/zycat030-cod_pais  to wa_zycat031-cod_pais,

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

      '1'                     to wa_zycat031-modo_prest,

      wa_zycit093-dtemiss     to wa_zycat031-data_ini,

      wa_zycit093-dtcheg      to wa_zycat031-data_fim,

* << Fim da exclusão

      v_valor_aux             to wa_zycat031-valor,

      v_valor_aux             to wa_zycat031-saldo,

      itab_zycit094-nrseq     to wa_zycat031-nrseq_origem,

      wa_zycat046-nbs         to wa_zycat031-nbs,

      wa_zycat046-modo_prest  to wa_zycat031-modo_prest.

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

    clear: wa_zycit001_aux,

           wa_zycit006_aux,

           wa_zycit085_aux,

           wa_zycit093_aux.

    move-corresponding:  wa_zycit001 to wa_zycit001_aux,

                         wa_zycit006 to wa_zycit006_aux,

                         wa_zycit085 to wa_zycit085_aux,

                         wa_zycit093 to wa_zycit093_aux.

    perform busca_parametros_campos.

* << Fim da inclusão

    append wa_zycat031 to itab_zycat031t.

    v_valor_soma = v_valor_soma + v_valor_aux.

    if not wa_zycit085-nrdi is initial.

      perform inicializa_texto.

      if v_tp_origem = 'FI'.

        concatenate text-001 wa_zycit085-nrdi into wa_src-line

          separated by space.

      else.

        concatenate text-002 wa_zycit085-nrdi into wa_src-line

          separated by space.

...

 

...

  clear:   r_embimp.

  refresh: r_embimp.

endform.

form busca_frete_seg_exp_2 using p_novo

                        changing p_erro.

  data:

    wa_zycat046    type /pws/zycat046,

    wa_zycet003    type ty_zycet003,

    wa_zycet008    type ty_zycet008_aux,

    wa_zycet116    type ty_zycet116,

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

    wa_t001w       type ty_t001w,

    v_tabix        type sy-tabix,

* << Fim da inclusão

    v_valor_total  type /pws/zycit006-vlmerc,

    v_vlme_f       type /pws/zycet008-vlme_f,

    v_tp_origem    type /pws/zycat030-tp_origem,

    v_kschl        type /pws/zycet156-kschl,

    v_matnr        type /pws/zycat046-matnr,

    v_count        type /pws/zycat031-operacao,

    v_existe(1)    type c,

    begin of itab_zycet001 occurs 0,

       nrseq      type /pws/zycet001-nrseq,

       bukrs      type /pws/zycet001-bukrs,

       dtemb      type /pws/zycet001-dtemb,

       codportd   type /pws/zycet001-codportd,

       tipo_emb   type /pws/zycet001-tipo_emb,

       inco1      type /pws/zycet001-inco1,

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

       dtaverb    type /pws/zycet001-dtaverb,

       werks      type /pws/zycet001-werks,

       j_1bbranch type /pws/zycet116-j_1bbranch,

* << Fim da inclusão

    end of itab_zycet001,

    begin of itab_zycet003 occurs 0,

       nrseq      type /pws/zycet003-nrseq,

       nrseqre    type /pws/zycet003-nrseqre,

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

       dtaverb    type /pws/zycet003-dtaverb,

* << Fim da inclusão

    end of itab_zycet003,

    begin of itab_zycet008 occurs 0,

       nrseq      type /pws/zycet008-nrseq,

       codigo     type /pws/zycet008-codigo,

       vlme_f     type /pws/zycet008-vlme_f,

       waers      type /pws/zycet008-waers,

    end of itab_zycet008,

    begin of itab_zycet116 occurs 0,

       nrseqre    type /pws/zycet116-nrseqre,

       nrre       type /pws/zycet116-nrre,

       j_1bbranch type /pws/zycet116-j_1bbranch,

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

    end of itab_zycet116.

* << Fim da exclusão

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

    end of itab_zycet116,

    begin of itab_t001w occurs 0,

       werks      type t001w-werks,

       j_1bbranch type t001w-j_1bbranch,

    end of itab_t001w.

* << Fim da inclusão

  data: begin of itab_zycet156 occurs 0.

          include structure /pws/zycet156.

  data: end of itab_zycet156.

  if not v_freteexp is initial.

    v_tp_origem = 'FE'.

    v_kschl     = 'ZFTE'.

    v_matnr     = 'FRT'.

  elseif not v_segexp is initial.

    v_tp_origem = 'SE'.

    v_kschl     = 'ZSEG'.

    v_matnr     = 'SEG'.

  endif.

  select nrseq bukrs dtemb codportd tipo_emb

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

    inco1

* << Fim da exclusão

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

    inco1 dtaverb werks

* << Fim da inclusão

    from /pws/zycet001

    into table itab_zycet001

    where nrseq in r_embexp.

  if sy-subrc ne 0.

    p_erro = 'X'.

    message i015 with text-i25 text-i26.

    exit.

  endif.

  loop at itab_zycet001.

    perform verifica_operacao using itab_zycet001-nrseq

...

 

...

  delete itab_zycet001 where dtemb <= '20120731'.

  if v_tp_origem = 'FE'.

    delete itab_zycet001 where inco1 ne 'EXW'

                           and inco1 ne 'FOB'.

  endif.

  if itab_zycet001[] is initial.

    p_erro = 'X'.

    message i015 with text-i25 text-i26.

    exit.

  endif.

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

  select nrseq nrseqre

* << Fim da exclusão

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

  select werks j_1bbranch

    from t001w

    into table itab_t001w

    for all entries in itab_zycet001

  where werks = itab_zycet001-werks.

  loop at itab_zycet001.

    clear: wa_t001w.

    v_tabix = sy-tabix.

    read table itab_t001w into wa_t001w

                               with key werks = itab_zycet001-werks.

    itab_zycet001-j_1bbranch = wa_t001w-j_1bbranch.

    modify itab_zycet001 index v_tabix.

  endloop.

  select nrseq nrseqre dtaverb

* << Fim da inclusão

    from /pws/zycet003

    into table itab_zycet003

    for all entries in itab_zycet001

    where nrseq = itab_zycet001-nrseq.

  select * from /pws/zycet156

    into table itab_zycet156

    for all entries in itab_zycet001

    where bukrs     = itab_zycet001-bukrs

      and codmod    = 'X'

      and proccond  = v_matnr.

...

 

...

       into wa_zycet003 with key nrseq = itab_zycet001-nrseq.

    read table itab_zycet116

       into wa_zycet116 with key nrseqre = itab_zycet003-nrseqre.

    loop at itab_zycet008 into wa_zycet008

                                     where nrseq = itab_zycet001-nrseq.

      v_vlme_f = v_vlme_f + wa_zycet008-vlme_f.

    endloop.

    if v_count = 1.

      move:

        itab_zycet001-bukrs      to /pws/zycat030-bukrs,

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

        wa_zycet116-j_1bbranch   to /pws/zycat030-j_1bbranch,

* << Fim da exclusão

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

        itab_zycet001-j_1bbranch to /pws/zycat030-j_1bbranch,

* << Fim da inclusão

        'V'                      to /pws/zycat030-tp_processo,

        itab_zycet001-codportd   to /pws/zycat030-bukrs_ext,

        wa_zycet008-waers        to /pws/zycat030-waers,

        v_tp_origem              to /pws/zycat030-tp_origem.

      perform informacoes_cabecalho.

    else.

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

      if itab_zycet001-bukrs     ne /pws/zycat030-bukrs       or

         itab_zycet001-codportd  ne /pws/zycat030-bukrs_ext   or

         wa_zycet008-waers       ne /pws/zycat030-waers.

* << Fim da exclusão

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

      if itab_zycet001-bukrs      ne /pws/zycat030-bukrs       or

         itab_zycet001-j_1bbranch ne /pws/zycat030-j_1bbranch  or

         itab_zycet001-codportd   ne /pws/zycat030-bukrs_ext   or

         wa_zycet008-waers        ne /pws/zycat030-waers.

* << Fim da inclusão

        message i061

                with text-i30 itab_zycet001-nrseq text-i33 text-i34.

        continue.

      endif.

    endif.

    move:

      v_count                 to wa_zycat031-operacao,

      /pws/zycat030-cod_pais  to wa_zycat031-cod_pais,

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

      itab_zycet001-dtemb     to wa_zycat031-data_ini,

* << Fim da exclusão

      v_vlme_f                to wa_zycat031-valor,

      v_vlme_f                to wa_zycat031-saldo,

      itab_zycet001-nrseq     to wa_zycat031-nrseq_origem,

      wa_zycat046-nbs         to wa_zycat031-nbs,

      wa_zycat046-modo_prest  to wa_zycat031-modo_prest.

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

    clear: wa_zycet001_aux,

           wa_zycet046_aux,

           wa_zycet047_aux.

    select single *

      from /pws/zycet046

      into wa_zycet046_aux

     where nrseq = itab_zycet001-nrseq.

    select single *

      from /pws/zycet047

      into wa_zycet047_aux

     where nrseq = itab_zycet001-nrseq.

    move-corresponding itab_zycet001 to wa_zycet001_aux.

    move-corresponding wa_zycet003   to wa_zycet003_aux.

    perform busca_parametros_campos.

* << Fim da inclusão

    append wa_zycat031 to itab_zycat031t.

    v_valor_total = v_valor_total + v_vlme_f.

    if not wa_zycet116-nrre is initial.

      perform inicializa_texto.

      if not v_freteexp is initial.

        concatenate text-003 wa_zycet116-nrre into wa_src-line

          separated by space.

      elseif not v_segexp is initial.

        concatenate text-004 wa_zycet116-nrre into wa_src-line

          separated by space.

...

 

...

  v_novo = 'N'.

  case v_okcode.

    when 'CONFIRM'.

      if not v_freteimp is initial or

         not v_segimp   is initial.

        perform busca_frete_seg_imp_2 using v_novo

                                   changing v_erro.

      elseif not v_embimp is initial.

        perform busca_emb_imp_2 using v_novo

                             changing v_erro.

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

      elseif not v_despimp is initial.

        perform busca_despesas_imp using v_novo

                                changing v_erro.

* << Fim da inclusão

      endif.

      clear:   r_embimp.

      refresh: r_embimp.

      set screen 0.

      leave screen.

    when 'CANCEL'.

      clear:   r_embimp.

      refresh: r_embimp.

      set screen 0.

      leave screen.

...

 

...

  check /pws/zycat030-tp_origem is initial.

  clear: v_embexp,

         v_embimp,

         v_freteexp,

         v_freteimp,

         v_segexp,

         v_segimp,

         v_pedcomp,

         v_sorigem,

         v_comagente,

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

         v_prestconta.

* << Fim da exclusão

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

         v_prestconta,

         v_despimp,

         v_ordvenda.

* << Fim da inclusão

  if v_dom_tporigem = 'A'.

    v_sorigem    = 'X'.

  elseif v_dom_tporigem = 'B'.

    v_freteimp   = 'X'.

  elseif v_dom_tporigem = 'C'.

    v_segimp     = 'X'.

  elseif v_dom_tporigem = 'D'.

    v_embimp     = 'X'.

  elseif v_dom_tporigem = 'E'.

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

    v_despimp    = 'X'.

  elseif v_dom_tporigem = 'F'.

* << Fim da inclusão

    v_freteexp   = 'X'.

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

  elseif v_dom_tporigem = 'F'.

* << Fim da exclusão

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

  elseif v_dom_tporigem = 'G'.

* << Fim da inclusão

    v_segexp     = 'X'.

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

  elseif v_dom_tporigem = 'G'.

* << Fim da exclusão

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

  elseif v_dom_tporigem = 'H'.

* << Fim da inclusão

    v_embexp     = 'X'.

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

  elseif v_dom_tporigem = 'H'.

* << Fim da exclusão

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

  elseif v_dom_tporigem = 'I'.

* << Fim da inclusão

    v_comagente  = 'X'.

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

  elseif v_dom_tporigem = 'I'.

* << Fim da exclusão

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

  elseif v_dom_tporigem = 'J'.

* << Fim da inclusão

    v_prestconta = 'X'.

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

  elseif v_dom_tporigem = 'J'.

* << Fim da exclusão

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

  elseif v_dom_tporigem = 'K'.

* << Fim da inclusão

    v_pedcomp    = 'X'.

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

  elseif v_dom_tporigem = 'L'.

    v_ordvenda   = 'X'.

* << Fim da inclusão

  endif.

endform.

form busca_comissao_agente using p_novo

                        changing p_erro.

  types:

    begin of ty_result,

      nrseq      type /pws/zycet010-nrseq,

      lifnr      type /pws/zycet010-lifnr,

      waers      type /pws/zycet010-waers,

      vlcomis    type /pws/zycet010-vlcomis,

...

 

...

    v_count        type /pws/zycat031-operacao,

    v_provisao     type /pws/zycet037-comis_provisao,

    v_ras_rvs      type /pws/zycat030-nrseq,

    v_existe(1)    type c,

    begin of itab_zycet001 occurs 0,

       nrseq       type /pws/zycet001-nrseq,

       bukrs       type /pws/zycet001-bukrs,

       dtemb       type /pws/zycet001-dtemb,

       werks       type /pws/zycet001-werks,

       parvw       type /pws/zycet001-parvw,

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

       dtaverb     type /pws/zycet001-dtaverb,

* << Fim da inclusão

       j_1bbranch  type /pws/zycet116-j_1bbranch,

    end of itab_zycet001,

    begin of itab_zycet001_aux occurs 0,

       nrseq       type /pws/zycet001-nrseq,

       bukrs       type /pws/zycet001-bukrs,

       dtemb       type /pws/zycet001-dtemb,

       werks       type /pws/zycet001-werks,

       parvw       type /pws/zycet001-parvw,

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

       dtaverb     type /pws/zycet001-dtaverb,

* << Fim da inclusão

       j_1bbranch  type /pws/zycet116-j_1bbranch,

    end of itab_zycet001_aux,

    begin of itab_result occurs 0,

       nrseq      type /pws/zycet010-nrseq,

       lifnr      type /pws/zycet010-lifnr,

       waers      type /pws/zycet010-waers,

       vlcomis    type /pws/zycet010-vlcomis,

    end of itab_result,

    begin of itab_result_aux occurs 0,

       nrseq      type /pws/zycet010-nrseq,

...

 

...

  data: end of itab_zycet156.

  data: begin of itab_zycet021 occurs 0.

          include structure /pws/zycet021.

  data: end of itab_zycet021.

  data: begin of itab_zycet016 occurs 0.

          include structure /pws/zycet016.

  data: end of itab_zycet016.

  v_tp_origem = 'CA'.

  v_matnr     = 'COM'.

  select nrseq bukrs dtemb werks parvw

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

    dtaverb

* << Fim da inclusão

    from /pws/zycet001

    into table itab_zycet001

   where nrseq in r_embexp.

  delete itab_zycet001 where dtemb <= '20120731'.

  delete itab_zycet001 where parvw ne 'AR'

                         and parvw ne 'AT'.

  if itab_zycet001[] is initial.

    p_erro = 'X'.

    message i015 with text-i25 text-i26.

    exit.

...

 

...

           wa_result-lifnr           ne /pws/zycat030-bukrs_ext   or

           wa_result-waers           ne /pws/zycat030-waers.

          message i061

                  with text-i30 itab_zycet001-nrseq text-i33 text-i34.

          continue.

        endif.

      endif.

      move:

        v_count                 to wa_zycat031-operacao,

        /pws/zycat030-cod_pais  to wa_zycat031-cod_pais,

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

        itab_zycet001-dtemb     to wa_zycat031-data_ini,

* << Fim da exclusão

        v_vlme_f                to wa_zycat031-valor,

        v_vlme_f                to wa_zycat031-saldo,

        itab_zycet001-nrseq     to wa_zycat031-nrseq_origem,

        wa_result-lifnr         to wa_zycat031-despach,

        wa_result-waers         to wa_zycat031-waers,

        wa_zycet021-nbs         to wa_zycat031-nbs,

        wa_zycet021-modo_prest  to wa_zycat031-modo_prest.

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

      clear: wa_zycet001_aux,

             wa_zycet003_aux,

             wa_zycet046_aux,

             wa_zycet047_aux.

      select single *

        from /pws/zycet003

        into wa_zycet003_aux

       where nrseq = itab_zycet001-nrseq.

      select single *

        from /pws/zycet046

        into wa_zycet046_aux

       where nrseq = itab_zycet001-nrseq.

      select single *

        from /pws/zycet047

        into wa_zycet047_aux

       where nrseq = itab_zycet001-nrseq.

      move-corresponding itab_zycet001 to wa_zycet001_aux.

      perform busca_parametros_campos.

* << Fim da inclusão

      append wa_zycat031 to itab_zycat031t.

    endif.

    v_valor_total = v_valor_total + v_vlme_f.

  endloop.

  move: v_valor_total  to  /pws/zycat030-valor,

        v_valor_total  to  /pws/zycat030-saldo.

  clear:   r_embexp, r_fornec, r_filial, r_moeda.

  refresh: r_embexp, r_fornec, r_filial, r_moeda.

endform.

form busca_prestacao_contas using p_novo

...

 

...

    v_count         type /pws/zycat031-operacao,

    v_ras_rvs       type /pws/zycat030-nrseq,

    v_embarque(25)  type c,

    v_existe(1)     type c,

    v_tabix         type sy-tabix,

    begin of itab_zycet001 occurs 0,

       nrseq        type /pws/zycet001-nrseq,

       bukrs        type /pws/zycet001-bukrs,

       dtemb        type /pws/zycet001-dtemb,

       werks        type /pws/zycet001-werks,

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

       dtaverb      type /pws/zycet001-dtaverb,

* << Fim da inclusão

       j_1bbranch   type /pws/zycet116-j_1bbranch,

    end of itab_zycet001,

    begin of itab_zycet001_aux occurs 0,

       nrseq        type /pws/zycet001-nrseq,

       bukrs        type /pws/zycet001-bukrs,

       dtemb        type /pws/zycet001-dtemb,

       werks        type /pws/zycet001-werks,

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

       dtaverb      type /pws/zycet001-dtaverb,

* << Fim da inclusão

       j_1bbranch   type /pws/zycet116-j_1bbranch,

    end of itab_zycet001_aux,

    begin of itab_t001w occurs 0,

       werks        type t001w-werks,

       j_1bbranch   type t001w-j_1bbranch,

    end of itab_t001w.

  data: begin of itab_zycet021 occurs 0.

          include structure /pws/zycet021.

  data: end of itab_zycet021.

  data: begin of itab_zycet033 occurs 0.

          include structure /pws/zycet033.

  data: end of itab_zycet033.

  data: begin of itab_zycet043 occurs 0.

          include structure /pws/zycet043.

  data: end of itab_zycet043.

  data: begin of itab_zycet043_aux occurs 0.

          include structure /pws/zycet043.

  data: end of itab_zycet043_aux.

  v_tp_origem = 'PT'.

  select nrseq bukrs dtemb werks

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

    dtaverb

* << Fim da inclusão

    from /pws/zycet001

    into table itab_zycet001

    where nrseq in r_embexp.

  delete itab_zycet001 where dtemb <= '20120731'.

  select werks j_1bbranch

    from t001w

    into table itab_t001w

    for all entries in itab_zycet001

  where werks = itab_zycet001-werks.

  loop at itab_zycet001.

...

 

...

    exit.

  endif.

  if p_novo = 'S'.

    clear: v_count.

  else.

    describe table itab_zycat031t lines v_count.

  endif.

  loop at itab_zycet001.

    clear: v_vlme_f,

           wa_zycat031,

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

           wa_zycet033.

* << Fim da exclusão

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

           wa_zycet033,

           wa_zycet001_aux,

           wa_zycet003_aux,

           wa_zycet046_aux,

           wa_zycet047_aux.

    select single *

      from /pws/zycet003

      into wa_zycet003_aux

     where nrseq = itab_zycet001-nrseq.

    select single *

      from /pws/zycet046

      into wa_zycet046_aux

     where nrseq = itab_zycet001-nrseq.

    select single *

      from /pws/zycet047

      into wa_zycet047_aux

     where nrseq = itab_zycet001-nrseq.

    move-corresponding itab_zycet001 to wa_zycet001_aux.

* << Fim da inclusão

    loop at itab_zycet043_aux where nrseq = itab_zycet001-nrseq.

      v_count = v_count +  1.

      read table itab_zycet033

            into wa_zycet033 with key nrseq = itab_zycet043_aux-nrseq

                                     nrpres = itab_zycet043_aux-nrpres

                                    despach = itab_zycet043_aux-despach.

      read table itab_zycet021

            into wa_zycet021 with key tpdesp = itab_zycet043_aux-tpdesp.

      if v_count = 1.

        move:

...

 

...

           itab_zycet043_aux-despach   ne /pws/zycat030-bukrs_ext   or

           itab_zycet043_aux-waers     ne /pws/zycat030-waers.

          message i061

                  with text-i41 itab_zycet001-nrseq text-i33 text-i34.

          continue.

        endif.

      endif.

      move:

        v_count                     to wa_zycat031-operacao,

        /pws/zycat030-cod_pais      to wa_zycat031-cod_pais,

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

        wa_zycet033-dtincl          to wa_zycat031-data_ini,

* << Fim da exclusão

        itab_zycet043_aux-vldp      to wa_zycat031-valor,

        itab_zycet043_aux-vldp      to wa_zycat031-saldo,

        itab_zycet043_aux-waers     to wa_zycat031-waers,

        itab_zycet043_aux-nrpres    to wa_zycat031-nrseq_origem,

        itab_zycet043_aux-despach   to wa_zycat031-despach,

        itab_zycet043_aux-tpdesp    to wa_zycat031-tpdesp,

        wa_zycet021-nbs             to wa_zycat031-nbs,

        wa_zycet021-modo_prest      to wa_zycat031-modo_prest.

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

      move-corresponding wa_zycet033 to wa_zycet033_aux.

      perform busca_parametros_campos.

* << Fim da inclusão

      append wa_zycat031 to itab_zycat031t.

      v_valor_total = v_valor_total + itab_zycet043_aux-vldp.

    endloop.

  endloop.

  move: v_valor_total  to  /pws/zycat030-valor,

        v_valor_total  to  /pws/zycat030-saldo.

  clear:   r_embexp, r_fornec, r_filial, r_moeda.

  refresh: r_embexp, r_fornec, r_filial, r_moeda.

endform.

form set_screen_origem_2.

...

 

...

                               p_moeda_op

                               p_tpdesp_op

                               p_origem_op

                      changing p_existe

                               p_ras_rvs.

  data:

    wa_zycat030  type /pws/zycat030,

    wa_zycat031  type /pws/zycat031.

  clear: p_existe,

         p_ras_rvs.

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

  if p_origem_op = 'CA'.

* << Fim da exclusão

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

  if p_origem_op = 'CA' or

     p_origem_op = 'OV'.

* << Fim da inclusão

    select single *

      from /pws/zycat031

      into wa_zycat031

     where nrseq_origem = p_nrseq_op

       and despach      = p_despach_op

       and waers        = p_moeda_op.

  else.

    select single *

      from /pws/zycat031

      into wa_zycat031

...

 

...

    shift v_operacao right deleting trailing space.

    while sy-subrc eq 0.

      replace space with '0' into v_operacao.

    endwhile.

    set parameter id '/PWS/ZYCAP005' field v_nrseq.

    set parameter id '/PWS/ZYCAP006' field v_operacao.

    call transaction '/PWS/ZYCA012_E' and skip first screen.

  endif.

  clear v_okcode.

endform.

* >> Início da inclusão:

form busca_parametros_campos.

  clear v_proces.

  if /pws/zycat030-tp_origem = 'FI' or

     /pws/zycat030-tp_origem = 'SI' or

     /pws/zycat030-tp_origem = 'EI' or

     /pws/zycat030-tp_origem = 'DI'.

    v_proces = 'FI'.

  elseif /pws/zycat030-tp_origem = 'FE' or

         /pws/zycat030-tp_origem = 'SE' or

         /pws/zycat030-tp_origem = 'EE' or

         /pws/zycat030-tp_origem = 'CA'.

    v_proces = 'FE'.

  elseif /pws/zycat030-tp_origem = 'PT'.

    v_proces = 'PT'.

  elseif /pws/zycat030-tp_origem = 'PC'.

    v_proces = 'PC'.

  elseif /pws/zycat030-tp_origem = 'OV'.

    v_proces = 'OV'.

  endif.

  clear: wa_zycat031-data_ini,

         wa_zycat031-data_fim.

  loop at itab_zycat048 into wa_zycat048 where processo = v_proces.

    case wa_zycat048-campo.

      when 'DT_INI'.

        if v_proces = 'FI'.

          case wa_zycat048-valor.

            when 'DTINCL'.

              wa_zycat031-data_ini = wa_zycit006_aux-dtincl.

            when 'DTDESEMB'.

              wa_zycat031-data_ini = wa_zycit085_aux-dtdesemb.

            when 'DTINICIO'.

              wa_zycat031-data_ini = wa_zycit001_aux-dtinicio.

          endcase.

        elseif v_proces = 'FE'.

          case wa_zycat048-valor.

            when 'DTEMB'.

              wa_zycat031-data_ini = wa_zycet001_aux-dtemb.

            when 'DTBL'.

              wa_zycat031-data_ini = wa_zycet047_aux-dtbl.

          endcase.

        elseif v_proces = 'PT'.

          case wa_zycat048-valor.

            when 'DTEMB'.

              wa_zycat031-data_ini = wa_zycet001_aux-dtemb.

            when 'DTBL'.

              wa_zycat031-data_ini = wa_zycet047_aux-dtbl.

            when 'DTINCL'.

              wa_zycat031-data_ini = wa_zycet033_aux-dtincl.

            when 'DTDCTO'.

              wa_zycat031-data_ini = wa_zycet033_aux-dtdcto.

            when 'DTLANC'.

              wa_zycat031-data_ini = wa_zycet033_aux-dtlanc.

          endcase.

        elseif v_proces = 'PC'.

          case wa_zycat048-valor.

            when 'BEDAT'.

              wa_zycat031-data_ini = wa_ekko_aux-bedat.

          endcase.

        elseif v_proces = 'OV'.

          case wa_zycat048-valor.

            when 'AUDAT'.

              wa_zycat031-data_ini = wa_vbak-audat.

            when 'ERDAT'.

              wa_zycat031-data_ini = wa_vbak-erdat.

          endcase.

        endif.

      when 'DT_FIM'.

        if v_proces = 'FI'.

          case wa_zycat048-valor.

            when 'DTCHEG'.

              wa_zycat031-data_fim = wa_zycit093_aux-dtcheg.

            when 'DTATRAC'.

              wa_zycat031-data_fim = wa_zycit085_aux-dtatrac.

            when 'DTDESEMB'.

              wa_zycat031-data_fim = wa_zycit085_aux-dtdesemb.

          endcase.

        elseif v_proces = 'FE'.

          case wa_zycat048-valor.

            when 'DTAVERB'.

              wa_zycat031-data_fim = wa_zycet003_aux-dtaverb.

            when 'DTCH'.

              wa_zycat031-data_fim = wa_zycet046_aux-dpch.

          endcase.

        elseif v_proces = 'PT'.

          case wa_zycat048-valor.

            when 'DTAVERB'.

              wa_zycat031-data_fim = wa_zycet003_aux-dtaverb.

            when 'DTCH'.

              wa_zycat031-data_fim = wa_zycet046_aux-dpch.

          endcase.

        elseif v_proces = 'PC'.

          case wa_zycat048-valor.

            when 'EEIND'.

              wa_zycat031-data_fim = wa_eket_aux-eindt.

          endcase.

        endif.

    endcase.

  endloop.

endform.

form busca_despesas_imp using p_novo

                     changing p_erro.

  data:

    wa_zycit085   type ty_zycit085,

    wa_zycit093   type ty_zycit093,

    wa_zycit006   type ty_zycit006,

    wa_zycit001   type ty_zycit001,

    wa_zycat046   type /pws/zycat046,

    v_existe(1)   type c,

    v_embarq(30)  type c,

    v_tabix       type sy-tabix,

    v_count       type /pws/zycat031-operacao,

    v_valor_aux   type /pws/zycat030-valor,

    v_valor_soma  type /pws/zycat030-valor,

    v_ras_rvs     type /pws/zycat030-nrseq,

    v_tp_fatura   type /pws/zycit006-tpfatura,

    begin of itab_zycit094 occurs 0,

       nrseqce    type /pws/zycit094-nrseqce,

       nrseq      type /pws/zycit094-nrseq,

       j_1bbranch type /pws/zycit094-j_1bbranch,

    end of itab_zycit094,

    begin of itab_zycit094_aux occurs 0,

       nrseqce    type /pws/zycit094-nrseqce,

       nrseq      type /pws/zycit094-nrseq,

       j_1bbranch type /pws/zycit094-j_1bbranch,

    end of itab_zycit094_aux,

    begin of itab_zycit019 occurs 0,

       tpdesp       type /pws/zycit019-tpdesp,

       modo_prest   type /pws/zycit019-modo_prest,

       nbs          type /pws/zycit019-nbs,

    end of itab_zycit019,

    begin of itab_zycit047 occurs 0,

       nrseq        type /pws/zycit047-nrseq,

       tpdesp       type /pws/zycit047-tpdesp,

       waers        type /pws/zycit047-waers,

       vldp         type /pws/zycit047-vldp,

       lifnr        type /pws/zycit006-lifnr,

    end of itab_zycit047,

    begin of itab_zycit047_aux occurs 0,

       nrseq        type /pws/zycit047-nrseq,

       tpdesp       type /pws/zycit047-tpdesp,

       waers        type /pws/zycit047-waers,

       vldp         type /pws/zycit047-vldp,

       lifnr        type /pws/zycit006-lifnr,

    end of itab_zycit047_aux,

    begin of itab_zycit006 occurs 0,

       nrseq        type /pws/zycit006-nrseq,

       tpfatura     type /pws/zycit006-tpfatura,

       vlmerc       type /pws/zycit006-vlmerc,

       vlfre        type /pws/zycit006-vlfre,

       vlseg        type /pws/zycit006-vlseg,

       vltotal      type /pws/zycit006-vltotal,

       lifnr        type /pws/zycit006-lifnr,

       nrseqce      type /pws/zycit006-nrseqce,

       nrseq_pgfat  type /pws/zycit006-nrseq_pgfat,

       dtincl       type /pws/zycit006-dtincl,

       waers        type /pws/zycit006-waers,

    end of itab_zycit006,

    begin of itab_zycit001 occurs 0,

       nrseq        type /pws/zycit001-nrseq,

       bukrs        type /pws/zycit001-bukrs,

       waers        type /pws/zycit001-waers,

       j_1bbranch   type /pws/zycit001-j_1bbranch,

       modalidade   type /pws/zycit001-modalidade,

       dtinicio     type /pws/zycit001-dtinicio,

    end of itab_zycit001,

    begin of itab_zycit093 occurs 0,

       nrseqce      type /pws/zycit093-nrseqce,

       dtemiss      type /pws/zycit093-dtemiss,

       dtcheg       type /pws/zycit093-dtcheg,

       vlfre        type /pws/zycit093-vlfre,

    end of itab_zycit093,

    begin of itab_zycit085 occurs 0,

       nrseqdi      type /pws/zycit085-nrseqdi,

       nrdi         type /pws/zycit085-nrdi,

       nrbl         type /pws/zycit085-nrbl,

       vlseg        type /pws/zycit085-vlseg,

       dtatrac      type /pws/zycit085-dtatrac,

       dtdesemb     type /pws/zycit085-dtdesemb,

    end of itab_zycit085.

  v_tp_fatura = '04'.

  select tpdesp modo_prest nbs

    from /pws/zycit019

    into table itab_zycit019

   where siscoserv = 'X'.

  select nrseqce nrseq j_1bbranch

    from /pws/zycit094

    into table itab_zycit094

   where nrseq      in r_embimp

     and j_1bbranch in r_filimp.

  loop at itab_zycit094.

    select single nrseqce dtemiss dtcheg vlfre

      from /pws/zycit093

      into wa_zycit093

     where nrseqce = itab_zycit094-nrseqce.

    if sy-subrc ne 0.

      delete itab_zycit094.

    else.

      if wa_zycit093-dtemiss <= '20120731'.

        delete itab_zycit094.

      endif.

    endif.

  endloop.

  if not itab_zycit094[] is initial.

    select nrseq bukrs waers j_1bbranch

           modalidade dtinicio

      from /pws/zycit001

      into table itab_zycit001

      for all entries in itab_zycit094

      where nrseq = itab_zycit094-nrseq.

    select nrseq tpfatura vlmerc  vlfre

           vlseg vltotal  lifnr   nrseqce

           nrseq_pgfat dtincl waers

      from /pws/zycit006

      into table itab_zycit006

      for all entries in itab_zycit094

      where nrseqce   =  itab_zycit094-nrseqce

        and tpfatura  =  v_tp_fatura

        and lifnr    in  r_forimp

        and waers    in  r_moeimp.

    if not itab_zycit006[] is initial.

      select nrseq tpdesp waers vldp

        from /pws/zycit047

        into table itab_zycit047

        for all entries in itab_zycit006

        where nrseq = itab_zycit006-nrseq.

      loop at itab_zycit047.

        v_tabix = sy-tabix.

        read table itab_zycit019 with key tpdesp = itab_zycit047-tpdesp.

        if sy-subrc ne 0.

          delete itab_zycit047 index v_tabix.

        else.

          read table itab_zycit006

                  into wa_zycit006 with key nrseq = itab_zycit047-nrseq.

          if sy-subrc eq 0.

            itab_zycit047-waers = wa_zycit006-waers.

            itab_zycit047-lifnr = wa_zycit006-lifnr.

            modify itab_zycit047 index v_tabix.

          endif.

        endif.

      endloop.

    endif.

  endif.

  if itab_zycit047[] is initial.

    p_erro = 'X'.

    message i015 with text-i25 text-i26.

    exit.

  endif.

  itab_zycit047_aux[] = itab_zycit047[].

  delete adjacent duplicates from itab_zycit047_aux comparing waers.

  describe table itab_zycit047_aux lines v_count.

  if v_count > 1.

    p_erro = 'X'.

    message i061 with text-i30 text-i33 text-i34.

    exit.

  endif.

  itab_zycit047_aux[] = itab_zycit047[].

  delete adjacent duplicates from itab_zycit047_aux comparing lifnr.

  describe table itab_zycit047_aux lines v_count.

  if v_count > 1.

    p_erro = 'X'.

    message i061 with text-i30 text-i33 text-i34.

    exit.

  endif.

  itab_zycit094_aux[] = itab_zycit094[].

  delete adjacent duplicates from itab_zycit094_aux

                                          comparing j_1bbranch.

  describe table itab_zycit094_aux lines v_count.

  if v_count > 1.

    p_erro = 'X'.

    message i061 with text-i30 text-i33 text-i34.

    exit.

  endif.

  loop at itab_zycit094.

    loop at itab_zycit006 into

              wa_zycit006 where nrseqce  = itab_zycit094-nrseqce.

      loop at itab_zycit047 where nrseq = wa_zycit006-nrseq.

        v_tabix = sy-tabix.

        concatenate itab_zycit094-nrseq

                    wa_zycit006-nrseq

                    itab_zycit047-tpdesp into v_embarq separated by '-'.

        perform verifica_operacao_2 using itab_zycit094-nrseq

                                          wa_zycit006-nrseq

                                          wa_zycit006-waers

                                          itab_zycit047-tpdesp

                                          'DI'

                                 changing v_existe

                                          v_ras_rvs.

        if v_existe = 'X'.

          message i061 with text-i30 v_embarq text-i32.

          delete itab_zycit047 index v_tabix.

        endif.

      endloop.

    endloop.

  endloop.

  if p_novo = 'N'.

    loop at itab_zycit094.

      loop at itab_zycit006 into

                wa_zycit006 where nrseqce  = itab_zycit094-nrseqce.

        loop at itab_zycit047 where nrseq = wa_zycit006-nrseq.

          v_tabix = sy-tabix.

          concatenate itab_zycit094-nrseq

                      wa_zycit006-nrseq

                      itab_zycit047-tpdesp

                 into v_embarq separated by '-'.

          read table itab_zycat031t

                           with key nrseq_origem = itab_zycit094-nrseq

                                         despach = wa_zycit006-nrseq

                                          tpdesp = itab_zycit047-tpdesp.

          if sy-subrc eq 0.

            message i061 with text-i30 v_embarq text-i32.

            delete itab_zycit047 index v_tabix.

          endif.

        endloop.

      endloop.

    endloop.

  endif.

  if itab_zycit047[] is initial.

    p_erro = 'X'.

    message i015 with text-i25 text-i26.

    exit.

  endif.

  select nrseqce dtemiss dtcheg vlfre

    from /pws/zycit093

    into table itab_zycit093

    for all entries in itab_zycit094

    where nrseqce = itab_zycit094-nrseqce.

  select nrseqdi nrdi nrbl vlseg

         dtatrac dtdesemb

    from /pws/zycit085

    into table itab_zycit085

    for all entries in itab_zycit094

    where nrbl = itab_zycit094-nrseqce.

  if p_novo = 'S'.

    clear: v_count.

  else.

    describe table itab_zycat031t lines v_count.

  endif.

  loop at itab_zycit094.

    clear: wa_zycat031,

           wa_zycit085,

           wa_zycit093,

           wa_zycit006,

           wa_zycit001,

           v_valor_aux.

    read table itab_zycit001

       into wa_zycit001 with key nrseq    = itab_zycit094-nrseq.

    read table itab_zycit093

       into wa_zycit093 with key nrseqce  = itab_zycit094-nrseqce.

    read table itab_zycit085

       into wa_zycit085 with key nrbl     = itab_zycit094-nrseqce.

    loop at itab_zycit006 into

              wa_zycit006 where nrseqce  = itab_zycit094-nrseqce.

      loop at itab_zycit047 where nrseq = wa_zycit006-nrseq.

        v_count = v_count + 1.

        if v_count eq 1.

          move:

            wa_zycit001-bukrs         to /pws/zycat030-bukrs,

            wa_zycit001-j_1bbranch    to /pws/zycat030-j_1bbranch,

            wa_zycit006-waers         to /pws/zycat030-waers,

            wa_zycit006-lifnr         to /pws/zycat030-bukrs_ext,

            'A'                       to /pws/zycat030-tp_processo,

            'DI'                      to /pws/zycat030-tp_origem.

          perform informacoes_cabecalho.

        else.

          if wa_zycit001-bukrs       ne  /pws/zycat030-bukrs        or

             wa_zycit001-j_1bbranch  ne  /pws/zycat030-j_1bbranch   or

             wa_zycit006-waers       ne  /pws/zycat030-waers        or

             wa_zycit006-lifnr       ne  /pws/zycat030-bukrs_ext.

            message i061

                    with text-i30 itab_zycit094-nrseq text-i33 text-i34.

            continue.

          endif.

        endif.

        read table itab_zycit019 with key tpdesp = itab_zycit047-tpdesp.

        v_valor_aux = itab_zycit047-vldp.

        move:

          v_count                   to wa_zycat031-operacao,

          /pws/zycat030-cod_pais    to wa_zycat031-cod_pais,

          v_valor_aux               to wa_zycat031-valor,

          v_valor_aux               to wa_zycat031-saldo,

          itab_zycit094-nrseq       to wa_zycat031-nrseq_origem,

          wa_zycit006-nrseq         to wa_zycat031-despach,

          itab_zycit047-tpdesp      to wa_zycat031-tpdesp,

          itab_zycit019-nbs         to wa_zycat031-nbs,

          itab_zycit019-modo_prest  to wa_zycat031-modo_prest.

        clear: wa_zycit001_aux,

               wa_zycit006_aux,

               wa_zycit085_aux,

               wa_zycit093_aux.

        move-corresponding:  wa_zycit001 to wa_zycit001_aux,

                             wa_zycit006 to wa_zycit006_aux,

                             wa_zycit085 to wa_zycit085_aux,

                             wa_zycit093 to wa_zycit093_aux.

        perform busca_parametros_campos.

        append wa_zycat031 to itab_zycat031t.

        v_valor_soma = v_valor_soma + v_valor_aux.

      endloop.

    endloop.

  endloop.

  move: v_valor_soma   to  /pws/zycat030-valor,

        v_valor_soma   to  /pws/zycat030-saldo.

  clear:   r_embimp, r_filimp, r_forimp, r_moeimp.

  refresh: r_embimp, r_filimp, r_forimp, r_moeimp.

endform.

form match_code_pedcompra_2 using p_low_high.

  data: l_display(1) type c,

        itab_result  type table of ddshretval,

        i_fieldname  type dfies-fieldname,

        wa_result    type ddshretval.

  if p_low_high = 'L'.

    i_fieldname = 'LOW'.

  else.

    i_fieldname = 'HIGH'.

  endif.

  call function 'F4IF_FIELD_VALUE_REQUEST'

       exporting

            tabname    = 'R_PCOMPR'

            fieldname  = i_fieldname

            searchhelp = '/PWS/ZYCMA008'

            display    = l_display

       tables

            return_tab = itab_result

       exceptions

            others     = 5.

  if sy-subrc = 0.

  else.

  endif.

  read table itab_result into wa_result index 1.

  if p_low_high = 'L'.

    r_pcompr-low  = wa_result-fieldval.

  else.

    r_pcompr-high = wa_result-fieldval.

  endif.

endform.

form busca_pedido_compra_2 using p_novo

                        changing p_erro.

  data: wa_zycat030    type  /pws/zycat030,

        wa_zycat046    type  /pws/zycat046,

        itab_zycat046  type  table of /pws/zycat046,

        itab_ekko      type  table of ty_ekko,

        itab_ekpo      type  table of ty_ekpo,

        itab_eket      type  table of ty_eket,

        wa_ekko        type  ty_ekko,

        wa_ekpo        type  ty_ekpo,

        wa_eket        type  ty_eket,

        wa_t001w       type  ty_t001w,

        v_valor_total  type  ekpo-netwr,

        v_centro       type  ekpo-werks,

        v_operacao     type  /pws/zycat031-operacao,

        v_tabix        type  sy-tabix,

        v_existe(1)    type  c.

  select ebeln bukrs lifnr

         waers kdate bedat

    from ekko

    into table itab_ekko

   where ebeln in r_pcompr

     and lifnr in r_fornpc

     and waers in r_pmoeda.

  if sy-subrc ne 0.

    message i015 with text-i25 text-i26.

    p_erro = 'X'.

    exit.

  endif.

  loop at itab_ekko into wa_ekko.

    v_tabix = sy-tabix.

    perform verifica_operacao using wa_ekko-ebeln

                                    'PC'

                           changing v_existe.

    if v_existe = 'X'.

      message i061 with text-e35 wa_ekko-ebeln text-e35.

      delete itab_ekko index v_tabix.

    endif.

  endloop.

  if p_novo = 'N'.

    loop at itab_ekko into wa_ekko.

      v_tabix = sy-tabix.

      read table itab_zycat031t

                       with key nrseq_origem = wa_ekko-ebeln.

      if sy-subrc eq 0.

        message i061 with text-e35 wa_ekko-ebeln text-e36.

        delete itab_ekko index v_tabix.

      endif.

    endloop.

  endif.

  if itab_ekko[] is initial.

    message i015 with text-i25 text-i26.

    p_erro = 'X'.

    exit.

  endif.

  select ebeln ebelp matnr werks netwr

    from ekpo

    into table itab_ekpo

    for all entries in itab_ekko

    where ebeln  = itab_ekko-ebeln

      and ebelp in r_item

      and werks in r_centro.

  if itab_ekpo[] is initial.

    message i015 with text-i25 text-i26.

    p_erro = 'X'.

    exit.

  endif.

  select ebeln ebelp etenr eindt

    from eket

    into table itab_eket

    for all entries in itab_ekpo

    where ebeln = itab_ekpo-ebeln

      and ebelp = itab_ekpo-ebelp.

  select *

    from /pws/zycat046

    into table itab_zycat046

    for all entries in itab_ekpo

    where matnr      = itab_ekpo-matnr

      and tpprocesso = 'A'.

  read table itab_ekpo into wa_ekpo index 1.

  v_centro = wa_ekpo-werks.

  select single werks j_1bbranch

    from t001w

    into wa_t001w

   where werks = v_centro.

  if p_novo = 'S'.

    clear: v_operacao.

  else.

    describe table itab_zycat031t lines v_operacao.

  endif.

  loop at itab_ekko into wa_ekko.

    loop at itab_ekpo into wa_ekpo where ebeln = wa_ekko-ebeln.

      clear: wa_zycat046,

             wa_zycat031,

             wa_eket.

      v_operacao = v_operacao + 1.

      if v_operacao eq 1.

        move:

          wa_ekko-bukrs        to  /pws/zycat030-bukrs,

          wa_t001w-j_1bbranch  to  /pws/zycat030-j_1bbranch,

          'A'                  to  /pws/zycat030-tp_processo,

          wa_ekko-lifnr        to  /pws/zycat030-bukrs_ext,

          wa_ekko-waers        to  /pws/zycat030-waers,

          'PC'                 to  /pws/zycat030-tp_origem.

        perform informacoes_cabecalho.

      else.

        if wa_ekpo-werks ne v_centro                or

           wa_ekko-lifnr ne /pws/zycat030-bukrs_ext or

           wa_ekko-waers ne /pws/zycat030-waers.

          message i061

                  with text-i49 wa_ekko-ebeln text-i50.

          continue.

        endif.

      endif.

      read table itab_zycat046 into wa_zycat046

                                       with key matnr = wa_ekpo-matnr.

      read table itab_eket into wa_eket

                                       with key ebeln = wa_ekpo-ebeln

                                                ebelp = wa_ekpo-ebelp.

      move:

        v_operacao               to  wa_zycat031-operacao,

        wa_zycat046-nbs          to  wa_zycat031-nbs,

        wa_zycat046-modo_prest   to  wa_zycat031-modo_prest,

        wa_ekpo-netwr            to  wa_zycat031-valor,

        wa_ekpo-netwr            to  wa_zycat031-saldo,

        /pws/zycat030-cod_pais   to  wa_zycat031-cod_pais,

        wa_ekpo-ebeln            to  wa_zycat031-nrseq_origem,

        wa_ekpo-ebelp            to  wa_zycat031-ebelp.

      v_valor_total = v_valor_total + wa_ekpo-netwr.

      move-corresponding: wa_ekko to wa_ekko_aux,

                          wa_eket to wa_eket_aux.

      perform busca_parametros_campos.

      append wa_zycat031 to itab_zycat031t.

    endloop.

  endloop.

  move: v_valor_total to /pws/zycat030-valor.

  clear:   r_centro, r_pcompr, r_item, r_fornpc, r_pmoeda.

  refresh: r_centro, r_pcompr, r_item, r_fornpc, r_pmoeda.

endform.

form busca_ordem_venda using p_novo

                    changing p_erro.

  data: wa_zycat030     type  /pws/zycat030,

        wa_zycat046     type  /pws/zycat046,

        wa_zycat049     type  /pws/zycat049,

        itab_zycat046   type  table of /pws/zycat046,

        itab_zycat049   type  table of /pws/zycat049,

        itab_vbak       type  table of ty_vbak,

        itab_vbap       type  table of ty_vbap,

        itab_t001w      type  table of ty_t001w,

        itab_vbak_aux   type  table of ty_vbak,

        itab_vbap_aux   type  table of ty_vbap,

        wa_t001w        type  ty_t001w,

        v_valor_total   type  ekpo-netwr,

        v_centro        type  ekpo-werks,

        v_valor_aux     type  /pws/zycat030-valor,

        v_ras_rvs       type  /pws/zycat030-nrseq,

        v_operacao      type  /pws/zycat031-operacao,

        v_posnr         type  /pws/zycat031-despach,

        v_tabix         type  sy-tabix,

        v_total_reg(3)  type  n,

        v_existe(1)     type  c.

  select *

    from /pws/zycat049

    into table itab_zycat049.

  select vbeln auart    kunnr

         waerk bukrs_vf knumv

         audat erdat

    from vbak

    into table itab_vbak

   where vbeln in r_ordem

     and kunnr in r_client

     and waerk in r_vmoeda.

  loop at itab_vbak into wa_vbak.

    v_tabix = sy-tabix.

    read table itab_zycat049 into

                 wa_zycat049 with key auart = wa_vbak-auart.

    if sy-subrc ne 0.

      delete itab_vbak index v_tabix.

    endif.

  endloop.

  if itab_vbak[] is initial.

    message i015 with text-i25 text-i26.

    p_erro = 'X'.

    exit.

  endif.

  select vbeln posnr matnr werks

    from vbap

    into table itab_vbap

    for all entries in itab_vbak

    where vbeln = itab_vbak-vbeln.

  if not itab_vbap[] is initial.

    select werks j_1bbranch

      from t001w

      into table itab_t001w

      for all entries in itab_vbap

    where werks = itab_vbap-werks.

    select *

      from /pws/zycat046

      into table itab_zycat046

      for all entries in itab_vbap

      where matnr      = itab_vbap-matnr

        and tpprocesso = 'V'.

    loop at itab_vbap into wa_vbap.

      clear: wa_t001w.

      v_tabix = sy-tabix.

      read table itab_zycat046 into wa_zycat046

                                       with key matnr = wa_vbap-matnr.

      if sy-subrc ne 0.

        delete itab_vbap index v_tabix.

      else.

        read table itab_t001w into wa_t001w

                                   with key werks = wa_vbap-werks.

        wa_vbap-j_1bbranch = wa_t001w-j_1bbranch.

        modify itab_vbap from wa_vbap index v_tabix.

      endif.

    endloop.

    if not r_filial[] is initial.

      delete itab_vbap where j_1bbranch ne r_filial-low.

    endif.

  endif.

  itab_vbak_aux[] = itab_vbak[].

  delete adjacent duplicates from itab_vbak_aux comparing bukrs_vf.

  describe table itab_vbak_aux lines v_total_reg.

  if v_total_reg > 1.

     message i015 with text-i51 text-i52.

     p_erro = 'X'.

     exit.

  endif.

  itab_vbak_aux[] = itab_vbak[].

  delete adjacent duplicates from itab_vbak_aux comparing kunnr.

  describe table itab_vbak_aux lines v_total_reg.

  if v_total_reg > 1.

     message i015 with text-i51 text-i52.

     p_erro = 'X'.

     exit.

  endif.

  itab_vbak_aux[] = itab_vbak[].

  delete adjacent duplicates from itab_vbak_aux comparing waerk.

  describe table itab_vbak_aux lines v_total_reg.

  if v_total_reg > 1.

     message i015 with text-i51 text-i52.

     p_erro = 'X'.

     exit.

  endif.

  itab_vbap_aux[] = itab_vbap[].

  delete adjacent duplicates from itab_vbap_aux comparing j_1bbranch.

  describe table itab_vbap_aux lines v_total_reg.

  if v_total_reg > 1.

     message i015 with text-i51 text-i52.

     p_erro = 'X'.

     exit.

  endif.

  clear: wa_vbak,

         wa_vbap.

  loop at itab_vbak into wa_vbak.

    loop at itab_vbap into wa_vbap where vbeln = wa_vbak-vbeln.

      v_tabix = sy-tabix.

      write wa_vbap-posnr to v_posnr right-justified.

      overlay v_posnr with '0000000000'.

      perform verifica_operacao_2 using wa_vbak-vbeln

                                        v_posnr

                                        wa_vbak-waerk

                                        ''

                                        'OV'

                               changing v_existe

                                        v_ras_rvs.

      if v_existe = 'X'.

        message i061 with text-e37 wa_vbak-vbeln wa_vbap-posnr text-e36.

        delete itab_vbap index v_tabix.

      endif.

    endloop.

  endloop.

  if p_novo = 'N'.

    loop at itab_vbak into wa_vbak.

      loop at itab_vbap into wa_vbap where vbeln = wa_vbak-vbeln.

        v_tabix = sy-tabix.

        write wa_vbap-posnr to v_posnr right-justified.

        overlay v_posnr with '0000000000'.

        read table itab_zycat031t

                         with key nrseq_origem = wa_vbak-vbeln

                                       despach = v_posnr.

        if sy-subrc eq 0.

          message i061 with text-e37 wa_vbak-vbeln text-e36.

          delete itab_vbak index v_tabix.

        endif.

      endloop.

    endloop.

  endif.

  if itab_vbap[] is initial.

    message i015 with text-i25 text-i26.

    p_erro = 'X'.

    exit.

  endif.

  if p_novo = 'S'.

    clear: v_operacao.

  else.

    describe table itab_zycat031t lines v_operacao.

  endif.

  loop at itab_vbak into wa_vbak.

    loop at itab_vbap into wa_vbap where vbeln = wa_vbak-vbeln.

      clear: wa_zycat046,

             wa_zycat049,

             wa_zycat031.

      v_operacao = v_operacao + 1.

      if v_operacao eq 1.

        move:

          wa_vbak-bukrs_vf     to  /pws/zycat030-bukrs,

          wa_vbap-j_1bbranch   to  /pws/zycat030-j_1bbranch,

          'V'                  to  /pws/zycat030-tp_processo,

          wa_vbak-kunnr        to  /pws/zycat030-bukrs_ext,

          wa_vbak-waerk        to  /pws/zycat030-waers,

          'OV'                 to  /pws/zycat030-tp_origem.

        perform informacoes_cabecalho.

      else.

        if wa_vbak-bukrs_vf    ne /pws/zycat030-bukrs      or

           wa_vbap-j_1bbranch  ne /pws/zycat030-j_1bbranch or

           wa_vbak-kunnr       ne /pws/zycat030-bukrs_ext  or

           wa_vbak-waerk       ne /pws/zycat030-waers.

          message i061

                  with text-i51 wa_vbak-vbeln text-i52.

          continue.

        endif.

      endif.

      read table itab_zycat046 into wa_zycat046

                                       with key matnr = wa_vbap-matnr.

      read table itab_zycat049 into wa_zycat049

                                       with key auart = wa_vbak-auart.

      select single kwert

        from konv

        into v_valor_aux

       where knumv = wa_vbak-knumv

         and kposn = wa_vbap-posnr

         and kschl = wa_zycat049-kschl.

      if v_valor_aux < 0.

        v_valor_aux = v_valor_aux * -1.

      endif.

      move:

        v_operacao              to wa_zycat031-operacao,

        /pws/zycat030-cod_pais  to wa_zycat031-cod_pais,

        v_valor_aux             to wa_zycat031-valor,

        v_valor_aux             to wa_zycat031-saldo,

        wa_vbak-vbeln           to wa_zycat031-nrseq_origem,

        wa_vbap-posnr           to wa_zycat031-despach,

        wa_zycat046-nbs         to wa_zycat031-nbs,

        wa_zycat046-modo_prest  to wa_zycat031-modo_prest.

      perform busca_parametros_campos.

      append wa_zycat031 to itab_zycat031t.

      v_valor_total = v_valor_total + v_valor_aux.

    endloop.

  endloop.

  move: v_valor_total  to  /pws/zycat030-valor,

        v_valor_total  to  /pws/zycat030-saldo.

  clear:   r_vlocal, r_ordem, r_client, r_vmoeda.

  refresh: r_vlocal, r_ordem, r_client, r_vmoeda.

endform.

form user_command_0010.

  data: v_novo(1) type c,

        v_erro(1) type c.

  v_novo = 'N'.

  case v_okcode.

    when 'CONFIRM'.

      perform busca_pedido_compra_2 using v_novo

                                 changing v_erro.

      clear:   r_centro, r_pcompr, r_item, r_fornpc, r_pmoeda.

      refresh: r_centro, r_pcompr, r_item, r_fornpc, r_pmoeda.

      set screen 0.

      leave screen.

    when 'CANCEL'.

      clear:   r_centro, r_pcompr, r_item, r_fornpc, r_pmoeda.

      refresh: r_centro, r_pcompr, r_item, r_fornpc, r_pmoeda.

      set screen 0.

      leave screen.

  endcase.

endform.

form user_command_0011.

  data: v_novo(1) type c,

        v_erro(1) type c.

  v_novo = 'N'.

  case v_okcode.

    when 'CONFIRM'.

      perform busca_ordem_venda using v_novo

                             changing v_erro.

      clear:   r_vlocal, r_ordem, r_client, r_vmoeda.

      refresh: r_vlocal, r_ordem, r_client, r_vmoeda.

      set screen 0.

      leave screen.

    when 'CANCEL'.

      clear:   r_vlocal, r_ordem, r_client, r_vmoeda.

      refresh: r_vlocal, r_ordem, r_client, r_vmoeda.

      set screen 0.

      leave screen.

  endcase.

endform.

form verifica_alteracao_despesas.

  data:

    wa_zycit085      type ty_zycit085,

    wa_zycit093      type ty_zycit093,

    wa_zycit001      type ty_zycit001,

    wa_zycit006      type ty_zycit006,

    wa_zycat031_alt  type ty_zycat031t,

    v_count          type /pws/zycat031-operacao,

    v_ras_rvs        type /pws/zycat030-nrseq,

    v_tp_fatura      type /pws/zycit006-tpfatura,

    v_tp_moeda       type /pws/zycit006-waers,

    v_fornec         type /pws/zycit006-lifnr,

    v_existe(1)      type c,

    v_alter(1)       type c,

    v_tabix          type sy-tabix,

    begin of itab_embarques occurs 0,

       nrseqce      type /pws/zycit094-nrseqce,

       nrseq        type /pws/zycit094-nrseq,

    end of itab_embarques,

    begin of itab_zycit019 occurs 0,

       tpdesp       type /pws/zycit019-tpdesp,

       modo_prest   type /pws/zycit019-modo_prest,

       nbs          type /pws/zycit019-nbs,

    end of itab_zycit019,

    begin of itab_zycit047 occurs 0,

       nrseq        type /pws/zycit047-nrseq,

       tpdesp       type /pws/zycit047-tpdesp,

       waers        type /pws/zycit047-waers,

       vldp         type /pws/zycit047-vldp,

    end of itab_zycit047,

    begin of itab_zycit006 occurs 0,

       nrseq        type /pws/zycit006-nrseq,

       tpfatura     type /pws/zycit006-tpfatura,

       vlmerc       type /pws/zycit006-vlmerc,

       vlfre        type /pws/zycit006-vlfre,

       vlseg        type /pws/zycit006-vlseg,

       vltotal      type /pws/zycit006-vltotal,

       lifnr        type /pws/zycit006-lifnr,

       nrseqce      type /pws/zycit006-nrseqce,

       nrseq_pgfat  type /pws/zycit006-nrseq_pgfat,

       dtincl       type /pws/zycit006-dtincl,

       waers        type /pws/zycit006-waers,

    end of itab_zycit006,

    begin of itab_zycit001 occurs 0,

       nrseq        type /pws/zycit001-nrseq,

       bukrs        type /pws/zycit001-bukrs,

       waers        type /pws/zycit001-waers,

       j_1bbranch   type /pws/zycit001-j_1bbranch,

       modalidade   type /pws/zycit001-modalidade,

       dtinicio     type /pws/zycit001-dtinicio,

    end of itab_zycit001,

    begin of itab_zycit093 occurs 0,

       nrseqce      type /pws/zycit093-nrseqce,

       dtemiss      type /pws/zycit093-dtemiss,

       dtcheg       type /pws/zycit093-dtcheg,

       vlfre        type /pws/zycit093-vlfre,

    end of itab_zycit093,

    begin of itab_zycit085 occurs 0,

       nrseqdi      type /pws/zycit085-nrseqdi,

       nrdi         type /pws/zycit085-nrdi,

       nrbl         type /pws/zycit085-nrbl,

       vlseg        type /pws/zycit085-vlseg,

       dtatrac      type /pws/zycit085-dtatrac,

       dtdesemb     type /pws/zycit085-dtdesemb,

    end of itab_zycit085.

  v_tp_fatura = '04'.

  v_tp_moeda  = /pws/zycat030-waers.

  v_fornec    = /pws/zycat030-bukrs_ext.

  check not itab_zycat031t[] is initial.

  describe table itab_zycat031t lines v_count.

  select tpdesp modo_prest nbs

    from /pws/zycit019

    into table itab_zycit019

   where siscoserv = 'X'.

  select nrseqce nrseq

    into table itab_embarques

    from /pws/zycit094

    for all entries in itab_zycat031t

  where nrseq  = itab_zycat031t-nrseq_origem.

  if not itab_embarques[] is initial.

    select nrseq tpfatura vlmerc  vlfre

           vlseg vltotal  lifnr   nrseqce

           nrseq_pgfat dtincl waers

      from /pws/zycit006

      into table itab_zycit006

      for all entries in itab_embarques

      where nrseqce  = itab_embarques-nrseqce

        and tpfatura = v_tp_fatura

        and lifnr    = v_fornec

        and waers    = v_tp_moeda.

    if not itab_zycit006[] is initial.

      select nrseq tpdesp waers vldp

        from /pws/zycit047

        into table itab_zycit047

        for all entries in itab_zycit006

        where nrseq = itab_zycit006-nrseq.

      loop at itab_zycit047.

        v_tabix = sy-tabix.

        read table itab_zycit019 with key tpdesp = itab_zycit047-tpdesp.

        if sy-subrc ne 0.

          delete itab_zycit047 index v_tabix.

        endif.

      endloop.

    endif.

    select nrseq bukrs waers j_1bbranch

           modalidade dtinicio

      from /pws/zycit001

      into table itab_zycit001

      for all entries in itab_embarques

      where nrseq = itab_embarques-nrseq.

    select nrseqce dtemiss dtcheg vlfre

      from /pws/zycit093

      into table itab_zycit093

      for all entries in itab_embarques

      where nrseqce = itab_embarques-nrseqce.

    select nrseqdi nrdi nrbl vlseg

           dtatrac dtdesemb

      from /pws/zycit085

      into table itab_zycit085

      for all entries in itab_embarques

      where nrbl = itab_embarques-nrseqce.

  endif.

  loop at itab_embarques.

    loop at itab_zycit006 into

              wa_zycit006 where nrseqce  = itab_embarques-nrseqce.

      loop at itab_zycit047 where nrseq  = wa_zycit006-nrseq.

        clear: wa_zycat031_alt.

        read table itab_zycat031t into wa_zycat031_alt

                     with key nrseq_origem = itab_embarques-nrseq

                                   despach = wa_zycit006-nrseq

                                     waers = wa_zycit006-waers

                                    tpdesp = itab_zycit047-tpdesp.

        if sy-subrc eq 0.

        else.

          clear: v_existe,

                 v_ras_rvs.

          perform verifica_operacao_2 using itab_embarques-nrseq

                                            wa_zycit006-nrseq

                                            wa_zycit006-waers

                                            itab_zycit047-tpdesp

                                            'DI'

                                   changing v_existe

                                            v_ras_rvs.

          if v_existe is initial.

            v_count = v_count + 1.

            read table itab_zycit001

            into wa_zycit001 with key nrseq = itab_embarques-nrseq.

            read table itab_zycit093

            into wa_zycit093 with key nrseqce = itab_embarques-nrseqce.

            read table itab_zycit085

            into wa_zycit085 with key nrbl = itab_embarques-nrseqce.

            read table itab_zycit019

                               with key tpdesp  = itab_zycit047-tpdesp.

            wa_zycat031_alt-nrseq         =  /pws/zycat030-nrseq.

            wa_zycat031_alt-operacao      =  v_count.

            wa_zycat031_alt-nbs           =  itab_zycit019-nbs.

            wa_zycat031_alt-modo_prest    =  itab_zycit019-modo_prest.

            wa_zycat031_alt-cod_pais      =  /pws/zycat030-cod_pais.

            wa_zycat031_alt-waers         =  wa_zycit006-waers.

            wa_zycat031_alt-valor         =  itab_zycit047-vldp.

            wa_zycat031_alt-saldo         =  itab_zycit047-vldp.

            wa_zycat031_alt-nrseq_origem  =  itab_embarques-nrseq.

            wa_zycat031_alt-despach       =  wa_zycit006-nrseq.

            wa_zycat031_alt-tpdesp        =  itab_zycit047-tpdesp.

            clear: wa_zycit001_aux,

                   wa_zycit006_aux,

                   wa_zycit085_aux,

                   wa_zycit093_aux.

            move-corresponding:  wa_zycit001 to wa_zycit001_aux,

                                 wa_zycit006 to wa_zycit006_aux,

                                 wa_zycit085 to wa_zycit085_aux,

                                 wa_zycit093 to wa_zycit093_aux.

            perform busca_parametros_campos.

            wa_zycat031_alt-data_ini = wa_zycat031-data_ini.

            wa_zycat031_alt-data_fim = wa_zycat031-data_fim.

            append wa_zycat031_alt to itab_zycat031t.

            v_alter = 'X'.

          endif.

        endif.

      endloop.

    endloop.

  endloop.

  if v_alter = 'X'.

    message i015 with text-i53 text-i43.

  endif.

endform.

form set_screen_origem_3.

  perform determina_origem.

  loop at screen.

    if screen-name cs 'OPTI_PUSH'.

      screen-active = '0'.

    else.

      if screen-name(8)  = 'R_EMBIMP'   or

         screen-name(10) = '%_R_EMBIMP'.

        if not v_freteimp is initial or

           not v_segimp   is initial or

           not v_embimp   is initial or

           not v_despimp  is initial.

          screen-input  = '1'.

          screen-active = '1'.

          clear:   r_embexp, r_pcompr, r_item,   r_fornec, r_filial,

                   r_moeda,  r_centro, r_fornpc, r_pmoeda, r_vlocal,

                   r_ordem,  r_client, r_vmoeda.

          refresh: r_embexp, r_pcompr, r_item,   r_fornec, r_filial,

                   r_moeda,  r_centro, r_fornpc, r_pmoeda, r_vlocal,

                   r_ordem,  r_client, r_vmoeda.

          if v_despimp is initial.

            clear:   r_forimp, r_filimp, r_moeimp.

            refresh: r_forimp, r_filimp, r_moeimp.

          endif.

        else.

          screen-input  = '0'.

          screen-active = '0'.

        endif.

      elseif screen-name(8)  = 'R_FILIMP'   or

             screen-name(10) = '%_R_FILIMP' or

             screen-name(8)  = 'R_FORIMP'   or

             screen-name(10) = '%_R_FORIMP' or

             screen-name(8)  = 'R_MOEIMP'   or

             screen-name(10) = '%_R_MOEIMP'.

        if not v_despimp is initial.

          screen-input  = '1'.

          screen-active = '1'.

        else.

          screen-input  = '0'.

          screen-active = '0'.

        endif.

      elseif screen-name(8)  = 'R_EMBEXP' or

             screen-name(10) = '%_R_EMBEXP'.

        if not v_freteexp   is initial or

           not v_segexp     is initial or

           not v_embexp     is initial or

           not v_comagente  is initial or

           not v_prestconta is initial.

          screen-input  = '1'.

          screen-active = '1'.

          clear:    r_embimp, r_pcompr, r_item,  r_centro, r_fornpc,

                    r_pmoeda, r_vlocal, r_ordem, r_client, r_vmoeda,

                    r_forimp, r_filimp, r_moeimp.

          refresh:  r_embimp, r_pcompr, r_item,  r_centro, r_fornpc,

                    r_pmoeda, r_vlocal, r_ordem, r_client, r_vmoeda,

                    r_forimp, r_filimp, r_moeimp.

          if v_comagente  is initial and

             v_prestconta is initial.

            clear:   r_fornec, r_filial, r_moeda.

            refresh: r_fornec, r_filial, r_moeda.

          endif.

        else.

          screen-input  = '0'.

          screen-active = '0'.

        endif.

      elseif screen-name(8)  = 'R_FORNEC'   or

             screen-name(10) = '%_R_FORNEC' or

             screen-name(8)  = 'R_FILIAL'   or

             screen-name(10) = '%_R_FILIAL' or

             screen-name(7)  = 'R_MOEDA'    or

             screen-name(9)  = '%_R_MOEDA'.

        if not v_comagente  is initial or

           not v_prestconta is initial.

          screen-input  = '1'.

          screen-active = '1'.

        else.

          screen-input  = '0'.

          screen-active = '0'.

        endif.

      elseif screen-name(8)  = 'R_PCOMPR'   or

             screen-name(10) = '%_R_PCOMPR' or

             screen-name(6)  = 'R_ITEM'     or

             screen-name(8)  = '%_R_ITEM'   or

             screen-name(8)  = 'R_CENTRO'   or

             screen-name(10) = '%_R_CENTRO' or

             screen-name(8)  = 'R_FORNPC'   or

             screen-name(10) = '%_R_FORNPC' or

             screen-name(8)  = 'R_PMOEDA'   or

             screen-name(10) = '%_R_PMOEDA'.

        if not v_pedcomp is initial.

          screen-input  = '1'.

          screen-active = '1'.

          clear:   r_embimp, r_embexp, r_fornec, r_filial, r_moeda,

                   r_vlocal, r_ordem,  r_client, r_vmoeda, r_forimp,

                   r_filimp, r_moeimp.

          refresh: r_embimp, r_embexp, r_fornec, r_filial, r_moeda,

                   r_vlocal, r_ordem,  r_client, r_vmoeda, r_forimp,

                   r_filimp, r_moeimp.

        else.

          screen-input  = '0'.

          screen-active = '0'.

        endif.

      elseif screen-name(8)  = 'R_VLOCAL'   or

             screen-name(10) = '%_R_VLOCAL' or

             screen-name(7)  = 'R_ORDEM'    or

             screen-name(9)  = '%_R_ORDEM'  or

             screen-name(8)  = 'R_CLIENT'   or

             screen-name(10) = '%_R_CLIENT' or

             screen-name(8)  = 'R_VMOEDA'   or

             screen-name(10) = '%_R_VMOEDA'.

        if not v_ordvenda is initial.

          screen-input  = '1'.

          screen-active = '1'.

          clear:   r_embexp, r_pcompr, r_item,   r_fornec, r_filial,

                   r_moeda,  r_centro, r_fornpc, r_pmoeda, r_embimp,

                   r_forimp, r_filimp, r_moeimp.

          refresh: r_embexp, r_pcompr, r_item,   r_fornec, r_filial,

                   r_moeda,  r_centro, r_fornpc, r_pmoeda, r_embimp,

                   r_forimp, r_filimp, r_moeimp.

        else.

          screen-input  = '0'.

          screen-active = '0'.

        endif.

      endif.

    endif.

    modify screen.

  endloop.

endform.

* << Fim da inclusão

 

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

Modificações efetuadas em REPT /PWS/SAPMZYCA011

 

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

Incluído símbolo de texto:

 

Idioma: EN

 

Símbolo: E35

 

Texto: (14 caracteres)

"Purchase Order"

 

Comprimento máximo: 16

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: E35

 

Texto: (16 caracteres)

"Pedido de Compra"

 

Comprimento máximo: 16

 

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

Incluído símbolo de texto:

 

Idioma: ES

 

Símbolo: E35

 

Texto: (16 caracteres)

"Pedido de Compra"

 

Comprimento máximo: 16

 

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

Incluído símbolo de texto:

 

Idioma: EN

 

Símbolo: E36

 

Texto: (37 caracteres)

"already used for the type of associat"

 

Comprimento máximo: 37

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: E36

 

Texto: (37 caracteres)

"já utilizado para tipo de associação."

 

Comprimento máximo: 37

 

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

Incluído símbolo de texto:

 

Idioma: ES

 

Símbolo: E36

 

Texto: (37 caracteres)

"ya se utiliza para el tipo de asociac"

 

Comprimento máximo: 37

 

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

Incluído símbolo de texto:

 

Idioma: EN

 

Símbolo: E37

 

Texto: (11 caracteres)

"Sales Order"

 

Comprimento máximo: 14

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: E37

 

Texto: (14 caracteres)

"Ordem de Venda"

 

Comprimento máximo: 14

 

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

Incluído símbolo de texto:

 

Idioma: ES

 

Símbolo: E37

 

Texto: (14 caracteres)

"Orden de venta"

 

Comprimento máximo: 14

 

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

Modificado símbolo de texto:

 

Idioma: EN

 

Símbolo: I32

 

Texto: (46 caracteres)

"already used for creating record in SISCOSERV."

 

Comprimento máximo: 51

 

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

Modificado símbolo de texto:

 

Idioma: PT

 

Símbolo: I32

 

Texto: (51 caracteres)

"já utilizado para criação de registro no Siscoserv."

 

Comprimento máximo: 51

 

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

Modificado símbolo de texto:

 

Idioma: ES

 

Símbolo: I32

 

Texto: (50 caracteres)

"que ya se utiliza para la creación de registros en"

 

Comprimento máximo: 51

 

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

Incluído símbolo de texto:

 

Idioma: EN

 

Símbolo: I49

 

Texto: (14 caracteres)

"Purchase Order"

 

Comprimento máximo: 30

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: I49

 

Texto: (16 caracteres)

"Pedido de Compra"

 

Comprimento máximo: 30

 

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

Incluído símbolo de texto:

 

Idioma: ES

 

Símbolo: I49

 

Texto: (16 caracteres)

"Pedido de Compra"

 

Comprimento máximo: 30

 

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

Incluído símbolo de texto:

 

Idioma: EN

 

Símbolo: I50

 

Texto: (45 caracteres)

"have Centre / Provider or Different Currency."

 

Comprimento máximo: 47

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: I50

 

Texto: (47 caracteres)

"possui Centro / Fornecedor ou Moeda Diferentes."

 

Comprimento máximo: 47

 

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

Incluído símbolo de texto:

 

Idioma: ES

 

Símbolo: I50

 

Texto: (44 caracteres)

"Tener Centro / Proveedor o diferente moneda."

 

Comprimento máximo: 47

 

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

Incluído símbolo de texto:

 

Idioma: EN

 

Símbolo: I51

 

Texto: (11 caracteres)

"Sales Order"

 

Comprimento máximo: 14

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: I51

 

Texto: (14 caracteres)

"Ordem de Venda"

 

Comprimento máximo: 14

 

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

Incluído símbolo de texto:

 

Idioma: ES

 

Símbolo: I51

 

Texto: (14 caracteres)

"Orden de venta"

 

Comprimento máximo: 14

 

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

Incluído símbolo de texto:

 

Idioma: EN

 

Símbolo: I52

 

Texto: (44 caracteres)

"Have Centre / Customer or Different Currency"

 

Comprimento máximo: 44

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: I52

 

Texto: (44 caracteres)

"possui Centro / Cliente ou Moeda Diferentes."

 

Comprimento máximo: 44

 

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

Incluído símbolo de texto:

 

Idioma: ES

 

Símbolo: I52

 

Texto: (42 caracteres)

"tener Centro / Cliente o diferente moneda."

 

Comprimento máximo: 44

 

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

Incluído símbolo de texto:

 

Idioma: EN

 

Símbolo: I53

 

Texto: (35 caracteres)

"There were changes in import costs."

 

Comprimento máximo: 44

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: I53

 

Texto: (44 caracteres)

"Houve Alterações nas Despesas de Importação."

 

Comprimento máximo: 44

 

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

Incluído símbolo de texto:

 

Idioma: ES

 

Símbolo: I53

 

Texto: (42 caracteres)

"Hubo cambios en los costos de importación."

 

Comprimento máximo: 44

 

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

Incluído texto de seleção:

 

Idioma: EN

 

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

 

Texto: (14 caracteres)

"Plants"

 

Referência ao Dictionary: NÃO

 

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

Incluído texto de seleção:

 

Idioma: PT

 

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

 

Texto: (14 caracteres)

"Centro"

 

Referência ao Dictionary: NÃO

 

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

Incluído texto de seleção:

 

Idioma: ES

 

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

 

Texto: (14 caracteres)

"centro"

 

Referência ao Dictionary: NÃO

 

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

Incluído texto de seleção:

 

Idioma: EN

 

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

 

Texto: (21 caracteres)

"Costumer Code"

 

Referência ao Dictionary: NÃO

 

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

Incluído texto de seleção:

 

Idioma: PT

 

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

 

Texto: (25 caracteres)

"Código do Cliente"

 

Referência ao Dictionary: NÃO

 

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

Incluído texto de seleção:

 

Idioma: ES

 

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

 

Texto: (29 caracteres)

"El código del Cliente"

 

Referência ao Dictionary: NÃO

 

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

Incluído texto de seleção:

 

Idioma: EN

 

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

 

Texto: (31 caracteres)

"Branch (Local Business)"

 

Referência ao Dictionary: NÃO

 

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

Incluído texto de seleção:

 

Idioma: PT

 

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

 

Texto: (35 caracteres)

"Filial ( Local de Negócio )"

 

Referência ao Dictionary: NÃO

 

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

Incluído texto de seleção:

 

Idioma: ES

 

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

 

Texto: (35 caracteres)

"Filial ( Local de Negocio )"

 

Referência ao Dictionary: NÃO

 

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

Incluído texto de seleção:

 

Idioma: EN

 

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

 

Texto: (21 caracteres)

"Supplier Code"

 

Referência ao Dictionary: NÃO

 

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

Incluído texto de seleção:

 

Idioma: PT

 

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

 

Texto: (28 caracteres)

"Código do Fornecedor"

 

Referência ao Dictionary: NÃO

 

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

Incluído texto de seleção:

 

Idioma: ES

 

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

 

Texto: (27 caracteres)

"Código de Proveedor"

 

Referência ao Dictionary: NÃO

 

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

Incluído texto de seleção:

 

Idioma: EN

 

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

 

Texto: (21 caracteres)

"Supplier Code"

 

Referência ao Dictionary: NÃO

 

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

Incluído texto de seleção:

 

Idioma: PT

 

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

 

Texto: (28 caracteres)

"Código do Fornecedor"

 

Referência ao Dictionary: NÃO

 

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

Incluído texto de seleção:

 

Idioma: ES

 

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

 

Texto: (27 caracteres)

"Código de Proveedor"

 

Referência ao Dictionary: NÃO

 

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

Incluído texto de seleção:

 

Idioma: EN

 

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

 

Texto: (16 caracteres)

"Currency"

 

Referência ao Dictionary: NÃO

 

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

Incluído texto de seleção:

 

Idioma: PT

 

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

 

Texto: (13 caracteres)

"Moeda"

 

Referência ao Dictionary: NÃO

 

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

Incluído texto de seleção:

 

Idioma: ES

 

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

 

Texto: (14 caracteres)

"Moneda"

 

Referência ao Dictionary: NÃO

 

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

Incluído texto de seleção:

 

Idioma: EN

 

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

 

Texto: (19 caracteres)

"Sales Order"

 

Referência ao Dictionary: NÃO

 

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

Incluído texto de seleção:

 

Idioma: PT

 

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

 

Texto: (22 caracteres)

"Ordem de Venda"

 

Referência ao Dictionary: NÃO

 

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

Incluído texto de seleção:

 

Idioma: ES

 

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

 

Texto: (22 caracteres)

"Orden de venta"

 

Referência ao Dictionary: NÃO

 

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

Incluído texto de seleção:

 

Idioma: EN

 

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

 

Texto: (16 caracteres)

"Currency"

 

Referência ao Dictionary: NÃO

 

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

Incluído texto de seleção:

 

Idioma: PT

 

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

 

Texto: (13 caracteres)

"Moeda"

 

Referência ao Dictionary: NÃO

 

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

Incluído texto de seleção:

 

Idioma: ES

 

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

 

Texto: (14 caracteres)

"Moneda"

 

Referência ao Dictionary: NÃO

 

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

Incluído texto de seleção:

 

Idioma: EN

 

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

 

Texto: (31 caracteres)

"Branch (Local Business)"

 

Referência ao Dictionary: NÃO

 

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

Incluído texto de seleção:

 

Idioma: PT

 

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

 

Texto: (35 caracteres)

"Filial ( Local de Negócio )"

 

Referência ao Dictionary: NÃO

 

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

Incluído texto de seleção:

 

Idioma: ES

 

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

 

Texto: (35 caracteres)

"Filial ( Local de Negocio )"

 

Referência ao Dictionary: NÃO

 

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

Incluído texto de seleção:

 

Idioma: EN

 

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

 

Texto: (16 caracteres)

"Currency"

 

Referência ao Dictionary: NÃO

 

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

Incluído texto de seleção:

 

Idioma: PT

 

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

 

Texto: (13 caracteres)

"Moeda"

 

Referência ao Dictionary: NÃO

 

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

Incluído texto de seleção:

 

Idioma: ES

 

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

 

Texto: (14 caracteres)

"Moneda"

 

Referência ao Dictionary: NÃO

 

 

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

Modificações efetuadas em TRAN /PWS/ZYCAT047

 

*** NOVA TRANSAÇÃO - SE93

Código de transação   /PWS/ZYCAT047

Cl.desenvolvimento    /PWS/ZYCA

Texto da transação    Preenchimento Campos RAS/RVS

Valor Proposto para   (X)Transação - SM30 - Omitir 1ª tela

 

Classificação

*************

Herdar características GUI

 

Classificação de Transação

(X) Transação Professional User

( ) Transação Easy Web

 

Capacidade GUI

**************

(X) SAP GUI para HTML

(X) SAP GUI para Java

(X) SAP GUI para Windows

 

Valores Propostos

*****************

Nome do Campo da Tabela     Valor

VIEWNAME                    /PWS/ZYCAT047

UPDATE                      X

 

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

Modificações efetuadas em TRAN /PWS/ZYCAT048

 

*** NOVA TRANSAÇÃO - SE93

Código de transação   /PWS/ZYCAT048

Cl.desenvolvimento    /PWS/ZYCA

Texto da transação    Parâmetros considerados RAS/RVS

Valor Proposto para   (X)Transação - SM30 - Omitir 1ª tela

 

Classificação

*************

Herdar características GUI

 

Classificação de Transação

(X) Transação Professional User

( ) Transação Easy Web

 

Capacidade GUI

**************

(X) SAP GUI para HTML

(X) SAP GUI para Java

(X) SAP GUI para Windows

 

Valores Propostos

*****************

Nome do Campo da Tabela     Valor

VIEWNAME                    /PWS/ZYCAT048

UPDATE                      X

 

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

Modificações efetuadas em TRAN /PWS/ZYCAT049

 

*** NOVA TRANSAÇÃO - SE93

Código de transação   /PWS/ZYCAT049

Cl.desenvolvimento    /PWS/ZYCA

Texto da transação    Parâmetros Tipo de Ordem / Condição

Valor Proposto para   (X)Transação - SM30 - Omitir 1ª tela

 

Classificação

*************

Herdar características GUI

 

Classificação de Transação

(X) Transação Professional User

( ) Transação Easy Web

 

Capacidade GUI

**************

(X) SAP GUI para HTML

(X) SAP GUI para Java

(X) SAP GUI para Windows

 

Valores Propostos

*****************

Nome do Campo da Tabela     Valor

VIEWNAME                    /PWS/ZYCAT049

UPDATE                      X

 

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

Modificações efetuadas em SHI3 /PWS/ZYCB

 

*** ALTERAÇÕES NO MENU /PWS/ZYCB PELA SE43

 

--> Parâmetros --> Câmbio --> Financeiro --> SISCOSERV

 

Inserir os Itens --> Parâmetros Considerados ao Criar/Associar RAS/RVS  - /PWS/ZYCAT048

                 --> Parâmetros Tipo de Ordem de Venda / Condição       - /PWS/ZYCAT049

 

Inserir no final, após o Item -> Direcionamento de NBS e Modo Prest. Serviço - /PWS/ZYCAT046

 

 

*** ALTERAÇÕES NO MENU /PWS/ZYCB PELA SE43

 

--> Parâmetros --> Técnicos

 

Inserir o Item --> Preenchimento para Campos ao Criar e Associar RAS/RVS - /PWS/ZYCAT047

 

Inserir no final, após o Item -> Autorização de Usuário para Batch Input - /PWS/ZYGLT384

 

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