biller direct 6.0 (ehp 2) - modification guide for fi-ar

26
Modification of SAP Biller Direct for FI-AR Release 6.02

Upload: alex-chua

Post on 27-Oct-2015

111 views

Category:

Documents


12 download

DESCRIPTION

Biller Direct 6.0 (EhP 2) - Modification Guide for FI-AR

TRANSCRIPT

Modification of SAP BillerDirect for FI-AR

Rel ease 6.02

July 2007

Modification of SAP Biller Direct for FI-AR 2

Copyright

© Copyright 2007 SAP AG. All rights reserved.

No part of this publication may be reproduced or transmitted in any form or for any purposewithout the express permission of SAP AG. The information contained herein may bechanged without prior notice.

Some software products marketed by SAP AG and its distributors contain proprietarysoftware components of other software vendors.

Microsoft, Windows, Outlook, and PowerPoint are registered trademarks of MicrosoftCorporation.IBM, DB2, DB2 Universal Database, OS/2, Parallel Sysplex, MVS/ESA, AIX, S/390, AS/400,OS/390, OS/400, iSeries, pSeries, xSeries, zSeries, z/OS, AFP, Intelligent Miner,WebSphere, Netfinity, Tivoli, Informix, i5/OS, POWER, POWER5, OpenPower and PowerPCare trademarks or registered trademarks of IBM Corporation.

Adobe, the Adobe logo, Acrobat, PostScript, and Reader are either trademarks or registeredtrademarks of Adobe Systems Incorporated in the United States and/or other countries.Oracle is a registered trademark of Oracle Corporation.

UNIX, X/Open, OSF/1, and Motif are registered trademarks of the Open Group.Citrix, ICA, Program Neighborhood, MetaFrame, WinFrame, VideoFrame, and MultiWin aretrademarks or registered trademarks of Citrix Systems, Inc.

HTML, XML, XHTML and W3C are trademarks or registered trademarks of W3C®, WorldWide Web Consortium, Massachusetts Institute of Technology.

Java is a registered trademark of Sun Microsystems, Inc.

JavaScript is a registered trademark of Sun Microsystems, Inc., used under license fortechnology invented and implemented by Netscape.

MaxDB is a trademark of MySQL AB, Sweden.

SAP, R/3, mySAP, mySAP.com, xApps, xApp, SAP NetWeaver, and other SAP products andservices mentioned herein as well as their respective logos are trademarks or registeredtrademarks of SAP AG in Germany and in several other countries all over the world. All otherproduct and service names mentioned are the trademarks of their respective companies.Data contained in this document serves informational purposes only. National productspecifications may vary.

These materials are subject to change without notice. These materials are provided by SAPAG and its affiliated companies ("SAP Group") for informational purposes only, withoutrepresentation or warranty of any kind, and SAP Group shall not be liable for errors oromissions with respect to the materials. The only warranties for SAP Group products andservices are those that are set forth in the express warranty statements accompanying suchproducts and services, if any. Nothing herein should be construed as constituting anadditional warranty.

July 2007

Modification of SAP Biller Direct for FI-AR 3

Icons in Body Text

Icon Meaning

Caution

Example

Note

Recommendation

Syntax

Additional icons are used in SAP Library documentation to help you identify different types ofinformation at a glance. For more information, see Help on Help General InformationClasses and Information Classes for Business Information Warehouse on the first page of anyversion of SAP Library.

Typographic Conventions

Type Style Description

Example text Words or characters quoted from the screen. These include fieldnames, screen titles, pushbuttons labels, menu names, menu paths,and menu options.

Cross-references to other documentation.

Example text Emphasized words or phrases in body text, graphic titles, and tabletitles.

EXAMPLE TEXT Technical names of system objects. These include report names,program names, transaction codes, table names, and key concepts of aprogramming language when they are surrounded by body text, forexample, SELECT and INCLUDE.

Example text Output on the screen. This includes file and directory names and theirpaths, messages, names of variables and parameters, source text, andnames of installation, upgrade and database tools.

Example text Exact user entry. These are words or characters that you enter in thesystem exactly as they appear in the documentation.

<Example text> Variable user entry. Angle brackets indicate that you replace thesewords and characters with appropriate entries to make entries in thesystem.

EXAMPLE TEXT Keys on the keyboard, for example, F2 or ENTER.

July 2007

Modification of SAP Biller Direct for FI-AR 4

Modification of SAP Biller Direct for FI-AR ............................................................................. 5

Customer Enhancements in Accounts Receivable Accounting ........................................... 5

Adapting ISR Scenarios.................................................................................................. 6

Supporting Subobjects ................................................................................................... 6

Adapting the Web Application .......................................................................................... 11

Showing Customer Fields............................................................................................. 13

Adapting Interface Texts............................................................................................... 14

Changing Texts......................................................................................................... 14

Deleting Texts........................................................................................................... 16

Creating Texts .......................................................................................................... 17

Adapting the Interface Design....................................................................................... 17

Adapting Texts for HTML Bill Display............................................................................ 18

Overwriting XML Encoding ........................................................................................... 19

Changing the User Interface at Runtime ....................................................................... 20

Integrating Separate Customer Functions..................................................................... 20

Creating the Event Handler and Java Beans ............................................................. 21

Inserting New Menu Options ..................................................................................... 22

Creating Your Own JavaServer Pages ...................................................................... 22

Registering New Components................................................................................... 22

Registering New JavaServer Pages .......................................................................... 22

Registering the New Event Handler........................................................................... 23

Registering New Resource Bundles .......................................................................... 23

Executing Customer Enhancements ......................................................................... 23

Adapting Web User Documentation.............................................................................. 23

Adapting the Design of the Web User Documentation................................................... 24

