yo tengo un programa llamado cambios, que se ejecuta al arrancar la
aplicacion
*************
sistema.prg
*****************
=seteado()
=cambios()
do form frmentrada
return
*****************************
cambios.prg
**********************+
WAIT WINDOW NOWAIT "Verficando consistencia..."
DO use WITH 'TPAS'
IF LEN(dscr)<>30
DO use WITH 'tpas excl'
ALTER TABLE tpas alter COLUMN dscr c(30)
DO use WITH 'tpas'
ENDIF
DO use WITH 'varimaq'
IF TYPE('maqid')='U'
USE
ALTER TABLE varimaq ADD COLUMN maqid'C' (20)
DO USE WITH "varimaq"
ENDIF
DO use WITH "qdocs orde k1"
IF TYPE('formato')='U'
USE
ALTER TABLE qdocs ADD COLUMN formato 'C' (50)
DO USE WITH "qdocs"
ENDIF
DO use WITH 'vari'
IF TYPE('qfmt')='U'
USE
ALTER TABLE vari ADD COLUMN qfmt 'C' (1)
DO USE WITH "vari"
ENDIF
DO use WITH 'bode'
IF TYPE('bodext')='U'
USE
ALTER TABLE bode ADD COLUMN bodext 'C' (10)
DO USE WITH "bode"
ENDIF
DO use WITH 'autoproc'
IF TYPE('estado')='U'
USE
ALTER TABLE autoproc ADD estado 'C' (1)
DO use WITH 'autoproc'
ENDIF
IF TYPE('amail')='U'
USE
ALTER TABLE autoproc ADD amail 'C' (1)
DO use WITH 'autoproc'
ENDIF
DO use WITH 'tram'
IF TYPE('uobse')='U'
USE
ALTER TABLE tram ADD uobse 'N' (6)
DO use WITH 'tram'
ENDIF
DO use WITH 'facdrec'
IF TYPE('semaf')='U'
USE
ALTER TABLE facdrec ADD semaf 'C' (1)
DO use WITH 'facdrec'
ENDIF
IF TYPE('ulact')='U'
USE
ALTER TABLE facdrec ADD ulact 'C' (30)
DO use WITH 'facdrec'
ENDIF
DO use WITH 'varimaq'
IF TYPE('maqid')='U'
USE
ALTER TABLE varimaq ADD COLUMN maqid'C' (20)
DO USE WITH "varimaq"
ENDIF
**********************************************************
WAIT WINDOW NOWAIT "verificando indices..........."
***********verificar indices
=verindex("cmpc","k5","auto")
=verindex("cmpc","k6","importa")
******************************************
proc verindex
PROCEDURE verindex
LPARAMETERS ktabla,ktag,kindexstru
DO use WITH ktabla+" shared"
kerridx=1
FOR i=1 TO TAGCOUNT()
IF UPPER(TAG(I))=UPPER(ktag)
kerridx=0
ENDIF
ENDFOR
IF kerridx<>0
DO use WITH ktabla+" excl"
kcomando="INDEX ON "+kindexstru+" TAG "+ktag
&kcomando
ENDIF
On 8 jun, 15:16, Irlandes 1960 <
irlandes1...@gmail.com> wrote:
> Hola, asumiendo que estas con tablas nativas de vpf, un ejemplo seria:
>
> IF MESSAGEBOX('MODIFICA ESTRUCTURA DE SERVICIOS PARA AGREGAR EL CONCEPTO DE
> PLUS AL SERVCIO',32+4,'CONFIRME') = 7
>
> RETURN
>
> ENDIF
>
> WAIT WINDOW NOWAIT 'AGREGANDO CAMPODE PLUS DEL SERVICIO...'
>
> IF USED('cgservic')
>
> USE IN cgservic
>
> ENDIF
>
> SELECT 0
>
> TRY
>
> USE cgrales!cgservic EXCLUSIVE
>
> =afields(laestruc)
>
> lccampo = 'PLUS'
>
> if ascan(laestruc,UPPER(lccampo)) = 0
>
> ALTER TABLE CGSERVIC ADD PLUS C(10)
>
> INDEX ON PLUS TAG PLUS
>
> ENDIF
>
> USE
>
> CATCH
>
> MESSAGEBOX('NO PUDO ABRIR LA TABLA DE SERVICIOS PARA