Referencia de comando > Referencia de comando pmcmd > Cómo utilizar pmcmd
  

Cómo utilizar pmcmd

pmcmd es un programa que se utiliza para comunicarse con el servicio de integración. Con pmcmd, puede realizar algunas de las tareas que también puede realizar en el administrador de flujos de trabajo, tales como iniciar y detener flujos de trabajo y sesiones.
Use pmcmd en los siguientes modos:
Puede utilizar las variables de entorno para los nombres de usuario y las contraseñas con pmcmd. También puede utilizar las variables de entorno para personalizar la forma en que pmcmd muestra la fecha y la hora en el equipo en que se ejecuta el proceso del servicio de integración. Antes de utilizar pmcmd, configure estas variables en el equipo en que se ejecuta el proceso del servicio de integración. Las variables de entorno se aplican a los comandos pmcmd que se ejecutan en el nodo.

Ejecución de comandos en modo de línea de comandos

El modo de línea de comandos llama y sale de pmcmd cada vez que emite un comando. El modo de línea de comandos es útil si desea ejecutar comandos de pmcmd mediante archivos por lote, scripts u otros programas.
Use los comandos de pmcmd con herramientas de programación del sistema operativo como cron, o puede incrustar los comandos de pmcmd en shell o Perl scripts.
Cuando ejecute pmcmd en el modo de línea de comandos, introduzca la información de conexión como nombre de dominio, nombre del servicio de integración, nombre de usuario y contraseña en cada comando. Por ejemplo, para iniciar el flujo de trabajo “wf_SalesAvg” de la carpeta “SalesEast”, emplee la siguiente sintaxis:
pmcmd startworkflow -sv MyIntService -d MyDomain -u seller3 -p jackson ‑f SalesEast wf_SalesAvg
El usuario, seller3, con la contraseña “jackson”, envía la solicitud para iniciar el flujo de trabajo.
Si omite o introduce incorrectamente una de las opciones requeridas, el comando falla y pmcmd devuelve un código de retorno distinto de cero. Para obtener más información sobre todos los códigos de retorno, consulte Códigos de retorno de pmcmd.
Para ejecutar comandos de pmcmd en el modo de línea de comandos:
    1. En la línea de comandos, cambie al directorio en el que está ubicado el ejecutable de pmcmd.
    De forma predeterminada, el instalador de PowerCenter instala pmcmd en el directorio \server\bin.
    2. Escriba pmcmdseguido por el nombre del comando y sus opciones y argumentos obligatorios:
    pmcmd command_name [-option1] argument_1 [-option2] argument_2...

Códigos de retorno de pmcmd

En el modo de línea de comandos, pmcmd indica si un comando se ha ejecutado correcta o incorrectamente con un código de retorno. El código de retorno “0” indica que el comando se ha ejecutado correctamente. Cualquier otro código de retorno indica que el comando falló.
Use el comando echo de UNIX o DOS inmediatamente después de ejecutar un comando pmcmd para ver el código de retorno para el comando:
En la tabla siguiente, se describen los códigos de retorno para pmcmd:
Código
Descripción
0
Para todos los comandos, un valor de retorno igual a cero indica que el comando se ejecutó correctamente. Puede emitir los siguientes comandos en el modo de espera o modo sin espera: starttask, startworkflow, aborttask y abortworkflow. Si emite un comando en el modo de espera, un valor de retorno igual a cero indica que el comando se ejecutó correctamente. Si emite un comando en el modo sin espera, un valor de retorno igual a cero indica que la solicitud se transmitió correctamente al servicio de integración, y que éste confirmó haberla recibida.
1
El servicio de integración no está disponible, o pmcmd no puede conectarse con el servicio de integración. Existe un problema con el número de puerto o nombre de host de TCP/IP, o con la red.
2
El nombre de la tarea, el nombre del flujo de trabajo o el nombre de la carpeta no existen.
3
Se produjo un error al iniciar o ejecutar el flujo de trabajo o la tarea.
4
Error de uso. Las opciones que se pasaron a pmcmd no son correctas.
5
Se ha producido un error interno de pmcmd. Póngase en contacto con el servicio internacional de atención al cliente de Informatica.
7
Se ha utilizado un nombre de usuario o contraseña no válido.
8
No cuenta con los permisos o privilegios adecuados para realizar esta tarea.
9
El tiempo de espera de la conexión con el servicio de integración se agotó mientras se enviaba la solicitud.
12
El servicio de integración no puede iniciar la recuperación porque la sesión o el flujo de trabajo están programados, esperando un evento, en espera, inicializándose, anulándose, deteniéndose, deshabilitados o en ejecución.
13
La variable de entorno de nombre de usuario está configurada con un valor vacío.
14
La variable de entorno de contraseña está configurada con un valor vacío.
15
Falta la variable de entorno del nombre de usuario.
16
Falta la variable del entorno de contraseña.
17
El archivo de parámetros no existe.
18
El servicio de integración encontró el archivo de parámetros, pero no tenía los valores iniciales para los parámetros de la sesión, tales como $input o $output.
19
El servicio de integración no puede reanudar la sesión porque el flujo de trabajo está configurado para ejecutarse de forma continua.
20
Se ha producido un error del repositorio. Compruebe que el servicio del repositorio y la base de datos estén ejecutándose y que la cantidad de conexiones con la base de datos no sea mayor que la permitida.
21
El servicio de integración se está cerrando y no acepta nuevas solicitudes.
22
El servicio de integración no puede encontrar una instancia única del flujo de trabajo/sesión que se especificó. Vuelva a introducir el comando con el nombre de carpeta y el nombre de flujo de trabajo.
23
No hay datos disponibles para la solicitud.
24
Memoria insuficiente.
25
Se ha cancelado el comando.