Deactivating the Documentation Type .......................................................................... 24

Deleting and Inserting Sections of Text in the Documentation....................................... 24

Deactivating the Entire Web User Documentation......................................................... 25

Deactivating an Entry in Application Menu .................................................................... 26

July 2007

Modification of SAP Biller Direct for FI-AR 5

Modification of SAP Biller Direct for FI-ARPurposeIn addition to the system settings in the back end and in the Web application, you can modifythe back end and the Web application as described in the following sections so they will bettermeet your requirements.

Implementation ConsiderationsPlease note that SAP does not undertake the maintenance of any modifications you make.

Regarding the delivery of the source code of SAP Biller Direct 6.0, make sureyou have read SAP Note 858563.

Customer Enhancements in Accounts ReceivableAccountingUseIn addition to the system settings that you make in FI-AR, you can use various BusinessAdd-Ins (BAdIs) to adapt SAP Biller Direct to meet your company requirements down to thelast detail.

For more information about Business Add-Ins, see SAP Help Portal at help.sap.com,SAP NetWeaver Release: SAP NetWeaver 2004s SAP NetWeaver LibraryApplication Platform ABAP Technology ABAP Workbench (BC-DWB) Changes toSAP Standard (BC) Business Add-Ins (previously: SAP Web Application Server ABAPWorkbench Changes to SAP Standard (BC) Business Add-Ins).

PrerequisitesYou have made the system settings in Accounts Receivable Accounting.

FeaturesThe following Business Add-Ins are available to you for SAP Biller Direct:

Business Add-In Function

APAR_EBPP_GET_DATA Determination of bills

EBPP_INVOICEDETAIL Determination of bill details

EBPP_USAPPLREF Assignment of user to customer

APAR_EBPP_DEBITOR_SL Processing of user requests

APAR_EBPP_NOTIFY Notification address for automatic notification

APAR_EBPP_NOTIFY2 Notification using SMS or e-mail

APAR_EBPP_CHECK_INV Check of bill files for transferring bills from the Webapplication to an SAP system (Bill Receipt for theBill Recipient)

July 2007

Modification of SAP Biller Direct for FI-AR 6

For more information, see the documentation relating to the BAdIs in the ImplementationGuide under Financial Accounting Accounts Receivable and Accounts PayableFinancial Supply Chain Management Biller Direct Business Add-Ins

Adapting ISR ScenariosUseYou can modify the ISR scenarios delivered by SAP to meet your requirements.

ActivitiesIn the Implementation Guide for Cross-Application Components you can modify the tasks forthe scenarios listed in the table. To do this choose Notifications Notification Processing onthe Intranet Define Scenarios. You should read the documentation for this IMG activity.

ISR scenarios for changing master data in accounts receivable accounting

Scenario Technical Key

Create bank details SBA1

Change bank details SBA2

Delete bank details SBD1

Create credit card details S1CA

Change credit card details S2CA

Delete credit card details SDCA

Change address data S2AD

Supporting SubobjectsUseSubobjects make it possible for you to create any subunits for a vendor (such as bill recipient,goods recipient), and to make these available as filtered customer accounts.

ProcedureYou need to carry out the following activities if you want to support subobjects:

You enter characteristic values for the following BAdIs to be able to map subobjects toand from BOR objects, and to create filter rules for data selection.

Assignment of user and customer (EBPP_USAPPLREF)

Determination of bills (APAR_EBPP_GET_DATA)

You assign subobjects to your user....

1. Arrange the Object HierarchyDecide how you want the hierarchy of accounts to appear, and which nodes shouldonly be used as folders:

July 2007

Modification of SAP Biller Direct for FI-AR 7

Example:IDES AG:Customer1 (folders only, company code 1000, customer key4711) IDES AG:Customer1:PostKey = 03 (expenses) (subobject key10000BSCHL_03) IDES AG:Customer1:PostKey = 04 (other receivable) (subobject key 10000BSCHL_04) IDES AG:Customer1:Posting Key other than 03 or 04 (subobject key10000BSCHL_NOT_03_04)IDES AG:Customer2 (folders only, company code 1000, customerkey 0815) IDES AG:Customer2:PostKey = 03 (expenses) (subobject key 20000BSCHL_03) IDES AG:Customer2:PostKey = 04 (other receivable) (subobject key 20000BSCHL_04) IDES AG:Customer2:Posting Key other than 03 or 04 (subobject key20000BSCHL_NOT_03_04)

2. Implement Assignment of Subobjects to a Customer

Implement first the hierarchy in BAdI Assignment of User and Customer(EBPP_USAPPLREF) in method GET_USAPPLREF.

For additional information on this BadI, see the Implementation Guide (IMG) underFinancial Supply Chain Management Biller Direct Process Integration withAccounts Receivable Accounting Business Add-Ins (BAdIs) BAdI: Assignment ofUser and Customer.

This is where you implement the assignment of subobjects to the subordinate BORobject. Subobjects always have the BOR type EBPP_SPART.

July 2007

Modification of SAP Biller Direct for FI-AR 8

