Clients (development client, testing client, production client) are basically logically discrete or separate subsystem within SAP system. Clients can be considered as logical sub-units within SAP system.
User is given access to specific client based on business unit that user belongs to, geography or roles & responsibility assigned to user.
Let’s consider an example to understand client concept.
UBS bank services can be categorized into wealth management, asset management and investment banking. As per business requirement, all three verticals will use SAP system but independent of each other which means data maintained for each vertical will be different. A user belonging to investment banking should not have access to data of asset management or wealth management. Instead of deploying different hardware (servers) and software (SAP) for each vertical, different clients are created in SAP which uses same resources and hence cost reduction. Data maintained in each client is separate and users are assigned to specific client.
In above example, clients are created based on business structure. Different clients can be created based on geography as well e.g. US, Europe and Asia.
Now, users belonging to same business vertical and same geography can be assigned to different clients based on roles & responsibility that the user is assigned.
Consultant’s responsibility is to configure/ develop codes as per business logic. The developed codes or configuration needs to be tested and verified before being used by business users/ end users who use SAP system in performing their day to day business activity.
Since testing has to be done in quality client/ testing client hence quality/ testing client should be replica of production client data. Hence after every few days (1 month or 2 months) production client data is loaded into quality/testing client. Loading production client data into quality/ testing client is knows as data refresh.
There can be multiple quality/ testing clients. More the number of quality/testing clients, more time and memory will be consumed in data refresh.
Changes (configuration and codes) are contained in a transport request. Changes done in one client is moved to another client using transport request. Transport request is promoted from development client to quality/ testing client, once changes are successfully tested in quality/testing client transport request is moved to production client. Over a period of time large number of changes is carried out in system by various consultants, keeping track of all the changes becomes a challenge. Moreover knowledge of the system changes should be available even if consultant/ business user leaves the job. Hence, to overcome these challenge all information of system changes throughout the life cycle of application are recorded at one place and is called Application Life-cycle Management (ALM). System change information can be captured in an excel template/ word document on a shared folder or a special tool provided by SAP called Solution Manager can be used.
This process of handling the change from development client to quality client and finally to production client is called change management process in SAP. Change management process involves not just promoting transport from one client to another but recording the information at each and every stage of change, taking approval form test manager and business users before moving the change to production client.
Below link provides example to help you understand the concept of client in SAP: http://www.informit.com/articles/article.aspx?p=1716287&seqNum=3
Who is responsible for creation & maintenance of client? Is it basis team, ABAP team, net weaver team or BI/BW team?
Can an organization have multiple production clients?