In this blog, we would look at how a team wanting to Build a New SAP Application Server and SAP DB Server based on an existing SAP Application Server and SAP DB Server can leverage HWA to achieve the same. We would be using SAP LAMA APIs exposed from SAP Side to achieve the same.

A Ticket is raised on Service Now to clone a New SAP Server also mentioning the Type of SAP Application Server requested along with the DB Server Type needed, reference SAP System Fully Qualified Hostname:

Img1

So, as seen in the request Ticket, the Description Field mentions the request to be a SAP Clone Type Request with template/reference SAP System Fully Qualified Hostname and type of DB Server and type of Application Server supplied on the Request. The Request Ticket also has a field called “Automation” and this field is set to “YES”, the Assignment group to which the Request is raised is “SAP_Build”.

Solution Design:

A Jobstream in HWA is designed to provision all such requests which would leverage the SAP LAMA APIs, SNOW REST APIs, AWS EC2 Job Type, Variable Passing Features, Conditional Dependencies etc. to accomplish the same.

  • SNOW REST APIs would be used to read from the SNOW Request Ticket and get the Description field from the Ticket.
  • Extract details from the Ticket like SAP System ID (as template), SAP Application Server Type, SAP DB Server Type,Ticket Number etc. from the Request Ticket.
  • A Set of STORE jobs would use internal HWA variables to store SAP System ID, Ticket Number.
  • A RESTFUL GET job gets the SAP Instance System Relations through SAP LAMA APIs.
  • A RESTFUL GET job gets the SAP Instance details using the SAP System ID and leveraging SAP LAMA APIs.
  • A RESTFUL GET jobs gets the SAP Custom Intra System Relations.
  • A Set of variable Table update jobs stores all info like Ticket Number, SAP System ID, SAP Instance ID into a Variable Table called SAP_BUILD.
  • Two AWS Create VM job types would be executed to create 2 VMs: SAP Application Server, SAP DB Server.
  • The Private IPs of SAP Application Server and SAP DB Server were extracted.
  • Two Store Jobs would store Application Server and DB Server details into HWA variables.
  • Variable Table Update Job stores the Application Server and DB Server Detail into the Variable Table: SAP_BUILD.
  • Extract SAP App Server Data and Extract SAP DB Server Data jobs which extract the type of SAP App Server and DB Server Type from the original Request Ticket.
  • Conditional Dependencies of “ASCS” or “PAS” would either Install SAP ASCS or SAP PAS Instance on the newly created VM for App Server.
  • Conditional Dependencies of “HANA” or “MS-SQL” would either install SAP HANA Instance or SAP MS-SQL Instance of the newly created VM for DB Server.

SAP SYSTEMID Part of the Flow:

Img2

SERVICENOW_GET_SAP_DESCRIPTION Job:

This is a RESTFUL Get job extracts the topmost SNOW Ticket for the assignment group SAP_Build ordered by DESC Order and picks the System ID and Description from the SNOW ticket.

Img3

GET_SAP_SYSTEMID Job:

This job is a Unix job to extract the System ID from the SNOW Ticket.

Img4

STORE_SAP_SYSID Job:

This job would store the SYSTEMID in a HWA variable through the jobprop utility of HWA as follows:

Img5

UPDATE_SAPSYS_VT3 Job:

This job would update the Variable Table SAP_BUILD based on the SYSTEMID variable generated as output from the previous job:

Img6

GET_SAP_SYSTEMS_DATA Job:

This is a RESTFUL GET job which leverages the SAP LAMA APIs as SYSTEMID as input to get the System Info in an output file named /tmp/systems.out:

Img7

STORE_SAP_SYS_DATA Job:

This is an executable job type which uses jobprop utility of HWA to store SAP SYS Data generated as output in previous step into a HWA Variable:

Img8

Get SAP Instance, SAP Instance Relations and SAP Custom Intra Systems Data part of the Flow:

Img9

This Flow focuses on capturing the SAP Instance Data, SAP Instance relations and SAP Custom Intra Systems Data.

GET_SAP_SYSTEM_INSTANCES Job:

This is a RESTFUL GET job using SAP LAMA APIs to get System Instances Info with the SYSTEMID passed as input, the output is stored in the output file /tmp/SystemInstances.out.

Img10

GET_SAP_INSTANCES_RELATIONS Job:

This job is a RESTFUL GET job which gets the SAP Instance Relations by using SYSTEMID as input to make a GET call to SAP LAMA & stores the output to an output file called /tmp/SystemInstancesRelations.out.

Img11

GET_SAP_CUSTOM_INTRA_SYSTEMS_DATA Job:

This RESTFUL GET job takes the SYSTEMID as input and gets all CUSTOM Intra System Dependencies of the SAP System in question:

Img12

STORE_SAP_SYSID Job, STORE_SAP_SYS_DATA Job, STORE_SAP_INSTANCE_DATA Job, STORE_SAP_TICKETNO Job:

These jobs use jobprop utility of HWA to Store SAP System ID, SAP System Instance Data, SAP System Data, Ticket Number etc into HWA variables:

Img13

Img14

Img15

EXTRACT_SAP_INSTANCE_DATA, EXTRACT_SAP_TICKETNO, EXTRACT_SAP_SYS_DATA Job:

These are Unix jobs which would extract the Instance ID, Ticket Number and SAP SYS Data from previous RESTFUL GET Output files:

