1.39k likes | 1.68k Views
Workshop Business Data Toolset (BDT). Carsten Köhler Ralf Irrgang. Contents :. 1 Overview 2 Development with BDT 3 Screen Layout 4 Screen Sequences 5 Program Logic 6 GUI Menu 7 Field Grouping 8 Search Help 9 Change Document Evaluation 10 Archiving in the Context of the BDT
E N D
WorkshopBusiness Data Toolset (BDT) Carsten KöhlerRalf Irrgang
Contents: 1 Overview 2 Development with BDT 3 Screen Layout 4 Screen Sequences 5 Program Logic 6 GUI Menu 7 Field Grouping 8 Search Help 9 Change Document Evaluation 10 Archiving in the Context of the BDT 11 Editing Mode 12 Calling Maintenance 13 Future Developments
Business Data Toolset (BDT): • Definition: Toolset for master data and simple transaction data
Design Targets: • Extensibility • Configurability • Divisibility • Alternative user interfaces • Usability • Quicker development • Generic BDT services
Extensibility • Tables • Append/Include structures • Own tables • Screen layout and screen sequence • Program logic • Event technique • Field checks • Data retention
DevtPartner1 IS-U IS-B MM C u Central Data FI SD s t. TR-TM IS-IS DevtPartner2 Customer Extensibility : Development cycle Without modifications Developmentspread over various systems DevtP. DevtP. MM C SD u C IBS R s IBS FI Central Data M t. TR SEM DevtPartner Customer
Name Form of address 01 First name Otto Partner Last name Tester Form of address First name Last name Address Street/Number Lindenstrasse 10 Postcode/City 69121 Heidelberg Delivery district 123456 Transport zone 1122 Configurability - Screen Layout Change Business Partner: Address Partner TESTER SAP BP Street/Number BAS Postcode/City Delivery district SD Transport zone
ConfigurabilityCustomizing Screen Layout/Sequence • Configuration via Drag&Drop (Visual Basic) • Screen layout and screen sequence • Technique • Subscreens • Generation of screen containers
Divisibility • Depending on business criteria, objects can be split into parts. These parts can be maintained individually. • Choices • Each object can be created in one or several object parts.Example: A business partner can assume different BP roles. A range of attributes is assigned to each BP role. • Each object can be created in just one object part • Each object is always created as one whole part, no divisibility is required.Example: A contract account is always maintained with all attributes.
Alternative User Interfaces SAPGUI WEB Visual Basic etc. Function Module Direct Input Check CHECK DataRetention Function Module DB_UPDATE
Others ... ApplObject ???? SAP BP ApplObject BUPA ClaimsCapture ApplObject ICL SAP BP- Relationships IS-REContract Bank Account ContractAccount ApplObject BUPR ApplObject RECN ApplObject FICA ApplObject BKK Usability With Any Object BDT
Development: WithoutBDT Data Transfer Processing Transactions Change Document Evaluations Field Grouping Service Authori-zations Notes
Quicker Development: With BDT Data Transfer Processing TA Service Field Grouping Change Doc. Eval. Authorizations Notes Central BDT service Less development work
Generic BDT Services • Direct Input • Field control (optional, required, hide) • Transfer mode • Time dependency (interval calculation) • Change documents (scheduled change documents) • Notes • Authorizations • Archiving • Deletion programs
Application Objects Bank Account (BKKA) SAP BP Relationships (BUPR) SAP BP (BUPA) Contract Account (FICA) Others... ... How the Business Data Toolset (BDT) Is Positioned BDT SAP Basis (DDIC, Development Environment, ABAP...)
Application Objects SAP BP ApplObj BUPA Applications SAP Application I SAP Application II Customer Function Group FuMo FuMo FuMo Sub-screen Sub-screen Sub-screen Fubau Fubau Fubau Sub-screen Sub-screen Sub-screen BDT - Where does Application Development Take Place? Function Group Function Group
Applications • Applications are assigned to application objects • The following can be applications • SAP component • Development partner • Customer • Separate function group per application • Decoupling • Communication with the BDT via event modules • Communication between applications with GET modules
SAP BP (BUPA) Applications SAP Application I SAP Application II Customers Development DDIC Development WB BDT Control Tables Overview: Development with the BDT
Table: BUT000 ... ... ... Applications Append ZZ_... SAP Application I SAP Application II Customers ZZ_... Table: ZZ_... ... ... ... ... ... ... BDT/Development: Data Dictionary Development in the DDIC
Tables • Existing tables can be extended by • INCLUDES • APPENDS • New tables can be created and integrated into the maintenance • For each table there is • an owning application • several participating applications
ISSTA ISDAT ISDST ... GET Collect Dynpros PBO Module PAI Module Function Modules ... • PBO ..._PBC_.. • ... ..._PBO_.. ..._PAI_.. • PAI ... • ... BDT/Development: Development Workbench Function Group Events per application Events per table Program logic • 0010 First Contact Events per view
ISSTA ISDAT ISDST FCODE XCHNG DCHCK DSAVB DTAKE DSAVC DSAVE DLVE1 DLVE2 BDT/Development: DWB - Events per Application • ISSTA Initialization • ISDAT Read data from DB • ISDST Distribute data to participating applications • FCODE Edit own function code • XCHNG Check whether data changed • DCHCK Check before saving • DSAVB Collect data with owning application • DTAKE Note data in global memory • DSAVC Complete data (get internal number) • DSAVE Save data in DB • DLVE1 Initialize current memory • DLVE2 Initialize global memory
Participating Application Owning Application ..._GET Participating Application ..._COLLECT Call Data Flow BDT/Development: DWB - Events per Table Communication: • via Get and • Collect Modules Call Data Flow
Geschäftspartner ändern: Anschrift Partner TESTER Name Anrede 01 Vorname Otto Nachname Tester Anschrift Straße/Hausnr Lindenstraße 10 69121 Heidelberg Postleitzahl/Ort ZZ_... Date of first contact Rating of first contact BDT/Development: DWB - Events per View • Create subscreen with Screen Painter • Activate screen type: “subscreen” • Create layout • Flow logic • PBO module call • PAI module call • Events - create function modules per view • Create FuMo “before the screen call“ • Create FuMo “before output” • Create FuMo “after input” BUS_PBO BUS_PAI
Tables: Exercises • Create the APPEND structure ZBUT000 for the table BUT000 with the fields • ZZCNT_FIRST Date of the first contact • ZZCNTID Rating of the first contact • Create table ZBUTHOBBY with the fields • CLIENT Client Key • PARTNER Partner number Key • HOBBY Hobby Key
Screen Layout: Targets • Extensions and changes to screens are possible • Add other fields • in new frames • in existing frames • Assign fields differently, even between screens • Merge screens • No changes to Development Workbench objects • of BDT • of other applications
Screen Layout: Screen->Section->View Change Partner: Address • A screen contains one or several sections • A section contains one or several views • A view is presented by a subscreen View 1 Section 1 View 2 View 3 Screen 1 View 4 Section 2 View 5 View 6 View 7 Section 3 View 8
Screen Layout: View (Definition) • Properties are summarized in a view if they • belong together from a content point of view • are tested together • View = Subscreen • View belongs to an application • Assignment view --> field groups (field grouping) • Multiple usage of views in object parts is possible (Example: BP roles)
Screen Layout: View (Attributes) • Event function module • Before output (PBO): Display explanatory texts, ... • After entry (PAI): Field checks, ... • Before screen call (PBC): Sort table, begin display with first entry • Only display view if • the application of the view is active • the view is assigned to the maintaining object part/s • Processing logic of subscreen • Call function module BUS_PBO in PBO (field grouping, messages) • Call function module BUS_PAI in PAI (determine cursor position)
Screen Layout: View (Further Checks) • Owning application of view • Carry out checks in a function module • Define name of function modules in the attributes of a view • All other applications • Carry out checks in an own function module • Add name of function module under "Further checks" • Important note: • Output all error messages via message handler (function module BUS_MESSAGE_STORE)
Screen Layout: Section • Assignment section --> views • Sequence of views by way of position numbers • Frame around a section (exception: header data) • Frame title for each section
Screen Layout: Screen • Assignment Screen --> Sections • Sequence of sections by way of position numbers • Presentation as • normal screen (full screen) • modal dialog box (popup) • Screen title for each screen • External screens (not created with BDT)
Screen Layout: Screen Containers • Consist of subscreen areas and frames (section frames) • Assignment screen --> screen container • When the screen layout is saved, the system automatically • looks for a matching screen container • generates a new screen container, if required • Transport: Determination of the screen container is conducted during import of data (AFTER_IMP-Method) • Restriction: Only subscreens among themselves
Screen Layout: Procedure Change Business Partner: • Empty screen container for screen B1
Screen Layout: Procedure Change Business Partner: Address • Empty screen container for screen B1 • Include screen title in screen container title
Screen Layout: Procedure Change Business Partner: Address • Empty screen container for screen B1 • Include screen title in screen container title • Fill 1st view for 1st section Partner TESTER
Screen Layout: Procedure Change Business Partner: Address • Empty screen container for screen B1 • Include screen title in screen container title • Fill 1st view for 1st section • Present title of 2nd section Partner TESTER Name
Screen Layout: Procedure Change Business Partner: Address • Empty screen container for screen B1 • Include screen title in screen container title • Fill 1st view for 1st section • Present title of 2nd section • Fill 1st view for 2nd section Partner TESTER Name Form of addr. 01
Screen Layout: Procedure Change Business Partner: Address • Empty screen container for screen B1 • Include screen title in screen container title • Fill 1st view for 1st section • Present title of 2nd section • Fill 1st view for 2nd section • Fill 2nd view for 2nd section Partner TESTER Name Form of addr. 01 First name Otto Last name Tester
Screen Layout: Procedure Change Business Partner: Address • Empty screen container for screen B1 • Include screen title in screen container title • Fill 1st view for 1st section • Present title of 2nd section • Fill 1st view for 2nd section • Fill 2nd view for 2nd section • Present title of 3rd section Partner TESTER Name Form of addr. 01 First name Otto Last name Tester Address
Screen Layout: Procedure Change Business Partner: Address • Empty screen container for screen B1 • Include screen title in screen container title • Fill 1st view for 1st section • Present title of 2nd section • Fill 1st view for 2nd section • Fill 2nd view for 2nd section • Present title of 3rd section • Fill 1st view for 3rd section Partner TESTER Name Form of addr. 01 First name Otto Last name Tester Address Street/number Lindenstraße 10 Postcode/City 69121 Heidelberg
Screen Layout: Procedure Change Business Partner: Address • Empty screen container for screen B1 • Include screen title in screen container title • Fill 1st view for 1st section • Present title of 2nd section • Fill 1st view for 2nd section • Fill 2nd view for 2nd section • Present title of 3rd section • Fill 1st view for 3rd section • Compress screen Partner TESTER Name Form of addr. 01 First name Otto Last name Tester Address Street/number Lindenstraße 10 Postcode/City 69121 Heidelberg
Screen Layout: Exercise 1 • Within your function group create two screens (screen category = subscreen!) and incorporate these into the dialog. • Screen 0010 • Include fields of APPEND structure ZBUT000 • Create function modules Before output and After entry • Create view ZCUS10 • Create section ZCUS10 • Include section ZCUS10 in screen BUP500 • Screen 0020 • Include fields of table ZBUTHOBBY (Hobbies) • Create function module Before screen call • Create view ZCUS20 • Create section ZCUS20 • Include section ZCUS20 in screen BUP500
Screen Layout: Exercise 2 • Within your function gorup, create a function module, that checks that the last name of a person contains at least one vowel. Include this funtion module as a further check in view BUP300. • Create function module Z_ZCUS_BUPA_PAI_BUP300 • Include function module as further check for view BUP300
Screen Sequences: Targets • Screen sequences at any level • Individual additional screens • Extend screen sequences to include new screens • Integrate screens not created with BDT • Change sequence of screens within a screen sequence • Navigation between screen sequences/screens with BDT • Tabstrips • Divisibility: optimum screen sequence for each object part
Screen Sequences: Overview Addl scrn seq. 2 Addl scrn seq. 1 Previous Screen Deletion Flags Lock Bank Data Next Screen Other Data Back Back Bank Data Back Other Data Main screen seq. Previous Screen Bank Details Initial Screen Address ENTER Next Screen