Example Coding:method IF_EX_EBPP_USAPPLREF~GET_USAPPLREF .data: ls_objkey type EBPPBAPIAPREF_EX. loop at t_objkeys into ls_objkey. if ls_objkey-objtype eq 'EBPP_SPART'.* modify subobjects if ls_objkey-objkey eq '1000BSCHL_03'. ls_objkey-root_objtype = 'BUS3007'. ls_objkey-root_objkey = '10000000004711'. ls_objkey-is_folder = ''. ls_objkey-hierarchy_level = 1. modify t_objkeys from ls_objkey. elseif ls_objkey-objkey eq '1000BSCHL_04'. ls_objkey-root_objtype = 'BUS3007'. ls_objkey-root_objkey = '10000000004711'. ls_objkey-is_folder = ''. ls_objkey-hierarchy_level = 1. modify t_objkeys from ls_objkey. elseif ls_objkey-objkey eq '1000BSCHL_NOT_03_04'. ls_objkey-root_objtype = 'BUS3007'. ls_objkey-root_objkey = '10000000004711'. ls_objkey-is_folder = ''. ls_objkey-hierarchy_level = 1. modify t_objkeys from ls_objkey. elseif ls_objkey-objkey eq '2000BSCHL_03'. ls_objkey-root_objtype = 'BUS3007'. ls_objkey-root_objkey = '10000000000815'. ls_objkey-is_folder = ''. ls_objkey-hierarchy_level = 1. modify t_objkeys from ls_objkey. elseif ls_objkey-objkey eq '2000BSCHL_04'. ls_objkey-root_objtype = 'BUS3007'. ls_objkey-root_objkey = '10000000000815'. ls_objkey-is_folder = ''. ls_objkey-hierarchy_level = 1. modify t_objkeys from ls_objkey. elseif ls_objkey-objkey eq '2000BSCHL_NOT_03_04'. ls_objkey-root_objtype = 'BUS3007'. ls_objkey-root_objkey = '10000000000815'. ls_objkey-is_folder = ''. ls_objkey-hierarchy_level = 1. modify t_objkeys from ls_objkey. endif. endif. if ls_objkey-objtype eq 'BUS3007'. if ls_objkey-objkey eq '10000000004711'.* modify rootobjects as folders ls_objkey-is_folder = 'X'. ls_objkey-hierarchy_level = 0. modify t_objkeys from ls_objkey. elseif ls_objkey-objkey eq '10000000000815'. ls_objkey-is_folder = ''. ls_objkey-hierarchy_level = 0. modify t_objkeys from ls_objkey. endif. endif. endloop.endmethod.

If you select the entry for the customer with isFolder, then it is not possible toselect the corresponding object. If you want to have a hierarchy, then increase theparameter hierarchy_level for the subobjects to be indented, and the followinghierarchy will be displayed in account selection screen in SAP Biller Direct:

myCustomer (only folders)

mySubobject

3. Implement Assignment of a Text to a Subobject

You implement a text for which a subobject is displayed in BAdI Assignment of Userand Customer (EBPP_USAPPLREF) in method GET_USAPPLREF_TEXT. You can

July 2007

Modification of SAP Biller Direct for FI-AR 9

modify the long text that is displayed for each customer account in SAP Biller Directand define it for subobjects. You must assign a text for subobjects.

Example Coding:method IF_EX_EBPP_USAPPLREF~GET_USAPPLREF_TEXT . DATA: ls_currentrow TYPE ebppbapiapref_ex, l_currenttext LIKE ls_currentrow-objtext, l_text TYPE text120, ls_t001 TYPE t001, ls_lfa1 TYPE lfa1, ls_kna1 TYPE kna1, l_bukrs TYPE t001-bukrs, l_kunnr TYPE kna1-kunnr, l_lifnr TYPE lfa1-lifnr.

LOOP AT t_objkeys INTO ls_currentrow. CLEAR l_currenttext. IF ls_currentrow-objtype EQ 'EBPP_SPART'. MOVE ls_currentrow-root_objkey+0(4) TO l_bukrs. SELECT SINGLE * FROM t001 INTO ls_t001 WHERE bukrs = l_bukrs. CONCATENATE ls_t001-butxt ':' INTO l_text.

IF ls_currentrow-objkey EQ '1000BSCHL_03' OR ls_currentrow-objkey EQ '2000BSCHL_03'. MOVE ls_currentrow-root_objkey+4 TO l_kunnr. SELECT SINGLE * FROM kna1 INTO ls_kna1 WHERE kunnr = l_kunnr. IF sy-subrc = 0. CONCATENATE l_text ls_kna1-name1 'Buschl = 03 (Spesen)' INTO l_currenttext. ls_currentrow-objtext = l_currenttext. modify t_objkeys from ls_currentrow. ENDIF. ELSEIF ls_currentrow-objkey EQ '1000BSCHL_04' OR ls_currentrow-objkey EQ '2000BSCHL_04'. MOVE ls_currentrow-root_objkey+4 TO l_kunnr. SELECT SINGLE * FROM kna1 INTO ls_kna1 WHERE kunnr = l_kunnr. IF sy-subrc = 0. CONCATENATE l_text ls_kna1-name1 'Buschl = 04 (sonst.Forderung)' INTO l_currenttext. ls_currentrow-objtext = l_currenttext. modify t_objkeys from ls_currentrow. ENDIF. ELSEIF ls_currentrow-objkey EQ '1000BSCHL_NOT_03_04' OR ls_currentrow-objkey EQ '2000BSCHL_NOT_03_04'. MOVE ls_currentrow-root_objkey+4 TO l_kunnr. SELECT SINGLE * FROM kna1 INTO ls_kna1 WHERE kunnr = l_kunnr. IF sy-subrc = 0. CONCATENATE l_text ls_kna1-name1 'andere Buchungsschlüssel als 03 bzw. 04' INTO l_currenttext. ls_currentrow-objtext = l_currenttext. modify t_objkeys from ls_currentrow. ENDIF. ENDIF. ENDIF. ENDLOOP.endmethod.

4. Define Filter for the Subobjects

To prevent the entire customer account from being displayed for a subobject, you haveto modify the selection as appropriate. To do this, you have to define the dynamicWHERE-CLAUSE in the BAdI Determination of Bills (APAR_EBPP_GET_DATA) inmethod BEFORE_ITEM_SELECTION. The type of subobject (SP) and the key aretransferred as input parameters in I_ADDSEL. Depending on this data you define yourselection condition.

