CRM and CX Blogs by Members
Find insights on SAP customer relationship management and customer experience products in blog posts from community members. Post your own perspective today!
Showing results for 
Search instead for 
Did you mean: 
0 Kudos
Summary : In SAP CRMB Billing engine Framework, we don't have GOS (Generic Object Services) toolbar available in a SAP standard solution.

We received a requirement to create an attachment and save the IDOC information when some action gets executed for a billing document in the system. It was required to store the PDF document and outbound IDOC information against each billing document. Not but not the least, it should be available to the user for reference purpose. We reasoned that the GOS toolbar could offer a more convenient way to store the data and access it quickly.

Standard screen of CRM Billing document in /bea/crmb11


Solution : I would like to share how we achieved the functionality by doing some configuration and writing a piece of code in following steps.


Configuration needs to be done in T-code BEFN for

Application CRMB : CRM Billing,

Object : BD


Now Switch to All Features


And create new Feature

Let's say feature name is ZCRMB_GOS


Further create new subscription

Let's say subscription name as ZSUB_GOS

Assign include (which needs to be created in SE38) and Subscription type as ‘A’.


Now activate the feature

Add new entry for the event BD_UHSD3 at the following path

CRMB ->Object ->BD  ->Function Group ->User Interface Layer ->Function Module ->HD_SHOWDETAIL ->Event ->BD_UHSD3 ->Subscription(ZSUB_GOS)

Event BD_UHSD3


Don't forget to create include Z_CRMB_GOS_ACTIVATE in SE38

Code Snippet for GOS toolbar.
CONSTANTS : lc_appl_crmb TYPE bef_appl VALUE 'CRMB'.
DATA: lr_gos_manager TYPE REF TO cl_gos_manager.

IF is_bdh-headno_ext IS NOT INITIAL.
DATA(ls_borident) = VALUE borident( objkey = CONV swo_typeid( is_bdh-headno_ext && lc_appl_crmb )
objtype = is_bdh-objtype ).
IF ls_borident IS NOT INITIAL.
*Creating GOS object in Billing Header
CREATE OBJECT lr_gos_manager
is_object = ls_borident
ip_no_commit = abap_false
object_invalid = 1
callback_invalid = 2.
IF sy-subrc NE 0.

And as a final step generate the Application CRMB to get reflected all the config changes

Open any billing document in /bea/crmb11 to see the changes. We can see upper left the GOS toolbar has started appearing.


Further we can see all the options are available related to toolbar and can be utilized for further requirement.


Conclusion : Though SAP standard doesn't provide GOS functionality for billing document but we can enable it by making some configuration changes along with few lines of code.

The subsequent step, which I'd describe in my following blog post, would be to display GOS toolbar data on the CRM WebUI screen, including attachments and other stuff. Please continue to follow along and leave us a comment with any advice or insightful ideas.

Please follow the CRM Billing post and answer questions by visiting following link

And read other posts on CRM billing topic as below.


Thanks again for reading the document. I really appreciate your time.