/*
 * $Id: dbsdf.txt,v 1.1 2002/01/22 22:02:24 lculik Exp $
 */

/*
 * Las siguientes partes son derechos adquiridos de sus autores individuales.
 * www - http://www.harbour-project.org
 *
 * Copyright 2001-2002 David G. Holm <dholm@jsd-llc.com> 
 *   Documentacin en Ingls de: __dbSDF()
 *
 * Copyright 2001 Alejandro de Grate <alex_degarate@hotmail.com>
 *   Documentacin en Espaol de: __dbSDF()
 *
 * Vea doc/license.txt por los trminos de la licencia.
 *
 */

/*  $DOC$
 *  $FUNCNAME$
 *      __dbSDF()
 *  $CATEGORY$
 *      Conversin
 *  $ONELINER$
 *      Copia el contenido de una base de datos a un archivo de texto SDF
 *       agrega el contenido de un archivo de texto SDF a una base de 
 *      datos.
 *  $SYNTAX$
 *      __dbSDF( <lExporta>, <xcArchivo>, [<aCampos>],
 *      [<bFor>], [<bWhile>], [<nNext>], [<nRegistro>], <lResto> ) --> NIL
 *  $ARGUMENTS$
 *      Si <lExporta> es puesto a .T. copia registros A un archivo SDF.
 *      Si <lExporta> es .F. agrega registros DESDE un archivo SDF.
 *
 *      <xcArchivo> es el nombre del archivo de texto del cual se va a 
 *      copiar  al que se va agregar datos.
 *      Si no es especificada una extensin. ".txt" es usada por defecto.
 *      
 *      <aCampos> Un array con los nombres de los campos a los que se limita
 *      el proceso. Si no es especificado,  si est vaco, entonces todos 
 *      los campos son procesados.
 *      
 *      <bFor> Un bloque de cdigo opcional conteniendo una expresin FOR
 *      que reducir el nmero de registros a ser procesados.
 *      
 *      <bWhile> Un bloque de cdigo opcional conteniendo una expresin
 *      WHILE que reducir el nmero de registros a ser procesados.
 *      
 *      <nNext> Si est presente, pero <nRegistro> no est presente, 
 *      especifica procesar este nmero de registros, empezando con el 
 *      registro actual. Un valor de cero significa no procesar registros.
 *      
 *      <nRegistro> Si est presente, especifica el nico registro a 
 *      procesar un valor de cero significa no procesar ningn registro.
 *      Predomina sobre <nNext> y <lResto>.
 *     
 *      <lResto> Si <lExporta> es .T., y <lResto> es establecido en .T. y 
 *      no hay argumentos <nRegistro>, <nNext>  <bWhile>, entonces 
 *      procesa todos los registros, desde el actual hasta el ltimo.
 *  $RETURNS$
 *      NIL
 *  $DESCRIPTION$
 *      __dbSDF() copia todo  el contenido seleccionado, desde una tabla
 *      de base de datos a un archivo de texto SDF , agrega todo  el 
 *      contenido seleccionado desde un archivo de texto SDF a una tabla de 
 *      base de datos.
 *  $EXAMPLES$
 *      // Copia cuentas delinquentes dentro de un archivo de texto SDF
 *      USE cuentas NEW
 *      COPY TO deudas SDF FOR !EMPTY( cuentas->vencidas ) ;
 *      .AND. DATE() - cuentas->vencidas > 30
 *
 *      // Importa nuevos registros de clientes
 *      USE clientes NEW
 *      APPEND FROM clientes SDF
 *  $TESTS$
 *      
 *  $STATUS$
 *      S
 *  $COMPLIANCE$
 *      Es intencin que __dbSDF() sea totalmente compatible con la funcin
 *      de CA-Clipper del mismo nombre y es la implementacin subyacente de 
 *      los comandos: APPEND FROM SDF y COPY TO SDF.
 *  $PLATFORMS$
 *      Todas
 *  $FILES$
 *
 *  $SEEALSO$
 *      __dbDelim(), APPEND FROM, COPY TO
 *  $END$
 */

