Entendendo o EML
Introdução
No contexto do ABAP RAP (RESTful Application Programming Model), o EML (Entity Manipulation Language) é a linguagem que você usa para interagir com as entidades definidas no RAP.
Pense nele como uma evolução dos comandos tradicionais de ABAP para manutenção de dados. Com o EML, você consegue realizar operações como CREATE, READ, UPDATE e DELETE diretamente nas entidades do RAP.
É uma ferramenta poderosa que simplifica a manipulação de dados em aplicações modernas e se integra perfeitamente com o modelo de programação do ABAP RAP.
Neste artigo, vamos explorar como usar o EML na prática e entender por que ele é o caminho ideal comparado aos comandos do ABAP Clássico.
Conceitos Básicos do EML
No ABAP RAP, as entidades representam suas estruturas de dados e regras de negócio. O EML permite interagir com essas entidades através de comandos padronizados.
As operações básicas incluem:
- CREATE ENTITY: Criar novas entradas em uma entidade.
- READ ENTITY: Ler dados de uma entidade.
- UPDATE ENTITY: Atualizar entradas existentes.
- DELETE ENTITY: Excluir entradas.
Esses comandos do EML trabalham em conjunto com as interfaces de serviço definidas no RAP. Elas são configuradas no CDS (Core Data Services) e expostas como APIs ou camadas de serviço para interação segura e estruturada.
Utilizando o EML no ABAP RAP
Vamos a um exemplo prático de como usar o EML para manipular uma entidade no RAP. Suponha que temos uma entidade chamada ZI_FAQ.
1. Comando CREATE ENTITY
Para criar novos registros, utilizamos o comando CREATE ENTITY:
" Criar
DATA lt_new_faq TYPE TABLE FOR CREATE zi_faq.
APPEND VALUE #( %cid = 'cid1' Title = 'Manualmente' ) TO lt_new_faq.
MODIFY ENTITIES OF zi_faq
ENTITY zi_faq
CREATE
FIELDS ( title )
WITH lt_new_faq
MAPPED DATA(mapped)
FAILED DATA(failed)
REPORTED DATA(reported).
COMMIT ENTITIES.2. Comando READ ENTITY
Para ler dados de uma entidade, usamos o READ ENTITY. Veja como ler um registro específico:
" Lendo 1 Registro
READ ENTITIES OF zi_faq
ENTITY zi_faq
ALL FIELDS
WITH VALUE #( ( id = 'A5DFDCDBFA321EEEBDFF7110DCCF9C8A' ) )
RESULT DATA(faqs)
FAILED DATA(failed)
REPORTED DATA(reported).E se você precisar ler múltiplos registros de uma vez? É simples:
" Lendo Multiplos
DATA keys TYPE TABLE FOR READ IMPORT zi_faq.
keys = VALUE #( ( id = 'A5DFDCDBFA321EEEBDE4A606E0A9F5C1' )
( id = 'A5DFDCDBFA321EEEBDEA66095C148522' ) ).
READ ENTITIES OF zi_faq
ENTITY zi_faq
ALL FIELDS
WITH CORRESPONDING #( keys )
RESULT DATA(faqs)
FAILED DATA(failed)
REPORTED DATA(reported).3. Comando UPDATE ENTITY
Para atualizar registros existentes, o comando UPDATE ENTITY é o caminho. Veja o exemplo:
MODIFY ENTITIES OF zi_faq
ENTITY zi_faq
UPDATE
FIELDS ( title )
WITH VALUE #( ( id = 'A5DFDCDBFA321EDEBDE76397F7FE8AFC'
title = 'Olá Mundo!'
%control-title = if_abap_behv=>mk-on ) ).
COMMIT ENTITIES.Conclusão
O EML é uma ferramenta essencial para quem deseja desenvolver aplicações modernas no ABAP RAP. Ele simplifica a manipulação de dados, promove boas práticas ao centralizar regras de negócio e facilita o controle de acesso.
Embora o ABAP Clássico ainda seja amplamente usado, o RAP e o EML representam o futuro do desenvolvimento na SAP.
Ao dominar o EML, você se prepara para criar soluções escaláveis, seguras e totalmente alinhadas com as novas tendências do ecossistema SAP.
