ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
EXEC SQL BEGIN DECLARE SECTION END-EXEC.
#INCLUDE "FD\BD-TABLAS.CPY".
01 BDUSUARIOS.
02 BDIDUSR PIC S9(06).
02 BDLOGIN PIC X(20).
02 BDNOMBRE PIC X(60).
02 BDTIPOUSR PIC X(04).
02 BDCLAVE PIC X(20).
02 BDCAMBIO PIC X(08).
02 BDHOST PIC X(80).
02 BDFOTOUSR PIC X(80).
02 BDACCESO PIC X(14).
01 SQLFECHA PIC X(08) GLOBAL.
01 SQLSTATE PIC X(5) global.
01 SQLCODE PIC S9(09) COMP-5 GLOBAL.
01 SQLMSG PIC X(128) GLOBAL.
EXEC SQL END DECLARE SECTION END-EXEC.
01 DATOS-IMAGEN.
02 FILLER PIC X(06) VALUE "FOTOS".
02 NOM-FOTO PIC X(15).
01 WK-COMBO.
02 WK-VALOR PIC X(04).
02 FILLER PIC X(03) VALUE " - ".
02 WK-DESCR PIC X(40).
LINKAGE SECTION.
01 LK-ID PIC 9(04).
01 LK-NOMBRE PIC X(20).
PROCEDURE DIVISION USING LK-ID, LK-NOMBRE.
INITIALIZE BDUSUARIOS.
EXEC SQL CONNECT TO DEFAULT
END-EXEC. EVALUATE TRUE
WHEN REG-EXISTE
MOVE LK-ID TO BDIDUSR
EXEC SQL SELECT * FROM usuarios WHERE iduser = :BDIDUSR
INTO :BDIDUSR, :BDLOGIN, :BDNOMBRE, :BDTIPOUSR, :BDCLAVE, :BDCAMBIO, :BDACCESO
END-EXEC
WHEN REG-CAMBIO
MOVE LK-NOMBRE TO BDLOGIN
EXEC SQL SELECT * FROM usuarios WHERE iduser = :BDLOGIN
INTO :BDIDUSR, :BDLOGIN, :BDNOMBRE, :BDTIPOUSR, :BDCLAVE, :BDCAMBIO, :BDACCESO
END-EXEC
END-EVALUATE.
IF SQLSTATE = "00000" THEN
PERFORM DATOS-A-PANTALLA
ELSE
MOVE SQLSTATE TO WX-SQLSTATE-ERROR
MOVE SQLMSG TO WX-SQLMSG-ERROR
INVOKE POW-SELF "CallForm" USING "INICIOERROR" "ERRORBD.DLL"
END-IF.
EXEC SQL DISCONNECT DEFAULT END-EXEC.
EXIT PROGRAM.
DATOS-A-PANTALLA.
MOVE BDIDUSR TO "Caption" OF LBL-CODIGO.
MOVE BDLOGIN TO "Text" OF PIC-LOGIN.
MOVE BDNOMBRE TO "Text" OF PIC-NOMBRE.
MOVE BDCLAVE TO "Text" OF PIC-CLAVE.
* MOVE BDFECHA TO "Caption" OF LBL-FECHA-ACCESO.
MOVE BDHOST TO "Caption" OF LBL-ORDENADOR.
IF BDFOTOUSR NOT = SPACES THEN
MOVE BDFOTOUSR TO NOM-FOTO
MOVE DATOS-IMAGEN TO "ImageName" OF IMAGEN
END-IF.
IF BDTIPOUSR > SPACES THEN
MOVE "TUSU" TO BDTIPO
MOVE BDTIPOUSR TO BDVALOR
EXEC SQL
SELECT tipotbl, valortbl, descritbl FROM tablas
WHERE tipotbl = :BDTIPO AND valortbl = :BDVALOR INTO :BDTIPO, :BDVALOR, :BDDESCR
END-EXEC
MOVE BDVALOR TO WK-VALOR
MOVE BDDESCR TO WK-DESCR
MOVE WK-COMBO TO "Text" OF CBO-TIPO
END-IF.
IF REG-CAMBIO THEN
MOVE POW-FALSE TO "Enabled" OF PIC-LOGIN
MOVE POW-FALSE TO "Enabled" OF CBO-TIPO
INVOKE PIC-NOMBRE "SetFocus"
ELSE
INVOKE PIC-LOGIN "SetFocus"
END-IF.
Marcadores