Вы находитесь на странице: 1из 108

Procesos

PeopleSoft

Qualsys Consulting S.C.

Arianna Valencia

Erika Santamaría

José Enríquez

Francisco Hernández

Octubre, 2008

PeopleSoft Qualsys Consulting S.C. Arianna Valencia Erika Santamaría José Enríquez Francisco Hernández Octubre, 2008
PeopleSoft Qualsys Consulting S.C. Arianna Valencia Erika Santamaría José Enríquez Francisco Hernández Octubre, 2008
PeopleSoft Qualsys Consulting S.C. Arianna Valencia Erika Santamaría José Enríquez Francisco Hernández Octubre, 2008

Procesos PeopleSoft

Procesos PeopleSoft

Í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 asignación

12

Asignación por valor

12

Asignación 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

Definición de funciones

17

Declaración 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 numéricas

20

Constantes string

20

Constantes booleanas

20

Constantes nulas

21

Constantes definidas por el usuario

21

Funciones como expresiones

21

Variables del sistema

21

2 |

Q u a l s y s

C o n s

u l

t

i

n g

S . C

Procesos PeopleSoft

Procesos PeopleSoft

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

Declaración de variables

24

Inicialización de variables definidas por el usuario

25

Operadores

25

Operadores matemáticos

25

Operadores de fecha y hora

26

Concatenación de cadenas

26

Operador @

27

Operadores de comparación

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

Acción

36

Acciones Do

36

SQL

36

PeopleCode

37

Log Message

37

Call Section

37

State Records

37

3 |

Q u a l s y s

C o n s

u l

t

i

n g

S . C

Procesos PeopleSoft

Procesos PeopleSoft

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

Definición 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 opción actualizar

43

Filtrando el contenido de la vista

44

Comportamiento de las opciones de la sección 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

Configuración las propiedades generales

48

Configurando las propiedades del registro de estado

49

Especificando las tablas temporales

50

Configurando propiedades avanzadas

51

Agregando secciones

52

Sección de orden de ejecución

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 sección

54

Agregando pasos

55

Insertando pasos

55

Configurando las propiedades de los pasos

56

Especificando las acciones

57

Entendiendo las acciones

57

Acción orden de ejecución

57

Insertando acciones

58

Configurando las propiedades de la acción

59

Gestionando los programas de Application Engine

59

Ejecutando programas de Application Engine

59

Entendiendo las opciones de ejecución de un programa

59

Programas batch utilizando PeopleSoft Process Scheduler

60

Programas en línea utilizando PeopleCode

60

Programas manuales utilizando la línea de comando

60

Creando las definiciones del proceso

60

Listando los parámetros del proceso de definición

61

4 |

Q u a l s y s

C o n s

u l

t

i

n g

S . C

Procesos PeopleSoft

Procesos PeopleSoft

Empezando programas con la página Application Engine Process Request

62

Tablas utilizadas en la página Process Request.

62

Requisitos de Application Engine

63

Utilizando el PeopleCode para invocar programas del Application Engine

64

Utilizando la línea de comandos para invocar programas Application Engine

65

Opciones de la línea de comando

66

Depurando los programas de Application Engine

68

Activando el depurador de PeopleSoft Application Engine

68

Definiendo las opciones de depuración

69

Tips de depuración

69

Opciones de depuración

69

Restaurando los programas Application Engine

70

Determinando cuando utilizar la restauración

71

Utilizando la restauración a nivel de programa

71

Utilizando la restauración en el nivel de sección

72

Utilizando la restauración en el nivel de pasos

72

Controlando las terminaciones anormales

73

Restaurando los programas del Application Engine

73

Restaurando desde la línea de comando

73

Restaurando desde la página Process Request

74

Empezando los programas de Application Engine desde el principio

74

Habilitando y deshabilitando la restauración

75

PeopleSoft Component Interface

76

Iniciando con PeopleSoft Component Interface

76

Introducción 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 definición 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 configuración

84

Propiedades estándar

84

Creando propiedades definidas por el usuario

87

Eliminación de propiedades

88

Renombrar las propiedades definidas por el usuario

88

Creando las propiedades de referencia

89

Creando las propiedades de sólo lectura

90

Trabajando con colecciones

90

Trabajando con métodos

91

Trabajando con funciones y métodos de sesión.

91

5 |

Q u a l s y s

C o n s

u l

t

i

n g

S . C

Procesos PeopleSoft

Procesos PeopleSoft

Funciones de sesión del Component Interface.

91

Métodos de sesión del Component Interface

91

Métodos estándar

91

Habilitar y deshabilitar métodos estándar

93

Creando métodos definidos por el usuario

93

Validación de un Component Interface

94

Configurando las opciones de seguridad

95

Probando el Component Interface

96

Búsqueda de un Component Interface

96

Obtención de registros existentes utilizando llaves parciales

97

Prueba del Component Interface

98

Prueba de las propiedades de Component Interface

98

Prueba de los métodos de Component Interface

99

Probando los métodos de colección

99

Reglas del método de colección

99

Determinando los parámetros ItemByKeys

100

Entendiendo la sincronización

101

Consideraciones del tiempo de ejecución

102

Consideraciones generales

102

Conflictos de ámbito

102

Programación 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

Bibliografía

108

6 |

Q u a l s y s

C o n s

u l

t

i

n g

S . C

Procesos PeopleSoft

Procesos PeopleSoft

Procesos PeopleSoft

PeopleSoft PeopleCode

PeopleCode es el lenguaje utilizado por las aplicaciones de PeopleSoft. Este tema proporciona una visión general de PeopleCode y muestra como crear programas en PeopleCode.

También proporciona información que se debe considerar antes de empezar a utilizar PeopleCode.

Vista general de PeopleCode

Esta sección proporciona la información conceptual disponible acerca de PeopleCode. Como son la descripción de funciones, métodos y propiedades entre otros. PeopleCode es similar a otros lenguajes de programación. 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 sección asume que esta familiarizado con los lenguajes de programación, como C, Visual Basic o Java.

En esencia, la sintaxis de PeopleCode es similar a otros lenguajes de programación. Sin embargo algunos aspectos de PeopleCode, son específicos para el entorno de PeopleTools. Por ejemplo, la definición de referencias, que permiten hacer referencia a las definiciones de PeopleTools, así como a registro o páginas. Otra característica del lenguaje, son los tipos de datos y Metastrings que reflejan la estrecha relación que existe entre PeopleTools y SQL. Las clases y métodos en PeopleCode son similares a otros lenguajes orientados a objetos, como java.

Tipo de datos

Los tipos de datos convencionales incluyen, números, fechas, caracteres. Utilizados en la programación básica. Tipos de Objetos de datos, instancias de objetos para las clases de PeopleTools.

Tipos de datos convencionales

PeopleCode incluye estos tipos de datos convencionales:

7 |

Q u a l s y s

C o n s

u l

t

i

n g

S . C

Procesos PeopleSoft

Procesos PeopleSoft

AnyProcesos PeopleSoft Boolean Date DateTime Float Integer Number Object String Time Consideraciones para los tipos Float,

BooleanProcesos PeopleSoft Any Date DateTime Float Integer Number Object String Time Consideraciones para los tipos Float,

DateProcesos PeopleSoft Any Boolean DateTime Float Integer Number Object String Time Consideraciones para los tipos Float,

DateTimeProcesos PeopleSoft Any Boolean Date Float Integer Number Object String Time Consideraciones para los tipos Float,

FloatProcesos PeopleSoft Any Boolean Date DateTime Integer Number Object String Time Consideraciones para los tipos Float,

IntegerProcesos PeopleSoft Any Boolean Date DateTime Float Number Object String Time Consideraciones para los tipos Float,

NumberProcesos PeopleSoft Any Boolean Date DateTime Float Integer Object String Time Consideraciones para los tipos Float,

ObjectPeopleSoft Any Boolean Date DateTime Float Integer Number String Time Consideraciones para los tipos Float, Integer

StringAny Boolean Date DateTime Float Integer Number Object Time Consideraciones para los tipos Float, Integer y

TimeAny Boolean Date DateTime Float Integer Number Object String Consideraciones para los tipos Float, Integer y

Consideraciones para los tipos Float, Integer y Number

El tipo Integer es un número 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 número de doble precisión. No es apropiado para cálculos exactos de fracciones, en particular, cálculos que involucren dinero. Por ejemplo, un décimo (1/10 o .1), no puede ser representado exactamente en un Float binario de doble precisión, la suma de flotantes binarios de doble precisión de .10 + .10, no es igual a 20.

Tipos de datos

Para la mayoría 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:

FieldPeopleCode incluye este tipo de datos para acceso al buffer: Record Row Rowset PeopleCode incluye estos

Recordincluye este tipo de datos para acceso al buffer: Field Row Rowset PeopleCode incluye estos tipos

Roweste tipo de datos para acceso al buffer: Field Record Rowset PeopleCode incluye estos tipos de

Rowseteste tipo de datos para acceso al buffer: Field Record Row PeopleCode incluye estos tipos de

PeopleCode incluye estos tipos de datos para la pantalla:

AnalyticGridRecord Row Rowset PeopleCode incluye estos tipos de datos para la pantalla: 8 | Q u

8 |

Q u a l s y s

C o n s

u l

t

i

n g

S . C

Procesos PeopleSoft

Procesos PeopleSoft

CharProcesos PeopleSoft Gray GridColumn Page PeopleCode incluye estos tipos de datos para Internet script: Cookie Request

GrayProcesos PeopleSoft Char GridColumn Page PeopleCode incluye estos tipos de datos para Internet script: Cookie Request

GridColumnProcesos PeopleSoft Char Gray Page PeopleCode incluye estos tipos de datos para Internet script: Cookie Request

PageProcesos PeopleSoft Char Gray GridColumn PeopleCode incluye estos tipos de datos para Internet script: Cookie Request

PeopleCode incluye estos tipos de datos para Internet script:

Cookieincluye estos tipos de datos para Internet script: Request Response PeopleCode incluye estos tipos de datos

Requestincluye estos tipos de datos para Internet script: Cookie Response PeopleCode incluye estos tipos de datos

Responseestos tipos de datos para Internet script: Cookie Request PeopleCode incluye estos tipos de datos extras:

PeopleCode incluye estos tipos de datos extras:

AESectionResponse PeopleCode incluye estos tipos de datos extras: AnalyticInstance Array Crypt Execption File Interlink BIDocs

AnalyticInstancePeopleCode incluye estos tipos de datos extras: AESection Array Crypt Execption File Interlink BIDocs JavaObject

Arrayestos tipos de datos extras: AESection AnalyticInstance Crypt Execption File Interlink BIDocs JavaObject Message

Crypttipos de datos extras: AESection AnalyticInstance Array Execption File Interlink BIDocs JavaObject Message MCFIMInfo

Execptionde datos extras: AESection AnalyticInstance Array Crypt File Interlink BIDocs JavaObject Message MCFIMInfo OptEngine

Fileextras: AESection AnalyticInstance Array Crypt Execption Interlink BIDocs JavaObject Message MCFIMInfo OptEngine

InterlinkAESection AnalyticInstance Array Crypt Execption File BIDocs JavaObject Message MCFIMInfo OptEngine PostReport

BIDocsAnalyticInstance Array Crypt Execption File Interlink JavaObject Message MCFIMInfo OptEngine PostReport

JavaObjectAnalyticInstance Array Crypt Execption File Interlink BIDocs Message MCFIMInfo OptEngine PostReport ProcessRequest

MessageArray Crypt Execption File Interlink BIDocs JavaObject MCFIMInfo OptEngine PostReport ProcessRequest RowsetCahce

MCFIMInfoCrypt Execption File Interlink BIDocs JavaObject Message OptEngine PostReport ProcessRequest RowsetCahce SoapDoc 9 |

OptEngineExecption File Interlink BIDocs JavaObject Message MCFIMInfo PostReport ProcessRequest RowsetCahce SoapDoc 9 | Q u a

PostReportFile Interlink BIDocs JavaObject Message MCFIMInfo OptEngine ProcessRequest RowsetCahce SoapDoc 9 | Q u a l

ProcessRequestBIDocs JavaObject Message MCFIMInfo OptEngine PostReport RowsetCahce SoapDoc 9 | Q u a l s y

RowsetCahceJavaObject Message MCFIMInfo OptEngine PostReport ProcessRequest SoapDoc 9 | Q u a l s y s

SoapDocJavaObject Message MCFIMInfo OptEngine PostReport ProcessRequest RowsetCahce 9 | Q u a l s y s

9 |

Q u a l s y s

C o n s

u l

t

i

n g

S . C

Procesos PeopleSoft

Procesos PeopleSoft

SQLProcesos PeopleSoft SyncServer TransformData XmlDoc XmlNode Tipos API Object Utilice este tipo de datos para cualquier

SyncServerProcesos PeopleSoft SQL TransformData XmlDoc XmlNode Tipos API Object Utilice este tipo de datos para cualquier

TransformDataProcesos PeopleSoft SQL SyncServer XmlDoc XmlNode Tipos API Object Utilice este tipo de datos para cualquier

XmlDocProcesos PeopleSoft SQL SyncServer TransformData XmlNode Tipos API Object Utilice este tipo de datos para cualquier

XmlNodeProcesos PeopleSoft SQL SyncServer TransformData XmlDoc Tipos API Object Utilice este tipo de datos para cualquier

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:

Sessiontipos de datos ApiObject pueden declararse como Globales: PSMessages Collection PSMessages Todos las clases Tree Todas

PSMessages Collectionde datos ApiObject pueden declararse como Globales: Session PSMessages Todos las clases Tree Todas las clases

PSMessagesdeclararse como Globales: Session PSMessages Collection Todos las clases Tree Todas las clases query Comentarios

Todos las clases Treecomo Globales: Session PSMessages Collection PSMessages Todas las clases query Comentarios Utilice los comentarios

Todas las clases queryPSMessages Collection PSMessages Todos las clases Tree Comentarios Utilice los comentarios para explicar,

Comentarios

Utilice los comentarios para explicar, preferentemente en un lenguaje comprensible para cualquiera que lea su programa sepa que hace su código. Los comentarios hacen posible diferencia entre el PeopleCode que le entregan y los cambios que haga. Esto es útil para la búsqueda de errores y actualizaciones.

Las siguientes son algunas maneras de insertar comentarios en PeopleCode:

Puede encerrar comentarios empezando con / * y finalizando con */son algunas maneras de insertar comentarios en PeopleCode: También puede utiliza REM (remark) para establecer que

También puede utiliza REM (remark) para establecer que es un comentarioencerrar comentarios empezando con / * y finalizando con */ Puede encerrar el texto a comentar

Puede encerrar el texto a comentar entre <* al inicio y *> al finalutiliza REM (remark) para establecer que es un comentario El siguiente código muestra los formatos para

El siguiente código muestra los formatos para hacer comentarios:

10 |

Q u a l s y s

C o n s u l

t

i

n g

S . C

Procesos PeopleSoft

Procesos PeopleSoft

Ejemplo:

<* this program is no longer valid commenting out

entire thing

REM This is an example of commenting PeopleCode;

/* ----- Logic for Compensation Change ----- */

/* Recalculate compensation change for next row.

Next row is based on prior value of EFFDT. */

calc_next_compchg(&OLDDT, EFFSEQ, 0);

/* Recalculate compensation change for current row and next row.

Next row is based on new value of EFFDT. */

calc_comp_change(EFFDT, EFFSEQ, COMP_FREQUENCY, COMPRATE,

CHANGE_AMT, CHANGE_PCT);

calc_next_compchg(EFFDT, EFFSEQ, 0);

*>

Sentencias

Una sentencia puede ser una declaración, una asignación, la construcción de programas o una llamada de subrutinas:

Esta sección habla de:

Separadoreso una llamada de subrutinas: Esta sección habla de: Sentencias de asignaciones Construcciones del lenguaje

Sentencias de asignacionesllamada de subrutinas: Esta sección habla de: Separadores Construcciones del lenguaje Sentencias de control

Construcciones del lenguajesección habla de: Separadores Sentencias de asignaciones Sentencias de control Condicionales Loop 11 | Q u

Sentencias de controlSentencias de asignaciones Construcciones del lenguaje Condicionales Loop 11 | Q u a l s y

Condicionales LoopSentencias de asignaciones Construcciones del lenguaje Sentencias de control 11 | Q u a l s

11 |

Q u a l s y s

C o n s u l

t

i

n g

S . C

Procesos PeopleSoft

Procesos PeopleSoft

Separadores

Las sentencias de PeopleCode generalmente terminan con punto y coma. PeopleCode acepta puntos y comas aun cuando no son requeridos, como después de terminar la última sentencia de un If. Esto permite añadir punto y coma después de cada sentencia.

Los espacios extras son ignorados. Pueden ser eliminados por el editor de PeopleCode cuando salva el código.

Sentencias de asignación

Las sentencias de asignación son las más básicas de las sentencias en PeopleCode. Consiste en igualar una variable que esta ala izquierda con una expresión a la derecha:

Sintaxis:

VariableName = expression;

La expresión a la derecha es evaluada, y el resultado es introducido a al variable de la izquierda. Dependiendo del tipo de dato, la asignación se pasa un valor o una referencia.

Asignación por valor

En la mayoría de las asignaciones, el resultado de la expresión de la derecha es asignada para la variable como una nueva creación del valor, en nuestra variable almacenada en el área de la memoria. Cambios a la variable no afectan a otros datos.

Asignación por referencia

