cap. 2 batch input

25
Capítulo 2 Técnicas de Batch Input - Introdução

Upload: marco-endres

Post on 26-Jul-2015

181 views

Category:

Documents


20 download

DESCRIPTION

sap batch input

TRANSCRIPT

Page 1: Cap. 2 Batch Input

Capítulo 2 Técnicas de Batch Input - Introdução

Page 2: Cap. 2 Batch Input

O que NÃO se deve fazer !!!

Sistema externo (não SAP)Sistema externo (não SAP)

Sistema SAPSistema SAP

BD ou arquivosequencial

BDSAP

Atualização direta dos dados externosnas tabelas da base de dados SAP

Page 3: Cap. 2 Batch Input

Processo aconselhado: BDC

(Batch Data Communication)

Arquivo Sequencial

Queue FileQueue File

Programa de transferência do clientePrograma de transferência do cliente

Batch inputBatch input

SAP R/3SAP R/3

Dados Mestre Cliente

Dados Mestre Fornecedor Documentos

Financeiros

Recebe os dados provenientes dos programas de batch input e agrupa os dados associados em “sessões” ou “pastas” (folders)

Simulação do diálogo com o usuário na introdução manual do mesmo tipo de dados, com as mesmas validações, com a mesma lógica de processamento ...

Page 4: Cap. 2 Batch Input

Programa de Transferência do

Cliente

Programa Batch inputPrograma Batch inputPrograma Batch inputPrograma Batch input

TabelaTabela BDCBDC

TabelaTabela BDCBDC

EstruturaEstruturaBDCDATABDCDATAEstruturaEstruturaBDCDATABDCDATA

Queue fileQueue file

ArquivoArquivosequencialsequencial

DicionárioDicionárioDadosDados

READ DATASET

CALL FUNCTION

INCLUDESTRUCTURE

Page 5: Cap. 2 Batch Input

Queue

Dados de cabeçalho da sessão (APQI)

•Mandante no qual a sessão será processada•Nome da sessão•Usuário de batch input•Data a partir da qual a sessão poderá ser processada•Eliminar sessão após processamento?

Dados de cabeçalho da sessão (APQI)

•Mandante no qual a sessão será processada•Nome da sessão•Usuário de batch input•Data a partir da qual a sessão poderá ser processada•Eliminar sessão após processamento?

Dados (APQD)Dados (APQD)

Page 6: Cap. 2 Batch Input

Criar sessões Batch Input

Abrir sessãobatch input

Abrir sessãobatch input

Introduzir dados das transações

Introduzir dados das transações

Fechar sessãobatch input

Fechar sessãobatch input

Page 7: Cap. 2 Batch Input

Funções para programas de

Batch InputMandanteNome sessãoData de bloqueioApagar sessão processadaNome usuário

MandanteNome sessãoData de bloqueioApagar sessão processadaNome usuário

CLIENTGROUPHOLDKEEP

USER

CLIENTGROUPHOLDKEEP

USER

Código da transaçãoTabela BDC

Código da transaçãoTabela BDC

TCODEDYNPROTAB

TCODEDYNPROTAB

BDC_OPEN_GROUPBDC_OPEN_GROUP

BDC_INSERTBDC_INSERT

BDC_CLOSE_GROUPBDC_CLOSE_GROUP

Page 8: Cap. 2 Batch Input

Função BDC_OPEN_GRO

UPCALL FUNCTION ’BDC_OPEN_GROUP’CALL FUNCTION ’BDC_OPEN_GROUP’

EXPORTING CLIENT = <Mandante> GROUP = <Nome sessão> HOLDDATE = <Data limite bloqueio> KEEP = <Indicador apagar> USER = <Nome usuário>

EXCEPTIONS RUNNING QUEUE_ERROR = 1 CLIENT_INVALID = 2 GROUP_INVALID = 3 . . .

EXPORTING CLIENT = <Mandante> GROUP = <Nome sessão> HOLDDATE = <Data limite bloqueio> KEEP = <Indicador apagar> USER = <Nome usuário>

EXCEPTIONS RUNNING QUEUE_ERROR = 1 CLIENT_INVALID = 2 GROUP_INVALID = 3 . . .

Page 9: Cap. 2 Batch Input

Função BDC_INSERT

CALL FUNCTION ’BDC_INSERT’CALL FUNCTION ’BDC_INSERT’

EXPORTING TCODE = <Código transação>

TABLES DYNPROTAB = <Tabela BDC>

EXCEPTIONS

INTERNAL_ERROR = 1

NOT_OPEN = 2

QUEUE_ERROR = 3

TCODE_INVALID = 4

EXPORTING TCODE = <Código transação>

TABLES DYNPROTAB = <Tabela BDC>

EXCEPTIONS

INTERNAL_ERROR = 1

NOT_OPEN = 2

QUEUE_ERROR = 3

TCODE_INVALID = 4

Page 10: Cap. 2 Batch Input

Tabela BDC: dados de uma

transaçãoDATA: BEGIN OF <Tabela BDC> OCCURS <Parâmetro OCCURS>. INCLUDE STRUCTURE BDCDATA.DATA: END OF <Tabela BDC>.

