Richiede licenza cliente/partner
Principiante
45 min.
Sviluppo ABAP,Principiante,Esercitazione
Crea e consuma eventi aziendali in un sistema On-Premise
Imparerai
- Come impostare un canale per connettersi a SAP Event Mesh
- Come consumare un evento con RAP in un sistema On-Premise
Niloofar Flothkötter22 maggio 2023
Prerequisiti
- Devi avere accesso a due sistemi On-Premise 2022 con l'autorizzazione per creare e gestire un canale.
- È necessario preparare un'istanza di mesh di eventi nel sistema della piattaforma tecnologica aziendale SAP e scaricare la chiave di servizio di questa istanza. Per maggiori informazioni consultare ilCrea un'istanza di SAP Event Mesh
Sostituire sempre
####
con le vostre iniziali o il numero del gruppo.
L'ABAP RESTful Application Programming Model (RAP) ora supporta il consumo nativo e l'esposizione di eventi aziendali dalla versione 2022. Per l'esposizione, un evento può essere definito e generato in un oggetto aziendale RAP o nell'estensione del comportamento e quindi pubblicato tramite associazioni di eventi.
Passo 1
Un modello di consumo di eventi è un insieme di artefatti ABAP che consente di ricevere eventi da applicazioni esterne e di utilizzarli all'interno dell'applicazione aziendale. Puoi avere una vasta gamma di produttori di eventi. Quindi, devi sapere come appare esattamente l'evento emesso. A tal fine, è necessario un file che contenga i metadati di questo evento come l'aspetto del payload, che tipo di tipi ci sono e così via. Questo è tutto specificato nel file di specifica dell'evento, in questo caso,
AsyncAPI
specifica, che è supportata da SAP e può essere scaricata da SAP API Business Hub in formato JSON. A tale scopo, è necessario scaricare una specifica dell'evento per l'eventosocio in affaridall'hub API.-
AccedereCentro aziendale SAPe scegliSAP S/4HANA.
-
SottoSAP S/4HANAscegliereEventischeda e cercaresocio in affari.
-
ClicSpecifica dell'eventoe scarica il file JSON.
-
Passo 2
Qui creerai un modello di consumo di eventi con il file
.json
file scaricato nell'ultimo passaggio.Apri ADT e apri il tuo sistema S/4HANA.
Crea un nuovoPacchetto ABAPse non ne hai uno. Assicurati che il nome del tuo pacchetto sia conzPiace
- Nome:
ZEVENT_CONSUMTION_####
- Descrizione:
consumo di eventi
- Nome:
Fai clic con il pulsante destro del mouse sul pacchetto e scegliNuovo>Altro oggetto repository ABAP>Servizi per gli affari>Modello di consumo degli eventie cliccaProssimoper avviare la procedura guidata di creazione.
Compila i campi e carica il file
.json
file salvato in precedenza nella nuova procedura guidata ADT per il consumo di eventi. Questo genererà quindi automaticamente tutto ciò di cui hai bisogno in questo modello di consumo di eventi, come il codice personalizzato del gestore eventi, i valori predefiniti di autorizzazione e il servizio in entrata.- Nome: verrà creato con il Prefisso e l'Identificativo
- Descrizione:
modello di consumo degli eventi
- Spazio dei nomi/ Prefisso/ Identificatore :
z
EEVENTO####
- File delle specifiche dell'evento:
.json
file
clicProssimo.
Seleziona tutti i tipi di eventi che desideri consumare nella tua applicazione aziendale e fai clicProssimo.
ClicProssimodiDefinire gli artefatti del consumatore
InElenco di generazione di artefatti ABAPclicProssimo.
Seleziona unRichiesta di trasportoe cliccaFine.
Nel modello di consumo degli eventi creato è possibile vedere il selezionatoTipi di eventiche vengono assegnati a causa del tuo
.json
file.Salva e attiva il tuo modello di consumo degli eventi.
Passaggio 3
In questa fase è possibile creare una tabella DB e salvare gli ID dei business partner in questa tabella DB. Con questo puoi consumare l'evento che viene creato in un sistema S/4. La creazione di una tabella DB in questo tutorial è solo per aiutarti a salvare e controllare gli ID creati.
Fai clic con il pulsante destro del mouse sul pacchetto e scegliNuovo>Altro oggetto repository ABAP>Tabella databasee cliccaProssimo
Inserisci il seguente nome e descrizione:
- Nome:
ZTABLE_####
- Descrizione:
Tabella della banca dati
clicProssimo, seleziona unRichiesta di trasportoe cliccaFine.
- Nome:
Definisci la tabella con questo codice e sostituisci tutto####con il tuo numero:
ZTABLE_####
copia
@EndUserText.label : 'Tabella del database' @AbapCatalog.enhancement.category : #NOT_EXTENSIBLE @AbapCatalog.tableCategory : #TRANSPARENT @AbapCatalog.deliveryClass : #A @AbapCatalog.dataMaintenance : #RESTRICTED define table ztable_#### { key client : abap.clnt non nullo; chiave recorddate : abap.dats non nullo; chiave recordtime : abap.tims non nullo; carico utile: abap.char(1000); }
Salva e attiva la tabella.
Passaggio 4
Nella classe di estensione del consumatore, è possibile implementare la logica di elaborazione degli eventi. Nella classe generata, puoi trovare per ogni tipo di evento dell'Event Consumption Model un rispettivo metodo di gestione dell'evento. In ogni metodo è possibile trovare il tipo di evento corrispondente ei dati aziendali digitati per questo evento. Quest'ultimo è commentato in modo da poter implementare la propria logica.
Navigare versoServizio per affari>Modelli di consumo degli eventi>
ZEVENT####
>Classi>ZCL_EVENT####
che viene generato (oppure puoi navigare nel fileLibreria del codice sorgente>ZCL_EVENT####
). Qui puoi vedere il metodo di creazione.Rimuovi commento da queste righe:
DATI ls_business_data TIPO STRUTTURA PER GERARCHIA Z_BusinessPartner_Created_v1. ls_business_data = io_event->get_business_data( ).
Devi copiare il codice qui sotto e sostituirlo nel tuo metodo. Sostituisci tutto####con il tuo numero:
ZCL_EVENT####
copia
DATI ls_business_data TIPO STRUTTURA PER GERARCHIA Z_BusinessPartner_Created_v1. DATI wa TIPO ztable_####. ls_business_data = io_event->get_business_data( ). wa-payload = ls_business_data-BusinessPartner. DATA(sydatum) = cl_abap_context_info=>get_system_date( ). DATA(sytime) = cl_abap_context_info=>get_system_time( ). wa-recorddate = sydatum. wa-recordtime = sytime. DELETE FROM ztable_#### WHERE recorddate < @sydatum. INSERISCI ztable_#### DA @wa.
Il tuo codice sarà simile al seguente:
Puoi sollevare un'eccezione ogni volta che c'è un problema. Ciò implica che l'elaborazione dell'evento non è riuscita e quindi imposta lo stato dell'evento sufallito. Per vedere l'eccezione, apriFinestra>Mostra vista>AltroCercareLettore di alimentazione. Qui puoi vedere un messaggio se viene sollevato un problema.
Passaggio 5
Per scambiare correttamente eventi tra SAP Event Mesh e un sistema SAP S/4HANA on-premise, è necessaria una connessione corrispondente. Questa connessione viene mantenuta dal framework Enterprise Event Enablement durante la creazione del canale. Per utilizzare gli eventi, è necessario configurare anche le associazioni in entrata e le sottoscrizioni del canale.
Passaggio 6
Un canale rappresenta una singola connessione a un'istanza del servizio di theSAPEvent Mesh. Come prerequisito, devi preparare un'istanza di Event Mesh nel tuo account SAP Business Technology Platform e scaricare la chiave di servizio di questa istanza.
Apri il tuo sistema on-premise in SAP Logon ed esegui la transazione
/n/IWXBE/CONFIG
.Premeretramite chiave di servizio>Predefinitoper creare un nuovo canale.
Immettere il nome e la descrizione seguenti e sostituire tutto####con il tuo numero, inserisci la chiave di servizio della tua istanza Event Mesh nel campo corrispondente e premi l'icona di salvataggio.
- Nome:
ZEVENT_CHANNEL_####
- Descrizione:
Nuovo canale ####
- Nome:
Il tuo canale è stato creato. Scegli il tuo canale e premiAttivare.
Dopo aver creato un canale, puoi decidere quali eventi devono essere elencati su questo canale. Questo passaggio esplicito di mantenimento di un binding in uscita/in entrata è necessario per pubblicare/consumare eventi da/in un sistema S/4HANA.
Passaggio 7
Nell'interfaccia utente di configurazione del canale, fare clic suAssociazioni in entrataper avviare la configurazione degli argomenti dell'evento per il consumo dell'evento. In alternativa, puoi correre
/n/IWXBE/INBOUND_CFG
.Scegli il tuo canale attivo e fai clic sull'icona Crea nuova associazione argomento.
Scegli la guida di ricerca per trovare l'argomento corrispondente per il quale desideri creare un'associazione in entrata. in questo caso, scegli
sap/s4/beh/businesspartner/v1/BusinessPartner/Creato/v1
e passare alla pagina successiva.Scegli il tuo consumatore,
ZEVENT####
e cliccaCrea destinazione.Inserisci il tuo utente e fai clic sull'icona di salvataggio. Tieni presente che l'utente specificato qui è l'utente che esegue il codice consumer nel modello di consumo degli eventi. Pertanto, è necessario assicurarsi che l'utente specificato disponga di tutte le autorizzazioni necessarie.
InCrea associazione in entrataschermata puoi vedere che è stata creata una destinazione, ora fai clic anche sull'icona di salvataggio.
Passaggio 8
-
Devi creare una coda per la tua istanza di Event Mesh. Come ottenere l'accesso a SAP Event Mesh e creare una coda è già spiegato in questopost sul blogin dettaglio.. Per ulteriori informazioni su come creare una coda vedere anche questocollegamento
-
Il secondo passaggio della configurazione del consumo degli eventi è la creazione delle sottoscrizioni alla coda per il canale. Torna al tuo sistema on-premise. Nella configurazione del canale, fai clic sull'interfaccia utenteAbbonamentiper iniziare a configurare le sottoscrizioni alla coda per il consumo di eventi. In alternativa, puoi correre
/n/IWXBE/SOTTOSCRIZIONE
. -
NelCrea abbonamento al canalescegli il tuo canale attivo, fai clic sull'icona Crea nuova sottoscrizione e inserisci l'indirizzo della coda che hai già creato per la tua istanza di Event Mesh e fai clic su Salva.
Ora puoi consumare un evento utilizzando il modello di consumo degli eventi incorporato in ABAP Development Tools for Eclipse (ADT).
-
Passaggio 9
Per testare lo scenario di consumo degli eventi, è necessario creare un business partner nel sistema produttore di eventi (che può essere qualsiasi sistema cloud o OP). In base alla logica definita nel metodo dell'evento del gestore, non appena viene creato un nuovo business partner, l'evento verrà inviato a Event Mesh e vedrai l'ID del business partner creato nella tabella.
Se desideri inviare l'evento da un sistema on-premise a Event Mesh, devi disporre di un canale attivo e configurare i binding dell'argomento in uscita per questo canale.
Apri il tuo secondo sistema On-Premise in SAP Logon e crea e attiva un canale come nel passaggio 6. In questo passaggio puoi utilizzare un nome come
ZEVENT_TEST_####
Per configurare il tuo canale corri
/n/IWXBE/OUTBOUND_CFG
o cliccaAssociazioni in uscita.Nell'interfaccia utente di configurazione seleziona il tuo canale e fai clicCrea una nuova associazione di argomentiicona e Scegli l'aiuto di ricerca per trovare l'argomento corrispondente per il quale desideri creare un'associazione in entrata. in questo caso, scegli
sap/s4/beh/businesspartner/v1/BusinessPartner/Creato/v1
e fai clic sull'icona di salvataggio.Controlla che il tuo argomento sia elencato ed esegui la transazioneBPper creare un nuovo partner commerciale.
Nell'interfaccia utente di Business Partner fare clic suPersonae inserire un nome e cognome e fare clicSalva.
Verrà creato un nuovo partner commerciale e potrai vedere l'ID.
Ora apri il tuo primo sistema on-premise in ADT e apri la tabella del database
ZTABLE_####
ed esegui la tabella con F8. Puoi trovare l'ID aziendale creato in questa tabella.
Passo 10
- Scarica il file delle specifiche dell'evento
- Crea un modello di consumo degli eventi in ADT
- Crea una tabella di database per il metodo del gestore
- Definire i metodi dell'evento handle
- Configurazione del canale
- Creazione di un canale utilizzando una chiave di servizio
- Configura le associazioni in entrata
- Configura abbonamenti
- Crea socio in affari
- Mettiti alla prova
Torna in cima
FAQs
What is the difference between SAP S 4HANA cloud and on-premise? ›
S/4HANA Cloud is a much more restricted offering than On-Premise, offering only predefined configurations and less control and flexibility. It is more suited to businesses that need an ERP for general processes and don't require too much customization in their workflows.
Can S 4 Hana only be deployed on-premise True or false? ›Let's explore these questions and how you can make the right choice for your business. SAP S/4HANA can be deployed on two delivery platforms: On-premise for maximum control, and in the cloud for fast time-to-value.
Which of the requirement must be met before converting of SAP ECC to SAP S 4HANA? ›In SAP ECC, Business Partners were optional. However, in SAP S/4HANA, the Business Partners concept is mandatory. All customer and vendor master must be migrated or integrated as business partners in SAP S/4HANA.
What are the three main components of the data model structure in SAP S 4HANA? ›The key architectural components of SAP S/4HANA embedded analytics [4] include the SAP HANA database, virtual data model, analytical engine (embedded SAP BW), OData service, and interfaces as illustrated in Figure 1.
What is more advantageous SAP on cloud or SAP on-premise? ›You get faster data transfer among the system as it allows simple integrations. Integrations in the Cloud Edition can be complex and involve security risks too. With the on-premise version, you can expect more regular upgrades as the company makes it better and better.
What are the key differences between ECC and S 4HANA? ›The main differences between S4 HANA vs ECC are their Database, Merger of controlling (CO) and finance (FI), New general ledger, Customer vs. Vendor to business partner, and Rebates.
Which are the three deployment options of SAP S 4HANA? ›All SAP S/4HANA deployment options, either cloud or on-premise, share the same code line, simplified data model, and consistent user experience. Both options run on a faster HANA in-memory database, bring new business capabilities, and offer to adopt innovation along with simplification of the IT landscape.
What is the recommended deployment approach for S 4HANA Fiori? ›It can also be used for SAP S/4HANA in a single system scenario, although the recommended approach is to use embedded deployment.
Which deployment options exist for SAP s4 Hana? ›- S/4HANA Cloud. ...
- S/4HANA Cloud Extended Edition. ...
- S/4HANA Cloud Private Edition. ...
- S/4HANA Any Premise managed by SAP on HANA Enterprise Cloud (HEC) ...
- S/4HANA Any Premise managed by the user or third party.
In SAP ECC, customers and vendors are separate data objects. SAP S/4HANA integrates customers and vendors into a unified master data object called business partners. Customer-vendor integration has several benefits, such as: One business partner can have multiple roles and addresses.
How do I know if my SAP system is ECC or HANA? ›
ECC Versions
The “1” in the version number states that it is enabled for the HANA database. To identify the version, check SAP_APPL component version in the system stack information. To look up the version of your system, go to: More > System > Status > SAP System Data > Installed Product Versions.
- SAP S/4HANA 1610: October 2016.
- SAP S/4HANA 1709: September 2017.
- SAP S/4HANA 1809: September 2018.
- SAP S/4HANA 1909: September 2019.
- SAP S/4HANA 2020: October 2020 (new nomenclature: switch to YYYY from YYMM)
- SAP S/4HANA 2021: October 2021.
- SAP S/4HANA 2022: October 2022.
There are two types of packages in SAP HANA; Structural and Non-structural.
What is SAP HANA in simple terms? ›SAP HANA (High-performance ANalytic Appliance) is a multi-model database that stores data in its memory instead of keeping it on a disk. The column-oriented in-memory database design allows you to run advanced analytics alongside high-speed transactions – in a single system.
What are the main components of SAP HANA smart data integration? ›The SDI product consists of three main building blocks: The Hana Index Server, the Data Provisioning Server and the Data Provisioning Agent. While the first two are processes of the Hana instance itself, the agent is an external process and as such can be installed anywhere.
Which is better cloud ERP or on-premise ERP? ›Cloud ERP often delivers better performance than on-premise solutions. Cloud software architecture is designed from the ground up for maximum network performance, which can mean better application availability than traditional on-site ERP systems.
How do I know if my SAP is on-premise or on cloud? ›ABAP programmers can call IS_S4H static method in their custom code to learn if current system is S/4HANA or not and if response is true then programmers can call method IS_S4H_CLOUD or IS_S4H_ON_PREMISE to identify if SAP system is on cloud or is on premise. rv_is_s4h = data(is_s4h).
What are the 3 main benefits of SAP implementation through Activate? ›Using three key components—ready-to-run business processes, guided methodology, and tools for adoption and extensibility—SAP Activate aims to simplify implementation processes and help users build strong landscapes.
What is the advantage of HANA over ECC? ›this permits the data to be read directly from the memory. Therefore, SAP S/4HANA reads data much faster than traditional ERPs since the HANA database reads data much faster than traditional databases. SAP S/4HANA can access column-based tables faster since only affected columns are read during a query.
Can ECC run on HANA? ›SAP Business Suite on HANA is SAP ECC that operates on the SAP HANA database. If you are running SAP Business Suite on a third-party database, you can move it to SAP HANA.
What is the advantage of s4 Hana over ECC? ›
Experts say there are many SAP S/4HANA benefits for businesses, including flexibility, lower costs and faster analytics due to the HANA in-memory database. The system may also be easier to use than ECC and provide an easier transition to the cloud.
What is the difference between SAP c4 Hana and SAP s4 Hana? ›Differentiation: SAP C/4HANA vs.
The distinction between C/4HANA and S/4HANA is relatively simple: while C/4HANA focuses on customer experience (CX) and customer relationship management (CRM), SAP S/4HANA is the latest ERP generation. C/4HANA can be used "stand alone" or in close combination with S/4HANA.
You can consider multiple deployment strategies and variations for rolling out new versions of software in a continuous delivery process. This section discusses the most common deployment methods: all at once (deploy in place), rolling, immutable, and blue/green.
Which are the 3 deployment options of SAP Fiori? ›- Embedded deployment. SAP Fiori front-end server is deployed into the AS ABAP of a back-end system.
- Standalone deployment for single back-end systems.
- ROLE-BASED. SAP Fiori is designed for your business, your needs, and how you work. ...
- DELIGHTFUL. ...
- COHERENT. ...
- SIMPLE. ...
- ADAPTIVE.
The first step for moving from SAP ECC to SAP S/4HANA is to conduct a thorough assessment of your current SAP ECC landscape and business processes. This assessment should include a review of your current system architecture, customizations, and integration points.
Which SAP S 4HANA deployments have one annual upgrade per year? ›SAP S/4HANA Release Characteristics
SAP S/4HANA On Premise has one base release upgrade per year, with each base release falling out of mainstream maintenance after 5 years.
Project based planning (MD51) is not optimized for S/4 HANA.
Who is responsible for upgrade of SAP S 4HANA Cloud edition which is deployed on SAP's public Cloud? ›The customer is completely responsible for implementing all aspects of the upgrade with SAP S/4HANA On Premise.
What is the main difference between cloud and on-premise? ›On-prem and cloud computing defined
An on-premises data center is a group of servers that you privately own and control. Traditional cloud computing (as opposed to hybrid or private cloud computing models) involves leasing data center resources from a third-party service provider.
What is the key difference between on-premise and cloud? ›
Essentially, the fundamental difference between cloud vs on-premise software is where it resides. On-premise software is installed locally, on your business' computers and servers, where cloud software is hosted on the vendor's server and accessed via a web browser.
What is the difference between cloud and on premises in ERP? ›To put it simply, cloud ERP is when a company makes use of a vendor's platform to host their essential data. An on-premise ERP solution, on the other hand, means that a company hosts their own data on their own hardware, well, on their own premises.
Is SAP cloud based or on-premise? ›Two options are possible by the SAP S/4HANA Cloud implementation, Private and Public Cloud. SAP S/4HANA Private Cloud is an on-premise implementation in a secure private cloud. In this case, SAP acts as a cloud service provider that manages the infrastructure and software.