[Isis-users] Internet Explorer y la ele geminada
spinaker
spinaker at adinet.com.uy
Tue Oct 23 15:56:21 CEST 2012
Maribel
proc = procedure
es una función del MX que puede usarte tanto como parámetro de la línea
de comandos
*mx base proc= proc= ...*
como una función de formato: *pft=v10,x2,v888/proc(<formato>),... etc
*
Cuando proc se usa en la liinea del MX entonces se escribe con el _signo
de igual_ = * proc=*
si se usa dentro de un formato, entonces va con _paréntesis _y allí
dentro se ponen las instrucciones
*proc('d9','<9>', ... )*
Es posible concatenar una serie de proc donde la salida de un proc
sirve como entrada al siguiente
Si los proc borran campos, entonces deben ser las primeras
instrucciones que se dan
En tu caso lo que debes hacer en tu formato, es poner lo siguiente al
COMIENZO del formato
-------------------
proc( ( if p(v8000) then '<8000>',v680,'</8000>') fi )
proc('Gela,8000')
... a continuación siguen las instrucciones que tenias antes
Lo que hace este proc es
a) crear un campo virtual v8000, que solo tiene existencia en el ámbito
de ese formato para ese registro
b) a ese campo v8000 le aplica el gizmo=ela
ahora puedes usar el campo v8000 como cualquier otro campo
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
si miras la sintaxis del MX, veras que los gizmos se ejecutan antes de
los procs, y al final se ejecuta el PFT
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
Saludos
Ernesto Spinak
El 23/10/2012 5:32, Maribel Cuadrado escribió:
>
> Ernesto,
>
> Entiendo el concepto pero no acabo de saber cómo llevarlo a cabo.
> He declarado en el bases.def mi gizmo.
> He intentado declararlo en el formato pero creo que no lo coloco
> correctamente, me da un error de expresión demasiado larga.
> Lo que no acabo de entender es cómo se crea ese campo virtual 8000.
>
> Agradecería más ayuda al respecto.
>
> (if p(v650) then '<a
> href="/cgi-bin/wxis.exe/iah/scripts/?IsisScript=iah.xis&lang=es&base='
> ,v5003[1],'&nextAction=lnk&exprSearch=',*s(mhu,v8000,mpl),
> *'&indexSearch=MA_">',v650'</a>',if iocc<>nocc(v650) then ' ; ' fi
> fi),'</td>'
>
>
> Maribel Cuadrado
>
> Universitat Autònoma de Barcelona
>
>
> Al 22/10/2012 15:43, En/na spinaker ha escrit:
>> Maribel
>>
>> Es posible usar un gizmo dentro de un formato con la instrucción
>> proc( G<gizmo_mf>[,<taglist>] )
>>
>> para eso debes declarar en el <bases>.def el gizmo y activarlo en el
>> formato
>> sucede que si aplicas el gizmo al campo 680, entonces va a
>> modificarlo en todas las instancias que aparece
>> de modo que el truco sería procesar ese campo con otro nombre
>> por ejemplo, al comienzo del formato pondrias
>>
>> proc( ( if p(v8000) then '<8000>',v680,'</8000>') fi )
>> proc('Gela,8000')
>>
>> entonces en la expresión
>> exprSearch=',s(mhu,8000,mpl), '&indexSearch=MA_">',v650'</a>',if iocc<>nocc(v650) then ' ; '
>> Más o menos esa es la idea que yo intentaría, aunque pueden haber
>> soluciones más elegantes
>>
>> Saludos
>> Ernesto Spinak
>>
--
.^. .^.
( ) ( )
=== ===
=[=]================================[=]=
| | Ernesto Spinak | |
| | spinaker at adinet.com.uy | |
| | Montevideo, Uruguay | |
| | tel/fax (598) 2622-3352 | |
| | celular (598) 99612238 | |
=[=]================================[=]=
=== ===
( ) ( )
V V
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.iccisis.org/pipermail/isis-users/attachments/20121023/f9ee8303/attachment.html>
More information about the isis-users
mailing list