Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Examen ISC
1. PEMEX Petroquímica PEMEX es la empresa más grande de México y una de las diez más grandes del mundo, tanto en términos de activos como de ingresos. PEMEX Petroquímica se especializa en los procesos petroquímicos no básicos derivados de la primera transformación del gas natural, metano, etano, propano y naftas de Petróleos Mexicanos. El edificio sede de PEMEX Petroquímica se encuentra en la Av. Jacarandas No. 100, Col. Rancho Alegre I, en Coatzacoalcos, Ver.
2. PEMEX Petroquímica La Gerencia de Control de Gestión, Normatividad y Desempeño se encarga de alimentar a la Base de Datos Institucional (BDI-PPQ) mediante una carga de datos que se realiza mes a mes. Esta actividad es realizada manualmente y por tal motivo, presenta algunas desventajas, como son: * Pérdida de tiempo considerable. * La información no esta clasificada de acuerdo para su carga. * No se tiene control de la información. * En ocasiones, se tiene que realizar de nuevo la carga, por algún error mientras se procesa la información para alimentar la BDI-PPQ.
3. Definición del problema Por lo anteriormente mencionado, se requiere crear una interfaz que automatice el proceso de la información para alimentar la BDI-PPQ, obteniendo la información pertinente desde el Sistema Integral de Información Operativa Comercial (SIIOC). SIIOC BDI-PPQ Interfaz Interfaz para alimentar la Base de Datos Institucional (BDI-PPQ), desde el Sistema Integral de Información Operativa Comercial (SIIOC).
4.
5.
6. Análisis La BDI esta conformada por series estadísticas organizadas en módulos, entre las cuales se encuentran las Ventas (Internas, Nacionales e Internacionales), importaciones y exportaciones. La aplicación está dirigida hacia las Ventas, esta información es consultada desde la Base de Datos llamada SIIOC y cuenta con varios tipos de consultas o agrupaciones. El presente proyecto tiene como objetivo principal una aplicación y su interfaz para consultar la Información de Ventas desde el SIIOC, y dar como resultado un archivo en Excel, listo para ser cargado en la BDI, obteniendo así un mayor control, menos tiempo de realización y proporcionando información confiable para la carga de la BDI. Para desarrollar este proyecto, se cuenta con equipo de cómputo actualizado, y con licencias de software de Oracle y de Visual Basic entre otros.
7. Modelo de desarrollo Ciclo de vida En la ingeniería informática el término ciclo de vida viene citado intrínsicamente en la definición de la ingeniería del software que tiene como objeto el proceso de desarrollo de aplicaciones informáticas. Este proceso comprende la definición de requisitos, la especificación funcional, la descripción del diseño, la realización de los programas, los métodos de prueba, y el mantenimiento. El ciclo de vida se apoya en la teoría de subdividir un problema en problemas más pequeños como nos dice la teoría del divide y vencerás o la programación estructurada. Para la realización de este proyecto se elige el modelo de Cascada (mejorado), debido a que este permite desarrollar paso a paso y de manera más organizada el propósito a realizar, además de permitir la retroalimentación entre fases.
14. Programación Veamos primero la sentencia CREATE TABLE . Esta sentencia permite crear una nueva tabla, definiendo su nombre y las columnas que tendrá. S I N T A X I S CREATE TABLE < nombre_tabla > ( < nombre_campo > < tipo_datos(tamaño) > [ null | not null ] [default < valor_por_defecto >] { ,< nombre_campo > < tipo_datos(tamaño) > [ null | not null ] [default < valor_por_defecto >]} [ , constraint < nombre > primary key (< nombre_campo >[ ,...n ])] [ , constraint < nombre > foreign key (< nombre_campo >[ ,...n ]) references <tabla_referenciada> ( < nombre_campo > [ ,...n ] ) ] ) ; < nombre_tabla > < nombre_campo2 > < nombre_campo1 >
15. Programación La sentencia en Oracle para crear la tabla CONSULTA es: CREATE TABLE CONSULTA (TIPO VARCHAR(30), DESCRIPCIÓN VARCHAR(50), SQL VARCHAR(500), PESTANA VARCHAR(30), ID1 VARCHAR(50), ID2 VARCHAR(50), ID3 VARCHAR(50)); Quedando como se muestra a continuación la estructura de la misma: Name Null? Type ----------------------------------------- -------- ------------- TIPO VARCHAR2(30) DESCRIPCION VARCHAR2(50) SQL VARCHAR2(500) PESTANA VARCHAR2(30) ID1 VARCHAR2(50) ID2 VARCHAR2(50) ID3 VARCHAR2(50)
16. Programación La sentencia para crear la tabla CLAVES en Oracle es: CREATE TABLE CLAVES (TIPO VARCHAR(30), ID1 VARCHAR(50), ID2 VARCHAR(50), ID3 VARCHAR(50), VOLUMEN NUMBER(7), VALOR NUMBER (7)); Quedando como se muestra a continuación la estructura de la misma: Name Null? Type ----------------------------------------- -------- ------------- TIPO VARCHAR2(30) ID1 VARCHAR2(50) ID2 VARCHAR2(50) ID3 VARCHAR2(50) VOLUMEN NUMBER(7) VALOR NUMBER(7)
17. Programación Private Sub Command2_Click() If Combo1.Text = "NAC_CTRO" Then ins = " Select SQL, PESTANA from CONSULTA where TIPO='NAC_CTRO'" Text3.Text = "NAC_CTRO" Else If Combo1.Text = "NAC_CTRO_PROD" Then ins = " Select SQL, PESTANA from CONSULTA where TIPO='NAC_CTRO_PROD'" Text3.Text = "NAC_CTRO_PROD" Else If Combo1.Text = "NAC_CAD_PROD" Then ins = " Select SQL, PESTANA from CONSULTA where TIPO='NAC_CAD_PROD'" Text3.Text = "NAC_CAD_PROD“ - O - End If End If Data3.RecordSource = ins Data3.Refresh While Not Data3.Recordset.EOF Text2.Text = Data3.Recordset(0) Text4.Text = Data3.Recordset(1) Data3.Recordset.MoveNext Wend Command1.Enabled = True Command2.Enabled = False End Sub CONSULTA TIPO DESCRIPCION SQL PESTANA ID1 ID2 ID3
18. Private Sub Command1_Click() Dim fil, col As Integer Dim ApExcel As Variant Set ApExcel = CreateObject("Excel.application") ' Hace que Excel se vea ApExcel.Visible = True 'Agrega un nuevo Libro ApExcel.Workbooks.Add Programación 'Poner Titulos ApExcel.cells(1, 1).Formula = "Clave Volumen" ApExcel.cells(1, 5).Formula = "Volumen" ApExcel.cells(1, 7).Formula = "Valor" ApExcel.cells(1, 6).Formula = "Clave Valor" ApExcel.cells(1, 4).Formula = "Fecha" ApExcel.cells(1, 2).Formula = "ID1" ApExcel.cells(1, 3).Formula = "ID2" 'nombre de la pestaña nombre = Text4.Text ApExcel.worksheets("hoja1").Name = nombre
19. Programación SQL = " select VOLUMEN, VALOR from CLAVES where TIPO='" & Text3.Text & "' and ID1='" & ID1 & "'" If Text3.Text = "NAC_CAD_PROD" Or Text3.Text = "NAC_CTRO_PROD" Then SQL = " select VOLUMEN, VALOR from CLAVES where TIPO='" & Text3.Text & "' and ID1='" & ID1 & "' and ID2='" & ID2 & "'“ While Not Data2.Recordset.EOF vol = Data2.Recordset(0) valor = Data2.Recordset(1) Text2.Text = vol Data2.Recordset.MoveNext Wend Data1.Recordset.MoveNext If ban = 1 Then ApExcel.cells(fil, 2).Formula = ID1 ApExcel.cells(fil, 3).Formula = ID2 ApExcel.cells(fil, 5).Formula = ID3 ApExcel.cells(fil, 4).Formula = ID4 ApExcel.cells(fil, 7).Formula = ID5 ApExcel.cells(fil, 1).Formula = "#" & vol ApExcel.cells(fil, 6).Formula = "#" & valor Else ApExcel.cells(fil, 2).Formula = ID1 ApExcel.cells(fil, 5).Formula = ID2 ApExcel.cells(fil, 4).Formula = ID3 ApExcel.cells(fil, 7).Formula = ID4 ApExcel.cells(fil, 1).Formula = "#" & vol ApExcel.cells(fil, 6).Formula = "#" & valor End If fil = fil + 1 vol = " " valor = " " Wend CLAVES TIPO ID1 ID2 ID3 VOLUMEN VALOR