cancel
Showing results for 
Search instead for 
Did you mean: 

How to call BP transaction directly to the commercial view

Nahuel-Gil
Discoverer
0 Kudos
402

Hello experts!

I am using the following code to access the BP transaction using a customer number that has been clicked by the user:

 

  METHOD hotspot_click.

    CASE e_column_id-fieldname.
      WHEN 'KUNNR'.

        DATA: lt_return TYPE STANDARD TABLE OF bapiret2,
              ls_role   TYPE bus_roles.

        DATA(ls_output)  = gt_output[ e_row_id-index ].
        DATA(lo_request) = NEW cl_bupa_navigation_request( ).

        lo_request->set_partner_number( ls_output-kunnr ).
        lo_request->set_bupa_activity( '03' ). " Display

        ls_role-role = 'ZC001'. " Clients/Debtors
        lo_request->set_bupa_partner_role( ls_role ).
        lo_request->set_bupa_sub_header_id( 'ZC001' ).

        " Display general data by default
        lo_request->set_maintenance_id( 'B' ).

        " Set start-up options
        DATA(lo_options) = NEW cl_bupa_dialog_joel_options( ).

        " Start the transaction with an invisible locator
        lo_options->set_locator_visible( space ).

        " Open New BDT Instance for display of selected partner
        CALL METHOD cl_bupa_dialog_joel=>start_with_navigation
          EXPORTING
            iv_request              = lo_request
            iv_options              = lo_options
            iv_in_new_internal_mode = abap_true
          EXCEPTIONS
            already_started         = 1
            not_allowed             = 2
            OTHERS                  = 3.

      WHEN OTHERS.
    ENDCASE.

  ENDMETHOD.

 

The code works perfectly and allows me to display the general customer data in the BP transaction.

However, I want to modify this code to navigate directly to the customer's business data.

I have seen that by modifying the maintenance_id parameter it navigates to the customer information within the BP transaction, but I have not found any value for this parameter that allows me to display the ‘Commercial’ tab.

Isidro_2-1726041754802.png

Does anyone know where I can see the available values for maintenance_id or if there is an alternative?

Thanks in advance!

View Entire Topic
raymond_giuseppi
Active Contributor
0 Kudos

Did you already try method SET_LOCATOR_ACTIVE_TAB of CL_BUPA_DIALOG_JOEL_OPTIONS ?

Nahuel-Gil
Discoverer
0 Kudos

Hi Raymond,  

I assume you mean add the following line of code; lo_options-set_locator_active_tab( ‘X’ ).

I have tried entering different values in ‘X’, but it doesn't change the execution of my program. It still shows the BP transaction with the general data.

I still have the same problem, I don't know how to access the possible values that X can take.

raymond_giuseppi
Active Contributor
0 Kudos
Look at report BUSSTART or use a where-used search on the class.