Cuando los dos lados de una sentencia de asignación son variables, el resultado de la asignación 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 número. Asignando &AN2 a &AN, no copia &AN2 en &AN. Los dos arreglos apuntan al mismo lugar en la memoria.

12 |

Q u a l s y s

C o n s u l

t

i

n g

S . C

Procesos PeopleSoft

Procesos PeopleSoft

Sintaxis:

Local array of number &AN, &AN2;

Local number &NUM;

&AN = CreateArray (100, 200, 300)

&AN2=&AN

&NUM=&AN[1]

En el código de ejemplo, &AN2 y &AN apuntan al mismo objeto: un arreglo de números.

Construcciones del lenguaje

La construcción de lenguaje en PeopleCode incluye:

Sentencias de control: If y Evaluatelenguaje La construcción de lenguaje en PeopleCode incluye: Loops y condicionales Loop: For, Repeat y While

Loops y condicionales Loop: For, Repeat y Whileen PeopleCode incluye: Sentencias de control: If y Evaluate Sentencias Break, Continue y Exit para controlar

Sentencias Break, Continue y Exit para controlar Loops y terminar programasy Evaluate Loops y condicionales Loop: For, Repeat y While La sentencia Return para regresar a

La sentencia Return para regresar a funcionesContinue y Exit para controlar Loops y terminar programas Sentencias de declaración de variables y funciones:

Sentencias de declaración de variables y funciones: Globales, locales y variables de componentes, y declaración de funciones par funcionesprogramas La sentencia Return para regresar a funciones Sentencias de funciones para definir funciones Sentencias

Sentencias de funciones para definir funcionesde componentes, y declaración de funciones par funciones Sentencias para definir clases Sentencias Try, Match y

Sentencias para definir clasespar funciones Sentencias de funciones para definir funciones Sentencias Try, Match y Throw para capturar errores.

Sentencias Try, Match y Throw para capturar errores.para definir funciones Sentencias para definir clases Funciones como subrutinas PeopleCode, como C, no tienen

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 están definidas para no regresar valores o regresar valores opcionales. Llamar una subrutina es lo mismo que llamar una función que no regresa valores.

Sintaxis:

function_name(param_list);

13 |

Q u a l s y s

C o n s u l

t

i

n g

S . C

Procesos PeopleSoft

Procesos PeopleSoft

Sentencias de control

Las sentencias de control controlan el flujo del programa basándose en evaluar expresiones condicionales.

Sentencias If, Then y Else

Sintaxis:

If condición Then

[Lista de sentencias1]

Else

[Lista de sentencias2]

End-If;

Esta sentencia evalúa la expresión condición. Si la condición es verdadera, la sentencia If ejecuta la lista de sentencias1. Si la condición es falsa, entonces el programa ejecuta las sentencias en la cláusula Else; si no hay cláusula Else, el programa continúa 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]

14 |

Q u a l s y s

C o n s u l

t

i

n g

S . C

End-evaluate;

Procesos PeopleSoft

Procesos PeopleSoft

La sentencia Evaluate toma una expresión, left_term, y lo compara con la expresión 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 comparación es TRUE, el programa ejecuta las sentencias de la clausula When, entonces se mueve para comparar la siguiente cláusula When. El programa ejecuta las sentencia en todas la clausulas When en las cuales la comparación resulte TRUE, si ninguna de las comparaciones resulta en TRUE el programa ejecuta la sentencias de la cláusula When-other, el siguiente ejemplo de Evaluate ejecuta solo las sentencias de la primera cláusula 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 específico número de veces.

Sintaxis:

For count = expresion1 to expresion2

[Step i];

[Lista de sentencias]

End-for;

15 |

Q u a l s y s

C o n s u l

t

i

n g

S . C

Procesos PeopleSoft

Procesos PeopleSoft

La sentencia For inicializa el valor de count con expresion1 entonces incrementa count con cada i veces después de ejecutar las sentencias en lista de sentencias. El programa continúa el ciclo hasta que count es igual a expresion2, si la cláusula Step se omite, entonces i se iguala a uno. Para contar hacia atrás desde un valor mas alto a uno más pequeño, 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 expresión condicional cada vez que pasan el ciclo. El ciclo termina cuando la condición 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 expresión_logica;

La sentencia Repeat ejecuta las sentencias una vez, entonces evalúa la expresión lógica. Si la expresión lógica es falsa, la secuencia de sentencias se repite hasta que la sentencia sea verdadera.

Sentencia While

Sintaxis:

While expresión_logica

[Lista de sentencias]

End-while;;

La sentencia While evalúa la expresión lógica antes de ejecutar la lista de sentencias. Continua repitiendo la lista de sentencias hasta que la expresión lógica resulte falsa.

Funciones

Funciones soportadas

PeopleCode soporta los siguientes tipos de funciones:

16 |

Q u a l s y s

C o n s u l

t

i

n g

S . C

Procesos PeopleSoft

Procesos PeopleSoft

Built-in: La función estándar para PeopleCode. Esta puede ser llamada sin declarar el BeginProcesos PeopleSoft Internal: Funciones que ya están definidas en un programa de PeopleCode en el cual

Internal: Funciones que ya están definidas en un programa de PeopleCode en el cual son llamadasPeopleCode. Esta puede ser llamada sin declarar el Begin External PeopleCode: las funciones de PeopleCode definidas

External PeopleCode: las funciones de PeopleCode definidas fuera del programa que las llama. Generalmente están en la definición de Registros que funcionan como librerías.en un programa de PeopleCode en el cual son llamadas External non-PeopleCode: funciones almacenadas en librerías

External non-PeopleCode: funciones almacenadas en librerías externas (librerías de C)la definición de Registros que funcionan como librerías. Adicionalmente PeopleCode soporta métodos. Las principales

Adicionalmente PeopleCode soporta métodos. Las principales diferencias entre una función built-in y el método son:

Una función built-in, en su código, se llama a si mismo y generalmente no depende de ningún otro.diferencias entre una función built-in y el método son: Un método puede se ejecutado solo por

Un método puede se ejecutado solo por un objetollama a si mismo y generalmente no depende de ningún otro. Definición de funciones Las funciones

Definición 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 convención, los programas de PeopleCode se almacenan en registros cuyos nombre empiecen con FUNCLIB_, y siempre se adjuntan a un evento FieldFormula.

Declaración de funciones

Si llama una función externa desde un programa de PeopleCode, debe declarar la función al principio del programa. La sintaxis de la declaración de funciones varia, dependiendo de si la función externa se escrita en PeopleCode o compilada en una librería dinámica.

El siguiente es un ejemplo de la declaración de una función en otro registro a FUNCLIB.

Ejemplo:

Declare Funtion UpdatePSLOCK PeopleCode FUNCLIB_NODES.MSGNODENAME FieldFormula

Llamado de funciones:

17 |

Q u a l s y s

C o n s u l

t

i

n g

S . C

Procesos PeopleSoft

Procesos PeopleSoft

Sintaxis:

Function_name (lista_parametros)

La lista de parámetros, es una lista de expresiones, separadas por comas, que la función espera le suministre. Los parámetros de la lista pueden ser opcionales o requeridos.

Puede verificar los parámetros de los valores que pasa a la función al momento de ejecución en la ventana Parameter del debugger de PeopleCode.

Si el valor regresado es requerido, entonces la función debe llamarse como una expresión.

Ejemplo:

&RESULT = Product (&RAISE_PERCENT,.01,EMPL_SALARY);

Si la función regresa un valor como una opción, puede ser llamada como una subrutina. Si la función no regresa valores, debe se llamada como subrutina.

Ejemplo:

WinMessage(64,“I can´t do that,“| &OPER_NICKNAME |”.””);

Los parámetros siempre pasan funciones de PeopleCode por referencias internas y externas. Si la función cambia los datos al pasarlos, entonces debe pasar una variable.

Los parámetros de la función Built-in pueden pasar por referencia o por valor, dependiendo de la función. Los parámetros de una función externa de C pueden pasar valores o referencias, dependiendo de la declaración y del tipo.

Valores regresados por funciones

Las funciones pueden regresar valores de cualquier tipo de dato que soporten; algunas funciones no regresan ningún valor.

La opción de regresar valores ocurre solo en funciones Built-in. No puede definir una función opcionalmente regrese un valor. El regreso opcional de valores es típico en las funciones que regresan un valor bolean indicando si la ejecución 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);

18 |

Q u a l s y s

C o n s u l

t

i

n g

S . C

Procesos PeopleSoft

Procesos PeopleSoft

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---couldn´t delete that row”);

End-if

Conflictos al nombrar funciones

Si define una función con el mismo nombre de una función built-in, la función que definió toma preferencia sobre la función Built-in.

En cualquier momento que compile el PeopleCode en el editor de PeopleCode, un mensaje de advertencia aparece en la pestaña de validación, indicando que el usuario definió una función con el mismo nombre de una función existente.

También, si selecciona Compile All PeopleCode, un mensaje de error es generado en el archivo log por cada función que el usuario defina con el mismo nombre de una función 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

