share

Bloque de clientes Países en vigilancia

Este es un proyecto muy especial porque esta aplicación desarrollada en Access / Visual Basic, interacciona con el host del banco a través de ciertas librerías que los conectan y es capaz de interactuar. Ahorra mucho tiempo de navegación por el host para hacer operaciones repetitivas como por ejemplo bloquear clientes de países en especial vigilancia.

Todo el valor añadido está en el código escrito en Visual Basic que expongo a continuación para que se vea mi estilo programando:

 

 

Option Compare Database

‘Option Explicit

Dim con As AutConnMgr

Dim emu As AutSess

‘****************************************************

‘*                                                  *

‘*  FUNCIONES DE RECUPERACIÓN DE DATOS DEL HOST     *

‘*                                                  *

‘****************************************************

‘FUNCIÓN QUE RECUPERA DATOS DE DE PERSONAS FÍSICAS DE LA BASE DE CLIENTES

Function ejecutar_bloqueos_PF_PJ() As Boolean

    If MsgBox(«HA DE TENER ABIERTA SESIÓN HOST TPX SANTANDER EN MENÚ PRINCIPAL», vbOKCancel) = vbOK Then

        ‘DEFINICION Y APERTURA DE BASE DE DATOS DONDE EL USUARIO ALMACENA LOS CLIENTES A ANALIZAR

        Dim MYWS As Workspace

        Dim MYDB As Database

        Dim X_CLIENTES As Recordset

        Dim estoy_en

        Dim xsigno As String

        Dim xnumero As String

        Dim xpantalla As String

        Dim xtipocliente As String

        Dim xcodigocliente As String

        Dim xnombrecliente As String

        Dim xcontador As Double

        Dim xmotivo As String

        Dim xflag As String

        Set MYWS = DBEngine.Workspaces(0)

        Set MYDB = MYWS.Databases(0)

        Set X_CLIENTES = MYDB.OpenRecordset(«CLIENTES»)

        ‘APERTURA SESION HOST

        Set con = New AutConnMgr

        Set emu = New AutSess

        con.autECLConnList.Refresh

        emu.SetConnectionByHandle (con.autECLConnList(1).Handle)

        host

        menu_principal

        host

        punto_16_16_2

        Do While Not X_CLIENTES.EOF

            xtipocliente = X_CLIENTES.Fields(«COD_TIPOCLIENTE»).Value

            xcodigocliente = X_CLIENTES.Fields(«COD_CLIENTE»).Value

            xmotivo = X_CLIENTES.Fields(«MOTIVO»).Value

            ‘CLEAR SCREEN CON PF2

            emu.autECLPS.SendKeys («[pf2]»)

            ‘RELLENAR CON DATOS PANTALLA PRINCIPAL DE EMULADOR

            host

            emu.autECLPS.autECLFieldList(34).SetText xtipocliente

            emu.autECLPS.autECLFieldList(36).SetText xcodigocliente

            emu.autECLPS.autECLFieldList(43).SetText «A»

           

            emu.autECLPS.SendKeys («[enter]»)

            emu.autECLPS.WaitForAttrib 8, 1, «00», «3c», 3, 100

            emu.autECLPS.WaitForCursor 10, 2, 100

            host

            If Trim(emu.autECLPS.autECLFieldList(1).GetText) = «I7PP10» Then

                 xflag = emu.autECLPS.autECLFieldList(1).GetText

                 X_CLIENTES.Edit

                 X_CLIENTES.Fields(«FLAG»).Value = xflag

                 X_CLIENTES.Update

                 host

                 emu.autECLPS.autECLFieldList(53).SetText «S»

                 emu.autECLPS.SendKeys («[enter]»)

                 emu.autECLPS.WaitForAttrib 8, 1, «00», «3c», 3, 100

                 emu.autECLPS.WaitForCursor 10, 2, 100

                 host

                 If Trim(emu.autECLPS.autECLFieldList(1).GetText) = «I7PPC1» Then

                        xflag = xflag & emu.autECLPS.autECLFieldList(1).GetText

                        X_CLIENTES.Edit

                        X_CLIENTES.Fields(«FLAG»).Value = xflag

                        X_CLIENTES.Update

                        host

                        emu.autECLPS.SendKeys («[enter]»)

                        emu.autECLPS.WaitForAttrib 8, 1, «00», «3c», 3, 100

                        emu.autECLPS.WaitForCursor 10, 2, 100

                        host

                

                

                        If Trim(emu.autECLPS.autECLFieldList(1).GetText) = «I7PP40» Then

                                xflag = xflag & emu.autECLPS.autECLFieldList(1).GetText

                                X_CLIENTES.Edit

                                X_CLIENTES.Fields(«FLAG»).Value = xflag

                                X_CLIENTES.Update

                

                

                                host

                                emu.autECLPS.autECLFieldList(38).SetText «16»

                                emu.autECLPS.autECLFieldList(45).SetText xmotivo

                                emu.autECLPS.SendKeys («[enter]»)

                                emu.autECLPS.WaitForAttrib 8, 1, «00», «3c», 3, 100

                                emu.autECLPS.WaitForCursor 10, 2, 100

                                host

                

                                X_CLIENTES.Edit

                                X_CLIENTES.Fields(«FLAG»).Value = xflag & Trim(emu.autECLPS.autECLFieldList(1).GetText)

                                X_CLIENTES.Update

                

                

                                If Trim(emu.autECLPS.autECLFieldList(1).GetText) = «I7PP41» Then

                                        X_CLIENTES.Edit

                                        X_CLIENTES.Fields(«FLAG»).Value = xflag & Trim(emu.autECLPS.autECLFieldList(1).GetText)

                                        X_CLIENTES.Update

                                        PF5

                                        ‘PF3

                

                                End If

                

                                PF3

                

                        End If

                        PF3

                

                 End If

                 PF3

                

            End If

            ‘PF3

            X_CLIENTES.MoveNext

        Loop

        host

        menu_principal

        ‘CIERRE SESION HOST

        Set emu = Nothing

        Set con = Nothing

        ‘CIERRE HANDLE BASE DE DATOS

        X_CLIENTES.Close

        MYDB.Close

        MYWS.Close

    End If

    MsgBox «PROCESO TERMINADO EXITOSAMENTE»

