Skip to Content

WWI for Beginners

The discussion in this FORUM of SAP EHS Management has shown that many consultants etc. do have some „problems“ in understanding WWI. The topic of “WWI” belongs to the roughly “top five” discussed.

This document should help so that may be the work can be done more easily. This document is intended to provide an overview and not the detail.

The term SAP EHS Management in the context of this document does not include the “Component Extension for SAP EHS Management”.

This document should provide some hints. Regarding WWI it can never be complete. This document takes care of aspects in SAP EHS BD and SAP EHS SAF which are related to generates document like SDS/MSDS but e.g. not of SAP EHS IH (Industrial Hygiene) (there you might have the need to generate a SOP) nor SAP EHS WA (Waste)


Try to crawl, walk and then run.

In the meantime many other people started documents/lectures on WWI. Therefore you should check any blog or document as well.

One example which is not part of SDN is:


WWI is an abbreviation for: Windows Wordprocessor Integration.

It is a tool used in context of SAP EHS Management to generate documents. The documents are in most cases then stored in SAP (e.g. DMS). It is an add on to Microsoft Office solution „Word“. The tool is used as well in the context of distribution of documents (like Safety Data Sheets) or the generation of labels.

To handle WWI you need an understanding in:

  • data management and data model of EHS
  • how to store documents in SAP (e.g. SAP DMS)
  • how to install WWI locally and on a server (so called generation server)
  • how to enlarge WWI if needed (e.g. prepare new report symbols)
  • the difference in use of WWI in context of SAP EHS GLM and e.g. generation of a safety data sheet
  • you need to have an understanding about difference between:
    • cover sheet

    • letter of acknowledgment
    • and „normal“ WWI layouts

Using WWI at the end you generate (in most cases) a document having an assigned main language and an assigned generation variant. These documents can be viewed etc. in transaction CG54 (Report Information System) or CG50 (Report Management). You can use CG02 or CG02BD to create the reports or to get a „draft“ view of content of the documents (using functionality “Report from template”).

In most cases the document generated is stored in SAP DMS. Especially in the area of GLM other options can be used to handle the document which is generated.

Out of scope of this document

  • In this document the GLM process will not be explained (e.g. use of LabelView on material level). The same is true regarding the difference in WWI set up etc. linked to GLM. 
  • The preparation of a cover sheet or a letter of acknowledgment is out of scope of this document as well.
  • The handling of the “Status” (as part of the specification header) and the impact of the Status on content of WWI document is as well out of scope of this document.
  • The handling of the “Status” as part of phrase management and the impact of the Status on content of WWI document is as well out of scope of this document. The same is true for the “Status” flag on generation variant level
  • SAP EHS Management Server (set up etc.)
  • The set up of WWI Server farm ot the local WWI set up
  • The different options to store WWI documents is out of scope as well
  • Any enhancement of WWI process as part of Enhancement Package

Data management and data model of EHS MANAGEMENT

If you do not understand the data model of EHS Management and how it is related to WWI you might have a problem. Nearly any data as stored in SAP ERP can be collected using WWI „procedures“ to be printed on a document. But you need to know, how to maintain the data so that WWI can be used to collect the data.

The data model shown here is related to SAP EHS Basic Data and Tools and SAP EHS Product Safety only. Anything else is out of scope. Remember: in mosgt cases to prepare suitable WWI reports you need additional data e.g. from SAP MM, SAP SD etc. This is done using parameter symbols.

Specification header

In context of WWI you can collect e.g. data from specification header. E.g. you could print the content of the „Note“ or the „Substance nature“ which are maintained both on specification header level. To do so after proper installation of SAP EHS Management you will find some standard „report symbols“ which can be used in WWI context.

Most important in the context of specification header are:

  • Assigned Identifier
  • Assigned Materials

The data maintained on level of identifier or material is needed very often in context of WWI document generation.


An identifier is characterized by a:

  • Identification category (e.g. NUM, NAM etc.) and

  • an Identification type (CAS, SYN etc.)

An identifier can have assigned to it a:

  • one or no Language
  • no, one or more than one Regulatory List
  • no, one or more than one Usage

