Hola
                Con el mandato NETSTAT y con la opc.3 "Trabajar con Estado de 
Conexión TCP/IP"
                
                Aparte, te adjunto un programita (clp) que dice la pantalla, 
puerto y direccion IP.
Un Saludo
----aquí va el programa ----
/*------------------------------------------------------------------*/


 pgm


/*--------------------------------------------------------*/
/* declaration */
/*--------------------------------------------------------*/


             DCL        VAR(&RCVVAR) TYPE(*CHAR) LEN(1024)
             DCL        VAR(&RCVLEN) TYPE(*CHAR) LEN(4) +
                          VALUE(X'00000400')
             DCL        VAR(&FORMAT) TYPE(*CHAR) LEN(10) +
                          VALUE(DEVD0600)
             DCL        VAR(&TCPIP) TYPE(*CHAR) LEN(2) VALUE(X'02')
             DCL        VAR(&IPADDR) TYPE(*CHAR) LEN(15)
             DCL        VAR(&PORT) TYPE(*DEC) LEN(5)
             DCL        VAR(&PORTBIN) TYPE(*CHAR) LEN(2)
             DCL        VAR(&PORTCHAR) TYPE(*CHAR) LEN(5)
             DCL        VAR(&DEVD) TYPE(*CHAR) LEN(10)
             DCL        VAR(&ERRDTA) TYPE(*CHAR) LEN(116)
             DCL        VAR(&ERRLEN) TYPE(*CHAR) LEN(4) +
                          VALUE(X'00000074')
             DCL        VAR(&ERRAVL) TYPE(*DEC) LEN(15)
             DCL        VAR(&BIN4) TYPE(*CHAR) LEN(4)
             DCL        VAR(&MSG) TYPE(*CHAR) LEN(200)


             DCL        VAR(&ERROR) TYPE(*LGL) /* std err */
             DCL        VAR(&MSGID) TYPE(*CHAR) LEN(7) /* std err */
             DCL        VAR(&MSGKEY) TYPE(*CHAR) LEN(4) /* std err */
             DCL        VAR(&MSGDTA) TYPE(*CHAR) LEN(100) /* std err */
             DCL        VAR(&MSGF) TYPE(*CHAR) LEN(10) /* std err */
             DCL        VAR(&MSGFLIB) TYPE(*CHAR) LEN(10) /* std err */
             DCL        VAR(&MSGTYP) TYPE(*CHAR) LEN(10) +
                          VALUE('*DIAG') /* std err */
             DCL        VAR(&MSGTYPCTR) TYPE(*CHAR) LEN(4) +
                          VALUE(X'00000001') /* std err */
             DCL        VAR(&PGMMSGQ) TYPE(*CHAR) LEN(10) VALUE('*') +
                          /* std err */
             DCL        VAR(&STKCTR) TYPE(*CHAR) LEN(4) +
                          VALUE(X'00000001') /* std err */
             DCL        VAR(&ERRBYTES) TYPE(*CHAR) LEN(4) +
                          VALUE(X'00000000') /* std err */


             MONMSG     MSGID(CPF0000) EXEC(GOTO CMDLBL(ERROR))


/*--------------------------------------------------------*/
/* Get my device */
/*--------------------------------------------------------*/


             RTVJOBA    JOB(&DEVD)
             CHGVAR     VAR(&RCVVAR) VALUE(' ')
             CHGVAR     VAR(&ERRDTA) VALUE(&ERRLEN)


             CALL       PGM(QDCRDEVD) PARM(&RCVVAR &RCVLEN &FORMAT +
                          &DEVD &ERRDTA)


             CHGVAR     VAR(&BIN4) VALUE(%SST(&ERRDTA 5 4))
             CHGVAR     VAR(&ERRAVL) VALUE(%BIN(&BIN4))
             RMVMSG     CLEAR(*ALL)


 /*----------------------------------------------*/
/* Error found on the API, skip */
/*----------------------------------------------*/


             IF         COND(&ERRAVL > 0) THEN(DO)
             CHGVAR     VAR(&ERRDTA) VALUE(%SST(&ERRDTA 1 &ERRAVL))
             CHGVAR     VAR(&MSGID) VALUE(%SST(&ERRDTA 9 7))
             CHGVAR     VAR(&MSGDTA) VALUE(%SST(&ERRDTA 17 100))
             GOTO       CMDLBL(END)


             ENDDO
/*--------------------------------------------------------*/
/* Get the IP address for TCP/IP device. */
/* Network Protocol must equal = x'02' (pos 859) */
/*--------------------------------------------------------*/


             IF         COND(%SST(&RCVVAR 859 1) *NE &TCPIP) +
                          THEN(GOTO CMDLBL(END))
             CHGVAR     VAR(&PORTBIN) VALUE(%SST(&RCVVAR 860 2))
             CHGVAR     VAR(&PORT) VALUE(%BIN(&PORTBIN))
             CHGVAR     VAR(&PORTCHAR) VALUE(&PORT)
             CHGVAR     VAR(&IPADDR) VALUE(%SST(&RCVVAR 878 15))


/*--------------------------------------------------------*/
/* Display the information */
/*--------------------------------------------------------*/

             CHGVAR     VAR(&MSG) VALUE('Dispositivo:' *BCAT &DEVD +
                          *BCAT 'Puerto:' *BCAT &PORTCHAR *BCAT +
                          'Direccion IP:' *BCAT &IPADDR)
             SNDPGMMSG  MSG(&MSG)


             GOTO       CMDLBL(END)


/*--------------------------------------------------------*/
/* error routine: */
/*--------------------------------------------------------*/


 error:
             IF         COND(&ERROR) THEN(GOTO CMDLBL(ERRORDONE))
             ELSE       CMD(CHGVAR VAR(&ERROR) VALUE('1'))
/*----------------------------------------------*/
/* move all *DIAG message to *PRV program queue*/
/*----------------------------------------------*/


             CALL       PGM(QMHMOVPM) PARM(&MSGKEY &MSGTYP +
                          &MSGTYPCTR &PGMMSGQ &STKCTR &ERRBYTES)


 /*----------------------------------------------*/
/* resend the last *ESCAPE message */
/*----------------------------------------------*/


 errordone:
             CALL       PGM(QMHRSNEM) PARM(&MSGKEY &ERRBYTES)
             MONMSG     MSGID(CPF0000) EXEC(DO)
             SNDPGMMSG  MSGID(CPF3CF2) MSGF(QCFPMSG) +
                          MSGDTA('QMHRSNEM') MSGTYPE(*ESCAPE)
             MONMSG     MSGID(CPF0000)
             ENDDO
 END:        ENDPGM



 

-----Mensaje original-----
De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] En nombre de Ivan Amigo
Enviado el: viernes, 28 de julio de 2006 11:20
Para: [email protected]
Asunto: Saber IP dispositivos

    Una consulta: se puede saber de alguna manera desde que dirección IP se ha 
conectado un usuario al A400? Desde el dispositivo utilizado
(QPADEV????) se puede saber? Imagino que si el usuario sigue conectado, desde 
algúna opción  se podrá saber qué conexión está activa y desde qué IP y porqué 
puerto y demás, no?

   Muchas gracias

-- 

Iván Amigo Dumont
Sistemas de Información
T (+34) 913 609 958 |  F (+34) 913 609 994

RBC Dexia Investor Services España, S.A.
www.rbcdexia-is.es 



CAMBIO de DIRECCIONES de CORREO-E
Rogamos actualice su agenda de direcciones de correo electrónico. Todas las 
direcciones de correo del dominio "@bancoval.es" cambian a "@rbcdexia-is.es"

E-MAIL ADDRESSES are CHANGING
Be advised that all the e-mail addresses from the domain "@bancoval.es"
are changing to "@rbcdexia-is.es".Please update your e-mail addresses.

AVISO LEGAL
Este mensaje de correo electrónico y sus documentos adjuntos están dirigidos 
exclusivamente a los destinatarios especificados. Puede contener información 
confidencial o legalmente protegida. No hay renuncia a la confidencialidad o 
privilegio por cualquier transmisión errónea. Si usted no es el destinatario 
indicado, le rogamos que lo elimine y se lo comunique al remitente. No debe, 
directa o indirectamente, usar, revelar, distribuir, imprimir o copiar ninguna 
de las partes de este mensaje. Si siendo destinatario de este mensaje no 
consintiera el uso de correo electrónico, rogamos nos lo comunique 
inmediatamente.
RBCDexia Investor Services E,S.A. y sus filiales no serán responsables de las 
opiniones o informaciones incluidas en este mensaje salvo cuando el remitente 
esté autorizado para establecer que dichas opiniones proceden de RBCDexia 
Investor Services ,S.A.  y sus filiales.

DISCLAIMER
Addressee/s identified herein. It may contain confidential or legally 
privileged information. No confidentiality privilege is waived or lost by any 
mistransmission. If you are not the intended recipient, please immediately 
delete it and notify the sender. You must not, directly or indirectly, 
disclose, distribute, print, or copy any part of this message.
If you are the addressee of this message and do not consent to the use of 
e-mail, please communicate it to us immediately. RBCDexia Investor Services 
S.A. and its subsidiaries are not responsible for the opinions or information 
included in this message except when the sender is authorised to state them to  
be the views of RBCDexia Investor Services, S.A. and its subsidiaries.
__________________________________________________
Forum.HELP400 es un servicio más de NEWS/400.
© Publicaciones Help400, S.L. - Todos los derechos reservados 
http://www.help400.es _____________________________________________________

Para darte de baja visita la siguente URL:
http://coyote.combios.es/mailman/listinfo/forum.help400
/*------------------------------------------------------------------*/

/*------------------------------------------------------------------*/


 pgm


/*--------------------------------------------------------*/
/* declaration */
/*--------------------------------------------------------*/


             DCL        VAR(&RCVVAR) TYPE(*CHAR) LEN(1024)
             DCL        VAR(&RCVLEN) TYPE(*CHAR) LEN(4) +
                          VALUE(X'00000400')
             DCL        VAR(&FORMAT) TYPE(*CHAR) LEN(10) +
                          VALUE(DEVD0600)
             DCL        VAR(&TCPIP) TYPE(*CHAR) LEN(2) VALUE(X'02')
             DCL        VAR(&IPADDR) TYPE(*CHAR) LEN(15)
             DCL        VAR(&PORT) TYPE(*DEC) LEN(5)
             DCL        VAR(&PORTBIN) TYPE(*CHAR) LEN(2)
             DCL        VAR(&PORTCHAR) TYPE(*CHAR) LEN(5)
             DCL        VAR(&DEVD) TYPE(*CHAR) LEN(10)
             DCL        VAR(&ERRDTA) TYPE(*CHAR) LEN(116)
             DCL        VAR(&ERRLEN) TYPE(*CHAR) LEN(4) +
                          VALUE(X'00000074')
             DCL        VAR(&ERRAVL) TYPE(*DEC) LEN(15)
             DCL        VAR(&BIN4) TYPE(*CHAR) LEN(4)
             DCL        VAR(&MSG) TYPE(*CHAR) LEN(200)


             DCL        VAR(&ERROR) TYPE(*LGL) /* std err */
             DCL        VAR(&MSGID) TYPE(*CHAR) LEN(7) /* std err */
             DCL        VAR(&MSGKEY) TYPE(*CHAR) LEN(4) /* std err */
             DCL        VAR(&MSGDTA) TYPE(*CHAR) LEN(100) /* std err */
             DCL        VAR(&MSGF) TYPE(*CHAR) LEN(10) /* std err */
             DCL        VAR(&MSGFLIB) TYPE(*CHAR) LEN(10) /* std err */
             DCL        VAR(&MSGTYP) TYPE(*CHAR) LEN(10) +
                          VALUE('*DIAG') /* std err */
             DCL        VAR(&MSGTYPCTR) TYPE(*CHAR) LEN(4) +
                          VALUE(X'00000001') /* std err */
             DCL        VAR(&PGMMSGQ) TYPE(*CHAR) LEN(10) VALUE('*') +
                          /* std err */
             DCL        VAR(&STKCTR) TYPE(*CHAR) LEN(4) +
                          VALUE(X'00000001') /* std err */
             DCL        VAR(&ERRBYTES) TYPE(*CHAR) LEN(4) +
                          VALUE(X'00000000') /* std err */


             MONMSG     MSGID(CPF0000) EXEC(GOTO CMDLBL(ERROR))


