When her company decided to automate the process of creating company organizational charts, the author was in charge of finding a tool that integrated well with R/3. She found Microsoft Visio to be the best fit, but first, the company had to store its hierarchical relations in R/3.
Like many companies, a company that I worked for had a manual process for the creation of company organizational charts. These PowerPoint documents had to be updated every time a change occurred within the organization. I’m sure you can imagine how much work it was for a company of 10,000 employees with a turnover rate of 22 percent to keep those manual charts up to date, accounting for every title change, supervisor change, or, worse, corporate restructuring. It got to the point where the maintenance of this function consumed 60 percent of one HR administrator’s time on a daily basis.
Then the company decided to automate the task. This required two steps: storing the hierarchical relations in R/3, and finding a tool that integrated well with R/3.
I was in charge of researching the different org chart software solutions. After testing about half a dozen options, I discovered that Microsoft Visio (2002 Standard Edition) was the best fit for our purposes. I will describe its capabilities, but first let me explain how to get the hierarchical data into R/3.
Storing the Data
To create org charts from R/3, you need to store the hierarchical relations among the employees — Carol works for Daniel, Daniel works for Patricia, Patricia works for Chris. The first step to doing this is to use the supervisor relationships in the PD (Personnel Development) section of the HR module. Note that the integration between PA (Personnel Administration) and PD has to be turned on.
You may be familiar with the relationship concept already. Each position in PD has a relationship to at least a couple of different things. These relationships are stored on infotype 1001 (Figure 1).

Figure 1
Relationships stored in infotype 1001
Examples include the relationship (B 007 C), which is the relationship from the position to the job; (A 011 K), which is from the position to the cost center or relationship; and (A 008 P), the relationship from the position to the person, as shown in Figure 1. Creating relationships among the employees and their supervisors is a matter of creating a new infotype 1001 relationship type (A 002 S), which translates to “position reports to position.”
Tip!
The great thing about having the org charts attached to positions is that if a supervisor quits and is replaced by someone new, the staff relationships automatically transfer to the replacement. To ensure the upkeep of position data in R/3, we added steps to our standard employment events (hiring, organizational changes, termination, etc.) to create the appropriate supervisor relationships.
In my example, if Daniel works for Patricia, Daniel would have an infotype 1001 relationship type A, the number 002, and object type_S for the related object Patricia (which would actually be Patricia’s position number). That relationship says that Daniel is supervised by Patricia. Once that relationship is created, R/3 automatically creates an infotype 1001 for Patricia’s position relationship type B, number 002, to object type_S for the related object Daniel (which would actually be Daniel’s position number). That relationship says that Patricia supervises Daniel.
Because we did not have any of these relationships in place, we had to input them into R/3. In lieu of manually creating more than 10,000 of these 1001 records in PD, we put them into a spreadsheet (employee position number and supervisor position number) and loaded them into R/3 through a relatively simple ABAP program. It created an infotype 1001 record for each employee with a relationship to the supervisor.
Tip!
If you use this same method to load your supervisor relationships, be sure to use the same begin and end dates for the new relationship infotype as exists for the person/holder relationship (A 008 P). This ensures that your PD relationships stay in sync.
Org Chart Software
Once the records were loaded, I began researching org chart packages sold by SAP partners. I quickly learned that most of the software was not as flexible as I had hoped.
The first challenge was the designation of page breaks. Many of the packages offered the flexibility to designate which positions go on their own page; however, making the designation was a manual process after the data was imported. If I said that Chris was to have his own page, and Chris had 70 people reporting to him (directly or indirectly), the software would try unsuccessfully to cram all of his reports on a single page.
We did not want to manually designate page breaks each time we created org charts. Most packages offered the ability to save the import designation of page breaks, but it was hard-coded based on the employee’s name. Therefore, it would require frequent changes. Furthermore, we had already stored a record in PD for any position that we wanted to appear on its own page, along with an identifier of how many levels to go on that page. Figure 2 shows a record for the vice president of sales position and an indicator to go down three levels. Because we already had this data stored, we were disappointed that even the most expensive packages were not flexible enough to read it and produce the output.

