L'ABAP pour les francophones

TYALGR
12 rue des tamaris 27240 Buis sur Damville
Tel : 09 52 06 57 30 Fax : 01 34 29 60 47 Email : contact [at] tyalgr.com
Connexion
 

Zephyr

ABAP

Aller à   
Rechercher
Auteur
Message Vue en arbre
ECIR ECIR
Posté le: 28 Juin 2007 16:36:41
Sujet de la contribution: GUI_DOWNLOAD : utilisation d'un séparateur ;

Solution trouvée sur sdn.sap.com, qui par utilisation d'une classe locale, permet de créer la séparation par ; pour les différentes zones d'une table interne

CLASS FILE DEFINITION.
class-methods: insert_separator_char
importing
separator type string
record_in type any
exporting
record_out type string.
ENDCLASS.


class file implementation.

method insert_separator_char.

field-symbols: <fs_field> type any.

data: wa_string(10000) type c.

data: len_separ type i,
len_field type i,
len_string type i.

len_separ = strlen( separator ).

do.
assign component sy-index of structure record_in to <fs_field>.
if sy-subrc <> 0. exit. endif.

describe field <fs_field> length len_field in character mode.

write: <fs_field> to wa_string+len_string(len_field).
len_string = len_string + len_field.
write: separator(len_separ) to wa_string+len_string.
len_string = len_string + len_separ.
enddo.

len_string = strlen( wa_string ).
move wa_string(len_string) to record_out.

endmethod. "INSERT_SEPARATOR_CHAR
ENDCLASS.

** Début du programme
DATA: BEGIN OF ITAB OCCURS 0,
FIELD1 LIKE ...
FIELD2 LIKE ....
FIELD3 LIKE .....
END OF ITAB.

DATA: BEGIN OF T_FILE OCCURS 0,
RECORD TYPE STRING
END OF T_FILE.

* Write the record for CSV format:

LOOP AT ITAB.
CALL METHOD FILE=>INSERT_SEPARATOR_CHAR
EXPORTING
separator = ';'
record_in = itab
IMporting
record_out = T_FILE.

APPEND T_FILE.
ENDLOOP.

* Here call fm GUI_DOWNLOAD for T_FILE



Modifié 28 Juin 2007 16:38:06
Haut 
Aller à   
Rechercher
© 2007 Ecir Consulting. Tous droits réservés.