/ Forside / Teknologi / Udvikling / VB/Basic / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
VB/Basic
#NavnPoint
berpox 2425
pete 1435
CADmageren 1251
gibson 1230
Phylock 887
gandalf 836
AntonV 790
strarup 750
Benjamin... 700
10  tom.kise 610
kommunikation mellem VB og mainframe IBM 3~
Fra : Michael Svarre Hanse~


Dato : 25-05-03 12:58

Er der nogen, som ved, hvordan jeg kan skabe kontakt mellem VB og Mainframe
370 - fx CICS alternativt DB2 - Stored Procedure

Hilsen Michael



 
 
Niels Krogh (26-05-2003)
Kommentar
Fra : Niels Krogh


Dato : 26-05-03 19:14

Hej Michael,

Der er en lidt besværlig måde at gøre det på : Screen Scraping...

Vi bruger Personal Communications fra IBM til vores CICS sessioner, hvor vi
via vb og nogle API kald til disse sessioner sender og læser karakterer på
skærmen.

Hvis du er interesseret, kan jeg sende et eksempel samt en ca 2 MB pdf fil
omkring det.

Venligst svar her i gruppen.

mvh
Niels K.


"Michael Svarre Hansen" <svarre-hansen@post.tele.dk> wrote in message
news:baqb4h$rj2$1@sunsite.dk...
> Er der nogen, som ved, hvordan jeg kan skabe kontakt mellem VB og
Mainframe
> 370 - fx CICS alternativt DB2 - Stored Procedure
>
> Hilsen Michael
>
>



Hans Kjaergaard (26-05-2003)
Kommentar
Fra : Hans Kjaergaard


Dato : 26-05-03 19:52

On Mon, 26 May 2003 20:14:08 +0200, "Niels Krogh"
<nikro@FJERNbigfoot.com> wrote:

>Hej Michael,
>
>Der er en lidt besværlig måde at gøre det på : Screen Scraping...
>
>Vi bruger Personal Communications fra IBM til vores CICS sessioner, hvor vi
>via vb og nogle API kald til disse sessioner sender og læser karakterer på
>skærmen.
>
>Hvis du er interesseret, kan jeg sende et eksempel samt en ca 2 MB pdf fil
>omkring det.
Jeg er da meget intereseret, bare post i en passende binær grupper,
eller mail.

/Hans

Michael Svarre Hanse~ (26-05-2003)
Kommentar
Fra : Michael Svarre Hanse~


Dato : 26-05-03 21:20

Det er jeg også interesseret i

Hilsen Michael




"Niels Krogh" <nikro@FJERNbigfoot.com> skrev i en meddelelse
news:batlf5$73m$1@sunsite.dk...
> Hej Michael,
>
> Der er en lidt besværlig måde at gøre det på : Screen Scraping...
>
> Vi bruger Personal Communications fra IBM til vores CICS sessioner, hvor
vi
> via vb og nogle API kald til disse sessioner sender og læser karakterer på
> skærmen.
>
> Hvis du er interesseret, kan jeg sende et eksempel samt en ca 2 MB pdf fil
> omkring det.
>
> Venligst svar her i gruppen.
>
> mvh
> Niels K.
>
>
> "Michael Svarre Hansen" <svarre-hansen@post.tele.dk> wrote in message
> news:baqb4h$rj2$1@sunsite.dk...
> > Er der nogen, som ved, hvordan jeg kan skabe kontakt mellem VB og
> Mainframe
> > 370 - fx CICS alternativt DB2 - Stored Procedure
> >
> > Hilsen Michael
> >
> >
>
>



Niels Krogh (27-05-2003)
Kommentar
Fra : Niels Krogh


Dato : 27-05-03 08:53

Hej Gruppe

Idet I det følgende er noget kode eksempler som kan bruges - men I skal nok
tilpasse det lidt. Komplet Manual/Oversigt kan hentes hos IBM på linket :
http://www-1.ibm.com/support/docview.wss?uid=swg27001299

Hvis i får Error.Number 48 eller 53 (OS afhængig) er det fordi VB ikke kan
kalde/se DLL'en

Desværre er jeg ikke på nettet fra i eftermiddag og en uges tid frem pga.
arbejde i Norge, men drop en mail her eller på min private mail (fjern FJERN
fra mailadressen) hvis i har yderligere spørgsmål - så kigger jeg på det når
jeg kommer hjem.

Mvh
Niels Krogh

Kort fortalt foregår alle kald gennem PCSHLL32.DLL som ligger hvor Personal
Communications (herefter PComm) er installeret.
Desværre, for at kunne kalde denne DLL, skal biblioteket hvor PComm være i
Path variablen på PC'eren, ellers kan man umiddelbart ikke kalde DLL'en.

Private Declare Function HllAPI Lib "PCSHLL32.DLL" Alias _
"hllapi" (iFunction As Long, ByVal sData As String, iLength As Long,
iRC As Long) As Long

' Jeg har en enum med de funktionskald jeg skal bruge :

