An overview of Investment Management in SAP

In this blogpost we will see basics of IM, Why IM is needed and what is use of IM? Major Config. and end user transactions in SAP Investment Management.

Flow of Blogpost:

  • Introduction
  • IM in SAP
  • Configuration steps of IM

Basics – What is Investment Management in SAP?

Investment Management is a budgeting tool that helps organizations to budget, plan and structures investment goals. Investment programs are used on top of Project System. Now you might say, project system itself have budgeting functionality, then what is the need of Investment management?

Lets understand this with one example; Consider your organization have international presence. The head office is in Europe. And there are hundreds of different projects going on at different locations. All projects are undergoing for different purposes. Some projects are for setting up new offices, some for restructuring existing plants, building new stores etc.

So project level expenditure management and budgeting is the lowest level management in organization hierarchy. On top of projects business needs investment programs to categorize and allocate budget as per business priorities and decisions.

Investment programs can be created based on geographical areas and then further drilled down to different segments of business. For e.g. there will be separate Investment program for each country and then under that investment program budget can be allocated to different segments like IT, Sales & Marketing, Accounting, Manufacturing etc. or based on product mix, revenue mix.

It can also be done vice versa, Multiple investment programs as per business segments and then under each segment different geographies can be added.

Before it gets too confusing lets have look at sample Investment program:

IM11

Highest level node is the main node of Investment Program, it tells you about investment program. We can see in above image this Investment program is for Mexico. After first node you can assign multiple levels as per business requirement (99 level drilldown is supported)

Each node can have organization units assigned to it along with responsible person. Budget has to passed on from top to down. Which can be monitored and validated with allocation and approval approach.

Projects are assigned to the lowest level nodes. In above structure you can see under CAPEX there is lowest level node for New Stores. So all the projects in Mexico created for New stores can be assigned to this node. This node will have certain amount of approved budget that can be distributed to all assigned projects based on requirement or management decisions.

Lets understand the life cycle of Investment programs in bullet points:

  • Decision of Investment (appropriation request)
  • Creation of Investment Program
  • Budgeting the Investment program nodes
  • Creation of Project (Investment Measure)
  • Transferring budget from IM to Project
  • Booking actual expenses during project completion time
  • Periodic settlement to AUC
  • Upon Project completion final settlement to Final Asset
  • Asset Depreciation will be booked as per legal and other valuation methods.

If you want to know more about it from business standpoint, how things happens in business from top to down? How budgets are approved, allocated and monitored, then you can give try to this eBook which is written by a project manager to understand things from high level management.

Hope you got the high-level overview of IM, In next chapter we will see end user activities in Investment Management followed by backend configuration chapter.

Investment Management in SAP (End user activities)

Earlier we saw the use of Investment program. Based on it you can guess the basic things, we will require to create Investment program. Below is the list of activities that users do in SAP:

  • Create Investment program definition IM01
  • Create top position of Investment program IM11
  • Change/Create IM Program structure IM22
  • Budget Program IM32
  • Supplement budget IM30
  • Budget return IM38
  • Assign Investment program position to Project CJ20N
  • Allocate budget to project IM52
  • Return budget from project IM52 (with return radio button)

And that’s pretty much that you can do in Investment Management. Let’s check each activity in little deep:

Also Read: Functioning of CO-PA in make to order scenario

Create Investment program definition IM01

IM01

While creating investment measure you will have option to enter person responsible for the investment program. You have to enter fiscal year variant and currency. Based on fiscal year variant, year end budget transfer will take place.

Create top position of Investment program IM11

In IM11 you will have to create top positions of budget which can be restricted to organizational units like controlling area, company code, profit center etc. In our initial example we discussed how we can have same investment program created for different geographies. And it can be drilled down to multiple countries and company code. So we can assign each node of investment program to separate controlling area/company code (currency validation will be there).

Change/Create IM Program structure IM22

Here you can create whole structure of Investment program

You can double click on any node to assign it to any organizational unit.

Budget Program IM32

Once the structure is created, you can budget the program nodes as per requirement in IM32

IM32

In above screen budget can be entered on various nodes, following top-down or bottom-up approach.

Supplement budget IM30

Once the initial budget is updated through IM32 then afterwards you can supplement more budget through IM30 or can return the budget by IM38 transaction.

Assign Investment program position to Project CJ20N

Once the investment programs are created and budgeted, it needs to be assigned to projects in CJ20N