/*--------------------------------------------------------*/
/* Get my device */
/*--------------------------------------------------------*/


             RTVJOBA    JOB(&DEVD)
             CHGVAR     VAR(&RCVVAR) VALUE(' ')
             CHGVAR     VAR(&ERRDTA) VALUE(&ERRLEN)


             CALL       PGM(QDCRDEVD) PARM(&RCVVAR &RCVLEN &FORMAT +
                          &DEVD &ERRDTA)


             CHGVAR     VAR(&BIN4) VALUE(%SST(&ERRDTA 5 4))
             CHGVAR     VAR(&ERRAVL) VALUE(%BIN(&BIN4))
             RMVMSG     CLEAR(*ALL)


 /*----------------------------------------------*/
/* Error found on the API, skip */
/*----------------------------------------------*/


             IF         COND(&ERRAVL > 0) THEN(DO)
             CHGVAR     VAR(&ERRDTA) VALUE(%SST(&ERRDTA 1 &ERRAVL))
             CHGVAR     VAR(&MSGID) VALUE(%SST(&ERRDTA 9 7))
             CHGVAR     VAR(&MSGDTA) VALUE(%SST(&ERRDTA 17 100))
             GOTO       CMDLBL(END)


             ENDDO
/*--------------------------------------------------------*/
/* Get the IP address for TCP/IP device. */
/* Network Protocol must equal = x’02’ (pos 859) */
/*--------------------------------------------------------*/


             IF         COND(%SST(&RCVVAR 859 1) *NE &TCPIP) +
                          THEN(GOTO CMDLBL(END))
             CHGVAR     VAR(&PORTBIN) VALUE(%SST(&RCVVAR 860 2))
             CHGVAR     VAR(&PORT) VALUE(%BIN(&PORTBIN))
             CHGVAR     VAR(&PORTCHAR) VALUE(&PORT)
             CHGVAR     VAR(&IPADDR) VALUE(%SST(&RCVVAR 878 15))


/*--------------------------------------------------------*/
/* Display the information */
/*--------------------------------------------------------*/

             CHGVAR     VAR(&MSG) VALUE('Dispositivo:' *BCAT &DEVD +
                          *BCAT 'Puerto:' *BCAT &PORTCHAR *BCAT +
                          'Direccion IP:' *BCAT &IPADDR)
             SNDPGMMSG  MSG(&MSG)


             GOTO       CMDLBL(END)


/*--------------------------------------------------------*/
/* error routine: */
/*--------------------------------------------------------*/


 error:
             IF         COND(&ERROR) THEN(GOTO CMDLBL(ERRORDONE))
             ELSE       CMD(CHGVAR VAR(&ERROR) VALUE('1'))
/*----------------------------------------------*/
/* move all *DIAG message to *PRV program queue*/
/*----------------------------------------------*/


             CALL       PGM(QMHMOVPM) PARM(&MSGKEY &MSGTYP +
                          &MSGTYPCTR &PGMMSGQ &STKCTR &ERRBYTES)


 /*----------------------------------------------*/
/* resend the last *ESCAPE message */
/*----------------------------------------------*/


 errordone:
             CALL       PGM(QMHRSNEM) PARM(&MSGKEY &ERRBYTES)
             MONMSG     MSGID(CPF0000) EXEC(DO)
             SNDPGMMSG  MSGID(CPF3CF2) MSGF(QCFPMSG) +
                          MSGDTA('QMHRSNEM') MSGTYPE(*ESCAPE)
             MONMSG     MSGID(CPF0000)
             ENDDO
 END:        ENDPGM




Responder a