Img16

Img17

Img18

UPDATE_SAPSYS_VT Job:

This job is a Variable Table update job which updates SAP_INSTANCE_DATA, SAP SYS DATA and Ticket No into a Variable Table SAP_BUILD through joblogs of EXTRACT Jobs preceding these jobs:

Img19

VM Deployment part of the Flow:

Img20

Img21

This part of the Flow comprises of jobs to deploy VMs for the SAP Application Server and SAP DB Server.

UPDATE_SAPSYS_VT Job:

This job is a Variable Table update job which updates SAP_INSTANCE_DATA, SAP SYS DATA and Ticket No into a Variable Table SAP_BUILD through joblogs of EXTRACT Jobs preceding these jobs:

Img22

CREATE_VM_SAP_APPSERVER_1 Job:

This job would create a new VM for SAP Application Server as an Amazon EC2 Instance with pre-filled info for Instance Type, AMI Image, Network, Subnet, Security group and EBS Volume etc:

Img23

CREATE_VM_SAP_DBSERVER_1 Job:

This job would create a new VM for SAP DB Server as an Amazon EC2 Instance with pre-filled info for Instance Type, AMI Image, Network, Subnet, Security group and EBS Volume etc:

Img24

EXTRACT_SAP_VM_DATA and EXTRACT_SAP_VM_DBSERVER_DATA Jobs:

These Jobs are Unix Jobs which would extract the SAP VM Application Server Data and SAP VM DB Server Data that is in this case private IP of the VMs deployed for SAP App Server and SAP DB Server:

Img25

STORE_SAP_VM_APPSERVER_DATA and STORE_SAP_VM_DBSERVER_DATA Jobs:

These are STORE jobs which would store the Private IP of the Deployed VM for App Server and DB Server into HWA Variables through jobprop utility:

Img26

Img27

UPDATE_SAPSYS_VT_2 Job:

This is a variable Table update job which would update the Instance ID, System ID, Ticket No, Private IPs of App Server and DB Server into the HWA Variable Table named: SAP_BUILD:

Img28

SAP Application Server and SAP DB Server Installation Flows:

Img29

Img30

These parts of the flow are primarily focused on SAP Application Server and SAP DB Server Installation.

EXTRACT_SAP_APPSERVER_DATA Job:

This job would extract the SAP Application Server Data from the request description of the

Request. The Conditional Dependencies of ASCS and PAS here would either branch out to ASCS and PAS flows of the Installation:

Img31

Img32

EXTRACT_SAP_DBSERVER_DATA Job:

This job would extract the SAP DB Server Data from the request description of the Request. The Conditional Dependencies of HANA and MS-SQL point to the conditional flows of HANA or MS-SQL Installations now:

Img33

Img34

SAP_ASCS_INSTALL Job:

This would be a Remote Command jobtype would run a SAP ASCS Installation on Private IP of the Server:

Img35

SAP_PAS_INSTALL Job:

This would be a Remote Command jobtype would run a SAP PAS Installation on Private IP of the Server:

Img36

SAP_HANA_INSTALL Job:

This would be a Remote Command jobtype would run a SAP HANA Installation on Private IP of the Server:

Img37

SAP MS-SQL Job:

This would be a Remote Command jobtype would run a SAP MS-SQL Installation through the setup.exe command as follows:

Img38

SAP Request Ticket Number Extraction Flow:

The below flow extracts the Ticket Number from SNOW using REST APIs of SNOW and then extracts the Ticket Number from the Output File and also stores it into a HWA Variable:

Img39

SAP_BUILD Flow:

Img40

Img41

Conclusions of UseCase:

  • SAP Build Process through System Copy fully Automated for Build of SAP Application Server and SAP DB Server leveraging SAP LAMA APIs and SNOW REST APIs.
  • Enormous amounts of FTE savings for the Customer interms of lining up resources for any SAP System Spin off based on existing Application Server and DB Server templates and SAP Landscape Build activities.

Learn more about HCL Workload Automation here or drop us a line at HWAinfo@hcl.com

 

Comment wrap
Further Reading
article-img
Automation, HCL Software | January 20, 2022
Monitor and respond to unplanned event or interruption of HCL Workload Automation objects using Jira action plug-in
A JIRA plug-in is a new EDWA action plugin to open tickets, that eliminates manual efforts and speed up resolution greatly. It is a work management tool which offers functionalities to help the users to manage their work efficiently.
article-img
Automation, HCL Software, Innovations | January 11, 2022
Dataflow- Backbone of Data Analytics with HCL Workload Automation
Let us begin with understanding of Google Cloud dataflow what it is all about before moving to our GCP Cloud Dataflow plugin and how it benefits to our workload automation users.
article-img
Automation, HCL Software | January 6, 2022
Case Study: Regulatory Compliance Workflow through HCL Workload Automation:
In this Blog, we would go through a Regulatory Compliance UseCase where a Customer wanting to perform a Transaction at a Gaming Kiosk undergoes a series of Background Checks and Validations to know if he is eligible to proceed with the Transaction, the checks while happening in the background through HCL Workload Automation in real time within a few seconds would seamlessly allow the Customer to proceed with the Transaction. Incase the Customer is blacklisted then he is blocked from performing the Transaction, likewise incase there is suspicion of Money Laundering, the Customer is blocked from progressing with the Transaction.
Close