Ejecución de comandos en modo interactivo

Use pmcmd en modo interactivo para iniciar y detener los flujos de trabajo y sesiones sin escribir ningún script. Cuando utilice el modo interactivo, introduzca la información de conexión como nombre de dominio, nombre del servicio de integración, nombre de usuario y contraseña. Luego puede seguir ejecutando otros comandos sin tener que introducir la información de conexión para cada comando.
Por ejemplo, los comandos siguientes llaman al modo interactivo, establecen una conexión con el servicio de integración “MyIntService” e inician los flujos de trabajo “wf_SalesAvg” y “wf_SalesTotal” de la carpeta “SalesEast”:
pmcmd
pmcmd> connect -sv MyIntService -d MyDomain -u seller3 -p jackson
pmcmd> setfolder SalesEast
pmcmd> startworkflow wf_SalesAvg
pmcmd> startworkflow wf_SalesTotal
Para ejecutar los comandos de pmcmd en modo interactivo:
    1. En la línea de comando, cambie al directorio en el que está ubicado el ejecutable de pmcmd.
    De forma predeterminada, el instalador de PowerCenter instala pmcmd en el directorio \server\bin.
    2. En la línea de comando, escriba pmcmd.
    Esto inicia pmcmd en modo interactivo y muestra la línea de comando pmcmd>. En el modo interactivo, no es necesario escribir pmcmd delante de cada comando.
    3. Introduzca la información de conexión para el dominio y el servicio de integración. Por ejemplo:
    connect -sv MyIntService -d MyDomain -u seller3 -p jackson
    4. Escriba un comando y sus opciones y argumentos en el formato siguiente:

    command_name [-option1] argument_1 [-option2] argument_2...
    pmcmd ejecuta el comando y muestra la línea de comando otra vez.
    5. Escriba exit para finalizar una sesión interactiva.

Ajustes predeterminados

Tras conectar con un servicio de integración mediante pmcmd, puede designar las carpetas o condiciones predeterminadas que se van a usar cada vez que el servicio de integración ejecute un comando. Por ejemplo, si desea emitir una serie de comandos o tareas en la misma carpeta, especifique el nombre de la carpeta con el comando setfolder. Todos los comandos posteriores usarán esa carpeta como la predeterminada.
La siguiente tabla describe los comandos que el usuario utiliza para definir los valores predeterminados para los comandos posteriores:
Comando
Descripción
setfolder
Designa una carpeta como carpeta predeterminada en la que se van a ejecutar todos los comandos siguientes.
setnowait
Ejecuta los comandos posteriores en el modo sin espera. La línea de comando pmcmd estará disponible una vez que el servicio de integración haya recibido el comando anterior. El modo sin espera es el modo predeterminado.
setwait
Ejecuta los comandos posteriores en el modo de espera. La línea de comando pmcmd estará disponible una vez que el servicio de integración haya finalizado el comando anterior.
unsetfolder
Hace lo contrario que el comando setfolder.
Puede usar el comando pmcmd ShowSettings para mostrar los ajustes predeterminados.