and one can maintain more than one identifier of the same type (e.g. more than one NAM, SYN).

It is important to understand in context of WWI the use of „Usage“ on that level. Because of compatibility an identifier can be selected with WWI without having an usage but if there is an usage maintained on identifier level (important is that as well the “active indicator” is set) then this usage must have an overlap with the „usage“ as defined in generation variant or the identifier will not be shown in WWI.

It is very common to use in context of SAP EHS Management a “identification list” to select an identifier to be printed. This option is available within WWI as well and it used often to select a suitable identifier. How to deal with this option is out of scope of this document (even taking into account the fact that this option can be easily used in the context of WWI).


A specification (in most cases the specification is of type REAL_SUB) can have no, one or many assigned materials. Materials are part of SAP MM. Therefore the collection of data is done at a different point in time (expansion time) but you can collect nearly any data needed (e.g. material name etc.).

Value assignments/Property data

The most important part of data to be collected is maintained in the property tree as data records in several value assignment types (sometimes simply called “properties”).

Here it is important to understand the „basic“ options in SAP EHS Management. You can have a value assignment type of type: (e.g. refer to:; chapter: Example: Value Assignment Types)

  • A (e.g. density)
  • B (this is a property of type specification listing)
  • C (this is a property of type composition)

and some special value assignment types used in the context of dangerous goods management.

But you can mix that. Therefore you can mix Type A with B or C; but you can not mix B or C.

Based on the type of the property different WWI procedures are needed to retrieve the data.

But as with the identifier the most crucial topic is to understand the use of the „Usage“ per data record.

WWI methodology

Generation variant1

To use a WWI layout you need first to in most cases create a generation variant.

You have two options:

  • you create a generation variant with reference to a WWI layout

  • you create a generation variant without reference to a WWI layout

The second option is related to so called “inbound” reports and is out of scope of this document.

The “critical” part of definition of generation variant are these sub objects:

  • The leading validity area
  • The report category
  • The “Display Options”
  • The Generation Variant Indicators
  • The “Rating”
  • and the “Application object” assignment

If needed you could maintain as well so called “discrete validity areas” which will not be explained here. The “discrete validity areas” and their use is out of scope of this document. They are used in most cases only in the context of label generation and the main is use to print data in more than one language in the same document.

Display options

Regarding the display options there is recent thread in this FORUM. The content might be of interest for community to adapt the “date” etc. format of WWI layout. Please check: Addition of new date format in Generation Variant (CG2B)

Report category

This assignment of a report category is critical as the report category is the “central” object to make links to other processes like safety data distribution. You should not change the assignment of the report category if at least one report is in the status “Released”.

The leading validity area

The use of the “leading validity area” can only be explained together with the use of the “Generation Variant Indicators” (refer below).

The “Display Options”

This type of data is not as critical as the other ones but you should never change this data after you have used the generation variant to create a report (status “Released”). These options are needed to make sure that e.g. data of type “Date” or which is “numeric” is printed/shown according to local regulations.

The “Application object” assignment

Based on WWI layout context this part is populated nearly automatic (with inbound reports you must assign the objects by your self). But sometimes it does not work properly. This part is once again “critical” in the whole context (e.g. use of CG50, CG54 etc.).

If we talk about a safety data sheet (material safety data sheet) normally you will find here “SUBMASTER” and “MATMASTER”. In CG50/CG54 this is used to decide if you can switch between the “Specification view” and the “Material view” of the report tree.

Per sub module of SAP EHS you can find other terms used / needed in the “application object”.

You can enhance SAP EHS Management by defining own application objects. This options is out of scope of this document.

The “Rating”

This is one crucial topic which you need really to understand. The use of a “rating” makes use with “classic” WWI reports. Regarding Inbound reports it is just an “add on”.

Some recommendations:

  • In context of e.g. safety data sheet generation at least one rating should be used (e.g. PUBLIC)

  • It is allowed to use more than one “Rating” and if this option is used you can specify a “priority” per rating

Ignoring for a second the topic of “validity area” this is the fact if in WWI layout a report symbol have been used to retrieve data any data record from e.g. “Color” (any data record should be printed):

