Вы находитесь на странице: 1из 21

*&---------------------------------------------------------------------* *& Report ZTRANS_REQ_DETERMINATION *& *&---------------------------------------------------------------------* *& *& *&---------------------------------------------------------------------* REPORT ztrans_req_determination NO STANDARD PAGE HEADING LINE-SIZE

500. INCLUDE INCLUDE PERFORM PERFORM zdata_declaration. zselscreen_dclaration. selection_screen_declare. screen_process.

AT SELECTION-SCREEN OUTPUT. PERFORM screen_output_process. SET PF-STATUS 'ZGUI_STATUS'. AT SELECTION-SCREEN. IF sscrfields-ucomm = 'ONLI' AND tr_no-low EQ '' AND cb EQ '' AND p_object IS INITIAL. MESSAGE e007(zsap) DISPLAY LIKE 'I'. ELSEIF sscrfields-ucomm = 'SE01'. CALL TRANSACTION 'SE01'. ELSE. LEAVE PROGRAM. ENDIF. START-OF-SELECTION. LOOP AT tr_no. SELECT SINGLE trkorr strkorr FROM e070 INTO (gv_descr ,gv_high ) WHERE trkorr EQ tr_no-low. SELECT SINGLE as4text FROM e07t INTO gv_text WHERE trkorr EQ tr_no-low. *--------------------------------------------------------------------* *Code to check whether TR is vallid or not *--------------------------------------------------------------------* IF sy-subrc = 0 . IF gv_high NE '' . tr_no-low = gv_high. gv_main = 'X'. ENDIF. sys = 'PEQ300'. CALL FUNCTION 'RFC_READ_TABLE' DESTINATION sys EXPORTING query_table = 'E070' delimiter = '|' NO_DATA = ' ' ROWSKIPS = 0

* *

ROWCOUNT = 0 TABLES options = options fields = fields data = gt_qe070 EXCEPTIONS table_not_available = 1 table_without_data = 2 option_not_valid = 3 field_not_valid = 4 not_authorized = 5 data_buffer_exceeded = 6 OTHERS = 7. IF sy-subrc <> 0. * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF. LOOP AT gt_qe070 . SPLIT gt_qe070-wa AT '|' INTO gv_request gv_qstatus gv_temp gv_temp1. IF gv_request EQ tr_no-low. gv_qstatus = '@01@'. EXIT. ELSE. gv_qstatus = '@02@'. ENDIF. ENDLOOP. IF sy-subrc NE 0. gv_qstatus = '@02@'. gv_pstatus = '@02@'. ENDIF. * Get information CALL FUNCTION 'TR_READ_GLOBAL_INFO_OF_REQUEST' EXPORTING iv_trkorr = tr_no-low IMPORTING es_cofile = es_cofile. * Analyze LOOP AT es_cofile-systems INTO system. IF system-systemid = 'PEP' . gv_pstatus = '@01@'. ELSE. gv_pstatus = '@02@'. ENDIF. ENDLOOP. IF sy-subrc NE 0. gv_pstatus = '@02@'. ENDIF. *--------------------------------------------------------------------* *Code to add Tsks into output *--------------------------------------------------------------------* DATA: ls_request TYPE trwbo_request_header, lt_request TYPE STANDARD TABLE OF trwbo_request_header. CLEAR ls_request. ls_request-trkorr = tr_no-low.

CALL FUNCTION 'TRINT_READ_REQUEST_HEADER' EXPORTING iv_read_e070 = 'X' iv_read_e07t = 'X' iv_read_e070c = 'X' iv_read_e070m = 'X' CHANGING cs_request = ls_request EXCEPTIONS OTHERS = 1. APPEND ls_request TO lt_request. CALL FUNCTION 'TRINT_FOLLOW_STRKORR_BACKWARD' CHANGING ct_requests = lt_request. CALL FUNCTION 'TRINT_FOLLOW_STRKORR_FORWARD' CHANGING ct_requests = lt_request. . *--------------------------------------------------------------------* *Code to add Tsks into output *--------------------------------------------------------------------* DATA: gv_count(1) TYPE c, gv_trfunction(30) TYPE c. "IF gv_request EQ tr_no-low . ls_sort-fieldname = 'TRKORR'. APPEND ls_sort TO lt_sort. ls_sort-fieldname = 'AS4TEXT'. APPEND ls_sort TO lt_sort. CLEAR gv_count. LOOP AT lt_request INTO ls_request WHERE strkorr EQ tr_no-low . IF gv_count = ''. wa_output-request = ls_request-strkorr. wa_output-descr = gv_text. wa_output-owner = ls_request-as4user. wa_output-quality = gv_qstatus. wa_output-production = gv_pstatus. CASE ls_request-trfunction. WHEN 'K'. gv_trfunction = 'Workbench Request'. WHEN 'W'. gv_trfunction = 'Customizing Request'. WHEN 'C'. gv_trfunction = 'Relocation of objects w/o Package change'. WHEN 'E'. gv_trfunction = 'Relocation of compplete Package'. WHEN 'T'. gv_trfunction = 'Transport of copies'. WHEN 'S'. gv_trfunction = 'Developemnt / Correction'. WHEN 'R'. gv_trfunction = 'Repair'. WHEN 'X'.