Evalúa expresiones para los valores de los tipos de datos de PeopleCode. Una simple expresión de PeopleCode puede consistir en una constante, una variable temporal, una variable de sistema, una referencia a un registro o la llamada de una función. Una simple expresión puede modificarse por operadores (como un signo negativo o la expresión lógica NOT) o combinando expresiones utilizando operadores binario (como un signo plus u operador lógico AND)

El verificador de nombres compara la cadena del nombre con las definiciones existentes en PeopleTools, como registros o paginas.

19 |

Q u a l s y s

C o n s u l

t

i

n g

S . C

Procesos PeopleSoft

Procesos PeopleSoft

Metastrings (también llamados meta-SQL) son expresiones especiales utilizadas como cadenas literales de SQL. En tiempo de ejecución, el metastring se expande apropiadamente dentro del SQL.

Constantes

PeopleCode soporta constantes numéricas, string y boolean, como constantes definidas por el usuario. También soportan la constante Null, el cual indica que un objeto que no hace referencia a un objeto valido.

Constantes numéricas

Constantes numéricas pueden ser cualquier número. Como por ejemplo:

7

7

0.8725

0.8725

-172.324

-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 stringveces el delimitador. Los siguientes son algunos ejemplos: „También esta‟ ´Ella dijo, “esta es una constante

„También esta‟son algunos ejemplos: “Esta es una constante string ´Ella dijo, “esta es una constante string”´ “Ella

´Ella dijo, “esta es una constante string”´“Esta es una constante string „También esta‟ “Ella dijo, “esta es una constante string”” Utilice

“Ella dijo, “esta es una constante string””esta‟ ´Ella dijo, “esta es una constante string”´ Utilice el siguiente código para incluir literalmente comas

Utilice el siguiente código 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.

20 |

Q u a l s y s

C o n s u l

t

i

n g

S . C

Procesos PeopleSoft

Procesos PeopleSoft

Constantes nulas

Las constantes nulas representan un objeto que hace referencia a un objeto no valido. Esto significa que llama un método 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 declaración 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 declaración 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 función que regrese un valor o una expresión. La función puede ser utilizada del lado derecho de una sentencia, pasar como un parámetro a otra función o combinarse con otra expresión para formar una expresión compuesta.

Variables del sistema

Las variables del sistema están precedidas del símbolo de porcentaje (%). Utilice estas variables para obtener la fecha actual u obtener información del usuario, el lenguaje actual, el registro actual, página, componente o más.

Metastring

Los metastring son expresiones especiales de SQL. Los metastring, también llamados meta-SQL, están precedidos del símbolo porcentaje (%) y pueden incluirse

21 |

Q u a l s y s

C o n s u l

t

i

n g

S . C

Procesos PeopleSoft

Procesos PeopleSoft

directamente en cadenas. Se expanden al momento de ejecutarse dentro de una subcadena para la actual base de datos. Los metastring son utilizados en:

SQLExecla actual base de datos. Los metastring son utilizados en: En la construcción de vistas dinámicas

En la construcción de vistas dinámicas en PeopleSoft Application Designerbase de datos. Los metastring son utilizados en: SQLExec Con Objetos SQL En PeopleSoft Application Engine

Con Objetos SQLde vistas dinámicas en PeopleSoft Application Designer En PeopleSoft Application Engine Con algunos métodos de

En PeopleSoft Application Engineen PeopleSoft Application Designer Con Objetos SQL Con algunos métodos de clases Con COBOL Referencias del

Con algunos métodos de clasesDesigner Con Objetos SQL En PeopleSoft Application Engine Con COBOL Referencias del campo de registro Utilice

Con COBOLPeopleSoft Application Engine Con algunos métodos de clases Referencias del campo de registro Utilice las referencias

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 están 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 definición 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 símbolo caret (^).

22 |

Q u a l s y s

C o n s u l

t

i

n g

S . C

Procesos PeopleSoft

Procesos PeopleSoft

Variables

Tipos de variables soportadas

PeopleCode Soporta este tipo de variables:

Concepto

Característica

Variables definidas por el usuario

El nombre de estas variables deben estar precedidos por el símbolo &. Los nombres de las variables pueden tener de 1 a 1000 caracteres, de A-Z y a-z, números de 0-9 y caracteres #,@,$ y

Variables del sistema

Las variables del sistema proporcionan acceso a la información del sistema. Estas variables tienen el prefijo % en vez del &, utilice estas variables siempre que use una constante, pasándolo como parámetro 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 información de un campo de registro, para programar claramente un código. Por ejemplo, puede darle a una variable un nombre más descriptivo que a un campo, basándose 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 más fácil la programación y más fácil de leer.

Declaración 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 sesióndeclaraciones de variables consiste en el periodo de vida: Component: la variable es valida mientras cualquier

Component: la variable es valida mientras cualquier página en el componente donde la variable fue definida se mantenga activa.vida: Global: esta variable es valida para toda la sesión Local: la variable es valida durante

Local: la variable es valida durante el programa de PeopleCode o función en la cual la variable fue definida.donde la variable fue definida se mantenga activa. Puede declarar variables utilizando sentencias Global, Local

Puede declarar variables utilizando sentencias Global, Local o Componente, o puede utilizar las variables locales sin declararlas.

23 |

Q u a l s y s

C o n s u l

t

i

n g

S . C

Procesos PeopleSoft

Procesos PeopleSoft

Ejemplo:

Local Number &AGE;

Global String &OPER_NICKNAME;

Component Rowset &MY_ROWSET;

Local Any &SOME_FIELD;

Local ApiObjet &MYTREE;

Local Boolean &Compare = True;

La declaración de variables se hace normalmente en la parte superior del programa en PeopleCode. La excepción es la declaración de variables Locales, las cuales se pueden utilizar en una función 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 basándose 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 difícil su mantenimiento.

Las variables Globales están disponibles para un portal o aplicación con bases de datos diferentes.

Declaración de variables

Declare las variables antes de utilizarlas. Si no declara una variable, es declarada automáticamente con el tipo de dato Any. Recibe un mensaje de advertencia en la pestaña de validación del PeopleSoft Application Designer por cada variable que no este declarada cuando salve su programa PeopleCode.

que no este declarada cuando salve su programa PeopleCode. Si declara todas las variables, puede utilizar

Si declara todas las variables, puede utilizar estos valores para asegurar que no tiene errores ortográficos. Por ejemplo, si declara una variable como &END_DATE, y

24 |

Q u a l s y s

C o n s u l

t

i

n g

S . C

Procesos PeopleSoft

Procesos PeopleSoft

accidentalmente escribe &EDN_DATE, la “nueva” variable aparece en la pestañas cuando guarde el programa.

Inicialización 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 más de una variable en una sola línea, puede inicializar solo una variable por línea. El siguiente código crea un error de sintaxis cuando trata de salvar el programa.

Ejemplo:

Local Number &N1,&N2 = 5;

No puede declarar una variable, después inicializar en una segunda sentencia otra. El siguiente código produce un error cuando trata de salvar el programa, por duplicar una declaración.

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 matemáticos, de caracter, comparación y booleanos.

Operadores matemáticos

Los operadores estándar utilizado son:

25 |

Q u a l s y s

C o n s u l

t

i

n g

S . C

Procesos PeopleSoft

Procesos PeopleSoft

Símbolo

Acción

+

Mas

-

Menos

*

Multiplicación

/

División

**

Potencia

Operadores de fecha y hora

Puede agregar o restar dos fechas o dos valores de horas, lo que proporciona como resultado un número. En el caso de las fechas, el número representa la diferencia entre las dos fechas en días. Y en el caso de las horas, el número representa la diferencia en segundos. Puede también sumar y restar números a una hora o una fecha, y el resultado será otra hora u otra fecha. En el caso de los días, el número representa los días y en el caso de las horas representa los segundos.

Operación

Resultado

El resultado representa

Hora + numero de segundos

Tiempo

Horas

Fecha + numero de días

Fecha

Fecha

Fecha Fecha

Número

Diferencia en días

Hora Hora

Número

Diferencia en segundos

Fecha + Hora

FechaHora

Fecha y Hora combinados

Concatenación de cadenas

Las concatenación 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 can´t do that, ”| &OPER_NICKNAME | “.”;

26 |

Q u a l s y s

C o n s u l

t

i

n g

S . C

Procesos PeopleSoft

Procesos PeopleSoft

El operador de concatenación automáticamente convierte el operador a string. Esto hace más fácil 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 almacenándola en una referencia dentro de una definición. 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 expresión evalúa a 8001.

Ejemplo:

@”EMPLID”

El siguiente ejemplo explica el uso del operador @ para convertir una cadena almacenándola 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 comparación

Los operadores de comparación, comparan dos expresiones del mismo tipo de datos. El resultado de la comparación es un valor booleano. La siguiente tabla resume estos operadores.

