Skip to content

Instantly share code, notes, and snippets.

@Arezki-kaki
Created August 12, 2022 14:51
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
Star You must be signed in to star a gist
Embed
What would you like to do?
***&---------------------------------------------------------------------*
***& Include ZAAA_FOR
***&---------------------------------------------------------------------*
FORM get_list_env.
SELECT *
FROM tmscsys
INTO TABLE gt_list_envs.
IF sy-subrc EQ 0.
SORT gt_list_envs BY holdcon ASCENDING.
ENDIF.
ENDFORM.
FORM get_data .
SELECT *
INTO CORRESPONDING FIELDS OF TABLE gt_t_e070
FROM e070
WHERE trkorr IN p_ot
AND as4user IN p_nni
AND strkorr EQ space.
IF sy-subrc <> 0.
" WRITE : / 'table interne vide '.
MESSAGE 'Aucun résultat trouvé' TYPE 'W'.
EXIT.
ENDIF.
* CHECK gt_t_e070 IS NOT INITIAL.
LOOP AT gt_t_e070 INTO gt_s_e070.
CLEAR : ls_result,
gt_s_e07t,
gt_s_e070a,
gt_s_e070create,
gt_s_ctsproject.
" Attribution des autres variables sur la structure contenant l'ensemble des zones
ls_result-trkorr = gt_s_e070-trkorr.
" Recherche le libellé de l'OT
SELECT SINGLE * FROM e07t INTO gt_s_e07t WHERE trkorr = gt_s_e070-trkorr.
IF sy-subrc EQ 0.
ls_result-as4text = gt_s_e07t-as4text.
ENDIF.
"Recherche du EXTERNALID
* SELECT SINGLE * FROM ctsproject INTO gt_s_ctsproject WHERE trkorr = gt_s_e070a-reference.
* IF sy-subrc = 0.
* ls_result-externalid = gt_s_ctsproject-externalid.
* write :/ gt_s_ctsproject-externalid.
* ENDIF.
" Recherche la date de création
SELECT SINGLE * FROM e070create INTO gt_s_e070create WHERE trkorr = gt_s_e070-trkorr.
IF sy-subrc EQ 0.
IF ls_result-trstatus = 'R'.
ls_result-cre_date = gt_s_e070create-cre_date.
ls_result-cre_time = gt_s_e070create-cre_time.
ls_result-as4date = ' '.
ls_result-as4time = ' '.
ELSEIF ls_result-trstatus = 'D'.
ls_result-cre_date = ' '.
ls_result-cre_time = ' '.
ls_result-as4date = gt_s_e070-as4date.
ls_result-as4time = gt_s_e070-as4time.
ENDIF.
ENDIF.
CLEAR : gt_s_request,
gt_s_header.
gt_s_request-header-trkorr = ls_result-trkorr.
" Récupération des données d'entête de l'OT
CALL FUNCTION 'TRINT_READ_REQUEST_HEADER'
EXPORTING
iv_read_e070 = 'X'
iv_read_e07t = 'X'
CHANGING
cs_request = gt_s_request-header
EXCEPTIONS
OTHERS = 1.
IF sy-subrc <> 0.
gt_s_request-header-trkorr = ls_result-trkorr.
ELSE.
gt_s_header = gt_s_request-header.
ENDIF.
"Date et Heure d'import dans chaque environnement !
LOOP AT gt_list_envs INTO ls_list_env.
LOOP AT gt_s_cofile_systems-steps INTO gt_s_cofile_steps WHERE stepid = 'I'.
CLEAR lv_s_actions.
READ TABLE gt_s_cofile_steps-actions INTO lv_s_actions INDEX 1.
* IF sy-subrc = 0.
* ls_result-as4date = lv_s_actions-date.
* ls_result-heure_imp = lv_s_actions-time.
* ENDIF.
* ENDLOOP.
ENDLOOP.
*__________________________________________________________________________________
"lire la date et heure d'import
LOOP AT gt_list_envs INTO ls_list_env.
LOOP AT gt_s_cofile_systems-steps INTO gt_s_cofile_steps . "WHERE stepid = 'I'.
CLEAR lv_s_actions.
READ TABLE gt_s_cofile_steps-actions INTO lv_s_actions INDEX 1.
IF sy-subrc EQ 0.
ls_result-eenv-date_im = lv_s_actions-date.
ls_result-eenv-heure_im = lv_s_actions-time.
ENDIF.
ENDLOOP.
ENDLOOP.
* ENDIF.
ENDLOOP.
ls_result-as4user = gt_s_e070-as4user.
ls_result-cre_date = gt_s_e070create-cre_date.
ls_result-cre_time = gt_s_e070create-cre_time.
ls_result-as4date = gt_s_e070-as4date.
ls_result-as4time = gt_s_e070-as4time.
* ls_result-externalid = gt_s_ctsproject-externalid.
READ TABLE gt_trstatus INTO ls_trstatus WITH KEY domvalue_l = gt_s_e070-trstatus BINARY SEARCH.
IF sy-subrc EQ 0.
ls_result-trstatus = ls_trstatus-ddtext.
ENDIF.
READ TABLE gt_trfunctions INTO ls_trfunction WITH KEY domvalue_l = gt_s_e070-trfunction BINARY SEARCH.
IF sy-subrc EQ 0.
ls_result-trfunction = ls_trfunction-ddtext.
ENDIF.
APPEND ls_result TO gt_results .
ENDLOOP.
ENDFORM.
FORM get_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-fieldname = 'trkorr'.
ls_fieldcat-seltext_m = 'Ordre/Tâche'.
ls_fieldcat-emphasize = 'C411'.
APPEND ls_fieldcat TO gt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-fieldname = 'trstatus'.
ls_fieldcat-seltext_m = 'Status'.
* ls_fieldcat-emphasize = 'C200'.
APPEND ls_fieldcat TO gt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-fieldname = 'as4date'.
ls_fieldcat-seltext_m = 'Créé le'.
* ls_fieldcat-emphasize = 'C100'.
APPEND ls_fieldcat TO gt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-fieldname = 'cre_date'.
ls_fieldcat-seltext_m = 'Modifié le'.
* ls_fieldcat-emphasize = 'C200'.
APPEND ls_fieldcat TO gt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-fieldname = 'trfunction'.
ls_fieldcat-seltext_m = 'Type'.
* ls_fieldcat-emphasize = 'C100'.
APPEND ls_fieldcat TO gt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-fieldname = 'as4user'.
ls_fieldcat-seltext_m = 'Titulaire'.
* ls_fieldcat-emphasize = 'C200'.
APPEND ls_fieldcat TO gt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-fieldname = 'as4text'.
ls_fieldcat-seltext_m = 'Description'.
* ls_fieldcat-emphasize = 'C100'.
APPEND ls_fieldcat TO gt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-fieldname = 'externalps'.
ls_fieldcat-seltext_m = 'externalps'.
* ls_fieldcat-emphasize = 'C200'.
APPEND ls_fieldcat TO gt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-fieldname = 'externalid'.
ls_fieldcat-seltext_m = 'Id'.
* ls_fieldcat-emphasize = 'C100'.
APPEND ls_fieldcat TO gt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-fieldname = 'externalid'.
ls_fieldcat-seltext_m = 'code'.
* ls_fieldcat-emphasize = 'C200'.
APPEND ls_fieldcat TO gt_fieldcat.
LOOP AT gt_list_envs INTO ls_list_env.
CLEAR ls_fieldcat.
ls_fieldcat-fieldname = 'env'.
ls_fieldcat-seltext_m = ls_list_env-sysnam.
APPEND ls_fieldcat TO gt_fieldcat.
* date et heure
CONCATENATE 'Date d''import_' ls_list_env-sysnam INTO DATA(title_d_env).
"RECUPERER LA DATE D'IMPORT
ls_fieldcat-fieldname = ls_list_env-moddat .
ls_fieldcat-seltext_m = title_d_env.
APPEND ls_fieldcat TO gt_fieldcat.
*CONCATENATE 'Heure d''import_' ls_list_env-sysnam INTO DATA(title_H_env).
* "RECUPERER L'HEURE D'IMPORT !
* ls_fieldcat-fieldname = ls_list_env-modtim.
* ls_fieldcat-seltext_m = title_H_env.
* APPEND ls_fieldcat TO gt_fieldcat.
ENDLOOP.
ENDFORM.
FORM data_prerequis .
CONSTANTS : lc_tr LIKE dd07l-domname VALUE 'TRSTATUS',
lc_fu LIKE dd07l-domname VALUE 'TRFUNCTION'.
CALL FUNCTION 'DD_DOMVALUES_GET'
EXPORTING
domname = lc_tr
text = 'X'
langu = 'F'
TABLES
dd07v_tab = gt_trstatus
EXCEPTIONS
wrong_textflag = 1
OTHERS = 2.
IF sy-subrc = 0.
SORT gt_trstatus BY domvalue_l ASCENDING.
ENDIF.
CALL FUNCTION 'DD_DOMVALUES_GET'
EXPORTING
domname = lc_fu
text = 'X'
langu = 'F'
TABLES
dd07v_tab = gt_trfunctions
EXCEPTIONS
wrong_textflag = 1
OTHERS = 2.
IF sy-subrc = 0.
SORT gt_trfunctions BY domvalue_l ASCENDING.
ENDIF.
ENDFORM.
FORM f_top_of_page .
CLEAR t_header.
wa_header-typ = 'H'.
wa_header-info = 'Ordres de transport'.
APPEND wa_header TO t_header.
CLEAR wa_header.
" Nombre de results
DESCRIBE TABLE gt_results LINES ld_lines.
ld_linesc = ld_lines.
CONCATENATE 'Nombre d''entrées'
ld_linesc
INTO t_line
SEPARATED BY space.
wa_header-typ = 'A'.
wa_header-info = t_line.
APPEND wa_header TO t_header.
CLEAR : wa_header, t_line.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = t_header.
ENDFORM.
FORM show.
gs_layout-colwidth_optimize = abap_true.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = sy-repid
i_callback_top_of_page = 'F_TOP_OF_PAGE'
is_layout = gs_layout
it_fieldcat = gt_fieldcat[]
i_save = 'A'
i_default = 'X'
TABLES
t_outtab = gt_results
EXCEPTIONS
program_error = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE i002(zmess).
ENDIF.
ENDFORM.
*&---------------------------------------------------------------------*
*& Include ZAAA_TOP
*&---------------------------------------------------------------------*
TABLES: e070, e071, e07t, e070create, ctsproject, e070a, tcedeli, tcerele, tcetarg, tcetarghdr.
TYPE-POOLS: slis.
TYPES: BEGIN OF ty_e070,
trkorr TYPE e070-trkorr,
trfunction TYPE e070-trfunction,
strkorr TYPE e070-strkorr,
as4user TYPE e070-as4user,
as4date TYPE e070-as4date,
externalps TYPE ctsproject-externalps,
externalid TYPE ctsproject-externalid,
END OF ty_e070.
TYPES: BEGIN OF ty_ctsproject,
trkorr TYPE ctsproject-trkorr,
externalps TYPE ctsproject-externalps,
externalid TYPE ctsproject-externalid,
END OF ty_ctsproject.
"Ajout structure !
TYPES: BEGIN OF lt_envs,
cr TYPE i,
date_im TYPE e070-as4date,
heure_im TYPE e070-as4time,
env TYPE tmscsys-sysnam,
END OF lt_envs.
TYPES: BEGIN OF ty_final,
trkorr TYPE e070-trkorr,
* trfunction TYPE e070-trfunction,
trfunction TYPE ddtext,
trfunctn_l(20) TYPE c,
strkorr TYPE e070-strkorr,
as4user TYPE e070-as4user,
* trstatus TYPE e070-trstatus,
trstatus TYPE ddtext,
as4date TYPE e070-as4date,
as4time TYPE e070-as4time,
trstatus_t(20) TYPE c,
reference TYPE e070a-reference,
as4text TYPE e07t-as4text,
cre_date TYPE e070create-cre_date,
cre_time TYPE e070create-cre_time,
externalps TYPE ctsproject-externalps,
externalid TYPE ctsproject-externalid,
* s4h(4) TYPE c,
* vir(4) TYPE c,
*1108 env TYPE tmscsys-sysnam, """"""" ajouter la structure.
eenv TYPE lt_envs,
gt_s_actions TYPE ctslg_action,
END OF ty_final.
DATA: gt_e070 TYPE TABLE OF ty_e070.
DATA: gt_wa_e070 TYPE ty_e070.
DATA: gt_ctsproject TYPE TABLE OF ty_ctsproject.
DATA: gt_wa_ctsproject TYPE ty_ctsproject.
DATA : gt_results TYPE STANDARD TABLE OF ty_final,
ls_result TYPE ty_final.
*DATA : gt_results TYPE STANDARD TABLE OF ty_res,
* ls_result TYPE ty_res.
DATA: gt_envs TYPE TABLE OF intsys,
gt_s_env TYPE intsys.
DATA: gt_t_e070 TYPE TABLE OF e070,
gt_s_e070 TYPE e070.
DATA: gt_s_e07t TYPE e07t,
gt_s_e070create TYPE e070create,
gt_s_ctsproject TYPE ctsproject,
gt_s_e070a TYPE e070a.
DATA: gt_fieldcat TYPE slis_t_fieldcat_alv WITH HEADER LINE,
ls_fieldcat TYPE slis_fieldcat_alv,
gs_layout TYPE slis_layout_alv.
DATA: gt_list_envs TYPE TABLE OF tmscsys,
ls_list_env TYPE tmscsys.
DATA : gt_repid TYPE syrepid,
lt_fcat TYPE slis_t_fieldcat_alv.
DATA: gt_s_request TYPE ctslg_request_info,
gt_s_header TYPE trwbo_request_header,
gt_username TYPE e070-as4user,
gt_s_cofile_systems TYPE ctslg_system,
gt_s_cofile_steps TYPE ctslg_step,
gt_color_t TYPE char4,
gt_t_tmscsyslst_typ TYPE TABLE OF tmscsyslst,
gt_s_tmscsyslst_typ TYPE tmscsyslst,
lv_s_actions TYPE ctslg_action.
DATA: gt_trfunctions TYPE TABLE OF dd07v,
gt_trstatus TYPE TABLE OF dd07v,
ls_trfunction TYPE dd07v,
ls_trstatus TYPE dd07v.
DATA: idd07v TYPE TABLE OF dd07v WITH HEADER LINE.
DATA: t_header TYPE slis_t_listheader,
wa_header TYPE slis_listheader,
t_line LIKE wa_header-info,
ld_lines TYPE i,
ld_linesc(10) TYPE c,
i_sort TYPE slis_t_sortinfo_alv.
CONSTANTS: lc_vir TYPE char3 VALUE 'VIR',
lc_s4h TYPE char3 VALUE 'S4H',
lc_color_0 TYPE char4 VALUE '@08@',
lc_color_4 TYPE char4 VALUE '@09@',
lc_color_8 TYPE char4 VALUE '@0A@',
lc_scp TYPE char15 VALUE 'SAP_CTS_PROJECT',
lc_d TYPE char1 VALUE 'D',
lc_modif TYPE char10 VALUE 'Modifiable',
lc_modif_p TYPE char19 VALUE 'Modifiable, protégé',
lc_r TYPE char1 VALUE 'R',
lc_l TYPE char1 VALUE 'L',
lc_o TYPE char1 VALUE 'O',
lc_n TYPE char1 VALUE 'N',
lc_w TYPE char1 VALUE 'W',
lc_k TYPE char1 VALUE 'K',
lc_t TYPE char1 VALUE 'T',
lc_v TYPE char1 VALUE 'V',
lc_i TYPE char1 VALUE 'I',
lc_libere TYPE char6 VALUE 'Libéré',
* lc_libere_l TYPE char15 VALUE 'Libération lancée',
lc_libere_oth TYPE char58 VALUE 'Libéré (protection contre import active pr objets réparés)',
lc_others TYPE char5 VALUE 'Autre',
lc_workbench TYPE char9 VALUE 'Workbench',
lc_custo TYPE char11 VALUE 'Customizing',
lc_cc TYPE char1 VALUE '/'
.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment