Dalle poche prove che ho fatto, sembrano comportarsi similarmente agli oggetti, tranne per il fatto che si presentano come template di una aggrezione di dati di tipo di verso (come del resto la structura è...).
Da quanto potuto appurare, la struttura deve essere definita all'interno di un modulo o classe, può contenere dati e array di diverso tipo, e può essere utilizzata, ovviamente, per creare array di strutture (ad es. PRIVATE $var AS STRUCT MyStruct[]).
La cosa può essere comoda, ma a mio parere è meglio utilizzare una classe ad-hoc, oltre al fatto che può essere riutilizzata in altre parti, instanziandola opportunamente. Mi pare di aver capito che la struct non può essere scambiata da più classi...
Comunque, come da esempio in documentazione, devi dechiararla così come descritto, definendo Private/Public la struttura, e non i singoli dati interni, e definendo i tipi di dati contenuti nella stessa.
L'utilizzo è uguale a quello di una comune classe, basta un semplice NEW per crearti la tua struttura e assegnarla ad una tua variabile.