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