PeopleCode es un lenguaje de programación orientado a objetos propietario que se utiliza para expresar la lógica de negocio de las aplicaciones PeopleSoft . Sintácticamente, PeopleCode es similar a otros lenguajes de programación y puede encontrarse tanto en versiones de tipado flexible como de tipado estricto. PeopleCode y su entorno de ejecución forman parte del marco de trabajo PeopleTools . PeopleCode ha evolucionado con el tiempo y su implementación en las aplicaciones PeopleSoft carece de coherencia. PeopleCode ofrece cierta interoperabilidad con el lenguaje de programación Java. Las referencias a nombres de definición, por ejemplo, permiten hacer referencia a definiciones de PeopleTools, como definiciones de registros o páginas, sin utilizar literales de cadena codificados . [ 1 ] Otras características del lenguaje, como los tipos de datos y las metacadenas de PeopleCode , reflejan la estrecha interacción entre PeopleTools y el Lenguaje de Consulta Estructurada (SQL). La notación de puntos , las clases y los métodos en PeopleCode son similares a otros lenguajes orientados a objetos, como Java . La sintaxis de objetos fue una característica importante de PeopleTools 8. [ 2 ]
Características del idioma
Funciones compatibles
PeopleCode admite los siguientes tipos de funciones: [ 3 ]
- Integradas: El conjunto estándar de funciones de PeopleCode. Estas se pueden llamar sin necesidad de declararlas.
- Internas: Funciones que se definen (mediante la instrucción Function) dentro del programa PeopleCode en el que se llaman.
- Código PeopleCode externo: Funciones de PeopleCode definidas fuera del programa que las llama. Generalmente, estas se encuentran en definiciones de registros que funcionan como bibliotecas de funciones.
- Funciones externas que no son de PeopleCode: funciones almacenadas en bibliotecas externas (invocables desde C).
Además, PeopleCode admite métodos. Las principales diferencias entre una función integrada y un método son:
- Una función integrada se encuentra en una línea aparte y (generalmente) no tiene dependencias.
- Se puede utilizar una función antes de instanciar el objeto.
- Un método solo puede ser ejecutado por un objeto (utilizando la notación de punto).
- El objeto debe ser instanciado primero.
Descripción de la estructura de clases de la aplicación
- Importa todas las clases que vayan a ser utilizadas por una clase, incluyendo la superclase de la que hereda esta clase.
Importar PackageName:Superclassname;
- Una clase se define utilizando la estructura Class.
Clase Nombre de clase [Extiende Superclase] [Declaraciones de métodos] [Declaraciones de propiedad] [Privado [Declaración de método] [Instance_decalarion] [[Declaración constante]] Fin de clase;
- El primer conjunto de declaraciones son las propiedades y los métodos que forman parte de la interfaz pública y externa.
Tipo de datos de propiedad PropertyName [obtener][establecer]; Método MethodName ([lista_de_parámetros])
- Las variables de instancia privadas, las constantes y los métodos se declaran después de la palabra clave
Private.
Privado Tipo de datos de instancia y nombre de instancia; Constante &Constante = {Número | Cadena | Verdadero | Falso | Nulo}; - La palabra clave
end-classsigue a las declaraciones de propiedades, métodos, instancias y constantes. - Después de la
end-classpalabra clave y antesgetdesetlas definiciones o definiciones de métodos, declare cualquier variable y función que vayan a ser utilizadas por los métodos. - Los métodos get y set corresponden a las propiedades declaradas con las palabras clave get y set.
- Utilice
getla definición de un método para ejecutar código PeopleCode que devolverá un valor.
obtener nombre de la propiedad Retorno y valor; obtener-final; - Utilice
setla definición de un método para ejecutar código PeopleCode que modifique un valor.
establecer Nombre de la propiedad fin del conjunto;
- Las definiciones de métodos son similares a las definiciones de funciones.
método Nombre del método declaraciones; método final;
- Un caso especial de definición de método es el
constructor. - Un constructor tiene el mismo nombre que la clase y siempre se ejecutará cuando se instancie la clase.
- Una clase que no hereda de otra clase no necesita ningún constructor.
- Una clase que hereda de otra clase debe tener un constructor, y en el constructor debe inicializar su superclase.
Ejecución de SQL en PeopleCode
- Mientras que una
SQLExecfunción integrada solo devuelve una única fila, utilizando laSQLclase puede recuperar y procesar varias filas. - Crea una instancia de un objeto SQL con la
CreateSQLfunción integrada.- Se utiliza
CreateSQL("SQLString")para pasar una cadena de texto a su objeto SQL. - Se utiliza
GetSQL(SQL.sqlname)para obtener el SQL a partir de una definición SQL.
- Se utiliza
&SQL = CreateSQL("Sentencia SQL",[valores de enlace]); Los valores de las variables de enlace pueden omitirse y proporcionarse posteriormente. Para los comandos Insertar, Actualizar o Eliminar, estos valores se proporcionarían mediante Executeun método específico. (Si se proporcionan todos los valores de entrada necesarios, la consulta SQL se ejecuta inmediatamente).
&SQL = CreateSQL("Sentencia SQL"); &SQL.Ejecutar([bind_values]); - Para un objeto SQL que contiene una instrucción Select, este
Fetchmétodo se utiliza para recuperar la siguiente fila del cursor.
Funciones de PeopleCode , consultado el 14 de diciembre de 2008.
Véase también
Enlaces externos
- Para obtener más documentación sobre PeopleCode
- http://download.oracle.com/docs/cd/E05317_01/psft/html/docset.html (Versión 8.49)
- http://download-east.oracle.com/docs/cd/B31274_01/psft/html/docset.html (Versión 8.48)
Referencias
- ↑ DeLia, Tony et al. (2001). Guía esencial para el desarrollo y la personalización de PeopleSoft. Manning Publications Co. pág. 260
- ↑ DeLia, Tony et al. (2001). Guía esencial para el desarrollo y la personalización de PeopleSoft. Manning Publications Co. pág. 417
- ↑ DeLia, Tony et al (2001). Guía esencial para el desarrollo y la personalización de PeopleSoft. pág. 375
- Software Oracle