DATA: BEGIN OF <Tabela BDC> OCCURS <Parâmetro OCCURS>. INCLUDE STRUCTURE BDCDATA.DATA: END OF <Tabela BDC>.

Nome campo Tipo Compr. Descrição

PROGRAM CHAR 40 Pool de módulosDYNPRO NUMC 4 Nº da Tela DYNBEGIN CHAR 1 Iniciar uma telaFNAM CHAR 132 Nome do campoFVAL CHAR 132 Conteúdo do campo

Nome campo Tipo Compr. Descrição

PROGRAM CHAR 40 Pool de módulosDYNPRO NUMC 4 Nº da Tela DYNBEGIN CHAR 1 Iniciar uma telaFNAM CHAR 132 Nome do campoFVAL CHAR 132 Conteúdo do campo

Estrutura BDCDATAEstrutura BDCDATA

Page 11: Cap. 2 Batch Input

Tabela BDC: dados de uma transação

Programa Tela Inicio Nome campo Conteúdo Programa Tela Inicio Nome campo Conteúdo

<nome 1> <num 1> X<campo 1> <valor 1><campo 2> <valor 2> . .

<nome 2> <num 2> X<campo 1> <valor 1><campo 2> <valor 2>

. . . .

<nome 1> <num 1> X<campo 1> <valor 1><campo 2> <valor 2> . .

<nome 2> <num 2> X<campo 1> <valor 1><campo 2> <valor 2>

. . . .

O conteúdo não é case-sensitive

Page 12: Cap. 2 Batch Input

Como preencher a tabela BDC

FORM <fill_tabela_bdc>. REFRESH <tabela bdc>. CLEAR <tabela bdc>. MOVE: <nome prog 1> TO <tabela bdc>-PROGRAM, <num.tela 1> TO <tabela bdc>-DYNPRO, ‘X’ TO <tabela bdc>-DYNBEGIN. APPEND <tabela bdc>. CLEAR <tabela bdc>. MOVE: <campo 1> TO <tabela bdc>-FNAM, <valor 1> TO <tabela bdc>-FVAL. APPEND <tabela bdc>. CLEAR <tabela bdc>.

... MOVE: <campo x> TO <tabela bdc>-FNAM, <valor x> TO <tabela bdc>-FVAL. APPEND <tabela bdc>. ...

CLEAR <tabela bdc>. MOVE <nome programa> TO <tabela bdc>-PROGRAM, <num.tela 2> TO <tabela bdc>-DYNPRO, 'X’ TO <tabela bdc>-DYNBEGIN. APPEND <tabela bdc>. ...

ENDFORM.

FORM <fill_tabela_bdc>. REFRESH <tabela bdc>. CLEAR <tabela bdc>. MOVE: <nome prog 1> TO <tabela bdc>-PROGRAM, <num.tela 1> TO <tabela bdc>-DYNPRO, ‘X’ TO <tabela bdc>-DYNBEGIN. APPEND <tabela bdc>. CLEAR <tabela bdc>. MOVE: <campo 1> TO <tabela bdc>-FNAM, <valor 1> TO <tabela bdc>-FVAL. APPEND <tabela bdc>. CLEAR <tabela bdc>.

... MOVE: <campo x> TO <tabela bdc>-FNAM, <valor x> TO <tabela bdc>-FVAL. APPEND <tabela bdc>. ...

CLEAR <tabela bdc>. MOVE <nome programa> TO <tabela bdc>-PROGRAM, <num.tela 2> TO <tabela bdc>-DYNPRO, 'X’ TO <tabela bdc>-DYNBEGIN. APPEND <tabela bdc>. ...

ENDFORM.

Page 13: Cap. 2 Batch Input

Função BDC_CLOSE_

GROUP

CALL FUNCTION ’BDC_CLOSE_GROUP’CALL FUNCTION ’BDC_CLOSE_GROUP’

EXCEPTIONSNOT_OPEN = 1QUEUE_ERROR = 2

EXCEPTIONSNOT_OPEN = 1QUEUE_ERROR = 2

Page 14: Cap. 2 Batch Input

Exemplo 1: Alterar Dados de

ClientesTransação FD02 - Alterar Dados de ClientesTransação FD02 - Alterar Dados de Clientes

GravarGravar

Cliente 4711

Endereço X

Nome MillerConceito pesq. Teste

Page 15: Cap. 2 Batch Input

Exemplo 1: preparação para o programa de

batch input

Tabela RF02DCampo T0110

Tabela RF02DCampo T0110

Tabela RF02DCampo BUKRS

Tabela RF02DCampo BUKRS

Tabela RF02DCampo KUNNR

Tabela RF02DCampo KUNNR

Informação Técnica / F9

Informação Técnica / F9 Help

F1HelpF1

Programa SAPMF02DNº de tela 106

Programa SAPMF02DNº de tela 106

Cliente

Empresa

Endereço Cliente

Sistema

Status

Page 16: Cap. 2 Batch Input

Exemplo 1: preparação para o programa de

batch input (Screen Painter)

Programa SAPMF02DNº de tela 106

Programa SAPMF02DNº de tela 106

