ABAP Cursosentenciaexecsqlendexec

<html>

<head>

<title>EXEC SQL .. ENDEXEC</title>

</head>

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

<p align="left">⚠ <b><span class="titulo">EXEC SQL .. ENDEXEC</span>⚠ </b></p>

<p align="left">⚠ <b>Definicin⚠ </b></p>

<p align="left">Una sentencia nativa debe incluirse en un bloque

  EXEC SQL .. ENDEXEC.</p>

<p align="left">⚠ <b>Sintaxis:⚠ </b></p>

<pre>EXEC SQL [ PERFORMING <rutina> ].

<sentencia-nativa-SQL> [ ; ]

ENDEXEC.</pre>

<p align="left">El ⚠ <i>punto y coma⚠ </i> (;) es opcional. El ⚠ <i>punto⚠ </i>

  (.) utilizado en cualquier sentencia ABAP/4 para marcar el final de sta, no 
  puede ser utilizado en el bloque. Dentro del bloque, la sentencia ⚠ <i>doble comilla⚠ </i> 
  (") no marca un comienzo de comentario. La tabla utilizada es una sentencia 
  nativa no tiene por que estar definida en el diccionario ABAP/4, por lo tanto, 
  no es necesario declarar la tabla con la sentencia ⚠ <a href="tables.htm" tppabs="tables.htm">TABLES⚠ </a>. 
  El sistema no procesa de forma automtica el campo mandante. La comunicacin 
  entre la tabla de la base de datos y el programa se realiza a travs de las 
  variables de entorno, que se identifican en la sentencia nativa gracias al carcter 
  ⚠ <i>dos puntos⚠ </i> (:). Como variable de entorno se puede utilizar campos elementales, 
  as como campos estructurados.</p>

<ul>

  <li> 
    <p align="left">Si el resultado de la sentencia ⚠ <a href="select_endselect.htm" tppabs="select_endselect.htm">SELECT⚠ </a> 
      es una tabla, se puede utilizar la clusula PERFORMING. Por cada lnea leda 
      en la sentencia ⚠ <a href="select_endselect.htm" tppabs="select_endselect.htm">SELECT⚠ </a>, se procesa la 
      rutina especificada en PERFORMING.
  </li>

</ul>

<p align="left">⚠ <b>Ejemplo:⚠ </b></p>

<pre>EXEC SQL.

  CREATE TABLE AVERI_CLNT (
         CLIENT   CHAR(3)  NOT NULL,
         ARG1     CHAR(3)  NOT NULL,
         ARG2     CHAR(3)  NOT NULL,
         FUNCTION CHAR(10) NOT NULL,
         PRIMARY KEY (CLIENT, ARG1, ARG2)
                          )

ENDEXEC.</pre>

<p>En este ejemplo se crea la tabla AVERI_CLNT. Y con el siguiente

  ejemplo leemos dicha tabla:</p>

<pre>DATA: F1(3), F2(3), F3(3).

F3 = ' 1 '

EXEC SQL PERFORMING WRITE_AVERI_CLNT.

  SELECT CLIENT, ARG1 INTO :F1, :F2 FROM AVERI_CLNT
         WHERE ARG2 = :F3

ENDEXEC.

FORM WRITE_AVERI_CLNT.

  WRITE: / F1, F2.

ENDFORM.</pre>

<p>⚠ <b>Vase tambin:⚠ </b> ⚠ <a href="select_endselect.htm" tppabs="select_endselect.htm">SELECT⚠ </a>,

  ⚠ <a href="insert.htm" tppabs="insert.htm">INSERT⚠ </a>, ⚠ <a href="update.htm" tppabs="update.htm">UPDATE⚠ </a>, ⚠ <a href="modify.htm" tppabs="modify.htm">MODIFY⚠ </a>.</p>

</body>

</html>