gv_trfunction = 'Unclassified task'. WHEN 'Q'. gv_trfunction = 'Customizing Task'. WHEN 'G'. gv_trfunction = 'Piece list for CTS project'. WHEN 'M'. gv_trfunction = 'Client transport Request'. WHEN 'P'. gv_trfunction = 'Piece list for Upgrade'. WHEN 'D'. gv_trfunction = 'Piece list for support Package'. WHEN 'F'. gv_trfunction = 'Piece list'. WHEN OTHERS. ENDCASE. wa_output-type = gv_trfunction. APPEND wa_output TO gt_output. CLEAR wa_output. gv_count = 'X'. ENDIF. wa_output-task = ls_request-trkorr. CASE ls_request-trfunction. WHEN 'K'. gv_trfunction = 'Workbench Request'. WHEN 'W'. gv_trfunction = 'Customizing Request'. WHEN 'C'. gv_trfunction = 'Relocation of objects w/o Package change'. WHEN 'E'. gv_trfunction = 'Relocation of compplete Package'. WHEN 'T'. gv_trfunction = 'Transport of copies'. WHEN 'S'. gv_trfunction = 'Developemnt / Correction'. WHEN 'R'. gv_trfunction = 'Repair'. WHEN 'X'. gv_trfunction = 'Unclassified task'. WHEN 'Q'. gv_trfunction = 'Customizing Task'. WHEN 'G'. gv_trfunction = 'Piece list for CTS project'. WHEN 'M'. gv_trfunction = 'Client transport Request'. WHEN 'P'. gv_trfunction = 'Piece list for Upgrade'. WHEN 'D'. gv_trfunction = 'Piece list for support Package'. WHEN 'F'. gv_trfunction = 'Piece list'. WHEN OTHERS. ENDCASE. wa_output-type = gv_trfunction. wa_output-descr = ls_request-as4text. wa_output-owner = ls_request-as4user. wa_output-quality = gv_qstatus. wa_output-production = gv_pstatus.

gv_count = 'X'. APPEND wa_output TO gt_output. CLEAR wa_output. CLEAR gv_descr. ENDLOOP. * ELSEIF p_object IS NOT INITIAL. ELSE. MESSAGE i000(zsap) WITH tr_no-low. ENDIF. *--------------------------------------------------------------------* *Tr with no child task *--------------------------------------------------------------------* IF gv_descr IS NOT INITIAL. wa_output-request = ls_request-trkorr. wa_output-descr = gv_text. wa_output-owner = ls_request-as4user. wa_output-quality = gv_qstatus. wa_output-production = gv_pstatus. CASE ls_request-trfunction. WHEN 'K'. gv_trfunction = 'Workbench Request'. WHEN 'W'. gv_trfunction = 'Customizing Request'. WHEN 'C'. gv_trfunction = 'Relocation of objects w/o Package change'. WHEN 'E'. gv_trfunction = 'Relocation of compplete Package'. WHEN 'T'. gv_trfunction = 'Transport of copies'. WHEN 'S'. gv_trfunction = 'Developemnt / Correction'. WHEN 'R'. gv_trfunction = 'Repair'. WHEN 'X'. gv_trfunction = 'Unclassified task'. WHEN 'Q'. gv_trfunction = 'Customizing Task'. WHEN 'G'. gv_trfunction = 'Piece list for CTS project'. WHEN 'M'. gv_trfunction = 'Client transport Request'. WHEN 'P'. gv_trfunction = 'Piece list for Upgrade'. WHEN 'D'. gv_trfunction = 'Piece list for support Package'. WHEN 'F'. gv_trfunction = 'Piece list'. WHEN OTHERS. ENDCASE. wa_output-type = gv_trfunction. APPEND wa_output TO gt_output. CLEAR wa_output. ENDIF. CLEAR gv_descr. *--------------------------------------------------------------------* *TR with no child task *--------------------------------------------------------------------*