ClienteEmpresa

Endereço

Sistema

Status

Lista de camposLista de campos

Nome Campo Lg Form I ORFD02-KUNNR 16 CHAR x x...RFD02-BUKRS 4 CHAR x x...RFD02-D0110 1 CHAR x x...

Screen PainterScreen Painter

Page 17: Cap. 2 Batch Input

Exemplo 1:

estrutura da tabela

BDCPROGRAMA DYNPRO DYNBEGIN FNAM FVALPROGRAMA DYNPRO DYNBEGIN FNAM FVAL

SAPMF02D 0106 X

RF02D-KUNNR 4711

RF02D-D0110 X

...

SAPMF02D 0110 X

KNA1-SORTL TESTE

BDC_OKCODE /11

KNA1-NAME2 BDC_TEST

SAPMF02D 0106 X

RF02D-KUNNR 4711

RF02D-D0110 X

...

SAPMF02D 0110 X

KNA1-SORTL TESTE

BDC_OKCODE /11

KNA1-NAME2 BDC_TEST

Page 18: Cap. 2 Batch Input

Transação SM35 - Batch input

Sessões de Batch InputLogs das sessões Batch Input

Sessões de Batch InputLogs das sessões Batch Input

Visualizar telas da sessãoVisualizar dados de Batch InputLogs

Visualizar telas da sessãoVisualizar dados de Batch InputLogs

Apagar sessõesBloquear/Desbloquear Sessões

Apagar sessõesBloquear/Desbloquear Sessões

Processar em foregroundVisualizar apenas os errosProcessar em background

Processar em foregroundVisualizar apenas os errosProcessar em background

Visão GeralVisão Geral

AnáliseAnálise

AdministraçãoAdministração

ProcessamentoProcessamento

Funcionalidades:

Page 19: Cap. 2 Batch Input

Modo de

Processament

oProcessamento visível Visualiza todas as telas

Exibir apenas erros Visualiza telas, apenas quando

acontecer algum erro

Oculto Processamento em background

Processamento visível Visualiza todas as telas

Exibir apenas erros Visualiza telas, apenas quando

acontecer algum erro

Oculto Processamento em background

Page 20: Cap. 2 Batch Input

Modo de processam

ento: funções

adicionaisLog Ampliado Além das mensagens tipo E registra

também as dos tipos W, I e S

Modo especial Suprime a mensagem 344 em sessões interativas

Log Ampliado Além das mensagens tipo E registra também as dos tipos W, I e S

Modo especial Suprime a mensagem 344 em sessões interativas

Page 21: Cap. 2 Batch Input

Processamento Batch InputFunçãoFunção

Terminar a transação de batch input correntee marcar como incorretaTerminar a transação de batch input correntee marcar como incorreta

Apagar a transação de batch input correnteda sessãoApagar a transação de batch input correnteda sessão

Terminar processamento batch input e marcar sessão como incorretaTerminar processamento batch input e marcar sessão como incorreta

OK codeOK codeOK codeOK code

/n/n

/bdel/bdel

/bend/bend

Alterar modo de processamento , passar a visualizar telas em vez de ver apenas errosAlterar modo de processamento , passar a visualizar telas em vez de ver apenas erros /bda/bda

/bde/bdeAlterar modo de processamento , passar a visualizar apenas erros em vez de ver as telas

Page 22: Cap. 2 Batch Input

Status da sessãoProcessadaProcessada

DefeituosaDefeituosa

A ser processada

A ser processada

Em criação Em criação

Emprocessamento

Emprocessamento

BackgroundBackground

Sessão processada com sucessoSessão processada com sucesso

Sessão processada mas contendotransações com errosSessão processada mas contendotransações com erros

Sessão foi gravada mas ainda não foiprocessadaSessão foi gravada mas ainda não foiprocessada

Sessão está a ser gravadaSessão está a ser gravada

Sessão está a ser processadaSessão está a ser processada

Sessão agendada para processamento em backgroundSessão agendada para processamento em background

Page 23: Cap. 2 Batch Input

Criar e processar sessões

Arquivos sequenciaisArquivos sequenciais

t

t2

t1

Criar sessão

Processar sessão

Base Dados SAPBase Dados SAP

Page 24: Cap. 2 Batch Input

Resumo: atividades preparatór

iasCorrer (lançar) a transaçãoCorrer (lançar) a transação

Anotar nome dos programas e números das telas

Anotar nome dos programas e números das telas

Anotarnome dos campos

Anotarnome dos campos

Anotar sequência de telase códigos de função

Anotar sequência de telase códigos de função

Criar estrutura da tabela BDC

Criar estrutura da tabela BDC

Page 25: Cap. 2 Batch Input

Resumo: estrutura geral dos programas de batch inputDefinir estruturas

e tabela BDC

Definir estruturase tabela BDC

Abrir arquivo de input e sessãoAbrir arquivo de input e sessão

Ler registros de dadosLer registros de dados

Preencher tabela BDCPreencher tabela BDC

Fechar arquivo de input e sessãoFechar arquivo de input e sessão

Incluir tabela BDC na sessão

Incluir tabela BDC na sessão