End Function

Function comprobar_bloqueos_PF_PJ() As Boolean

    If MsgBox(«HA DE TENER ABIERTA SESIÓN HOST TPX SANTANDER EN MENÚ PRINCIPAL», vbOKCancel) = vbOK Then

        ‘DEFINICION Y APERTURA DE BASE DE DATOS DONDE EL USUARIO ALMACENA LOS CLIENTES A ANALIZAR

        Dim MYWS As Workspace

        Dim MYDB As Database

        Dim X_CLIENTES As Recordset

        Dim X_CLIENTES_VARIAS_ORDENES As Recordset

        Dim X_CLIENTES_VARIAS_ORDENES2 As Recordset

        Dim xtipocliente As String

        Dim xcodigocliente As String

        Dim xproblema As String

        Dim xfinish As String

        Dim varBookmark As Variant

        ‘APERTURA SESION HOST

        Set con = New AutConnMgr

        Set emu = New AutSess

        Set MYWS = DBEngine.Workspaces(0)

        Set MYDB = MYWS.Databases(0)

        Set X_CLIENTES = MYDB.OpenRecordset(«COMPROBACION_SIMPLIFICADA»)

        con.autECLConnList.Refresh

        emu.SetConnectionByHandle (con.autECLConnList(1).Handle)

        host

        menu_principal

        host

        punto_16_16_2

        X_CLIENTES.MoveFirst

       

        Do While Not X_CLIENTES.EOF

            xtipocliente = X_CLIENTES.Fields(«COD_TIPOCLIENTE»).Value

            xcodigocliente = X_CLIENTES.Fields(«COD_CLIENTE»).Value

           ‘CLEAR SCREEN CON PF2

            PF2

            ‘RELLENAR CON DATOS PANTALLA PRINCIPAL DE EMULADOR

            host

            texto 34, xtipocliente

            texto 36, xcodigocliente

            texto 43, «M»

            Intro

            host

             Select Case leer(1)

                 Case «I7PP51»

                    X_CLIENTES.Edit

                    X_CLIENTES.Fields(«CENTRO_GESTOR»).Value = leer(39)

                    X_CLIENTES.Fields(«LINEA1»).Value = leer(43)

                    X_CLIENTES.Fields(«LINEA2»).Value = leer(45)

                    X_CLIENTES.Update

                    PF3

                 Case «I7PP52»

                    X_CLIENTES.Edit

                    X_CLIENTES.Fields(«CENTRO_GESTOR»).Value = leer(32)

                    X_CLIENTES.Fields(«LINEA1»).Value = leer(36)

                    X_CLIENTES.Fields(«LINEA2»).Value = leer(38)

                    X_CLIENTES.Update

                    PF3

                 Case «I7PP50»

                    X_CLIENTES.Edit

                    X_CLIENTES.Fields(«PROBLEMA»).Value = «VARIAS ÓRDENES»

                    X_CLIENTES.Update

                    PF3

                 Case Else

                    X_CLIENTES.Edit

                    X_CLIENTES.Fields(«PROBLEMA»).Value = leer(57)

                    X_CLIENTES.Update

             End Select

             X_CLIENTES.MoveNext

        Loop

    End If

    host

    menu_principal

    host

    punto_16_16_2

    X_CLIENTES.MoveFirst

    Do While Not X_CLIENTES.EOF

        If X_CLIENTES.Fields(«PROBLEMA»).Value = «NO EXISTEN AVISOS GESTIONABLES POR EL CENTRO» Then

             xtipocliente = X_CLIENTES.Fields(«COD_TIPOCLIENTE»).Value

             xcodigocliente = X_CLIENTES.Fields(«COD_CLIENTE»).Value

            ‘CLEAR SCREEN CON PF2

             PF2

             ‘RELLENAR CON DATOS PANTALLA PRINCIPAL DE EMULADOR

             host

             texto 34, xtipocliente

             texto 36, xcodigocliente

             texto 43, «M»

             Intro

             host

       

        End If

   

        X_CLIENTES.MoveNext

    Loop

   

    host

    menu_principal

   

   

    On Error Resume Next

    Set X_CLIENTES_VARIAS_ORDENES = MYDB.OpenRecordset(«VARIAS», dbOpenDynaset)

    X_CLIENTES_VARIAS_ORDENES.MoveLast

    If Not X_CLIENTES_VARIAS_ORDENES.EOF Then

        Set X_CLIENTES_VARIAS_ORDENES2 = MYDB.OpenRecordset(«CLIENTES_VARIAS_ORDENES»)

        X_CLIENTES_VARIAS_ORDENES.MoveFirst

        host

        punto_16_16_2

        Do While Not X_CLIENTES_VARIAS_ORDENES.EOF

            xtipocliente = X_CLIENTES_VARIAS_ORDENES.Fields(«COD_TIPOCLIENTE»).Value

            xcodigocliente = X_CLIENTES_VARIAS_ORDENES.Fields(«COD_CLIENTE»).Value

           ‘CLEAR SCREEN CON PF2

            PF2

            ‘RELLENAR CON DATOS PANTALLA PRINCIPAL DE EMULADOR

            host

            texto 34, xtipocliente

            texto 36, xcodigocliente

            texto 43, «M»

            Intro

            host

            Select Case leer(1)

                Case «I7PP50»

                       i = 1

                       For i = 0 To 7

                          

                           If leer(29 + (9 * i)) <> «» Then

                          

                                X_CLIENTES_VARIAS_ORDENES2.AddNew

                                X_CLIENTES_VARIAS_ORDENES2.Fields(«COD_TIPOCLIENTE»).Value = X_CLIENTES_VARIAS_ORDENES.Fields(«COD_TIPOCLIENTE»).Value

                                X_CLIENTES_VARIAS_ORDENES2.Fields(«COD_CLIENTE»).Value = X_CLIENTES_VARIAS_ORDENES.Fields(«COD_CLIENTE»).Value

                                X_CLIENTES_VARIAS_ORDENES2.Fields(«ID_CLIENTE»).Value = X_CLIENTES_VARIAS_ORDENES.Fields(«ID_CLIENTE»).Value

                                X_CLIENTES_VARIAS_ORDENES2.Fields(«PROBLEMA»).Value = X_CLIENTES_VARIAS_ORDENES.Fields(«PROBLEMA»).Value

                                X_CLIENTES_VARIAS_ORDENES2.Fields(«FECHA_ALTA»).Value = leer(29 + (9 * i))

                                X_CLIENTES_VARIAS_ORDENES2.Fields(«FECHA_VIGOR»).Value = leer(30 + (9 * i))

                                X_CLIENTES_VARIAS_ORDENES2.Fields(«ACCION»).Value = leer(31 + (9 * i))

                                X_CLIENTES_VARIAS_ORDENES2.Fields(«CENTRO»).Value = leer(32 + (9 * i)) & «-» & leer(33 + (9 * i))

                                X_CLIENTES_VARIAS_ORDENES2.Fields(«VENCIMIENTO»).Value = leer(34 + (9 * i))

                                X_CLIENTES_VARIAS_ORDENES2.Fields(«ESTADO»).Value = leer(36 + (9 * i))

                                texto 28 + (9 * i), «S»

                                Intro

                                host

                                Select Case leer(1)

                                     Case «I7PP51»

                                        X_CLIENTES_VARIAS_ORDENES2.Fields(«CENTRO_GESTOR»).Value = leer(39)

                                        X_CLIENTES_VARIAS_ORDENES2.Fields(«LINEA1»).Value = leer(43)

                                        X_CLIENTES_VARIAS_ORDENES2.Fields(«LINEA2»).Value = leer(45)

                                        PF3

                                     Case «I7PP52»

                                        X_CLIENTES_VARIAS_ORDENES2.Fields(«CENTRO_GESTOR»).Value = leer(32)

                                        X_CLIENTES_VARIAS_ORDENES2.Fields(«LINEA1»).Value = leer(36)

                                        X_CLIENTES_VARIAS_ORDENES2.Fields(«LINEA2»).Value = leer(38)

                                        PF3

                                 End Select

                                 X_CLIENTES_VARIAS_ORDENES2.Update

                           Else

                                PF3

                                Exit For

                           End If

                       Next i

                Case Else

                    X_CLIENTES_VARIAS_ORDENES2.Edit

                    X_CLIENTES_VARIAS_ORDENES2.Fields(«PROBLEMA»).Value = leer(57)

                    X_CLIENTES_VARIAS_ORDENES2.Update

             End Select

             X_CLIENTES_VARIAS_ORDENES.MoveNext

        Loop

    End If

    On Error GoTo 0

    host

    menu_principal

   

   

    

    ‘CIERRE SESION HOST

    Set emu = Nothing

    Set con = Nothing

    ‘CIERRE HANDLE BASE DE DATOS

   

    X_CLIENTES.Close

    MYDB.Close

    MYWS.Close

           

