Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas

Comando e funções em ABAP 4, Notas de estudo de Engenharia Elétrica

Linguagem de programação em ABAP 4 destinado ao sistema SAP R/3

Tipologia: Notas de estudo

2010
Em oferta
40 Pontos
Discount

Oferta por tempo limitado


Compartilhado em 12/07/2010

Romar_88
Romar_88 🇧🇷

4.6

(82)

221 documentos

1 / 135

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
SAP R/3
ABAP/4
Este material foi elaborado por Amantino Freitas Soares.
cronossp@terra.com.br
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e
pf4f
pf50
pf51
pf52
pf53
pf54
pf55
pf56
pf57
pf58
pf59
pf5a
pf5b
pf5c
pf5d
pf5e
pf5f
pf60
pf61
pf62
pf63
pf64
Discount

Em oferta

Pré-visualização parcial do texto

Baixe Comando e funções em ABAP 4 e outras Notas de estudo em PDF para Engenharia Elétrica, somente na Docsity!

SAP R/

ABAP/

Este material foi elaborado por Amantino Freitas Soares. cronossp@terra.com.br


Comando/Função Descrição Pg ADD Adiciona um valor a um outro campo numérico 6 APPEND Gravar em tabela interna 6 APPEND LINES Copia um parte de uma tabela interna 32 APPEND SORTED BY Usado para classificar tabelas em ordem durante o APPEND

AT END OF Identifica o ultimo registro de uma seqüência (quebra)

AT EXIT-COMMAND Usado para definir a execução de módulos com botões

AT FIRST Identifica o primeiro registro da tabela percorrida

AT LAST Identifica o ultimo registro da tabela percorrida 7 AT LINE-SELECTION Evento para abrir uma segunda tela dentro de um relatório ( drew down )

AT NEW Identifica o primeiro registro de uma seqüência (quebra)

AT SELECTION-SCREEN ON Analisar o resultado de uma variável 7 AT USER-COMMAND Evento para inicializar os botões criados 8 AUTHORITY-CHECK OBJECT Para verificar a autorização de objeto 8 AS TEXT Usado para classificar caracteres acentuados 32 ASSING f1 TO Atribuição Dinamica 31 AS SYMBOL AS ICON AS LINE

Comandos usados para formatação de relatórios. 32

CALL TRANSACTION Comando usado para chamar transações 8 CASE .. WHEN .. ENDCASE Comando para tomadas de desição 9 CHECK Substitui o comando IF 9 CLEAR Limpar o conteúdo de uma variável 9 CLOSE DATASET Fecha um arquivo externo 9 CLOSE_FORM Função usada para fechar um formulário SAPSCRIPT

COLLECT Organiza a tabela com todas as descrições a esquerda totalizando os campos numéricos

COMMIT WORK Efetiva as alterações no banco 10 CONCATENATE Agrupa vários campos em um só 10 CONSTANTS Criar constantes para serem usadas em todo o programa

CONTINUE Volta ao inicio de um loop após a verificação de uma condição

CONDENSE Remove os espaços em branco em um texto Copiando dados de uma tabela interna para outra tabela

DATA Criar tabelas internas e variáveis 11 DELETE Deleta um registro de uma tabela interna 11 DESCRIBE TABLE Determina o numero de linhas de uma tabela interna

DO .. ENDDO Usado para criar loop 11 DOWNLOAD Função para download 11 END_FORM Função usada para finalizar um formulário SAPSCRIPT

END-OF-PAGE Marca o final de uma cabeçalho 12 END-OF-SELECTION Evento para marcar o fim das seleções de dados 12 EXIT Comando usado para sair de um laço ou sub- rotina


SET PARAMETERS Passa parâmetros para chamada de função 23 SKIP Pular uma linha 23 SORT Ordenar o conteúdo de uma tabela interna 24 SPLIT .. AT .. INTO Comando usado para ler arquivo externo e gravar na tabela

STANDARD TOOLBAR Define os valores padrões para os botões do R/3 24 START_FORM Função para inicializar um formulário SAPSCRIPT 25 START-OF-SELECTION Evento para marcar o inicio das seleções de dados

STRLEN Volta o tamanho de um texto 25 SUBCTRACT Subtrai um valor numérico de outro valor 26 SUM Totaliza um campo numérico 26 SXPG_CALL_SYSTEM Função que executa comandos externos no servidor

