SAP GRPC_API_CONTROL_SEARCH2 Function Module for High level API to search controls
GRPC_API_CONTROL_SEARCH2 is a standard grpc api control search2 SAP function module available within SAP R/3 or S/4 Hana systems, depending on your version and release level. It is used for High level API to search controls processing and below is the pattern details for this FM, showing its interface including any import and export parameters, exceptions etc. there is also a full "cut and paste" ABAP pattern code example, along with implementation ABAP coding, documentation and contribution comments specific to this or related objects.
See here to view full function module documentation and code listing for grpc api control search2 FM, simply by entering the name GRPC_API_CONTROL_SEARCH2 into the relevant SAP transaction such as SE37 or SE38.
Function Group: GRPC_API_CONTROL
Program Name: SAPLGRPC_API_CONTROL
Main Program: SAPLGRPC_API_CONTROL
Appliation area:
Release date: N/A
Mode(Normal, Remote etc): Normal Function Module
Update:

Function GRPC_API_CONTROL_SEARCH2 pattern details
In-order to call this FM within your sap programs, simply using the below ABAP pattern details to trigger the function call...or see the full ABAP code listing at the end of this article. You can simply cut and paste this code into your ABAP progrom as it is, including variable declarations.CALL FUNCTION 'GRPC_API_CONTROL_SEARCH2'"High level API to search controls.
EXPORTING
* I_SESSION_ID = "GRPC unique session ID
* I_SEARCH_PATTERN = "Search pattern for the Query APIs
* I_MAX_ROWS = 0 "Natural number
* I_AUTOMATED_ONLY = "Search only automated controls
* I_SKIP_SS_CONSUMER = "Skip Shared service consumers
* I_SKIP_PROCESS_STEP = "Filter out Process Step
I_REGULATION_ID = "GRPC ID of the individual object
IMPORTING
E_RETURN_CODE = "Natural number
TABLES
* IT_ORGUNIT_RANGE = "The range table for object ID
* IT_PROCESS_RANGE = "The range table for object ID
* IT_SUBPROCESS_RANGE = "The range table for object ID
* IT_CONTROL_RANGE = "The range table for object ID
* ET_CONTROL_SRES = "Process hire
* ET_MESSAGE = "Table with BAPI Return Information
IMPORTING Parameters details for GRPC_API_CONTROL_SEARCH2
I_SESSION_ID - GRPC unique session ID
Data type: GRPC_API_SESSION_IDOptional: Yes
Call by Reference: No ( called with pass by value option)
I_SEARCH_PATTERN - Search pattern for the Query APIs
Data type: GRPC_API_SEARCH_PATTERNOptional: Yes
Call by Reference: No ( called with pass by value option)
I_MAX_ROWS - Natural number
Data type: INT4Optional: Yes
Call by Reference: No ( called with pass by value option)
I_AUTOMATED_ONLY - Search only automated controls
Data type: XFELDOptional: Yes
Call by Reference: No ( called with pass by value option)
I_SKIP_SS_CONSUMER - Skip Shared service consumers
Data type: XFELDOptional: Yes
Call by Reference: No ( called with pass by value option)
I_SKIP_PROCESS_STEP - Filter out Process Step
Data type: GRFN_BOOLEANOptional: Yes
Call by Reference: No ( called with pass by value option)
I_REGULATION_ID - GRPC ID of the individual object
Data type: GRPC_API_OBJECT_IDOptional: No
Call by Reference: No ( called with pass by value option)
EXPORTING Parameters details for GRPC_API_CONTROL_SEARCH2
E_RETURN_CODE - Natural number
Data type: INT4Optional: No
Call by Reference: No ( called with pass by value option)
TABLES Parameters details for GRPC_API_CONTROL_SEARCH2
IT_ORGUNIT_RANGE - The range table for object ID
Data type: GRPC_T_RA_API_OBJECT_IDOptional: Yes
Call by Reference: No ( called with pass by value option)
IT_PROCESS_RANGE - The range table for object ID
Data type: GRPC_T_RA_API_OBJECT_IDOptional: Yes
Call by Reference: No ( called with pass by value option)
IT_SUBPROCESS_RANGE - The range table for object ID
Data type: GRPC_T_RA_API_OBJECT_IDOptional: Yes
Call by Reference: No ( called with pass by value option)
IT_CONTROL_RANGE - The range table for object ID
Data type: GRPC_T_RA_API_OBJECT_IDOptional: Yes
Call by Reference: No ( called with pass by value option)
ET_CONTROL_SRES - Process hire
Data type: GRPC_T_API_CONTROL_SRESOptional: Yes
Call by Reference: No ( called with pass by value option)
ET_MESSAGE - Table with BAPI Return Information
Data type: BAPIRETTABOptional: Yes
Call by Reference: No ( called with pass by value option)
Copy and paste ABAP code example for GRPC_API_CONTROL_SEARCH2 Function Module
The ABAP code below is a full code listing to execute function module POPUP_TO_CONFIRM including all data declarations. The code uses the original data declarations rather than the latest in-line data DECLARATION SYNTAX but I have included an ABAP code snippet at the end to show how declarations would look using the newer method of declaring data variables on the fly. This will allow you to compare and fully understand the new inline method. Please note some of the newer syntax such as the @DATA is not available until a later 4.70 service pack (SP8), which i why i have stuck to the origianl for this example.| DATA: | ||||
| lv_i_session_id | TYPE GRPC_API_SESSION_ID, " | |||
| lv_e_return_code | TYPE INT4, " | |||
| lt_it_orgunit_range | TYPE STANDARD TABLE OF GRPC_T_RA_API_OBJECT_ID, " | |||
| lt_it_process_range | TYPE STANDARD TABLE OF GRPC_T_RA_API_OBJECT_ID, " | |||
| lv_i_search_pattern | TYPE GRPC_API_SEARCH_PATTERN, " | |||
| lv_i_max_rows | TYPE INT4, " 0 | |||
| lt_it_subprocess_range | TYPE STANDARD TABLE OF GRPC_T_RA_API_OBJECT_ID, " | |||
| lt_it_control_range | TYPE STANDARD TABLE OF GRPC_T_RA_API_OBJECT_ID, " | |||
| lv_i_automated_only | TYPE XFELD, " | |||
| lt_et_control_sres | TYPE STANDARD TABLE OF GRPC_T_API_CONTROL_SRES, " | |||
| lv_i_skip_ss_consumer | TYPE XFELD, " | |||
| lt_et_message | TYPE STANDARD TABLE OF BAPIRETTAB, " | |||
| lv_i_skip_process_step | TYPE GRFN_BOOLEAN, " | |||
| lv_i_regulation_id | TYPE GRPC_API_OBJECT_ID. " |
|   CALL FUNCTION 'GRPC_API_CONTROL_SEARCH2' "High level API to search controls |
| EXPORTING | ||
| I_SESSION_ID | = lv_i_session_id | |
| I_SEARCH_PATTERN | = lv_i_search_pattern | |
| I_MAX_ROWS | = lv_i_max_rows | |
| I_AUTOMATED_ONLY | = lv_i_automated_only | |
| I_SKIP_SS_CONSUMER | = lv_i_skip_ss_consumer | |
| I_SKIP_PROCESS_STEP | = lv_i_skip_process_step | |
| I_REGULATION_ID | = lv_i_regulation_id | |
| IMPORTING | ||
| E_RETURN_CODE | = lv_e_return_code | |
| TABLES | ||
| IT_ORGUNIT_RANGE | = lt_it_orgunit_range | |
| IT_PROCESS_RANGE | = lt_it_process_range | |
| IT_SUBPROCESS_RANGE | = lt_it_subprocess_range | |
| IT_CONTROL_RANGE | = lt_it_control_range | |
| ET_CONTROL_SRES | = lt_et_control_sres | |
| ET_MESSAGE | = lt_et_message | |
| . " GRPC_API_CONTROL_SEARCH2 | ||
ABAP code using 7.40 inline data declarations to call FM GRPC_API_CONTROL_SEARCH2
The below ABAP code uses the newer in-line data declarations. This allows you to see the coding differences/benefits of the later inline syntax. Please note some of the newer syntax below, such as the @DATA is not available until 4.70 EHP 8.Search for further information about these or an SAP related objects