End Function

Function comprobar_bloqueos_CONTRATO() As Boolean

    If MsgBox(«HA DE TENER ABIERTA SESIÓN HOST TPX SANTANDER EN MENÚ PRINCIPAL», vbOKCancel) = vbOK Then

        ‘DEFINICION Y APERTURA DE BASE DE DATOS DONDE EL USUARIO ALMACENA LOS CLIENTES A ANALIZAR

        Dim MYWS As Workspace

        Dim MYDB As Database

       

        Dim X_CONTRATOS As Recordset

        Dim X_CLIENTES_CONTRATOS As Recordset

        Dim xtipocliente As String

        Dim xcodigocliente As String

        Dim xproblema As String

        Dim xfinish As String

        Dim xcontrato As String

        ‘APERTURA SESION HOST

        Set con = New AutConnMgr

        Set emu = New AutSess

        Set MYWS = DBEngine.Workspaces(0)

        Set MYDB = MYWS.Databases(0)

        Set X_CLIENTES_CONTRATOS = MYDB.OpenRecordset(«CLIENTES_CONTRATOS»)

        Set X_CONTRATOS = MYDB.OpenRecordset(«CONTRATOS», dbOpenDynaset)

        con.autECLConnList.Refresh

        emu.SetConnectionByHandle (con.autECLConnList(1).Handle)

        host

        menu_principal

        host

        punto_16_16_2

       

       

       

        X_CONTRATOS.MoveLast

        If Not X_CONTRATOS.EOF Then

            X_CONTRATOS.MoveFirst

       

            host

            punto_16_16_2

            Do While Not X_CONTRATOS.EOF

                xcontrato = X_CONTRATOS.Fields(«CCC»).Value

                xtipocliente = X_CONTRATOS.Fields(«COD_TIPOCLIENTE»).Value

                xcodcliente = X_CONTRATOS.Fields(«COD_CLIENTE»).Value

                xidcliente = X_CONTRATOS.Fields(«ID_CLIENTE»).Value

               

                ‘CLEAR SCREEN CON PF2

                PF2

                ‘RELLENAR CON DATOS PANTALLA PRINCIPAL DE EMULADOR

                host

                texto 18, Left(xcontrato, 4)

                texto 19, Mid(xcontrato, 6, 4)

                texto 20, Mid(xcontrato, 11, 2)

                texto 21, Right(xcontrato, 10)

               

               

                texto 28, «M»

                Intro

                host

           

                Select Case leer(1)

                    Case «I7P301»

                        i = 0

                        For i = 0 To 9

                            If leer(45 + (9 * i)) <> «» Then

                                 X_CLIENTES_CONTRATOS.AddNew

                                 X_CLIENTES_CONTRATOS.Fields(«CONTRATO»).Value = xcontrato

                                 X_CLIENTES_CONTRATOS.Fields(«PROBLEMA»).Value = «VARIAS ÓRDENES»

                                 X_CLIENTES_CONTRATOS.Fields(«FECHA_ALTA»).Value = leer(45 + IIf(i <= 1, (9 * i), (8 * i) + 1))

                                 X_CLIENTES_CONTRATOS.Fields(«FECHA_VIGOR»).Value = leer(46 + IIf(i <= 1, (9 * i), (8 * i) + 1))

                                 X_CLIENTES_CONTRATOS.Fields(«ACCION»).Value = leer(47 + IIf(i <= 1, (9 * i), (8 * i) + 1))

                                 X_CLIENTES_CONTRATOS.Fields(«CENTRO»).Value = leer(48 + IIf(i <= 1, (9 * i), (8 * i) + 1)) & «-» & leer(49 + IIf(i <= 1, (9 * i), (8 * i) + 1))

                                 X_CLIENTES_CONTRATOS.Fields(«VENCIMIENTO»).Value = leer(50 + IIf(i <= 1, (9 * i), (8 * i) + 1))

                                 X_CLIENTES_CONTRATOS.Fields(«ESTADO»).Value = leer(52 + (8 * i))

                                 texto 44 + IIf(i <= 1, (9 * i), (8 * i) + 1), «S»

                                 Intro

                                 host

                                 Select Case leer(1)

                                      Case «I7P307»

                                         X_CLIENTES_CONTRATOS.Fields(«COD_TIPOCLIENTE»).Value = xtipocliente

                                         X_CLIENTES_CONTRATOS.Fields(«COD_CLIENTE»).Value = xcodcliente

                                         X_CLIENTES_CONTRATOS.Fields(«ID_CLIENTE»).Value = xidcliente

                                         X_CLIENTES_CONTRATOS.Fields(«NOMBRE»).Value = leer(26)

                                         X_CLIENTES_CONTRATOS.Fields(«CENTRO_GESTOR»).Value = leer(28)

                                         X_CLIENTES_CONTRATOS.Fields(«LINEA1″).Value = leer(32) & » » & leer(34) & » » & leer(36) & » » & leer(38)

                                         X_CLIENTES_CONTRATOS.Fields(«LINEA2″).Value = leer(40) & » » & leer(42) & » » & leer(44) & » » & leer(46)

                                         PF3

                                      Case «I7P308»

                                         X_CLIENTES_CONTRATOS.Fields(«COD_TIPOCLIENTE»).Value = xtipocliente

                                         X_CLIENTES_CONTRATOS.Fields(«COD_CLIENTE»).Value = xcodcliente

                                         X_CLIENTES_CONTRATOS.Fields(«ID_CLIENTE»).Value = xidcliente

                                         X_CLIENTES_CONTRATOS.Fields(«NOMBRE»).Value = leer(26)

                                         X_CLIENTES_CONTRATOS.Fields(«CENTRO_GESTOR»).Value = leer(47)

                                         X_CLIENTES_CONTRATOS.Fields(«LINEA1″).Value = leer(51) & » » & leer(53) & » » & leer(55) & » » & leer(57)

                                         X_CLIENTES_CONTRATOS.Fields(«LINEA2″).Value = leer(59) & » » & leer(61) & » » & leer(63) & » » & leer(65)

                                         PF3

                                      Case «I7P309»

                                         X_CLIENTES_CONTRATOS.Fields(«COD_TIPOCLIENTE»).Value = xtipocliente

                                         X_CLIENTES_CONTRATOS.Fields(«COD_CLIENTE»).Value = xcodcliente

                                         X_CLIENTES_CONTRATOS.Fields(«ID_CLIENTE»).Value = xidcliente

                                         X_CLIENTES_CONTRATOS.Fields(«NOMBRE»).Value = leer(26)

                                         X_CLIENTES_CONTRATOS.Fields(«CENTRO_GESTOR»).Value = leer(49)

                                         X_CLIENTES_CONTRATOS.Fields(«LINEA1″).Value = leer(53) & » » & leer(55) & » » & leer(57) & » » & leer(59)

                                         X_CLIENTES_CONTRATOS.Fields(«LINEA2″).Value = leer(61) & » » & leer(63) & » » & leer(65) & » » & leer(67)

                                         PF3

                                  Case Else

                                         X_CLIENTES_CONTRATOS.Fields(«PROBLEMA»).Value = leer(132)

                                  End Select

                                  X_CLIENTES_CONTRATOS.Update

                            Else

                                 PF3

                                 Exit For

                            End If

                        Next i

                    Case «I7P109»

                            X_CLIENTES_CONTRATOS.AddNew

                            X_CLIENTES_CONTRATOS.Fields(«COD_TIPOCLIENTE»).Value = xtipocliente

                            X_CLIENTES_CONTRATOS.Fields(«COD_CLIENTE»).Value = xcodcliente

                            X_CLIENTES_CONTRATOS.Fields(«ID_CLIENTE»).Value = xidcliente

                            X_CLIENTES_CONTRATOS.Fields(«PROBLEMA»).Value = «ÓRDEN ÚNICA»

                            X_CLIENTES_CONTRATOS.Fields(«CONTRATO»).Value = xcontrato

                            X_CLIENTES_CONTRATOS.Fields(«NOMBRE»).Value = leer(37)

                            X_CLIENTES_CONTRATOS.Fields(«CENTRO_GESTOR»).Value = leer(56)

                            X_CLIENTES_CONTRATOS.Fields(«LINEA1″).Value = leer(60) & » » & leer(62) & » » & leer(64) & » » & leer(66)

                            X_CLIENTES_CONTRATOS.Fields(«LINEA2″).Value = leer(68) & » » & leer(70) & » » & leer(72) & » » & leer(74)

                            X_CLIENTES_CONTRATOS.Update

                            PF3

                    Case «I7P308»

                            X_CLIENTES_CONTRATOS.AddNew

                            X_CLIENTES_CONTRATOS.Fields(«CONTRATO»).Value = xcontrato

                            X_CLIENTES_CONTRATOS.Fields(«COD_TIPOCLIENTE»).Value = xtipocliente

                            X_CLIENTES_CONTRATOS.Fields(«COD_CLIENTE»).Value = xcodcliente

                            X_CLIENTES_CONTRATOS.Fields(«ID_CLIENTE»).Value = xidcliente

                            X_CLIENTES_CONTRATOS.Fields(«PROBLEMA»).Value = «ÓRDEN ÚNICA»

                            X_CLIENTES_CONTRATOS.Fields(«NOMBRE»).Value = leer(26)

                            X_CLIENTES_CONTRATOS.Fields(«CENTRO_GESTOR»).Value = leer(47)

                            X_CLIENTES_CONTRATOS.Fields(«LINEA1″).Value = leer(51) & » » & leer(53) & » » & leer(55) & » » & leer(57)

                            X_CLIENTES_CONTRATOS.Fields(«LINEA2″).Value = leer(59) & » » & leer(61) & » » & leer(63) & » » & leer(65)

                            X_CLIENTES_CONTRATOS.Update

                            PF3

                    Case Else

                            X_CLIENTES_CONTRATOS.AddNew

                            X_CLIENTES_CONTRATOS.Fields(«COD_TIPOCLIENTE»).Value = xtipocliente

                            X_CLIENTES_CONTRATOS.Fields(«COD_CLIENTE»).Value = xcodcliente

                            X_CLIENTES_CONTRATOS.Fields(«ID_CLIENTE»).Value = xidcliente

                            X_CLIENTES_CONTRATOS.Fields(«CONTRATO»).Value = xcontrato

                            X_CLIENTES_CONTRATOS.Fields(«PROBLEMA»).Value = leer(57)

                            X_CLIENTES_CONTRATOS.Update

                 End Select

                X_CONTRATOS.MoveNext

            Loop

        End If

    End If

    host

    menu_principal

    ‘CIERRE SESION HOST

    Set emu = Nothing

    Set con = Nothing

    ‘CIERRE HANDLE BASE DE DATOS

    X_CONTRATOS.Close

    X_CLIENTES_CONTRATOS.Close

    MYDB.Close

    MYWS.Close

           

