Professional Documents
Culture Documents
type
slis_fieldcat_alv,
st_keyinfo
st_sort
st_events
st_layout
st_excluding
data : itab_fldcat
itab_variant
itab_sort
itab_events
type
type
type
type
type
type
like
type
type
slis_keyinfo_alv,
slis_sortinfo_alv,
slis_alv_event,
slis_layout_alv,
slis_extab.
slis_t_fieldcat_alv,
disvariant occurs 0 with header line,
slis_t_sortinfo_alv,
slis_t_event.
t_outtab-WI_CT = workitem1-WI_CT.
*Workitem Completion Date
t_outtab-WI_CD_FTD = workitem1-WI_CD_FTD.
*Workitem Completion Time
t_outtab-WI_CT_FTD = workitem1-WI_CT_FTD.
*-----------------------------------------------------------*
*Workitem Status
t_outtab-WI_STAT = workitem1-WI_STAT.
*Workitem Status Text
t_outtab-STATUSTEXT = workitem1-STATUSTEXT.
*-----------------------------------------------------------*
*Workitem Agent
t_outtab-WI_AAGENT = workitem1-WI_AAGENT.
*Workitem Agent Name
t_outtab-WI_AA_NAME = workitem1-WI_AA_NAME.
*-----------------------------------------------------------*
*Workflow Template
t_outtab-WI_RH_TASK = workitem1-WI_RH_TASK.
*Workflow Template Desc
t_outtab-WI_RHTEXT = workitem1-WI_RHTEXT.
*Get BO From container elements for workitems
CALL FUNCTION 'SWW_WI_CONTAINER_READ_OBJECTS'
EXPORTING
wi_id
= workitem1-wi_id
IMPORTING
ibf_objects
= ibf_object
EXCEPTIONS
no_objects_found = 1
OTHERS
= 2.
IF sy-subrc <> 0.
ENDIF.
*PO Number
READ TABLE ibf_object into wa_ibf_object index 1.
t_outtab-EBELN = wa_ibf_object-INSTID.
t_outtab-TYPEID = wa_ibf_object-TYPEID.
Append t_outtab.
ENDLOOP.
ENDIF.
*&---------------------------------------------------------------------*
END-OF-SELECTION.
*Prepare ALV Catalog
*Fill field catalog details:
perform fieldcat_init using FIELD_CAT[].
*Get ALV Events
** Populate Events table
perform alv_prepare_event_list.
** modify events table.
perform alv_modify_event_list.
*Call ALV Grid Function
* display the list using alv
perform display.
*---------------------------------------------------------------------*
*
FORM DISPLAY
*
*---------------------------------------------------------------------*
*
........
*
*---------------------------------------------------------------------*
form display.
data item like ekko occurs 0 with header line.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM
= sy-repid
IT_FIELDCAT
= field_cat
IT_EVENTS
= itab_events
TABLES
t_outtab
= t_outtab
EXCEPTIONS
PROGRAM_ERROR
= 1
OTHERS
= 2
.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
endform.
*&---------------------------------------------------------------------*
*Display Workflow log: When Workitem text is clicked, display workflow
*log
*&---------------------------------------------------------------------*
*&
Form USER_COMMAND
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
*
-->R_UCOMM
text
*
-->RS_SELFIELD text
*----------------------------------------------------------------------*
FORM user_command USING r_ucomm LIKE sy-ucomm
rs_selfield TYPE slis_selfield.
DATA v_row TYPE slis_selfield-tabindex.
DATA element_ibf_object LIKE sibflporb .
DATA object TYPE swotobjid.
*Data r_ucomm like sy-ucomm.
CASE r_ucomm.
WHEN '&IC1'.
IF rs_selfield-fieldname = 'WI_TEXT'.
v_row = rs_selfield-tabindex.
READ TABLE t_outtab INDEX v_row.
CALL FUNCTION 'SWL_WI_DISPLAY'
EXPORTING
wi_id
= t_outtab-wi_id
show_steplog = 'X'.
CLEAR: v_row.
ELSEIF rs_selfield-fieldname = 'EBELN'.
SET PARAMETER ID 'RID' FIELD t_outtab-EBELN.
CALL TRANSACTION 'ME23' AND SKIP FIRST SCREEN.
ENDIF.
ENDCASE.
ENDFORM.
*&---------------------------------------------------------------------*
*&
Form fieldcat_init
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
*
-->P_GT_FIELDCAT[] text
*----------------------------------------------------------------------*
FORM fieldcat_init USING
P_FIELDCAT type SLIS_T_FIELDCAT_ALV.
data: L_FIELDCAT type slis_fieldcat_alv.
data : pos type i value 1.
*Workitem ID:
clear L_FIELDCAT.
l_fieldcat-col_pos
l_fieldcat-fieldname
l_fieldcat-SELTEXT_M
append l_fieldcat to
= POS.
= 'WI_ID'.
= 'Workitem ID'.
p_fieldcat.
*Workitem TYPE:
clear L_FIELDCAT.
l_fieldcat-col_pos
l_fieldcat-fieldname
l_fieldcat-SELTEXT_M
append l_fieldcat to
= POS.
= 'WI_TYPE'.
= 'Workitem Type'.
p_fieldcat.
*Workitem TEXT:
clear L_FIELDCAT.
l_fieldcat-col_pos
l_fieldcat-fieldname
l_fieldcat-SELTEXT_M
append l_fieldcat to
= POS.
= 'WI_TEXT'.
= 'Workitem Text'.
p_fieldcat.
*Creation Date:
pos = pos + 1.
clear l_fieldcat.
l_fieldcat-col_pos
l_fieldcat-fieldname
l_fieldcat-SELTEXT_M
append l_fieldcat to
= POS.
= 'WI_CD'.
= 'Creation Date'.
p_fieldcat.
*Creation Time:
pos = pos + 1.
clear l_fieldcat.
l_fieldcat-col_pos
l_fieldcat-fieldname
l_fieldcat-SELTEXT_M
append l_fieldcat to
= POS.
= 'WI_CT'.
= 'Creation Time'.
p_fieldcat.
*Completion Date:
pos = pos + 1.
clear l_fieldcat.
l_fieldcat-col_pos
l_fieldcat-fieldname
l_fieldcat-SELTEXT_M
append l_fieldcat to
= POS.
= 'WI_CD_FTD'.
= 'Completion Date'.
p_fieldcat.
*Completion Time:
pos = pos + 1.
clear l_fieldcat.
l_fieldcat-col_pos
l_fieldcat-fieldname
l_fieldcat-SELTEXT_M
append l_fieldcat to
= POS.
= 'WI_CT_FTD'.
= 'Completion Time'.
p_fieldcat.
*Status:
pos = pos + 1.
clear l_fieldcat.
l_fieldcat-col_pos
l_fieldcat-fieldname
l_fieldcat-SELTEXT_M
append l_fieldcat to
= POS.
= 'WI_STAT'.
= 'WI Status'.
p_fieldcat.
*Status Text:
pos = pos + 1.
clear l_fieldcat.
l_fieldcat-col_pos
l_fieldcat-fieldname
l_fieldcat-SELTEXT_M
append l_fieldcat to
= POS.
= 'STATUSTEXT'.
= 'WI Status Text'.
p_fieldcat.
*Agent:
pos = pos + 1.
clear l_fieldcat.
l_fieldcat-col_pos
l_fieldcat-fieldname
l_fieldcat-SELTEXT_M
append l_fieldcat to
= POS.
= 'WI_AAGENT'.
= 'WI Agent'.
p_fieldcat.
*Agent Name:
pos = pos + 1.
clear l_fieldcat.
l_fieldcat-col_pos
l_fieldcat-fieldname
l_fieldcat-SELTEXT_M
append l_fieldcat to
= POS.
= 'WI_AA_NAME'.
= 'WI Agent Name'.
p_fieldcat.
*Workflow Template :
pos = pos + 1.
clear l_fieldcat.
l_fieldcat-col_pos
l_fieldcat-fieldname
l_fieldcat-SELTEXT_M
append l_fieldcat to
= POS.
= 'WI_RH_TASK'.
= 'Workflow Template'.
p_fieldcat.
= POS.
= 'WI_RHTEXT'.
= 'Workflow Template Desc'.
p_fieldcat.
*Document Number
pos = pos + 1.
clear l_fieldcat.
l_fieldcat-col_pos
l_fieldcat-fieldname
l_fieldcat-SELTEXT_M
append l_fieldcat to
*Business Object
pos = pos + 1.
clear l_fieldcat.
l_fieldcat-col_pos
l_fieldcat-fieldname
l_fieldcat-SELTEXT_M
append l_fieldcat to
= POS.
= 'EBELN'.
= 'PO Number'.
p_fieldcat.
= POS.
= 'TYPEID'.
= 'Business Object'.
p_fieldcat.
ENDFORM.
" fieldcat_init
*&---------------------------------------------------------------------*
*&
Form alv_PREPARE_EVENT_LIST
*&---------------------------------------------------------------------*
*
Call all the events of ALV.
*----------------------------------------------------------------------*
form alv_prepare_event_list.
call function 'REUSE_ALV_EVENTS_GET'
exporting
i_list_type
= 0
importing
et_events
= itab_events
exceptions
list_type_wrong = 1
others
= 2.
endform.
" ALV_PREPARE_EVENT_LIST
*&---------------------------------------------------------------------*
*&
Form ALV_MODIFY_EVENT_LIST
*&---------------------------------------------------------------------*
form alv_modify_event_list.
* USER_COMMAND.
clear st_events.
read table itab_events
into st_events with key name = 'USER_COMMAND'.
if sy-subrc eq 0.
st_events-form = 'USER_COMMAND'.
modify itab_events from st_events index sy-tabix.
endif.
endform.