Hola:
Estoy trbajando paralelamente con un sistema llamado ASPEL SAE v3.0 el cual usamos con base de datos dbf e indices mdx, el caso es que no he encontrado la forma de grabar datos y q estos se reflejen en el indice. los archivos son MINV01.DBF y los MINV01.MDX he notado que el archivo indexado esta en forma descendente abro MINV01 y se ve asi:
REGISTRO...CLV_ART....... TIPO_MOV.......CANT......DB8EXIST
1..................0001...................1................10............10
2..................0001...................53................1..............9
3..................0001...................53................2..............7
consulto con el programa mencionado arriba y se ve asi:
REGISTRO...CLV_ART....... TIPO_MOV.......CANT......DB8EXIST
3..................0001...................53................2..............7
2..................0001...................53................1..............9
1..................0001...................1.................10.............10
Supongo que el indice esta Descendente pero no se como hacerlo
o no se como activar o abrir la base de datos para que lo muestre de esa forma intente con el comando:
SET DESCENDING ON, pero al compilar marca error
alguien tiene alguna idea ???, por cierto solo tiene un indice
GRACIAS por todo
saludos
Veracruz, Ver. Mexico
Indices decendentes
-
- Posts: 159
- Joined: Fri Nov 18, 2005 7:34 pm
Re: Indices decendentes
Holas
por casualidad has intentado con la funcion Descend(xValor)
Por ejemplo :
INDEX ON CLV_ART + DESCEND(TIP_MOV +STR(DBBEXIST,5,0) ) TO ......
quedaria ordenado por Clave, asscedentemente pero dentro de cada clave, descendentemente por tipo de movimiento y DBBexit...
no necesita usar SET DESCENDING..
Suerte
Lubin
por casualidad has intentado con la funcion Descend(xValor)
Por ejemplo :
INDEX ON CLV_ART + DESCEND(TIP_MOV +STR(DBBEXIST,5,0) ) TO ......
quedaria ordenado por Clave, asscedentemente pero dentro de cada clave, descendentemente por tipo de movimiento y DBBexit...
no necesita usar SET DESCENDING..
Suerte
Lubin
servicomver wrote:Hola:
Estoy trbajando paralelamente con un sistema llamado ASPEL SAE v3.0 el cual usamos con base de datos dbf e indices mdx, el caso es que no he encontrado la forma de grabar datos y q estos se reflejen en el indice. los archivos son MINV01.DBF y los MINV01.MDX he notado que el archivo indexado esta en forma descendente abro MINV01 y se ve asi:
REGISTRO...CLV_ART....... TIPO_MOV.......CANT......DB8EXIST
1..................0001...................1................10............10
2..................0001...................53................1..............9
3..................0001...................53................2..............7
consulto con el programa mencionado arriba y se ve asi:
REGISTRO...CLV_ART....... TIPO_MOV.......CANT......DB8EXIST
3..................0001...................53................2..............7
2..................0001...................53................1..............9
1..................0001...................1.................10.............10
Supongo que el indice esta Descendente pero no se como hacerlo
o no se como activar o abrir la base de datos para que lo muestre de esa forma intente con el comando:
SET DESCENDING ON, pero al compilar marca error
alguien tiene alguna idea ???, por cierto solo tiene un indice
GRACIAS por todo
saludos
Veracruz, Ver. Mexico
-
- Posts: 159
- Joined: Fri Nov 18, 2005 7:34 pm
Hola:
Sigo sin resolver mi problemas, tal vez no me explique bien, no necesito generar los indices descendentes, los necesito abrir
ya que estos los crea un sistema llamado ASPEL SAE, al inicio uso esto:
(los archivos q tiene son: MINV01.DBF y MINV01.MDX)
CLEAR SCREEN
REQUEST DBFMDX
RDDSETDEFAULT( "DBFMDX" )
SET DATE BRITISH
SET CENTURY ON
SET EPOCH TO 1956
USE MINV01
SET ORDER TO 2
APPEND BLANK
FIELD->NUM_REG:=16
FIELD->CLV_ART:="0001"
FIELD->TIPO_MOV:=51
FIELD->FECHA_DOCU:=DATE()
FIELD->REFER:="84"
FIELD->CLAVE_CLPV:="MOSTR"
FIELD->VEND:=""
FIELD->CANT:=3
FIELD->CANT_COST:=0
FIELD->PRECIO:=1
FIELD->COSTO:=1
FIELD->ALMACEN:=1
FIELD->AFEC_COI:=""
FIELD->OBS_MINV:=0
FIELD->REG_SERIE:=0
FIELD->UNI_VENTA:="pz"
FIELD->U4SEC:=0
FIELD->DB8EXIST:=1
FIELD->TIPO_PROD:="I"
FIELD->FACTOR_CON:=1
FIELD->FECHAELAB:= DATE()
FIELD->USUARIO:=0
FIELD->M_FLETE:=0
* al poner set order to 2, si despues de grabar el registro lo listo efectivamente lo ordena bien, pero al consultarlo con el programa ya elaborado (Aspel), repite muchas veces el ultimo registro, no se q estoy haciendo mal, pero si regenero indices desde ese mismo programa el problema se soluciona, solo q yo necesito grabar y q se afecten correctamente los indices, vi que la estructura del indice es:
CLV_ART + STR(ALMACEN) + STR(NUM_REG) + STR(TIPO_MOV)
Y ademas como les comentaba antes no encuentro la forma de donde lo ordena descendentemente, espero haberme explicado bien o no se si sea necesario pasarles los archivos,
Como puedo hacer para que al grabar en la base de datos MINV01.DBF se afecten todos los Indices contenidos en MINV01.MDX ????
saludos
veracruz, ver. mexico
Sigo sin resolver mi problemas, tal vez no me explique bien, no necesito generar los indices descendentes, los necesito abrir
ya que estos los crea un sistema llamado ASPEL SAE, al inicio uso esto:
(los archivos q tiene son: MINV01.DBF y MINV01.MDX)
CLEAR SCREEN
REQUEST DBFMDX
RDDSETDEFAULT( "DBFMDX" )
SET DATE BRITISH
SET CENTURY ON
SET EPOCH TO 1956
USE MINV01
SET ORDER TO 2
APPEND BLANK
FIELD->NUM_REG:=16
FIELD->CLV_ART:="0001"
FIELD->TIPO_MOV:=51
FIELD->FECHA_DOCU:=DATE()
FIELD->REFER:="84"
FIELD->CLAVE_CLPV:="MOSTR"
FIELD->VEND:=""
FIELD->CANT:=3
FIELD->CANT_COST:=0
FIELD->PRECIO:=1
FIELD->COSTO:=1
FIELD->ALMACEN:=1
FIELD->AFEC_COI:=""
FIELD->OBS_MINV:=0
FIELD->REG_SERIE:=0
FIELD->UNI_VENTA:="pz"
FIELD->U4SEC:=0
FIELD->DB8EXIST:=1
FIELD->TIPO_PROD:="I"
FIELD->FACTOR_CON:=1
FIELD->FECHAELAB:= DATE()
FIELD->USUARIO:=0
FIELD->M_FLETE:=0
* al poner set order to 2, si despues de grabar el registro lo listo efectivamente lo ordena bien, pero al consultarlo con el programa ya elaborado (Aspel), repite muchas veces el ultimo registro, no se q estoy haciendo mal, pero si regenero indices desde ese mismo programa el problema se soluciona, solo q yo necesito grabar y q se afecten correctamente los indices, vi que la estructura del indice es:
CLV_ART + STR(ALMACEN) + STR(NUM_REG) + STR(TIPO_MOV)
Y ademas como les comentaba antes no encuentro la forma de donde lo ordena descendentemente, espero haberme explicado bien o no se si sea necesario pasarles los archivos,
Como puedo hacer para que al grabar en la base de datos MINV01.DBF se afecten todos los Indices contenidos en MINV01.MDX ????
saludos
veracruz, ver. mexico
-
- Posts: 117
- Joined: Sun Oct 01, 2006 11:39 pm
Amigo:
Viendo tu problema, me gustaria acotar algo, podrias probar declarando el archivo indice, no se enque esta desarrollado el programa que arriba declaras el que genera y actualiza la base y sus indices.
USE MINV01
Set Inde to MINVO1 && Prueba esto
SET ORDER TO 2
Segun lo que veo en tu programa, solo prodias probar esto y me cuentas.
Ojala de pueda servir.
Viendo tu problema, me gustaria acotar algo, podrias probar declarando el archivo indice, no se enque esta desarrollado el programa que arriba declaras el que genera y actualiza la base y sus indices.
USE MINV01
Set Inde to MINVO1 && Prueba esto
SET ORDER TO 2
Segun lo que veo en tu programa, solo prodias probar esto y me cuentas.
Ojala de pueda servir.
servicomver wrote:Hola:
Sigo sin resolver mi problemas, tal vez no me explique bien, no necesito generar los indices descendentes, los necesito abrir
ya que estos los crea un sistema llamado ASPEL SAE, al inicio uso esto:
(los archivos q tiene son: MINV01.DBF y MINV01.MDX)
CLEAR SCREEN
REQUEST DBFMDX
RDDSETDEFAULT( "DBFMDX" )
SET DATE BRITISH
SET CENTURY ON
SET EPOCH TO 1956
USE MINV01
SET ORDER TO 2
APPEND BLANK
FIELD->NUM_REG:=16
FIELD->CLV_ART:="0001"
FIELD->TIPO_MOV:=51
FIELD->FECHA_DOCU:=DATE()
FIELD->REFER:="84"
FIELD->CLAVE_CLPV:="MOSTR"
FIELD->VEND:=""
FIELD->CANT:=3
FIELD->CANT_COST:=0
FIELD->PRECIO:=1
FIELD->COSTO:=1
FIELD->ALMACEN:=1
FIELD->AFEC_COI:=""
FIELD->OBS_MINV:=0
FIELD->REG_SERIE:=0
FIELD->UNI_VENTA:="pz"
FIELD->U4SEC:=0
FIELD->DB8EXIST:=1
FIELD->TIPO_PROD:="I"
FIELD->FACTOR_CON:=1
FIELD->FECHAELAB:= DATE()
FIELD->USUARIO:=0
FIELD->M_FLETE:=0
* al poner set order to 2, si despues de grabar el registro lo listo efectivamente lo ordena bien, pero al consultarlo con el programa ya elaborado (Aspel), repite muchas veces el ultimo registro, no se q estoy haciendo mal, pero si regenero indices desde ese mismo programa el problema se soluciona, solo q yo necesito grabar y q se afecten correctamente los indices, vi que la estructura del indice es:
CLV_ART + STR(ALMACEN) + STR(NUM_REG) + STR(TIPO_MOV)
Y ademas como les comentaba antes no encuentro la forma de donde lo ordena descendentemente, espero haberme explicado bien o no se si sea necesario pasarles los archivos,
Como puedo hacer para que al grabar en la base de datos MINV01.DBF se afecten todos los Indices contenidos en MINV01.MDX ????
saludos
veracruz, ver. mexico