Escolar Documentos
Profissional Documentos
Cultura Documentos
SubRecords y SubPaginas
Subrecords
Son colecciones de campos, agrupados en una sola entidad, la cual puede ser reutilzada en diferentes records. Los subrecords no existen como tal en la base de datos, co-existen con otros records. El subrecord aadido al record principal, fisicamente en la BD son agregados como campos en la tabla. Se puede reutilizar en records que contengan campos en comun. Ejem: Tenemos el Record LVF_PERSONA y LVF_ORGANIZACION ambos records requieren una informacion de contacto, entonces tendremos nuestro subrecord LVF_CONTACT_SBR, este mismo subrecord puede ser utilizado en ambos records.
Subrecords
Todo subrecord se agregaran las letras SBR al final del mismo.
Subrecords
Para explorar el subrecord presionamos el icono y obtenemos:
Vista General
Evento PeopleCode en un campo de un Registro.
1 2
Next row is
Operador de Concatenacin
Error ("This course starts on " | PSU_CRS_SESSN.START_DATE | " and make the start ends on " | PSU_CRS_SESSN.END_DATE | ". Please date earlier than the end date.");
Sentencias Condicionales
If condition Then [statement_list_1] Else [statement_list_2]] End-if;
Sentencias Evaluacin
evaluate &USE_FREQUENCY when = "never" PROD_USE_FREQ = 0; Break; when = "sometimes" PROD_USE_FREQ = 1; Break; when = "frequently" PROD_USE_FREQ = 2; Break; when-other Error "Unexpected value assigned to &USE_FREQUENCY." end-evaluate;
Sentencias Repetitivas
For count = expression1 to expression2 [Step i]; statement_list End-for; Repeat statement_list Until logical_expression; While logical_expression statement_list End-while;
Tipos de Variables
Global, vlida para toda la sesin. No se recomienda su uso. Global String &Mi_Cadena; Componente, vlida en el componente. Componente Boolean &Flag; Local, vlida para el programa PeopleCode. Local Number &Mi_Numero;
Tipos de Datos
ANY BOOLEAN DATE DATETIME NUMBER OBJECT STRING TIME
Arrays, el tipo del primer parmetro determina el tipo de arreglo que se construye.
Local Array of Array of Number &AAN; Local Array of Number &AN; &AAN = CreateArray(CreateArray(1, 2), CreateArray(3, 4),5); &AN = CreateArray(6, &AAN[1]);
Tipos de Variables
Global, vlida para toda la sesin. No se recomienda su uso. Global String &Mi_Cadena; Componente, vlida en el componente. Componente Boolean &Flag; Local, vlida para el programa PeopleCode. Local Number &Mi_Numero;
Tipos de Datos
ANY BOOLEAN DATE DATETIME NUMBER OBJECT STRING TIME
Arrays, el tipo del primer parmetro determina el tipo de arreglo que se construye.
Local Array of Array of Number &AAN; Local Array of Number &AN; &AAN = CreateArray(CreateArray(1, 2), CreateArray(3, 4),5); &AN = CreateArray(6, &AAN[1]);
Las funciones se pueden llamar desde cualquier lugar, tambin pueden retornar valores, sintaxis:
SumaValores()
Operadores Matematicos
+ * / Suma Resta Multiplicacin Divisin
Operadores Lgicos
Operador = != <> < <= > >= Descripcin equal not equal not equal less than less than or equal to greater than greater than or equal to
Sentencias SQL en PeopleCode, se utiliza la funcion SQLEXEC para ejecutar SQL desde un programa PeopleCode pasando una cadena de comandos SQL, el comando interacta directamente con el servidor de BD. Sintaxis:
DSQLEXEC(UPDATE TABLA1 SET FIELD=VAL WHERE FIELD1=:1 AND FIELD2=:2,RECORD.FIELD1,RECORD.FIELD2);
Eventos PeopleCode
SearchInit, es utilizado por los records que estn definidos como records de bsqueda en el
componente, si el record no es definido como tal (record de bsqueda), PS nunca disparar el evento. Generalmente se usa para setear valores por defectos de las preferencias del usuario. Ejemplo: SetSearchEdit(BUSINESS_UNIT); SetSearchDefault(BUSINESS_UNIT);
SearchSave, es utilizado para validar que todos los campos en la pgina de bsqueda sean
llenados correctamente (ac no se puede especificar que campos son requeridos o no). Ejemplo: If None(BUSINESS_UNIT) Then Error MsgGet(9000, 3, "Business Unit is a required field."); End-If;
RowInit, corre cada vez que una fila nueva se carga en la pagina. El cdigo se ejecuta para
cada nivel y cada fila de dato. Tambin se ejecuta despus de ejecutar un Select, SelectAll o ScrollSelect y del evento RowInsert. Ejemplo: If INSTALLATION.PO = "Y" Then DERIVED.EDITTABLE13 = "ITM_PURCH_FS"; End-If;
FieldDefault, en este evento se pueden codificar los valores por defecto, generalmente se
usa cuando la lgica para cargar valores por defecto es muy compleja para usarse en la definicin del record. If None(ITM_SETID) Then
FieldChange, este evento se ejecuta bajo 2 circunstancias: cuando el valor del campo
cambia, o cuando un botn (asociado al campo) es presionado. En el primera caso se ejecuta siempre y cuando el valor real del campo es diferente al original, el usuario debe moverse del campo o guardar la pgina. En el segundo caso desde un botn se puede ejecutar casi cualquier cosa, trasladarse a otro componente, cargar data en la misma pgina en base algn criterio, correr procesos, etc. Ejemplo: &RQSTAP = CreateProcessRequest(); &RQSTAP.RunControlID = LVF_CBR_VNT_HDR.SF_REGISTER.Value | %OperatorId; &RQSTAP.ProcessType = "SQR Report"; &RQSTAP.ProcessName = "LVFCJ004"; &RQSTAP.OutDestType = "WINDOW"; &RQSTAP.OutDestFormat = "PDF"; &RQSTAP.Schedule();
FieldFormula, reservado para ubicar las funciones creadas por el desarrollador. Es evento se ejecuta en todos los eventos por lo que solo se debe colocar definicin de funciones propias. Ejemplo:
Function update_sched() &CHANGED_SCHED = "N"; UpdateValue(LINE_NBR, &LINE, PO_LINE_SHIP.UNIT_PRC_TOL, &SCHED, &UNIT_PRC_TOL);
Caso Prctico
El proceso de desarrollo expuesto ser ilustrado mediante un caso prctico:
Se desea tener un registro de los empleados de una empresa (cdigo y nombre) y sus cuentas bancarias (ID y N de cuenta, banco, tipo y estado de la cuenta). Asimismo, se desea tener un registro de los bancos en que los empleados tienen sus cuentas. Desarrollar una aplicacin PeopleSoft que permita el registro de la informacin mencionada.
Diseo de la Aplicacin
Diseo de la Aplicacin
Diseo de la Aplicacin
Unidad de Negocio: UCIK
Transacciones Bancarias
transacciones Id. Empleado: Cod. Trans.: Saldo: Tipo Operacion: Monto: Comentario: Cuenta Origen: Cuenta Destino: + -
UCIK_TRANSACTION_TBL Si la operacion es Deposito, seleccionar la cuenta Origen Id Empleado Cod. Trans Si la operacion es Transferencia, seleccionar la cuenta Comentario Origen y cuenta destino Monto Si la operacion es Retiro, seleccionar la cuenta origen Operador
Fecha Creacion Fecha Actualizacion