CJ20N

Allocate budget to project IM52

Now projects are assigned to investment programs, then we have to transfer budget to projects from Investment program positions. This is done through IM52 transaction.

IM52

We can notice that project is reflecting on level 4 under level 3 investment measure.

And you are done with budgeting in Investment management.

Further you will have to budget lower levels of project then you can use WBSE to capture cost.

Investment Management reporting transactions: S_ALR_87012824 and S_ALR_87012813

In next chapter we will see major configuration that are required in Investment Management in SAP.

Read eBook: SAP DME – A Simplified Guide

Configuration steps of Investment Management in SAP

Configure Program Type

First step in IM configuration is to configure Program type. You enter program types at the time of create of Investment program (in IM01)

So, let’s see what program type controls:

SPRO – Investment management – Investment Program – Master data – Define Program Types

You can notice that we entered budget profile and plan profile in program type. These needs to be created separately. It controls that how many years of future / past planning / budgeting you can do.

Status profile will allow the approval and rejection functionality in IM.

Represent. Form will decide how IM structure should be displayed. (In coding format or text format)

Object class help to categorize CO class for IM

Investment profile will control automatic creation of AUC while creating WBS/IO

Budget dist. Overall & Budg. Dist. Ann. Vals – these check box will affect the budget distribution.

On left hand side you have one tab for assignable operative object

Here you can select what are the object type to which Investment program can be assigned.

Define Person Responsible

Here you have to define responsible person that can be assigned in investment programs. Same will be used in various workflows.

SPRO – IM – Investment Programs – Master Data – Allowed Values for certain master data fields – Define responsible person

In this config node you can configure below values:

Enter numeric value in responsible person field and in Office user enter the SAP user ID.

Define Plan Profile

Plan profile will control how much years in future you want to plan your investment. (this is assigned in Program Type)

SPRO – IM – Planning in programs – Cost Planning – Maintain Plan profile

Which values should be allowed to plan – Total / Annual

Past, Future, Start enter the number of year system should allow to enter and change values. If you enter 2 in Past field. Then you will be able to change and enter past two years plan data.

Decimal Places, scaling factor can be decided in plan profile.

Planning currency – Co area currency / object currency

Define Budget Profile

It is similar like Plan Profile, only this time the budget will be controlled as per profile maintenance.

SPRO – IM – Investment program – Budgeting in program – Define budget profile for investment program

Define Number range for budgeting line items

SPRO – IM – Investment program – Budgeting in program – Define number range for budgeting line items

Define Investment profile

When you settle Investment Measure (WBS, Internal Order) it gets settled to AUC. In IM AUC is created automatically at the time of release of Investment Measures. During periodic settlement system collects all debit items from WBS / IO and settle it to AUC. You don’t have to enter settlement rule manually.

This is controlled in Investment profile:

If you tick manage AUC, system will automatically create AUC while releasing WBS / IO.

For that you will have to enter asset class in Inv. Meas. Ast. Class field. If selected fix default class, then system will not allow you to change asset class manually at investment measure level.

You can enter different asset class for depreciation simulation.

Assign this investment profile to project profiles.

Conclusion

With this set of configuration you should be able to start using IM. Hope you got an overview of Investment Measures along with end user activities and backend configuration related to it.

Sign below to get weekly notification of new blogpost.

If you enjoy the blogpost then you can stay connected with us on below platforms:

YouTube

LinkedIn FICO Page

LinkedIn ABAP Page

LinkedIn Logistics Page

Instagram

Read More
SAP College March 7, 2022 0 Comments

Every Cost Object settlement (K088, CJ88, VA88, C088)

Basics

In this blogpost we will see everything about cost object settlement. How each cost object are settled? What configuration is required to do settlement run? And how to trace these settlements on table level?

In order to understand settlement of cost objects, first we have to look into cost object itself. Controlling module is made of various cost objects. Cost objects are used to capture cost. So first we need to understand how many cost objects there are to capture any kind of cost.

  • Cost Center CTR
  • Sales order SDI
  • Internal Order ORD
  • Production order ORD
  • Profitability segment PSG
  • Network NTW
  • Network activity NWA
  • Work breakdown structure WBS

Every cost object has separate purpose. And it is used to capture different set of cost. For e.g. WBS/Network are used to capture project related cost. Whereas internal order and cost center usage is dependent on each and every organization.

