Escolar Documentos
Profissional Documentos
Cultura Documentos
Redução do tempo
1º
de solução
2º
Conhecimento mais abrangente
do programa envolvido
3º
Melhor direcionamento ao
desenvolvedor ABAP
4º
Especificações mais
esclarecidas
5º
Colaborar para confirmação do
desenvolvimento realizado
Tipos de Change Requests
• Ambientes: Desenvolvimento
Qualidade
Produção
• Tipos de Change Requests:
Customizing
Workbench
• Transações:
SE01
SE09
SE10
Tipos de Change Requests
Tipos de Change Requests
Área de identificação
Área de Subrotinas
O Editor de Programas e Funções
• Programas/Reports são editados ou exibidos pela transação SE38
O Editor de Programas e Funções
• Funções são editadas ou exibidas pela transação SE37
Tipos de Dados e Declarações
Variáveis Constantes
Campos de
Sistema
Tipos de Dados e Declarações
Variáveis
Tipos de Dados e Declarações
Constantes
Tipos de Dados e Declarações
Tabelas Internas
Tipos de Dados e Declarações
Estruturas
Tipos de Dados e Declarações
Campos de Sistema
Condição IF-ELSE-ENDIF
Instruções de Controle
Condições
Condição CASE
Instruções de Controle
LOOPs
Instruções de Controle
LOOPs
CHECK <condição>.
Exemplo:
DO 4 TIMES.
CHECK SY-INDEX BETWEEN 2 and 3.
WRITE SY-INDEX.
ENDDO.
END LOOP..
Exemplo:
Comando Significado
CONTINUE Passa para o próximo passo no loop sem executar as rotinas
seguintes a ele sem verificar nenhuma condição
CHECK Passa para o próximo passo no loop sem executar as rotinas
seguintes a ele verificando uma condição
EXIT Termina o processamento em loop
Tabelas Internas e Estruturas
Tabela Interna
Internal Sorted
▫ CLEAR <ITAB>
Ordenação:
As tabelas internas Standard e Hashed podem ser
ordenadas.
Comando:
SORT <iTAB> [ASCENDING/DESCENDING]
READ TABLE
DELETE
ENDIF.
Tabelas Internas e Estruturas
Tabela Interna
ST04
Através da transação ST04 é possível utilizar no SAP as instruções ABAP.
É um acesso normalmente concedido a um SAP BASIS, porém é importante
ter conhecimento deste recurso e de como é utilizado. Se você possui
experiência com SQL, um dia poderá lhe ser útil:
Acesso a Banco de Dados
ST04
Exemplo:
SELECT s.hkont
FROM bkpf as b INNER JOIN bsis as s
ON b.bukrs = s.bukrs and b.belnr = s.belnr and
b.gjahr = s.gjahr
WHERE b.bukrs = '1100'
AND b.belnr = 11045676 AND b.gjahr = 2019
Acesso a Banco de Dados
OPEN SQL
Comando Objetivo
Variável de Objetivo
sistema
SY-SUBRC Muito utilizada. Após cada comando, ela
recebe o valor 0 (ZERO) ou “INITIAL”, caso a
operação tenha resultado em sucesso.
SY-DBCNT Retorna o número de registros processados.
Acesso a Banco de Dados
SELECT
• INTO <destino>
Inserindo em variáveis:
DATA: v_bukrs TYPE bkpf-bukrs,
v_belnr TYPE bkpf-belnr,
v_gjahr TYPE bkpf-gjahr.
Inserindo em work-area:
DATA: BEGIN OF wa_bkpf,
v_bukrs TYPE bkpf-bukrs,
v_belnr TYPE bkpf-belnr,
v_gjahr TYPE bkpf-gjahr.
END OF wa_bkpf.
Inserindo em estrutura:
DATA: BEGIN OF wa_bkpf OCCURS 0,
v_bukrs TYPE bkpf-bukrs,
v_belnr TYPE bkpf-belnr,
v_gjahr TYPE bkpf-gjahr.
END OF wa_bkpf.
• FROM <origem>
▫ A cláusula FROM especifica a tabela em que os dados
especificados na cláusula select serão lidos.
▫ As visões de banco de dados também pode ser
utilizadas na cláusula FROM
▫ Podem ser especificados uma tabelas ou mais de uma
tabela, com o uso das cláusulas INNER JOIN ou OUTER
JOIN.
Acesso a Banco de Dados
SELECT
Exemplo:
SELECT s~hkont
FROM bkpf as b INNER JOIN bsis as s
ON b~bukrs = s~bukrs and b~belnr = s~belnr and b~gjahr = s~gjahr
INTO wa_hkont
WHERE b~bukrs = ’1100’
AND b~belnr = ‘11045676’ and b~gjahr = 2019.
Acesso a Banco de Dados
SELECT
TABLES RJFLY.
DATA WA TYPE RJFLY.
WA-CARRID = ‘CH’.
WA-CITYFROM = ‘CHICAGO’.
...
INSERT INTO RJFLY VALUES WA.
WA-CARRID = ‘RJ’.
WA-CITYFROM = ‘RIO’.
...
INSERT RJFLY FROM WA.
Acesso a Banco de Dados
UPDATE
Abaixo, os campos CARRID e CONNID são os campos chaves da tabela SPLFI. Todos
os registros que tiverem como chave os valores AA e 0064, serão atualizados:
• Exemplo de Delete
Todos os registros da tabela SFLIGHT são excluídos onde PLANETYPE tenha o valor
A310 e CARRID tenha o valor LH:
Os campos CARRID e CONNID são campos chave da tabela SPFLI. Os registros com as
chaves primárias AA e 0064 são excluídas.
TABLES SPFLI.
DATA: BEGIN OF WA,
CARRID TYPE SPFLI-CARRID,
CONNID TYPE SPFLI-CONNID,
END OF WA.
MOVE 'AA’ TO WA-CARRID.
MOVE '0064’ TO WA-CONNID.
DELETE SPFLI FROM WA.
Acesso a Banco de Dados
DELETE
Uma tabela interna tipo Hashed é definida com a estrutura das chaves
primárias da tabela SPFLI.
Depois do preenchimento da tabela interna, os registros da tabela do banco
de dados serão excluídos de acordo com os valores das chaves da tabela
interna.
Exemplo:
SELECT-OPTIONS s_air FOR spfli-carrid .
Parâmetro de Tela de Seleção
REPORT ZFIR0001.
...
CALL TRANSACTION ‘FB60’
. ...
Funções e Subrotinas
CALL FUNCTION
• O CALL FUNCTION é um comando utilizado para executar um
determinado módulo de função.
FORM <subrotina>.
<código a ser executado>
ENDFORM.
Exemplo:
FORM CABECALHO.
WRITE: / 'Program started by', SY-UNAME,
/ 'on host', SY-HOST,
'date:', SY-DATUM, 'time:', SY-UZEIT.
ULINE.
ENDFORM.
Funções e Subrotinas
PERFORM
PERFORM <subrotina>[(<programa>)]
Funções e Subrotinas
PERFORM
PROGRAM SAPMZTST.
NUM1 = 2. NUM2 = 4.
PERFORM ADDIT.
FORM ADDIT.
WSOMA = NUM1 + NUM2.
PERFORM OUT.
ENDFORM.
FORM OUT.
WRITE: / 'Soma de', NUM1, 'e', NUM2, 'é’, WSOMA.
ENDFORM.
Funções e Subrotinas
PERFORM
Neste exemplo2 chama um FORM definido em
outro programa
PROGRAM FORMPOOL.
FORM HEADER.
WRITE: / 'Program started by', SY-UNAME,
/ 'on host', SY-HOST,
'date:', SY-DATUM, 'time:', SY-UZEIT.
ULINE.
ENDFORM.
PROGRAM SAPMZTST.
PERFORM HEADER(FORMPOOL).
Funções e Subrotinas
INCLUDE
Copia para dentro de um programa o conteúdo de um programa
tipo include
***INCLUDE STARTTXT.
WRITE: / 'Programa iniciado por', SY-UNAME,
/ 'no servidor', SY-HOST,
'data:', SY-DATUM, 'hora:', SY-UZEIT.
ULINE.
PROGRAM SAPMZTST.
INCLUDE STARTTXT
Funções e Subrotinas
INITIALIZATION
É uma rotina tratada como evento onde é executada antes de ser
apresentada tela ao usuária para inicializar parâmetros de seleção.
INITIALIZATION.
• Desenvolvedores ABAP
Chave de Desenvolvedor
Objeto de
Autorização
• Consultores Funcionais S_DEVELOP
• Role S_DEVELOP
Object Type / ACTVT
DEBUG / 02 e 03
• Consultores, usuários
• Sem objeto de autorização
Role de Autorização
ACTVT:
02 Modificação
03 Exibição
• DUMP error