<div>Perfecto, excelente explicación y solución. </div><div> </div><div>Te estoy muy agradecido, siempre dando el más consistente apoyo a esta comunidad, Ernesto. </div><div> </div><div>Mil gracias, un saludo cordial y a tus órdenes si puedo retribuirte tu atención.</div>
<div> </div><div>Además le puede servir a otros este especial requerimiento.</div><div>Saludos a todos</div><div> </div><div>Ricardo Chamorro</div><div> </div><div><br><br> </div><div class="gmail_quote">El 30 de marzo de 2011 18:57, Ernesto Spinak <span dir="ltr"><<a href="mailto:spinaker@adinet.com.uy">spinaker@adinet.com.uy</a>></span> escribió:<br>
<blockquote style="margin: 0px 0px 0px 0.8ex; padding-left: 1ex; border-left-color: rgb(204, 204, 204); border-left-width: 1px; border-left-style: solid;" class="gmail_quote">


  

<div text="#000000" bgcolor="#ffffff">
Ricardo<br>
<br>
Si quieres acumular un valor a lo largo de varios registros, entonces
debes usar un pequeño truco como el que sigue. La razón es que el PFT
es una instrucción "local" del registro, no es "global", de modo que
los valores de un registro son destruídos cuando pasas a otro MFN<br>
<br>
Supongamos que el valor que quieres sumar esta en el campo V1 y no es
repetible<br>
Entonces usa el formato acumulador.pft<br>
<br>
<font face="Courier New, Courier, monospace">    putenv('acum=',
f(val(v1)+ val(getenv('acum')),1,0) ) </font><br>
<br>
En el comado darías <br>
<font face="Courier New, Courier, monospace">mx <base> from=xxx 
to=zzz   <a href="mailto:pft=@acumulador.pft" target="_blank">pft=@acumulador.pft</a>  
epilog=getenv('acum') tell=100
now</font><br>
<br>
El formato "epilog" se cumple cuando termina la corrida y te entrega el
valor total<br>
Si el campo v1 fuera repetible, entonces deberás agregar al formato
acumulador la instrucción "rsum()"<br>
<br>
Saludos<br>
Ernesto<br>
<br>
<br>
<br>
<br>
Ricardo Augusto escribió:
<div><div></div><div class="h5"><blockquote cite="http://midAANLkTinr=-DqpHkGfCdiQaPCUbU+TjVF6iAC-AhjB8Z8@mail.gmail.com" type="cite">
  <div>MUCHAS Gracias Ernesto!!! </div>
  <div> </div>
  <div>Estoy llegando a la meta... Sólo me falta que me muestre la
suma. Hago exactamente lo que me indicas, e incluso leyendo el manual
de ref. de cisis agregué algún parámetro más (como now, o
text=<txt> para que salga, o from=x to=x para acotar
la salida) pero no me aparece el resultado de la suma, tampoco graba en
txt la salida cuando la pido con text=archivo.txt. O sea, no da error,
solo lista uno a uno los digitos del campo, en ambas instrucciones (sin
la coma, eso si) y debo darle enter a cada uno, pero al fin cierra y no
da el total...</div>
  <div>Qué estaré haciendo mal? Cambié de ambiente al cmd de una vieja
XP pero funciona igual  que en un Seven x86...</div>
  <div>Gracias y saludos cordiales</div>
  <div> </div>
  <div>Ricardo Chamorro<br>
  <br>
  </div>
  <div class="gmail_quote">El 30 de marzo de 2011 16:40, Ernesto Spinak
  <span dir="ltr"><<a href="mailto:spinaker@adinet.com.uy" target="_blank">spinaker@adinet.com.uy</a>></span>
escribió:<br>
  <blockquote style="margin: 0px 0px 0px 0.8ex; padding-left: 1ex; border-left-color: rgb(204, 204, 204); border-left-width: 1px; border-left-style: solid;" class="gmail_quote">
    <div text="#000000" bgcolor="#ffffff">Ricardo<br>
    <br>
La instrucción es rsum(<format>)<br>
    <br>
El formato debe generar una cadena de caracteres, donde cada numero
debe estar separado por al menos un espacio<br>
Por ejemplo tengo el siguiente registro con el campo v111 repetible
donde pongo los numeros a sumar<br>
    <font face="Courier New, Courier, monospace">111  «1»<br>