Let assume only “PUBLIC” is used as rating in the generation variant

Number of data record in data base


Usage of data record














Now let’s assume the generation variant contains two ratings with different priority e.g PUBLIC with priority 1 and STANDARD with priority 2:

Number of data record in data base


Usage of data record














Now let’s assume the generation variant contains two rating with the same priority e.g PUBLIC with priority 1 and STANDARD with priority 1:

Number of data record in data base


Usage of data record














As you can see: the priority of the rating can have some effect on data which is retrieved.

Generation Variant Indicators/Validity area

The use of the “indicators” is critical to understand the result  in the WWI report. You should not change the value after you have generated at least one released report.

Initial release status field

You must specify a release status. It is recommended to not use “Released” as the initial status (e.g. use “Ready”).

Change Mark

Using this indicator data which has been changed relevant in data base is “marked” in the report. Used mainly in the context of safety data sheet generation. Pay attention: in higher release of SAP EHS Management additional features are delivered (e.g. relevance key on “Reference” and “Inheritance” level). It is not easy to understand this “flag” for beginners. Further on with some SAP release the “existance” or not of a change flag depends on “seconds” and not on day level any more. Pay attention: the “Change” mark is “triggered” mainly by user activity. The system does not have any algorithm to mark automatic a data record in the WWI report as “changed”.

Out of scope of this documents is the type of “marking” in WWI layouts (normally a “dash” is used on the left side).

Generate manual requests automatically indicator

You should use always the “Yes” option or you must go through (by using CG50) the status net of the report.

Set historical automatically indicator

If a former released report of same combination of generation variant and language exist the former report is set to historic automatic if the new report is released. In most cases it makes sense to use “Yes” as the option.

Version requirement indicator

You should (it is recommended) set this flag if you would like to generate versions of report as e.g. 1.1, 2.0 etc. Pay attention: it is not easy to understand the “effect” if you decide not to ”flag” this indicator. But some reports do not need this flag (e.g. in area of GLM).

Status check

This option is used rarely and therefore not explained further.

Leading validity Area

Topic is explained on a good level e.g. here:

chapter ” Usage check”. There is a reference to the subchapter “Generation Not Permitted:

Please take your time to understand the graphic shown. This is critical to understand the mechanims used to retrieve the data from data based base on the “usage” of the data record of interest.

Don’t mix the “leading validity area” with the “discrete validity area”. The last one is “special” and used in most case in GLM context.

WWI Layout

As WWI is based on Microsoft Word solution you can use any formatting aspects which are available in Word. Pay attention! The topic of “font” selection is not “trivial” and the printing of data using eastern languages (e.g. hebrew or arabic) is a different story (refer to chapter “Determining Fonts”).

By using standard SAP transaction CG42 you can start to edit a WWI template and selecting report symbols to be part of the WWI layout.

You can create, if needed, your own report symbols (refer to the corresponding customizing activity in transaction SPRO). In most cases the SAP standard symbols can be used to take care regarding a large amount of different demands.

In this document only some references to the online SAP Help should be given. The SAP online help is a good starting point for beginners to understand the different WWI techniques.

Please check this nice blog:

Process Diagrams for Report Creation

It is strongly recommended to check these links:


a very nice overview about the steps:

  • how to create a WWI layout as well as a raw report

  • and how to generate a final report

is shown.

In combination with: (Chapter Report Creation Process Flow)

a very short but good overview about the important steps using WWI layouts is shown (here in context of shipment of the final reports as well).

Document Types


the most important document types as used in context of WWI are explained. It is important to understand these basic concepts of document types. Out of scope of this document is the handling of the documents in e.g. SAP DMS etc.

Determining Fonts

As Microsoft Word uses “Fonts” so that text can be printed/shown it very important to understand the concept as used in WWI.INI to make sure that the text is printed/shown in the right font. A lot of OSS notes are referring to issues in this context. It is important to understand the use of Unicode in context of WWI and about the right set up here.

Take a look on: (Chapter Determining Fonts) to get an idea about that.

Expansion Time

