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.

SAP Variant Configuration – Constraint Programs_sed

SAP Variant Configuration – Constraint Programs_sed_02

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

SAP Variant Configuration – Constraint Programs_ide_03

SAP Variant Configuration – Constraint Programs_Variant_04

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.

SAP Variant Configuration – Constraint Programs_bundle_05

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

SAP Variant Configuration – Constraint Programs_Variant_06

SAP Variant Configuration – Constraint Programs_ide_07

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.

SAP Variant Configuration – Constraint Programs_sed_08

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.

SAP Variant Configuration – Constraint Programs_ide_09

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.

SAP Variant Configuration – Constraint Programs_Variant_10

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

SAP Variant Configuration – Constraint Programs_bundle_11

SAP Variant Configuration – Constraint Programs_sed_12

SAP Variant Configuration – Constraint Programs_bundle_13

SAP Variant Configuration – Constraint Programs_sed_14

SAP Variant Configuration – Constraint Programs_bundle_15

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

SAP Variant Configuration – Constraint Programs_bundle_16

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