Good morning everyone .…. let’s finalizing our story .….
This is third and final chapter of our story which began on our blogs:
The story of PRINTOUT – Part 1 – Intro to different approach
http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/28467 [original link is broken] [original link is broken]
In these two chapters we presented approach of invention solution and printout creation.
Now we want to show you how this solution can be customized and how we succeed to create a generic solution for printouts.
Template customizing
Application for template customizing and maintenance is made by two parts:
Template consistency check
With this application we can check if some placeholders that are in customizing don’t exist in template and vice-verse. Application identifies which placeholders are planned to be in templates and are forgotten to put inside. Also, we can identify that some placeholders are in template and customizing doesn’t exist for it.
Template maintenance
With this application we can maintain templates (Upload, change, copy, delete) which are planned for each printout type.
If we want to change or copy template we can change template using MS Word and save it in system. Also, we can use functionality to insert placeholder with double click on specific place of cursor.
Printout customizing
Customizing is done using application created in WebDynpro for ABAP.
With this application we can control behavior of all solution and maintain (create, delete, update) all placeholder that can be used for specific printout type.
Application has several tabs and we shall explain one by one.
Printout group
Printout group is hierarchically element for grouping printout types.
Printout types
Printout types define basic behavior of solution in several different parts and important are:
- Name of printout in different languages for easier navigation
- Search help for printout key field
- Object where are all templates stored
- Storage type which can be SAP, File system, DMS
- Object for which we create printouts (Contracts, Material master, FI park document etc...)
- Document type of printout which can be Word or PDF
- Versioning of printout(1 version, all version, depending on user decision)
- Template for printout description
- Send mail procedure
- If it’s allowed for user to delete printout
Using combination of these parameters you can have very flexible printouts with very easy maintenance.
Printout data
Printout data are in fact all replaceable fields(placeholders) that can be put in template and can be define in several different parts and important are:
- Placeholder name and description
- Table name from system if value is select from table
- Field name of table
- Kind of printout which can be
- FIL – print per table field
- TXT – print long texts
- SUM – print summarized fields
- SYS – print system fields
- CLS – print using method in class
- PIC – print picture
- DOM – print domain fix values
- Table type in print(if we want to print table instead of field)
- DATABASE – table created via field from database table
- PLACEHOLD – table created with dynamic placing placeholder in specific column and row
- ALLTABLE – creation all table in dynamic method inside class
- LINKSERVER – creation of table via link server technology
- Format method is used for formatting field value before insertion in printout (FORMAT_DATE etc...)
- Print field format – format of field value (date in format dd-mm-yyyy etc...)
- Select method – method in class used for select value for field or table
Parameters for call of select method
If we use method from class for preparing values we can send different parameters that can be used by method for preparing value for specific placeholder. Important information about each fields are:
- Parameter name
- Parameter type
- KON – constant like company code, language, country etc…
- FIL – field from database table
- SYS – system field
- PLC – some other placeholder
- Table name from system if value is select from table
- Field name of table
- Placeholder field – some other placeholder planned for printout type
Generate customizing from template
This tab is used to generate placeholders from already prepared template. After pressing button Generate application runs thru template, take each placeholder and generate basic customizing for each of them. When this is done user can maintain placeholder according to specific requirements by each of placeholder.
This application is created giving thoughts on different usage of application so it can be run using Web browser, SAP GUI or SAP NetWeaver Business Client.
Wrap-up
With this you can see that some of ground rules made by team are realized:
- Use template which are in SAP and can be maintain inside the SAP
- Replace some replaceable fields called „placeholders“ with values from the system
- It will use different SAP NetWeaver tools/technology (ABAP, WebDynpro, BDS, DOI …)
- Goal is to create generic tool for printouts in SAP and it will be oriented to print almost everything that exist in SAP
- Have an option that printout after is created can be changed
- Some values that are replaced from system can be changed
- Some chapters in printout can be add/changed/delete
- In created printout is possible to import some pictures
- After changes are made in printout they can be saved for later viewing
- All saved printouts must be visible in standard SAP transactions depending on what was printed
- Solution can be customized by key users/internal consultants/external consultants according to authorizations (add/change/delete template, add new replaceable fields, change type of printout document, change place where printouts are stored etc...) using Web Browser not only SAP GUI
- Must have customizing cockpit for maintain different printouts using SAP GUI, SAP Business Client and Web Browser
- Created printouts can be in different document types (Word, PDF)
- Created printouts can be stored on different storage (SAP, File system, DMS)
- Easy end user usage
- Application is developed using Multilanguage approach so it can be translated to any language that is needed
- Each template can be on several different languages and allow user to create printout in different languages
With this we want to conclude our story about printouts and I hope that was interested to you as was for us during development.
If there are still some open questions please be free to contact us……….