111  «3»<br>
111  «5»<br>
111  «7»<br>
111  «9»</font><br>
    <br>
entonces debe generar la cadena de numeros separados<br>
    <font face="Courier New, Courier, monospace">C:\CDS>mx cds
from=151 
"pft=v111+|, |"<br>
1, 3, 5, 7, 9</font><br>
    <br>
para obtener la suma la instrucción es<br>
    <font face="Courier New, Courier, monospace">C:\CDS>mx cds
from=151 
"pft=f( rsum(v111+|, |),1,0)"<br>
25</font><br>
    <br>
no es posible sumar valores a través de registros, excepto usando el MX
dese la línea de comandos<br>
y eso se logra usando variables de ambiente con getenv y putenv<br>
    <br>
Saludos<br>
Ernesto Spinak<br>
    <br>
    <br>
Ricardo Augusto escribió:
    <blockquote cite="http://midAANLkTikz3ucX3rGKTkaPCdGnhLjy6fJXDRB6VtLF4z+F@mail.gmail.com" type="cite">
      <div>Hola, una ayudita que mi memoria no halla el formato y estoy
apurado con una suma de valores de un campo.</div>
      <div>Se trata de la cantidad total de carillas de documentos
anotadas
en un campo.</div>
      <div>O sea, en el campo X cada ocurrencia declara que hay, por
caso,
5 (carillas). </div>
      <div> </div>
      <div>El campo X solo registra un valor, numero, que se
corresponde
obviamente con la cantidad de carillas del documento.</div>
      <div> </div>
      <div>Necesito sumar todas las carillas para saber cuántas hay en
toda
la base...</div>
      <div> </div>
      <div>O sea, en principio extraigo </div>
      <div> </div>
      <div>f(val(vXX),0,0,) </div>
      <div>o </div>
      <div>f(rsum(vXX),0,0,) </div>
      <div> </div>
      <div>y esto me dice cuantas cuántas carillas hay en ese campo
anotadas, pero esto es por cada registro y no por todos los mfn...</div>
      <div>Creo que debería declarar el rango total de MFN, o algo así
pero
no me aclaro...</div>
      <div> </div>
      <div>Alguna ayudita?</div>
      <div> </div>
      <div>Miles de gracias y saludos cordiales</div>
      <div>Ricardo</div>
      <pre><hr size="4" width="90%">
_______________________________________________
isis-users mailing list
<a href="mailto:isis-users@iccisis.org" target="_blank">isis-users@iccisis.org</a>
To manage your own subscription options go to: <a href="http://lists.iccisis.org/listinfo/isis-users" target="_blank">http://lists.iccisis.org/listinfo/isis-users</a>
Or contact Henk Rutten: <a href="mailto:hlrutten@xs4all.nl" target="_blank">hlrutten@xs4all.nl</a>
  </pre>
    </blockquote>
    <br>
    <br>
    <pre cols="72">-- 
  .^.                                .^.
  ( )                                ( )
  ===                                ===
 =[=]================================[=]=
  | |  Ernesto Spinak                | |
  | |  <a href="mailto:spinaker@adinet.com.uy" target="_blank">spinaker@adinet.com.uy</a>        | |
  | |  Montevideo, Uruguay           | |
  | |  tel/fax  (5982) 622-3352      | |
  | |  celular  (598)  99612238      | |
 =[=]================================[=]=
  ===                                ===
  ( )                                ( )
   V                                  V </pre>
    </div>
  </blockquote>
  </div>
  <br>
</blockquote>
<br>
<br>
<pre cols="72">-- 
  .^.                                .^.
  ( )                                ( )
  ===                                ===
 =[=]================================[=]=
  | |  Ernesto Spinak                | |
  | |  <a href="mailto:spinaker@adinet.com.uy" target="_blank">spinaker@adinet.com.uy</a>        | |
  | |  Montevideo, Uruguay           | |
  | |  tel/fax  (5982) 622-3352      | |
  | |  celular  (598)  99612238      | |
 =[=]================================[=]=
  ===                                ===
  ( )                                ( )
   V                                  V </pre>
</div></div></div>

</blockquote></div><br>