SY-BATCH Indica a execução em Background 27 SY-DATUM Volta a data do sistema 27 SY-LANGU Retorna a linguagem do logon 27 SY-LINNO Linha corrente de um relatório 27 SY-LISEL Linha escolhida em relatórios interativos 27 SY-MANDT Volta o valor do mandante 27 SY-PAGNO Faz a paginação automática ( nr de paginas ) 27 SY-SUBRC Volta o resultado de uma pesquisa 27 SY-TABIX Linha corrente de uma tabela interna 27 SY-TVAR0 .. SY-TVAR9 Elementos de textos, para títulos de relatórios 27 SY-UCOMM Variável do sistema que retorna o nome de um botão ou evento

SY-UNAME Retorna o nome do Usuário 27 SY-UZEIT Retorna a hora do sistema 27 SY-VLINE Serve para fazer o fechamento de bordas de um relatório

SY-ULINE Imprime uma linha com n posições 27 SY-CPROG Nome do programa principal 27 SY-TCODE Código da transação 27 SY-DBCNT Contador de interação para SELECT 27 TABLES Usado para abrir tabelas 27 TOP-OF-PAGE Marcar o inicio de uma cabeçalho 28 TRANSFER .. TO .. Usado para ler e gravar em arquivo externo (UNIX)

TRANSLATE Transforma texto minúsculo em maiúsculo 28 TYPES Define tipos e tabelas interna 28 ULINE Coloca uma linha continua na tela 28 UNPACK Coloca zeros a frente de um numero 29 UPDATE Atualiza uma tabela transparente 29 VARYING Obtem os componentes de uma string de campo e seguencia.

WHILE .. ENDWHILE Cria laços de execução 29 WRITE Saída de relatório 29 WRITE_FORM Função para escrever no formulário SAPSCRIPT 30 WS_UPLOAD Função para fazer UPLOAD de arquivo externo 31

Exemplo de programas usando comandos e funções

Programa 1 WRITE FORMAT SKIP ULINE


Programa 2 TABLES SELECT DATA REFRESH CLEAR LOOP LINE-SIZE LINE-COUNT PARAMETERS SORT READ TABLE

Programa 3 SELECTION-SCREEN SELECTION-OPTIONS SELECT INTO TABLE SELECT INTO TABLE INNER JOIN INITIALIZATION START-OF-SELECTION END-OF-SELECTION

Programa 4 NO STANDARD PAGE HEADING AT SELECTION-SCREEN ON TOP-OF-PAGE END-OF-PAGE MESSAGE-ID MESSAGE SY-SYBRC CONCATENATE

Programa 5 APPEND AT END OF SY-DATUM SY-PAGNO AT LINE-SELECTION IF NOT IS INITIAL SET TILTEBAR SY-ULINE SY-VLINE HIDE SUM

Programa 6 DATA (INCLUDE STRUCTURE) CONSTANTS PARAMETERS RLGRAP-FILENAME WS_UPLOAD SY-MANDT SPLIT UNPACK INSERT MOVE-CORRESPONDING COMMIT WORK

Programa 7 CALL TRANSACTION 50 Programa 8 PARAMETERS RADIOBUTTON GUI_DOWNLOAD MESSAGE xxx WITH TRANSFER READ DATASET CLOSE DATASET OPEN DATASET

Programa 9 SXPG_CALL_SYSTEM 61 Programa 10 GRAPH_MATRIX_3D 62


ADD var1 TO var2 Comando usado adicionar um valor a outro campo numérico.

DATA wa TYPE I VALUE 3. DATA wb TYPE I VALUE 4.

ADD wa TO wb.

WRITE wa. “ retorna 3 WRITE wb. “ retorna 7

APPEND t_tabela Comando usado para gravar em tabela interna

APPEND t_tabela.

AT END OF campo Em conjunto com o comando LOOP, identifica o ultimo registro de uma seqüência.

SORT BY campo. LOOP AT t_tabela. …. AT END of campo. “ antes de mudar de campo ( valor do campo ) é que é realizada a …. “ verificação ENDAT. ENDDLOOP.

AT EXIT-COMMAND Usado para definir se será executado um modulo dentro das rotinas on-line. Tratativa de botões.

MODULE nome_do_modulo AT EXIT-COMMAND. (*) MODULE nome_do_modulo.