July 2007

Modification of SAP Biller Direct for FI-AR 10

Whenever the value SP is transferred in I_ADDSEL-ADDSELTYPE then this involves asubobject.

Example Coding:method IF_EX_APAR_EBPP_GET_DATA~BEFORE_ITEM_SELECTION .* Filter Item Selection by I_ADDSEL for SubObjects IF i_addsel-addseltype EQ 'SP'. DATA: l_identifier TYPE char4, l_key TYPE char16, l_open_items_cond TYPE aparebpp_wtab, l_clrd_items_cond TYPE aparebpp_wtab.

MOVE i_addsel-addselkey+0(4) TO l_identifier. MOVE i_addsel-addselkey+4 TO l_key.

*Build up filterrules depending on identifier and key CLEAR: l_open_items_cond, l_clrd_items_cond.

*Only display special posting keys if l_key eq 'BSCHL_03'. l_open_items_cond = 'BSCHL = ''03'''. l_clrd_items_cond = 'BSCHL = ''03'''. APPEND l_open_items_cond TO e_filter_open_items. APPEND l_clrd_items_cond TO e_filter_clrd_items. elseif l_key eq 'BSCHL_04'. l_open_items_cond = 'BSCHL = ''04'''. l_clrd_items_cond = 'BSCHL = ''04'''. APPEND l_open_items_cond TO e_filter_open_items. APPEND l_clrd_items_cond TO e_filter_clrd_items. elseif l_key eq 'BSCHL_NOT_03_04'. l_open_items_cond = 'NOT BSCHL = ''03'' AND NOT BSCHL = ''04'''. l_clrd_items_cond = 'NOT BSCHL = ''03'' AND NOT BSCHL = ''04'''. APPEND l_open_items_cond TO e_filter_open_items. APPEND l_clrd_items_cond TO e_filter_clrd_items. endif. ENDIF.

E_SP_GL_IND = 'RWABCDEFGH'.

endmethod.

5. Assign Subobjects to a User

Make sure that all of the above-mentioned BAdIs have characteristic values,otherwise error messages may be issued.

All customers and their subobjects used have to be assigned to a user. Thisassignment is made differently according to the User Management used:

If you manage your users in the system in which FI-AR is also located, thenenter your assignment using references to the user in transaction SU01.

Enter all subobjects with the BOR type EBPP_SPART and also all customersused, even if they are only used as folders.

For additional information, see the Configuration Guide for SAP Biller Directunder User Management User Management in Accounts ReceivableAccounting Creating User Master Records [Extern] or

User Management User Management in Contract Accounts Receivable andPayable Creating User Master Records [Extern].

If you manage your users with the User Management Engine (UME), then logon to the UME administration console as a super-administrator.

July 2007

Modification of SAP Biller Direct for FI-AR 11

For additional information, see the Configuration Guide for SAP Biller Directunder User Management User Management with UME Configuring theCompany Administrator [Extern].

i. Using the screen Account Search you can search for all of the requiredcustomers, and save them for the user. Also assign the customers whoare only being used as folders.

ii. Then assign the new subobjects. To do this enter the key of thesubobject in the Customer Number field. Click on the + symbol andassign these objects to the user, and save your assignment.

Define the key of the subobject in the same way as that of a customer.The first four characters identify the subobject, in order (for example) tocreate particular entries for the JSPs (customer adaptation). Theremaining characters are the actual key for the subobject.

Z implementations of events in contract accounts receivable and payable (FI-CA) have to be adapted. (Events 1237, 1245).

For detailed information, see the Modification Guide to SAP Biller Direct with FI-CA.

ResultYou have displayed a limited view of one or more customer accounts.

Adapting the Web ApplicationUseIn addition to the normal Web application configuration, you can change texts, graphics andthe layout, for example, if you want to insert your company logo or ensure your company-specific terminology is being used.

SAP recommends at this point that you check the contents of the following Webuser documentation:

FAQ

Are you a new user?

Glossary

SAP supplies example texts which you need to check and if necessary correct on the basis ofthe following criteria:

Are the statements in line with your company practice?

Do the statements correspond to the configuration of Accounts ReceivableAccounting?

Do the statements correspond to the configuration of the Web application?

PrerequisitesYou have configured accounts receivable accounting. For more information seeConfiguration of Accounts Receivable Accounting [Extern].

July 2007

Modification of SAP Biller Direct for FI-AR 12

You have completely finished configuring the Web application before you begin withany adaptations. For more information see Configuration of the Web Application[Extern].

To make any adaptations, you should be familiar with HTML, Cascading Style Sheet (CSS)and JavaServer Pages (JSP).

Enter umlauts and other special characters in accordance with the HTMLstandard in all text files (for example Zurück is Zur&uuml;ck in HTMLformatting).

FeaturesThe following tables give you an overview of the possible adaptations you can make to theWeb application. Detailed entries can be found in the following sections.

Adapting the Web Application

Area Function Comments

Change

Delete

Interface texts

Insert

Colors

Fonts

Spacing

Interface design

Graphics

Change, delete, or insert text Check stronglyrecommended

Deactivate individualdocumentation type

Web user documentation

Deactivate entire Web userdocumentation

Colors

Fonts

Spacing

Design of the Web userdocumentation

Graphics

Web pages Deactivating an Entry inApplication Menu

July 2007

Modification of SAP Biller Direct for FI-AR 13

Showing Customer FieldsUseYou can also display your own fields that you add to the existing structures or tables in theback end and that you fill in Business Add-In (BAdI) APAR_EBPP_GET_DATA (methodBEFORE_OUTPUT) on the Web interface.

