Arrancar Servidor Sockets

SERVIDOR SOCKETS 400 CPI PARA COPRINT SERVER (CPIXBASE)

Ejecutar este pgm: CALL cpi@pub/CPIX1STRW (es lo que hace el Paso 183 del menu/cmd COPRINT).
llamarlo de esta forma está bien para empezar, para pruebas… pero lo mejor es llamarlo al inicio del arranque del as400 o hacer una programación horaria con el IBM SCHEDULER.

Este Pgm puede ponerse en qstrup (IPL del as400) o en Trabajos Programados (Scheduler) con WRKJOBSCDE.

  • OJO El pgm debe correr con ID usuario *SECOFR pero NO QSECOFR, recomendamos perfil recomendado CPITCPS
  • No se debe correr con QPGMR, ojo con QSTRUP de IBM. Debe tenerse en cuenta que el CPIXBASE necesita tener propiedad sobre perfiles que se usen en los Coprint-pc, por lo que deberia ser un *SECOFR, ver perfil recomendado CPITCPS
  • OJO tampoco es bueno usar QSECOFR sino una copia, tal como el perfil recomendado CPITCPS, recomendable, crear un perfil para esto con *SECOFR

para saber si este pgm funciona hacer WRKACTJOB JOB(CPIXBASE) o paso 325, pero estando logeado en la sesion con un perfil adecuado.

EVITAR PROBLEMAS DE PROCESOS QSTRUP
(no específico para tareas CPI, recomendacion general)

QSTRUP (Proceso de IPL de IBM) usa perfil QPGMR, lo cual muchas veces dá pegas de autoridad etc si p.e. se pone dentro de qstrup el arranque del servidor sockets.

Puede hacerse que QSTRUP se arranque con un perfil que sea *SECOFR p.e.
ver CHGJOBD JOBD QSTRUPJD recomendado:

recomendamos: Crear una Cola y un Perfil para tareas de este tipo: ver perfil recomendado CPITCPS

 CALL QCMD
 CRTOUTQ OUTQ(QGPL/CPITCPS) AUT(*ALL)
 HLDOUTQ CPITCPS
 CRTUSRPRF USRPRF(CPITCPS) USRCLS(*SECOFR) INLMNU(*SIGNOFF) SPCAUT(*SECADM *SPLCTL) PWDEXPITV(*NOMAX) OUTQ(CPITCPS)
 y entonces
 CHGJOBD JOBD(QSYS/QSTRUPJD) OUTQ(QGPL/CPITCPS) USER(CPITCPS)
 GRTOBJAUT OBJ(QSTRUPJD) OBJTYPE(*JOBD) USER(CPITCPS) AUT(*ALL)

perfil recomendado para sockets

  • OJO El pgm debe correr con ID usuario *SECOFR pero NO QSECOFR, recomendamos perfil recomendado CPITCPS
  • No se debe correr con QPGMR, ojo con QSTRUP de IBM. Debe tenerse en cuenta que el CPIXBASE necesita tener proiedad sobre perfiles que se usen en los Coprint-pc, por lo que deberia ser un *SECOFR, ver perfil recomendado CPITCPS
  • OJO tampoco es bueno usar QSECOFR sino una copia, tal como el perfil recomendado CPITCPS, recomendable, crear un perfil para esto con *SECOFR como CPITCPS

miembros de trabajo scpripts QAPIXCPI

El arranque de CPI Sockets tambien envia por batch un trabajo (CPIX_DLTMBR o CPIXDLTMBR ) para borrar los miembros de trabajo viejos del fichero script QAPIXCPI.

El fichero de trabajo QAPIXCPI (en bib TEXTCPIU) tambien lo usan otros programas CPI, tal como API Excel

como ejecutar CPIX1STR en qstrup

COMO EJECUTAR CPIX1STR EN QSTRUP (AL ARRANCAR AS400, en IPL)