(*) Se os botões STANDARD TOOLBAR estiverem definidos com o tipo E, será executado este modulo, antes do modulo seguinte.

AT FIRST Em conjunto com o comando LOOP, identifica o primeiro registro de uma tabela percorrida.

SORT BY campo. LOOP AT t_tabela. AT FIRST. “ entra nesta rotina ao iniciar o LOOP, somente no primeiro registro. …. ENDAT. ... ENDDLOOP.


AT LAST Em conjunto com o comando LOOP, identifica o ultimo registro de uma tabela percorrida.

SORT BY campo. LOOP AT t_tabela. .... AT LAST. “entra nesta rotina ao finalizar o LOOP, somente no ultimo registro. …. ENDAT. ENDDLOOP.

AT LINE-SELECTION Evento usado para abrir uma segunda tela em um relatório ( drill down )

AT LINE-SELECTION.

IF NOT T_MARC IS INITIAL.

SET TITLEBAR 'DET'.

WRITE SY-ULINE(83).

WRITE :'Material : '. WRITE : T_MARC-MATNR,' - ' .... ENDIF.

AT NEW campo Em conjunto com o comando LOOP, identifica o primeiro registro de uma seqüência (quebra)

SORT BY campo. LOOP AT t_tabela. AT NEW campo. “ entra nesta rotina ao mudar de campo. …. ENDAT. ... ENDDLOOP.

AT SELECTION-SCREEN ON

variável

Verifica o resultado de uma variável de seleção (conteúdo)

SELECTION-SCREEN BEGIN OF BLOCK b_janela WITH FRAME TITLE text-001. SELECT-OPTIONS s_material FOR T_MARC-MATNR. SELECTION-SCREEN END OF BLOCK b_janela.

AT SELECTION-SCREEN ON s_material.


CASE .. WHEN .. ENDCASE. Comando usado para controle de variáveis

CASE vl_okcode. WHEN 'SIM'. ... WHEN 'NAO'. ... WHEN OTHERS. ... ENDCASE.

CHECK var Semelhante ao comando IF. Se a condição for verdadeira continua logo após a verificação, se não aborta a execução.

FORM dados. LOOP AT t_tabela. t_tabela-campo = KUNNR. CHECK t_tabela-campo = ‘0001’. “ se o conteúdo do campo for igual a ‘0001’, continua t_tabela-campo = ‘0002’. “ executando a instrução abaixo, se for diferente aban APPEND t_tabela. “dona o loop e sai do form. ENDDLOOP. ENDFORM.

CLEAR var Limpa o conteúdo de uma variável ou tabela

CLEAR var. CLEAR t_tabela. “ limpa o header line

CLOSE DATSET Fecha um arquivo externo

CLOSE arquivo.

CLOSE_FORM Função para fechar um SAPSCRIPT

CALL FUNCTION 'CLOSE_FORM'

IMPORTING

RESULT = t_result “ tabela interna EXCEPTIONS UNOPENED = 1 BAD_PAGEFORMAT_FOR_PRINT = 2 SEND_ERROR = 3 SPOOL_ERROR = 4 CODEPAGE = 5 OTHERS = 6. IF SY-SUBRC <> 0. MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF.


COLLECT t_tabela Organiza a tabela interna com todas as descrições a esquerda totalizando os campos numericos

COLLECT t_tabela.

Exemplo :

Tabela-nome = ´JOAO´. , Tabela-uf = ‘SP’. , Tabela-valor = 100. COLLECT tabela. Tabela-nome = ´JOAO´. ,Tabela-uf = ‘RJ’. , Tabela-valor = 300. COLLECT tabela. Tabela-nome = ´JOAO´. , Tabela-uf = ‘SP’., Tabela-valor = 500. COLLECT tabela.

Resultado : JOAO SP 600, JOAO RJ 300.

COMMIT WORK Efetiva as alterações no Banco de dados

COMMIT WORK.

CONCATENATE var1 var2 INTO var

Agrupa varias variáveis em uma única variável

CONCATENATE ‘abc’ ‘XXX’ INTO var3. “ var3 = abcXXX

CONSTANTS ct1 TYPE tp VALUE x Criar constantes que podem ser usadas em todo o programa

CONSTANTS c_tipo TYPE C VALUE ‘;’.

CONTINUE Volta ao inicio de um loop após a verificação de uma condição.