ProcedureTo display additional attributes for bills and payments in the Web application, proceed asfollows:...

1. For new attributes to the list of bills, enhance the structure EBPP_INVOICE_EXT by acustomer-defined append structure.

For new attributes to the list of payments, enhance the structureEBPP_MYPAYMENTS_EXT by a customer-defined append structure.

2. Enter the name of the enhanced interface parameter of moduleAPAR_EBPP_GET_DATA in parameter custExtendedParameters in ExtendedConfiguration Management (XCM).

If you want to enhance the list of bills, enter the name T_INVOICES in thisparameter.

If you want to enhance the list of payments, enter the name T_MYPAYMENTSin this parameter.

If you want to enhance both lists, enter both names separated by a comma butwithout using blank spaces between the names.

3. Fill you customer-defined fields in BAdI APAR_EBPP_GET_DATA (methodBEFORE_OUTPUT).

When you are creating a separate implementation for this BAdI make sure that youimplement all methods in the same way as in the default implementation.

4. Output the additional attributes on the related Web page with methodgetExtendedParameter(string parameterName). This method can be applied toclasses Bill and Payment.

If, for example, you want to display an additional attribute in the list of open bills withthe name CUSTATTR you should proceed as follows:

a. Open the JSP file content_billList_html.jsp in a suitable editor, such asa text editor or an HTML editor like Macromedia Dreamweaver or MicrosoftFrontPage .

b. Insert a new heading in the table of bills.

For the output of the individual lines in the table, you can access the newattribute with bill.getExtendedParameter("CUSTATTR").

Module APAR_EBPP_GET_DATA selects the following fields automatically:

XBLNR (Reference document number)

VBELN (Billing document)

XREF1 (Reference key)

XREF2 (Reference key)

XREF3 (Reference key)

July 2007

Modification of SAP Biller Direct for FI-AR 14

You can overwrite these fields if necessary using BAdI APAR_EBPP_GET_DATA (methodBEFORE_OUTPUT). You can access these fields on the interface using the followingmethods:

bill.getXblnr()

bill.getVbeln()

bill.getXref1()

bill.getXref2()

bill.getXref3()

Adapting Interface TextsUseYou can adapt all texts on the Web interface of SAP Biller Direct to meet your requirementsand to comply with your company-specific terminology. How you change, delete and re-createtexts is set out in the following sections.

Changing TextsProcedureThe Web application downloads texts from various language-dependent properties files anddisplays these on the interface dynamically using a variable. For each subject you deal with(such as bills, complaints) there is a separate resource bundle. This means in turn that foreach subject area there is a properties file for each language. When the texts are output by aspecial tag (for example, <webbase:message key="..." resource="..."/>) the Webapplication determines both the related resource bundle and properties file from the logicalname in the attribute resource=“...“. You can find out which resource bundle has beenassigned to which logical name from the section <message-resources></message-resources> in file WEB-INF/webbase-config.xml.

July 2007

Modification of SAP Biller Direct for FI-AR 15

Section <message-resources></message-resources>in file webbase-config.xml<message-resources> <resource name="addressdata"path="com.sap.fin.fscmbase.resources.addressdata"/> <resource name="advicenote"path="com.sap.fin.fscmbase.resources.advicenote"/> <resource name="agency"path="com.sap.fin.fscmbase.resources.agency"/> <resource name="bankdata"path="com.sap.fin.fscmbase.resources.bankdata"/> <resource name="bills"path="com.sap.fin.fscmbase.resources.bills"/> <resource name="dispute"path="com.sap.fin.fscmbase.resources.dispute"/> <resource name="fscmdata"path="com.sap.fin.fscmbase.resources.fscmdata"/> <resource name="logon"path="com.sap.fin.fscmbase.resources.logon"/> <resource name="r3Messages"path="com.sap.fin.fscmbase.resources.R3Messages"/> <resource name="system"path="com.sap.fin.fscmbase.resources.system"/> <resource name="releaseDependentBills" path="com.sap.fin.fscmbase.resources.releaseDepBillsCA464 "/></message-resources>

To adapt a text, proceed as described in the table: You have to make the changes describedthere before you deploy the Web application. To do this, first unpack the file delivered andthen make the changes required to the corresponding unpacked properties files. In thefollowing example, you want to replace the text Open Bills with the text My Open Bills.

Step Action Example

1. Open the corresponding JSPfile in a suitable editor, forexample, MacromediaDreamweaver or MicrosoftFrontPage .

JSP file:navigation_html.jsp

2. Using the structure of thelayout, find the message tagthat describes the interfacetext. Make a note of the nameof the variable and the logicalname of the resource bundlefrom file webbase-config.xml.

Message tag:<webbase:message key="tab.myBills"resource="system"/>

Logical name of the resource bundle: system

3. Determine the name of theresource bundle for thelogical name from the filewebbase-config.xml

<resource name="system"path="com.sap.fin.fscmbase.resources.system"/>

This results in resource bundlecom.sap.fin.fscmbase.resources.system

4. Open the language-dependent properties file andfind the entry for theappropriate variable.

Files with English texts: system_en.properties

Variable: tab.myBills

July 2007

Modification of SAP Biller Direct for FI-AR 16

5. Change the text to the right ofthe equals sign as required,but without changing thevariable itself.

Beforetab.myBills=Open Bills

Aftertab.myBills=My Open Bills

6. Save the file.

7. Create a deploy file from theunpacked files, and deploythe application.

8. Check that your changesappear on the Web interface.

9. If you want to make thechange for an additionallanguage, you have to repeatthe procedure in thelanguage-dependent file forthis language.

Files with German texts: system_de.properties