But the bottom-line for this blogpost is that most of the cost objects are temporary cost carriers and has to be settled to final receiver.  And this makes settlement a major activity.

Examples: WBS is settled to asset, sales order settled to profitability segment, Internal order is settled to cost center. (It is not possible to settle cost center, because cost center is considered as final object. If you are booking cost in cost center, then it means there should not be any further transfer of cost)

Settlement Profile – What is the use of settlement profile?

Settlement profile is the template for any object to settle cost. Every cost object that needs to be settled should have settlement profile.

Settlement profile is configured in transaction OKO7. Here you can create settlement profile for sales order, production order, projects, internal order etc.

OKO7 Transaction code in SAP
Transaction OKO7

This is how settlement profile looks like. First you decide whether the cost object should be settled in full as mandatory or it can be optional.

In second part, where you maintain allocation structure, source structure, PA structure these all are used to restrict or filter the settlement cost. For e.g. in allocation structure you can maintain some cost elements in grouped manner and assign that allocation structure in settlement profile. Then whenever this settlement profile will be used it will only consider cost of those cost elements that are entered in allocation structure. It is also used for better reporting by grouping different cost elements separately.

In indicators part you have options to select % settlement or amount settlement (this impacts at the time of settlement rule creation)

In valid receivers, you have to make all potential receivers optional. For e.g. if this settlement rule is for WBS element then we know WBS is settled on asset, so asset settlement should be optional here.

Once settlement profile is created it should be assigned to source cost object.

  • Project/WBS – Settlement profile is assigned to project profile
  • Internal order – Settlement profile is assigned to internal order type
  • Sales order – Settlement profile is assigned to requirement class
  • Production order – Settlement profile is assigned to order type

So you create settlement profile in OKO7 irrespective of source object and then assign it to source type.

For internal order settlement profile will be assigned to order type. And under that order type all internal orders will have settlement same settlement profile. (however it can changed at all cost object level)

Settlement rule – How to create settlement rule?

Once the settlement profile is created and assigned, you have to create settlement rule for all cost objects. In all cost object somewhere in menu there is option to create settlement rule.

In sales order line-item level, you have account assignment tab where you can create settlement rule

In WBSE there is button at bottom for settlement rule

In internal order at menu there is option for settlement rule

Settlement rule

This is how settlement rule will look like. You have to maintain receiver category and receiver. Remember that you can only maintain those receiver which you allowed in settlement profile.

Then mention % settlement, you can have multiple receiver and distribute settlement to all receiver.

There is also option to maintain amount, like how much amount you want to settle to this receiver. But this option will only be available if you tick it in settlement profile.

Also Read: Everything about FEBKO & FEBEP tables in SAP (Electronic & Manual Bank reconciliation)

Settlement run – What are the ways to run settlement?

There is dedicated transaction code for each cost object to run settlement.

  • Sales order settlement – VA88
  • Project/WBS settlement – CJ88
  • Internal order settlement – KO88
  • Production order settlement – C088/KO88
KO88 Transaction code in SAP

This is how selection screen looks like in almost all of the above transactions.

Enter sender object on top then settlement period and select processing type and execute.

It will settle the cost from sender to receiver as mentioned in settlement rule.

Upto this point everything is very clear and straight forward, but real challenge comes in when we have to track these settlements. In next heading that is what we will be looking into..

Read eBook: Controlling – Profitability analysis (CO-PA): Comprehensive coverage of the SAP CO-PA module

A

How to track cost object settlements

Working as SAP FICO consultant, many times you will have this question, when this cost object is settled? Whether this object settled before or not? What is receiver cost object?

We will check what are the important tables that can help to track down above information.  Each settlement run creates one document. That document header details is stored in AUAK table.

AUAK Document Header for Settlement

AUAK Table in SAP
AUAK Table

Every cost object in SAP has unique object number, that is used in 90% of tables. In AUAK you will not be able to search any document based on cost center number or WBSE number, you have enter relevant object number of that cost object.

Now where you can find the object number?

Object number is stored in master data table of every cost object. Cost center object number is available in CSKS table, WBSE object number is available in PRPS table. Sales order object number is available in VBAK table.

You can also use some naming convention for object number. Like Cost center object number is always starts with KS*, WBSE Object number starts with PR*, Sales order object number starts with VB*

So our analysis will start from getting object number respective cost object master data table.

Lets take e.g. you have one WBS element for which you want to check settlement details.