FORM dados. DO condição. t_tabela-campo = KUNNR. IF t_tabela-campo = ‘0001’. CONTINUE. “ se o conteúdo do campo for igual a ‘0001’, volta ao inicio ELSE. “ do loop. EXIT. ENDIF. ENDDO. ENDFORM.

CONDENSE var Remove os espaços em branco em um texto

Var = ´ Dr.’. CONDENSE var.

DATA var TYPE tp. DATA var LIKE tp.

Define tabelas internas e variáveis.


END_FORM Função usada para finalizar um SAPSCRIPT

CALL FUNCTION 'END_FORM'

IMPORTING

RESULT = t_result EXCEPTIONS UNOPENED = 1 BAD_PAGEFORMAT_FOR_PRINT = 2 SPOOL_ERROR = 3 CODEPAGE = 4 OTHERS = 5 . IF SY-SUBRC <> 0. MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF.

END-OF-PAGE Marca o final de um cabeçalho de relatório

TOP-OF-PAGE. WRITE ‘NOVO CABECALHO DEFINIDO PELO PROGRAMA’. END-OF-PAGE.

END-OF-SELECTION Evento usado para marcar o fim das seleções de dados.

START-OF-SELECTION.

SELECT marc~matnr marc~werks t001w~name1 makt~maktx INTO TABLE t_marc FROM marc INNER JOIN t001w ON marc~werks = t001w~werks INNER JOIN makt ON marc~matnr = makt~matnr and makt~spras = sy-langu WHERE t001w~werks IN S_CENTRO AND marc~matnr IN S_MATERI.

END-OF-SELECTION.

EXIT Comando usado para sair de um laço ou sub-rotina

FORM dados. DO condição. t_tabela-campo = KUNNR. IF t_tabela-campo = ‘0001’. CONTINUE. ELSE. EXIT. “ força a saída do loop e sai do form ENDIF. ENDDO. ENDFORM.


FORM Indica o inicio de uma sub-rotina

FORM dados. . . . ENDFORM.

FORMAT COLOR cor Usado para formatar a saúda do comando WRITE

FORMAT COLOR COL_TOTAL.

WRITE 'QUALQUER COISA'.

FORMAT COLOR COL_KEY.

WRITE / 'QUALQUER COISA'.

FORMAT COLOR COL_BACKGROUND. " VOLTA AO PADRÃO

FREE t_tabela Libera espaço utilizado por uma tabela interna na memória

FREE t_tabela.

Funções matemáticas e operadores logicos

** Exponenciação DIV Divisão de inteiro MOD Resto da divisão de inteiro

GRAPH_MATRIX_3D Função para criar gráficos

CALL FUNCTION 'GRAPH_MATRIX_3D'

EXPORTING

COL1 = 'TV' “ nome das colunas COL2 = 'VIDEO CASSETE' COL3 = 'RADIO' COL4 = 'DVD'

  • COL5 = ' '
  • COL6 = ' ' DIM1 = 'PRODUTOS' “ eixo X,Y DIM2 = 'VENDEDOR' INFORM = '6' TITL = 'VENDAS 2003' “ TITULO DO GRAFICO VALT = 'QTD' “ valor do eixo WINPOS = '5' “ posição inicial WINSZX = '5' WINSZY = '70' TABLES DATA = t_vendedor “ tabela com o nome dos vendedores OPTS = t_tabela. “ tabela de valores

HIDE Usado para definir campos para uma segunda janela em relatórios.

SORT T_MARC BY matnr werks lgort. LOOP AT T_MARC. WRITE /5 T_MARC-MATNR. WRITE 18 T_MARC-MAKTX. WRITE 60 T_MARC-WERKS. WRITE 80 T_MARC-NAME1. WRITE 120 T_MARC-LGORT. WRITE 140 T_MARC-LFGJA. WRITE 150 T_MARC-LFMON. WRITE 160 T_MARC-LABST.

  • HIDE com os campos que queiramos mostrar na nova janela. Deve ser colocado depois de imprimir linha HIDE :T_MARC-MATNR,T_MARC-MAKTX,T_MARC-WERKS, T_MARC-NAME1. ENDLOOP.

ID .. FIELD .. Objetos de autorização. Serve para selecionarmos quais objetos dentro de uma classe de autorização que iremos tratar.

AUTHORITY-CHECK OBJECT 'ZZC0307Y' (*)