Ejecución en modo de espera

Puede ejecutar pmcmd en modo de espera o sin espera. En modo de espera, pmcmd regresa al shell o línea de comando una vez finalizado el comando. No puede ejecutar ningún otro comando hasta que el comando anterior haya concluido.
Por ejemplo, si especifica el siguiente comando, pmcmd inicia el flujo de trabajo “wf_SalesAvg” y no regresa a la línea de comando hasta que el flujo de trabajo haya terminado:
pmcmd startworkflow -sv MyIntService -d MyDomain -u seller3 -p jackson ‑f SalesEast -wait wf_SalesAvg
En modo sin espera, pmcmd regresa al shell o línea de comando de inmediato. Es decir, no tiene que esperar a que un comando termine para ejecutar el comando siguiente.
Por ejemplo, si especifica los siguientes comandos, pmcmd inicia el flujo de trabajo “wf_SalesTotal” aunque el flujo de trabajo “wf_SalesAvg” se esté ejecutando aún:
pmcmd startworkflow -sv MyIntService -d MyDomain -u seller3 -p jackson ‑f SalesEast wf_SalesAvg
pmcmd startworkflow -sv MyIntService -d MyDomain -u seller3 -p jackson ‑f SalesEast wf_SalesTotal
De forma predeterminada, pmcmd ejecuta los comandos en modo sin espera.
Puede configurar el modo de espera cuando trabaja en modo de línea de comandos o en modo interactivo. En el modo de línea de comandos, use la opción -wait para ejecutar un comando en el modo de espera. En el modo interactivo, use el comando setwait o setnowait antes de introducir los comandos adicionales.

Scripts de comandos pmcmd

Cuando use pmcmd, podría usar algunos comandos con opciones y argumentos específicos de forma periódica. Por ejemplo, puede usar pmcmd para comprobar el estado del servicio de integración. En este caso, puede crear un script o archivo por lotes para llamar a uno o más comandos de pmcmd, incluidos sus opciones y argumentos.
Puede ejecutar scripts en modo de línea de comandos. No puede ejecutar scripts de pmcmd en modo interactivo.
Por ejemplo, el siguiente script de UNIX shell comprueba el estado del servicio de integración “testService” y, si se está ejecutando, obtiene los detalles de la sesión “s_testSessionTask”:
#!/usr/bin/bash
# Sample pmcmd script
# Check if the service is alive

pmcmd pingservice -sv testService -d testDomain
if [ "$?" != 0 ]; then

    # handle error

    echo "Could not ping service"

    exit

fi
# Get service properties

pmcmd getserviceproperties -sv testService -d testDomain
if [ "$?" != 0 ]; then

    # handle error

    echo "Could not get service properties"

    exit

fi
# Get task details for session task "s_testSessionTask" of workflow

# "wf_test_workflow" in folder "testFolder"

pmcmd gettaskdetails -sv testService -d testDomain -u Administrator -p adminPass -folder testFolder -workflow wf_test_workflow s_testSessionTask
if [ "$?" != 0 ]; then

    # handle error

    echo "Could not get details for task s_testSessionTask"

    exit

fi

Introducción de opciones de comando

pmcmd proporciona varias formas de introducir algunos de los argumentos y opciones de comando. Por ejemplo, para especificar una contraseña, use la sintaxis siguiente:

<<-password|-p> password|<-passwordvar|-pv> passwordEnvVar>
Para especificar una contraseña, anteponga la opción -password o -p a la contraseña:
-password ThePassword
or
-p ThePassword
Si usa una variable de entorno de contraseña, anteponga la opción -pv o ‑passwordvar al nombre de la variable:
-passwordvar PASSWORD
or
-pv PASSWORD
Si una opción de comando incluye espacios, escriba la opción entre comillas simples o dobles. Por ejemplo, en la siguiente sintaxis, escriba el nombre de la carpeta entre comillas simples:
abortworkflow -sv MyIntService -d MyDomain -u seller3 -p jackson ‑f 'quarterly sales' -wait wf_MyWorkflow
Para indicar una cadena vacía, use dos comillas simples ('') o dos comillas dobles ("").