Then first you will go to WBS element master data table PRPS, get OBJNR number for that WBSE.

Then enter that OBJNR number in AUAK table.

You can also select settlement period and settlement year to narrow down selection criteria.

Then execute to see settlement details.

Here you can see between that time period how many times the cost object was settled. you will also get the settlement dates and document number.

But from this table you will not get who was the receiver of this settlement.

AUAA Settlement Document: Receiver Seg

In this table, you can enter the settlement document number (taken from AUAK) to see who the sender and receiver of the settlement was.

AUAA Table in SAP

You can notice in our example settlement was done between WBSE and Asset.

What if you want to check settlement rule of any cost object?

We have other tables for that COBRA & COBRB. COBRA stores header details of settlement rule and COBRB stores item details of settlement rule.

In both table you can search using object number of cost object.

COBRB Table in SAP

This is how COBRB will show settlement receiver details.

Important tables for settlement related transactions:

  • AUAK Document Header for Settlement
  • AUAA Settlement Document: Receiver Seg
  • AUAB Settlement Document: Distribution
  • COBRA Settlement Rule for Order Settlement
  • AUAV Document Segment: Transactions
  • AUAI Settlement Rules per Depreciation

With this would like to end this post here. Hope you enjoyed reading it. You can subscribe below to receive update of such new blogs.

you can stay connected with us on below platforms:

YouTube

LinkedIn FICO Page

LinkedIn ABAP Page

LinkedIn Logistics Page

Instagram

Read More
SAP College March 1, 2022 0 Comments

Everything about FEBKO & FEBEP Table (Part 2)

This is second part of this blog series. (Read first blog here – FEBKO details)

In continuation with previous blog, we will start this one with FEBEP table.

Introduction

FEBEP table stores line item records of bank statements. FEBKO & FEBEP table can be compared with BKPF & BSEG table, earlier one stores header information and latter one stores line item information.

If you check FEBEP Table fields, you can notice it is hard to directly look into FEBEP table without referencing FEBKO table. So you should always start your search from FEBKO table, where you have various key fields to narrow down your result data as per the requirement. Once you got the relevant entries in FEBKO which you need to further dig into line item level, then you can take the common field ‘short key – KUKEY’ and search for it in FEBEP table.

FEBEP Table field details

Lets execute one record and start checking FEBEP table field

First field is short key, unique key for each statement and common field between FEBKO & FEBEP

Then we can see LC field i.e. line item completed. It will show if the posting of this particular line is completed or not.

So in FEBEP table there will separate line for each transaction of bank statement.

U1 & U2 field represents posting area 1 & 2 postings. If the line item is associated with posting rule, which has accounting entry in two areas, then system will check if both areas are posted or not. This can be verified by x mark in U1 & U2 field.

Document number & posting date  is document posted in SAP against statement transaction.

Read Blogpost: Tips and tricks on Bank Reconciliation in SAP

Further we have fields like account currency, amount of transaction. BTC – Business transaction code is used to determine posting rule based on the mapping in OT83. So here in FEBEP, system will capture the BTC (VORGC) from bank statement and search in OT83 if there is any external transaction code available of same character, if it is available then system will put it into FEBEP external transaction field (VGEXT). Posting rule (VGINT) will be determined from external transaction code.

There are several fields for partner bank details. These will be populated in case of clearing open vendor invoice.

Then there are various BDC fields available, which are supported by search string. If you remember there are various options available in search string setup to manipulate the final posting.

Then there will be fields like interpretation algorithm, it will have interpretation algorithm number which is used to post this line.

This all field data will make sense if you know the underlying configuration and how it evolve in each process. If you want to learn search string configuration, interpretation algorithm & posting rules with multiple posting areas, then you can read this ebook.

With this we have come to an end of this two part series blogpost. Hope you enjoyed reading it and learned few things. You can subscribe below to receive email update of every new blogpost:

Read More
SAP College February 21, 2022 0 Comments

Everything about FEBKO & FEBEP tables in SAP (Electronic & Manual Bank reconciliation)

Basics

These two tables comprises 70% of bank reconciliation. FEBKO & FEBEP are very close to those who are working in Bank Management area. Even though it is very important tables still many don’t know much about these tables. So in this blogpost we will be covering, what is the use of FEBKO & FEBEP table? What are the major key fields in FEBKO & FEBEP tables?  How to get most out of these tables?

What is FEBKO & FEBEP table?

