Newsgroup: it.comp.lang.visual-basic
Titolo: VB e Client Access

Ciao,
qualcuno saprebbe indicarmi come gestire da codice le macro AS400 già
memorizzate in emulazione Client Access e quali riferimenti caricare nel
progetto?
Praticamente non so da dove iniziare
Grazie
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

Ho fatto tante cose con l'AS/400 ma gestire le macro proprio no. Comunque
prova a dare un'occhiata a questo link:
http://www-1.ibm.com/servers/eserver/iseries/access/toolkit/index.html
Ciao, Vincenzo

 ha
scritto:

Interessante il link!
Ma una volta che apro la sessione AS, come faccio a far passare stringe, es
Utente e Password ed Invio sulla maschera di login?
Ciao


Mi spieghi che cosa devi fare esattamente... magari è più semplice di quello
che pensi!
Se devi eseguire lavori in batch, mandare msg in break o altre operazioni
simili, la strada da seguire è un'altra e non c'entra niente l'emulazione
3270
Ciao, Vincenzo


Ciao,
allora: ho creato una call in as che esegue una qry e trasferisce il file
generato sul disco della mia macchina.
Dalla mia applicazione dovrei:
1- aprire la sessione AS
2- Eseguire il login
3- scrivere sulla riga di comando la call ed eseguirla
4- eseguire signoff
a questo punto la macro non m'interessa piů.
Lo so che non č difficile, perň.....dove comincio??
Ciao e Grazie
Massimo


Nei riferimenti del progetto, devi inserire "IBM AS/400 Client Access
Express ActiveX Object Library"
Dim myAS400 As New cwbx.AS400System
Dim myAS400cmd As New cwbx.Command
    myAS400.Define "NOMEAS400"
    myAS400.UserID = "TuoUtente"
    myAS400.Password = "TuaPassword"
    Set myAS400cmd.System = myAS400
    myAS400cmd.Run "SBMJOB CMD(CALL PGM(TUALIBRERIA/TUOPROGRAMMA))"
Per prelevare il file (non mi hai detto di che tipo č!) puoi fare in diversi
modi a seconda del tipo:
- OLEDB
- Code Dati
- Richiesta di trasferimento Client Access
- FTP
Ti do il numero del mio Conto Corrente per eventuali donazioni ?! :-)))
Ciao, Vincenzo


Ciao,
...per il numero di conto....OK ;) una donazione è sempre una donazione....
Ho provato come mi hai detto, però non lancia la call, e penso che non si
connetta nemmeno; sicuramente sbaglio qualcosa
lo so perché la call dovrebbe lanciare un tto che effettua il trasferimento
del file da AS a PC. ma non vedo nessuna esecuzione.
Visto che sei così gentile, esiste un metodo per "lavorare con lo schermo
del CA" in modo da passare stringhe e comandi? Mi spiego aprendo la sessione
AS potrei passare User<FieldPlus>Password<Enter> per effetuare il login e
poi richiamare la call con CALL NOME<Enter>
Ho trovato alcuni esempi però richiedono l'evento SendKeys; tu sai qualcosa?
Grazie!
...p.s.: e con questo fanno 2 ;)


Scusa, ma hai un pò di confusione!!!
Tutto quello che ti ho detto serve per eseguire lavori sull'AS/400.
Se ho capito bene, il tuo problema è semplicemente quello di dover prelevare
dei dati da AS400 e spostarli su PC. Quindi basta che da procedi in questo
modo:
1) crei la tua richiesta di trasferimento e la salvi in una cartella (es.:
c:\AS400)
2) da VB usi questa riga di codice:
    a = Shell("RTOPCB /s c:\AS400\Richiesta.tto")
Nel caso di più richieste di trasferimento devi creare un file del tipo
Trasfer.txt che sarà strutturato in questo modo:
c:\AS400\Richiesta1.tto
/C
c:\AS400\Richiesta2.tto
/C
c:\AS400\Richiesta3.tto
/C
da VB useresti questa riga di codice:
    a = Shell("RTOPCB /s /f c:\AS400\Trasfer.txt")
Se non ci ho capito niente io, oppure vuoi avere altre delucidazioni,
scrivimi esattamente quello che devi fare che ti do alcune informazioni
utili.
Se puoi dovresti dirmi anche: versione OS/400, versione Client Access, tipo
di collegamento (LAN, PPP, internet)
Ciao, Vincenzo

 ha
scritto:

OK!!! ricominciamo
devo aggiornare i dati di un DB Access prelevando i dati da AS, quindi ho
pensato così:
In AS ho creato un query che genera un file con i dati che mi servono. la
qry è richiamata da un call che inoltre avvia il tto che trasferisce il file
su PC, poi importo i dati nella mi tabellina di access.
Mi piacerebbe però interagire con la sessione CA in questo modo:
Da VB apro un form in compilazione (utente e password); questi parametri
servono per effettuare il login ad AS (emulazione già avviata in
precedenza); quindi in teoria, quando clicco su connetti in VB, nella
maschera del CA mi si deve compilare il campo Utente ed il campo Parola
d'Ordine.
Si chiude il Form Vb di Login e si apre un altro form che richiede
l'inserimento del call da richiamare (es TRASFERISCIRUBRICA). Dando l'ok su
un command nella riga di comando del CA dovrebbe scrivere CALL
TRASFERISCIRUBRICA + INVIO.
A grandi linee questo è quello che vorrei realizzare avendo però la
possibilità di essere dinamico, quindi poter variare utente e call.
Si può fare?
Versione CA = 5.0
Connessione = LAN
Grazie


Scusa, ma non capisco perchč vuoi usare VB per scrivere sulla finestra di
emulazione di CA! Non fai prima a scrivere direttamente li.
Con il primo esempio che ho fatto io, puoi passare tutti gli utenti che vuoi
all'AS/400 e richiamare le CALL senza vederle scritte sulla finestra di
emulazione. Logicamente se lanci una CALL che deve eseguire un programma che
si trova su PC, devi assicurarti di aver eseguito STRPCO
Cmq se non vuoi usare le librerie di CA, puoi lavorare con alcuni comandi
dos:
CWBLOGON per eseguire il login
RUNRMTCMD per eseguire comandi
RTOPCB per prelevare il file
Alla fine, con VB apri il file di testo e lo cicli inserendo i dati nel tuo
db access.
Ciao, Vincenzo

 ha
scritto:

Ciao,
mi piacerebbe fare una cosa del genere perchč ho intenzione di sviluppare
un'applicazione in VB che memorizzi i dati in db access e che
contemporaneamente passi gli stessi dati digitati in as. Per quello vorrei
tanto riuscire a scrivere in emulazione senza digitare direttamente!!
Ho trovato esempi su come passare srtinghe e comandi da VB ad AS con
emulazione EXTRA non con CA.
Ciao, Massimo


Ti spiego brevemente cosa fa il mio programma di trasferimento:
Dall'AS400 --> PC (Access) importo tutte le anagrafiche (clienti, articoli,
fornitori) e tabelle (causali, depositi, corrieri, tipi documenti, gruppi
merc. .....)
Dal PC --> AS400 (DB2/400) scrive i documenti di vendita (bolle e fatture),
ordini e movimenti di magazzino.
Tutto questo senza la presenza di CA400!!!
Dammi retta studia gli esempi che sono nel sito che ti ho consigliato, sono
validissimi e ti faranno avere molti problemi in meno.
A dire il vero una volta ho visto una cosa come quella che volevi realizzare
tu, del tipo interazione con la sessione di emulazione CA... ma era talmente
una stronzata che non ti posto nemmeno il link.
Ciao, Vincenzo