End Function

Function recupera_productos() As Boolean

    On Error Resume Next

    If MsgBox(«HA DE TENER ABIERTA SESIÓN HOST EN PANTALLA 16.7.1 DEL BANCO DE DONDE QUIERA EXTRAER PRODUCTOS DEL CLIENTE. PULSE OK PARA PROCEDER A INTRODUCIR EL NÚMERO DE PERSONA DEL CLIENTE O BIEN CANCELAR PARA REGRESAR AL MENÚ PRINCIPAL», vbOKCancel) = vbOK Then

        DoCmd.RunSQL «DELETE * FROM PRODUCTOS_INTERVINIENTES;»

        ‘DEFINICION Y APERTURA DE BASE DE DATOS DONDE EL USUARIO ALMACENA LOS CLIENTES A ANALIZAR

        Dim MYWS As Workspace

        Dim MYDB As Database

        Dim X_PRODUCTOS As Recordset

        Dim X_CLIENTES As Recordset

        Dim i, j As Integer

        Dim k1 As Integer

        Dim k2 As Integer

        Dim k3 As Integer

        Dim xccc As String

        Dim estoy_en

        Dim xsigno As String

        Dim xnumero As String

        Dim efe_ocho, efe_ocho1 As String

        Dim xtipocliente As String

        Dim xcodigocliente As String

        Dim xnombrecliente As String

        Dim xbanco As String

        Set MYWS = DBEngine.Workspaces(0)

        Set MYDB = MYWS.Databases(0)

        Set X_PRODUCTOS = MYDB.OpenRecordset(«PRODUCTOS_INTERVINIENTES»)

        Set X_CLIENTES = MYDB.OpenRecordset(«HISTORICO_BLOQUEOS»)

        Let k1 = 7

        Let k2 = 3

        Let k3 = 5

        ‘APERTURA SESION HOST

        Set con = New AutConnMgr

        Set emu = New AutSess

        con.autECLConnList.Refresh

        emu.SetConnectionByHandle (con.autECLConnList(1).Handle)

        host

        menu_principal

        host

        punto_16_7_1

        host

        Do While Not X_CLIENTES.EOF

            xtipocliente = X_CLIENTES.Fields(«COD_TIPOCLIENTE»).Value

            xcodigocliente = X_CLIENTES.Fields(«COD_CLIENTE»).Value

            ‘CLEAR SCREEN CON PF2

            PF2

            ‘RELLENAR CON DATOS PANTALLA PRINCIPAL DE EMULADOR

            host

            texto 20, xtipocliente

            texto 21, xcodigocliente

            Intro

            If leer(1) = «KPP705» Then

                xnombrecliente = leer(23)

                Do Until leer(113) = «XX0056» Or leer(113) = «KP3113»

                    For i = 0 To 9

                        X_PRODUCTOS.AddNew

                       

                        If leer(1) = «KPP705» Then

                            X_PRODUCTOS.Fields(«COD_TIPOCLIENTE»).Value = xtipocliente

                            X_PRODUCTOS.Fields(«COD_CLIENTE»).Value = xcodigocliente

                            X_PRODUCTOS.Fields(«NOMBRE_CLIENTE»).Value = xnombrecliente

                            X_PRODUCTOS.Fields(«CCC»).Value = leer(32 + (i * k1))

                            X_PRODUCTOS.Fields(«INTERVENCION»).Value = leer(33 + (i * k1))

                            X_PRODUCTOS.Fields(«SALDO_PRINCIPAL»).Value = Val(leer(34 + (i * k1)))

                            X_PRODUCTOS.Fields(«MONEDA»).Value = leer(35 + (i * k1))

                       

                            PF11

                        End If

                        If leer(1) = «KPP702» Then

                            X_PRODUCTOS.Fields(«FECHA_SALDO_PRINCIPAL»).Value = leer(27 + (i * k2))

                            X_PRODUCTOS.Fields(«PRODUCTO»).Value = leer(28 + (i * k2))

                            X_PRODUCTOS.Fields(«DESCRIPCION_TIPO_PRODUCTO»).Value = leer(29 + (i * k2))

                            PF11

                        End If

                        If leer(1) = «KPP701» Then

                            X_PRODUCTOS.Fields(«TIPO_SUBTIPO»).Value = leer(26 + (i * k3)) & leer(27 + (i * k3)) & leer(28 + (i * k3))

                            X_PRODUCTOS.Fields(«DESCRIPCION_SUBTIPO_PRODUCTO»).Value = leer(i * k3)

                            PF10

                            PF10

                        End If

                        X_PRODUCTOS.Update

                    Next i

                    PF8

                Loop

                PF3

            End If

            X_CLIENTES.MoveNext

        Loop

    End If

    ‘CIERRE SESION HOST

    host

    menu_principal

    Set emu = Nothing

    Set con = Nothing

    ‘CIERRE HANDLE BASE DE DATOS

    X_PRODUCTOS.Close

    X_CLIENTES.Close

    MYDB.Close

    MYWS.Close

    DoCmd.RunSQL «DELETE * FROM PRODUCTOS_INTERVINIENTES WHERE CCC=»;»

    On Error GoTo 0

