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%20screen%20of%20CRM%20Billing%20document%20in%20/bea/crmb11

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’.

Let’s say it Z_CRMB_GOS_ACTIVATE

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%20BD_UHSD3

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
       EXPORTING
         is_object        = ls_borident
         ip_no_commit     = abap_false
       EXCEPTIONS
         object_invalid   = 1
         callback_invalid = 2.
     IF sy-subrc NE 0.
       RETURN.
     ENDIF.
   ENDIF.
 ENDIF.

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 https://answers.sap.com/tags/250532329420517083811872973551597

And read other posts on CRM billing topic as below. https://blogs.sap.com/tags/250532329420517083811872973551597/

Sara Sampaio

Sara Sampaio

Author Since: March 10, 2022

0 0 votes
Article Rating
Subscribe
Notify of
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x