W Pub: ABAP Cursosentenciatypes

<html>

<head>

<title>TYPES</title>

</head>

<BODY BGCOLOR="#000000" TEXT="#FFFFFF" LINK="#0099FF" VLINK="#AA0000">

<p align="left">⚠ &lt;b&gt;<span class="titulo">TYPES</span>⚠ &lt;/b&gt;</p>

<p align="left" class="gaussr3">⚠ &lt;b&gt;Definicin⚠ &lt;/b&gt;</p>

<p align="left" class="gaussr3">Declaracin de tipos de datos. </p>

<p align="left" class="gaussr3">⚠ &lt;b&gt;Sintaxis:⚠ &lt;/b&gt;</p>

<span class="gaussr3">TYPES <tipo> [ <longitud> ] <tipo> [ <decimales>

]. </span>

<p class="gaussr3">Los parmetros de estas sentencias son los mismos que los utilizados

  en la sentencia ⚠ &lt;a href="data.htm" tppabs="http://www.gaussr3.com/abap4/sentencias/data.htm"&gt;DATA⚠ &lt;/a&gt;. El nico parmetro no se utiliza 
  es <valor> ya que la sentencia TYPES no tiene memoria asociada, y por 
  lo tanto no se le puede asignar ningn valor.</p>

<span class="gaussr3">TYPES: BEGIN OF <registro>, ... END OF <registro>.

</span>

<p class="gaussr3">Declaracin de un tipo de datos con estructura de registro.</p>

<pre class="gaussr3">TYPES <tabla> <tipo> OCCURS <n>.</pre>

<p class="gaussr3">Para crear un tipo de dato de tabla interna es necesario especificar

  la clusula OCCURS en la sentencia ⚠ &lt;a href="types.htm" tppabs="http://www.gaussr3.com/abap4/sentencias/types.htm"&gt;TYPES⚠ &lt;/a&gt;. Las lneas 
  de la tabla interna tendrn el tipo de dato especificado en <tipo>. En 
  <tipo> se puede especificar las clusulas TYPE o LIKE.</p>

<p class="gaussr3">Con la clusula LIKE se puede referenciar una estructura de

  la base de datos. De esta forma se puede crear tablas internas con la misma 
  estructura de tablas del diccionario de datos. <n> especifica el nmero 
  inicial de lneas de la tabla interna. El sistema reserva memoria para el nmero 
  de lneas especificado en el momento en que escribamos la primera lnea sobre 
  la tabla interna. Si aadimos ms lneas a la tabla interna que las especificadas 
  en <n>, el sistema expande el espacio reservado en memoria automticamente. 
  Si no hay suficiente espacio en memoria para la tabla interna, la ampliacin 
  se realizar en disco (rea de paginacin).</p>

<p class="gaussr3">⚠ &lt;b&gt;Ejemplo:⚠ &lt;/b&gt;</p>

<pre class="gaussr3">DATA: BEGIN OF PERSON,

         NAME(20),
         AGE TYPE I,
       END OF PERSON.

TYPES TYPE_PERSONS LIKE PERSON OCCURS 20.

DATA PERSONS TYPE TYPE_PERSONS.</pre>

<pre class="gaussr3">PERSON-NAME = 'Michael'.

PERSON-AGE = 25.

APPEND PERSON TO PERSONS.

PERSON-NAME = 'Gabriela'.

PERSON-AGE = 22.

APPEND PERSON TO PERSONS.</pre>

</body>

</html>