ENDLOOP. *--------------------------------------------------------------------* *Gegin of Code to determine whether object is in TR which has not been *importedto Prpduction *--------------------------------------------------------------------* DATA : gv_obj_tr TYPE e071-trkorr. TYPES : BEGIN OF t_object, trkorr TYPE e070-strkorr, object TYPE e071-object, lockflag TYPE e071-lockflag, END OF t_object. DATA : gt_object TYPE STANDARD TABLE OF t_object, wa_object TYPE t_object. IF p_object IS NOT INITIAL. SELECT a~trkorr a~object a~lockflag "SA201220525+ FROM e071 AS a INNER JOIN e070 AS b ON a~trkorr = b~trkorr INTO CORRESPONDING FIELDS OF TABLE gt_object WHERE obj_name = p_object ."AND lockflag NE ''." and trkorr+0(4) = 'PEDK' . SORT gt_object BY trkorr DESCENDING. LOOP AT gt_object INTO wa_object . IF wa_object-trkorr+0(4) = 'PEDK' . gv_obj_tr = wa_object-trkorr. "AAZ SELECT SINGLE trkorr strkorr FROM e070 INTO (gv_descr ,gv_high ) WHERE trkorr EQ gv_obj_tr. IF gv_high IS NOT INITIAL. gv_obj_tr = gv_high. "AAZ EXIT. ENDIF. ENDIF. ENDLOOP. DATA : gv_objstatus(4) TYPE c. *--------------------------------------------------------------------* *To improve Performance SA2012 *--------------------------------------------------------------------* * SYS = 'PEQ300'. * CALL FUNCTION 'RFC_READ_TABLE' DESTINATION SYS * EXPORTING * QUERY_TABLE = 'E070' * DELIMITER = '|' ** NO_DATA = ' ' ** ROWSKIPS = 0

** ROWCOUNT = 0 * TABLES * OPTIONS = OPTIONS * FIELDS = FIELDS * DATA = GT_QE070 * EXCEPTIONS * TABLE_NOT_AVAILABLE = 1 * TABLE_WITHOUT_DATA = 2 * OPTION_NOT_VALID = 3 * FIELD_NOT_VALID = 4 * NOT_AUTHORIZED = 5 * DATA_BUFFER_EXCEEDED = 6 * OTHERS = 7. * IF SY-SUBRC <> 0. ** MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO ** WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. * ENDIF. * * * LOOP AT GT_QE070 . * SPLIT GT_QE070-WA AT '|' INTO GV_REQUEST GV_QSTATUS GV_TEMP GV_TEMP1. * IF GV_REQUEST EQ GV_OBJ_TR . * GV_OBJSTATUS = '@01@'. * EXIT. * ELSE. * GV_OBJSTATUS = '@02@'. * * ENDIF. * ENDLOOP. * * * IF SY-SUBRC NE 0. * GV_OBJSTATUS = '@02@'. * GV_PSTATUS = '@02@'. * ENDIF. *--------------------------------------------------------------------* *To improve Performance SA2012 *--------------------------------------------------------------------* * Get information CALL FUNCTION 'TR_READ_GLOBAL_INFO_OF_REQUEST' EXPORTING iv_trkorr = gv_obj_tr IMPORTING es_cofile = es_cofile. * Analyze *--------------------------------------------------------------------* *Quality flow determination SA20120525+ *--------------------------------------------------------------------* LOOP AT es_cofile-systems INTO system. IF system-systemid = 'PEQ' . gv_qstatus = '@01@'. EXIT. ELSE. gv_qstatus = '@02@'. ENDIF. ENDLOOP. IF sy-subrc NE 0. gv_qstatus = '@02@'.

ENDIF. *--------------------------------------------------------------------* *Quality flow determination SA20120525+ *--------------------------------------------------------------------* LOOP AT es_cofile-systems INTO system. IF system-systemid = 'PEP' . gv_pstatus = '@01@'. ELSE. gv_pstatus = '@02@'. ENDIF. ENDLOOP. IF sy-subrc NE 0. gv_pstatus = '@02@'. ENDIF. *-IF gv_qstatus = '@01@' AND gv_pstatus = '@01@'. MESSAGE i003(zsap) WITH p_object gv_obj_tr. ELSEIF gv_qstatus = '@01@' AND gv_pstatus NE '@01@'. MESSAGE i004(zsap) WITH p_object gv_obj_tr. ELSE. MESSAGE i005(zsap) WITH p_object gv_obj_tr. ENDIF. *--------------------------------------------------------------------* *End of Code to determine whether object in TR which has not been *imported to Production *--------------------------------------------------------------------* *--------------------------------------------------------------------* *Code to display object details in ALV *--------------------------------------------------------------------* DATA: fieldcatalog TYPE slis_t_fieldcat_alv WITH HEADER LINE. TYPES : BEGIN OF t_obj_det, strkorr TYPE e070-strkorr, trkorr TYPE e071-trkorr, as4text TYPE e07t-as4text, as4user TYPE e070-as4user, as4date TYPE e070-as4date, trfunction TYPE e070-trfunction, trstatus TYPE e070-trstatus, obj_name TYPE e071-obj_name, qstatus(4) TYPE c, pstatus(4) TYPE c, END OF t_obj_det. DATA: gt_obj_det TYPE STANDARD TABLE OF t_obj_det , wa_obj_det TYPE t_obj_det . SELECT a~strkorr a~trkorr c~as4text a~as4user a~as4date a~trfunction a~trs tatus b~obj_name FROM ( e070 AS a INNER JOIN e071 AS b ON a~trkorr = b~trkorr ) INNER JOIN e07t AS c ON c~trkorr = a~trkorr INTO CORRESPONDING FIELDS OF TABLE gt_obj_det WHERE obj_name = p_object. *---Saturday Sarwanash LOOP AT gt_obj_det INTO wa_obj_det. CLEAR : gv_descr , gv_high.

