Download - 88720341 03 PeopleSoft PeopleTools Procesos
-
Procesos PeopleSoft
Qualsys Consulting S.C.
Arianna Valencia
Erika Santamara
Jos Enrquez
Francisco Hernndez
Octubre, 2008
-
Procesos PeopleSoft
2 | Q u a l s y s C o n s u l t i n g S . C
ndice
Procesos PeopleSoft 7
PeopleSoft PeopleCode 7
Vista general de PeopleCode 7
Estructura del lenguaje PeopleCode 7
Tipo de datos 7 Tipos de datos convencionales 7
Consideraciones para los tipos Float, Integer y Number 8 Tipos de datos 8 Tipos API Object 10
Comentarios 10
Sentencias 11 Separadores 12 Sentencias de asignacin 12 Asignacin por valor 12 Asignacin por referencia 12
Construcciones del lenguaje 13 Funciones como subrutinas 13
Sentencias de control 14 Sentencias If, Then y Else 14 Sentencia Evaluate 14 Sentencia For 15
Ciclos condicionales 16 Sentencia Repeat 16 Sentencia While 16
Funciones 16 Funciones soportadas 16 Definicin de funciones 17 Declaracin de funciones 17 Llamado de funciones: 17 Valores regresados por funciones 18 Conflictos al nombrar funciones 19
Expresiones 19 Expresiones fundamentales 19 Constantes 20
Constantes numricas 20 Constantes string 20 Constantes booleanas 20 Constantes nulas 21 Constantes definidas por el usuario 21
Funciones como expresiones 21 Variables del sistema 21
-
Procesos PeopleSoft
3 | Q u a l s y s C o n s u l t i n g S . C
Metastring 21 Referencias del campo de registro 22
Sintaxis de la referencia del campo del registro 22
Variables 23 Tipos de variables soportadas 23 Variables definidas por el usuario 23 Declaracin de variables 24 Inicializacin de variables definidas por el usuario 25
Operadores 25 Operadores matemticos 25 Operadores de fecha y hora 26 Concatenacin de cadenas 26 Operador @ 27 Operadores de comparacin 27 Operadores booleanos 28
Eventos en PeopleCode 29 Evento Activate 29 Evento FieldChange 29 Evento FieldDefault 29 Evento FieldEdit 30 Evento FieldFormula 30 Evento ItemSelected 30 Evento PosBuild 30 Evento PreBuild 31 Evento PrePopup 31 Evento RowDelete 31 Evento RowInit 31 Evento RowInsert 31 Evento RowSelect 31 Evento SaveEdit 32 Evento SavePostChange 32 Evento SavePreChange 33 Campo ChartField 33
PeopleSoft Application Engine 34
Entendiendo PeopleSoft Application Engine 34 Fundamentos de PeopleSoft Application Engine 34 Meta-SQL 35 Elementos del programa de Application Engine. 35
Secciones 35 Pasos 36 Accin 36
Acciones Do 36 SQL 36 PeopleCode 37 Log Message 37 Call Section 37
State Records 37
-
Procesos PeopleSoft
4 | Q u a l s y s C o n s u l t i n g S . C
Tipos de programas del Application Engine 37 Daemon Program 38 Transform Program 38
Creando programas de Application Engine 38 Visualizando programas de Application Engine 38
Utilizando vista Definition 38 Definicin de la vista Pop-up Menu 39
Utilizando la vista Program Flow 41 Men pop-up del Program Flow 42
Cambiando ntre las vistas Definition y Program Flow 42 Cambiando dentro de la vista Program Flow 43
Utilizando la opcin actualizar 43 Filtrando el contenido de la vista 44
Comportamiento de las opciones de la seccin de filtrado 44 Creando, abriendo y renombrando los programas. 46
Creando nuevos programas 46 Abriendo programas existentes 46 Renombrando programas 46
Copiando o moviendo elementos del programa 47 Probando programas de Application Engine 47 Configurando las propiedades del programa 48
Accediendo a las propiedades 48 Configuracin las propiedades generales 48 Configurando las propiedades del registro de estado 49 Especificando las tablas temporales 50 Configurando propiedades avanzadas 51
Agregando secciones 52 Seccin de orden de ejecucin 53 Insertando secciones 53 Localizando las secciones. 53
Buscando las llamadas a las secciones de referencia 53 Buscando secciones en el programa actual 54
Configurando las propiedades de las seccin 54 Agregando pasos 55
Insertando pasos 55 Configurando las propiedades de los pasos 56
Especificando las acciones 57 Entendiendo las acciones 57
Accin orden de ejecucin 57 Insertando acciones 58 Configurando las propiedades de la accin 59
Gestionando los programas de Application Engine 59 Ejecutando programas de Application Engine 59
Entendiendo las opciones de ejecucin de un programa 59 Programas batch utilizando PeopleSoft Process Scheduler 60 Programas en lnea utilizando PeopleCode 60 Programas manuales utilizando la lnea de comando 60
Creando las definiciones del proceso 60 Listando los parmetros del proceso de definicin 61
-
Procesos PeopleSoft
5 | Q u a l s y s C o n s u l t i n g S . C
Empezando programas con la pgina Application Engine Process Request 62 Tablas utilizadas en la pgina Process Request. 62 Requisitos de Application Engine 63
Utilizando el PeopleCode para invocar programas del Application Engine 64 Utilizando la lnea de comandos para invocar programas Application Engine 65
Opciones de la lnea de comando 66 Depurando los programas de Application Engine 68
Activando el depurador de PeopleSoft Application Engine 68 Definiendo las opciones de depuracin 69
Tips de depuracin 69 Opciones de depuracin 69
Restaurando los programas Application Engine 70 Determinando cuando utilizar la restauracin 71
Utilizando la restauracin a nivel de programa 71 Utilizando la restauracin en el nivel de seccin 72 Utilizando la restauracin en el nivel de pasos 72
Controlando las terminaciones anormales 73 Restaurando los programas del Application Engine 73
Restaurando desde la lnea de comando 73 Restaurando desde la pgina Process Request 74
Empezando los programas de Application Engine desde el principio 74 Habilitando y deshabilitando la restauracin 75
PeopleSoft Component Interface 76
Iniciando con PeopleSoft Component Interface 76
Introduccin al Component Interface 76 Comprendiendo el Component Interface 76 Arquitectura del Component Interface 77 Atributos del Component Interface 77 Definiciones y vistas del Component Interface 78
Iconos del Component Interface 79 Columnas del Component Interface 80
Desarrando un Component Interface 80 Creando la definicin del Component Interface 81
Creando un nuevo Component Interface 81 Asociando un Component Interface con un men 82 Determinando cuales campos exponer 83
Utilizando llaves 83 Agregando y borrando llaves 83
Propiedades de configuracin 84 Propiedades estndar 84 Creando propiedades definidas por el usuario 87 Eliminacin de propiedades 88 Renombrar las propiedades definidas por el usuario 88 Creando las propiedades de referencia 89 Creando las propiedades de slo lectura 90
Trabajando con colecciones 90 Trabajando con mtodos 91
Trabajando con funciones y mtodos de sesin. 91
-
Procesos PeopleSoft
6 | Q u a l s y s C o n s u l t i n g S . C
Funciones de sesin del Component Interface. 91 Mtodos de sesin del Component Interface 91
Mtodos estndar 91 Habilitar y deshabilitar mtodos estndar 93 Creando mtodos definidos por el usuario 93
Validacin de un Component Interface 94 Configurando las opciones de seguridad 95 Probando el Component Interface 96
Bsqueda de un Component Interface 96 Obtencin de registros existentes utilizando llaves parciales 97
Prueba del Component Interface 98 Prueba de las propiedades de Component Interface 98 Prueba de los mtodos de Component Interface 99 Probando los mtodos de coleccin 99 Reglas del mtodo de coleccin 99
Determinando los parmetros ItemByKeys 100 Entendiendo la sincronizacin 101 Consideraciones del tiempo de ejecucin 102
Consideraciones generales 102 Conflictos de mbito 102
Programacin de un Component Interface en PeopleCode 102 Generando una plantilla de PeopleCode 104 Entendiendo la plantilla de PeopleCode 104
Notas de las plantillas de PeopleCode 105
Glosario 107
Bibliografa 108
-
Procesos PeopleSoft
7 | Q u a l s y s C o n s u l t i n g S . C
Procesos PeopleSoft
PeopleSoft PeopleCode
PeopleCode es el lenguaje utilizado por las aplicaciones de PeopleSoft. Este tema
proporciona una visin general de PeopleCode y muestra como crear programas en
PeopleCode.
Tambin proporciona informacin que se debe considerar antes de empezar a utilizar
PeopleCode.
Vista general de PeopleCode
Esta seccin proporciona la informacin conceptual disponible acerca de PeopleCode.
Como son la descripcin de funciones, mtodos y propiedades entre otros. PeopleCode
es similar a otros lenguajes de programacin. Sin embargo, en algunos aspectos es
especial para el lenguaje y entorno de PeopleTools. PeopleCode es un lenguaje
orientado a objetos.
Estructura del lenguaje PeopleCode
Esta seccin asume que esta familiarizado con los lenguajes de programacin, como C,
Visual Basic o Java.
En esencia, la sintaxis de PeopleCode es similar a otros lenguajes de programacin. Sin
embargo algunos aspectos de PeopleCode, son especficos para el entorno de
PeopleTools. Por ejemplo, la definicin de referencias, que permiten hacer referencia a
las definiciones de PeopleTools, as como a registro o pginas. Otra caracterstica del
lenguaje, son los tipos de datos y Metastrings que reflejan la estrecha relacin que
existe entre PeopleTools y SQL. Las clases y mtodos en PeopleCode son similares a
otros lenguajes orientados a objetos, como java.
Tipo de datos
Los tipos de datos convencionales incluyen, nmeros, fechas, caracteres. Utilizados en
la programacin bsica. Tipos de Objetos de datos, instancias de objetos para las
clases de PeopleTools.
Tipos de datos convencionales
PeopleCode incluye estos tipos de datos convencionales:
-
Procesos PeopleSoft
8 | Q u a l s y s C o n s u l t i n g S . C
Any
Boolean
Date
DateTime
Float
Integer
Number
Object
String
Time
Consideraciones para los tipos Float, Integer y Number
El tipo Integer es un nmero complementario de 32 bits con signo, por lo que el rango
es de -2,147,438,648 a 2,147,438,648.
El tipo Float binario es un nmero de doble precisin. No es apropiado para clculos
exactos de fracciones, en particular, clculos que involucren dinero. Por ejemplo, un
dcimo (1/10 o .1), no puede ser representado exactamente en un Float binario de
doble precisin, la suma de flotantes binarios de doble precisin de .10 + .10, no es
igual a 20.
Tipos de datos
Para la mayora de las clases en PeopleTools, se necesita un tipo de datos
correspondiente a las instancias de objetos.
PeopleCode incluye este tipo de datos para acceso al buffer:
Field
Record
Row
Rowset
PeopleCode incluye estos tipos de datos para la pantalla:
AnalyticGrid
-
Procesos PeopleSoft
9 | Q u a l s y s C o n s u l t i n g S . C
Char
Gray
GridColumn
Page
PeopleCode incluye estos tipos de datos para Internet script:
Cookie
Request
Response
PeopleCode incluye estos tipos de datos extras:
AESection
AnalyticInstance
Array
Crypt
Execption
File
Interlink
BIDocs
JavaObject
Message
MCFIMInfo
OptEngine
PostReport
ProcessRequest
RowsetCahce
SoapDoc
-
Procesos PeopleSoft
10 | Q u a l s y s C o n s u l t i n g S . C
SQL
SyncServer
TransformData
XmlDoc
XmlNode
Tipos API Object
Utilice este tipo de datos para cualquier ApiObject, como un Object Session, un Object
Tree, un Component Interface, un Registry Portal, entre otros.
Los siguientes tipos de datos ApiObject pueden declararse como Globales:
Session
PSMessages Collection
PSMessages
Todos las clases Tree
Todas las clases query
Comentarios
Utilice los comentarios para explicar, preferentemente en un lenguaje comprensible para
cualquiera que lea su programa sepa que hace su cdigo. Los comentarios hacen
posible diferencia entre el PeopleCode que le entregan y los cambios que haga. Esto es
til para la bsqueda de errores y actualizaciones.
Las siguientes son algunas maneras de insertar comentarios en PeopleCode:
Puede encerrar comentarios empezando con / * y finalizando con */
Tambin puede utiliza REM (remark) para establecer que es un comentario
Puede encerrar el texto a comentar entre al final
El siguiente cdigo muestra los formatos para hacer comentarios:
-
Procesos PeopleSoft
11 | Q u a l s y s C o n s u l t i n g S . C
Ejemplo:
Sentencias
Una sentencia puede ser una declaracin, una asignacin, la construccin de
programas o una llamada de subrutinas:
Esta seccin habla de:
Separadores
Sentencias de asignaciones
Construcciones del lenguaje
Sentencias de control
Condicionales Loop
-
Procesos PeopleSoft
12 | Q u a l s y s C o n s u l t i n g S . C
Separadores
Las sentencias de PeopleCode generalmente terminan con punto y coma. PeopleCode
acepta puntos y comas aun cuando no son requeridos, como despus de terminar la
ltima sentencia de un If. Esto permite aadir punto y coma despus de cada sentencia.
Los espacios extras son ignorados. Pueden ser eliminados por el editor de PeopleCode
cuando salva el cdigo.
Sentencias de asignacin
Las sentencias de asignacin son las ms bsicas de las sentencias en PeopleCode.
Consiste en igualar una variable que esta ala izquierda con una expresin a la derecha:
Sintaxis:
VariableName = expression;
La expresin a la derecha es evaluada, y el resultado es introducido a al variable de la
izquierda. Dependiendo del tipo de dato, la asignacin se pasa un valor o una
referencia.
Asignacin por valor
En la mayora de las asignaciones, el resultado de la expresin de la derecha es
asignada para la variable como una nueva creacin del valor, en nuestra variable
almacenada en el rea de la memoria. Cambios a la variable no afectan a otros datos.
Asignacin por referencia
Cuando los dos lados de una sentencia de asignacin son variables, el resultado de la
asignacin no crea una copia del objeto en la memoria y la asigna en la variable. En vez
de eso, la variable apunta al objeto en la memoria.
Por ejemplo, &AN y &AN2 son arreglos de tipo nmero. Asignando &AN2 a &AN, no
copia &AN2 en &AN. Los dos arreglos apuntan al mismo lugar en la memoria.
-
Procesos PeopleSoft
13 | Q u a l s y s C o n s u l t i n g S . C
Sintaxis:
Local array of number &AN, &AN2;
Local number #
&AN = CreateArray (100, 200, 300)
&AN2=&AN
&NUM=&AN[1]
En el cdigo de ejemplo, &AN2 y &AN apuntan al mismo objeto: un arreglo de nmeros.
Construcciones del lenguaje
La construccin de lenguaje en PeopleCode incluye:
Sentencias de control: If y Evaluate
Loops y condicionales Loop: For, Repeat y While
Sentencias Break, Continue y Exit para controlar Loops y terminar programas
La sentencia Return para regresar a funciones
Sentencias de declaracin de variables y funciones: Globales, locales y
variables de componentes, y declaracin de funciones par funciones
Sentencias de funciones para definir funciones
Sentencias para definir clases
Sentencias Try, Match y Throw para capturar errores.
Funciones como subrutinas
PeopleCode, como C, no tienen subrutinas como generalmente nos referimos a ellas.
Las subrutinas de PeopleCode son un subconjunto de las funciones de PeopleCode y
solo estn definidas para no regresar valores o regresar valores opcionales. Llamar una
subrutina es lo mismo que llamar una funcin que no regresa valores.
Sintaxis:
function_name(param_list);
-
Procesos PeopleSoft
14 | Q u a l s y s C o n s u l t i n g S . C
Sentencias de control
Las sentencias de control controlan el flujo del programa basndose en evaluar
expresiones condicionales.
Sentencias If, Then y Else
Sintaxis:
If condicin Then
[Lista de sentencias1]
Else
[Lista de sentencias2]
End-If;
Esta sentencia evala la expresin condicin. Si la condicin es verdadera, la sentencia
If ejecuta la lista de sentencias1. Si la condicin es falsa, entonces el programa ejecuta
las sentencias en la clusula Else; si no hay clusula Else, el programa contina con la
siguiente sentencia.
Sentencia Evaluate
Utilice la sentencia Evaluate para evaluar varias condiciones.
Sintaxis:
Evaluate left_term
When [relop_1] right_term_1
[Lista de sentencias]
.
.
.
When [relopn1] right_term_n
[Lista de sentencias]
When-other
[Lista de sentencias]
-
Procesos PeopleSoft
15 | Q u a l s y s C o n s u l t i n g S . C
End-evaluate;
La sentencia Evaluate toma una expresin, left_term, y lo compara con la expresin
compatible right_term_1 utilizando el operador relacional (relop) en una secuencia de
clausulas When. Si relop se omite, entonces se asume una igualdad de signos. Si el
resultado de la comparacin es TRUE, el programa ejecuta las sentencias de la
clausula When, entonces se mueve para comparar la siguiente clusula When. El
programa ejecuta las sentencia en todas la clausulas When en las cuales la
comparacin resulte TRUE, si ninguna de las comparaciones resulta en TRUE el
programa ejecuta la sentencias de la clusula When-other, el siguiente ejemplo de
Evaluate ejecuta solo las sentencias de la primera clusula When.
Ejemplo:
evaluate &USE_FREQUENCY
when = "never"
PROD_USE_FREQ = 0;
when = "sometimes"
PROD_USE_FREQ = 1;
when = "frequently"
PROD_USE_FREQ = 2;
when-other
Error "Unexpected value assigned to &USE_FREQUENCY."
end-evaluate;
Sentencia For
La sentencia For repite una secuencia de sentencias un especfico nmero de veces.
Sintaxis:
For count = expresion1 to expresion2
[Step i];
[Lista de sentencias]
End-for;
-
Procesos PeopleSoft
16 | Q u a l s y s C o n s u l t i n g S . C
La sentencia For inicializa el valor de count con expresion1 entonces incrementa count
con cada i veces despus de ejecutar las sentencias en lista de sentencias. El programa
contina el ciclo hasta que count es igual a expresion2, si la clusula Step se omite,
entonces i se iguala a uno. Para contar hacia atrs desde un valor mas alto a uno ms
pequeo, se utiliza un valor negativo para i. Puede salirse de un ciclo For utilizando una
sentencia Break.
Ciclos condicionales
Los ciclos condicionales, Repeat y While, repiten una secuencia de sentencias,
evaluando una expresin condicional cada vez que pasan el ciclo. El ciclo termina
cuando la condicin a evaluar es verdadera. Puede salir de un ciclo utilizando la
sentencia Brear. Si la sentencia Break esta en un ciclo dentro de otro ciclo, el Break
aplica solo a al ciclo interno.
Sentencia Repeat
Sintaxis:
Repeat
[Lista de sentencias]
Until expresin_logica;
La sentencia Repeat ejecuta las sentencias una vez, entonces evala la expresin
lgica. Si la expresin lgica es falsa, la secuencia de sentencias se repite hasta que la
sentencia sea verdadera.
Sentencia While
Sintaxis:
While expresin_logica
[Lista de sentencias]
End-while;;
La sentencia While evala la expresin lgica antes de ejecutar la lista de sentencias.
Continua repitiendo la lista de sentencias hasta que la expresin lgica resulte falsa.
Funciones
Funciones soportadas
PeopleCode soporta los siguientes tipos de funciones:
-
Procesos PeopleSoft
17 | Q u a l s y s C o n s u l t i n g S . C
Built-in: La funcin estndar para PeopleCode. Esta puede ser llamada sin
declarar el Begin
Internal: Funciones que ya estn definidas en un programa de PeopleCode
en el cual son llamadas
External PeopleCode: las funciones de PeopleCode definidas fuera del
programa que las llama. Generalmente estn en la definicin de Registros
que funcionan como libreras.
External non-PeopleCode: funciones almacenadas en libreras externas
(libreras de C)
Adicionalmente PeopleCode soporta mtodos. Las principales diferencias entre una
funcin built-in y el mtodo son:
Una funcin built-in, en su cdigo, se llama a si mismo y generalmente no
depende de ningn otro.
Un mtodo puede se ejecutado solo por un objeto
Definicin de funciones
Las funciones en PeopleCode pueden ser definidas en cualquier programa de
PeopleCode. La definiciones deben ponerse al principio del programa, junto con
cualquier variable externa y declaraciones de funciones externas.
Por convencin, los programas de PeopleCode se almacenan en registros cuyos
nombre empiecen con FUNCLIB_, y siempre se adjuntan a un evento FieldFormula.
Declaracin de funciones
Si llama una funcin externa desde un programa de PeopleCode, debe declarar la
funcin al principio del programa. La sintaxis de la declaracin de funciones varia,
dependiendo de si la funcin externa se escrita en PeopleCode o compilada en una
librera dinmica.
El siguiente es un ejemplo de la declaracin de una funcin en otro registro a FUNCLIB.
Ejemplo:
Declare Funtion UpdatePSLOCK PeopleCode FUNCLIB_NODES.MSGNODENAME
FieldFormula
Llamado de funciones:
-
Procesos PeopleSoft
18 | Q u a l s y s C o n s u l t i n g S . C
Sintaxis:
Function_name (lista_parametros)
La lista de parmetros, es una lista de expresiones, separadas por comas, que la
funcin espera le suministre. Los parmetros de la lista pueden ser opcionales o
requeridos.
Puede verificar los parmetros de los valores que pasa a la funcin al momento de
ejecucin en la ventana Parameter del debugger de PeopleCode.
Si el valor regresado es requerido, entonces la funcin debe llamarse como una
expresin.
Ejemplo:
&RESULT = Product (&RAISE_PERCENT,.01,EMPL_SALARY);
Si la funcin regresa un valor como una opcin, puede ser llamada como una subrutina.
Si la funcin no regresa valores, debe se llamada como subrutina.
Ejemplo:
WinMessage(64,I cant do that,| &OPER_NICKNAME |.);
Los parmetros siempre pasan funciones de PeopleCode por referencias internas y
externas. Si la funcin cambia los datos al pasarlos, entonces debe pasar una variable.
Los parmetros de la funcin Built-in pueden pasar por referencia o por valor,
dependiendo de la funcin. Los parmetros de una funcin externa de C pueden pasar
valores o referencias, dependiendo de la declaracin y del tipo.
Valores regresados por funciones
Las funciones pueden regresar valores de cualquier tipo de dato que soporten; algunas
funciones no regresan ningn valor.
La opcin de regresar valores ocurre solo en funciones Built-in. No puede definir una
funcin opcionalmente regrese un valor. El regreso opcional de valores es tpico en las
funciones que regresan un valor bolean indicando si la ejecucin tuvo xito. Por
ejemplo, la siguiente llamada para DeleteRow ignora el valor de regreso y corra la fila.
Ejemplo:
DeleteRow
(RECORD.BUS_EXPENSE_PER,&L1_ROW,RECOD:BUS_EXPENSE_DTL,&L2_ROW);
-
Procesos PeopleSoft
19 | Q u a l s y s C o n s u l t i n g S . C
El siguiente ejemplo verifica el valor regresado y muestra un mensaje diciendo que ha
sucedido.
Elemplo:
If DeleteRow (RECORD.BUS_EXPENSE_PER, &L1_ROW, RECOD:BUS_EXPENSE_DTL,
&L2_ROW) then
WinMessage (RowDelete);
Else
WinMessage (Sorry---couldnt delete that row);
End-if
Conflictos al nombrar funciones
Si define una funcin con el mismo nombre de una funcin built-in, la funcin que defini
toma preferencia sobre la funcin Built-in.
En cualquier momento que compile el PeopleCode en el editor de PeopleCode, un
mensaje de advertencia aparece en la pestaa de validacin, indicando que el usuario
defini una funcin con el mismo nombre de una funcin existente.
Tambin, si selecciona Compile All PeopleCode, un mensaje de error es generado en el
archivo log por cada funcin que el usuario defina con el mismo nombre de una funcin
existente.
El siguiente es un ejemplo de un mensaje de error: User defined funtion IsNumber is
overrriding the builtin funtion of the same name. (2,98)
Expresiones
Expresiones fundamentales
Evala expresiones para los valores de los tipos de datos de PeopleCode. Una simple
expresin de PeopleCode puede consistir en una constante, una variable temporal, una
variable de sistema, una referencia a un registro o la llamada de una funcin. Una
simple expresin puede modificarse por operadores (como un signo negativo o la
expresin lgica NOT) o combinando expresiones utilizando operadores binario (como
un signo plus u operador lgico AND)
El verificador de nombres compara la cadena del nombre con las definiciones existentes
en PeopleTools, como registros o paginas.
-
Procesos PeopleSoft
20 | Q u a l s y s C o n s u l t i n g S . C
Metastrings (tambin llamados meta-SQL) son expresiones especiales utilizadas como
cadenas literales de SQL. En tiempo de ejecucin, el metastring se expande
apropiadamente dentro del SQL.
Constantes
PeopleCode soporta constantes numricas, string y boolean, como constantes definidas
por el usuario. Tambin soportan la constante Null, el cual indica que un objeto que no
hace referencia a un objeto valido.
Constantes numricas
Constantes numricas pueden ser cualquier nmero. Como por ejemplo:
7
0.8725
-172.324
Constantes string
Las constantes string pueden delimitarse utilizando la coma simple () o al doble coma
(). Si la comas forman parte de la cadena, la cadena puede encerrase dentro de otro
tipo de delimitador. Como una alternativa, puede incluir dos veces el delimitador. Los
siguientes son algunos ejemplos:
Esta es una constante string
Tambin esta
Ella dijo, esta es una constante string
Ella dijo, esta es una constante string
Utilice el siguiente cdigo para incluir literalmente comas dentro de un string.
Ejemplo:
&cDblQoute =; /*coma simple comas dobles coma simple*/
Constantes booleanas
Las constantes booleanas representan un valor verdadero. Solo hay dos posibilidades
True y False.
-
Procesos PeopleSoft
21 | Q u a l s y s C o n s u l t i n g S . C
Constantes nulas
Las constantes nulas representan un objeto que hace referencia a un objeto no valido.
Esto significa que llama un mtodo o un objeto o trata de obtener o establecer
propiedades que no existen. La constante nula es la palabra null.
Constantes definidas por el usuario
El usuario puede definir constantes al inicio de un programa en PeopleCode. Puede
utilizar la declaracin de constantes donde desee almacenar el valor. Las constantes
pueden definirse como valores number, string o boolean.
El usuario al definir constates solo pueden declararse locales
El siguiente es un ejemplo de la declaracin de constantes por parte del usuario.
Ejemplo:
Constant &Stara_New_Instance = Trae;
Constant &Display_Mode = 0;
Constant &AddMode = A:
Local Field &Start_date;
.
MyFunction (&Start_New_Instance, &Display_Mode, &Add_Mode);
Funciones como expresiones
Puede utilizar cualquier funcin que regrese un valor o una expresin. La funcin puede
ser utilizada del lado derecho de una sentencia, pasar como un parmetro a otra funcin
o combinarse con otra expresin para formar una expresin compuesta.
Variables del sistema
Las variables del sistema estn precedidas del smbolo de porcentaje (%). Utilice estas
variables para obtener la fecha actual u obtener informacin del usuario, el lenguaje
actual, el registro actual, pgina, componente o ms.
Metastring
Los metastring son expresiones especiales de SQL. Los metastring, tambin llamados
meta-SQL, estn precedidos del smbolo porcentaje (%) y pueden incluirse
-
Procesos PeopleSoft
22 | Q u a l s y s C o n s u l t i n g S . C
directamente en cadenas. Se expanden al momento de ejecutarse dentro de una
subcadena para la actual base de datos. Los metastring son utilizados en:
SQLExec
En la construccin de vistas dinmicas en PeopleSoft Application Designer
Con Objetos SQL
En PeopleSoft Application Engine
Con algunos mtodos de clases
Con COBOL
Referencias del campo de registro
Utilice las referencias del campo del registro para recuperar valores almacenados en un
campo de tabla o para asignar un valor a un campo del registro.
Sintaxis de la referencia del campo del registro
Para hacer referencia a un campo de un registro siga la siguiente forma.
Sintaxis:
[recordname.]fieldname
Debe poner el recordname solo si el campo y su programa PeopleCode estn en
diferentes registros
Por ejemplo, supongamos que en la base de datos para veterinarios tiene dos registros
PET_OWNER y PET. Un programa en el registro PET_OWNER debe hacer referencia a
PET_BREED que esta en el registro PET, entonces la definicin del registro ser
PET.PET_BREED.
De cualquier manera, un programa en el registro PET puede hacer referencia a el
mismo registro directamente a PET_BREED.
Si el programa esta en el mismo campo del registro PET_BREED, puede hacer
referencia a este mismo campo utilizando el smbolo caret (^).
-
Procesos PeopleSoft
23 | Q u a l s y s C o n s u l t i n g S . C
Variables
Tipos de variables soportadas
PeopleCode Soporta este tipo de variables:
Concepto Caracterstica
Variables definidas
por el usuario
El nombre de estas variables deben estar precedidos por el
smbolo &. Los nombres de las variables pueden tener de 1
a 1000 caracteres, de A-Z y a-z, nmeros de 0-9 y
caracteres #,@,$ y _.
Variables del sistema Las variables del sistema proporcionan acceso a la
informacin del sistema. Estas variables tienen el prefijo %
en vez del &, utilice estas variables siempre que use una
constante, pasndolo como parmetro a funciones o
asignando su valor a campos o variables temporales
Variables definidas por el usuario
Las variables definidas por el usuario pueden mantener la informacin de un campo de
registro, para programar claramente un cdigo. Por ejemplo, puede darle a una variable
un nombre ms descriptivo que a un campo, basndose en el contexto del programa. Si
el campo es de otro registro, puede asignarle una variable temporal en lugar de utilizar
la referencia al campo. Esto hace ms fcil la programacin y ms fcil de leer.
Declaracin y alcance de las variables definidas por el usuario
La diferencia entre las declaraciones de variables consiste en el periodo de vida:
Global: esta variable es valida para toda la sesin
Component: la variable es valida mientras cualquier pgina en el componente
donde la variable fue definida se mantenga activa.
Local: la variable es valida durante el programa de PeopleCode o funcin en la
cual la variable fue definida.
Puede declarar variables utilizando sentencias Global, Local o Componente, o puede
utilizar las variables locales sin declararlas.
-
Procesos PeopleSoft
24 | Q u a l s y s C o n s u l t i n g S . C
Ejemplo:
Local Number &AGE;
Global String &OPER_NICKNAME;
Component Rowset &MY_ROWSET;
Local Any &SOME_FIELD;
Local ApiObjet &MYTREE;
Local Boolean &Compare = True;
La declaracin de variables se hace normalmente en la parte superior del programa en
PeopleCode. La excepcin es la declaracin de variables Locales, las cuales se pueden
utilizar en una funcin o en el cuerpo del programa. Si una variable es declarada cono
tipo ANY o si una variable no es declarada, PeopleTools utiliza un apropiado tipo de
datos basndose en el contexto
Las variables globales pueden ser acezadas desde diferentes componentes y
aplicaciones, incluyendo un programa Application Engine. Una variable global debe ser
declarada en cada programa en que es utilizada. Utilice las variables globales lo menos
posible debido a que es difcil su mantenimiento.
Las variables Globales estn disponibles para un portal o aplicacin con bases de datos
diferentes.
Declaracin de variables
Declare las variables antes de utilizarlas. Si no declara una variable, es declarada
automticamente con el tipo de dato Any. Recibe un mensaje de advertencia en la
pestaa de validacin del PeopleSoft Application Designer por cada variable que no
este declarada cuando salve su programa PeopleCode.
Si declara todas las variables, puede utilizar estos valores para asegurar que no tiene
errores ortogrficos. Por ejemplo, si declara una variable como &END_DATE, y
-
Procesos PeopleSoft
25 | Q u a l s y s C o n s u l t i n g S . C
accidentalmente escribe &EDN_DATE, la nueva variable aparece en la pestaas
cuando guarde el programa.
Inicializacin de variables definidas por el usuario
Para declarar e inicializar variables en un paso, utilice el siguiente formato.
Ejemplo:
Local String &MyString = New;
Local Date &MyDate= %Date;
Esto esta disponible solo para variables de alcance Local.
Aunque puede declarar ms de una variable en una sola lnea, puede inicializar solo
una variable por lnea. El siguiente cdigo crea un error de sintaxis cuando trata de
salvar el programa.
Ejemplo:
Local Number &N1,&N2 = 5;
No puede declarar una variable, despus inicializar en una segunda sentencia otra. El
siguiente cdigo produce un error cuando trata de salvar el programa, por duplicar una
declaracin.
Ejemplo:
Global Number &N1;
.
Local Stringr &N1 = String;
Si no inicializa las variables, cuando las declara o antes de utilizarlas, las variables tipo
String son inicializadas con Null, date y times con Null, y Number con cero.
Operadores
Las expresiones en PeopleCode piden modificarse y combinarse utilizando operadores
matemticos, de caracter, comparacin y booleanos.
Operadores matemticos
Los operadores estndar utilizado son:
-
Procesos PeopleSoft
26 | Q u a l s y s C o n s u l t i n g S . C
Smbolo Accin
+ Mas
- Menos
* Multiplicacin
/ Divisin
** Potencia
Operadores de fecha y hora
Puede agregar o restar dos fechas o dos valores de horas, lo que proporciona como
resultado un nmero. En el caso de las fechas, el nmero representa la diferencia entre
las dos fechas en das. Y en el caso de las horas, el nmero representa la diferencia en
segundos. Puede tambin sumar y restar nmeros a una hora o una fecha, y el
resultado ser otra hora u otra fecha. En el caso de los das, el nmero representa los
das y en el caso de las horas representa los segundos.
Operacin Resultado El resultado representa
Hora + numero de segundos Tiempo Horas
Fecha + numero de das Fecha Fecha
Fecha Fecha Nmero Diferencia en das
Hora Hora Nmero Diferencia en segundos
Fecha + Hora FechaHora Fecha y Hora combinados
Concatenacin de cadenas
Las concatenacin de cadena se hace con el operador (|). Por ejemplo, asumiendo que
&OPER_NICKNAME es David, y que la variable &RETORT debe decir No puedo hacer
eso Davis:
Ejemplo:
Global Number &N1;
&RETORT = I cant do that, | &OPER_NICKNAME | .;
-
Procesos PeopleSoft
27 | Q u a l s y s C o n s u l t i n g S . C
El operador de concatenacin automticamente convierte el operador a string. Esto
hace ms fcil de escribir sentencias que muestren diferentes tipos de datos.
Ejemplo:
&DAYS_LEFT = &CHRISTMAS - %Date;
WinMessage (Today is | %Date | . Only | &DAYS_LEFT | shopping days
left ! );
Operador @
El operador @ convierte una cadena almacenndola en una referencia dentro de una
definicin. Esto es til, por ejemplo, si desea almacenar referencias en la base de datos
como cadenas y recuperarlas utilizando PeopleCode, o si desea obtener una referencia
en forma de una cadena.
Tomemos un ejemplo sencillo, si el campo EMPLID actualmente es 8001, la siguiente
expresin evala a 8001.
Ejemplo:
@EMPLID
El siguiente ejemplo explica el uso del operador @ para convertir una cadena
almacenndola en un registro y un campo.
Ejemplo:
&STR1 = RECORD.BUS_EXPENSE_PER;
&STR2 = BUS_EMPENSE_DTL.EMPLID;
&STR3 = FerchValue(@(&STR1), CurrentRowNumber (1), @(&STR2),1);
WinMessage (&STR3, 64);
Operadores de comparacin
Los operadores de comparacin, comparan dos expresiones del mismo tipo de datos. El
resultado de la comparacin es un valor booleano. La siguiente tabla resume estos
operadores.
Operador Significado
= Igual
-
Procesos PeopleSoft
28 | Q u a l s y s C o n s u l t i n g S . C
Operador Significado
!= Diferente
Diferente
< Menor que
Mayor
>= Mayor o igual
Puede agregar al inicio de cualquier operador el operador NOT, por ejemplo:
Not=
Not<
Not>=
Operadores booleanos
Los operadores lgicos AND, OR y NOT son utilizados para combinar expresiones
Booleanas. La siguiente tabla muestra el resultado de combinar dos expresiones
booleanas con los operadores AND y OR.
Expresin 1 Operador Expresin 2 Resultado
FALSE AND FALSE FALSE
FALSE AND TRUE FALSE
TRUE AND TRUE TRUE
FALSE OR FALSE FALSE
FALSE OR TRUE TRUE
TRUE OR TRUE TRUE
El operador NOT niega la expresin bolean, cambiando el valor de True a Falso y de
False a True.
El siguiente ejemplo de sentencias contiene expresiones booleanas.
-
Procesos PeopleSoft
29 | Q u a l s y s C o n s u l t i n g S . C
Ejemplo:
&FLAG = (Not (&FLAG));
If ((&HAS_FLEAS or &HAS_TICKS) and
SOAP_QTY
-
Procesos PeopleSoft
30 | Q u a l s y s C o n s u l t i n g S . C
En la prctica, el PeopleCode para FieldDefault normalmente configura los campos por
default cuando nuevos datos se agregan al componente, esto es, en modo de agregar y
cuando una nueva fila es insertada.
Si el valor de un campo es cambiado, ya sea a travs de PeopleCode o por el usuario,
la propiedad IsChange para la filase pone en verdadero. La excepcin a esto en cuando
un cambio esta hecho con los eventos FieldDefautl o FieldFormula. Si un valor se
configura en FieldDefault o FieldFormula, la fila no se marca como cambiada.
Al guardar, las nuevas inserciones y cambios a filas se escriben en la base de datos.
Las nuevas inserciones
Evento FieldEdit
Use el evento FieldEdit para validar el contenido de un campo. Si el dato no pasa la
validacin el programa PeopleCode debe mostrar un mensaje de error, el cual vuelve a
mostrar la pgina, mostrando el mensaje de error y poniendo el campo en rojo.
Para permitir al usuario editar un campo pero alertarlo de la posibilidad de un error, use
una sentencia de advertencia o de error. Una sentencia de advertencia muestra una
ventana de advertencia con un botn OK y explicacin. Esto permite que el contenido
del campo pueda ser cambiado y continuar el proceso como normalmente sucede.
Evento FieldFormula
El evento FieldFormula normalmente no es utilizado. Porque FieldFormula PeopleCode
inicia de diferentes maneras y lanza PeopleCode en cada campo o cada fila en el buffer
del componente, y puede degradar el desempeo de la aplicacin. Use RowInit y
FieldChange en lugar de evento FieldFormula.
Evento ItemSelected
El evento ItemSelected es iniciado donde sea que el usuario seleccione un elemento de
un men. En mens emergentes, ItemSelected PeopleCode se ejecuta en el contexto
de la pgina donde se encuentra el men, lo que significa que puede tener un men
diferente por cada pgina.
ItemSelected PeopleCode esta asociado solo con los mens emergentes.
Evento PosBuild
El evento PostBuild es asociado despus de construir todos los eventos del
componente. Este evento normalmente utilizado para mostrar u ocultar pginas.
Tambin es utilizado para configurar las variables del componente.
PeopleCode PostBuild esta asociado solo con los componentes
-
Procesos PeopleSoft
31 | Q u a l s y s C o n s u l t i n g S . C
Evento PreBuild
El evento PreBuild es iniciado antes del resto de los eventos Built del componente. Este
evento se utiliza para esconder o mostrar pginas. Tambin es utilizado para configurar
las variables del componente.
Tambin use el evento PreBuild para validar la entrada de datos en las pginas de
bsqueda.
Evento PrePopup
El evento PrePopup es iniciado antes de mostrar un men emergente.
Puede utilizar PeopleCode PrePopup para controlar la apariencia del men emergente.
Evento RowDelete
El evento RowDelete es iniciado cuando el usuario intenta borrar un afila de datos
desde un pgina. Use PeopleCode RowDelete para prevenir la eliminacin de una fila o
para ejecutar algn proceso despus de la eliminacin.
PeopleCode RowDelete puede ser asociado con campos y registros
Evento RowInit
El evento RowInit se inicia por primera vez cuando el Component Processor encuentra
una fila de datos. Se utiliza para configurar el estado inicial del control de componentes.
Esto ocurre durante el proceso de construccin del componente y la insercin de una
fila. Esto ocurre despus del mtodo Select o SelectAll.
No use sentencias de advertencia o error en el PeopleCode RowInit; esto causa un
error de ejecucin.
Evento RowInsert
Cuando el usuario agrega una fila de datos, el Component Processor genera un evento
RowInsert. Debe utilizar PeopleCode RowInsert para procesos especificos para insertar
nuevas filas. No ponga PeopleCode en RowInsert si existe RowInint, debido a que el
evento RowInit siempre inicia antes del evento RowInsert, lo que causa que el cdigo.se
ejecute dos veces.
Evento RowSelect
El evento RowSelect se inicia en al principio del proceso de construccin del
componente en cualquiera de los modos de accin (Update, Update/Display All,
-
Procesos PeopleSoft
32 | Q u a l s y s C o n s u l t i n g S . C
Correction). RowSelect se utiliza para filtrar las filas de los datos que se estn leyendo
en el buffer del componente
Una funcin DiscardRow en RowSelect causa que el Component Processor salte la fila
actual y contine el proceso a otra fila. La sentencia StopFetching causa que el
Component Processor acepte la fila de datos y pare la lectura de las filas de datos. Si se
ejecutan las dos sentencias, el programa salta la fila actual y entonces detiene la lectura
de las dems filas.
Rara vez se utiliza el RowSelect, debido a que es ineficiente para filtrar filas que ha
seleccionado anteriormente.
Evento SaveEdit
El evento SaveEdit se indica cuando un usuario intenta guardar el componente. Puede
utilizar el PeopleCode SaveEdit para validar la consistencia de datos en los campos del
componente. Siempre que una validacin involucre ms de una campo en el
componente, debe utilizar PeopleCode SaveEdit. Si una validacin involucra solo un
campo en la pgina del componente, use PeopleCode FieldEdit.
Un error en una sentencia en SaveEdit PeopleCode muestra un mensaje y muestra otra
vez el componente sin guardar los datos. Una sentencia de advertencia permite al
usuario dar clic en OK y guardar los datos o dar Clic en Cancel y regresar al
componente sin guardar los datos.
SaveEdit puede asociarse con registros y componentes
Evento SavePostChange
Despus de que el Component Processor actualiza la base de datos, inicia el evento
SavePostChange. Puede utilizar SavePostChange para actualizar las tablas sin utilizar
el componente sino la funcin SQLExec.
Un error o advertencia en SavePostChange causa un error de ejecucin. Evite los
errores y advertencias en este evento.
El sistema utiliza la sentencia commit de SQL despus de completar exitosamente el
evento SavePostChange.
Si esta ejecutando Workflow PeopleCode, tenga en cuenta que si el Workflow falla, el
evento SavePostChange no sera ejecutado. Si su componente tiene ambos eventos,
Workflow y SavePostChange considere cambiar el evento SavePostChange a
SavePreChange.
-
Procesos PeopleSoft
33 | Q u a l s y s C o n s u l t i n g S . C
Evento SavePreChange
El evento SavePreChange es iniciado despus de que SaveEdit se complete sin
errores. SavaPreChange proporciona una oportunidad final para manipular datos antes
de que el sistema actualic la base de datos, para instancias puede utilizar
SavePreChange poner en alto nivel las llaves. Si SavePreChange corre
satisfactoriamente, un evento Workflow se genera, y el Component Processor utiliza
apropiadamente las sentencias SQL Inser, Update o Delete.
Campo ChartField
Es un campo que almacena caracteres de cuentas, recursos, y otros, dependiendo de
la aplicacin PeopleSoft. Los valores ChartField representan nmeros de cuentas
individuales, cdigos de departamento, y as sucesivamente.
-
Procesos PeopleSoft
34 | Q u a l s y s C o n s u l t i n g S . C
PeopleSoft Application Engine
PeopleSoft Application Engine es una PeopleTools designada para ayudarle a
desarrollar a fondo programas SQL. Esta herramienta esta destinada para ser utilizada
por desarrolladores con conocimiento de SQL, SQL tools y PeopleTools.
PeopleSoft Application Engine ofrece una alternativa para escribir programas en cobol o
SQR para procesamiento afondo de SQL. Mientras PeopleSoft Application Engine no
genera, analiza o entiende SQL, si ejecuta el SQL que usted proporcione.
Entendiendo PeopleSoft Application Engine
Puede utilizar PeopleSoft Application Engine para desarrollar programas batch o en
lnea que realizan procesos de altos volmenes, procesando a fondo sus datos.
Fundamentos de PeopleSoft Application Engine
PeopleSoft Application Engine comprende dos componentes distintos, un diseador
donde se define los programas batch y el entorno de ejecucin donde se corren y
monitorean los programas.
Aplicacin
Seccin
Seccin
Seccin
Paso
Paso
Paso
Accin
Accin
Accin
-
Procesos PeopleSoft
35 | Q u a l s y s C o n s u l t i n g S . C
En PeopleSoft Application Engine, un programa es un conjunto de sentencias SQL y de
PeopleCode. Un programa se define en PeopleSoft Application Designer y realiza un
proceso de negocio.
PeopleSoft Application Engine no genera SQL o PeopleCode. Este ejecuta las
sentencias SQL y PeopleCode que se incluye en una accin de Application Engine
como parte de su programa.
PeopleSoft Application Engine esta diseado para el procesamiento batch donde usted
tiene los datos que deben ser procesados sin intervencin del usuario.
Meta-SQL
Puede escribir SQL dentro de PeopleSoft Application Engine o puede copiar sentencias
SQL en un Application Engine de cualquier utilidad SQL con unos cuantos cambios (si
los hubiera). Esto permite escribir y ajustar sentencias SQL antes de tratar de
incorporarlos en un programa de Application Engine
Las plataformas de las bases de datos pueden tener diferentes reglas de sintaxis
especialmente en lo que respecta a la fecha, la hora, y otros clculos numricos.
Generalmente puede trabajar en torno a las diferencias de sintaxis utilizando PeopleSoft
meta-SQL, el cual apoya un PeopleSoft Application Engine. Meta-SQL es un conjunto
de condiciones predefinidas diseado para sustituir RDBMS con una sintaxis comn
Elementos del programa de Application Engine.
Un programa de Application Engine comprende un conjunto de procesos para ejecutar
una tarea dada y esta compuesta de varios elementos claves:
Secciones
Pasos
Acciones
Registros de estado.
Secciones
Las secciones comprenden uno o ms pasos y son equivalentes a un prrafo en
COBOL o a un procedimiento en SQR. Todos los programas del Application Engine
deben contener al menos una seccin Main.
Una seccin es un conjunto de pasos ordenados que se ejecutan como parte de un
programa. Puede llamar a estas secciones (y otros programas) de los pasos dentro de
otras secciones.
Ian IsaacResaltado
Ian IsaacResaltado
Ian IsaacResaltado
Ian IsaacResaltado
-
Procesos PeopleSoft
36 | Q u a l s y s C o n s u l t i n g S . C
Un programa debe contener al menos una seccin. La ejecucin del programa siempre
comienza con la seccin definida como Main.
Pasos
Los pasos son las unidades ms pequeas de trabajo que pueden ser incluidas dentro
de un programa. Aunque puede utilizar un paso para ejecutar un comando de
PeopleCode o iniciar un mensaje, normalmente, un paso se utiliza para ejecutar una
sentencia SQL o para llamar otras secciones.
Cuando una seccin es llamada, sus pasos se ejecutan secuencialmente. Cada
programa empieza por ejecutar el primer paso de la seccin requerida llamada Main y
termina despus del ltimo paso en la ltima seccin completada correctamente
Accin
Hay mltiples tipos de acciones que puede especificar para incluir dentro de un paso.
Es comn tener mltiples acciones asociadas con un simple paso.
Acciones Do
Las acciones Do contienen una sentencia SQL designada a regresar resultados del cual
dependen acciones subsecuentes. Por ejemplo, si la sentencia Select no devuelve
lneas, las acciones subsecuentes no necesitan ejecutarse.
Los 4 tipos de acciones Do son:
Do While
Do When
Do Select
Do Unit
SQL
La mayora de las acciones SQL contienen una simple sentencia de SQL. Estas
acciones pueden realizar los siguientes tipos de sentencias SQL:
Update
Delete
Insert
Select
Las acciones SQL difieren de las acciones Do, las cuales tambin contienen SQL, y en
que la accin de SQL no controla el flujo del programa.
Ian IsaacResaltado
Ian IsaacResaltado
-
Procesos PeopleSoft
37 | Q u a l s y s C o n s u l t i n g S . C
PeopleCode
PeopleSoft Application Engine PeopleCode proporciona una excelente forma de
construir SQL dinmicos, realizando simples if/else, establecidos por default y otras
operaciones que no requieren una consulta a la base de datos.
Lo ms importante, PeopleCode proporciona acceso a las tecnologas de integracin de
PeopleSoft como PeopleSoft Integration Broker, Component Interface y Business
Interlinks.
Log Message
Se utiliza la accin Log Message para escribir un mensaje basado en una condicin en
su programa. Esto da a su programa capacidad multilenguaje. El sistema almacena el
mensaje generalmente como un mensaje conjunto, nmeros de mensaje y valores de
los parmetros.
Cuando el usuario ve los mensajes utilizando la pagina de Application Engine Message
Log, el sistema recupera el mensaje apropiado del catalogo de mensajes basado en el
idioma seleccionado por el usuario.
Call Section
Puede tambin insertar una accin que llame a otra seccin. La seccin llamada puede
estar en el mismo programa, o puede ser en un programa externo. Esto le permite
reutilizar el programa, en lugar de crear la accin. Si una seccin ya existe en un
programa, en vez de copiarla en otro programa, slo mndela llamar.
State Records
El State Record es un registro que se debe crear y mantener por el desarrollador del
Application Engine. Este registro define los campos que un programa utiliza para pasar
valores de una accin a otra.
Un State Record puede ser cualquier record fsico o record de trabajo, y cualquier
nmero de State Records que puedan ser asociados con el programa.
Tipos de programas del Application Engine
Hay cinco tipos de programas en el Application Engine. Usted especifica el tipo de
programa en cuadro de dialogo de las propiedades para la definicin de el programa.
Los tipos son:
Standard, es un punto de entrada normal del programa.
Upgrade Only, es utilizada para las actualizaciones de PeopleSoft.
Import Only, el cual es utilizado importar utileras de PeopleSoft.
Ian IsaacResaltado
-
Procesos PeopleSoft
38 | Q u a l s y s C o n s u l t i n g S . C
Daemon Only, un tipo de programa utilizado como un demonio proceso.
Transform Only, un tipo de programa utilizado para apoyar Extensible Stylesheet
Language Transformaciones (XSLT).
Daemon Program
Application Engine proporciona un Daemon Program, llamado PSDAEMON, que se
ejecuta continuamente cuando el Process Scheduler esta corriendo, y es identificado
por trabajos recurrentes. Un conjunto predefinido de condiciones es un evento.
Transform Program
Los tipos de programas Transform Only, permite diferentes sistemas para comunicarse
uno con el otro transformando mensajes en formatos apropiados. Cuando se especifica
un Application Engine program como Transform Only, se debe especificar la accin del
tipo XSLT o PeopleCode.
Puede utilizar Transform Program para hacer cualquiera de lo siguiente:
Aplicar una transformacin a un mensaje para hacer su estructura
cumplir con el objetivo de los requerimientos del sistema.
Realizar una traduccin de datos en un mensaje como los datos estn
representados de acuerdo a los convenios del sistema.
Determinar si para pasar un mensaje a travs de su objetivo, para filtrar
esto basado en su contenido.
Creando programas de Application Engine
Un Application Engine incluye un orden lgico de secciones, pasos, y acciones. Un
programa ejecutable debe contener al menos una seccin llamada Main, utilizada para
identificar el punto de comienzo del programa, este debe contener al menos un paso y
cada paso debera contener al menos una accin.
Visualizando programas de Application Engine
Utilizando vista Definition
Utilice la vista Definition para crear definiciones dentro de una estructura jerrquica
definida, en la cual los nodos representan las definiciones. Un nodo es una
representacin visual de una seccin, un paso o una accin que puede seleccionar
colapsar, modificar, etc.
-
Procesos PeopleSoft
39 | Q u a l s y s C o n s u l t i n g S . C
Las secciones que aparecen en la vista Definition no necesariamente aparecen en el
orden en que estos se ejecutan. Para ver el orden real en las cuales las secciones se
ejecutan, cambie a la vista Program Flow.
Puede navegar en esta vista utilizando las siguientes teclas de combinaciones:
Presione CTRL + HOME para desplazarse a la parte superior de la definicin del
programa y seleccione el primer nodo.
Presione CTRL + END para desplazarse hasta el final de la definicin del
programa y seleccione el ltimo nodo visible.
Presione TAB para pasar del campo seleccionado actualmente a la prximo
campo actualizado
Presione CTRL + DOWN ARROW para desplazarse desde el nodo
seleccionado actualmente para el prximo nodo.
Presione CTRL + UP ARROW para pasar de la actual nodo seleccionado a la
anterior nodo.
La siguiente ilustracin muestra la vista Definition.
Definicin de la vista Pop-up Menu
La siguiente tabla describe cada tema que ve cuando le da clic a la ventana de
Definition. Algunos elementos del men se activan slo cuando una definicin en
particular est seleccionada.
-
Procesos PeopleSoft
40 | Q u a l s y s C o n s u l t i n g S . C
Comando del men Descripcin
View PeopleCode Ejecuta el editor de PeopleCode con el PeopleCode
apropiado. Se habilita cuando una accin PeopleCode es
seleccionada.
View SQL Ejecuta el editor SQL con el SQL apropiado. Se habilita
cuando una accin que contiene un SQL es seleccionada.
View XSLT Ejecuta el editor SQL cuando el se relacionan el texto
cargado y el Extensible Stylesheet Language
Transformations (XSLT). Se habilita solo para un programa
tipo Transform Only, cuando una accin XSLT es
seleccionada.
Cut Remueve el elemento seleccionado y sus copias del
portapapeles. No puede copiar o pegar dentro de ningn
programa.
Copy Copia un elemento seleccionado.
Paste Pega el contenido del portapapeles de PeopleTools, (el
ms reciente corte o copiado) a la ubicacin actual del
cursor.
Delete Borra el nodo actualmente seleccionado de la definicin del
programa.
Refresh View Actualiza la vista actual y reordena la definicin de objetos,
segn sea necesario.
Insert Section Inserta una nueva seccin en el programa actual, en el
lugar donde el cursor esta en posicin. Esta opcin est
habilitada slo cuando tienes MAIN u otra seccin
seleccionada.
Insert Step/Action Inserta un nuevo paso y la accin dentro de la seccin
seleccionada actualmente. Esta opcin est activada slo
cuando usted tiene una seccin o un paso seleccionado.
Insert Action Inserta una nueva accin en el paso actualmente
seleccionado. Esta opcin est habilitada slo cuando se
tiene un paso o accin seleccionada.
Jump to This Program
Flow
Cambia a el programa Program Flow view
-
Procesos PeopleSoft
41 | Q u a l s y s C o n s u l t i n g S . C
Comando del men Descripcin
Con la primera aparicin de la actual seleccin definiendo
en el punto de mira.
Print Muestra el cuadro de dilogo Imprimir para la vista de la
definicin.
Insert Section Into
Project
Se aplica a las secciones. Inserta la actual seleccin en el
proyecto.
Utilizando la vista Program Flow
La vista Program Flow es solo de lectura, muestra las secuencias de los pasos para ser
ejecutados en el programa que se esta desarrollando. La siguiente ilustracin muestra
el programa:
Usted puede controlar la cantidad de detalle que aparece para cada definicin haciendo
clic en ella para ampliar al siguiente nivel. Tambin puede ver el SQL o PeopleCode en
la parte inferior (splitter) del rea de la ventana, haciendo clic en la parte baja de la
misma.
Si un nodo de primer paso (uno que no es el resultado de llamar una seccin) es
seleccionado, el cuadro de dialogo Print Options permite la impresin, ya sea para
comenzar en ese nodo de paso o la impresin de todo el programa. Sin embargo, si un
nodo del segundo paso (uno que es el resultado de llamar una seccin), un nodo de la
segunda accin, un nodo SQL o un nodo PeopleCode, es seleccionado en la vista
Program Flow, el cuadro de dialogo Printf Options solo permite la impresin de todo el
programa.
-
Procesos PeopleSoft
42 | Q u a l s y s C o n s u l t i n g S . C
Para mostrar el men pop-up para un nodo, de clic derecho al mismo nodo. No tiene
que seleccionar primero el nodo.
Puede tambin mostrar los comentarios asociados con las definiciones seleccionando
View, Show All Comments o para un nodo en particular, haga clic derecho y seleccione
Show Comment.
Men pop-up del Program Flow
La siguiente tabla contiene cada tema de men pop-up de la vista Program Flow.
Comando del men Descripcin
View PeopleCode Ejecuta el editor de PeopleCode con el apropiado
PeopleCode cargado. Habilitado cuando una accin de
PeopleCode esta seleccionada.
View SQL Ejecuta el editor de SQL con el apropiado SQL cargado.
Habilitado cuando una accin con SQL esta seleccionada.
Refresh View Actualiza la vista actual y reordena la definicin de objetos,
segn sea necesario.
Show Comment Revela los comentarios para un simple objeto que aparece
en la vista Program Flor.
Jump to This Definition Cambia a la vista Definition con la primera aparicin de la
definicin actual del objeto seleccionado actualmente.
Print Ejecuta el cuadro de dilogo para imprimir para la vista del
programa.
Cambiando ntre las vistas Definition y Program Flow
Por default, la navegacin dentro de cualquier vista no afecta a la fila activa actual en
otra vista. Esto permite recuperar el lugar mientras se desplaza en alguna otra.
Para cambiar entre dos vistas, puede utilizar cualquiera de los siguientes mtodos:
Pestaas de vistas.
Como con cualquier interfaz con pestaas, si selecciona una pestaa, la vista de
la interfaz asociada se convierte en una interfaz activa. Cuando regrese la vista
previa, este sigue posicionada en el actual o ultimo nodo dentro del programa
cuando se encienda.
Men de vistas
-
Procesos PeopleSoft
43 | Q u a l s y s C o n s u l t i n g S . C
Seleccione una seccin o paso en la actual vista (note que seleccionando una
accin no habilita esta funcionalidad). Seleccione View Jump to Program Flow
o View Jump to Definition, dependiendo en que vista este activo actualmente.
Cuando selecciona uno de estos comandos, el centro del objetivo depende de
que lo tenga seleccionado en la vista previa.
Men pop-up
Los mismos comandos como el men View tambin estn disponibles desde el
men pop-up.
Cambiando dentro de la vista Program Flow
Mientras se encuentre en la vista Program Flow, puede seleccionar estas opciones del
men pop-up:
Go to Next Reference
Seleccione esta opcin para cambiar la siguiente referencia de una definicin de
un objeto en particular. Esto le ayuda a navegar rpidamente a travs del
programa. Por ejemplo, si las referencias a la seccin C, el paso 4 aparece tres
veces, porque hay varias llamadas a este objeto en tiempo de ejecucin,
seleccione Go to Next Reference para navegar fcil y rpidamente en cada
referencia.
Jump to this Definition
Seleccione esta opcin para ir directamente a la definicin del nodo en la vista
Definition que pertenece a la actual seleccin en la vista Program Flow.
Utilizando la opcin actualizar
Como desarrollador de un programa Application Engine, tal vez inserte, renombre y
borre definiciones. En un largo programa puede ser fcil perder su lugar o
desorientarse. La opcin actualizar reordena todos los nodos para la actual definicin de
acuerdo a la siguiente lgica:
Para las definiciones de un programa estndar, la seccin del Main siempre
aparece primero.
Las secciones restantes aparecen alfabticamente por nombre, esto hace ms
fcil localizar una seccin dentro de un programa. El sistema ejecuta secciones
a travs de la accin Call Sections dentro de los pasos, no por el orden que
fueron definidos.
Los pasos nunca se reordenan automticamente en la vista Definition, y, en
tiempo de ejecucin se ejecutan en el orden en que fueron definidos.
-
Procesos PeopleSoft
44 | Q u a l s y s C o n s u l t i n g S . C
Las acciones se reordenan lgicamente siempre dentro de un paso, basado de
su tipo de accin, que define su tiempo de ejecucin.
Filtrando el contenido de la vista
Las seccin de las opciones de filtrado le permiten filtrar la vista actual de manera que
slo vea las secciones y las pasos basados en los criterios especificados. Para habilitar
o modificar las opciones de filtrado, seleccione View Secction Filtering.
Para habilitar o modificar las opciones de filtro, seleccione View Section Filtering.
Puede seleccionar una de las siguientes opciones de filtrado:
Comando de men Descripcin
No Filtering Seleccione para ver todos los objetos en el programa
independientemente de cualquier seccin de atributos,
tales como mercado, tipo de base de datos, fecha efectiva
y estado efectivo.
Default Seleccione para mostrar la definicin de filtro de acuerdo
con el valor por default de los criterios de filtrado. Si cambia
el valor de cualquier opcin de filtrado haga clic en OK,
para tener definido una filtro personalizado.
Custom Seleccione para mostrar el cuadro de dilogo de la
definicin de filtro y definir las opciones del filtrado para la
vista actual.
Comportamiento de las opciones de la seccin de filtrado
Cuando use la seccin de opciones de filtrado considere lo siguiente:
El valor por default es no filtrado, por lo tanto, todas las definiciones de la
seccin se incluyen en esta vista.
Si selecciona filtrado, el filtrado de las opciones por defecto se muestran
mientras est en la seccin actual de PeopleSoft Application Designer
Si modifica este filtro y da clic en OK, las nuevas opciones sern guardadas
como opciones activas actuales y en consecuencia se actualiza la vista.
Si selecciona los filtros por default, las opciones aparecern en el cuadro de
dialogo.
Si selecciona Section Filtering, Default o Section Filtering Custom aparecer el
siguiente cuadro de dilogo:
-
Procesos PeopleSoft
45 | Q u a l s y s C o n s u l t i n g S . C
En este ejemplo, slo las definiciones que representan a los siguientes criterios
aparecen en las vistas Definition y Program Flor.
Atributo Definicin
Market Seleccione un cdigo de mercado para ver slo las
definiciones dentro de ese mercado. Para ver todos los
agentes del mercado relacionados con las definiciones de
un programa, puedes actualizar el perfil predeterminado, o
definir un filtro personalizado, seleccionando (none) de la
lista desplegable Market Drop-Down.
Platform Seleccione la plataforma de filtrado. En la ilustracin, las
secciones que se definen slo para Microsoft SQL Server
son mostradas. Seleccione Default para mostrar las
secciones definidas para ser independientes de la base de
datos de la plataforma independiente. Las plataformas
especificas incluyen Oracle, DB2 UDB parar OS/390 y
z/OS, DB2/UNIX, Informix, Microsoft, y Sybase.
As of Date Seleccione la fecha filtrada. En la imagen de arriba, las
secciones con secciones como una fecha igual o superior a
7 de abril de 2000. Seleccione None para mostrar todas las
secciones a pesar de la fecha efectiva.
Active Status Seleccione para mostrar las definiciones seccin activa
-
Procesos PeopleSoft
46 | Q u a l s y s C o n s u l t i n g S . C
Creando, abriendo y renombrando los programas.
Creando nuevos programas
Para crear nuevos programas:
1. Seleccione File New o presione CTRL + N.
2. En el cuadro de dialogo, seleccione App Engine Program y de clic en OK.
3. Nmbrelo y guarde el programa. Seleccione File Save As ingrese le
nombre del programa en el cuadro de dialogo Save Name As y de clic en OK.
Abriendo programas existentes
Para abrir un programa existente:
1. Seleccione File Open.
2. En el cuadro de dialogo Open Definition seleccione App Engine Program de la
lista desplegable
3. Ingrese su criterio de bsqueda del programa que quiera, seleccione su
programa en los resultados de la bsqueda y de clic en Open.
Renombrando programas
Para renombrar un programa:
1. Seleccione File Rename.
2. En el cuadro de dialogo de renombrar, asegrese de que aparezca App
Engine Program como el tipo de definicin.
3. En el men desplegado que contiene los resultados de su bsqueda
seleccione el programa que quiera renombrar.
4. Seleccione Rename.
5. Site el cursor en la casilla que aparece destacado en todo el nombre del
programa.
6. Ingrese el nuevo nombre del programa.
7. Haga clic en Rename y, a continuacin, responder adecuadamente en el
cuadro de de dilogo Confirm Rename.
-
Procesos PeopleSoft
47 | Q u a l s y s C o n s u l t i n g S . C
Copiando o moviendo elementos del programa
Los siguientes procedimientos aplican a las sesiones, pasos y acciones. Tenga en
cuenta que cuando estas funciones se llevan a cabo para un determinado objeto, el
resultado no slo se aplica al objeto seleccionado, sino que tambin incluye las
definiciones asociadas si es que existen.
Para copiar una definicin:
1. Seleccione la definicin.
2. Seleccione Edit Copy.
3. Site el cursor donde usted desea poner la definicin copiada, y seleccione
Edit Paste.
Para mover una definicin:
1. Seleccione la definicin de objeto.
2. Seleccione Edit Cut.
3. Site el cursor en la ubicacin de destino y seleccione Edit Paste.
Probando programas de Application Engine
Despus de crear o modificar su programa, usted puede probarlos en PeopleSoft
Application Designer en segundo plano. Puede utilizar Ejecutar en el cuadro de dilogo:
Para ejecutar un programa Application Engine en segundo plano:
1. Seleccione Edit Run Program desde la barra de herramientas de
PeopleSoft Application Designer. El cuadro de dialogo Run Request aparecer.
-
Procesos PeopleSoft
48 | Q u a l s y s C o n s u l t i n g S . C
2. Introduzca los valores adecuados. Al hacer clic en OK, estos valores se pasan
como parmetros al ejecutable de PeopleSoft Aplicacin Engine.
3. Presione OK.
Los datos que necesita son:
Atributo Descripcin
Run Control ID Introduzca el run control ID del programa que usted est
probando
Run Minimized Seleccione para que la ventana del proceso solicitado se
minimizara al ejecutar el programa.
Output Log to File Seleccionar para escribir el registro de salida a un archivo.
Log File Name Especifique el nombre del archivo de registro de salida
(permitido slo cuando la salida del archivo de registro est
seleccionada).
Process Instance Especifique el proceso para ejecutar esta peticin, o utilizar
el valor por default de cero si el nmero de la instancia no
es necesario.
Configurando las propiedades del programa
Accediendo a las propiedades
Cuando tiene un programa Application Engine abierto en el PeopleSoft Application
Designer, puede ver y modificar las propiedades asignadas a la totalidad de un
programa slo como lo hara un paso o una seccin.
Para ver o modificar las propiedades asociadas con un programa, haga clic en el botn
propiedades y seleccione File Definition Properties, mientras que el programa est
abierto. Tambin puede pulsar ALT + ENTER. El cuadro de dilogo Program Properties
aparece.
Configuracin las propiedades generales
Acceda al Programa de cuadro de dilogo Propiedades y seleccione la pestaa
General. Puede especificar los valores de identificacin para su programa Application
Engine.
Atributo Descripcin
Owner ID (Opcional) Introduzca el ID del propietario para el
-
Procesos PeopleSoft
49 | Q u a l s y s C o n s u l t i n g S . C
Atributo Descripcin
programa. El propietario de identificacin es una forma de
identificar que las definiciones son propiedad de las
aplicaciones de PeopleSoft, como PeopleSoft General
Ledger, Accounts Receivables, y as sucesivamente.
Configurando las propiedades del registro de estado
Seleccione la pestaa del registro de estado.
Atributos Definicin
Qualify Search Introduzca los caracteres o nombre de la tabla para limitar
los resultados que aparecen en la lista de registro. De
forma predeterminada, la casilla Record List contiene todos
los nombres de records que terminan con la extensin
AET. Esta extensin identifica el registro como un registro
Application Engine.
Get List Haga clic aqu para rellenar la Record List
Record List Esta casilla contiene los resultados de su bsqueda del
registro de estados
-
Procesos PeopleSoft
50 | Q u a l s y s C o n s u l t i n g S . C
Atributos Definicin
Selected Seleccione un registro de estados para su uso con un
programa en particular. Haga clic en Add para incluir
registros seleccionados de la lista de registros. Haga clic en
Remove para eliminar los registros seleccionados de la
lista. Indican que el registro acta como un registro de
estados por defecto para la seleccin de su casilla de
verificacin.
Especificando las tablas temporales
Seleccione la pestaa de tablas temporales. Las tablas temporales almacena resultados
durante un programa que se esta ejecutando.
Atributo Descripcin
Qualify Search Introduzca los caracteres o nombres de tabla completa
para limitar los resultados que aparecen en la lista de
registro. De forma predeterminada, el cuadro Record List
slo contiene registros que son de tipo tabla temporal.
Get List Haga clic aqu para rellenar la Record List.
-
Procesos PeopleSoft
51 | Q u a l s y s C o n s u l t i n g S . C
Atributo Descripcin
Record List Este cuadro de texto contiene resultados de su bsqueda
en tablas temporales
Selected Seleccione las tablas temporales para su uso con un
programa en particular. Haga clic en Add para incluir los
registros seleccionados que aparecen en la lista de
registro. Haga clic en Remove para excluir los registros
seleccionados que aparecen en la lista seleccionada.
Instance Count Introduce el nmero de tablas fsicas que se crear para
cada tabla dedicada a este programa durante el
procedimiento de SQL Build en PeopleSoft Application
Designer.
Insert Selected List into
Project
Si la definicin del programa activo de Application Engine
pertenece a un proyecto, seleccionelo para incluir las tablas
temporales para este programa dentro del mismo proyecto.
Runtime Controla como se comporta un programa Application
Engine si una instancia de sus tablas temporales
especificadas no est disponible. Si usted selecciona
Continue, entonces PeopleSoft Application Engine utiliza la
versin baja, o la versin no dedicada, de las tablas
temporales. Si usted selecciona Abort, entonces las salidas
de programa tendrn un mensaje de error.
Configurando propiedades avanzadas
-
Procesos PeopleSoft
52 | Q u a l s y s C o n s u l t i n g S . C
Atributos Descripcin
Disable Restart Seleccione para desactivar de la capacidad de reiniciar un
programa en particular.
Application Library En algunos casos, puede que quiera un programa para
contener slo una coleccin, o una biblioteca, de las rutinas
comunes que no desea para ejecutarse como un programa
independiente. Cuando las secciones se definen como
pblico, otros pueden llamar a los programas de las
secciones, o rutinas, que existen en la biblioteca en tiempo
de ejecucin.
Batch Only Los programas Batch Only no se ejecutan a partir de la
funcin CallAppEngine PeopleCode. Cualquier tabla
temporal utilizada para Batch Only crea instancias en lnea.
Message Set Especifique el mensaje por default, el valor establecido
para este programa. El sistema utiliza este mensaje de
valor para todos los mensajes de registro, acciones en las
que el mensaje conjunto no se especifica.
Program Type Standard: Utilizado por programas Entry-Point.
Upgrade Only: Utilizado por PeopleSoft para actualizar.
Import Only: Utilizado por PeopleSoft para importar
utilidades.
Daemon Only: Utiliza los programas Daemon Type.
Transform Only: Apoyado por programas XSLT.
Agregando secciones
Una seccin incluye pasos y es equivalente a un prrafo de COBOL o una funcin de
PeopleCode. Puede crear secciones que son independientes de la plataforma o
plataformas especficas, destinados a un mercado particular, y de fecha efectiva.
Cuando usted crea un nuevo programa, al mismo tiempo crea una seccin llamada
Main. La seccin Main identifica el punto de inicio del programa para que pueda ser
llamado por otro programa.
-
Procesos PeopleSoft
53 | Q u a l s y s C o n s u l t i n g S . C
Seccin de orden de ejecucin
Una seccin es nica basada en el programa y los nombres de la seccin, y basada en
la plataforma de la base de datos y fecha efectiva. Cuando ejecuta un programa de
Application Engine, este ejecuta secciones basadas en el siguiente orden de
precedencia:
1. Si una seccin por el mercado actual existe, ejectela.
De otra manera, ejecute la seccin de mercado global.
2. Si una seccin por la plataforma actual o base de datos existe, ejectela.
De otra manera, ejecute la seccin por default de la plataforma de la base de datos.
3. Si secciones mltiples de fecha efectiva existen, ejecute la seccin con la ms
reciente fecha efectiva, basada en el dato actual.
Insertando secciones
Para insertar una seccin:
1. Seleccione Insert Section o con el clic derecho seleccione Insert Section
El nombre por default para una seccin que se inserta es Section N, donde N es
un nmero que incrementa los intentos lo que proporciona un nombre nico para
cada una de los objetos de seccin. Sino renombra las secciones, las secciones
se llamaran Seccin N + 1, donde N es la ltima seccin que se insert. En
consecuencia, se obtiene como nombres, Section1, Section2, Section3, y as
sucesivamente.
Nota. Las secciones son siempre reordenadas alfabticamente por nombre al momento de guardar para
hacer ms fcil localizar la seccin dada.
2. Introduzca los valores restantes de la propiedad de la seccin.
3. Guarde el programa
Localizando las secciones.
Hay varios mtodos para localizar las referencias de las secciones dentro toda una base
de datos, as como dentro de un programa.
Buscando las llamadas a las secciones de referencia
Puede generalizar una lista de todas las referencias para una seccin en particular. La
lista aplica solo a programas de Application Engine definidas dentro de una simple base
de datos.
-
Procesos PeopleSoft
54 | Q u a l s y s C o n s u l t i n g S . C
Para localizar las secciones de referencia:
1. Abra el programa que contenga la