End Function

Function ejecutar_bloqueos_CONTRATO() As Boolean

    If MsgBox(«HA DE TENER ABIERTA SESIÓN HOST TPX SANTANDER EN MENÚ PRINCIPAL», vbOKCancel) = vbOK Then

        ‘DEFINICION Y APERTURA DE BASE DE DATOS DONDE EL USUARIO ALMACENA LOS CLIENTES A ANALIZAR

        Dim MYWS As Workspace

        Dim MYDB As Database

       

        Dim X_CONTRATOS As Recordset

       

        Dim xtipocliente As String

        Dim xcodigocliente As String

        Dim xproblema As String

        Dim xfinish As String

        Dim xcontrato As String

        Dim xmotivo As String

        ‘APERTURA SESION HOST

        Set con = New AutConnMgr

        Set emu = New AutSess

        Set MYWS = DBEngine.Workspaces(0)

        Set MYDB = MYWS.Databases(0)

        DoCmd.OpenQuery «CONTRATOSX»

        Set X_MOTIVO = MYDB.OpenRecordset(«MOTIVO»)

        Set X_CONTRATOS = MYDB.OpenRecordset(«CONTRATOS_X»)

        con.autECLConnList.Refresh

        emu.SetConnectionByHandle (con.autECLConnList(1).Handle)

        host

        menu_principal

        host

        punto_16_16_2

       

        X_MOTIVO.MoveFirst

        xmotivo = X_MOTIVO.Fields(«TEXTO_MOTIVO»).Value

       

       

        X_CONTRATOS.MoveLast

        If Not X_CONTRATOS.EOF Then

            X_CONTRATOS.MoveFirst

       

            host

            punto_16_16_2

            Do While Not X_CONTRATOS.EOF

                xcontrato = X_CONTRATOS.Fields(«CCC»).Value

                xtipocliente = X_CONTRATOS.Fields(«COD_TIPOCLIENTE»).Value

                xcodcliente = X_CONTRATOS.Fields(«COD_CLIENTE»).Value

                xidcliente = X_CONTRATOS.Fields(«ID_CLIENTE»).Value

               

                ‘CLEAR SCREEN CON PF2

                PF2

                ‘RELLENAR CON DATOS PANTALLA PRINCIPAL DE EMULADOR

                host

                texto 18, Left(xcontrato, 4)

                texto 19, Mid(xcontrato, 6, 4)

                texto 20, Mid(xcontrato, 11, 2)

                texto 21, Right(xcontrato, 10)

               

               

                texto 28, «A»

                Intro

                host

           

                Select Case leer(1)

                    Case «I7P120»

                         X_CONTRATOS.Edit

                         X_CONTRATOS.Fields(«SECUENCIA»).Value = X_CONTRATOS.Fields(«SECUENCIA»).Value & » » & leer(1)

                         X_CONTRATOS.Update

                         texto 58, «S»

                         Intro

                         host

                         Select Case leer(1)

                              Case «I7P150»

                                   X_CONTRATOS.Edit

                                   X_CONTRATOS.Fields(«SECUENCIA»).Value = X_CONTRATOS.Fields(«SECUENCIA»).Value & » » & leer(1)

                                   X_CONTRATOS.Update

                                   texto 43, «16»

                                   texto 50, xmotivo

                                   Intro

                                   host

                                   Select Case leer(1)

                                        Case «I7P151»

                                             X_CONTRATOS.Edit

                                             X_CONTRATOS.Fields(«SECUENCIA»).Value = X_CONTRATOS.Fields(«SECUENCIA»).Value & » » & leer(1)

                                             X_CONTRATOS.Fields(«MOTIVO»).Value = xmotivo

                                             X_CONTRATOS.Update

                                             PF5

                                             PF3

                                             PF3

                                             PF3

                                   Case Else

                                        X_CONTRATOS.Edit

                                        X_CONTRATOS.Fields(«PROBLEMA»).Value = leer(57)

                                        X_CONTRATOS.Update

                                   End Select

                         Case Else

                              X_CONTRATOS.Edit

                              X_CONTRATOS.Fields(«PROBLEMA»).Value = leer(57)

                              X_CONTRATOS.Update

                   

                         End Select

                    Case Else

                         X_CONTRATOS.Edit

                         X_CONTRATOS.Fields(«PROBLEMA»).Value = leer(57)

                         X_CONTRATOS.Update

                End Select

                X_CONTRATOS.MoveNext

            Loop

        End If

    End If

    host

    menu_principal

    ‘CIERRE SESION HOST

    Set emu = Nothing

    Set con = Nothing

    ‘CIERRE HANDLE BASE DE DATOS

    X_CONTRATOS.Close

    MYDB.Close

    MYWS.Close

           