It is important to understand the concept of the “Expansion time“ as this is related as well to the topic which data is part of the raw report and which data is part of the final report. Check: (Chapter Expansion Time).

Some additional references to SAP Online help

Links Remark
Windows Wordprocessor Integration (WWI) – Basic Data and Tools (EHS-BD) – SAP Library Explain high level WWI
Symbol – Basic Data and Tools (EHS-BD) – SAP Library Explain “what is a symbol”
Selection of the Correct Symbol Type – Basic Data and Tools (EHS-BD) – SAP Library Talks about different symboltypes
Repeating Groups – Basic Data and Tools (EHS-BD) – SAP Library Repeating group
Blank Compression – Basic Data and Tools (EHS-BD) – SAP Library Blank compression
Conditional Output – Basic Data and Tools (EHS-BD) – SAP Library Conditional Output
Conditioned Text – Basic Data and Tools (EHS-BD) – SAP Library Conditioned Text
Character Sizing – Basic Data and Tools (EHS-BD) – SAP Library Character sizing
Inclusion of Document Templates – Basic Data and Tools (EHS-BD) – SAP Library Includes
Output of Sequence Numbers and Sequential Data – Basic Data and Tools (EHS-BD) – SAP Library Numbering
Example: Layout of an Abridged Material Safety Data Sheet – Basic Data and Tools (EHS-BD) – SAP Library Examples of layouts
Example: Separation of Value Assignments – Basic Data and Tools (EHS-BD) – SAP Library Examples of layouts
Example: Compositions in Table Form – Basic Data and Tools (EHS-BD) – SAP Library Examples of layouts
Example: Discrete Expansion of Multiple Value Assignments – Basic Data and Tools (EHS-BD) – SAP Library Examples of layouts
Integration of Dangerous Goods Data in Material Safety Data Shee – Basic Data and Tools (EHS-BD) – SAP Library Examples of layouts

Tipps for WWI beginners

Take your time to understand the examples which SAP have collected in the SAP online help. These examples are a good starting point.

As with ABAP language try to prepare a WWI layout to show the well known “Hello World” statement. This can be done like this:

  1. Identifier

Generate a identifier on specification with text “Hello World” and usage e.g. PUBLIC / REG_WORLD. Try to insert the corresponding WWI symbol. You could enlarge this example by using more than one identifier of the same type. E.G. like:   


Hello World


WWI is a great tool


Murphy was here

Play around with this “simple” layout. Next step of complexity could be that you use an “identification listing” in the WWI layout.

You can print „Hello World“ as well e.g. by simply maintaing the „Note“ on specification level with the text „Hello World“ and then using the corresponding report symbol to print it in the WWI report.

Further options to print „Hello World“ are:

a.) maintain one data record in e.g. VAT „Color“ and maintain a user defined text (e.g. RM) and use the „Hello World“ as a text. Play with this scenario by adding more than one User Defined Text may be using texts liek“Hello World1“, „Hello World2“ etc.

Specification header

Try to prepare a WWI layout with which you can print e.g.

  • specification number
  • authorization group
  • substance nature
  • specification note

User defined text

Prepare a WWI layout with a main repaeting group and try to select any user defined text of a specific type. (e.g. RM).

Value Assignment type data

Start the WWI layout with the a simple example (e.g. color; refer above). Try to print any data record, only the first one etc.

Increase complexity by adding a “phrase header” (like Color) and then use blank compression methods.

Go on with test of properties like “Chemical characteristic” and print identifiers of component together with values etc.

Try to print e.g. “graphics” as part of the phrase etc.

What you should not try as a beginner in WWI

  • Don’t start with GLM labels; do not try to use the “labling tool”; don’t think about to print „Bar Codes“
  • Don’t start with DG topics (chapter 14 of SDS/MSDS)
  • Don’t try to use “complex” WWI techniques (if, else, endif)
  • Don’t try to start with “tables”
  • Don’t start with dynamic font sizing
  • Don’t try to insert “final report symbols” (like material number etc.)
  • Don’t try to use the “include” technique
  • Don’t try to prepare your own symbols
  • Don’t try to prepare WWI layouts which should be used to print data with more than one language
  • As a second step try to collect and print data from „componentes“ (e.g. identifier or other data)
  • Use „EN“ as the main language first; the test some west european language (e.g. french). Then start with e.g. greek and / or russia.  After that go on with chinese (both version) thai and japanese
  • If you have the chance to analyse existing working WWI layouts then try to understand the logic there in. As smaller the WWI layout (MSDS/SDS is „complex“) as faster you will a better understading how to „maintain“ WWI layouts





Report Creation Process Flow

Expansion Time

Document Template Objects


WWI / MSDS etc.

Overview about discussions regarding WWI (and other topics) in SCN

#sdfootnote1anc#sdfootnote1anc#sdfootnote1anc1 Check e.g. Chapter: Generation Variant Editing

To report this post you need to login first.


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

  1. Dhinesh A.P

    Dear Christoph, This explanation is great from a expert like u. I would still recommend you to elaborate more with an example like the one i posted in forum for No output in symbol.

    Take any section of MSDS, give all the possible outputs likes phrases, values.


    Section 3. Possible hazards


               Phrase 1


               Phrase 2

               Phrase 3


                30 degrees

    Volume  :

               28 L/cm3.

    Give the syntax for the above and explain. When should u have a repeating group, when do u use expansion mode, when do u use slave master group.This may give a better idea for beginners or may cause users to post queries again n again. I appreciate ur valuable inputs.

    1. Christoph Bergemann Post author

      Dear Dinesh

      the examples provided by SAP in the online help are not so “bad”. Regarding your example some short “hints”

      Main Repeating Group: sometimes you must maintain more than one data record in the VAT; you need the mean repating group so that any data record present (and matching usage) will be printed

      Slave groups: are needed in most cases if you print “composition” or “spec listing” data

      Charcateristic which are phrase driven: here SAP is providing good examples, you need “only” to learn how you would like to take care with more than one phrase as part of the data record so that you can print either “Phrase1” , “Phrase2” (one after the other; or to have a “carriage return” between so that you get




      A little bit different is the part of characteristic which do have a “numeric format” and  to which an “UOM” is assigned. The topic of UOMs is discussed in this FORUM as well ( and the topci is really not easy to understand ). The “main” issue is: you can “mask” the data. That means in data base you have may be the value : 200.00 °C” but you can print that as “200 °C”; this might be “tricky” to understand how to use this option.

      In the thread you have created some people have provided some hints. May be if you go on in that discussion you will learn a lot.

      And frankly: you need in many cases one year (in my opinion) to define that you are not a”beginner” any more but on the level of an “advanced” WWI developper. Keep in mind that e.g cover letter and other topics are “different” to what I have tried to explain. If you succeed to generate / prepare GLM labels and you succeed to generate your own (may be complex) report symbols then you will be an “expert” deevlopper (especially taking into account e.g. DG topics).

      PLease notify that WWI development in the area of Waste or Industrial Hygiene is different once again. But if you are able to handle all these types of WWI layouts you have really good chances (as WWI development is needed on a regfular basis by many companies). on the IT market.

  2. Patrick Kessenich

    Dear Christoph,


    This was very helpful in my work.  I had one additional question. I am looking to create a WWI that contains thousands of CHARS in repeating groups. This would be within a simple table. I would like to build the entire thing in excel using macros to take what may be 20-30 days of work and get that done in a few hours. My issue is that WWI will not recognize the formatting differences between symbols, repeating group code, and hard code text even if it is formatted correctly in excel. (i.e. direct copy of what works in WWI to excel, then pasted back to WWI will not work). Is there something you would know to make this work correctly?

    Thank you,


    Patrick Kessenich

  3. Christoph Bergemann Post author

    Dear PAtrick

    check parallel topic:

    I have no idea what you have in mind if you talk about “thousands of chars” to be prepared in WWI.. What do you would like to get?

    In any case: Using EXCEl to “prepare” something to be used in WWI: never tried it. Never had the need to do so. And as you realized: does not make sense as you will get trouble in “WWI” (so that WWI layout is not correct)


    PS: No clue why you can something prepare in “EXCEL” better than just to use WWI (and use options in CG42)


Leave a Reply