10 Must Know ABAP Skills For Functional Consultants
10 Must Know ABAP Skills For Functional Consultants
Consultants
After entering in SAP arena, earlier I used to assume as a SD Functional consultant, you should
be master of own topic. You should know SD business processes as well as SPRO part of SD
module & its subsequent impact to end user. I was living in a wrong assumption, in order to
survive as well as excel in SAP field, you should have command over SAP SD only & I need not to
know programming language of SAP i.e. ABAP.
However while handling client requirement or solving their tickets, several time I got stuck due
to lack of knowledge of ABAP skill set. Over the period of time I realized that, a flavour of ABAP
is must have ingredient to be a perfect SAP functional consultant.
By understanding utility of this topic I decided to write a blog on this & publish on SCN, career
section, so that all entry level as well as mid-level SAP professionals can enhance their SAP
ABAP skills & add power to their SAP career.
1) Knowledge of SAP Tables – This is the first & most important skill a functional consultant
must have. As we all know, SAP system stores all data in the form of tables. Hence it becomes
mandatory for us, when we carry out any transaction, in which table data goes. Knowledge of
tables will help you in preparation of Functional Specification which we provide to technical
consultant. Knowledge of table helps us to track errors & data retrieval operations.
2) LSMW/BDC – Whenever there is mass upload of data to SAP system, knowledge of these
data upload technique becomes handy tool for functional consultant. While dealing with BDC’s
though functional consultant not supposed to write code of BDC but at least they should aware
of SHDB & recording.
3) Functional Specification preparation – Whenever client provides us a requirement which
cannot be fulfilled through standard SAP configuration, we have to go for Z development with
the help of ABAP consultant. At that time, functional consultant interacts with customer &
understands his requirement. These requirements get transmitted to ABAP consultant with the
help of functional specification. For preparation of the same, you have to provide table name &
data fields, logic of development, if conditions to be used, loops to be used etc. Though it
appears to be very simple task but preparation of functional specification required lot of skills.
4) Interface & EDI – Whenever SAP system interacts with another SAP or non-SAP system, data
transmission takes place through EDI i.e. Electronic Data Interchange.EDI is The computer-to-
computer electronic exchange of machine processable business documents in a standard
format. Knowledge of interface technologies like I-Doc & ALEbecomes imperative when we are
dealing with the client which is dealing with its vendors & customers through electronic
transmission of data.
5) Query – This is a handy tool if you want to create a small report having few numbers of
fields from a single table or joining two tables. If you know this tool, without the help of ABAP
consultant you can create a small report & satisfy client’s requirement.
6) Debugging – In day to day operation, in the absence of desired output from a transaction, it
becomes very critical to find out root cause of the given issue. At that time this skill can act as
magic. Debugging will help you to find out missing link. Though this is tool is having lot of utility,
but it’s difficult to use.
7) Smartforms – Wherever there is print output, there is a smartform. If you are in support
operation, you will face majority of print output issue. Ex. –Invoice Prints & Purchase Order
prints. Smartform has 3 driving components: Print Program, Layout Set and Function module.
Knowledge of these will help you to resolve issue fast, at least you can explain issue fast to
ABAP consultant.
8) SAP Notes – SAP Notes are provided by SAP itself as correction in code. SAP Notes contains
instructions to remove errors from SAP System. SAP Notes can be searched & Implemented
based on Note Number, Application Component, and Implementation Status. Transaction Code
is SNOTE.
9) Variants – Variants are input data which are filled in the selection screen and then saved so
that at runtime the variant can be selected and then the entire selection screen is filled with the
desired values.
10) Creating Z T-Codes – For any operations/transactions, in SAP system you can create ‘Z’ ‘T-
Codes as per client requirement.
Variant Configuration
To get an understanding of what Variant Configuration actually is let's read the description offered by
the SAP Online Help:
"Variant configuration is for manufacturing complex products. The manufacturer is always having to
offer new variants of its products. Often, new variants are created by modifying existing product
designs as you process the order. The important thing is to react quickly to customers' requirements.
The customer determines the features of the product. A customer buying a car, for example, can
choose the features of the car and combine these features as required.
The product configurator improves information exchange between sales, engineering, and
production. Variant configuration helps the customer or salesperson to put together specifications for
the product and ensure that the product can be produced from these specifications. It also ensures
that production costs do not overstep the mark."
Now that we know what's behind these two words we can start to build an example model.
Example Model
In order to keep this guide compact this model will be quite simple. Let's assume that we want to
configure a computer. A computer consists of different components which will be chosen accordingly
to the characteristics.
Our characteristics of the computer are:
VC_CHR_MAIN_MEMORY - 2 GB
- 4 GB
- 8 GB
- 16 GB
The materials are finished products which are not configurable itself.
Bill of materials
Components
VC_MAT_A_CPU
VC_MAT_MEM_2
VC_MAT_MEM_4
VC_MAT_MEM_8
VC_MAT_MEM_16
VC_MAT_GRAPH_N
VC_MAT_GRAPH_A
VC_MAT_GRAPH_O
VC_MAT_EQU_SOUND
VC_MAT_EQU_TV
VC_MAT_EQU_MODEM
The characteristics of the computer are not independent among each other. Hence, we define some
dependencies.
Preconditions
Selection conditions
As it is described above the components of the computer will be chosen by means of the chosen
characteristics. To implement this functionality we need selection conditions.
VC_MAT_MEM_4 VC_CHR_MAIN_MEMORY = 4
VC_MAT_MEM_8 VC_CHR_MAIN_MEMORY = 8
VC_MAT_MEM_16 C_CHR_MAIN_MEMORY = 16
If you have done it correctly then you should have something like this:
Now you should apply the preconditions to the characteristics and its values.
Bill of materials - Materials
In order to create a bill of materials we need - of course - materials. These materials can be
assigned to a class. As described above this class has got only one characteristic:
VC_CHR_PRICE. Moreover the class doesn't have to be of type 300 because the materials are - in
our case - not configurable. If you have created this class we can create each material with
transaction: MM01.Here you must specify the industry sector and the material type of the material. In
our simple example it's enough to classify the material and to set a plant. Hence, we have to select
the Classification and e.g. Purchasing View.
Specify the plant in which the material is used.
If you choose to use the editor then you create only a local dependency. The assignment
functionality is for global dependencies. (see SAP Online Help - Variant Configuration for more
detailed information). If you want to use global dependencies you need to create the dependencies
in transaction cu01 first.
After we assigned all dependencies the bill of materials is completed.
Now we have to create a configuration profile with the help of transaction: CU41. First you're asked
to choose the configurable object to which you want to assign the profile.
Then you have to enter the name of the - in this case - material. After that you'll get the following
dialog:
In the displayed list you can add some configuration profiles, while the priority of each profile
depends on the position. (The lower the number the higher the priority). Besides the name of the
profile you have to choose the class type of this configuration. In this case we have to choose class
type 300 - the SAP standard class type for configurable classes.
With double-clicking on the profile name you'll get to the configuration screen of the profile. Besides
the basic data which are self-explanatory you can set some other properties.
For example you can choose the process which is indented for this material. Each process is
explained in the F4-help. The next option - BOM explosion - indicates how the bill of material is
exploded in the sales order. If you choose "Sing-Level" or "Multi-Level" you have to set the
application of the material and you are free to apply a filter.
Now all the settings were made and we can test the configuration.
Test of the configuration
You can simulate your configuration with the transaction CU50.
Enter the Name of the material and the plant and press F8. After that you can configure the material
by means of the characteristics.
Then you can see the result bill of materials by clicking the marked button.
Steps for SD Variant Configuration
The procedure is as follows:
Create a Material - KMAT type with Item category (002)
Create Charateristics in CT04 - Zbike, where in values mention the Color of the bile like
Red, Blue etc
Create another characteristics in CT04 - ZPrice, where directly go the additional data tab
and maintain the table SDCOM and field VKOND (ABAP Dictionary it will ask for)
Assign these two characteristics to a Class in CL01 - ZBikeclass ( Type 300) in
characteristics tab page.
Then go to CU41 Configuration profile select the material and enter the description click
on the class assignment ie assign Zbikclass.
Now go back to CT04 - enter Zbike -go to values- select Red- go to extras - Other
Dependencies - Select Procedure enter in front 10 write - $self.ZPrice='Red' and save
Now go back go to extras - Other Dependencies - assignments and assign relationship
( by default it will come just save)
Now select Blue- go to extras - Other Dependencies - Editor - Select Procedure enter in
front of 10 write - $self.ZPrice='Blue' and save
Now go back go to extras - Other Dependencies - assignments and assign relationship
( by default it will come just save)
Now go to VK11 - Enter VA00 (Condition)(For Std RVA001 Pricing Procedure) - enter
variant Red and Blue give the rates accordingly and create the sales order.