First lets understand the basic process of bank reconciliation in SAP. (Few can skip three paragraphs below if you already know about reconciliation process)

So there are two books of accounts involved in this process, one is of internal organization ledger maintained by organization and other is bank ledger maintained by bank. Two different parties trying to maintain same set of information in two different places. Whenever such situation happens, reconciliation jumps in. (this is something to be solved by blockchain technology).

User makes payment in SAP and book journal entry in Bank GL account (this is assumption). Same payment details send to bank (nowadays mostly electronically) via DME in SAP. Banks make the payment and book entry in their own ledger (this is actual). But sometime bank fail to make payment and don’t make any entry in their ledger, sometime bank make additional entries into their accounts for interest & charges (all are actual entries impacting your bank balance). But your SAP system don’t know about these transactions yet and so does the mismatch comes. And the reconciliation is required to match these two sets of books of accounts.

In SAP there are two ways (technically) to reconcile the balances. One is manually entering statement entries into system and reconciling through FF67. And other way is just uploading electronic bank statement in system through FF.5

If you want to learn entire process and configuration of manual & electronic bank reconciliation then you can read this ebook.

Now come back to our heading, what is FEBKO & FEBEP?

Before exploring these tables one should know that, Bank management is submodule of SAP FI, just like AA, AP, AR & GL. Hence just like in asset accounting, there are separate set of tables for asset accounting data and separate tables for storing accounting postings in GL area, in bank management also FEBKO & FEBEP tables are part of bank management and it does not store any accounting related data.

When you will run bank reconciliation transaction whether it is FF67 or FF.5, it will create some entries in FEBKO & FEBEP tables. Later on end user/ supervisor will check the bank statement data and post it to accounting (FEBAN process). At this stage accounting document tables BKPF & BSEG will be updated. Along with FEBKO & FEBEP with accounting document number.

FEBKO – Electronic Bank Statement Header Records

FEBEP – Electronic Bank Statement Line Items

As the description suggest FEBKO stores header records, it means for each bank reconciliation run in combination with house bank and account id FEBKO will have one line record generated.

FEBEP will have all the line items that are there in bank statements.

Fields of FEBKO table

FEBKO stores header records of bank statements in almost 109 fields. Obliviously we will not look into each and every, but we will see those which are important to know.

FEBKO Table
FEBKO Table

Whenever you will post bank statement via FF67 / FF.5 it will create one row in FEBKO table and multiple rows in FEBEP table depending on statement line records.

Now let’s see what information is available in FEBKO table:

Application field – It helps to filter records based on its application. You can see 0001 is for bank reconciliation. Similarly 0004 is used for account balance records (bank send these records as part of intra day statement). Lockbox & check deposit transactions can also be seen based on usage.

Sending bank will have account number and currency combination.

Statement ID is internally assigned unique statement number to each bank statement.

Next important field is short key, it is unique key assigned to each record of FEBKO irrespective of application. This field is used across tables and programs to identify unique statement record.

Let’s check one record:

In FEBKO –

In above screenshot you can see application number is 0001 so it is bank reconciliation entry. In sending bank field there is bank account number and currency (but we also have dedicated fields for account number and currency). In statement ID internal statement number is assigned. Short key is the unique number against this record, which you can use in any other tables/programs to find out this statement record.

Short key field is also a link between FEBKO & FEBEP table.

There is one program RFEBKA96 to delete bank statements from Bank management module (delete data from FEBKO, FEBEP.. etc)

If you execute this program in SE38:

RFEBKA96  Program to delete bank statement data

You can see it is asking for two values one is application, 0001 for bank recon statements, 0004 for account balance statements

And other field is ID, it is nothing but short key.

So let me execute this program with above statement (application 0001 & ID 205978)

And here we go, got exact statement with statement id. now lets delete it from here.

It will show you how many tables data is deleted with this activity.

And you can notice all are bank related table, so this statement is disappeared from bank managent system but if this statement has posted any accounting document it will be still there. That will need manual reversal.

So mostly this is used when no accounting document is posted and you want to upload new statement.

Now coming back to FEBKO table fields

You can notice above there are several fields to filter out the statement records.

G/L – Of main bank account

Bank account – Bank account number

Statement no. – Bank statement number

House bank, Statement import date

Read eBook: SAP DME – A Simplified Guide

There is one more field that one should pay attention to and i.e. statement status (ASTAT)

