- ZI_TF_WFLevel
@EndUserText.label: 'Workflow Level'
define table function ZI_TF_WFLevel
//with parameters parameter_name : parameter_type
returns
{
key client : mandt;
key typeid : sibftypeid;
key instid : sibfboriid;
key zlevel : int1;
key wi_id : sww_wiid;
top_wi_id : swfrtwiid;
wi_rh_task : sww_task;
wi_release : sysaprl;
crea_tmp : swfrcrets;
catid : sibfcatid;
}
implemented by method
zclmm_amdp_wfrank=>get_data;
2. zclmm_amdp_wfrank
CLASS zclmm_amdp_wfrank DEFINITION
PUBLIC
FINAL
CREATE PUBLIC .
PUBLIC SECTION.
INTERFACES if_amdp_marker_hdb.
CLASS-METHODS get_data FOR TABLE FUNCTION ZI_TF_WFLevel.
PROTECTED SECTION.
PRIVATE SECTION.
ENDCLASS.
CLASS zclmm_amdp_wfrank IMPLEMENTATION.
METHOD get_data
BY DATABASE FUNCTION FOR HDB
LANGUAGE SQLSCRIPT
OPTIONS READ-ONLY
USING sww_wi2obj.
declare lv_client "$ABAP.type( mandt )" ;
lv_client = session_context( 'CLIENT' );
t_query = SELECT
client,
typeid,
instid,
RANK ( ) OVER ( PARTITION BY client, typeid, instid
ORDER BY crea_tmp ) AS zlevel,
wi_id,
top_wi_id,
wi_rh_task,
wi_release,
crea_tmp,
catid
FROM sww_wi2obj
WHERE client = :lv_client
AND wi_rh_task LIKE 'TS%'
AND typeid <> 'SOFM';
RETURN
select *
from :t_query;
endmethod.
ENDCLASS.