Figure 2
Record for vice president that goes down three levels
Another challenge, which was a requirement for my company, was to show counts in the org chart boxes. We wanted the ability to count not only direct reports, but also total staff. Many of the org chart solutions we reviewed did not have the ability to:
- Provide this type of counting
- Hide the count numbers if the employee had no direct reports (see James and Carol in Figure 2)
- Determine page breaks and numbers of people to display on a page
- Provide the flexibility to make the charts the way that we wanted to make them
- Probably the most important factor in addition to these was cost. Most of the packages were prohibitively expensive. Some required that licenses be purchased for anyone who was going to either use the software or receive an electronic copy of the finished org charts, which in my organization was a large number of folks.
Just when I thought I was out of luck, I discovered Microsoft Visio. This software, in its standard form, is often packaged with the Microsoft Office suite and is designed for creating charts and graphs, including org charts. I downloaded a free trial and was creating charts in just minutes from my R/3 data. I purchased Visio for just $199. It required licenses only for those using the software (which can be negotiated as part of a standard Microsoft Office licensing agreement). This meant we could send the org chart to anyone. Recipients would be able to open it simply by using the Visio Viewer, which is available for free download from www.Microsoft.com without requiring licenses, thus avoiding additional fees.
Because Visio is a Microsoft product, we were able to customize how it works using Microsoft standard VBA (Visual Basic for Applications) language. VBA, not to be confused with its technical programming language counterpart Visual Basic, is the user language available in Microsoft products such as Word and Excel. We developed several Visio macros (using the macro wizard and VBA) that would retrieve the data (a download file from R/3), read it, and produce the org charts in the exact format we wanted. It could read through our page breaks and level designations, create custom headers and footers, and change the size and style of the org charts based on the employee’s job code. For instance, vice president boxes are large and vacant positions are outlined with a jagged border. It could include logos and staff photographs, and gave us the freedom to create exactly the type of org charts we wanted, all at the touch of a button.
Tip!
If you want the flexibility to do several different things with your org charts in Microsoft Visio, it would be a good idea to have someone trained on Microsoft VBA so that you can code the macros that you need.
If you use the vacancy functioning in R/3, you can decide to include or not include vacant positions in your org charts. After you have all your supervisor relationships in place, you need to create an ABAP program that downloads any information you want to present in an org chart. You need to create only one ABAP program with a detailed selection screen. This will give you the flexibility to create a file of all employees or only certain groups of employees for charting.
A chart can be as simple as the sample shown in Figure 3, which was created with an ABAP program calling for the employee’s name, title, and supervisor’s name.

Figure 3
Sample organization chart
Or it can be quite advanced. We downloaded employee name, title, supervisor, location, number of direct reports, number of total staff, page break information, personal details, and years of service in one report. Because you can have multiple macros in Microsoft Visio to create different types of charts, we had one for basic data and others for personal data, such as birthdays on org charts that were distributed to departments for celebrations.
Because all positional changes that happen to your company also happen in R/3, the org charts are always current. For my company, that meant no longer doing double work to input the change into R/3 and then into the PowerPoint org charts. We could, at a moment’s notice, create an org chart of our most current data.

Danielle Larocca
Danielle Larocca is currently the Senior Vice President of Human Capital Management for EPI-USE Labs. Previously she was the Executive Vice President of Operations/Chief Knowledge Officer at a technology start-up. She has more than 20 years of strategic leadership experience in multi-national business, business process re-engineering, and project and people management. Danielle is an expert on SAP Human Resources (HR) and reporting and has authored four best-selling books on SAP. She is a regular speaker at numerous conferences around the world on topics such as HR, technology, change management, and leadership. She is an official SAP Mentor, a global designation assigned to less than 160 professionals worldwide, who serve as influential community participants in the SAP ecosystem. This group is nominated by the community and selected by the SAP Mentors’ Advisory Board to keep SAP relevant. Danielle also serves as an expert advisor for SAP Professional Journal.
You may contact the author at me@daniellelarocca.com.
If you have comments about this article or publication, or would like to submit an article idea, please contact the editor.