End Function

‘****************************

‘*                          *

‘*  FUNCIONES AUXILIARES    *

‘*                          *

‘****************************

Function host()

          emu.autECLOIA.WaitForAppAvailable

          emu.autECLOIA.WaitForInputReady

          emu.autECLPS.autECLFieldList.Refresh

End Function

Function menu_principal()

    Do While True

        PF3

        If Left(leer(12), 17) = «REDB APLICACIONES» Then

            Exit Do

        End If

    Loop

End Function

Function punto_16_16_2()

    If Left(leer(12), 17) = «REDB APLICACIONES» Then

        host

        texto 118, «16»

        Intro

        host

        texto 118, «16»

        Intro

        host

        texto 118, «2»

        Intro

        host

    End If

End Function

Function punto_16_7_3()

    If Left(leer(12), 17) = «REDB APLICACIONES» Then

        host

        texto 118, «16»

        Intro

        host

        texto 118, «7»

        Intro

        host

        texto 118, «3»

        Intro

        host

    End If

End Function

End Function

Function punto_16_7_1()

    If Left(leer(12), 17) = «REDB APLICACIONES» Then

        host

        texto 118, «16»

        Intro

        host

        texto 118, «7»

        Intro

        host

        texto 118, «1»

        Intro

        host

    End If

End Function

Function punto_6_1_11()

    If Left(leer(12), 17) = «REDB APLICACIONES» Then

        host

        texto 118, «6»

        Intro

        host

        texto 118, «1»

        Intro

        host

        texto 118, «11»

        Intro

        host

    End If

End Function

Function texto(xposicion As Long, xtexto As String)

    emu.autECLPS.autECLFieldList(xposicion).SetText xtexto

End Function

Function leer(xposicion As Long) As String

    leer = Trim(LTrim((emu.autECLPS.autECLFieldList(xposicion).GetText)))

End Function

Function abrir_host()

    Set con = New AutConnMgr

    Set emu = New AutSess

    con.autECLConnList.Refresh

    emu.SetConnectionByHandle (con.autECLConnList(1).Handle)

End Function

Function PF10()

    ‘PULSO F10 Y VAMOS A LA PANTALLA IZQUIERDA

    emu.autECLOIA.WaitForAppAvailable

    emu.autECLOIA.WaitForInputReady

    emu.autECLPS.SendKeys («[pf10]»)

    emu.autECLOIA.WaitForAppAvailable

    emu.autECLOIA.WaitForInputReady

    emu.autECLPS.autECLFieldList.Refresh

End Function

Function PF8()

    ‘PULSO F8 Y VAMOS ABAJO

    emu.autECLOIA.WaitForAppAvailable

    emu.autECLOIA.WaitForInputReady

    emu.autECLPS.SendKeys («[pf8]»)

    emu.autECLOIA.WaitForAppAvailable

    emu.autECLOIA.WaitForInputReady

    emu.autECLPS.autECLFieldList.Refresh

