Personal Insights
WWI for Experts
ATTENTION / ATTENTION
Long ago I realized that roughly 1/3 of this document was “crashed” and is not available any more (major parts are deleted). I have no idea at which point in time this “defect” come up. I will not repair this. It took me days to compile this document.
THEREFORE: PLEASE USE SCN SEARCH FUNCTION.
We all know that WWI might not be a “simple” tool. But it works.
Introduction
After using now WWI as a technique to collect data and print the data in a document for some years on a daily basis it is quite interesting to say: there is still some “surprise” possible in using the technique. This document is intended to collect some important topics which may help the EHS community in the future. As mentioned in http://scn.sap.com/docs/DOC-45645 it might be a challenge if you are a beginner in using WWI and you arein charge to develop WWI layouts. Topics like “conditional output”, “blank compression” (with or without alternative) etc. might not be easy to understand. Many people do have the trend to extend WWI layout with “complex” “if then else” logic but may be do not consider that sometimes by simply adapting the maintenance rules simpler WWI layouts or generation variant set up’s are possible. Especially the topic of labeling is a challenge as the amount of data which need to be collected, but not coming from SAP EHS, is clearly higher than in comparison to an e.g. safety data sheet (and there are difference regarding set up of generation variant as well). As well the topic of generation variant, language topics, validity areas etc. are “mixed” sometimes in Label content. If you really try to use GLM solution in EHS you will realize that it is not easy to define “good” solutions because of the complexity of the topic. On the top in most cases you need to print the same information in many languages as mentioned before (and it is not easy to define these languages) on a label and therefore you need additional WWI code to do so and you need to enhance the generation variant as well. And you have with the LabelView on material level and their maintenance an “on top complexity” (especially in context of how to select the right labels to be printed in the different label printing scenarios). On the topic during label generation you have in most of the cases to take care about “Bar code” printing because of several reasons. As well you need to print Batch information on the label, data like: produced on, country of origin etc. which in most cases need to be selected from SAP ERP data. Regarding Bar Code printing etc. SAP EHS has been enhanced with EnhPack7 as well.
Out of scope of this document is e.g. WWI documents related to “Waste” or “Industrial Hygiene” etc. WWI documents related to these topics might be a challenge too.
Quite interesting is the “application object” as part of the generation variant. Here you have a lot of options to “enhance” / “use” WWI and to enhance CG54/CG50 (but cleary you need to invest in definition of function modules etc.). Especially this object is used in context of GLM.
Many people trend to use “output conditions” (and/or “if else endif”; refer above) similar techniques in WWI as well (you will find a lot of threads in this FORUM dealing with that). Yes it is a nice feature. But the result is, or can be, a challenge (in my opinion) for ongoing support (most important question to take care: why is this data printed and not a different one?). Therefore: if you have the need to use these techniques and you should create a good (very good !) technical documentation of what you have done and you should train the users and your ongoing support ! You should ask yourself: can I achive the same by proper maintenance of data? Can I use e.g. a rule set to populate EHS in such a way that I do not need this special WWI technique to show/print something. For those who know EHS it is “quite” tricky to analyze (e.g. via analyzing specification change documents) why this (and not a different) information is shown in the report. And we do not discuss the topic that e.g. a phrase text, code etc. has been corrected/changed or a new/changed identifier is present. A further challenge might be the use of “identification listings” in a WWI report. It can take “hours” to discuss, if needed, why this identifier has been printed and not a different one. If you are using change numbers or e.g. inheritance, status management on phrase level or status management on specification level etc. it can take a while to analyze the content of a WWI report.
Additional challenges in analysing WWI results is that some times you use “identification listing” to retrieve data, or you would like to “hide” data (e.g. Trade Secret topic) or you need to print different material texts depending on print scenario. Please check SAP marketplace etc. For “Trade Secret” a solution package exists.
Some SAP EHS Management Issues
If you maintain identifiers, phrases or user defined text sometimes there is the need to have more than a number of characters (132) to be maintained.If so you start a special editor (you maintain then a “long text”). Based on your general setup of SAP etc. you can use in the text e.g. “carriage return” or other special characters. In the past I was aware of the fact that it is important to use the “right” editor in maintaining the “long text” to generate no trouble in WWI etc. Now I understand “more” the issues and the reasons behind.
Refer e.g. to: abap | saphelpdeskinfo | Page 3; subtopic: “System error when you create new report bodies” or e.g. MS Word as Editor in SAPscript and Smart Forms | SAP Script ABAP Tutorials | SAP Techies
Check as well e.g. OSS Note 559066, 1064655, 990560, 1333100.
IMPORTANT NOTE: the “long text” indicator is not only used to indicate that the text is longer than 132 characters. It can be set e.g. if your text does contain e.g. a “carriage return” (refer to phrase example below). The reason of this is the internal handling of the data in the database.
Out of scope
GLM and other reports as e.g. SOPs (SAP EHS IHS) or WWI reports to be used in the area of Waste Handling etc. are out of scope. Only some “high” level tipps are shown (and links are provided). In regards of Label and the use of GLM check e.g.: What is a “Label” and how support SAP EHS Management “Labeling”
Out of scope is the use of WWI in context of e.g. new SAP techniques with new UI (e.g. WebDynpro etc.). This can be tricky.
Recommendation
If possible: always use current WWI version on local client and generation servers. With so called GLM+ solution (as part of EnhPack 7) new options are supported in the context of GLM mainly to support printing etc. of labels. Try to make sure that WWI generation servers are always up and running (check WWI cookbook; restart options of WWI services have been improved; performance etc. have been improved as well, and there is now a local WWI DMS available)).
Keep in mind: at least two times per year a new WWI version is available. As well WWI is one of those areas with lot of OSS messages. So you should regularly check SAP marketplace.
There is some indication that based on SAP version and language used (refer to following chapter) there are still issue in data maintenance in “long texts”. These issues can then show up in WWI reports as well. Some threads are linked to this document.
Recommendation
- MANDATORY ! READ THE MANY THREADS ABOUT WWI SET UP ISSUES
- READ THE WWI COOKBOOK (Set up of WWI server)!
- Makesure that you understand the difference to local WWI installation
- DO INSTALLATION STEP BY STEP AS DISCUSSED IN THE COOKBOOK.
- DO NOT IGNORE CONTENT AND IGNORE ONE STEP.
- Look for Windows/Winword etc. experts (topic of user administration, how to do the “server set up” etc.).
- DON’T IGNORE THE UNICODE TOPIC (RFC CONNECTION ETC.).
- SET UP THE NECESSARY JOBS in SAP system AS DISCUSSED AND REQUIRED IN THE COOKBOOK.
Understand the difference between:
- WWI set up for reports as used for e.g. SDS/MSDS generation/dispatching
- and WWI set up for GLM and other stuff (e.g. WebGui use).
- Understand the different options used for “WWI sizing” for e.g. GLM and e.g. SDS/MSDS
KEEP IN MIND: IF YOU WOULD LIKE TO USE OPTIONS AS AVAILABLE BY THE SO CALLED GLM+: take your time to understand the options and the required set up (e.g. printer installation, DMS installation etc.). TAKE CARE IF NEEDED ABOUT WWI COMPRESSION AND REQUIRED SET UP.
Maintaining identifiers, user defined texts, phrases
You can maintain these objects using (if you have the correct SAP release):
- MS Word (The PC Editor (Microsoft Word as SAPscript Editor) – BC Text Processing with the SAPscript Editors – SAP Library)
- using what I call the “graphical editor” (http://help.sap.com/erp2005_ehp_07/helpdata/en/4e/0823e78117001ce10000000a42189c/content.htm?frameset=/en/4e/0825bd8117001ce10000000a42189c/frameset.htm); please check note here: with higher releases of SAP you can only use the Word version and the graphical editor is not supported)
- using what I call the “line” editor (The Line Editor – BC Text Processing with the SAPscript Editors – SAP Library)
- and you can “import” these data objects using OCC or EHS standard import
If you need more information here check e.g.:
SAPscript Text Editors – ABAP Development – SCN Wiki
BC – Textverarbeitung mit den SAPscript-Editoren – SAP Library
and similar pages.
Based on a recent issue I have learned that (that means e.g. if there is a long text available) the content of the so called “value file” is different or “not normal”. Now I have learned the reason behind this is the “handling” of maintenance of these objects and how the data is stored in the database and how they are retrieved and passed on to WWI server/client.
May be check as well: CG12 – Phrase creation/editing – issues
Similar topic: Celsius Degree Symbol (° C) displayed as ‘#’ in SDS for Thai language
But what was the issue and what was the finding?
I have analyzed a WWI report and detected that a phrase is printed in a look and feel which was not normal. A different phrase was printed correct. After some analysis the reason behind that was how (that means by using which SAP tool) the phrase has been maintained in the corresponding language. As you can have the same effect with identifier or userdefined text (the effect is independant of object but related to identifier, phrase or user defined text only) it might be of interest to get more ideas about “what is going on here”. In the example in the WWI report a “carriage return” showed up in the middle of the text. Using this example of a phrase (which is related to the old EU labeling system)
R3 | Extreme risk of explosion by shock, friction, fire or other sources of ignition |
I try to explain the issue. By whatever reason the phrase was maintained in the database something like this:
“Extreme risk of explosion by shock, friction,
fire or other sources of ignition”
Therefore a carriage return is part of the phrase text. And in WWI report it will be displayed like it is maintained and therefore in the WWI report the phrase was distributed between two lines (it took me a while to identify this !). Normally the user is not checking the content of WWI layout on that “deep” level but only checking for e.g. missing phrase translations or missing informations. But especially in the context of label printing this might be critical as you print more data on labels (which are sometimes quite small) in comparison to SDS/MSDS.
Now after investing here a little bit: assuming now that you might use the Word Editor to maintain these objects. Here you can e.g. format the text as “left aligned”, “centered”, “right aligned”, you can enter carriage returns etc. etc. and it is printed like that (what you maintain you will get) in the WWI report. This can be done even if the text is shorter than 132 characters. So the “longtext” indicator does not only indicate if more than 132 are used but the flag is set e.g. if you would format a text like “SAP EHS is a great tool” as right aligned (refer above). (technically: the SAP system is setting the flag if the text need to be distributed on many entries in the same table; so if you “count” the text characters you get may be 132 only; but if you use “special” formatting sometimes SAP is forced to “set” the long text flag).
This feature might be a “nice” one but can give a number of troubles if you deal with “Labels”, “SDS/MSDS” etc. and it is not easy to detect the issue as in CG02 or CG12 it is not detectable easily.
WWI Problems (how to debug)
For analyzing of WWI problems the use of procedures as described in OSS note 959195 might help. A lot of OSS notes exists regarding SAP and use of WWI in context of Unicode especially taking into account the important topic of font selection. E.g. OSS note 733416.
If you detect WWI problems sometimes you have the feeling: there can I start with “debug” to get “ideas” what is going wrong as there is no real debugger in place? One option to do so is: you need “only” to remember the WWI process (and sometimes you should reduce the data shown and maintain only the data which gives rise to problems on some test specifications). In most cases these questions will help to identify the issues (and potential solutions):
- Is the effect only related to one specification and on a different specification you get the wished result or is it related to use a different language or a special generation variant?
- Was there a change in layout?
- Was there a change in generation variant definition?
- Was there a change in function modules related to customer specific report symbols?
- Was there a change in WWI set up (New WWI version)?
- Was there a change in Word Version used (locally and/or on generation server)?
- Is WWI version on server and locally the same?
- Is wwi.ini on server and locally the same?
- Check if you use only SAP standard symbols or did you enhanced WWI using own symbols?
- Check whether the effect is the same on dev, test environment etc.?
- Is layout the same on dev, test, prod enviroment?
- E.g. on context of GLM: is LabelView maintained the same on dev, test, prod?
- Are the report symbols the same (e.g. no error fix missing etc.) ?
- Is the effect related to user activities (therefore may be one user does not have same access rights compared to a different one)?
- Do you have enough access rights to retrieve the data and to display it in WWI report?)
- The WWI version used on any gen server of dev, test and prod is the same?
- Is the data record (which should show up in WWI report) “active” (active indicator is set per rating/validity area combination)
- Does rating of data record fit definition of generation variant?
- Does validity area of data record fit definition of generation variant?
- Etc.
If you use e.g. “Create report from template” a number of files are downloaded to your client (if you use a local WWI installation !). These file can be classified as:
- the value file
- the layout file
- and some control files
After the process is ready a new file is available (the final WWI report with the data). As in the “Report from template” process you can fill in the parameter symbol data as well we can define the resulting file as the “Final Report” and not the “Raw Report”. Only if you do not enter any parameter data then you generate a kind of a “Raw report”.
Now if you carefully execute an analysis of e.g. the value file in many cases you can learn a lot (you need a suitable “text file editor” to do so ! WinWord etc. is here of no help). As well the content of the control files can give you additional hints and may be afterwards you understand “better” how the process is designed (on high level).
Keep in mind: in most of the cases we have two steps to consider:
- Generation of a raw report
- Generation of the final report
In step 1 you will get a value file and in step 2 you will get a much smaller value file (in most of the cases). If you use CG42 and check the “tmp” directory (as explained above) you will realize that there is “temporarly” a structure file generated as well in the folder. Checking this you might be able to understand better the WW report layout process.
Generation variant
By clever use (definition/set up of generation variant) you can make sure that only the relevant data sets are pulled by the WWI process. One important topic to consider here is the “Rating”. Using the Rating (and by clever data maintenace) you can avoid to use complex conditions in WWI logic. Clearly there is a “con”. You need to may be prepare suitable additional ratings and you need may be adapt your access concept and clearly your maintenance concept need to be adapted as well but WWI logic will be simpler and in most cases “ongoing” business might be simpler (support topic of endusers). What you need ot pay attention is: the “rating” does have effect on any data of interest ! Don’t forget that. In most cases you need identifies, value assignment data.
Keep in mind: the validity area topic is “special”. Depending on the settings used (related to the validity area) in the generation variant the data selected is / might be different.
This is not only related to the generation variant but how you use EHS at all. Remember that you can use as the validity area (if needed) e.g. plant codes, company codes etc. (as long as the information is CHAR10 or smaller). Can be a quite useful option to use this type of validity area (e.g. plant code, company code etc.) but you need to pay attention here in your maintenance concept in CG02.
So in theory you can maintain e.g. a “color” in CG02 based on plant codes and not on validity area which are based in most cases on “countries” (you can e.g. have more than one plant per country or validity area). E.g. you can use other options as well. E.g. you can use the value “TEXAS”; therefore you can use “subregions” of a country etc. Keep in mind that by using the validity area you can create “regions” as well. E.g. you could define: REG_NAFTA (containing e.g. US, MX, CA…) or similar validity areas. Keep in mind that REG_WORLD is special ! and you should not change here standard SAP set up.
Validity Area
Keep in mind, that you can use “PLANT’S” or other objects as “Validity areas” as well. As long as the technical key of the object is not longer than 10 characters you can use this option (e.g. you can use a “company code”, “Plant code”, “sales org code” etc. as validity area: PAY ATTENTION IN USING THIS FEATURE IN WWI context. It should work ! but the “REG_WORLD” one “special” solution does not apply any more.
Languages in Generation variant
As you know: by clever use of “G repeating” groups and the defintion of the generation variant you can print in one WWI report data in more than one language. But keep in mind: the report it self does have always a “leading” language. This topic is explained here: Editing Ratings and Validity Areas for Generation Variants – Basic Data and Tools (EHS-BD) – SAP Library
As this type of demand is related to the “Repeating group types” should should read this chapter of SAP Help: Repeating Group Types – Basic Data and Tools (EHS-BD) – SAP Library
A good example of the use of a “G Group” is shown here: Example: Repeating Group of Type G – Basic Data and Tools (EHS-BD) – SAP Library but you should have read as well this: Taking Validity Areas into Account – Basic Data and Tools (EHS-BD) – SAP Library
Language topics in general
You can prepare a suitable SAP set up in such a way that different log on languages are supported as well as different e.g. phrase languages. Keep in mind: WWI report to print data using arabic, hebrew etc. are “special” language (written from right to left and not Left to Right). Here the “printing” of data might be a challenge with WWI.INI, Font selection and WWI layout definition. You should avoid to mix in one WWI report languages with “left to right” and “right to left” writing. You can do this, but the WWI code which comes up is complex. A lot of OSS notes are available regarding topic of right to left languages but as well regardian asian like languages so may be check SAP marketplace (e.g. current WWI supports much better now asian characters).
Label Wizard
The topic of the use of the “Label wizard” is explained here:
Using the WWI Label Wizard – Basic Data and Tools (EHS-BD) – SAP Library
in chapter “Using the WWI Label Wizard”. Therefore if you have use the Label Wizard and then check content of WWI document in CG50/CG54 the labeling tool is started. Further information about that can be found here: Using the Labeling Tool – Basic Data and Tools (EHS-BD) – SAP Library (Chapter: Using the Labeling Tool). Once again: by “clever use” of the application object you can “restrict” use of generation variants etc.
If the label Wizard has been used, the corresponding raw report in CG54/CG50 will be displayed using a different icon in the report tree.
General topics
In different threads it has been asked how to generate WWI there “nearly” no data is coming from EHS core but nearly 100% is coming from other SAP modules and how to do it. I am sorry to say:
- Even if you do not print EHS core data you need always a specification to make it happen
- As well you need always a generation variant
- and a WWI layout
A lot of options exists in EHS to support this type of demand. That means e.g. you need reports (in most cases Label reports) as part of the GLM process and you need as mnetioned above therefore one specification as without it will not work. One nice option to support this demand (and may be not well known enough) is the “Reference” as part of the report header. By using this option you need to generate only one released WWI report and can use the “reference” option to make this report valid for a lot of other specifications.
About Change Marks
Do you really understand the topic of change marks in WWI reports? Pay attention: SAP has improved this and some optimizations are available by using EnhPack 3 as well. Most people have really a big problem in understanding how “Change Marks” are coming up/handled in WWI reports. From experience: most user (even key users) do have problem in understanding the “Usage” and the effect of that on data retrieved (in context of generation variant) and the Change Mark as such (as well regarding “WWI.INI”) and how it works. As mentioned SAP has improved this; but to a certain extent: it is now complexer as before !!
Let us start high level: to support the “Change mark” you need to “tag” the generation variant. Check e.g. WWI for Beginners and chapter “Change Mark” or the SAP online help.
The next story starts with “Data maintenance”. Here we need to differentiate the “type” of data. As you know: in most cases data is retrieved from database using value assignment types “A” (Class type), “B” (Specification Listing), “C” (Composition data) and the special DG data.
You might think “A” is easy to understand in how it works to get a “change mark”. You are wrong (to a certain extent). Let us differentiate first the different data situations:
a.) REAL_SUB does have “local” data
b.) REAL_SUB does have data coming via “Reference”
c.) REAL_SUB does have data coming via “Inheritance”
In case of a.): if you are not using the enhancements coming with EnhPack 3 story is “simpler” (but not easy). By using the “Relevance indicator” you can steer if a change mark should show up or not.
In case b.) and c.) the story is more “complex” as the data is coming from other sources. Honestly I did not have execute a new analysis of the two cases: but keep in mind: on REAL_SUB header: you have new “flags” now (using higher SAP ERP versions) and therefore we have two “subcases” to discuss:
1.) You enter for the first time a “reference/Inheritance” on header level
2.) you cange data on “source” level (e.g. REAL_GRP) used by the REAL_SUB
So the “change mark” can be quite tricky in this context.
For value assignment types “B” and “C” the story depends on how you have defined your WWI layout. And it can take you days to get an idea why in this case a “change mark” is shown but not in the other case.
Let us make a “primitive” example of value assignment type “B”. In most cases this is used to show up identifiers in WWI report (other options are possible as well).
Let us imagine that on REAL_SUB level you have prepared a data record with three components and you get e.g. a CAS number in the WWI report. Now you must enter e.g. a fourth component. What should now show up in the WWI report (which “line/text” should be marked as “changed”)? High level the optimal solution would be to get a highlighted CAS number only coming from the forth new component (it is a relevant change). It is not easy to achive this.
And let us imagine now that you need not to print any more three CAS numbers but only two (delete one specification). How to show it in WWI report? I would assume that this case might not come up often but most of the companies will have a different solution to make clear (to the customer) the difference in the new report in comparison to the old report.
Honestly: you can really write a “Book” on that and the challenges therein only explaining something which might look simple. So it is a good idea to prepare some guidelines company internally to make sure that the look and feel regarding “Change marks” is the same considering the whole product portfolio.
Further documents which might help
As an example: Refer as well to these documents:
Link | Topic |
---|---|
SAP EHS WWI – Asian Language | Asian Languages, Font Selection Topic |
OSS notes for WWI Techniques | List of important OSS notes in context of WWI |
Standard WWI processing methods (WWI) | List of standard processing methods within WWI |
Report Template Conditional Output | Conditional Output (an example) |
Printing in Bar code in SAP EHS WWI | Bar Code printing |
WWI Template Editing – Part 1 | How to create a report template |
WWI for Beginners | How to start with WWI |
http://scn.sap.com/community/ehs-management/blog/2013/08/22/wwiwindows-word-processor-integration-template-creation-in-ehs | WWI(Windows Word processor Integration) template creation |
**************** – Label Printing in SAP EHS | Label Printing in SAP EHS (Part 1) |
**************** – Label Printing in SAP EHS | Label Printing in SAP EHS (Part 2) |
WWI techniques – Blank compression and User defined text | WWI techniques – Blank compression and User defined text |
About WWI / What is new? | What is new in WWI |
WWI Report Template Guide |
Application Object
The application object is part of the generation variant. A generation vairant can have one or more than one assigned application objects. Normally you need not really investigate here to understand the use but in some circumstances the use of this object can help handling to detect the right report. This is shown e.g. in SAP Online help: Defining Application Objects – Basic Data and Tools (EHS-BD) – SAP Library Chapter “Defining Application Objects” Here as well you will find in chapter ” Example: Using Application Objects” an example how you can use this option. By using this approach you can enlarge the selection options of CG54 and CG50 if needed (but you need a good and robust approach to do so !) but you have as well influence on WWI content (data content) if needed.
In general: CG54 and CG50 contains some “UserExits”. These are listed here: http://scn.sap.com/docs/DOC-41655. Therefore it is quite easy to enhance CGC50 and CG54 by these exists. But the use of the “application object” and anything related to that can enhance these transactions as well. The UserExit approach is more “general” and enhances CG54/CG50 on a general level. The use of application object (LABELSTOCK) is in many cases related to GLM topics.
WWI structure
Long ago I planned to start a similar document based on a thread: http://scn.sap.com/thread/3431722
Here some interesting question was raised: what is a report symbol type? How can they be used to enhance WWI? And why can I (as a developper) not use all of them ? And how are those report symbols used which can not be used by the developper (there must be a reason why they exists). Up to now I still only enhanced the thread mentioned with some answers I found. But up to now I did not have had the time to investigate further. Now based on the new informations may be It is time to go on here, as this “report symbol type” is related to how WWI internally is designed (in SAP) and how you can enlarge WWI. Clearly: it is not the aim of this document to explain all (That means the whole WWI process; this would take a book to do so) but some ideads should be listed which might help you in the future.
From high perspective we can split the WWI process in two parts: one part is related to the “collection of data” (which is done within SAP) and the other part is related to the topic to show the result in a proper way (that means to create the report on WWI server with data, applying font selection etc. etc.). If a WWI report is created in the database we have to consider a third process part but this is only an SAP EHS internal “handling” as the WWI process is finished an only the result should be stored.
We need to remember in this context that e.g. in the raw report only report symbols and phrase symbols are retrieved and no parameter values. This is a very important concept as well for e.g. SDS/MSDS generation or to some extent for Labels as well. Therefore we have to differentiate between a value file of the “raw report” and the final report. Regarding this and GLM: may be refer to Logging in Global Label Management – Global Label Management (EHS-SAF-GLM) – SAP Library; chapter “Logging in Global Label Management”.
On high level: the process “Create report from template” and “Create report” is the “same”. That means there is “no” difference in how SAP is collecting the data but only how the WWI process is started. “Create report from template” uses in most cases a local WWI installation (with higher SAP releases you can use the WWI generation farm as well) and “Create report” uses always the WWI generation server farm. A further difference is, that the “Create report” process establish new entries in SAP tables (e.g. ESTDH) and the “Create report from template” process do not generate these entries.
Be aware of the fact that based on GLM set up GLM can behave different regarding the generation process of WWI reports. Check e.g. Label Generation – Global Label Management (EHS-SAF-GLM) – SAP Library
Chapter: Label Generation
Based on the discussion in the thread mentioned above I believe this help page of SAP is quite important as a “starter” to talk about “report symbol type”.
Document Template Objects – Basic Data and Tools (EHS-BD) – SAP Library
Check Chapter: Document Template Objects
As well this SAP Help Link is important: Process Diagrams for Report Creation – Basic Data and Tools (EHS-BD) – SAP Library
Chapter “Process Diagrams for Report Creation” which is really a “must” to read to understand the WWI process (on high level).
Still some very good documents exists in this FORUM dealing with report symbol generation etc. This documents will try to go “deeper” and is related more to the content of the value file.
Use of WWI in context of e.g. Recipe Management
For those who would like to learn about WWI “more”: this nice document can provide some input how to generate a WWI document with own ABAP code:
By studying this nice ABAP example may be you can create your own code etc. (e.g. as an UserExit in CG02/CG50/CG54).
Use of WWI in context of GLM
For those of you who have the need to take care in regards of WWI development in context of GLM: the WWI layout (and GLM design/print process) is one of the most complex one in EHS area. Many people mix “language” and “validity area” topics; pay attention that you should not mix (topic of “G repeating group”) these two terms. This special technique (use of G group) can increase the complexity of your WWI layout a lot and in combination with the topic of generation variant it can be a disaster.
Recommendations for WWI development
- don’t use complex data models so that the logic “which data to display” is part of WWI layout (e.g conditional outputs) (and if there is no other option than to use complex WWI layout. creste good documentation !)
- Try to use as much as possible as selection criteria “Rating/Validity Area”
- Try to avoid of complex “if/elseif/else/endif” conditions
- Only use customer reports symbols with new function module if there is really no other alternative
- Check language dependency ! (G groups etc.)
- avoid logics like “if value in value assignment X = A then print value from value assignment B”
- Use the “stack” option only as the last option to solve the demand
WWI basics
May be you should read cross as well these SAP Help Chapters:
Topic | Link |
---|---|
Symbol definition | Symbol – Basic Data and Tools (EHS-BD) – SAP Library |
Correct symbol type | Selection of the Correct Symbol Type – Basic Data and Tools (EHS-BD) – SAP Library |
Editing Specification or Parameter Symbols | Editing Specification or Parameter Symbols – Basic Data and Tools (EHS-BD) – SAP Library |
Default Parameter Value Determination | Default Parameter Value Determination – Basic Data and Tools (EHS-BD) – SAP Library |
Repeating group Types | Repeating Group Types – Basic Data and Tools (EHS-BD) – SAP Library |
Using wizard in context of repeating group | Using the WWI Wizard for Repeating Groups – Basic Data and Tools (EHS-BD) – SAP Library |
Structure file
The topic of structure file is mentioned as well in SAP Online help. Refer to Process Diagrams for Report Creation – Basic Data and Tools (EHS-BD) – SAP Library. May be as a starting point check these links:
ESTLS EHS: Report Template Symbol – SAP Table – ABAP
SAP Table ESTLS – EHS: Report Template Symbol
Therefore this “structure” file topic is an important link between WWI layout and how SAP will retrieve later the data (based on definition of generation variant as well and how the data is maintained). May be check as well the “same” topic in context of import/export of report templates. Here the layout is exported/imported together with symbol definition (therefore two files are generated/processed).
The table ESTLS therefore containes the symbols as used in your WWI report.
E.G. Check:
Topic | Link |
---|---|
Table Name for Report Symbol in Template | http://scn.sap.com/thread/3321031 |
Identify list of UoM currently used by all EHS Reports | http://scn.sap.com/thread/3423384 |
How to find hard coded phrases in the wwi template | http://scn.sap.com/thread/3411131 |
WWI Template reports, | http://scn.sap.com/thread/3327430 |
FAQ EHS reports (OSS Note) | FAQ: Layout for EHS report templates |
Therefore to understand the use of the “report symbol types” etc. it is a good idea to check the content of this table for one WWI report (you need to specify the version of the WWI report layout).
In doing so you can identify if or if not report symbols of type:
- Phrase
- Specification
- Parameter
- Descriptor
- Standard Repeating Group
- Special Repeating Group
- Blank Compression Group
- Optimized Repeating Group
- IF Repeating Group
- Template
- Version Information
- Language Information
- Language Switch
- Generation Date
- Control Command
- Comments
are used in the WWI layout. By digging deeper you will identify very easily why may be a report symbol type is part of ESTLS especially if you look at the WWI report layout definition. This can really help in such a way that you understand the “WWI layouting” topic and the use of report symbol much better.
Value file
TOBE REPAIRED
Hi Christoph,
Once again, thank you very much for sharing your knowledge.
Regards,
Philippe
Hi Christoph,
Good Day!
Very well documented. I request you to copy the contents in MS word and select Justify. Then post it. It will look neat and aligned. Thanks.
Regards,
Hari Suseelan
Dear Suseelen
I will try to care take in the next version so that look and feel might be better
C.B.
Hi Christoph,
Links provided in this document are really helpful. Thanks a lot for such a valuable document.
Thanks and Regards,
Kannan Veerapandian.
Dear Christoph
Wov, It's great stuff
Thanks
Nia
Hi Christoph,
regarding your remark about not mixing left-to-right and right-to-left languages on one template: This is no problem and does not make the WWI code any more complex than with one language only. In fact, it doesn't affect the WWI code at all since all necessary settings are done using Word formatting only. You need to make sure that the right-to-left language is installed in Word and that the WWI code is formatted as right-to-left, NOT as right-aligned!
You cannot have right-to-left and left-to-right within one paragraph since the formatting of right-to-left is done by Word per paragraph.
Ralph
Dear Ralph
a.) thanks for feedback
b.) I Have never had the need to “mix” left/right languages with right/left languages in one WWi layout (honestly); but my experience with WWI showed that e.g. chinese, thai etc. give rise to problems in WWI (as shown as well in SAP Marketplace, and detected in some threads here)
b.) may be you could give me a “hint” about your thinking
Referring:
Example: Layout of an Abridged Material Safety Data Sheet – Basic Data and Tools (EHS-BD) – SAP Library
I have “issues” in understanding how you can use the same WWI layout for right left and left right languages.
Let us imagine this: as you may be know: there is a recommended standard structure of MSDS by UN with 16 chapters.
Now you have the need toprint an identfier.
For EN it should look like:
11. Composition/Constituent Data
2 Chemical Characterization
3 Pesticide, contains malathion
4 Insecticide concentrate, liquid
5 Hazard symbol:
6 T+, Xn
So output is “left” oriented and language is left to right. The same output in hebrew should be right to left oriented starting on the right
Therefore I am not sure about your hints:
“You need to make sure that the right-to-left language is installed in Word and that the WWI code is formatted as right-to-left, NOT as right-aligned!”
and “
in combination with:
You cannot have right-to-left and left-to-right within one paragraph since the formatting of right-to-left is done by Word per paragraph.
What I can “high level” imagine is that youz “test” the language to be printed in WWI then you sue one WWI section left right; and if language is right left you print the second one.
But if you do that in any of the 16 chapters I am not sure if you get a WWI template which can be used “comfortable”
May be you can provide some hints; may be I “misinterpret” the word feature and the WWI options etc.
C.B.
Hi Christoph,
I was not talking about a MSDS. I just recently prepared a customer specific report where they wanted to have certain data printed both in Arabic and English. This report has no headers, only data in tables and as plain text. So I simply formatted one paragraph right-to-left and made sure via a G-repeating group that only Arabic is printed, the next pragraph was formatted left-to-right and again via a G-repeating group it was made sure that only English is printed.
Generally, you could do that for a whole MSDS as well, but it doubles your code.
In Word, you can only format a whole paragraph as LtR or RtL. So within one paragraph, you cannot have both languages, you have to create one paragraph for RtL and a separate one for LtR.
Also in Word, you have to install the languages. Depending on your version, go to File-->Options-->Language-->choose editing languages and make sure that Arabic, Hebrew or whatever you need is included here.Else install it via "add additional editing languages".
I hope this makes things clearer.
Ralph
Dear Ralph
thanks for feedback and explanations.
"Generally, you could do that for a whole MSDS as well, but it doubles your code.
In Word, you can only format a whole paragraph as LtR or RtL"
I do not know the size of your WWI layout of a MSDS but in most cases this is more than 20 pages. So using your approach we could get 40 pages and it is then not easy to "maintain" the template (e.g. considering further adaptions as nneded based onchanges in regulation etc.)
So yes: you can do it as you have described: but if you can still then to "maintain" properly changes in WWI code (if needed; and this happens quite regular) will not be easy.
So of layout is not to complex etc. the "mix" might be a suitable option. But for most of the WWI reports in reality quite tricky to use
C.B.