W Pub: ABAP Cursosentenciafieldsymbols

<html>

<head>

<title>FIELD-SYMBOLS</title>

</head>

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

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

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

<p align="left">Declara un ⚠ &lt;i&gt;field-symbol⚠ &lt;/i&gt;. Las asignacin

  se realiza con la sentencia ⚠ &lt;a href="assign.htm" tppabs="assign.htm"&gt;ASSIGN⚠ &lt;/a&gt; en tiempo de ejecucin.</p>

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

<pre>FIELD-SYMBOLS <fs> [ <tipo> ].</pre>

<p>En la sintaxis de los field-symbols, los smbolos "<"

  y ">" en <fs> forman parte de la sintaxis de la sentencia. 
  Sirven para identificar un field-symbol en el cdigo fuente de un programa. 
  Con esta sentencia definimos el field-symbol en cdigo del programa. Un field-symbol 
  puede ser especificado con o sin identificacin de tipo. Si no especificamos 
  ningn tipo, se puede asignar cualquier objeto de dato, en tiempo de ejecucin, 
  al field-symbol. Durante el proceso de asignacin, el field-symbol adquiere 
  todos los atributos del objeto de dato.</p>

<p>En la opcin <tipo> se puede utilizar la especificacin

  directa (con TYPE), o la indirecta (con LIKE). Con la especificacin de tipo, 
  el sistema comprueba si los tipos del field-symbol y el dato son compatibles. 
  En caso de no ser compatibles, se produce un error en tiempo de ejecucin.</p>

<p>FIELD-SYMBOLS <fs> STRUCTURE <estructura> DEFAULT

  <campo>.</p>

<p>En esta sentencia definimos el field-symbol estructurado <fs>,

  el cual apunta por defecto al campo <campo>. El sistema obliga a un campo 
  inicial, aunque se puede modificar a posteriori. El field-symbol <fs> 
  adquiere la estructura <fs> que puede ser cualquier field-string o estructura 
  definida en el diccionario de datos. Las estructuras del diccionario de datos 
  referenciadas en esta sentencia no tienen que ser declaradas con la sentencia 
  ⚠ &lt;a href="tables.htm" tppabs="tables.htm"&gt;TABLES⚠ &lt;/a&gt;. La estructura se debe especificar sin encerrar 
  entre comillas (""), sin ser posible su especificacin en tiempo de 
  ejecucin. Si <estructura> no tiene componentes de tipo F o I, <campo> 
  puede ser cualquier campo interno con la longitud de <estructura>. Si 
  <campo> es menor que <estructura> aparecer un error de sintaxis 
  cuando verifiquemos el programa. Si durante la ejecucin asignamos un campo 
  al field-string, el sistema verificar la longitud. Si la longitud es menor 
  a la de la estructura entonces se producir un error en tiempo de ejecucin. 
  Si la estructura <estructura> tiene campos de tipo F o I, debemos especificar 
  un campo con la misma estructura.</p>

<p>⚠ &lt;b&gt;Ejemplo 1:⚠ &lt;/b&gt;</p>

<pre>FIELD-SYMBOLS <PT>.

TABLES SFLIGHT.

...

ASSIGN SFLIGHT-PLANETYPE TO <PT>.

WRITE <PT>.</pre>

<p><br>

  ⚠ &lt;b&gt;Ejemplo 2:⚠ &lt;/b&gt;</p>

<pre>DATA SBOOK_WA LIKE SBOOK.

FIELD-SYMBOLS <SB> STRUCTURE SBOOK

                   DEFAULT   SBOOK_WA.

...

WRITE: <SB>-BOOKID, <SB>-FLDATE.

</pre>

<p>⚠ &lt;b&gt;Vase tambin:⚠ &lt;/b&gt; ⚠ &lt;a href="assign.htm" tppabs="assign.htm"&gt;ASSIGN⚠ &lt;/a&gt;, ⚠ &lt;a href="data.htm" tppabs="data.htm"&gt;DATA⚠ &lt;/a&gt;.</p>

</body>

</html>