Operador

Significado

=

Igual

27 |

Q u a l s y s

C o n s u l

t

i

n g

S . C

Procesos PeopleSoft

Procesos PeopleSoft

Operador

Significado

!=

Diferente

<>

Diferente

<

Menor que

<=

Menor o igual

>

Mayor

>=

Mayor o igual

Puede agregar al inicio de cualquier operador el operador NOT, por ejemplo:

Not=inicio de cualquier operador el operador NOT, por ejemplo: Not< Not>= Operadores booleanos Los operadores

Not<de cualquier operador el operador NOT, por ejemplo: Not= Not>= Operadores booleanos Los operadores lógicos AND,

Not>=operador el operador NOT, por ejemplo: Not= Not< Operadores booleanos Los operadores lógicos AND, OR y

Operadores booleanos

Los operadores lógicos 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.

Expresión 1

Operador

Expresión 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 expresión bolean, cambiando el valor de True a Falso y de False a True.

El siguiente ejemplo de sentencias contiene expresiones booleanas.

28 |

Q u a l s y s

C o n s u l

t

i

n g

S . C

Procesos PeopleSoft

Procesos PeopleSoft

Ejemplo:

&FLAG = (Not (&FLAG));

If ((&HAS_FLEAS or &HAS_TICKS) and

SOAP_QTY <= MIN_SOAP_QTY) then

SOAP_QTY = SOAP_QTY + OrderFleaSoap (SOAP_ORDER_QTY);

End-if;

Eventos en PeopleCode

Evento Activate

El evento actívate es iniciado cada vez que se activa una página, inclusive cuando una página es mostrada al usuario por primera vez, o si el usuario presiona TAB entre las diferentes paginas en un componente. Cada página activa su propio evento.

Solo se puede activar PeopleCode asociándolo con páginas

Evento FieldChange

Utilice FieldChange PeopleCode para re-calcular los valores de los campos en la pagina, cambiar la apariencia de la pagina de control. Para validar el contenido de un campo, utilice el evento FieldEdit.

El evento FieldChange se aplica al campo o fila que acaba de cambiar.

FieldChange PeopleCode se acompaña de RowInit PeopleCode. En esta combinación RowInit/FieldChange, el código en RowInit evalúa los valores en el componente e inicializa su estado o los controles de la página. FIeldChange vuelve a evaluar los valores en el componente al momento de la ejecución y resetea los valores o las páginas.

Evento FieldDefault

El evento FieldDefault PeopleCode permite programar los valores por default para los campos cuando se van a mostrar. Este evento se inicia en todos los campos como parte de diferentes procesos, sin embargo, los triggers de PeopleCode se disparan cuando las siguientes condiciones son verdaderas:

Los campos de la página continúan en blanco después de aplicar cualquier valor especificado en las propiedades del registro.disparan cuando las siguientes condiciones son verdaderas: El campo tiene un programa PeopleCode para FieldDefault 29

El campo tiene un programa PeopleCode para FieldDefaultde aplicar cualquier valor especificado en las propiedades del registro. 29 | Q u a l

29 |

Q u a l s y s

C o n s u l

t

i

n g

S . C

Procesos PeopleSoft

Procesos PeopleSoft

En la práctica, 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 través de PeopleCode o por el usuario, la propiedad IsChange para la filase pone en verdadero. La excepción 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 validación el programa PeopleCode debe mostrar un mensaje de error, el cual vuelve a mostrar la página, 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 botón OK y explicación. 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 desempeño de la aplicación. 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 menús emergentes, ItemSelected PeopleCode se ejecuta en el contexto de la página donde se encuentra el menú, lo que significa que puede tener un menú diferente por cada página.

ItemSelected PeopleCode esta asociado solo con los menús emergentes.

Evento PosBuild

El evento PostBuild es asociado después de construir todos los eventos del componente. Este evento normalmente utilizado para mostrar u ocultar páginas. También es utilizado para configurar las variables del componente.

PeopleCode PostBuild esta asociado solo con los componentes

30 |

Q u a l s y s

C o n s u l

t

i

n g

S . C

Procesos PeopleSoft

Procesos PeopleSoft

Evento PreBuild

El evento PreBuild es iniciado antes del resto de los eventos Built del componente. Este evento se utiliza para esconder o mostrar páginas. También es utilizado para configurar las variables del componente.

También use el evento PreBuild para validar la entrada de datos en las páginas de búsqueda.

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 página. Use PeopleCode RowDelete para prevenir la eliminación de una fila o para ejecutar algún proceso después de la eliminación.

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 construcción del componente y la inserción de una fila. Esto ocurre después del método Select o SelectAll.

No use sentencias de advertencia o error en el PeopleCode RowInit; esto causa un error de ejecución.

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 código.se ejecute dos veces.

Evento RowSelect

del

componente en cualquiera de los modos de acción (Update, Update/Display All,

El

evento

RowSelect

se

inicia

en

al

principio

del

proceso

de

construcción

31 |

Q u a l s y s

C o n s u l

t

i

n g

S . C

Procesos PeopleSoft

Procesos PeopleSoft

Correction). RowSelect se utiliza para filtrar las filas de los datos que se están leyendo en el buffer del componente

Una función DiscardRow en RowSelect causa que el Component Processor salte la fila actual y continúe 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 demás 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 validación involucre más de una campo en el componente, debe utilizar PeopleCode SaveEdit. Si una validación involucra solo un campo en la página 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

Después 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 función SQLExec.

Un error o advertencia en SavePostChange causa un error de ejecución. Evite los errores y advertencias en este evento.

El sistema utiliza la sentencia commit de SQL después 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.

32 |

Q u a l s y s

C o n s u l

t

i

n g

S . C

Procesos PeopleSoft

Procesos PeopleSoft

Evento SavePreChange

El evento SavePreChange es iniciado después 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 aplicación PeopleSoft. Los valores ChartField representan números de cuentas individuales, códigos de departamento, y así sucesivamente.

33 |

Q u a l s y s

C o n s u l

t

i

n g

S . C

Procesos PeopleSoft

Procesos PeopleSoft

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.

o entiende SQL, si ejecuta el SQL que usted proporcione. Aplicación Sección Paso Acción Sección Paso
Aplicación
Aplicación

Aplicación

Aplicación
Aplicación
Aplicación

Sección

Paso

el SQL que usted proporcione. Aplicación Sección Paso Acción Sección Paso Acción Sección Paso Acción

Acción

Sección

Paso

proporcione. Aplicación Sección Paso Acción Sección Paso Acción Sección Paso Acción Entendiendo PeopleSoft

Acción

Sección

Paso

Sección Paso Acción Sección Paso Acción Sección Paso Acción Entendiendo PeopleSoft Application Engine Puede

Acción

Entendiendo PeopleSoft Application Engine

Puede utilizar PeopleSoft Application Engine para desarrollar programas batch o en línea que realizan procesos de altos volúmenes, procesando a fondo sus datos.

Fundamentos de PeopleSoft Application Engine

PeopleSoft Application Engine comprende dos componentes distintos, un diseñador donde se define los programas batch y el entorno de ejecución donde se corren y monitorean los programas.

34 |

Q u a l s y s

C o n s u l

t

i

n g

S . C

Procesos PeopleSoft

Procesos PeopleSoft

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 acción de Application Engine como parte de su programa.

PeopleSoft Application Engine esta diseñado para el procesamiento batch donde usted tiene los datos que deben ser procesados sin intervención 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 cálculos numéricos. 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 diseñado para sustituir RDBMS con una sintaxis común

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:

Seccionesuna tarea dada y esta compuesta de varios elementos claves: Pasos Acciones Registros de estado. Secciones

Pasosdada y esta compuesta de varios elementos claves: Secciones Acciones Registros de estado. Secciones Las secciones

Accionesy esta compuesta de varios elementos claves: Secciones Pasos Registros de estado. Secciones Las secciones comprenden

Registros de estado.de varios elementos claves: Secciones Pasos Acciones Secciones Las secciones comprenden uno o más pasos y

Secciones

Las secciones comprenden uno o más pasos y son equivalentes a un párrafo en COBOL o a un procedimiento en SQR. Todos los programas del Application Engine deben contener al menos una sección Main.

Una sección 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.

35 |

Q u a l s y s

C o n s u l

t

i

n g

S . C

Procesos PeopleSoft

Procesos PeopleSoft

Un programa debe contener al menos una sección. La ejecución del programa siempre comienza con la sección definida como Main.

Pasos

Los pasos son las unidades más pequeñas 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 sección es llamada, sus pasos se ejecutan secuencialmente. Cada programa empieza por ejecutar el primer paso de la sección requerida llamada Main y termina después del último paso en la última sección completada correctamente

Acción

Hay múltiples tipos de acciones que puede especificar para incluir dentro de un paso. Es común tener múltiples 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 líneas, las acciones subsecuentes no necesitan ejecutarse.

