@Retention(value=RUNTIME)
 @Target(value={TYPE,METHOD,PARAMETER,FIELD,LOCAL_VARIABLE})
public @interface OFF
PL/I code
 
   DCL 1 A,
         2 B FIXED BIN(15)
         2 C FIXED BIN(31)
         2 D CHAR(10);
   DCL 1 W BASED(ADDR(A)),
         2 X FIXED BIN(15)
         2 Y FIXED BIN(31)
         2 Z CHAR(10);
   A.C = 11;
   W.Y = 22;
   IF A.C = W.Y THEN PUT SKIP LIST('CORRECT');
   ELSE PUT SKIP LIST('INCORRECT');
 
 Java code
 
   class A extends Group {
         @OFF(0) b Short = new Short((short)0);
         @OFF(2) c Integer = new Integer((int)0);
         @OFF(6) @CHAR(10) d String = new String("          ");
   }
   A a = new A();
   class W extends Group {
         @OFF(0) x Short = new Short((short)0);
         @OFF(2) y Integer = new Integer((int)0);
         @OFF(6) @CHAR(10) z String = new String("          ");
   }
   a.c = 11;
   w.sync(a.c, w.y);
   W w = new W(g);
   w.y = 22;
   w.sync(w.y, a.c);
   if (a.c = w.y) {
       System.out.println();
       System.out.println("CORRECT");
   } else {
       System.out.println();
       System.out.println("INCORRECT");
   }
 | Modifier and Type | Required Element and Description | 
|---|---|
| int | valueThe "logical offset" of an element within a structure |