September 14th, 2010
admin
Toujours dans la class CL_GUI_FRONTEND_SERVICES, la methode FILE_DELETE permet de supprimer un fichier hors SAP.
DATA : wo_execute TYPE REF TO cl_gui_frontend_services,
wv_rc TYPE i.
CREATE OBJECT wo_execute.
CLEAR wv_rc.
wo_execute->file_delete( EXPORTING filename = ’C:\Temp\test.txt’
CHANGING rc = wv_rc ).
IF wv_rc <> 0.
* message d’erreur
ELSE.
* On continue le traitement
ENDIF.
Dans une méthode de type EVENT, on peut récupérer l’instance de l’objet appelant en utilisant le paramètre d’import SENDER.
Par exemple : C’est important quand on a plusieurs ALV dans un même écran et qu’on ne veut pas multiplier les méthodes pour gérer les évènements double_click .
PUBLIC SECTION.
METHODS constructor.
METHODS dbl_click FOR EVENT double_click OF cl_gui_alv_grid
IMPORTING e_row e_column es_row_no sender.
…
METHOD dbl_click.
…
wv_name_alv = sender->get_name( ). ” On récupère ici le nom de l’objet à partir duquel on a déclenché l’évènement double_click
case wv_name_alv.
when ‘XXX’.
when ‘YYY’.
endcase.
ENDMETHOD.
Un post pour expliquer comment ajouter des groupes de zones dans la fonctionnalité de mise en forme des ALV. C’est trés pratique surtout si on utilise beacoup de zones.

Data : wt_groups type LVC_T_SGRP,
ws_groups type LVC_S_SGRP.
…
Dans la methode de mise en forme de l’ALV (Tri, layout…)
* groupes spécials
CLEAR ws_groups. REFRESH wt_groups.
ws_groups-sp_group = ’01′.
ws_groups-text = text-g01. ”‘Avis QM’.
APPEND ws_groups TO wt_groups.
CLEAR ws_groups.
ws_groups-sp_group = ’02′.
ws_groups-text = text-g03. “‘Données CO’.
APPEND ws_groups TO wt_groups.
CLEAR ws_groups.
ws_groups-sp_group = ’03′.
ws_groups-text = text-g02. “‘Données CS’.
APPEND ws_groups TO wt_groups.
…
Dans la methode la mise en forme du catalogue de l’ALV
CALL FUNCTION ‘LVC_FIELDCATALOG_MERGE’
EXPORTING
i_structure_name = ’ZST_GARANTIE’
CHANGING
ct_fieldcat = wt_fieldcat.
LOOP AT wt_fieldcat INTO ws_field.
CASE ws_field-fieldname.
…
WHEN ’QMKAT’.
ws_field-no_out = ’X’.
ws_field-sp_group = ’01′.
WHEN OTHERS.
ws_field-no_out = ’X’.
ws_field-sp_group = ’02′.
ENDCASE.
MODIFY wt_fieldcat FROM ws_field.
ENDLOOP.
Dans l’appel de la methode : “set_table_for_first_display”
wo_alv->set_table_for_first_display( EXPORTING
is_layout = ws_layout
is_variant = ws_disvariant
i_save = ’A’
IT_SPECIAL_GROUPS = wt_groups
CHANGING
it_fieldcatalog = wt_fieldcat
it_sort = wt_sort
it_outtab = wt_garantie
).