Los 4 tipos de acciones Do son:

Do Whileno necesitan ejecutarse. Los 4 tipos de acciones Do son: Do When Do Select Do Unit

Do Whenejecutarse. Los 4 tipos de acciones Do son: Do While Do Select Do Unit SQL La

Do Selectejecutarse. Los 4 tipos de acciones Do son: Do While Do When Do Unit SQL La

Do UnitLos 4 tipos de acciones Do son: Do While Do When Do Select SQL La mayoría

SQL

La mayoría de las acciones SQL contienen una simple sentencia de SQL. Estas acciones pueden realizar los siguientes tipos de sentencias SQL:

Updatepueden realizar los siguientes tipos de sentencias SQL: Delete Insert Select Las acciones SQL difieren de

Deleterealizar los siguientes tipos de sentencias SQL: Update Insert Select Las acciones SQL difieren de las

Insertlos siguientes tipos de sentencias SQL: Update Delete Select Las acciones SQL difieren de las acciones

Selectlos siguientes tipos de sentencias SQL: Update Delete Insert Las acciones SQL difieren de las acciones

Las acciones SQL difieren de las acciones Do, las cuales también contienen SQL, y en que la acción de SQL no controla el flujo del programa.

36 |

Q u a l s y s

C o n s u l

t

i

n g

S . C

Procesos PeopleSoft

Procesos PeopleSoft

PeopleCode

PeopleSoft Application Engine PeopleCode proporciona una excelente forma de construir SQL dinámicos, realizando simples if/else, establecidos por default y otras operaciones que no requieren una consulta a la base de datos.

Lo más importante, PeopleCode proporciona acceso a las tecnologías de integración de PeopleSoft como PeopleSoft Integration Broker, Component Interface y Business Interlinks.

Log Message

Se utiliza la acción Log Message para escribir un mensaje basado en una condición en su programa. Esto da a su programa capacidad multilenguaje. El sistema almacena el mensaje generalmente como un mensaje conjunto, números de mensaje y valores de los parámetros.

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 también insertar una acción que llame a otra sección. La sección 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 acción. Si una sección ya existe en un programa, en vez de copiarla en otro programa, sólo mándela 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 acción a otra.

Un State Record puede ser cualquier record físico o record de trabajo, y cualquier número 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 definición de el programa. Los tipos son:

Standard, es un punto de entrada normal del programa.para la definición de el programa. Los tipos son: Upgrade Only, es utilizada para las actualizaciones

Upgrade Only, es utilizada para las actualizaciones de PeopleSoft.son: Standard, es un punto de entrada normal del programa. Import Only, el cual es utilizado

Import Only, el cual es utilizado importar utilerías de PeopleSoft.programa. Upgrade Only, es utilizada para las actualizaciones de PeopleSoft. 37 | Q u a l

37 |

Q u a l s y s

C o n s u l

t

i

n g

S . C

Procesos PeopleSoft

Procesos PeopleSoft

Daemon Only, un tipo de programa utilizado como un demonio proceso.Procesos PeopleSoft Transform Only, un tipo de programa utilizado para apoyar Extensible Stylesheet Language

Transform Only, un tipo de programa utilizado para apoyar Extensible Stylesheet Language Transformaciones (XSLT).Only, un tipo de programa utilizado como un demonio proceso. Daemon Program Application Engine proporciona un

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 acción del tipo XSLT o PeopleCode.

Puede utilizar Transform Program para hacer cualquiera de lo siguiente:

Aplicar una transformación a un mensaje para hacer su estructura cumplir con el objetivo de los requerimientos del sistema.Transform Program para hacer cualquiera de lo siguiente: Realizar una traducción de datos en un mensaje

Realizar una traducción de datos en un mensaje como los datos están representados de acuerdo a los convenios del sistema.cumplir con el objetivo de los requerimientos del sistema. Determinar si para pasar un mensaje a

Determinar si para pasar un mensaje a través de su objetivo, para filtrar esto basado en su contenido.están representados de acuerdo a los convenios del sistema. Creando programas de Application Engine Un Application

Creando programas de Application Engine

Un Application Engine incluye un orden lógico de secciones, pasos, y acciones. Un programa ejecutable debe contener al menos una sección llamada Main, utilizada para identificar el punto de comienzo del programa, este debe contener al menos un paso y cada paso debería contener al menos una acción.

Visualizando programas de Application Engine

Utilizando vista Definition

Utilice la vista Definition para crear definiciones dentro de una estructura jerárquica definida, en la cual los nodos representan las definiciones. Un nodo es una representación visual de una sección, un paso o una acción que puede seleccionar colapsar, modificar, etc.

38 |

Q u a l s y s

C o n s u l

t

i

n g

S . C

Procesos PeopleSoft

Procesos PeopleSoft

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 definición del programa y seleccione el primer nodo.vista utilizando las siguientes teclas de combinaciones: Presione CTRL + END para desplazarse hasta el final

Presione CTRL + END para desplazarse hasta el final de la definición del programa y seleccione el último nodo visible.de la definición del programa y seleccione el primer nodo. Presione TAB para pasar del campo

Presione TAB para pasar del campo seleccionado actualmente a la próximo campo actualizadodel programa y seleccione el último nodo visible. Presione CTRL + DOWN ARROW para desplazarse desde

Presione CTRL + DOWN ARROW para desplazarse desde el nodo seleccionado actualmente para el próximo nodo.seleccionado actualmente a la próximo campo actualizado Presione CTRL + UP ARROW anterior nodo. para pasar

Presione CTRL + UP ARROW anterior nodo.el nodo seleccionado actualmente para el próximo nodo. para pasar de la actual nodo seleccionado a

para pasar de la actual nodo seleccionado a la

La siguiente ilustración muestra la vista Definition.

a la La siguiente ilustración muestra la vista Definition. Definición de la vista Pop-up Menu La

Definición 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 sólo cuando una definición en particular está seleccionada.

39 |

Q u a l s y s

C o n s u l

t

i

n g

S . C

Procesos PeopleSoft

Procesos PeopleSoft

Comando del menú

Descripción

View PeopleCode

Ejecuta el editor de PeopleCode con el PeopleCode apropiado. Se habilita cuando una acción PeopleCode es seleccionada.

View SQL

Ejecuta el editor SQL con el SQL apropiado. Se habilita cuando una acción 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 acción XSLT es seleccionada.

Cut

Remueve el elemento seleccionado y sus copias del portapapeles. No puede copiar o pegar dentro de ningún programa.

Copy

Copia un elemento seleccionado.

Paste

Pega el contenido del portapapeles de PeopleTools, (el más reciente corte o copiado) a la ubicación actual del cursor.

Delete

Borra el nodo actualmente seleccionado de la definición del programa.

Refresh View

Actualiza la vista actual y reordena la definición de objetos, según sea necesario.

Insert Section

Inserta una nueva sección en el programa actual, en el lugar donde el cursor esta en posición. Esta opción está habilitada sólo cuando tienes MAIN u otra sección seleccionada.

Insert Step/Action

Inserta un nuevo paso y la acción dentro de la sección seleccionada actualmente. Esta opción está activada sólo cuando usted tiene una sección o un paso seleccionado.

Insert Action

Inserta una nueva acción en el paso actualmente seleccionado. Esta opción está habilitada sólo cuando se tiene un paso o acción seleccionada.

Jump to This Program Flow

Cambia a el programa Program Flow view

40 |

Q u a l s y s

C o n s u l

t

i

n g

S . C

Procesos PeopleSoft

Procesos PeopleSoft

Comando del menú

Descripción

 

Con la primera aparición de la actual selección definiendo en el punto de mira.

Print

Muestra el cuadro de diálogo Imprimir para la vista de la definición.

Insert Section Into Project

Se aplica a las secciones. Inserta la actual selección 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 ilustración muestra el programa:

La siguiente ilustración muestra el programa: Usted puede controlar la cantidad de detalle que aparece

Usted puede controlar la cantidad de detalle que aparece para cada definición haciendo clic en ella para ampliar al siguiente nivel. También 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 sección) es seleccionado, el cuadro de dialogo Print Options permite la impresión, ya sea para comenzar en ese nodo de paso o la impresión de todo el programa. Sin embargo, si un nodo del segundo paso (uno que es el resultado de llamar una sección), un nodo de la segunda acción, un nodo SQL o un nodo PeopleCode, es seleccionado en la vista Program Flow, el cuadro de dialogo Printf Options solo permite la impresión de todo el programa.

41 |

Q u a l s y s

C o n s u l

t

i

n g

S . C

Procesos PeopleSoft

Procesos PeopleSoft

Para mostrar el menú pop-up para un nodo, de clic derecho al mismo nodo. No tiene que seleccionar primero el nodo.

Puede también 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ú

Descripción

View PeopleCode

Ejecuta el editor de PeopleCode con el apropiado PeopleCode cargado. Habilitado cuando una acción de PeopleCode esta seleccionada.

View SQL

Ejecuta el editor de SQL con el apropiado SQL cargado. Habilitado cuando una acción con SQL esta seleccionada.

Refresh View

Actualiza la vista actual y reordena la definición de objetos, según 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 aparición de la definición actual del objeto seleccionado actualmente.

Print

Ejecuta el cuadro de diálogo para imprimir para la vista del programa.

Cambiando éntre las vistas Definition y Program Flow

Por default, la navegación 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 métodos:

Pestañas de vistas.puede utilizar cualquiera de los siguientes métodos: Como con cualquier interfaz con pestañas, si selecciona una

Como con cualquier interfaz con pestañas, si selecciona una pestaña, 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 vistasen el actual o ultimo nodo dentro del programa cuando se encienda. 42 | Q u

42 |

Q u a l s y s

C o n s u l

t

i

n g

S . C

Procesos PeopleSoft

Procesos PeopleSoft

Seleccione una sección o paso en la actual vista (note que seleccionando una

acción 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-updepende de que lo tenga seleccionado en la vista previa. Los mismos comandos como el menú

Los mismos comandos como el menú View también están 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 ReferenceFlow, puede seleccionar estas opciones del menú pop-up: Seleccione esta opción para cambiar la siguiente referencia

Seleccione esta opción para cambiar la siguiente referencia de una definición de un objeto en particular. Esto le ayuda a navegar rápidamente a través del programa. Por ejemplo, si las referencias a la sección C, el paso 4 aparece tres veces, porque hay varias llamadas a este objeto en tiempo de ejecución, seleccione Go to Next Reference para navegar fácil y rápidamente en cada referencia.

Jump to this Definitionpara navegar fácil y rápidamente en cada referencia. Seleccione esta opción para ir directamente a la

Seleccione esta opción para ir directamente a la definición del nodo en la vista Definition que pertenece a la actual selección en la vista Program Flow.

Utilizando la opción actualizar

Como desarrollador de un programa Application Engine, tal vez inserte, renombre y borre definiciones. En un largo programa puede ser fácil perder su lugar o desorientarse. La opción actualizar reordena todos los nodos para la actual definición de acuerdo a la siguiente lógica:

Para las definiciones de un programa estándar, la sección del Main siempre aparece primero.la actual definición de acuerdo a la siguiente lógica: Las secciones restantes aparecen alfabéticamente por

Las secciones restantes aparecen alfabéticamente por nombre, esto hace más

fácil localizar una sección dentro de un programa. El sistema ejecuta secciones

a través de la acción Call Sections dentro de los pasos, no por el orden que fueron definidos.

Los pasos nunca se reordenan automáticamente en la vista Definition, y, en tiempo de ejecución se ejecutan en el orden en que fueron definidos.Call Sections dentro de los pasos, no por el orden que fueron definidos. 43 | Q

43 |

Q u a l s y s

C o n s u l

t

i

n g

S . C

Procesos PeopleSoft

Procesos PeopleSoft

Las acciones se reordenan lógicamente siempre dentro de un paso, basado de su tipo de acción, que define su tiempo de ejecución.Procesos PeopleSoft Filtrando el contenido de la vista Las sección de las opciones de filtrado le

Filtrando el contenido de la vista

Las sección de las opciones de filtrado le permiten filtrar la vista actual de manera que sólo 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ú

Descripción

No Filtering

Seleccione para ver todos los objetos en el programa independientemente de cualquier sección de atributos, tales como mercado, tipo de base de datos, fecha efectiva y estado efectivo.

Default

Seleccione para mostrar la definición de filtro de acuerdo con el valor por default de los criterios de filtrado. Si cambia el valor de cualquier opción de filtrado haga clic en OK, para tener definido una filtro personalizado.

Custom

Seleccione para mostrar el cuadro de diálogo de la definición de filtro y definir las opciones del filtrado para la vista actual.

Comportamiento de las opciones de la sección de filtrado

Cuando use la sección de opciones de filtrado considere lo siguiente:

El valor por default es no filtrado, por lo tanto, todas las definiciones de la sección se incluyen en esta vista.la sección de opciones de filtrado considere lo siguiente: Si selecciona filtrado, el filtrado de las

Si selecciona filtrado, el filtrado de las opciones por defecto se muestran mientras está en la sección actual de PeopleSoft Application Designerlas definiciones de la sección se incluyen en esta vista. Si modifica este filtro y da

Si modifica este filtro y da clic en OK, las nuevas opciones serán guardadas como opciones activas actuales y en consecuencia se actualiza la vista.en la sección actual de PeopleSoft Application Designer Si selecciona los filtros por default, las opciones

Si selecciona los filtros por default, las opciones aparecerán en el cuadro de dialogo.activas actuales y en consecuencia se actualiza la vista. Si selecciona Section Filtering, Default o Section

Si selecciona Section Filtering, Default o Section Filtering Custom aparecerá el siguiente cuadro de diálogo:

44 |

Q u a l s y s

C o n s u l

t

i

n g

S . C

Procesos PeopleSoft

Procesos PeopleSoft
Procesos PeopleSoft En este ejemplo, sólo las definiciones que representan a los siguientes criterios aparecen en

En este ejemplo, sólo las definiciones que representan a los siguientes criterios aparecen en las vistas Definition y Program Flor.

Atributo

Definición

Market

Seleccione un código de mercado para ver sólo 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 ilustración, las secciones que se definen sólo 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 sección activa

45 |

Q u a l s y s

C o n s u l

t

i

n g

S . C

Procesos PeopleSoft

Procesos PeopleSoft

Creando, abriendo y renombrando los programas.

Creando nuevos programas

Para crear nuevos programas:

1. Seleccione FileNew o presione CTRL + N.

2. En el cuadro de dialogo, seleccione App Engine Program y de clic en OK.

3. Nómbrelo 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 búsqueda del programa que quiera, seleccione su

programa en los resultados de la búsqueda y de clic en Open.

Renombrando programas

Para renombrar un programa:

1. Seleccione File Rename.

2. En el cuadro de dialogo de renombrar, asegúrese de que aparezca App

Engine Program como el tipo de definición.

3. En el menú desplegado que contiene los resultados de su búsqueda

seleccione el programa que quiera renombrar.

4. Seleccione Rename.

5. Sitúe 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 continuación, responder adecuadamente en el

cuadro de de diálogo Confirm Rename.

46 |

Q u a l s y s

C o n s u l

t

i

n g

S . C

Procesos PeopleSoft

Procesos PeopleSoft

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 sólo se aplica al objeto seleccionado, sino que también incluye las definiciones asociadas si es que existen.

Para copiar una definición:

1. Seleccione la definición.

2. Seleccione Edit Copy.

3. Sitúe el cursor donde usted desea poner la definición copiada, y seleccione

Edit Paste.

Para mover una definición:

1. Seleccione la definición de objeto.

2. Seleccione Edit Cut.

3. Sitúe el cursor en la ubicación de destino y seleccione Edit Paste.

Probando programas de Application Engine

Después de crear o modificar su programa, usted puede probarlos en PeopleSoft Application Designer en segundo plano. Puede utilizar Ejecutar en el cuadro de diálogo:

plano. Puede utilizar Ejecutar en el cuadro de diálogo: Para ejecutar un programa Application Engine en

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á.

47 |

Q u a l s y s

C o n s u l

t

i

n g

S . C

Procesos PeopleSoft

Procesos PeopleSoft

2. Introduzca los valores adecuados. Al hacer clic en OK, estos valores se pasan

como parámetros al ejecutable de PeopleSoft Aplicación Engine.

3. Presione OK.

Los datos que necesita son:

Atributo

Descripción

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 sólo cuando la salida del archivo de registro está seleccionada).

Process Instance

Especifique el proceso para ejecutar esta petición, o utilizar el valor por default de cero si el número 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 sólo como lo haría un paso o una sección.

Para ver o modificar las propiedades asociadas con un programa, haga clic en el botón propiedades y seleccione File Definition Properties, mientras que el programa está abierto. También puede pulsar ALT + ENTER. El cuadro de diálogo Program Properties aparece.

Configuración las propiedades generales

Acceda al Programa de cuadro de diálogo Propiedades y seleccione la pestaña General. Puede especificar los valores de identificación para su programa Application Engine.

Atributo

Descripción

Owner ID

(Opcional) Introduzca el ID del propietario para el

48 |

Q u a l s y s

C o n s u l

t

i

n g

S . C

Procesos PeopleSoft

Procesos PeopleSoft

Atributo

Descripción

programa. El propietario de identificación es una forma de identificar que las definiciones son propiedad

programa. El propietario de identificación 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 pestaña del registro de estado.

de estado Seleccione la pestaña del registro de estado. Atributos Definición Qualify Search Introduzca

Atributos

Definición

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 extensión AET. Esta extensión 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 búsqueda del registro de estados

49 |

Q u a l s y s

C o n s u l

t

i

n g

S . C

Procesos PeopleSoft

Procesos PeopleSoft

Atributos

Definición

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 actúa como un registro de estados por defecto para la selección de su casilla de verificación.

Especificando las tablas temporales

Seleccione la pestaña de tablas temporales. Las tablas temporales almacena resultados durante un programa que se esta ejecutando.

resultados durante un programa que se esta ejecutando. Atributo Descripción Qualify Search Introduzca

Atributo

Descripción

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 sólo contiene registros que son de tipo tabla temporal.

Get List

Haga clic aquí para rellenar la Record List.

50 |

Q u a l s y s

C o n s u l

t

i

n g

S . C

Procesos PeopleSoft

Procesos PeopleSoft

Atributo

Descripción

Record List

Este cuadro de texto contiene resultados de su búsqueda 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 número de tablas físicas 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 definición 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 versión baja, o la versión no dedicada, de las tablas temporales. Si usted selecciona Abort, entonces las salidas de programa tendrán un mensaje de error.

Configurando propiedades avanzadas

de programa tendrán un mensaje de error. Configurando propiedades avanzadas 51 | Q u a l

51 |

Q u a l s y s

C o n s u l

t

i

n g

S . C

Procesos PeopleSoft

Procesos PeopleSoft

Atributos

Descripción

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 sólo una colección, o una biblioteca, de las rutinas comunes que no desea para ejecutarse como un programa independiente. Cuando las secciones se definen como público, otros pueden llamar a los programas de las secciones, o rutinas, que existen en la biblioteca en tiempo de ejecución.

Batch Only

Los programas Batch Only no se ejecutan a partir de la función CallAppEngine PeopleCode. Cualquier tabla temporal utilizada para Batch Only crea instancias en línea.

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 sección incluye pasos y es equivalente a un párrafo de COBOL o una función de PeopleCode. Puede crear secciones que son independientes de la plataforma o plataformas específicas, destinados a un mercado particular, y de fecha efectiva.

Cuando usted crea un nuevo programa, al mismo tiempo crea una sección llamada Main. La sección Main identifica el punto de inicio del programa para que pueda ser llamado por otro programa.

52 |

Q u a l s y s

C o n s u l

t

i

n g

S . C

Procesos PeopleSoft

Procesos PeopleSoft

Sección de orden de ejecución

Una sección es única basada en el programa y los nombres de la sección, 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 sección por el mercado actual existe, ejecútela.

De otra manera, ejecute la sección de mercado global.

2. Si una sección por la plataforma actual o base de datos existe, ejecútela.

De otra manera, ejecute la sección por default de la plataforma de la base de datos.

3. Si secciones múltiples de fecha efectiva existen, ejecute la sección con la más reciente fecha efectiva, basada en el dato actual.

Insertando secciones

Para insertar una sección:

1. Seleccione Insert Section o con el clic derecho seleccione Insert Section

El nombre por default para una sección que se inserta es Section N, donde N es un número que incrementa los intentos lo que proporciona un nombre único para cada una de los objetos de sección. Sino renombra las secciones, las secciones se llamaran Sección N + 1, donde N es la última sección que se insertó. En consecuencia, se obtiene como nombres, Section1, Section2, Section3, y así sucesivamente.

Nota. Las secciones son siempre reordenadas alfabéticamente por nombre al momento de guardar para hacer más fácil localizar la sección dada.

2. Introduzca los valores restantes de la propiedad de la sección.

3. Guarde el programa

Localizando las secciones.

Hay varios métodos 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 sección en particular. La lista aplica solo a programas de Application Engine definidas dentro de una simple base de datos.

53 |

Q u a l s y s

C o n s u l

t

i

n g

S . C

Procesos PeopleSoft

Procesos PeopleSoft

Para localizar las secciones de referencia:

1. Abra el programa que contenga la sección compartida o llamada.

2. Seleccione EditFind References

3. Aparece el cuadro de dialogo Definition Reference

4. En la pestaña Call Sections, seleccione la sección apropiada de la lista de nombres de sección o introduzca en nombre directamente

5. Clic Ok

La ventana de salida enlista los programas y secciones que llama a un programa en particular. Esta lista muestra el total de llamadas de referencias realizadas a una sección particular. Las secciones llamadas dentro del programa actual aparecen en la lista en primer lugar.

Buscando secciones en el programa actual

Mientras mas largos y complicados los programas Application Engine, tales como actualizaciones, no es común tener mas de cien secciones. En lugar de desplazarse a través del programa, use la función Go To.

Configurando las propiedades de las sección

Los controles que especifican las propiedades de la sección están localizadas en las vista Definition. Por ejemplo para cada sección que incluye en su programa, esta un nodo, como se muestra en el siguiente ejemplo, a partir de la cual usted especificara todos los atributos que se asocian con una sección específica.

los atributos que se asocian con una sección específica. Los valores que especificas en el nivel

Los valores que especificas en el nivel de la sección generalmente aplican a todos los objetos contenidos dentro de la sección.

Atributo

Descripción

Section Name

Elaborar una convención de nomenclatura y ser coherentes en todo su proyecto. Usted está limitado a ocho caracteres.

Market

Seleccione el mercado para el cual la sección esta destinada. Si un mercado es irrelevante a su programa por batch (lotes), mantener el valor por defecto el valor de mercado de Global (GBL).

54 |

Q u a l s y s

C o n s u l

t

i

n g

S . C

Procesos PeopleSoft

Procesos PeopleSoft

Atributo

Descripción

Platform

Seleccione la plataforma de la base de datos de para la definición que esta se esta ejecutando. Deje el valor predeterminado para todas las secciones cuyas acciones definidas no son específicas para ninguna plataforma de base de datos.

Effective Date

Para hacer una sección particular de fecha-efectiva, ingrese la fecha.

Effective Status

Especifique si una sección está activa, o habilitada en tiempo de ejecución.

Section Type

En el caso de una terminación abrupta del programa, este valor se especifica al campo al reiniciar la sección.

Auto Commit

Seleccione para especificar el nivel del commit de la sección. Usted omitir el commit o tener un commit después de que se complete exitosamente el Application Engine

Public

Seleccionar para habilitar la llamada a la sección desde otro programa.

Agregando pasos

Un paso representa la más pequeña unidad de trabajo que puede ser incluida en un programa. Cuando crea un programa, se tiene por default la sección Main y un paso, inicialmente llamado step01.

Insertando pasos

1. Resaltar la sección o el paso que necesite precede al nuevo paso.

Por ejemplo, si quiere que el nuevo paso sea el primero en la sección, seleccione el nodo. Dé lo contrario, seleccione le paso existente que quiera que sea el siguiente paso.

2. Seleccione Insert Step/action.

Por default, los pasos tienen un nombre de StepN + 1 empezando con Step01. Renombre el paso para una mejor definición del tipo de acción que contiene el paso.

3. Especifica el nombre de un paso y los restantes valores.

55 |

Q u a l s y s

C o n s u l

t

i

n g

S . C

Procesos PeopleSoft

Procesos PeopleSoft

Para renombrar el nombre del paso, posicione del cursor en el nombre del paso de el cuadro de dialogo e ingrese un nombre. Sólo se acepta el nombre predeterminado para la creación rápida, sencilla y programas con fines de capacitación.

Configurando las propiedades de los pasos

Puede establecer las propiedades de paso en Definition view.

Atributo

Definición

Step Name

Ingrese un nombre (máximo ocho caracteres)

Commit

Especifica el nivel del “commit” para el paso:

Default: Seleccione para heredar cualquier nivel de COMMIT que ha especificado para la sección en la que esta el paso.

Later: Seleccione para posponer el COMMIT hasta que se produzca otro COMMIT. Aquí puede anular le nivel del Commit.

After Step: Seleccione si tiene un nivel de COMMIT de NONE especificado en el nivel de sección. De esta manera puede anular el nivel de COMMIT de la sección y especificar un paso COMMIT dentro de una sección con ningún otro COMMIT

Frequency

Habilitado sólo cuando un paso contiene una de las siguientes acciones: Do While, Do Select, or Do Until. Introduzca la frecuencia numérica con la que PeopleSoft Application Engine debería hacer el COMMIT. Si ninguna, PeopleSoft Application Engine hace COMMITS cada N iteraciones y, a continuación, de nuevo después de la última iteración.

On Error

Especifica cómo la aplicación PeopleSoft Engine debe responder a un error en el nivel de paso. En la rutina de error se comporta de la misma manera para SQL y acciones Peoplecode. El programa termina sólo en los errores, y no en las advertencias.

Abort: La aplicación termina con error en los mensajes.

Ignore: El programa continúa pero registra un mensaje de

56 |

Q u a l s y s

C o n s u l

t

i

n g

S . C

Procesos PeopleSoft

Procesos PeopleSoft

Atributo

Definición

 

error.

Suppress: El programa continúa y no presenta mensajes de error.