Esto es una recomendacion, sólo si no quiere usar otra opcion.
(si ya tiene modificado el proceso de inicio de as400 NO haga esto)

A: solo si NO tiene modificado el proceso de inicio del 400:

Esta opcion A es lo más sencillo si no tiene modificado el IPL, lo que hace nuestro programa es ejecutar el programa de IBM (sin modificarlo) y detras ejecutar nuestros procesos.

  • use como base un programa-fuente base de CPI:
    • WRKMBRPDM FILE(CPI@PUB/QDDSSRC) MBR(QSTR*) ☛ generalmente será el miembro QSTRCPI4.
      • use opcion 3 para copiar hacia QCLSRC de QGPL
  • ahora modifique ese base en QGPL
    • WRKMBRPDM FILE(QGPL/QCLSRC) MBR(QSTR*)
      • cambie el Tipo del Miembro a CLP
      • use opcion 5 para comprender el proceso
      • use op 2 si desea modificar algo
  • compile para generar el programa objeto
    • use opcion 14 y F4 para compilar (OJO ver opciones)
      • IMPORTANTE:
        • *ALL en “Autoridad”
        • *CURRENT en “Release destino”
        • *YES en “Sustituir programa”
        • opcional Perfil de usuario . . . . . . . CPITCPS
  • ahora decir al AS400 que arranque con este programa (que tambien llama al QSTRUP normal de IBM, claro)
    • WRKSYSVAL QSTRUPPGM
      • con 5 verás que el valor es el de IBM normal QSTRUP
      • 2 para cambiar valor
      • Programa: QSTRCPI4 y Biblioteca: QGPL

B: Si usa un QSTRUP modificado añadir lo siguiente:

  • fijese en el mbr ejemplo qStrCPI4 en QDDSSRC de Cpi@Pub
  • añada los addLibLE para las librerias CPI
    • ADDLIBLE CPI@PUB + MONMSG CPF0000
    • ADDLIBLE CPI@API + MONMSG CPF0000
  • añada la parte del CALL PGM(CPIX1STR … para CPI Sockets
    • tal como: CALL (CPIX1STR) ('CPITCPS' '27850')

en cualquier caso, otorge autoridad al proceso de IPL:
otorgar autoridad al proceso inicial (recomendable para no usar perfil qpgmr):

  • CHGJOBD JOBD(QSYS/QSTRUPJD) USER(CPITCPS) outq(CPITCPS)

como ejecutar CPIX1STR en Scheduler en lugar de QSTRUP

COMO EJECUTAR CPIX1STR EN SCHEDULER (tareas programadas) EN LUGAR DE QSTRUP.

Si NO quiere usar qstrup sino SCHEDULER para arrancar el trabajo a una cierta hora cada dia, recuerde que el trabajo tenga como usuario a CPITCPS o un *secofr que NO sea qsecofr.

por ejemplo:

  • ADDJOBSCDE JOB(SOCKETS) CMD(CALL PGM(CPI@PUB/CPIX1STRW)) FRQ(*WEEKLY) SCDDATE(*NONE) SCDDAY(*ALL) SCDTIME(0815) JOBQ(QSYSNOMAX) USER(CPITCPS)
  • –> para cambiar algo despues de hacer el ADDJOBSCDE use WRKJOBSCDE.

Notas:

  • en lugar de hacer call a CPIX1STRW puede usar el otro con parametros.
  • scheduler puede no ser lo mejor en algunos casos.

referencia

Adicionalmente puedes ver nuestro documento CoPrint_resumen_Server_Sockets.html que se instala en la carpeta de programas.

Si fuera sencillo lo haría cualquiera

 
/kunden/homepages/8/d674751560/htdocs/cpies/doc/data/pages/coprint/startsockets.txt · Última modificación: 28/09/2018 13:02 por admin
[unknown button type]
 
Excepto donde se indique lo contrario, el contenido de este wiki esta bajo la siguiente licencia: CC Attribution-Noncommercial-Share Alike 4.0 International
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki