Direct Style Effect Systems -The Print[A] Example- A Comprehension Aid
Sure Outputs
1.
2. What is Sure Outputs?
Sure Outputs is an add-on for SAP that assists companies in dealing with any requirements where data
needs to be extracted out of SAP
Sure Outputs
The principle behind Sure Outputs is that every requirement that needs to extract Data out of SAP will
have different selection logic specific to that requirement. However, once the Data has been selected,
this Data will be outputted identically for all requirements
To achieve this, Sure Outputs makes use of the following:
• Dynamic Coding: Dynamic Coding is used so that Sure Outputs can accept any Data Table,
regardless of where the data came from and what the Structure of that Data Table is
• Multiple Output Options: Sure Outputs caters for as many ways of outputting data as possible, so
as to cater for as many requirements as possible
3. How does it work?
Sure Outputs
Each Program will Select the Data from the relevant
Database Tables for that requirement
SAP
DB
Data
Program .....Program Program
SAP
DB
SAP
DB
This Data will be collected into a Data Table and
transferred to Sure Outputs
Sure Outputs will use this Data Table and cater for the
following output options:
SureOutputs
• Interactive ALV Reporting
• Publish the Data to a dedicated Web Page
• Download as a File locally or on a server in different formats eg
fixed width, tab de-limited, PDF etc
• E-mail the File
• FTP the File
• Send the data table to a Web Service
• Cater for User Buffers (similar to BI)
4. What are the benefits of using Sure Outputs?
• Reduces Number of SAP Licenses: By allowing Data Tables to be published to a Web Page, non-SAP Users can
easily access SAP Data on their Laptop, Smartphone or Tablet without having to log into SAP
• Easier Integration with other Technologies: By being able to send a Data Table as an XML string to a Web Service
Dynamically, Sure Outputs makes it easier to integrate with other Technologies
• BI Functionality: Sure Outputs makes use of a Buffering Technique that enables long running Selections to store the
Data in a Buffer. Once the Data is in the Buffer, it can accessed quickly by the User
• Uniform Look and Feel: All Sure Output Programs will have the same look and feel and offer the same Functionality.
This means once a User is familiar with 1 Program, they will be familiar with all of them
• Reduced Development Time: This is achieved by making use of a Central Code Pool that contains all the
Processing Logic, as well as a Program Generator that will create new Sure Output Program. Additionally if a new
Technology becomes available to Output Data, it can be implemented in the Central Code Pool, which then means the
new Technology will be available immediately to all Sure Output Programs
Sure Outputs
5. Code Generator: Selection Screen
Allows you to specify the new Program Details as well as
provide the Output Structure Name, which is required by
Sure Outputs so that it knows what the layout of the Data
Table is
In addition to creating the Program, Sure Outputs will also
create a User Transaction Code and an Admin
Transaction Code
Sure Outputs also allows the user to decide how the new
Program will be created, ie whether it will use the Sure
Outputs Code Pool (recommended), or whether the
required code will be stored locally in the program itself, so
that the program will be a standalone program with no
dependencies on Sure Outputs
Sure Outputs
6. Code Generator: Parameter and Select-Option Selection
The User can specify which fields in the Output Structure should
be Parameters or Select Options in the new Program
The User can also specify if any of these Parameters or Select
Options need to be made obligatory
Once the User has made the required Selections, they click on
the ‘Generate Program’, and the Generator will do the
following:
• Create the Program, complete with Screens, Program Textpool,
CUAD Objects, etc
• Create User and Admin Transaction Codes to call this
program
• Create Program Variants for the User and Admin Transaction
Codes
Sure Outputs
7. Code Generator: Example of Generated Code
The comments at the top of the program are fairly detailed
and the “template” of these comments can be adjusted to
conform with a client’s specific Commenting /
Documentation Standards
If the “Use Sure Outputs Code Pool” was selected, then
this program would contain less than 100 lines of code, as
the actually processing logic would reside in the Sure
Outputs Code Pool
If the “Explode Sure Outputs Code Pool” was selected,
then this program would contain over 10000 lines of code
and would be a totally stand along program with no
dependency on the Sure Outputs Code Pool
Sure Outputs
8. Code Generator: MAIN_SELECT Form
Sure Outputs controls the outputting of a Data
Table, regardless of what the structure of the Data
Table looks like
However, Sure Outputs cannot generate code for
the Selection Logic to populate this Data Table. The
reason for this is that every program will have a
different Selection Logic specific to that program
As a result of this, after generating the new Program
with the Sure Outputs Generator, the only Custom
Coding that will be required will be to add code in the
MAIN_SELECT Form to populate the Data Table
Sure Outputs
9. Generated Program – Selection Criteria Tab
The Selection Criteria Tab will contain all the Parameters and Select
Options that were selected when the Sure Outputs Generator was
executed
This Tab will look different for every requirement due to the fact it will
contain Parameters and Select Options that are specific to that
Requirement
Typically this Tab is how most Report Selection Screens look like in their
entirety, however what sets a Sure Output Program apart, is what
appears on Processing and Admin Settings Tabs
NOTE: The Admin Settings Tab will be hidden from Users when the
User Transaction is run. However it will be shown if the program is run
from SE38, SE80 or the ADMIN Transaction
Sure Outputs
10. Generated Program – Processing Options Tab
The Processing Options Tab contains all the Processing Options that are available within Sure Outputs
The subsequent Slides will explain these Options in more Detail
Sure Outputs
11. Generated Program – Data Source
Sure Outputs
Selecting this option will result in the
Data Table being populated with LIVE
Data from the DB Tables (ie executing
the Custom Code in the MAIN_SELECT
Form)
Selecting this option will open up a new
field where the User can select an
existing User Buffer. The Data Table will
then be populated with Buffered Data
stored in the selected User Buffer
NOTE: To simplify things for the User,
the Buffer Name can be hidden on the
ADMIN Settings Tab, although this would
mean each User can only have one
buffer at a time
12. Generated Program – Output To (Screen)
Sure Outputs
If “Screen” is selected, then the “Screen Options” are displayed:
• Screen Variant: The User can create a Screen Variant, which will allow them to hide columns, change the order of
columns, change the Sort Order, add Filters, add Groupings/Sub Totals etc
• Screen Layout:
• ”Report Only”: will only show the Data Table and nothing else
• ”Report with Tabstrips”: will show the Data Table at the bottom of the Screen and Multiple Tabs at the top
NOTE: To Simplify things for the User, The Screen Options can be set up once per program, and then hidden from the
User on the Admin Settings Tab
13. Output To (Screen) – Example of “Report Only”
Sure Outputs
The “Report Only” Option will result in a
Full Screen ALV being displayed to
output the Data Table
This is typically what most reports in
SAP look like
14. Output To (Screen) – Example of “Report with Tab Strips”
Sure Outputs
The screen is split into 2 Sections:
• Top Section: Contains a Tab Strip which can contain as many Tabs as required. Tabs can be added/removed in the
Admin Settings per program. The Subsequent slides will provide more Detail on the individual Tabs
• Bottom Section: Displays the Data Table an ALV
15. Broadcast Tab
Sure Outputs
The Broadcast Tab enables you to communicate with Users who use this Program,for example:
• Company Broadcasts: Most companies already have a News/Information section on their website or intranet that
provides employees with information. All this Tab needs is the URL and this can be displayed here
• SAP Specific Broadcast: Sure Outputs caters for SAP Specific Broadcast, eg allowing BASIS to let Users know when
they need to perform a restart, (as shown in the screenshot)
• Program Specific Broadcast: Sure Outputs caters for Program specific Broadcast, eg informing users when new
functionality will become available for that Program
• Multiple Broadcast Tabs: It is also possible to have multiple Broadcast Tabs
16. Notes Tab
Sure Outputs
The Notes Tab allows Users to maintain Notes for a
specific Program.
Sure Outputs is making use of the Business Document
Navigator (See Transaction OAOR), which means
existing DB tables and Classes are being used to store
and access these Notes, therefore no new DB tables
will be required
Effectively Sure Outputs is acting as a conduit
between the User and Existing SAP Functionality
available in Transaction OAOR, but providing a more
User Friendly Interface
17. Attachments Tab
Sure Outputs
The Attachments Tab allows Users to maintain
Attachments for a specific Program
Sure Outputs is making use of the Business Document
Navigator (See Transaction OAOR), which means
existing DB tables and Classes are being used to store
and access these Attachments, therefore no new DB
tables will be required
The Business Document Navigator can be configured to
store attachments differently, eg in SharePoint, a File
Server, directly in SAP DB, etc. However because Sure
Outputs is making of Classes to create/open the
attachments, therefore it does not matter where the
attachments are stored, so long as the Business
Document Navigator is pointing to them
18. Logging Tab
Sure Outputs
Sure Outputs Allows you to Log every Execution
of a Program, as well as storing Information about
that Execution
Sure Outputs is makes use of the Application Log
( See Transaction SLG1) to store these Logs. This
means existing DB tables and Classes are being
used to store and access these Logs, therefore no
new DB tables will be required
Effectively Sure Outputs is acting as a conduit
between the User and Existing SAP Functionality
available in Transaction SLG1, but providing a
more User Friendly Interface
19. Statistics Tab
Sure Outputs
If you have Sure Stats installed, then every execution of this program can be listed with detailed statistical information
for that execution
Alternatively, useful information such as Average Run Time, Average Run Count, Top 5 Users, Average Number of DB
reads etc can be displayed here
20. Change Control Tab
Sure Outputs
If you have Sure Transports installed, then detailed Change Control information can be displayed here, such as:
• Change Request Number
• Requested By
• Developer
• Technical/Functional Spec URL
• Transport Number
• Approver
• QA User
• Test Script URL
21. User Buffers Tab
Sure Outputs
This Tab shows all the User Buffers that have been created for this Program
In this Example, there is a requirement to keep track of the active SAP Users on a given day, therefore a job is
created to create a Buffer for each day with a ‘snapshot’ of the active Users on that day
A User simply has to click on one of the Buffers, and the Report will be updated with the data that was stored in that
specific Buffer
22. Generated Program – Output To (Web Page)
Sure Outputs
Sure Outputs will convert the Data Table into an XML String and then use the following Options to generate a Web Page
for the Data:
• Web Page Template: Stores the Template for the Web Page, eg header, footer, graphics, logos etc
• Web Page Style: Stores the Styles, eg the Font, Size and Colour of the Column Headings and Rows etc
• Target URL: This makes it possible to have multiple URLs per Program, eg for a daily report, simply incorporate the Date
into the URL
NOTE: To Simplify things for the User, The Web
Page Options can be set up once per program, and
then hidden from the User on the Admin Settings
Tab
23. Output To (Web Page)
Sure Outputs
This will Open the User’s Browser and
display the resultant Web Page taking
into account the Template and Style that
were selected
In this example we can see that:
• The Template File had a Graphic
above the Table
• The Style File defined the Column
Heading with a Grey Background and
a White text. It also used an alternate
Row Pattern, with the Odd Row
Colour being Light Grey and the
Even Row Colour being dark Grey
24. Generated Program – Output To (File)
Sure Outputs
If “File” is selected, then the “File Attributes” need to be provided, namely where the File needs to be Downloaded, as well
as what type of File it should be. It is also possible to delete the File if it already exists, or to add a Date & Time stamp to the
Filename to ensure it will be unique
Once the File Attributes have been setup, the user then needs to select what happens with this File by selecting an option
from “File Processing Options”. The Subsequent slides will provide more Detail on the File Processing Options
NOTE: To Simplify things for the User, The “File
Attributes” can be set up once per program, and
then hidden from the User on the Admin Settings
Tab
25. Generated Program– File Processing Options (Download & Display)
Sure Outputs
When the “Download File” option is selected, then the Program will proceed to Download the File to the required
location
When the “Display File” option is selected, then the Program will proceed to download the File to the specified location
and then immediately Open the File so that the User can verify that the File was downloaded successfully and verify the
File contents
26. Generated Program– File Processing Options (FTP File)
Sure Outputs
When the “FTP File” option is selected, then additional “FTP Options” need to be provided
Once these fields are populated, the program will proceed to download the File and then FTP it to the required
destination
NOTE: To Simplify things for the User, The “FTP
Options” can be set up once per program, and then
hidden from the User on the Admin Settings Tab
27. Generated Program– File Processing Options (E-mail File)
Sure Outputs
When the “E-mail File” option is selected, then additional “E-Mail Options” need to be provided
Once these fields are populated, the program will proceed to download the file and then send an E-mail to the specified
E-mail recipients and attach the File as an attachment in the E-mail
NOTE: To Simplify things for the User,
The “E-Mail Options” can be set up once
per program, and then hidden from the
User on the Admin Settings Tab
28. Generated Program – Output To (Web Service)
Sure Outputs
When the “Web Service” option is selected, then additional “Web Service Options” need to be provided
The program will proceed to convert the Data Table into an XML string and then send the String to the required Web
Service
NOTE: To Simplify things for the User, The “Web
Service Options” can be set up once per program,
and then hidden from the User on the Admin
Settings Tab
29. Generated Program – Output To (User Buffer)
Sure Outputs
NOTE: To Simplify things for the User,
The “Buffer Details” can be set up
once per program, and then hidden
from the User on the Admin Settings
Tab
When the “User Buffer” option is selected then additional “Buffer Details” need to be provided. The program will
proceed to Select the Data and then store the Data in the User Buffer. For example:
• You might have a Report that takes 4 hours to retrieve the Data you require
• With Sure Outputs, you could Schedule this Program to create a User Buffer at 2am every day, which will take 4
hours and be completed before you arrive at the office
• When you arrive at the office, you can “Load” the User Buffer (which would take seconds as opposed to 4 hours) and
have immediate access to this Data to do with as you please
NOTE: SAP Standard Functions and DB Tables are being used to store and access these Buffers, so no new DB
Tables need to be created for this Functionality
30. Generated Program Selection Screen – Admin Settings Tab
Sure Outputs
The Admin Settings Tab allows you to control the
way that Users Interacts with the Program
The Subsequent slides will explain the options that
are available on this screen in more detail
NOTE: The Admin Settings Tab will be hidden
from Users when the User Transaction is run.
However it will be shown if the program is run from
SE38, SE80 or the ADMIN Transaction
31. Admin Settings Tab – Configuration Options
Sure Outputs
• Config Set: Each Program can have multiple Transaction Codes linked to it. By changing the Config Set, you can
enable different a configuration set per Transaction for the same Program
• Config Report: Serves the same purpose as “Config Set”
• Report Title: Allows you to assign a Report Title per Transaction linked to the Program
• Run as Administrator: This will enable Additional Functionality that is not available to the User by default
• Enable Program Logging: This will enable Program Logging to SLG1, which will include detailed information such as
what options were selected per run
32. Admin Settings Tab – ALV Options
Sure Outputs
It is possible to control how ALV Variants work by choosing one of the following options:
• None: The User will not be able to create any type ALV Variant
• User Only: The User will only be able to create User Variants, ie this Variant can only be accessed by the User who
created it
• Global Only: The User can only create Global Variants, ie this Variant can be access by any User regardless of who
created it
• None: The User can choose whether to create User or Global Variants
33. Admin Settings Tab – “Processing Options Tab” Display Options
Sure Outputs
It is possible to control how ALV Variants work by choosing one of the following options:
• Screen Options: Will display the “Screen Option” Window when the User Selects “Output to - Screen”
• Web Page Options: Will display the “Web Options” Window when the User Selects “Output to – Web Page”
• Variant Buttons: Will display the Report Variants Buttons so that Users can maintain Report Variants
• ALV Structure: Will display the following Window on the Processing Options Tab:
• File Attributes: Will display the “File Attributes” Window when the User Selects “Output to - File”
• Buffer Details: Will display the “Buffer Details” Window when the User Selects “Output to - Buffer”
• Web Service Details: Will display the “Web Service Details” Window when the User Selects “Output to – Web
Service”
34. Admin Settings Tab – Tabbed Screen Layout
Sure Outputs
If the “Report with Tabstrips” was selected, it is possible to control the Screen as follows:
• Tab Window Ratio: Controls how much space the “Tab Window” will take up on the Screen
• Report Window Ratio: Controls how much space the “Report Window” will take up on the Screen
• Tab Strip Functions: Here you are able to add/remove Tabs to the screen, as well as change the Order these Tabs
are displayed in. Each entry added here needs to have an entry in a Config Table which points to a Function Module
which controls the Tab Subscreen Processing
35. One of our other products, Sure Landscapes, will be used to for the installation process.
Sure Landscapes will automatically create the following objects on your system in a matter of seconds:
• Development Class: A New Development will be created for Sure Outputs and it will contain all objects required
by Sure Outputs
• Transport: A new Transport will be created which will contain all components of Sure Stats
• Domains and, Domain Values
• Data Elements
• Structures
• Database Tables
• Programs, Program Texts, Program Screens
Installation
Sure Outputs
36. Cost and Support
Sure Outputs
Support Contract Service Contract
Initial Cost: TBC Initial Cost: TBC
Monthly Cost: TBC Monthly Cost: TBC
8 hours of Support per month 40 hours of Support per month
Free Support during a SAP upgrade Free Support during a SAP upgrade
Free Sure Outputs Updates Free Sure Outputs Updates
Conversion of all existing Reports/Interfaces into a Sure Output
Program
5 Sure Output Programs per month