Start Conigma CCM from external Tools
Functional Scope
If you want to start Conigma CCM from external tools including navigation to specific objects, you can use the class /GAL/CCM_SHORTCUT_UTILITIES. The class contains only one static method with the name RUN_WITH_SHORTCUT. If Conigma CCM should be started without navigating to a specific target object, you may also use the class /GAL/CCM_APPLICATION, which offers the instance method RUN to start the application.
Alternatively, you can use the remote-enabled function module /GAL/CCM_REP_BROWSER_START if you want to call Conigma CCM from a system in which Conigma itself is not installed.
The table below shows the definition of method /GAL/CCM_SHORTCUT_UTILITIES=>RUN_WITH_SHORTCUT.
Parameter | Parameter type | Data type | Default value | Description |
---|---|---|---|---|
REPOSITORY | Optional import parameter | REF TO /GAL/CCM_CRO_REPOSITORY | Instance of a repository. Either a repository instance or the repository ID must be specified for the call. | |
REPOSITORY_ID | Optional import parameter | /GAL/CCM_DE_REPOSITORY_ID | Object ID of the repository. Either a repository instance or the repository ID must be specified for the call. | |
OBJECT_TYPE | Import parameter | /GAL/CCM_DE_OBJET_TYPE | Object type name of the target object, for example, "SWFM_CR" for a change. The object type instances are defined in the class /GAL/CCM_OBJECT_TYPES. | |
OBJECT_ID | Optional import parameter | /GAL_CCM_DE_OBJECT_ID | Optional specification of the object ID of the target object. To access the target object, either the object ID, the internal ID, or the external ID must be specified. | |
INTERNAL_ID | Optional import parameter | /GAL/CCM_DE_INTERNAL_ID | Optional specification of the internal ID of the target object. To access the target object, either the object ID, the internal ID, or the external ID must be specified. | |
EXTERNAL_ID | Optional import parameter | /GAL/CCM_DE_EXTERNAL_ID | Optional specification of the external ID of the target object. To access the target object, either the object ID, the internal ID, or the external ID must be specified. | |
OBJECT_PROVIDER_ID | Optional import parameter | /GAL/CCM_DE_INTERNAL_ID | 000 | This parameter can be used to specify the internal ID of the Repository Object Provider or the view in which the desired target object is to be searched. By default, the view "Change Requests by Status" is accessed using the internal ID "000". |
OBJECT_PARENT_PROVIDER_ID | Optional import parameter | /GAL/CCM_DE_INTERNAL_ID | PROJECTS | If the view with the target object is not a subobject of the repository, you can use this parameter to specify the ID of the higher-level view. The value is preset with the internal ID "PROJECTS" of the view "Project and Release Development". If the view with the target object is a direct child object of the repository, this parameter can be set to an initial value or the value of the parameter OBJECT_PROVIDER_ID. |
TEMPORARY_VIEW | Optional import parameter | /GAL/CCM_DE_TEMPORARY_VIEW | ABAP_FALSE | Optional specification of an indicator (ABAP_TRUE or ABAP_FALSE) whether the target object is to be displayed in a temporary folder. |
TEMPORARY_VIEW_DESCRIPTION | Optional import parameter | /GAL/CCM_DE_DESCRIPTION | Optional specification of the description of the temporary folder if the import parameter TEMPORARY_VIEW is set. The description supports a maximum of 60 characters. | |
/GALCX_CCM_EXCEPTION | Exception | Exception that is thrown if an error occurs. The following error scenarios are possible:
|
The table below shows the definition of the remote-enabled function module /GAL/CCM_REP_BROWSER_START.
Parameter | Parameter type | Data type | Default value | Description |
---|---|---|---|---|
REPOSITORY_ID | Import parameter | NUMC10 | Object ID of the repository. | |
OBJECT_TYPE | Import parameter | CHAR10 | Object type name of the target object, for example, "SWFM_CR" for a change. The object type instances are defined in the class /GAL/CCM_OBJECT_TYPES. | |
OBJECT_ID | Optional import parameter | NUMC10 | Optional specification of the object ID of the target object. To access the target object, either the object ID, the internal ID, or the external ID must be specified. | |
INTERNAL_ID | Optional import parameter | CHAR30 | Optional specification of the internal ID of the target object. To access the target object, either the object ID, the internal ID, or the external ID must be specified. | |
EXTERNAL_ID | Optional import parameter | CHAR20 | Optional specification of the external ID of the target object. To access the target object, either the object ID, the internal ID, or the external ID must be specified. | |
OBJECT_PROVIDER | Optional import parameter | CHAR30 | 000 | This parameter can be used to specify the internal ID of the Repository Object Provider or the view in which the desired target object is to be searched. By default, the view "Change Requests by Status" is accessed using the internal ID "000". |
PARENT_OBJECT_PROVIDER | Optional import parameter | CHAR30 | PROJECTS | If the view with the target object is not a subobject of the repository, you can use this parameter to specify the ID of the higher-level view. The value is preset with the internal ID "PROJECTS" of the view "Project and Release Development". If the view with the target object is direct child of the repository, this parameter can be set to an initial value or the value of the parameter OBJECT_PROVIDER_ID. |
TEMPORARY_VIEW | Optional import parameter | FLAG | Optional specification of an indicator (ABAP_TRUE or ABAP_FALSE) whether the target object is to be displayed in a temporary folder. | |
TEMPORARY_VIEW_DESCRIPTION | Optional import parameter | STRING | Optional specification of the description of the temporary folder if the import parameter TEMPORARY_VIEW is set. The description supports a maximum of 60 characters. | |
RETURN | Export parameter | BAPIRET2_T | The export table RETURN contains any error messages that may have occurred. |
The derivation in which view the navigation target is to be displayed can also be performed case-dependently using expressions at repository level, for example, that completed change requests are displayed in a temporary folder and open change requests in the view "Change Requests by Status". If you want to decide case-dependent in which view the target object should be displayed, please contact your Conigma CCM contact person.
Exemplary implementation
It is assumed that a change request is to be searched for in the view "Change Request by Status" with the external ID "0000000699" in the repository with the ID "0000000002". The following examples can be used for the call. In example 1, the call is made using the class /GAL/CCM_SHORTCUT_UTILITIES and in example 2, the call is made using the function module /GAL/CCM_REP_BROWSER_START.
Example 1:
TYPE-POOLS abap.
DATA l_external_id TYPE /GAL/CCM_DE_EXTERNAL_ID.
DATA l_repository_id TYPE /GAL/CCM_DE_REPOSITORY_ID.
l_external_id = `0000000699`.
l_repository_id = `0000000002`.
TRY.
/gal/ccm_shortcut_utilities=>run_with_shortcut( EXPORTING repository_id = l_repository_id object_type = /gal/ccm_object_types=>change external_id = l_external_id temporary_view = abap_true ).
CATCH /gal/cx_ccm_exception.* Exception handling.ENTRY.
Example 2:
TYPE-POOLS abap.
DATA l_external_id TYPE /gal/ccm_de_external_id.
DATA l_repository_id TYPE /gal/ccm_de_repository_id.
DATA lt_return TYPE bapiret2_t.
l_external_id = `0000000699`.
l_repository_id = `0000000002`.
CALL FUNCTION '/GAL/CCM_REP_BROWSER_START'
EXPORTING
repository_id = l_repository_id
object_type = /gal/ccm_object_types=>change
external_id = l_external_id
temporary_view = abap_true
IMPORTING
return = lt_return.
DESCRIBE TABLE lt_return LINES sy-tfill.
IF sy-tfill > 0.
Exception handling
ENDIF.