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.
- HWA is SAP S/4 Hana certified
- HWA is available on SAP App center
- Introducing the value of HWA + SAP
- Watch our HWA + SAP webinar
- HWA SAP Brochure
Learn more about HCL Workload Automation here or drop us a line at HWAinfo@hcl.com
Start a Conversation with Us
We’re here to help you find the right solutions and support you in achieving your business goals.