This field will contain below values and by looking at it, you will be able to understand what is the posting status of this bank statement.

0 – Being entered
1 – Being post edited
2 – Entered =20
3 – Post edited=20
4 – Being posted
5 – Delete ID reset
7 – Posting incomplete
8 – Posting complete
9 – Deletion ID set

Whenever status will be 8 it means bank statement is fully posted without any error, Similarly 0 means statement is uploaded by selecting – ‘Do not post’ option. 7 – posting incomplete will tell that some of line items are not posted to accounting yet.

Next to statement status there are two fields A1 (Area 1) & A2 (Area 2). While defining posting rules you have option to define two accounting entries in two areas. It is used for clearing customer/vendor open line item along with incoming/outgoing bank GL line item. These fields will represent that two accounting entries, if marked with X means both entries are posted without any error.

(the above scenario is explained in more detail in this ebook)

Read Blog: Everything about derivation rule in SAP COPA

Field – statement number & statement date

These fields are populated from bank statement.

Statement number represents unique statement received for that specific bank account number. System also do not allow duplicate statement number for same bank account number.

Statement date is also taken from bank statement. It also represent the date on which transactions took place.

As we discussed FEBKO is header level table, so it also display the total debit & credit posting of statement and along with opening and closing balance.

These are all important field of FEBKO table, it helps a lot if you know what is the use of these fields & from where it is updated.

Next in FEBEP table we will see information about accounting documents, posting rules, interpretation algorithm

Fields of FEBEP table

This we will see in 2nd part of this blogpost.

Hope you enjoyed reading the post. You can subscribe to our newsletter to get update of new blogpost.

 you can stay connected with us on below platforms:

YouTube

LinkedIn FICO Page

LinkedIn ABAP Page

LinkedIn Logistics Page

Instagram

Read More
SAP College February 11, 2022 0 Comments

How to schedule background jobs in SM36 (Easiest way to schedule job using Wizard)

Background job in SAP

First thing first, lets understand what background job is and use cases of it (few can skip to next heading).

How I come to know about background jobs first time? SAP forced to use it. At the time of executing depreciation program, got an error that live depreciation run cannot be executed online, and it should be posted through background job. So I executed background job from AFAB transaction. From Menu – Program – Execute in background.

So 1st use case – It saves end user time. Many times if we execute any transaction which take several minutes to complete, background job can save you that time. Also think about risks involved in doing online run. If you are executing complex transactions which involves critical subsequent activities and if the running server were not able finish that activity within 15-20 minutes, you will get ABAP run time error. Many times your connection might get down, due to VPN connectivity issues or internet connectivity.

On the other hand if you schedule that activity in backend, SAP will allocate one separate server for the program to run and it will not be dependent on user connectivity or activity. User can log out and log off their system. The job will do their work.

2nd use case – Automation. Background jobs are nothing but bots that are helping to automate small to long processes. Because it gives the flexibility of schedule time. You can schedule job whenever you want at whatever frequency you need. Within job you can set different set of programs to run after another. You can trigger job based on various events.

In large organizations 70-80% processes run through background jobs. Background jobs are very crucial part of SAP, one should know in and out of background jobs.

You can read this SAP help documentation to know everything about background jobs

Schedule jobs using job wizard

There are two ways to schedule job, one is where you enter details in multiple fields in multiple places and another is through wizard, where SAP walk you through whole process. Job Wizard is very useful and handy tool and still very underrated. Whenever there will be any need to schedule job in production server, you will have to schedule it through SM36 transaction only. Lets say you have run depreciation run in production system, but most of the cases you will not have authorization to AFAB transaction, so in this case you need to schedule one job in SM36 with depreciation run program and appropriate variant.

Go to SM36

SM36 - Backgound job schedule transaction code
SM36 – Transaction code

You will find the Job wizard icon in Menu (highlighted above)

Click it to launch the wizard

You will be prompted with the below screen

SM36 Job Wizard
Job Wizard

It says everything about itself on first screen – “The Job Wizard quickly guides you step-by-step through the process of creating a job, allowing you to move back and forth between steps in the process and to confirm the details of the job you’ve just defined.”

Click on continue to proceed

Give some meaningful name to Job (unlike given above)

Job class should be as per job priority. System will allocate appropriate space from the server based on job priority.

Job status will be grayed out with default status

In Target field, there is option to select in which server you want run the job. Usually there is dedicated server created for each modules and some additional servers for big activities. Although it is a optional field, so if kept blank it will determine server itself. It does not matter much for small jobs. But for huge activities where processing data is large and for complex activities, it needs to run on separate servers so that other processes don’t get disturb.

Press continue to move on

Get S4 HANA Server Access: S4HANA 1909 – Functional Server

On the next screen, select ABAP Program step (Never used other radio buttons)

Press continue

Here you have provide ABAP Program Name and Variant for the program.

There is one program available for every transaction in SAP to run it in background (with selection screen). There are many ways to get program name. Simplest one, just Google it.

Variant – Create one variant for program with the selection criteria you want. (In my experience there will always be a variant available which can suite your requirement)

Not going into details about how to create variant, assuming everyone aware of it.

After entering program and variant name, press continue

If you notice closely in each screen of the wizard, there is explanation given on top for every field and why it is require/ what does it do.

In below screen, it is asking if you need multi step job. Explanation is given in upper side of screen. So multi step jobs mostly used to automate multi step processes. If you select add additional step option, then you will have option to add another program and its variant details. You can add as many program as you want, as per the running sequence.

So system will execute another program once first program is over.

We don’t need this option in our scenario, so just press continue

Here you will get to select schedule time and frequency of job. There are multiple option to trigger the job and each one is equally important. We need to release job immediately, so we will select Immediately option.

Press continue

On the next screen system will tell you, what is the current occupancy of servers and how feasible is it to run job immediately. This is very useful, when you will run the job in busy timeframe / busy system. Many time heavy job release can lead to other job failures and impact system performance.

Press continue

Last screen will give you all the details overview, you so far entered and ask for final confirmation.

Click on complete to release the job

And the job is scheduled. Very easy ah? Once you use it, you will get addicted to this wizard. Since I come across it, never scheduled job without wizard in SM36.

Read eBook: SAP DME – A Simplified Guide

How to monitor background jobs?

Scheduling job is one thing and monitoring it is another skill, if you know the key point one should check.

In SM36 jobs are scheduled and in SM37 jobs are monitored.

So without further ado, lets go to SM37

SM37 Job Monitoring transaction code
SM37 Monitor Job

I will not bore you with the basic details of this screen. So we will enter the job name that we entered in wizard (ZSAMPLE).

You can also search job based on program name. In the last field of above screen you can enter the program name which is running underneath of job, in our case it is RAPOST2000.

So if you don’t know the job name and want to check what are the jobs that are running for specific program, this will be useful feature.

There are very important job selection criteria’s available in ‘extended job selection’ tab. You can visit it, everything is self-explanatory no need to mention here.

Press F8 to search job for given selection criteria.

So our job is in finished stage. You can also notice the start date and time plus duration of how long job was running.

Further in menu, we have option of Job log, where we can get the details of step job performed. Job logs are useful when job fails. Like in our example we have executed depreciation run program. So if the depreciation run got failed due to not maintenance of document number ranges or due to cost center block issue then these details will be printed in job log to analyze and take corrective actions.

In spool the result screen is printed with the information that are requested through program. If you are running reports in background, then report result will be available in spool. In our depreciation case, in spool we can see the assets with posted depreciation values.

Next we have ‘Steps’ option where we will get to know the underling programs of job. There we can also see the program variant that is executed for selected job.

This is the program running under ZSAMPLE job. If you want to check variant values then go to Menu – Goto – Variant

Here you can confirm for which company code and for which FY, period this job was scheduled/run.

Read Blog: How to use user exit in substitution and validation rules?

Come back to job overview screen

and double click on job

Here you have multiple option to know more about job.

On top right hand side, Start condition will tell you what triggered this job.

‘Job details’ will help you understand, job priority and execution server details.

‘Predecessor job’ option will tell you what are the job that run before this job and after completion that job will trigger this job.

‘Successor Job’ will tell you which job will be triggered after this job is completed. These two options are very useful to know more about dependent jobs.

Our ZSAMPLE was standalone job. It neither get triggered by any job nor it triggers another job.

This is all about job monitoring and job schedule. You can bookmark this post for future reference.

Thanks for reading. Do subscribe to our newsletter below to receive notification of new blogpost.

If you enjoy the blogpost, then you can stay connected with us on below platforms:

YouTube

LinkedIn FICO Page

LinkedIn ABAP Page

LinkedIn Logistics Page

Instagram

Read More
SAP College February 4, 2022 0 Comments