introduction to bol programming
TRANSCRIPT
Introduction to BOL Programming
(Soon) not just for CRM developers… Roel van den Berge
9 april 2023
Agenda
Web Client UI Framework
BOL Programming
BOL programming examples
Demo Custom GenIL objects: Project Twibap in CRM
Tips, Tricks & useful reads
Q & A
Web Client UI Framework
9 april 2023
BSP
Pre
sen
tatio
n
Laye
r
DesignLayerUI Components
View Controller CRMUIF
ModelContext Design Layer
R
R
CoreBuffer
Entities & Lookups R
BO
L Business Object Layer
Gen
IL
Com
pon
ent
set
GenIL Component
R
Root Object
Object
Object
ObjectObject
Object
Generic Interaction Layer
Business Partner API
Business Transaction API
… API
RRR
Application Programming Interface
Business Data
Bus
ine
ss
Log
ic
BOL advantages
• Uniform and easy-to-use API
• Built-in buffer that speeds up applications
• No hinder from changes in underlying business logic
• Currently optimized to work with the CRM WebUI
• Possibility to model and implement custom business logic
9 april 2023
BOL Programming API
9 april 2023
Starting the BOL Core
9 april 2023
Static Searches / Simple Searches
9 april 2023
Advanced Searches / Dynamic Searches
9 april 2023
Get and Set Properties of an entity
9 april 2023
Create a BP entity using BOL programming
DEMO
9 april 2023
Demo case
• Goal: get tweets of CiberCRM in a table in the WebUI• API: #Twibap• GenIL/BOL:
– Simple Object ZTwitter– Create necessary structures– Implement GenIL class
• Presentation Layer: – Create custom component– Create ZTwitter context nodes in the various parts of the component– Initialize context nodes (read the tweets)– Create view with a table to display tweets
9 april 2023
Code Exchange: Project Twibap
• ABAP OO Twitter API• OAuth• JSON parser• Singleton Instance• Designed to call all available API methods of Twitter• Created by Uwe Fetzer (SE38 consulting)• Extendable by the SDN community
9 april 2023
Demo Custom GenIL objects: Project Twibap in CRM
DEMO
9 april 2023
Useful transactions
• CRMC_UI_PROFILE – Defining Business Roles• SM34: CRMVC_GIL_SO_DEF – Custom GenIL objects• BSP_WD_CMPWB – BSP component workbench• SE80 BSP applications – Custom components• GENIL_MODEL_BROWSER – GenIL relations and attr• GENIL_BOL_BROWSER – Browse BOL entities• SAAB – Checkpoint groups BOL* & GENIL*
9 april 2023
Useful reads
• SAP CRM Web Client – Customizing and Development– SAP Press – Michael Füchsle & Matthias E. Zierke
• BOL Programming & How To BOL– To be found in SAP Marketplace (advanced search -> BOL)
• SCN Wiki: CRM Web Client UI Framework• CRM Web Client UI Framework is available in ERP 6.0
and NetWeaver ABAP– SDN blog by Thorsten Franz
• Twitter! Follow @thorstenster, @wolf_gregor, @thomas_jung, @se38
9 april 2023
Q & A
9 april 2023
Thank you!
Roel van den Berge
Senior SAP NetWeaver Consultant
CIBER Nederland BV
Meerkollaan 15
Postbus 843
5600 AV Eindhoven
M : +31 (0)6 52 65 99 21
O : +31 (0)40 232 90 90
F : +31 (0)40 232 90 91
I : www.ciber.nl
T : @roelvdberge
9 april 2023