<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<div class="moz-cite-prefix">Maribel<br>
<br>
proc = procedure<br>
es una función del MX que puede usarte tanto como parámetro de la
línea de comandos<br>
<b><font face="Courier New, Courier, monospace"> <big>mx base
proc= proc= ...</big></font></b><br>
<br>
como una función de formato: <big><b><font face="Courier New,
Courier, monospace">pft=v10,x2,v888/proc(<formato>),...
etc<br>
</font></b></big><br>
Cuando proc se usa en la liinea del MX entonces se escribe con el
<u>signo de igual</u> <font color="#cc0000">= </font><b> proc=</b><br>
si se usa dentro de un formato, entonces va con <u>paréntesis </u>y
allí dentro se ponen las instrucciones<br>
<b>proc('d9','<9>', ... )</b><br>
<br>
Es posible concatenar una serie de proc donde la salida de un
proc sirve como entrada al siguiente<br>
Si los proc borran campos, entonces deben ser las primeras
instrucciones que se dan<br>
<br>
En tu caso lo que debes hacer en tu formato, es poner lo
siguiente al COMIENZO del formato<br>
-------------------<br>
proc( ( if p(v8000) then '<8000>',v680,'</8000>') fi
)<br>
proc('Gela,8000')<br>
... a continuación siguen las instrucciones que tenias antes<br>
<br>
Lo que hace este proc es <br>
a) crear un campo virtual v8000, que solo tiene existencia en el
ámbito de ese formato para ese registro<br>
b) a ese campo v8000 le aplica el gizmo=ela<br>
<br>
ahora puedes usar el campo v8000 como cualquier otro campo<br>
el gizmo se le aplica a ese campo "inventado" porque si se lo
aplicaras al v680, entonces quedaría modificado para todo el resto
del registros<br>
si miras la sintaxis del MX, veras que los gizmos se ejecutan
antes de los procs, y al final se ejecuta el PFT<br>
<br>
Otra: es posible insertar en una cadena de comandos, gizmos,
joins, procs, y todos los parámetros que se precisen, hasta un
máximo de 1040 parámetros, pero la ejecución se hará en el orden
que se establece en la sintaxis<br>
<br>
Saludos<br>
Ernesto Spinak<br>
<br>
<br>
<br>
<br>
<br>
<br>
El 23/10/2012 5:32, Maribel Cuadrado escribió:<br>
</div>
<blockquote cite="mid:50864820.7010201@uab.cat" type="cite">
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
<div class="moz-cite-prefix"><br>
Ernesto,<br>
<br>
Entiendo el concepto pero no acabo de saber cómo llevarlo a
cabo.<br>
He declarado en el bases.def mi gizmo. <br>
He intentado declararlo en el formato pero creo que no lo coloco
correctamente, me da un error de expresión demasiado larga.<br>
Lo que no acabo de entender es cómo se crea ese campo virtual
8000.<br>
<br>
Agradecería más ayuda al respecto.<br>
<br>
(if p(v650) then '<a
href="/cgi-bin/wxis.exe/iah/scripts/?IsisScript=iah.xis&lang=es&base='
,v5003[1],'&nextAction=lnk&exprSearch=',<b>s(mhu,v8000,mpl),
</b>'&indexSearch=MA_">',v650'</a>',if
iocc<>nocc(v650) then ' ; ' fi fi),'</td>'<br>
<br>
<br>
Maribel Cuadrado<br>
<br>
Universitat Autònoma de Barcelona<br>
<br>
<br>
Al 22/10/2012 15:43, En/na spinaker ha escrit:<br>
</div>
<blockquote cite="mid:50854D78.2080903@adinet.com.uy" type="cite">
<meta content="text/html; charset=UTF-8"
http-equiv="Content-Type">
<div class="moz-cite-prefix">Maribel<br>
<br>
Es posible usar un gizmo dentro de un formato con la
instrucción proc( G<gizmo_mf>[,<taglist>] )<br>
<br>
para eso debes declarar en el <bases>.def el gizmo y
activarlo en el formato<br>
sucede que si aplicas el gizmo al campo 680, entonces va a
modificarlo en todas las instancias que aparece<br>
de modo que el truco sería procesar ese campo con otro nombre<br>
por ejemplo, al comienzo del formato pondrias <br>
<br>
proc( ( if p(v8000) then '<8000>',v680,'</8000>')
fi )<br>
proc('Gela,8000')<br>
<br>
entonces en la expresión <br>
<pre wrap=""><big><big>exprSearch=',<font color="#cc0000">s(mhu,8000,mpl)</font>, '&indexSearch=MA_">',v650'</a>',if iocc<>nocc(v650) then ' ; '</big></big></pre>
Más o menos esa es la idea que yo intentaría, aunque pueden
haber soluciones más elegantes<br>
<br>
Saludos<br>
Ernesto Spinak<br>
<br>
</div>
</blockquote>
</blockquote>
<br>
<pre class="moz-signature" cols="72">--
.^. .^.
( ) ( )
=== ===
=[=]================================[=]=
| | Ernesto Spinak | |
| | <a class="moz-txt-link-abbreviated" href="mailto:spinaker@adinet.com.uy">spinaker@adinet.com.uy</a> | |
| | Montevideo, Uruguay | |
| | tel/fax (598) 2622-3352 | |
| | celular (598) 99612238 | |
=[=]================================[=]=
=== ===
( ) ( )
V V </pre>
</body>
</html>