There are texts that are used by the system several times, so your changemay affect several different places.If you lengthen the text, this may lead to unwanted changes in the layout.Changes in terminology on the interface can lead to inconsistencies withterminology in the Web user documentation. For detailed information onchanging the Web user documentation, see Adapting Web User Documentation[Seite 23].

Deleting TextsProcedureTo delete a text, proceed as described in the table. The same procedure applies to thedeployment as is described in the section Changing Texts [Seite 14]. In the following exampleyou want to delete the text History to display your inquiries:

Step Action Example

1. Open the corresponding JSP file in asuitable editor, for example MacromediaDreamweaver or Microsoft FrontPage .

JSP file:content_billList_html.jsp

2. Using the structure of the layout, find themessage tag that describes the interfacetext.

Message tag:<webbase:messagekey="action.getDisputesBill"resource="bills"/>

3. Remove the corresponding message tag. Message tag:<webbase:messagekey="action.getDisputesBill"resource="bills"/>

4. Create a deploy file from the unpacked files,and deploy the application.

5. Check that your changes appear on the Webinterface.

July 2007

Modification of SAP Biller Direct for FI-AR 17

Creating TextsProcedureTo include a new text in the interface proceed as described in table. The same procedureapplies to the deployment as is described in the section Changing Texts [Seite 14]. In theexample that follows, you want to insert the text Visit our homepage.

Step Action Example

1. Open the language-dependentproperties file

File with English texts:bills_en.properties

2. Insert a new text variable that has notyet been used and assign the desiredtext to it.

Variable name:myHomepageTextText: Visit our homepageComplete entry: myHomepageText= Visit ourhomepage

3. Save your entries.

4. Open the corresponding JSP file in asuitable editor, for example MacromediaDreamweaver or MicrosoftFrontPage .

JSP file:content_billList_html.jsp

5. Using the structure of the layout, find theplace where the new text is to appear.

6. Insert the new message tag there. Message tag: <webbase:message key=“myHomepageText“ resource="bills„/>

7. Create a deploy file from the unpackedfiles, and deploy the application.

8. Check that your changes appear on theWeb interface.

9. If you want to make this entry for anotherlanguage, you have to repeat theprocedure in the language-dependentfile for this language.

File with German texts:bills_de.properties

Adapting the Interface DesignUseYou can adapt the interface design of SAP Biller Direct to meet your requirements, forexample to use the logo, colors, fonts, and graphics that are characteristic of your homepage.

ProcedureThe entries for the interface design are contained in the following Cascading Style Sheet files:

July 2007

Modification of SAP Biller Direct for FI-AR 18

File Browser Type

winie.css Windows Internet Explorer

winns.css Netscape

winno.css Other browser types

To adapt the design, proceed as described in the table: In the example you change thebackground color of the application menu from blue to pink:

Step Action Example

1. Open the corresponding JSP file in asuitable editor.

JSP file: navigation_html.jsp

2. Find the tag containing the attributeclass, which is to be changed.Note the name of the attribute.

Message tag: <tdid=“NaviTab_1“class=“TabstripEmph“>

Name of the attribute class:TabstripEmph

3. Open the browser-dependent file.Find the entry for the correspondingname.

File: winie.css

Name of the attribute: TabstripEmph

4. Change the corresponding style. BeforeBACKGROUND-COLOR:#b1c9e2;

AfterBACKGROUND-COLOR:#FFCCCC;

5. Save the file.

6. Check that your changes appear on theWeb interface.

Graphic files, such as the standard logo for the application, are stored in directory\public\themes\default\img under the name bg_navigation_top.jpg. Tosubstitute your own logo for the standard logo, change the following entry in the filenavigation_top_html.jsp:

<body class="navigation" background="<webbase:themePathuri='img/bg_navigation_top.jpg'/>">

Change the entry, for example as follows:<body class="navigation" background="<webbase:themePathuri='img/myBanner.gif'/>">

Alternatively, you can store the required JPG screen under the file name of the standard logo(bg_navigation_top.jpg). To avoid overwriting the standard logo, change the file nameof the standard logo beforehand.

Adapting Texts for HTML Bill DisplayUseDepending on the settings in your bill detail display this is done either as an HTML display orin PDF format. If you use the HTML display, then you need to adapt the related JSP to meetyour company requirements.

July 2007

Modification of SAP Biller Direct for FI-AR 19

Procedure1. Find the following two texts in the file

content_billingdocument_show_html.jsp:

a. <b>Company</b>&nbsp;/&nbsp;street&nbsp;/&nbsp;zip-Code&nbsp;city

b. <b>Company</b>&nbsp;/&nbsp;street&nbsp;/&nbsp;zip-Code&nbsp;city</br>

court register number, Tax-code.:, bank accountnumber:,bank code.:

2. Replace the variables in the two texts by your country and company-specific headerand footer data.

a. Name and address of your firm

b. Name and address, jurisdiction, tax number, bank details and so on.

Overwriting XML EncodingUseIf bill information is written in XML format, you have to determine the encoding of the XMLdata. In the standard system the front end uses the encoding from the http request, or elsethe default value from parameter requestEncoding in the file web.xml.

If you want to specify or overwrite the download format uniformly, you need to modify thecorresponding accesses to the JSP pages. In this way you can select each encoding that issupported by the back end.

If an encoding is not supported by the back end, then the default encoding of theapplication server is automatically used.

ProcedureTo overwrite the encoding on, for example, UTF-16, enhance parameter HTTPCP=UTF-16 inthe case of all links that lead to XML accesses.

Change the following JSPs:

content_balanceconfirmation_show_html.jsp

content_balanceconfirmation_reply_html.jsp

content_lineitems_show_html.jsp

content_openitem_detail_html.jsp

content_openitem_show_html.jsp

Find the expression INVOICEFORMAT=XXML on these JSPs, and replace this withINVOICEFORMAT=XXML&HTTPCP=UTF-16

Change the following JSPs in addition:

content_billListBalance_html.jsp

content_billList_approve_html.jsp

July 2007

Modification of SAP Biller Direct for FI-AR 20

content_billList_html.jsp

content_billSearch_html.jsp

content_credits_html.jsp

Find all expressions with the form doAction=showBillXML on these JSPs, and replacethem with doAction=showBillXML&HTTPCP=UTF-16

Changing the User Interface at RuntimeUseWith SAP Biller Direct you can change not just the appearance of each interface design, butalso switch between individual Cascading Style Sheets (CSS) with the related graphics atruntime.

Procedure...

All CSS and graphics are delivered in the standard system under the theme Default. If youare using your own CSS, proceed as follows:

1. Copy directory Default under directory Themes.

2. Give the copied directory another name (such as Portal).

3. Change the relevant CSS and graphics in the new directory.

4. Activate your changes as follows:

With XCM

Under Start General Settings Customer Technical Settings defaultenter a value for the login-screen-theme parameter (such as Portal). In thisexample, Portal stands for the copied default directory where the CSS andgraphics you have altered are located. If you do not specify a directory here thenthe entries for the Style Sheets and graphics in the standard delivery in directoryDefault are used.

via call up parameters in the URL address

You can change the theme at runtime for every HTTP request. To do this addthe parameter theme to the URL address. If you enterhttp://localhost:8080/ebpp?theme=Portal for example, then SAPBiller Direct is called up with the theme Portal .

Integrating Separate Customer FunctionsUseYou would like to enhance SAP Biller Direct with your own functions.

PrerequisitesSuch enhancements presuppose considerable experience in the area of Java programming.

To include your own Java code in the application, you need a Java development environment,meaning an editor, compiler and if necessary a debugger. To be able to compile your own or

July 2007

Modification of SAP Biller Direct for FI-AR 21

the example source code, you have to make all of the SAP J2EE Engine libraries accessiblefrom directory additional-lib in addition to the libraries that belong directly to Biller Directthat are contained in directories WEB_INF/lib: ebpp.jar and webbase.jar when youset up the development environment.

ActivitiesThe following shows you how to implement your own functions using the framework, and howyou can access data from the core application.

The SAP Biller Direct delivery contains example code for customer-defined enhancements inthe .ear file that you can use as template for implementing your own functions.After you have unpacked the application as set out in the implementation guide, you can findfolder \docs\customerExtensions Beispielsourcecode. Based on this example thatyou can use to display a list of all of the company codes with their relationships taken from theERP system, the following sections demonstrate step by step how to integrate anenhancement in your installation.

Creating the Event Handler and Java BeansProcedure

You are recommended to create all customer Java classes in a separatepackage. Before this is completed you should create a .jar file from theseparate customer classes and add WEB_INF/lib to the application. Theexample classes have been implemented in example packagecom.company.ebpp.

To enable you to deal with a customer-defined event (such as clicking on a customer menuoption), you need a customer event handler. This is done by classCustomerExtendAction.java in the example. You can find explanations on setting thisup in the comments with the code for this class. This kind of event handler class checks whichevent is involved, and executes the requested changes to the data bean objects. In thecurrent example, the data bean with the list of company codes is constructed on the incomingevent. As several data beans are usually implemented when the actual implementation takesplace, it is good practice to define a root data bean that all subordinate data beans reference.By doing this you can create data within JavaServer Pages (JSPs) with only one objectreference. This is done by class CustomerExtendRootBean.java in the example. In thisclass the corresponding BAPI in the ERP system is called up for creating the list of companycodes. From the result of the call up an appropriate data bean of classCustomerExtendDataBean.java is constructed. For information on how you use theservices of the framework, such as Connection Manager or Action Messages, see thecomments for the source code.

For the internationalization of your developments you need one or more property files withtext keys (resource bundle). Only the default property file is contained in the example(CustomerExtensions.properties). If you want to support several languages, you haveto create the property files in the required languages under the corresponding file names.When you do this note the Java resource bundle specification.

July 2007

Modification of SAP Biller Direct for FI-AR 22

Inserting New Menu OptionsUseYou would like to display separate customer-defined functions in the menu of SAP BillerDirect.

ProcedureTo insert your own functions in the navigation bar, you do not need to modify thecorresponding JavaServer Pages but simply fill the corresponding Include files in the folder\jsp\customerExtensions. There use the IDs NaviTab_21 to NaviTab_29. The file\docs\customerExtensions contains the example code for the standard exampleincluded in the delivery.

Creating Your Own JavaServer PagesProcedureFolder \docs\customerExtensions contains the JSPcontent_custExtension_html.jsp. in addition to the example code. This JSP takesover the display of the data for the company codes. This means that this JSP generates theHTML page for the display. You should create your own JSPs in folder\jsp\customerExtensions so as to clearly differentiate between your own developmentsand the SAP standard delivery.

Registering New ComponentsProcedureOnce you have created the code, you have to register the new elements in the Webapplication. To do this, proceed as follows:...

1. Call up the configuration file webbase-config.xml in directory \WEB-INF. Inexample folder \docs\customerExtensions you will find a file under the samename containing all of the additional code required for the example.

2. To implement the example, insert the code included between the comment tags <!-->>>BEGIN OF INSERT --> and <!-- >>>END OF INSERT --> in the original file.

Registering New JavaServer PagesProcedureInsert your new JavaServer Pages between the tags <screens> and </screens>. For thisenter a name for each screen and the path of the JSP relating to the root directory in the Webapplication.

July 2007

Modification of SAP Biller Direct for FI-AR 23

Registering the New Event HandlerProcedureInsert your new event handler between the tags <webactions> and </webactions>. Anevent handler (Web action) is made up of the following:

Specification of the event (request without extension .sap)

Class that deals with the event

Comprehensive mapping of the results on the follow-on screens or follow-on events

Registering New Resource BundlesProcedureYou can address texts in various languages in the JSPs in tag <webbase:messagekey="..." resource="..."/>. The key contains in each case the text key from thecorresponding property file. The resource bundle itself is addressed under the name you haveentered in the attribute resource.To register the resource bundle in the application under the appropriate name, insert a newresource between the tags <message-resources> and </message-resources>. Inaddition enter the name addressed and the source path of the resource bundle.

Executing Customer EnhancementsWhen you are ready to execute your modifications, make sure you bear the following in mind:

So that your changes are made visible, you must if necessary delete the workdirectory of the JavaServer Pages already compiled once you have inserted thecode and JSPs. This applies particularly if you have changed includes in orderto enhance customer-defined menu options.

You have to start the J2EE Engine again following changes to the code. Only bydoing so do your changes become visible.

Adapting Web User DocumentationUseYou can adapt all of the texts in the Web user documentation of SAP Biller Direct inaccordance with the requirements of your company.

ProcedureThe Web application documentation texts that you received along with the Web applicationare stored in resource bundles, that each have a particular structure. The texts are actuallyformatted in the resource bundles in various JavaServer Pages that format such texts. Thefollowing resource bundles and JSPs are relevant for the following documentation types:

July 2007

Modification of SAP Biller Direct for FI-AR 24

Type ofDocumentation

Resource Bundle JSP

FAQ faq.properties content_docu_faq_html.jsp

Are you a new user? functions.properties content_docu_functions_html.jsp

Glossary glossary.properties content_docu_glossary_html.jsp

If you want to adapt a text, change it in the related resource bundle. Make sure that youchange the texts in all of the languages you support, and additionally in the default propertyfile.

For more information on how you can deactivate a documentation typecompletely, see Deactivating Documentation Type [Seite 24].For more information on how you can deactivate the entire Web applicationdocumentation, see Deactivating the Entire Web User Documentation [Seite 25].

Adapting the Design of the Web UserDocumentationUseYou can adapt the design of the SAP Biller Direct Web user documentation to meet yourrequirements, for example to use the logo, colors, fonts, and graphics that are characteristicof your home page.

ProcedureTo adapt the design, change the related JSP or the style sheet class used within the JSP.The same cascading style sheets (CSS) are used as in the rest of the Web application.

Deactivating the Documentation TypeUseIf you do not need a particular documentation type, you can suppress the display of this fromthe SAP Biller Direct Web user documentation.

ProcedureThe online help navigation works with the same technology as the actual Web application.You make adaptations to the JSP navigation_docu_html.jsp.

Deleting and Inserting Sections of Text in theDocumentationProcedureEach documentation type has up to three related text types. In the following, the FAQs areused as an example of how you can insert of remove individual texts.

July 2007

Modification of SAP Biller Direct for FI-AR 25

The text type section heading divides the individual points in the FAQ into sections. Therelated entries in the resource bundles (property files) have the form xgrp_<Sequenceno.><Text id>=<Text>, for example xgrp_01General=General Information. Thesequence number determines the order of the sections.

The text type questions appears under the relevant section heading as a list of questions. Therelated entries in the resource bundles have the form yfaq_<Sequence no. of thesection><Text id of the section>_<Sequence no. of the question><Text id ofthe question>=<Question text>, for example. yfaq_01General_002browser=What arethe prerequisites for my browser. The question sequence number determines the orderthe questions have within the section.

The text type answers appears in the answer part of the page, under the relevant sectionheading and question. The related entries in the resource bundles have the formyfaa_<Sequence number of the section><Test id of the section>_<Sequencenumber of the question><Text id of the question>=<Text of the answer>, forexample yfaa_01General_002browser=<p>To use the SAP Biller Direct functions…The sequence of the points listed is determined using the sequence number and the followingID.

You should note when you delete sections of text in the documentation that by deleting asection you also delete all related questions and answers, and that by deleting a question youalso delete the related answer.

Make sure when adding texts that both the number and the ID determine the sequence. Youcan, for example, insert a new question in front of the point yfaq_01General_002browser bycalling it yfaq_01General_0021browser.

Deactivating the Entire Web User DocumentationUseIf you do not need the SAP Biller Direct Web user documentation, you can suppress thedisplay of it completely.

ProcedureTo deactivate the Web user documentation completely, you need to remove the HTML linkFAQ that the user uses to access the documentation from the interface. To do this, proceedas follows:

Step Activity Example

1. Open the corresponding JSP file in asuitable editor, for example, MacromediaDreamweaver or MicrosoftFrontPage .

JSP file: navigation_html.jsp

2. Find the corresponding menu item tag. Menu item tag: <webbase:menuItemid="FAQ">

3. Remove this tag completely (both the tagand its contents)

4. Save the file.

5. Check that the HTML link FAQ is nolonger displayed on the Web applicationinterface.

July 2007

Modification of SAP Biller Direct for FI-AR 26

ResultThe HTML link FAQ is no longer displayed on the SAP Biller Direct Web interface.Consequently the Web user can no longer access the different documentation types.

Deactivating an Entry in Application MenuProcedureThe application menu that the Web user uses to operate the SAP Biller Direct interface iscontrolled using the authorization profile that you have defined for that user in the SAPsystem. If the user does not have authorization for the screen Administrative Data, forexample, the system hides this entry from the user’s application menu. For further informationon processing authorizations in the SAP system, see Management of Web Users [Extern].