Si tienen alguno a mano mejor, sino, en todo caso, mas tarde armo lo que tengo y lo posteo a ver si alguno puede darme una mano.
Gracias por leer

Código: Seleccionar todo
/* REXX */
TRACE O
MAIN:
ADDRESS TSO "SUBCOM DSNREXX"
IF RC <> 0 THEN DO
S_RC = RXSUBCOM('ADD','DSNREXX','DSNREXX')
IF S_RC <> 0 THEN DO
SAY 'EL AMBIENTE NO RESPONDE, INTENTE MAS TARDE'
EXIT
END
END
ssid = 'DSNB'
ADDRESS DSNREXX "CONNECT" ssid
IF SQLCODE ¬= 0 THEN CALL SALERROR 'CONNECT'
Código: Seleccionar todo
/* REXX */
call DB2_ChkConn
if result then
say 'Falla en ambientación.'
else
call DB2_Connect('<<SSID Name>>')
exit(abs(result))
DB2_ChkConn:
say 'DSNREXX: Evaluando ambientación...'
"SUBCOM DSNREXX" /* Verifica ambientación a DSNREXX
0. Ambientación existente.
1. Ambientación inexistente. */
if rc then do
say 'RXSUBCOM: Ambientando...'
call RXSUBCOM 'ADD', 'DSNREXX', 'DSNREXX'
say 'DSNREXX: Validando ambientación...'
"SUBCOM DSNREXX" /* Vuelve a validar ambientación */
end
else
say 'DSNREXX: Ambientación disponible. RC='rc
return rc
DB2_Connect:
parse value arg(1) with SSID .
say 'Conectando a SSID' SSID'...'
address DSNREXX 'CONNECT' SSID
if rc <> 0 then
say 'RC='rc '; Falla en conexión a' SSID'.'
else
say 'RC='rc '; SSID' SSID 'disponible.'
say ' SQLCODE:' sqlcode '; SQLSTATE:' sqlstate
return sqlcode