Sie sind auf Seite 1von 49

CD113

Using ABAP Web Dynpro


Guided Activity
Floorplan Manager

Connie Begovich

Managed by UT-Battelle
for the U.S. Department of Energy

CD113

About Travel Policies


ORNL
Operates under US government rules
Government per diems
Lodging exceptions
DOE unallowable costs

Travel Arrangements
Completed by reservationists
Approved by supervisors once expenses added and certified (can
be repeated many times)
Audited by specific travel auditors

Managed by UT-Battelle
for the U.S. Department of Energy

CD113

How ORNL Uses SAP Travel


Do Not Use the Planning Module

Do Use the Travel Expense System


Create trips with BAPI
Use standard per diem uploads with some pre-preprocessing
Use credit card processing, including standard SAP transaction to
load

Cost posting is to Vendor Accounts (not Payroll)


Each user has a vendor account, usually to deposited directly to
their personal accounts
Vendor account set up, if necessary, during reservations
4

Managed by UT-Battelle
for the U.S. Department of Energy

CD113

ORNL Travel
Implemented Changes
Because of multiple settlements possibly over large amount of
time, use cost distribution on all settlements before payment so
cost is not redistributed if ending cost objects change
Ability to go over per diem using corporate (not DOE) funds

Added Audit Option


Some trips are required audit
Others are chosen using statistical sampling

Created Additional User Roles


Travel assistants for organizations or individuals
Approvers and self-approvers
5

Managed by UT-Battelle
for the U.S. Department of Energy

CD113

How Travel Process Has Evolved


ITS WebRFC front-end for Reservations, Expenses, and
Auditing created in 2003
Created a Local Handler in ICF to Allow WebRFC entries to
Continue to be Used when Upgraded to ECC 6.0
DOE Required Conference Pre-Process; Written as BSP
Mostly call-in to Reservationists, then Added PDF
Reservation Request
Caused reservationists to have to re-type lots of information
Therefore, needed the reservation request

Managed by UT-Battelle
for the U.S. Department of Energy

CD113

Reservation Request
Allow Variable Amount of Information to be Entered
Reservationists will call travelers contact to create trip setup for
those who enter only required information OR
User enters flights, hotels, etc - can enter as much information as
they want

Specific Sets of Information Required


Follows a Process
Chose Guided Activity Floorplan Manager using ABAP Web
Dynpro

Managed by UT-Battelle
for the U.S. Department of Energy

CD113

ABAP Web Dynpro


Very Experienced in ABAP

Some Experience at Creating ABAP Web Dynpros


Had Little Experience with Web Dynpro Configuration due to
E-Recruiting

First Local Web Dynpro Application to be Available to


General Users
First Local Application to Use Floorplan Manager
Learning curve for floorplan manager
Best Resource: Floorplan Manager for ABAP - Developer's
Guide
8

Managed by UT-Battelle
for the U.S. Department of Energy

CD113

First Step: Set Up Configuration


Created First View/Window in ABAP Web Dynpro

Go to GAF Floorplan Manager Web Dynpro Application


Create a Configuration

Managed by UT-Battelle
for the U.S. Department of Energy

CD113

Create a Component Configuration

10

Managed by UT-Battelle
for the U.S. Department of Energy

CD113

Component Configuration

11

Managed by UT-Battelle
for the U.S. Department of Energy

CD113

Option for Different Variants

12

Managed by UT-Battelle
for the U.S. Department of Energy

CD113

Defining the Steps

13

Managed by UT-Battelle
for the U.S. Department of Energy

CD113

Add to the Toolbar for Each Step

14

Managed by UT-Battelle
for the U.S. Department of Energy

CD113

Create Web Dynpro Views/Pages


Decision to Put It in One Application
Views are specific to this application
Limited number of views

Create Lookups

User lookup already existed


Cost object lookup already existed
Travel city lookup needed to be added
Conference lookup needed to be added

Needed Basically Two Different Interfaces


Travel, possibly including honorarium payment to traveler
Honorarium payment only
15

Managed by UT-Battelle
for the U.S. Department of Energy

CD113

Started With Two Different Views as


Initial Screen
Views Would then Call the GAF Floorplan Application
Then would need to pass information into the floorplan application
(traveler and/or request)
Tried URL parameters
Worked first time into the application
Then when user returned to initial screen, use Suspend
Returned with a Resume did not replace the parameters

Tried ABAP Shared Memory


Again operated differently if it was a new start or a Suspend/Resume
Ended up being confusing if user had up more than one at a time (which
would be frequent occurrence for Reservationists)

Used an Initial Screen instead


16

Managed by UT-Battelle
for the U.S. Department of Energy

CD113

Initial Screen Layout

17

Managed by UT-Battelle
for the U.S. Department of Energy

CD113

Initial Screen of GAF


Option to Create a New Reservation Request
Person lookup, defaults to person logged on
Allows copy of requests or existing trips

Find an Existing Reservation Request


Update and/or submit
Check status
Simple queries for admins

Toggle to Other Option (Travel vs Honorarium Only)

18

Managed by UT-Battelle
for the U.S. Department of Energy

