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>
⚠ <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 siguienteejemplo 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>