SELECT SINGLE trkorr strkorr FROM e070 INTO (gv_descr ,gv_high ) WHERE trkorr EQ wa_obj_det-trkorr. IF gv_high IS NOT INITIAL. wa_obj_det-trkorr = gv_high. ENDIF. gv_obj_tr = gv_high. CALL FUNCTION 'TR_READ_GLOBAL_INFO_OF_REQUEST' EXPORTING iv_trkorr = wa_obj_det-trkorr IMPORTING es_cofile = es_cofile. * Analyze LOOP AT es_cofile-systems INTO system. IF system-systemid = 'PEQ' . gv_qstatus = '@01@'. EXIT. ELSE. gv_qstatus = '@02@'. ENDIF. ENDLOOP. IF sy-subrc NE 0. gv_qstatus = '@02@'. ENDIF. LOOP AT es_cofile-systems INTO system. IF system-systemid = 'PEP' . gv_pstatus = '@01@'. ELSE. gv_pstatus = '@02@'. ENDIF. ENDLOOP. IF sy-subrc NE 0. gv_pstatus = '@02@'. ENDIF. wa_obj_det-qstatus = gv_qstatus. wa_obj_det-pstatus = gv_pstatus. MODIFY gt_obj_det FROM wa_obj_det TRANSPORTING qstatus pstatus . "WHERE T RKORR eq WA_obj_det-TRKORR . ENDLOOP. *--Saturday Sarwanash *--------------------------------------------------------------------* *SA20120525+ *--------------------------------------------------------------------* * LOOP AT ES_COFILE-SYSTEMS INTO SYSTEM. * IF SYSTEM-SYSTEMID = 'PEQ' . * GV_qSTATUS = '@01@'. * exit. * ELSE. * GV_qSTATUS = '@02@'. * ENDIF. * ENDLOOP. * IF SY-SUBRC NE 0. * GV_qSTATUS = '@02@'.

* * * * * * * * * * * *

ENDIF. LOOP AT ES_COFILE-SYSTEMS INTO SYSTEM. IF SYSTEM-SYSTEMID = 'PEP' . GV_PSTATUS = '@01@'. ELSE. GV_PSTATUS = '@02@'. ENDIF. ENDLOOP. IF SY-SUBRC NE 0. GV_PSTATUS = '@02@'. ENDIF.

SORT gt_obj_det BY as4date DESCENDING. *--------------------------------------------------------------------* **SA20120525+ *--------------------------------------------------------------------* CLEAR fieldcatalog . fieldcatalog-seltext_l fieldcatalog-fieldname fieldcatalog-col_pos = fieldcatalog-outputlen APPEND fieldcatalog. fieldcatalog-seltext_l fieldcatalog-fieldname fieldcatalog-col_pos = fieldcatalog-outputlen APPEND fieldcatalog. = 'Transport'. = 'STRKORR'. 1. = 13.

= 'Task'. = 'TRKORR'. 2. = 13.

fieldcatalog-seltext_l fieldcatalog-fieldname fieldcatalog-col_pos = fieldcatalog-outputlen APPEND fieldcatalog. fieldcatalog-seltext_l fieldcatalog-fieldname fieldcatalog-col_pos = fieldcatalog-outputlen APPEND fieldcatalog. fieldcatalog-seltext_l fieldcatalog-fieldname fieldcatalog-col_pos = fieldcatalog-outputlen APPEND fieldcatalog. fieldcatalog-seltext_l fieldcatalog-fieldname fieldcatalog-col_pos = fieldcatalog-outputlen APPEND fieldcatalog. *

= 'Description '. = 'AS4TEXT'. 3. = 50. = 'Type'. = 'TRFUNCTION'. 4. = 5. = 'User'. = 'AS4USER'. 5. = 10. = 'Date'. = 'AS4DATE'. 6. = 10.

fieldcatalog-seltext_l = 'Object'.

fieldcatalog-fieldname = 'OBJ_NAME'. fieldcatalog-col_pos = 6. fieldcatalog-outputlen = 30. APPEND fieldcatalog. fieldcatalog-seltext_l fieldcatalog-fieldname fieldcatalog-col_pos = fieldcatalog-outputlen APPEND fieldcatalog. fieldcatalog-seltext_l fieldcatalog-fieldname fieldcatalog-col_pos = fieldcatalog-outputlen APPEND fieldcatalog. = 'Quality'. = 'QSTATUS'. 7. = 5. = 'Production'. = 'PSTATUS'. 8. = 5.

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' EXPORTING I_INTERFACE_CHECK = ' ' I_BYPASSING_BUFFER = ' ' I_BUFFER_ACTIVE = ' ' i_callback_program = sy-repid I_CALLBACK_PF_STATUS_SET = ' ' I_CALLBACK_USER_COMMAND = ' ' I_CALLBACK_TOP_OF_PAGE = ' ' I_CALLBACK_HTML_TOP_OF_PAGE = ' ' I_CALLBACK_HTML_END_OF_LIST = ' ' I_STRUCTURE_NAME = I_BACKGROUND_ID = ' ' I_GRID_TITLE = I_GRID_SETTINGS = IS_LAYOUT = it_fieldcat = fieldcatalog[] IT_EXCLUDING = IT_SPECIAL_GROUPS = IT_SORT = IT_FILTER = IS_SEL_HIDE = I_DEFAULT = 'X' I_SAVE = ' ' IS_VARIANT = IT_EVENTS = IT_EVENT_EXIT = IS_PRINT = IS_REPREP_ID = I_SCREEN_START_COLUMN = 0 I_SCREEN_START_LINE = 0 I_SCREEN_END_COLUMN = 0 I_SCREEN_END_LINE = 0 I_HTML_HEIGHT_TOP = 0 I_HTML_HEIGHT_END = 0 IT_ALV_GRAPHICS = IT_HYPERLINK = IT_ADD_FIELDCAT = IT_EXCEPT_QINFO = IR_SALV_FULLSCREEN_ADAPTER = IMPORTING E_EXIT_CAUSED_BY_CALLER =

ES_EXIT_CAUSED_BY_USER = TABLES t_outtab = gt_obj_det EXCEPTIONS program_error = 1 OTHERS = 2 . IF sy-subrc <> 0. * Implement suitable error handling here ENDIF. *--------------------------------------------------------------------* *Code to display object details in ALV *--------------------------------------------------------------------* LEAVE TO SCREEN 0 . ENDIF. *--TYPE-POOLS:slis. * DATA: fieldcatalog TYPE slis_t_fieldcat_alv WITH HEADER LINE. IF cb = 'X'. DATA event TYPE slis_t_event WITH HEADER LINE. TYPES : BEGIN OF t_dev, trkorr TYPE e070-trkorr , strkorr TYPE e070-strkorr, trfunction(30) TYPE c, as4user TYPE e070-as4user, as4date TYPE e070-as4date, as4time TYPE e070-as4time, as4text TYPE e07t-as4text, END OF t_dev. DATA: gt_dev TYPE STANDARD TABLE OF t_dev, wa_dev TYPE t_dev, gt_qua TYPE STANDARD TABLE OF t_dev, wa_qua TYPE t_dev.

event-name = 'TOP_OF_PAGE'. event-form = 'TOP'. APPEND event. CLEAR fieldcatalog . fieldcatalog-seltext_l fieldcatalog-fieldname fieldcatalog-col_pos = fieldcatalog-outputlen APPEND fieldcatalog. fieldcatalog-seltext_l fieldcatalog-fieldname fieldcatalog-col_pos = fieldcatalog-outputlen APPEND fieldcatalog. = 'Transport'. = 'STRKORR'. 1. = 13.

= 'Task'. = 'TRKORR'. 2. = 13.

fieldcatalog-seltext_l fieldcatalog-fieldname fieldcatalog-col_pos = fieldcatalog-outputlen APPEND fieldcatalog. fieldcatalog-seltext_l fieldcatalog-fieldname fieldcatalog-col_pos = fieldcatalog-outputlen APPEND fieldcatalog. fieldcatalog-seltext_l fieldcatalog-fieldname fieldcatalog-col_pos = fieldcatalog-outputlen APPEND fieldcatalog. fieldcatalog-seltext_l fieldcatalog-fieldname fieldcatalog-col_pos = fieldcatalog-outputlen APPEND fieldcatalog. fieldcatalog-seltext_l fieldcatalog-fieldname fieldcatalog-col_pos = fieldcatalog-outputlen APPEND fieldcatalog.

= 'Description '. = 'AS4TEXT'. 3. = 50. = 'Type'. = 'TRFUNCTION'. 4. = 5. = 'User'. = 'AS4USER'. 5. = 10. = 'Date'. = 'AS4DATE'. 6. = 10.

= 'Object'. = 'OBJ_NAME'. 7. = 10.

IF rb1 = 'X'. SELECT a~trkorr a~strkorr b~as4text a~trfunction a~as4user a~as4date a~as4 time FROM e070 AS a INNER JOIN e07t AS b ON a~trkorr = b~trkorr INTO CORRESPONDING FIELDS OF TABLE gt_dev . SORT gt_dev DESCENDING BY strkorr. CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' EXPORTING I_INTERFACE_CHECK = ' ' I_BYPASSING_BUFFER = ' ' I_BUFFER_ACTIVE = ' ' i_callback_program = sy-repid I_CALLBACK_PF_STATUS_SET = ' ' I_CALLBACK_USER_COMMAND = ' ' I_CALLBACK_TOP_OF_PAGE = ' ' I_CALLBACK_HTML_TOP_OF_PAGE = ' ' I_CALLBACK_HTML_END_OF_LIST = ' ' I_STRUCTURE_NAME = I_BACKGROUND_ID = ' ' I_GRID_TITLE = I_GRID_SETTINGS = IS_LAYOUT =

* * * * * * * * * * * * *

* * * * * * * * * * * * * * * * * * * * * * * * * * * *

it_fieldcat = fieldcatalog[] IT_EXCLUDING = IT_SPECIAL_GROUPS = it_sort = lt_sort IT_FILTER = IS_SEL_HIDE = I_DEFAULT = 'X' I_SAVE = ' ' IS_VARIANT = it_events = event[] IT_EVENT_EXIT = IS_PRINT = IS_REPREP_ID = I_SCREEN_START_COLUMN = 0 I_SCREEN_START_LINE = 0 I_SCREEN_END_COLUMN = 0 I_SCREEN_END_LINE = 0 I_HTML_HEIGHT_TOP = 0 I_HTML_HEIGHT_END = 0 IT_ALV_GRAPHICS = IT_HYPERLINK = IT_ADD_FIELDCAT = IT_EXCEPT_QINFO = IR_SALV_FULLSCREEN_ADAPTER = IMPORTING E_EXIT_CAUSED_BY_CALLER = ES_EXIT_CAUSED_BY_USER = TABLES t_outtab = gt_dev EXCEPTIONS PROGRAM_ERROR = 1 OTHERS = 2 . IF sy-subrc <> 0. Implement suitable error handling here ENDIF. CLEAR cb.

" Sort Parameter

ELSEIF rb2 = 'X' . *--------------------------------------------------------------------* *Code to dispaly all TR present on PEQ *--------------------------------------------------------------------* sys = 'PEQ300'. CALL FUNCTION 'RFC_READ_TABLE' DESTINATION sys EXPORTING query_table = 'E070' delimiter = '|' NO_DATA = ' ' ROWSKIPS = 0 ROWCOUNT = 0 TABLES options = options fields = fields data = gt_qe070 EXCEPTIONS table_not_available = 1 table_without_data = 2 option_not_valid = 3

* * *

field_not_valid = 4 not_authorized = 5 data_buffer_exceeded = 6 OTHERS = 7. IF sy-subrc <> 0. * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF. DATA:lv_trkorr TYPE e070-trkorr. LOOP AT gt_qe070 . SPLIT gt_qe070-wa AT '|' INTO gv_request gv_qstatus gv_temp gv_temp1. lv_trkorr = gv_request. CLEAR ls_request. ls_request-trkorr = gv_request. CALL FUNCTION 'TRINT_READ_REQUEST_HEADER' EXPORTING iv_read_e070 = 'X' iv_read_e07t = 'X' iv_read_e070c = 'X' iv_read_e070m = 'X' CHANGING cs_request = ls_request EXCEPTIONS OTHERS = 1. APPEND ls_request TO lt_request. CALL FUNCTION 'TRINT_FOLLOW_STRKORR_BACKWARD' CHANGING ct_requests = lt_request. CALL FUNCTION 'TRINT_FOLLOW_STRKORR_FORWARD' CHANGING ct_requests = lt_request. **-FFFFFFFF LOOP AT lt_request INTO ls_request WHERE strkorr EQ tr_no-low . IF gv_count = ''. wa_output-request = ls_request-strkorr. wa_output-descr = gv_text. wa_output-owner = ls_request-as4user. wa_output-quality = gv_qstatus. wa_output-production = gv_pstatus. CASE ls_request-trfunction. WHEN 'K'. gv_trfunction = 'Workbench Request'. WHEN 'W'. gv_trfunction = 'Customizing Request'. WHEN 'C'. gv_trfunction = 'Relocation of objects w/o Package change'. WHEN 'E'. gv_trfunction = 'Relocation of compplete Package'. WHEN 'T'. gv_trfunction = 'Transport of copies'. WHEN 'S'.

gv_trfunction = 'Developemnt / Correction'. WHEN 'R'. gv_trfunction = 'Repair'. WHEN 'X'. gv_trfunction = 'Unclassified task'. WHEN 'Q'. gv_trfunction = 'Customizing Task'. WHEN 'G'. gv_trfunction = 'Piece list for CTS project'. WHEN 'M'. gv_trfunction = 'Client transport Request'. WHEN 'P'. gv_trfunction = 'Piece list for Upgrade'. WHEN 'D'. gv_trfunction = 'Piece list for support Package'. WHEN 'F'. gv_trfunction = 'Piece list'. WHEN OTHERS. ENDCASE. wa_output-type = gv_trfunction. APPEND wa_output TO gt_output. CLEAR wa_output. gv_count = 'X'. ENDIF. wa_output-task = ls_request-trkorr. CASE ls_request-trfunction. WHEN 'K'. gv_trfunction = 'Workbench Request'. WHEN 'W'. gv_trfunction = 'Customizing Request'. WHEN 'C'. gv_trfunction = 'Relocation of objects w/o Package change'. WHEN 'E'. gv_trfunction = 'Relocation of compplete Package'. WHEN 'T'. gv_trfunction = 'Transport of copies'. WHEN 'S'. gv_trfunction = 'Developemnt / Correction'. WHEN 'R'. gv_trfunction = 'Repair'. WHEN 'X'. gv_trfunction = 'Unclassified task'. WHEN 'Q'. gv_trfunction = 'Customizing Task'. WHEN 'G'. gv_trfunction = 'Piece list for CTS project'. WHEN 'M'. gv_trfunction = 'Client transport Request'. WHEN 'P'. gv_trfunction = 'Piece list for Upgrade'. WHEN 'D'. gv_trfunction = 'Piece list for support Package'. WHEN 'F'. gv_trfunction = 'Piece list'. WHEN OTHERS. ENDCASE. wa_output-type = gv_trfunction.

wa_output-descr = ls_request-as4text. wa_output-owner = ls_request-as4user. wa_output-quality = gv_qstatus. wa_output-production = gv_pstatus. gv_count = 'X'. APPEND wa_output TO gt_output. CLEAR wa_output. CLEAR gv_descr. ENDLOOP. ENDLOOP. *--FFFFF gt_qua[] = gt_output[]. *--------------------------------------------------------------------* *Code to dispaly all TR present on PEQ *--------------------------------------------------------------------* CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' EXPORTING * I_INTERFACE_CHECK = ' ' * I_BYPASSING_BUFFER = ' ' * I_BUFFER_ACTIVE = ' ' i_callback_program = sy-repid * I_CALLBACK_PF_STATUS_SET = ' ' * I_CALLBACK_USER_COMMAND = ' ' * I_CALLBACK_TOP_OF_PAGE = ' ' * I_CALLBACK_HTML_TOP_OF_PAGE = ' ' * I_CALLBACK_HTML_END_OF_LIST = ' ' * I_STRUCTURE_NAME = * I_BACKGROUND_ID = ' ' * I_GRID_TITLE = * I_GRID_SETTINGS = * IS_LAYOUT = it_fieldcat = fieldcatalog[] * IT_EXCLUDING = * IT_SPECIAL_GROUPS = it_sort = lt_sort " Sort Parameter * IT_FILTER = * IS_SEL_HIDE = * I_DEFAULT = 'X' * I_SAVE = ' ' * IS_VARIANT = it_events = event[] * IT_EVENT_EXIT = * IS_PRINT = * IS_REPREP_ID = * I_SCREEN_START_COLUMN = 0 * I_SCREEN_START_LINE = 0 * I_SCREEN_END_COLUMN = 0 * I_SCREEN_END_LINE = 0 * I_HTML_HEIGHT_TOP = 0 * I_HTML_HEIGHT_END = 0 * IT_ALV_GRAPHICS = * IT_HYPERLINK = * IT_ADD_FIELDCAT = * IT_EXCEPT_QINFO = * IR_SALV_FULLSCREEN_ADAPTER = * IMPORTING * E_EXIT_CAUSED_BY_CALLER =

* * * * *

ES_EXIT_CAUSED_BY_USER = TABLES t_outtab EXCEPTIONS PROGRAM_ERROR = 1 OTHERS = 2 . IF sy-subrc <> 0. Implement suitable error handling here ENDIF. ENDIF. ELSE.

= gt_qua

**--05032012 * wa_output-task = . *-05032012 * LEAVE to SCREEN 0. CLEAR fieldcatalog. fieldcatalog-seltext_l = 'Transport'. fieldcatalog-fieldname = 'REQUEST'. fieldcatalog-col_pos = 1. fieldcatalog-outputlen = 13. APPEND fieldcatalog. fieldcatalog-seltext_l fieldcatalog-fieldname fieldcatalog-col_pos = fieldcatalog-outputlen APPEND fieldcatalog. fieldcatalog-seltext_l fieldcatalog-fieldname fieldcatalog-col_pos = fieldcatalog-outputlen APPEND fieldcatalog. fieldcatalog-seltext_l fieldcatalog-fieldname fieldcatalog-col_pos = fieldcatalog-outputlen APPEND fieldcatalog. fieldcatalog-seltext_l fieldcatalog-fieldname fieldcatalog-col_pos = fieldcatalog-outputlen APPEND fieldcatalog. fieldcatalog-seltext_l fieldcatalog-fieldname fieldcatalog-col_pos = fieldcatalog-outputlen APPEND fieldcatalog. = 'Task'. = 'TASK'. 2. = 13. = 'Type'. = 'TYPE'. 3. = 30. = 'Owner'. = 'OWNER'. 4. = 10. = 'Description'. = 'DESCR'. 5. = 70. = 'Quality'. = 'QUALITY'. 6. = 10.

fieldcatalog-seltext_l = 'Production'. fieldcatalog-fieldname = 'PRODUCTION'.

fieldcatalog-col_pos = 7. fieldcatalog-outputlen = 10. APPEND fieldcatalog. CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' EXPORTING I_INTERFACE_CHECK = ' ' I_BYPASSING_BUFFER = ' ' I_BUFFER_ACTIVE = ' ' i_callback_program = sy-repid I_CALLBACK_PF_STATUS_SET = ' ' I_CALLBACK_USER_COMMAND = ' ' I_CALLBACK_TOP_OF_PAGE = ' ' I_CALLBACK_HTML_TOP_OF_PAGE = ' ' I_CALLBACK_HTML_END_OF_LIST = ' ' I_STRUCTURE_NAME = I_BACKGROUND_ID = ' ' I_GRID_TITLE = I_GRID_SETTINGS = IS_LAYOUT = it_fieldcat = fieldcatalog[] IT_EXCLUDING = IT_SPECIAL_GROUPS = IT_SORT = IT_FILTER = IS_SEL_HIDE = I_DEFAULT = 'X' I_SAVE = ' ' IS_VARIANT = IT_EVENTS = IT_EVENT_EXIT = IS_PRINT = IS_REPREP_ID = I_SCREEN_START_COLUMN = 0 I_SCREEN_START_LINE = 0 I_SCREEN_END_COLUMN = 0 I_SCREEN_END_LINE = 0 I_HTML_HEIGHT_TOP = 0 I_HTML_HEIGHT_END = 0 IT_ALV_GRAPHICS = IT_HYPERLINK = IT_ADD_FIELDCAT = IT_EXCEPT_QINFO = IR_SALV_FULLSCREEN_ADAPTER = IMPORTING E_EXIT_CAUSED_BY_CALLER = ES_EXIT_CAUSED_BY_USER = TABLES t_outtab = gt_output EXCEPTIONS program_error = 1 OTHERS = 2 . IF sy-subrc <> 0. Implement suitable error handling here ENDIF. ENDIF.

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

*&---------------------------------------------------------------------* *& Form TOP *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* FORM top. DATA header TYPE slis_t_listheader WITH HEADER LINE. header-typ = 'S'. header-info = 'Trnsports from selected Server'. header-key = 'ALV REPORT'. APPEND header. CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE' EXPORTING it_list_commentary = header[] * I_LOGO = 'ZSAP8' * I_END_OF_LIST_GRID = . ENDFORM. "TOP *&---------------------------------------------------------------------* *& Form SCREEN_PROCESS *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * --> p1 text * <-- p2 text *----------------------------------------------------------------------* FORM screen_process . LOOP AT SCREEN . IF screen-name NP '*TR*' . screen-active = 0. IF screen-name CP'*CB*' OR screen-name CP '*block*' OR screen-name CP '*OB JECT*'. screen-active = 1. ENDIF. ENDIF. MODIFY SCREEN. ENDLOOP. ENDFORM. " SCREEN_PROCESS *&---------------------------------------------------------------------* *& Form SCREEN_OUTPUT_PROCESS *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * --> p1 text * <-- p2 text *----------------------------------------------------------------------* FORM screen_output_process . IF cb = 'X'. LOOP AT SCREEN. IF screen-name CP '*TR*'OR screen-name CP '*OBJECT*'. screen-active = 0. MODIFY SCREEN. ENDIF.

ENDLOOP. ELSE. LOOP AT SCREEN . IF screen-name NP '*TR*' . screen-active = 0. IF screen-name CP'*CB*' OR screen-name CP '*block*' OR screen-name CP '* OBJECT*'. screen-active = 1. ENDIF. ENDIF. MODIFY SCREEN. ENDLOOP. ENDIF. ENDFORM. " SCREEN_OUTPUT_PROCESS *&---------------------------------------------------------------------* *& Form SELECTION_SCREEN_DECLARE *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * --> p1 text * <-- p2 text *----------------------------------------------------------------------* FORM selection_screen_declare . ENDFORM. " SELECTION_SCREEN_DECLARE

Вам также может понравиться