End Function

Function PF11()

    ‘PULSO F11 Y VAMOS A LA PANTALLA DERECHA

    emu.autECLOIA.WaitForAppAvailable

    emu.autECLOIA.WaitForInputReady

    emu.autECLPS.SendKeys («[pf11]»)

    emu.autECLOIA.WaitForAppAvailable

    emu.autECLOIA.WaitForInputReady

    emu.autECLPS.autECLFieldList.Refresh

End Function

Function PF3()

    ‘PULSO F3 Y VAMOS ATRAS

    emu.autECLOIA.WaitForAppAvailable

    emu.autECLOIA.WaitForInputReady

    emu.autECLPS.SendKeys («[pf3]»)

    emu.autECLOIA.WaitForAppAvailable

    emu.autECLOIA.WaitForInputReady

    emu.autECLPS.autECLFieldList.Refresh

End Function

Function PF5()

    emu.autECLOIA.WaitForAppAvailable

    emu.autECLOIA.WaitForInputReady

    emu.autECLPS.SendKeys («[pf5]»)

    emu.autECLOIA.WaitForAppAvailable

    emu.autECLOIA.WaitForInputReady

    emu.autECLPS.autECLFieldList.Refresh

End Function

Function PF2()

    emu.autECLOIA.WaitForAppAvailable

    emu.autECLOIA.WaitForInputReady

    emu.autECLPS.SendKeys («[pf2]»)

    emu.autECLOIA.WaitForAppAvailable

    emu.autECLOIA.WaitForInputReady

    emu.autECLPS.autECLFieldList.Refresh

End Function

Function Intro()

    host

    emu.autECLPS.SendKeys («[enter]»)

    emu.autECLPS.WaitForAttrib 8, 1, «00», «3c», 3, 100

    emu.autECLPS.WaitForCursor 10, 2, 100

    host

End Function

Function pruebas() As Boolean

    Set con = New AutConnMgr

    Set emu = New AutSess

    con.autECLConnList.Refresh

    emu.SetConnectionByHandle (con.autECLConnList(1).Handle)

    emu.autECLOIA.WaitForAppAvailable

    emu.autECLOIA.WaitForInputReady

    emu.autECLPS.autECLFieldList.Refresh

    emu.autECLOIA.WaitForAppAvailable

    emu.autECLOIA.WaitForInputReady

    emu.autECLPS.autECLFieldList.Refresh

           

    Dim xlabel As String

    Dim i

    On Error Resume Next

    For i = 0 To 187

        xlabel = «Label» + Trim(LTrim(CStr(211 + i)))

        Forms(«PRUEBAS»).Controls(xlabel).Caption = «(» & Trim(LTrim(Str(i + 1))) & «)» & Trim(emu.autECLPS.autECLFieldList(i + 1).GetText)

    Next

    For i = 0 To 107

        xlabel = «Etiqueta» + Trim(LTrim(CStr(426 + i)))

        Forms(«PRUEBAS»).Controls(xlabel).Caption = «(» & Trim(LTrim(Str(i + 188 + 1))) & «)» & Trim(emu.autECLPS.autECLFieldList(i + 188 + 1).GetText)

    Next

    On Error GoTo 0

End Function