20240106

REF (inline)

*
*  REF
*  R E F
*
* Usado no lugar GET REFERENCE OF ... INTO ... .
* Permite acessar a referêcia (ponteiro) de um dado,
* para realizar um processamento dinâmico
*
* X = REF dtype|#(Y) .

* ANTES
  get reference of Y into X.

* AGORA
 x = ref #(y).






**
** Usando em uma atribuição simples
**
*
DATA x type ref to data.
data y type string value 'ABC'.

X = REF #( Y ).

*write:/ '.. X..', x.
write:/.


Data(z) = ref data( y ).
*write:/ '.. Z..', z.
write:/.





**
** Uso em uma enrada de método
**

METHOD process_ref
  IMPORTING
    ir_data  type ref to data
    iv_type  type char1.

ENDMETHOD.


data:
  v_i     type i value 10,
  v_s     type string value 'Dez'.

process_ref(
  ir_data = REF #( v_i )
  iv_type = 'I'
).

process_ref(
  ir_data = REF #( v_s )
  iv_type = 'S'
).