CD113

Initial Screen Layout Three Different


Containers Show only One of Them

19

Managed by UT-Battelle
for the U.S. Department of Energy

CD113

Created Custom Lookups (Freely


Programmed Value Help) in Web
Dynpro
Implement Interface IWD_VALUE_HELP

See WD Example DEMO_VALUE_HELP

20

Managed by UT-Battelle
for the U.S. Department of Energy

CD113

Interface
In Help Context, Allow Input to Start Selection and Output to
Return More than One Value

21

Managed by UT-Battelle
for the U.S. Department of Energy

CD113

Need Two Personnel Number Lookups


on Same View
Also Defined a Return Node

Use value_help_listener attributes


index = wd_comp_controller->value_help_listener->f4_context_element->get_index( ).
wd_comp_controller->fill_data_selected( index = index ).
wd_comp_controller->value_help_listener->f4_context_element->set_attribute(
EXPORTING
name = wd_comp_controller->value_help_listener->f4_attribute_info-name
value = l_hitlist-badge ).
l_returnnode-field_called_from = wd_comp_controller->value_help_listener->f4_attribute_infoname.
22

Managed by UT-Battelle
for the U.S. Department of Energy

CD113

Creating a Request
Upon Creation
Validates Personnel Number and Finds Related Name
Determines Default Approver and Finds Related Name
Determines Optional Items
Allowed to have an honorarium?
Need additional approvals before creating the trip?
Have a valid company credit card?

Lookup for Valid Cost Object


Note if User Enters New Personnel Numbers or Cost Object
Values
Adjacent descriptive text is not updated (no leave field)
Added update buttons with tool tips

Change Configuration Depending on Value for Honorarium


23

Managed by UT-Battelle
for the U.S. Department of Energy

CD113

How to Change Configuration Variants


Implement Interface IF_FPM_GAF_CONF_EXIT

Use only METHOD OVERRIDE_EVENT_GAF


MUST Go to the Component Configuration Global Settings
to Enter the Web Dynpro Component for the Method to be
Called

24

Managed by UT-Battelle
for the U.S. Department of Energy

CD113

In OVERRIDE_EVENT_GAF
Update Variant Accordingly
io_gaf->set_variant( EXPORTING iv_variant_id = lv_variant ).

Set Title
lo_idr->set_application_title( iv_title = )

25

Managed by UT-Battelle
for the U.S. Department of Energy

CD113

Process Event of the Component


Controller
Process Event GAF Method Handles the
As user moves from one step to another, use IO_EVENT, an
imported parameter, to determine steps

Types of Events Include


FPM_NEXT_STEP
FPM_PREVIOUS_STEP
FPM_SAVE_DRAFT

Custom Events on the Toolbar are Named When Adding


Buttons in the Component Configuration

26

Managed by UT-Battelle
for the U.S. Department of Energy

CD113

GAF Events
Note if User Clicks on Step 3 When They are Displaying
Step 1, Two FPM_NEXT_PAGE Events are Sent
Other Useful Events for the GAF Are (see CL_FPM_EVENT
Attributes)
FPM_LEAVE_INITIAL_SCREEN
FPM_GOTO_START

Can Raise Events Programmatically


lo_fpm = cl_fpm_factory=>get_instance( ).
lo_fpm->raise_event_by_id( IF_FPM_CONSTANTS=>GC_EVENT-NEXT_STEP )

27

Managed by UT-Battelle
for the U.S. Department of Energy

CD113

Component Controller
Contains Context of all Reservation Request Basic Data
Small amount of information
All database stores and retrievals called in methods in component
controller
Kept business rules separated in other classes

What Happens when Move to Next Step


In WDDOMODIFYVIEW the FIRST_TIME parameters is only true
the first time that the step is accessed
So when need to determine if moving to this view or staying within
the view, use a component controller attribute
Also kept the current request key as a component controller
attribute
However, kept the class instantiations as a view controller attribute
28

Managed by UT-Battelle
for the U.S. Department of Energy

CD113

GAF Header

Note the Title Requested by the Customer to make


it Obvious to the User Where They Were

29

Managed by UT-Battelle
for the U.S. Department of Energy

CD113

Look at each Step Gen Info

30

Managed by UT-Battelle
for the U.S. Department of Energy

CD113

General Information Different Options


Uses Different Displays/Required Input Depending on Input
Information
Option and Lookup for Validating University of Tennessee
Employee Information
An additional lookup which calls an external web service to
validate UT personnel information
Later requires an approval from UT Supervisor to create a trip

Non-Employees Have Different Options

Different Information Specified Depending on Whether


Traveler Has Company Credit Card
31

Managed by UT-Battelle
for the U.S. Department of Energy

CD113

Destinations

32

Managed by UT-Battelle
for the U.S. Department of Energy

CD113

Destinations
Has the City Lookup

Includes Country Dropdown when User Declares Foreign


Trip (Different Trip Options for Foreign Trips and
Honorariums)
Allows User to Enter, Edit, and Delete Destinations
Displays Per Diems and Lodging Maximums
Includes Comment Section (included in all the following
steps as well) to Allow User to be as Specific as Necessary

33

Managed by UT-Battelle
for the U.S. Department of Energy

CD113

Conference/Registration

34

Managed by UT-Battelle
for the U.S. Department of Energy

CD113

Conference/Registration
Links to Conference Tool to add Conferences, if Necessary
Use a new windows to keep user in the Floorplan

Conference Lookup

On Next Set of Steps, All Have Destination Drop-Downs to


Match Information with the Destination
If Airline chosen in Transportation, Traveler Asked to
Confirm Name on ID, Birth Date, and Gender
35

Managed by UT-Battelle
for the U.S. Department of Energy

CD113

Lodging

36

Managed by UT-Battelle
for the U.S. Department of Energy

CD113

Transportation

37

Managed by UT-Battelle
for the U.S. Department of Energy

CD113

Summary

38

Managed by UT-Battelle
for the U.S. Department of Energy

CD113

Summary and Validation


When Moving from Step to Step
If errors occur, forces the user to correct before proceeding
Decided which are errors to stop the user and which can be
warnings and corrected later
Stop them if they already have a trip that overlaps date/times
Warn them if they do not have complete information

Then on Summary, Does Not Let Them Submit the Request


until All Necessary Validations are Complete
Once Submitted, Only Displays the Summary Step
Cancellations or Changes are done by calls to reservationists

39

Managed by UT-Battelle
for the U.S. Department of Energy

CD113

Did Not Use the Confirmation GAF


Option
Wanted the Confirmation View to Show Errors that Needed
Correction and Allow the User to Move Freely
Also this View is Used for Displaying Information Once the
Request is Submitted
Use a Separate Web Dynpro Application to Display the View
from an E-Mail link

40

Managed by UT-Battelle
for the U.S. Department of Energy

CD113

Whats Next Step After Submitting?


Travel for Employees
Trip is created in SAP

Travel or Honorarium Only for Non-Employees from


University of Tennessee
Request Approval from UT

Travel or Honorarium Only for Non-Employees


Honorarium Request to Accounts Payable to make sure meets
business rules
Travel to Travel Manager to determine if non-employee
subcontract allows payment for Travel

Upon Non-Employee Approvals


Trip is created in SAP
41

Managed by UT-Battelle
for the U.S. Department of Energy

CD113

After Trip Created


1. Any requiring Travel, go to Reservationists Queue

2. Reservationists Call Contact and Make Necessary Travel


arrangements
3. E-mail the Information to Traveler/Contact

User can Immediately Add Expenses and Request Approval


Possibly Goes Through Audit
Once Trip Expenses Approved, User is Paid through Vendor
Account the next Morning

42

Managed by UT-Battelle
for the U.S. Department of Energy

CD113

Additional Features
Timeout
Historically our web application users have been very sensitive
about the application timing out on them

Other Stateless Web Applications Allow for Large Timeout


However, Not Good Idea for Stateful

Our Users Want to be Warned


43

Managed by UT-Battelle
for the U.S. Department of Energy

CD113

Created a Web Dynpro Interface


Interface Component Controller Includes Context of
Last Action Date
Last Action Time

Methods are
INITIALIZE_TIMER
Using application will call it when starting up a view

UPDATE_TIMER
Referencing application will call it when a WDDOMODIFYVIEW is called

CHECK_TIMER
Determines if close to the timeout and if so, popups a window warning the
user they are about to timeout
44

Managed by UT-Battelle
for the U.S. Department of Energy

CD113

How Timer Used in Referencing


Application
Add the Timed Trigger Element to a View and Set Delay
Property and Action to CHECK_TIMER
Call INTIALIZE_TIMER in WDDOINIT
Call UPDATE_TIMER in the WDOBEFOREACTION if the
current action is NOT CHECK_TIMER
If CHECK_TIMER determines that the application is within 5
Minutes of Timing Out, the Warning Displays
Note that Not Only Does this Give a Warning then the User
Will Understand what Happens When a Timeout Happens
45

Managed by UT-Battelle
for the U.S. Department of Energy

CD113

Other Miscellaneous Features


In ICF, Override the Default Error Page

46

Managed by UT-Battelle
for the U.S. Department of Energy

CD113

Hide Start Button on Floorplan


Created an Enhancement for Class
CL_FPM_FLOORPLAN_ASSIST
In Method MODIFY_VIEW_INITIAL_SCREEN
If application hides the Close Button
Then also hide the Start Button

47

Managed by UT-Battelle
for the U.S. Department of Energy

CD113

ABAP Web Dynpro Floorplan


First One, Still Refining

Structure for UI and Handling Events is Consistent


Able to Code Business Logic in Separate Classes
Web Dynpro Does Restrict What You Can Do
No javascript
Does not handle Back button on the Browser

Using Floorplan Manager Restricts Options Further (Plus


and Minus)

48

Managed by UT-Battelle
for the U.S. Department of Energy

CD113

Questions/Comments?
Contact Information: begovichcl@ornl.gov

Feedback
Please complete a session evaluation for this session!

49

Managed by UT-Battelle
for the U.S. Department of Energy

CD113

Das könnte Ihnen auch gefallen