ID 'actvt' FIELD 'DUMMY'. “Objetos da autorização

IF SY-SUBRC NE 0. MESSAGE E006 WITH TEXT-E01. ENDIF. (*) comando para verificar autorização de objeto, usar junto com SU21 e SU

IF .. ELSE .. ENDIF. Comando de desição.

IF var = ‘A’. .... ELSE. .... ENDIF.

IF NOT .. IS INITIAL. Verifica se uma variável ou tabela interna esta vazia.

IF NOT var IS INITIAL. .... ENDIF.


INITIALIZATION. Evento para inicializar as variáveis. Deve ser o primeiro evento a ser colocado no programa. Não é um evento obrigatório.

TABLES ....

DATA .....

INITIALIZATION.

INSERT t_tabela_transparente. Insere o conteúdo de uma variável em uma tabela transparente

INSERT tabela.

LEAVE PROGRAM. Comando usado para sair de um programa on-line.

LEAVE PROGRAM.

LEAVE TO SCREEN nnnn. Comando usado para mudar de tela dentro de programas on-line.

LEAVE TO SCREEN 9000. “ 9000 , numero da tela

LINE-COUNT nnn. LINE-SIZE nnn.

Numero de linhas por pagina. Numero de colunas por pagina.

  • Estes comandos são usados dentro do comando REPORT no inicio do programa.

REPORT LINE-COUNT 60 LINE-SIZE 130.

LOOP AT t_tabela. Comando usado para ler uma tabela interna.

LOOP AT t_tabela. . . ENDDLOOP.


NEW-PAGE Inicia uma nova pagina em um relatório.

NEW-PAGE.

NO STANDARD PAGE HEADING Ignora o cabeçalho STD do R/

  • Deve ser usado em conjunto com o comando REPORT

REPORT LINE-COUNT 80 LINE-SIZE 60 MESSAGE-ID Z01 NO STANDARD PAGE HEADING.

OPEN DATASET arquivo FOR OUTOUT/INPUT IN TEXT MODE parametro.

Comando usado para abrir um arquivo externo. Usado somente em servidores UNIX.

  • para exportar o arquivo OPEN DATASET p_arq FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.

  • para importar o arquivo OPEN DATASET p_arq FOR INPUT IN TEXT MODE ENCODING DEFAULT.


OPEN_FORM Função usada para abrir um SAPSCRIPT

CALL FUNCTION 'OPEN_FORM'

EXPORTING

DEVICE = 'PRINTER'

DIALOG = 'X'

FORM = 'Z_C01001' “ nome do formulário sapscript

  • LANGUAGE = SY-LANGU IMPORTING
  • LANGUAGE =
  • NEW_ARCHIVE_PARAMS = RESULT = t_RESULT “ tabela interna para receber parâmetros EXCEPTIONS CANCELED = 1 DEVICE = 2 FORM = 3 OPTIONS = 4 UNCLOSED = 5 MAIL_OPTIONS = 6 ARCHIVE_ERROR = 7 INVALID_FAX_NUMBER = 8 MORE_PARAMS_NEEDED_IN_BATCH = 9 SPOOL_ERROR = 10 CODEPAGE = 11 OTHERS = 12.

IF SY-SUBRC <> 0. MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF.

PARAMETERS parâmetro LIKE tabela PARAMETERS parâmetro TYPE tipo PARAMETERS botão RADIOBUTTON GROUP grupo.

Cria parâmetros de seleção para janelas.

PARAMETERS P_WERKS LIKE T_001W-WERKS. “ com os mesmos atributos do campo PARAMETERS CODIGO(3) TYPE C.

  • para criar radio-button PARAMETERS p_bot1 RADIOBUTTON GROUP g1. PARAMETERS p_bot2 RADIOBUTTON GROUP g1.
  • faz com que o parâmetro seja obrigatório. PARAMETERS p_matnr LIKE T_MARA-MATNR OBLIGATORY.
  • RLGRAP-FILENAME valor padrão para receber nomes de arquivos a importar e exportar
  • arquivos PARAMETERS P_ARQ LIKE RLGRAP-FILENAME. " OBLIGATORY.
  • PARA CRIAR VARIANTS DE EXIBIÇÃO PARA RELATÓRIOS ALV PARAMETERS p_varia LIKE disvariant-variant. "Variante de exibição