Public Enum enumHLLAPIFunctions
eConnectPresentationSpace = 1
eDisconnectPresentationSpace = 2
eSendKey = 3
eWait = 4
eSearchPresentationSpace = 6
eCopyPresentationSpaceToString = 8
eResetSystem = 21
eSetCursor = 40
eConnectWindowServices = 101
eDisconnectWindowServices = 102
End Enum

' // Lidt Variabler der er erklæres :

Private mFuncNo As Long
Private mData As String * 1920
Private mDataLength As Long
Private mRC As Long
private mbConnected as Boolean

' // Og nogle konstanter som kan bruges til tastetryk :

Private Const PF10 As String = "@a"
Private Const PF20 As String = "@k"
Private Const ENTER As String = "@E"

' // Derefter er flowet som følger for at connecte til fx Session A

SessionID = "A"

' 1 - Reset System (21)
mFuncNo = enumHLLAPIFunctions.eResetSystem
mData = SessionID
mDataLength = Len(SessionID)
mRC = 0
Call HllAPI(mFuncNo, mData, mDataLength, mRC)

if mRC <> 0 Then Exit Sub / Function ' Return code skal være 0 for det er
gået godt.

' 2 - Connect Presentation Space (1)
mFuncNo = enumHLLAPIFunctions.eConnectPresentationSpace
mData = SessionID
mDataLength = Len(SessionID)
mRC = 0
Call HllAPI(mFuncNo, mData, mDataLength, mRC)

if mRC <> 0 Then Exit Sub / Function ' Return code skal være 0 for det er
gået godt.

' 3 - Wait (4) - until system is ready...
mFuncNo = enumHLLAPIFunctions.eWait
mData = SessionID
mDataLength = Len(SessionID)
mRC = 0
Call HllAPI(mFuncNo, mData, mDataLength, mRC)

' 4 - if reached here then alles in butter...
if mRC = 0 Then mbConnected = True


' // For at sende noget til skærmen har jeg 2 funktioner :

' // Funktion 1 - SetCursor på en bestemt position :

Public Function SetCursor(ByVal Row As Byte, Column As Byte) As Long
' The Set Cursor function is used to set the position of the cursor within
the host
' presentation space. Before using the Set Cursor function, a workstation
application
' must be connected to the host presentation space.

If Not mbConnected Then Exit Function

If Row < 0 Or Row > 24 Or Column < 0 Or Column > 80 Then
Exit Function
End If

mFuncNo = enumHLLAPIFunctions.eSetCursor
mData = ""
mDataLength = 0
mRC = ((Row - 1) * 80) + Column ' start postion...

Call HllAPI(mFuncNo, mData, mDataLength, mRC)

return mRC

End Function

' // og Funktion 2 - SendKey til skærmen

Public Function SendKey(ByVal Key As String) As Long
' The Send Key function is used to send either a keystroke or a string of
keystrokes
' to the host presentation space.

If Not mbConnected Then Exit Function

mFuncNo = enumHLLAPIFunctions.eSendKey
mData = Key
mDataLength = Len(Key)
mRC = 0

Call HllAPI(mFuncNo, mData, mDataLength, mRC)

Return mRC

End Function

' // for at læse noget fra en bestemt position på skærmen :
Public Function ReadString(ByVal Row As Long, Column As Long, length As
Long) As String

If Not mbConnected Then Exit Function

mFuncNo = enumHLLAPIFunctions.eCopyPresentationSpaceToString
mData = ""
mDataLength = length ' length...
mRC = ((Row - 1) * 80) + Column ' start postion...
Call HllAPI(mFuncNo, mData, mDataLength, mRC)
ReadString = mData

End Function

' // Når man ikke skal bruge Sessionen mere, skal der disconnectes :

' Disconnect Presentation Space (101)
mRC = 0
mFuncNo = enumHLLAPIFunctions.eDisconnectPresentationSpace
Call HllAPI(mFuncNo, mData, mDataLength, mRC)

if mRC = 0 Then
mbConnected = False
End if


"Michael Svarre Hansen" <svarre-hansen@post.tele.dk> wrote in message
news:baqb4h$rj2$1@sunsite.dk...
> Er der nogen, som ved, hvordan jeg kan skabe kontakt mellem VB og
Mainframe
> 370 - fx CICS alternativt DB2 - Stored Procedure
>
> Hilsen Michael
>
>



Michael Svarre Hanse~ (27-05-2003)
Kommentar
Fra : Michael Svarre Hanse~


Dato : 27-05-03 21:30

Hej igen

Jeg er af vores DB2-administratorer blevet anbefalet at skrive vores
validerings- og db-rutiner i et Cobolprogram, som compileres som en
Stored-Procedure.
SP kan nåes via ODBC-driveren (ADO)

Hilsen Michael




"Michael Svarre Hansen" <svarre-hansen@post.tele.dk> skrev i en meddelelse
news:baqb4h$rj2$1@sunsite.dk...
> Er der nogen, som ved, hvordan jeg kan skabe kontakt mellem VB og
Mainframe
> 370 - fx CICS alternativt DB2 - Stored Procedure
>
> Hilsen Michael
>
>



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408924
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste