Skip to Content
Technical Articles

SAP Variant Configuration – Constraint Programs:

CONSTRAINTS:

This Blog post is made with attempt  to learn and understand while reading SAP LO-VC document. The screenshots are taken two years back to create the blog post for constraint as there are no data available for the constraint in any web. After two year the changes are made for better to show up to the reader. All these details are available in SAP LO-VC document but there will not any screenshot from SAP and results also will not be displayed with SAP screen. This blog post gives more than the data from LO-VC document in which they are not tried with any SAP screens. Here we go. Enjoy reading!!!

Earlier days production had carried out without considering any discussion and any words from the customer. Customer had to buy what market was given to them. Due to the lack of technology, lack of interest in hearing from the customer and lack of prediction of future the production of product is also not upto the accepted level. Then emerging production companies comes in and wanted to differentiate from current production companies and they wanted to be creative and fully interested to fulfill the customer additional requirements by hearing to the customer. That made them to sustain in the market. For ease handling of information they want to have the system that should lead, provide information and assist in getting and handling the information of orders and more. ERP system helps them in everything.

SAP holds most of the market potential and being leader by achieving all the requirements of client. Here SAP Variant Configuration (SAP VC) is used for the manufacturing scenario which is having very complex products. When coming to the customer requirement,each customer requirement will be different so that there will be need of creating each BOM for each customer. This will lead for creating bundle of data, pack of confusion and unease of handling each BOM change.

Lets have an example. A customer needs a car with different option like Colour, Tyres, Audio systems and Gear System. Another customer can look for entirely different options. So ‘n’ number of Customers will come with ‘n’ of number of options. So the challenge is to implement and configure various options in system.

This can be achieved in SAP feature called Variant Configuration. In few cases the scenario will go even more complicated seems like unable to meet the customer requirements. This blog post contains the details that illustrated such a way that to understand by the reader or these contents can be practised.

If customer choosing one option of characteristics in a class and this option option will required certain component of characteristics or may not require that options in another class. So this option needs to restrict or needs to available in the class. So the scenario goes more complicated known as Highly complicated model.

To achieve these complexity SAP offers VC structures and Object Dependencies. The Object Dependencies (OD) are simple programming in SAP VC. There are preconditions, selection condition and procedures in object dependencies for achieving those less complicated products. There is another one object dependencies to achieve the highly complicated products which is offered by SAP is Constraint programs.

So the customer will decide the BOM in sales order itself and there is no requirement of creating extra one BOM. So the BOM will be created in sales order itself as sasles order BOM and sales order number is BOM header.

Super BOM will read the class used in the sales Order and selects its own BOM items as per the selection made in the sales order characteristics values. The function object dependencies to restrict or allow as per the line written in Constrain editor using T code cu01. Then these constrain net will be assigned in to the Dependency net.

The constraints can be used for Completely different objects means value of one Class can be used in another Class. For example, in networking system, OS and motherboard will be combined in different network system will be used in this dependencies to achieve required choices. Here same is attempted to implement the concept with Network of the company which is provided in the LO-VC document for self-learning.

When there were searches for all over the web for the constraint implementation no more contents are available with constraint programs so now attempt made to provide the details and screenshot of implemented concept of Network system of company and its relationship with usage of SAP object dependencies constraints. So, the reader can understand the how constraint will look like and how it should be used in VC.

The given OD-Constraint in LO-VC documents are required few correction and made changes wherever it is required. So here are the concept. Here we go.

The c_net can be created through CL01 and its character Lan and Cable Type can be created through T code CT04

 

The classes Company_net and Dept_net are assigned to Superior class C_net. Please refer the below screenshot.This can be achieved by the t code CL24n. The dependency net will be assigned to the configuration profile of the configurable material.  Here C-1040 is the configurable material and constraint nets C_NET and C_SERVER are assigned to the material configuration.

The Class c_server and c_op_system and its characters are created. The below is taken by the

t code PMEVC.

This below screenshot  is the result of one of the constraint which created in the model using CU50. It shows the yellow color error and red color mark in the configuration page.

This is another constraint, FDDI method, results below error – Cable Lan Violated -when it is not compatible. Here variant table concept is used for various combinations.

The below is the screenshot which is satisfying the all the allowed combination. Constraint net or dependency net can be created using CU21 and constraint can be created in same CU01. There is no  separate t code for creating Constraints.

C_net is the constraint net and, in this constraint, Os1_server created.

The graphical screenshot of Superior and subordinate classes which is taken from SAP.

So the followings are the object dependencies constraint programs for your refer. You can copy and paste it for your usage.

The prerequisites are Class:

  • Company Network
  • Dept Network
  • Server
  • Workstation

 

C_NET
Characteristic Value
C_LAN_TYPE Ethernet Thinwire
Ethernet Thickwire
Token Ring
Token Bus
FDDI
Characteristic Value
C_CABLE_TYPE Twisted pair
Shielded twisted pair
Coax cable
Glass fiber
C_SERVER and C_WORKSTATION
Characteristic Value
C_OP_SYSTEM OS1
OS2
OS3
Characteristic Value
C_MOTHERBOARD 486 SX
486 DX
Pentium
68020
68030
68040
Sparc

 

===============================================================

Constraint FDDI_MOTHERBOARDS

Cstr. net:  C_NET

Status      Released

*If the LAN type is FDDI, the motherboard of the server must contain

*either a Pentium, Motorola,68040, or Sparc 5 processor.

OBJECTS: network is_a (300) c_net

WHERE Lan = C_LAN_TYPE,

Server is_a (300) c_server

WHERE Motherboard = c_motherboard

CONDITION: Part_of (server, network) and Lan = ‘FDDI’

RESTRICTIONS: Motherboard in (‘Pentium’, ‘68040’, ‘Sparc’) ===============================================================

Constraint OS1_SERVER

Cstr. net:  C_NET

Status      Released

*The server of the department network must run on OS1 if the server

*of the company network runs on OS1.

OBJECTS: Server1 is_a (300) c_server

WHERE server1_os = c_op_system,

Server2 is_a (300) c_server

WHERE server2_os = c_op_system,

company is_a (300) COMPANY_NET,

department is_a (300) DEPT_NET.

CONDITION: part_of (server1, company) and

part_of (department, company) and

part_of (server2, department) and

server1_os = ‘OS1’.

RESTRICTIONS: Server2_os = server1_os.

===============================================================

Constraint OS1_WORKSTATION

Cstr. net:  C_NET

Status      Released

*The operating system for workstations must be OS1

*if the operating system of the server is OS1:

OBJECTS: Server is_a (300) c_server

WHERE server_os = c_op_system,

Workstation is_a (300) c_workstation

WHERE workstation_os = c_op_system,

Net is_a (300) c_net

CONDITION: part_of (server, net) and

part_of (workstation, net) and

server_os = ‘OS1’

RESTRICTIONS: Workstation_os = server_os

INFERENCES: Workstation_os ===============================================================

Constraint CABLE_LAN

Cstr. net:  C_SERVER

Status      Released

OBJECTS: network is_a (300) c_net

RESTRICTIONS:

table cable_lan (c_lan_type = network.c_lan_type,

c_cable_type = network.c_cable_type). ===============================================================

Constraint NO_OS2_AS_SERVER 

Cstr. net:  C_SERVER

Status      Released

*a server cannot run with operating system OS2

OBJECTS: Server is_a (300)C_SERVER

CONDITION: server.C_OP_SYSTEM = ‘OS2’

RESTRICTIONS: False ===============================================================

To conclude if anybody trying to understand what is constraint by reading SAP LO-VC document this blog post explains how this needs to be created in SAP and what will be result of few constrain and explains how rules are violated while using wrong combination.

— Mahendran Paramasivan, SAP Consultant.

 

5 Comments
You must be Logged on to comment or reply to a post.