DECLARE V_IDIOMA VARCHAR2(03) NULL;

BEGIN

   SELECT NVL(MAX(DSINSTALLANGUAGE),'POR')
   INTO V_IDIOMA
   FROM PARAMGERAL;
   IF (V_IDIOMA = 'POR' OR V_IDIOMA = 'ING') THEN
      BEGIN
         CRIA_FATOS('ETL_RESUSERV', 'QTCOMESTSERV'   		,'Come. Est.'					,'Quantidade de Comensais Estimados'				   	,'Planejamento');
         CRIA_FATOS('ETL_RESUSERV', 'QTCOMEPLAMESANT'		,'Come. Est. - Mes Ant.'		,'Quantidade de Comensais Estimados Mes Anterior'		,'Planejamento');
         CRIA_FATOS('ETL_RESUSERV', 'QTCOMEFESERV'   		,'Efetivos'						,'Quantidade de Efetivos'							    ,'Planejamento');
         CRIA_FATOS('ETL_RESUSERV', 'QTCOMEREALMESANT'	   	,'Efetivos - Mes Ant.'			,'Quantidade de Efetivos Mes Anterior'				   	,'Planejamento');
         CRIA_FATOS('ETL_RESUSERV', 'VRCUSPADSERV'   		,'Custo Padrao do Serv.'		,'Custo Padrao do Servico'							    ,'Planejamento');
         CRIA_FATOS('ETL_RESUSERV', 'VRCUSVNDSERV'   		,'Preco de Venda'				,'Preco de Venda(FAI)'								    ,'Planejamento');
         CRIA_FATOS('ETL_RESUSERV', 'VRPERTOTCUSTSTD'		,'Valor STD'					,'(Custo Padrao*Efetivos/Preco de Venda*Efetivos)'		,'Planejamento');
         CRIA_FATOS('ETL_RESUSERV', 'VRTOTAVENDASERV'		,'Tot. de Venda por Serv.'		,'(Preco de Venda*Efetivos)'						    ,'Planejamento');
         CRIA_FATOS('ETL_RESUSERV', 'VRCUSPADEST'   			,'Custo Padrao Est.'			,'(Custo Padrao*Come. Est.)'						    ,'Planejamento');
         CRIA_FATOS('ETL_RESUSERV', 'VRCUSPADEFE'   			,'Custo Padrao Efe.'			,'(Custo Padrao*Efetivos)'							    ,'Planejamento');
         CRIA_FATOS('ETL_RESUSERV', 'VRCUSPLASERV1'  		,'Custo Plan.1'					,'Primeiro Tipo de Custo'							    ,'Planejamento');
         CRIA_FATOS('ETL_RESUSERV', 'VRCUSPLASERV2'  		,'Custo Plan.2'					,'Segundo Tipo de Custo'							    ,'Planejamento');
         CRIA_FATOS('ETL_RESUSERV', 'VRCUSPLASERV3'  		,'Custo Plan.3'					,'Terceiro Tipo de Custo'							    ,'Planejamento');
         CRIA_FATOS('ETL_RESUSERV', 'VRPLAMESANT1'  		,'Custo Plan.1 - Mes Ant.'		,'Primeiro Tipo de Custo'						    ,'Planejamento');
         CRIA_FATOS('ETL_RESUSERV', 'VRCUSREASERV1'  		,'Custo Real.1'					,'Primeiro Tipo de Custo'							    ,'Planejamento');
         CRIA_FATOS('ETL_RESUSERV', 'VRCUSREASERV2'  		,'Custo Real.2'					,'Segundo Tipo de Custo'							    ,'Planejamento');
         CRIA_FATOS('ETL_RESUSERV', 'VRCUSREASERV3'  		,'Custo Real.3'					,'Terceiro Tipo de Custo'							    ,'Planejamento');
         CRIA_FATOS('ETL_RESUSERV', 'VRREALMESANT1'  		,'Custo Real.1 - Mes Ant.'		,'Primeiro Tipo de Custo'							    ,'Planejamento');
         CRIA_FATOS('ETL_RESUSERV', 'VRPERFCPLANS1'    		,'Percentual FC Plan1'			,'(Custo Plan.1/Preco de venda*Come. Est.)'				,'Planejamento');
         CRIA_FATOS('ETL_RESUSERV', 'VRPERFCPLANS2'    		,'Percentual FC Plan2'			,'(Custo Plan.2/Preco de venda*Come. Est.)'				,'Planejamento');
         CRIA_FATOS('ETL_RESUSERV', 'VRPERFCPLANS3'    		,'Percentual FC Plan3'			,'(Custo Plan.3/Preco de venda*Come. Est.)'				,'Planejamento');
         CRIA_FATOS('ETL_RESUSERV', 'VRPERFCPREALS1'    		,'Percentual FC Real1'			,'(Custo Real.1/Preco de venda*Efetivos)'			   	,'Planejamento');
         CRIA_FATOS('ETL_RESUSERV', 'VRPERFCPREALS2'    		,'Percentual FC Real2'			,'(Custo Real.2/Preco de venda*Efetivos)'			   	,'Planejamento');
         CRIA_FATOS('ETL_RESUSERV', 'VRPERFCPREALS3'    		,'Percentual FC Real3'			,'(Custo Real.3/Preco de venda*Efetivos)'			   	,'Planejamento');
         CRIA_FATOS('ETL_RESUSERV', 'VRPERCPLATOTSER1'    	,'Custo PerCap. Plan1'			,'(Custo Plan.1/Come. Est.)'						    ,'Planejamento');
         CRIA_FATOS('ETL_RESUSERV', 'VRPERCPLATOTSER2'    	,'Custo PerCap. Plan2'			,'(Custo Plan.2/Come. Est.)'						    ,'Planejamento');
         CRIA_FATOS('ETL_RESUSERV', 'VRPERCPLATOTSER3'    	,'Custo PerCap. Plan3'			,'(Custo Plan.3/Come. Est.)'						    ,'Planejamento');
         CRIA_FATOS('ETL_RESUSERV', 'VRPERCREATOTSER1'    	,'Custo PerCap. Real1'			,'(Custo Real.1/Efetivos)'							    ,'Planejamento');
         CRIA_FATOS('ETL_RESUSERV', 'VRPERCREATOTSER2'    	,'Custo PerCap. Real2'			,'(Custo Real.2/Efetivos)'							    ,'Planejamento');
         CRIA_FATOS('ETL_RESUSERV', 'VRPERCREATOTSER3'    	,'Custo PerCap. Real3'			,'(Custo Real.3/Efetivos)'							    ,'Planejamento');
         CRIA_FATOS('ETL_RESUSERV', 'VRCUSPLATOTSER1'  		,'Custo Tot. Plan.1'			,'(Custo Plan.1*Come. Est.)'						    ,'Planejamento');
         CRIA_FATOS('ETL_RESUSERV', 'VRCUSPLATOTSER2'  		,'Custo Tot. Plan.2'			,'(Custo Plan.2*Come. Est.)'						    ,'Planejamento');
         CRIA_FATOS('ETL_RESUSERV', 'VRCUSPLATOTSER3'  		,'Custo Tot. Plan.3'			,'(Custo Plan.3*Come. Est.)'						    ,'Planejamento');
         CRIA_FATOS('ETL_RESUSERV', 'VRCUSREATOTSER1'  		,'Custo Tot. Real.1'			,'(Custo Real.1*Efetivos)'							    ,'Planejamento');
         CRIA_FATOS('ETL_RESUSERV', 'VRCUSREATOTSER2'  		,'Custo Tot. Real.2'			,'(Custo Real.2*Efetivos)'							    ,'Planejamento');
         CRIA_FATOS('ETL_RESUSERV', 'VRCUSREATOTSER3'  		,'Custo Tot. Real.3'			,'(Custo Real.3*Efetivos)'							    ,'Planejamento');
         CRIA_DIME('ETL_RESUSERV',  'CDFILIAL'				,'Filial'				,'FILIAL'		,'CDFILIAL'			,'NMFILIAL'			,NULL);
         CRIA_DIME('ETL_RESUSERV',  'CDAREAGERE'				,'Regional'				,'AREAGERE'		,'CDAREAGERE'		,'NMAREAGERE'		,NULL);
         CRIA_DIME('ETL_RESUSERV',  'CDREGIAO'				,'Regiao'				,'REGIAO'		,'CDREGIAO'			,'NMREGIAO'			,NULL);
         CRIA_DIME('ETL_RESUSERV',  'CDSUPERVISOR'			,'Supervisor'		    ,'SUPERVISOR'	,'CDSUPERVISOR'		,'NMSUPERVISOR'		,NULL);
         CRIA_DIME('ETL_RESUSERV',  'CDGOPERAC'				,'Gerente Operacional'  ,'GOPERAC'		,'CDGOPERAC'		,'NMGOPERAC'		,NULL);
         CRIA_DIME('ETL_RESUSERV',  'CDEMPRESA'				,'Empresa'				,'EMPRESA'		,'CDEMPRESA'		,'NMEMPRESA'		,NULL);
         CRIA_DIME('ETL_RESUSERV',  'CDSEGMER'				,'Segmento de Mercado'	,'SEGMERCADO'	,'CDSEGMER'			,'DSSEGMER'			,NULL);
         CRIA_DIME('ETL_RESUSERV',  'CDGRUPSERV'				,'Grupo de Servico'		,'GRUPSERV'		,'CDGRUPSERV'		,'NMGRUPSERV'		,NULL);
         CRIA_DIME('ETL_RESUSERV',  'CDFILISERVFILI'			,'Servico'				,'FILISERVFILI'	,'FILISERVFILI'		,'NMSERVICO'		,NULL);
         CRIA_DIME('ETL_RESUSERV',  'CDANOBI'				,'Ano'					,NULL			,NULL				,NULL				,NULL);
         CRIA_DIME('ETL_RESUSERV',  'CDMESBI'				,'Mes'					,NULL			,NULL				,NULL				,NULL);
         CRIA_DIME('ETL_RESUSERV',  'DSDTPROCFILI'			,'Data de Processamento',NULL			,NULL				,NULL				,NULL);
         CRIA_DIME('ETL_RESUSERV',  'DSDTULTCOMEFE'			,'Data do ult. Efetivo'	,NULL			,NULL				,NULL				,NULL);
         CRIA_DIME('ETL_RESUSERV',  'DSTPSERV'				,'Tipo de Servico'		,NULL			,NULL				,NULL				,NULL);
         COMMIT;                                        
      EXCEPTION
         WHEN OTHERS THEN
            RAISE_APPLICATION_ERROR (-20001,'Falha no cadastro dos itens de Estrutura do CVI');
      END;
   ELSE
      BEGIN
         CRIA_FATOS('ETL_RESUSERV', 'QTCOMESTSERV'   	,'Come. Est.'					,'Cantidad de Comensales Estimados'					       ,'Planificacion');
         CRIA_FATOS('ETL_RESUSERV', 'QTCOMEPLAMESANT'	,'Come. Est. - Mes Ant.'		,'Cantidad de Comensales Estimados Mes Anterior'		   ,'Planificacion');
         CRIA_FATOS('ETL_RESUSERV', 'QTCOMEFESERV'   	,'Vtas.Raciones'				,'Cantidad de Vtas.Rac.'								   ,'Planificacion');
         CRIA_FATOS('ETL_RESUSERV', 'QTCOMEREALMESANT'	,'Vtas.Rac. - Mes Ant'			,'Cantidad de Vtas.Rac. Mes Anterior'					   ,'Planificacion');
         CRIA_FATOS('ETL_RESUSERV', 'VRCUSPADSERV'   	,'Costo Estandar del Serv.'		,'Costo Estandar del Servicio'							   ,'Planificacion');
         CRIA_FATOS('ETL_RESUSERV', 'VRCUSVNDSERV'   	,'Precio de Venta'				,'Precio de Venta(FAI)'									   ,'Planificacion');
         CRIA_FATOS('ETL_RESUSERV', 'VRPERTOTCUSTSTD'	,'Valor STD'				    ,'(Costo Estandar*Vts.Rac./Precio de Venta*Vtas.Rac.)'     ,'Planificacion');
         CRIA_FATOS('ETL_RESUSERV', 'VRTOTAVENDASERV'	,'Tot. de Venta por Serv.'		,'(Precio de Venta*Vtas.Rac.)'							   ,'Planificacion');
         CRIA_FATOS('ETL_RESUSERV', 'VRCUSPADEST'   		,'Costo Estandar Est.'			,'Costo Estandar*Come. Est.'					           ,'Planificacion');
         CRIA_FATOS('ETL_RESUSERV', 'VRCUSPADEFE'   		,'Costo Estandar Vtas.Rac.'		,'(Costo Estandar*Vtas.Rac.)'							   ,'Planificacion');
         CRIA_FATOS('ETL_RESUSERV', 'VRCUSPLASERV1'  	,'Costo Plan.1'					,'Primer Tipo de Costo'									   ,'Planificacion');
         CRIA_FATOS('ETL_RESUSERV', 'VRCUSPLASERV2'  	,'Costo Plan.2'					,'Segundo Tipo de Costo'								   ,'Planificacion');
         CRIA_FATOS('ETL_RESUSERV', 'VRCUSPLASERV3'  	,'Costo Plan.3'					,'Tercer Tipo de Costo'									   ,'Planificacion');
         CRIA_FATOS('ETL_RESUSERV', 'VRPLAMESANT1'  		,'Costo Plan.1 - Mes Ant.'		,'Primer Tipo de Costo'									   ,'Planificacion');
         CRIA_FATOS('ETL_RESUSERV', 'VRCUSREASERV1'  	,'Costo Real.1'					,'Primer Tipo de Costo'									   ,'Planificacion');
         CRIA_FATOS('ETL_RESUSERV', 'VRCUSREASERV2'  	,'Costo Real.2'					,'Segundo Tipo de Costo'								   ,'Planificacion');
         CRIA_FATOS('ETL_RESUSERV', 'VRCUSREASERV3'  	,'Costo Real.3'					,'Tercer Tipo de Costo'									   ,'Planificacion');
         CRIA_FATOS('ETL_RESUSERV', 'VRREALMESANT1'  	,'Costo Real.1 - Mes Ant.'		,'Primer Tipo de Costo'									   ,'Planificacion');
         CRIA_FATOS('ETL_RESUSERV', 'VRPERFCPLANS1'    	,'Porcentual FC Plan1'			,'(Costo Plan.1/Precio de venta*Come. Est.)'		       ,'Planificacion');
         CRIA_FATOS('ETL_RESUSERV', 'VRPERFCPLANS2'    	,'Porcentual FC Plan2'			,'(Costo Plan.2/Precio de venta*Come. Est.)'		       ,'Planificacion');
         CRIA_FATOS('ETL_RESUSERV', 'VRPERFCPLANS3'    	,'Porcentual FC Plan3'			,'(Costo Plan.3/Precio de venta*Come. Est.)'		       ,'Planificacion');
         CRIA_FATOS('ETL_RESUSERV', 'VRPERFCPREALS1'    	,'Porcentual FC Real1'			,'(Costo Real.1/Precio de venta*Vtas.Rac.)'		           ,'Planificacion');
         CRIA_FATOS('ETL_RESUSERV', 'VRPERFCPREALS2'    	,'Porcentual FC Real2'			,'(Costo Real.2/Precio de venta*Vtas.Rac.)'		           ,'Planificacion');
         CRIA_FATOS('ETL_RESUSERV', 'VRPERFCPREALS3'    	,'Porcentual FC Real3'			,'(Costo Real.3/Precio de venta*Vtas.Rac.)'		           ,'Planificacion');
         CRIA_FATOS('ETL_RESUSERV', 'VRPERCPLATOTSER1'   ,'Costo PerCap. Plan1'			,'(Costo Plan.1/Come. Est.)'							   ,'Planificacion');
         CRIA_FATOS('ETL_RESUSERV', 'VRPERCPLATOTSER2'   ,'Costo PerCap. Plan2'			,'(Costo Plan.2/Come. Est.)'							   ,'Planificacion');
         CRIA_FATOS('ETL_RESUSERV', 'VRPERCPLATOTSER3'   ,'Costo PerCap. Plan3'			,'(Costo Plan.3/Come. Est.)'							   ,'Planificacion');
         CRIA_FATOS('ETL_RESUSERV', 'VRPERCREATOTSER1'   ,'Costo PerCap. Real1'			,'(Costo Real.1/Vtas.Rac.)'								   ,'Planificacion');
         CRIA_FATOS('ETL_RESUSERV', 'VRPERCREATOTSER2'   ,'Costo PerCap. Real2'			,'(Costo Real.2/Vtas.Rac.)'								   ,'Planificacion');
         CRIA_FATOS('ETL_RESUSERV', 'VRPERCREATOTSER3'   ,'Costo PerCap. Real3'			,'(Costo Real.3/Vtas.Rac.)'								   ,'Planificacion');
         CRIA_FATOS('ETL_RESUSERV', 'VRCUSPLATOTSER1'  	,'Costo Tot. Plan.1'			,'(Costo Plan.1*Come. Est.)'							   ,'Planificacion');
         CRIA_FATOS('ETL_RESUSERV', 'VRCUSPLATOTSER2'  	,'Costo Tot. Plan.2'			,'(Costo Plan.2*Come. Est.)'							   ,'Planificacion');
         CRIA_FATOS('ETL_RESUSERV', 'VRCUSPLATOTSER3'  	,'Costo Tot. Plan.3'			,'(Costo Plan.3*Come. Est.)'							   ,'Planificacion');
         CRIA_FATOS('ETL_RESUSERV', 'VRCUSREATOTSER1'  	,'Costo Tot. Real.1'			,'(Costo Real.1*Vtas.Rac.)'								   ,'Planificacion');
         CRIA_FATOS('ETL_RESUSERV', 'VRCUSREATOTSER2'  	,'Costo Tot. Real.2'			,'(Costo Real.2*Vtas.Rac.)'								   ,'Planificacion');
         CRIA_FATOS('ETL_RESUSERV', 'VRCUSREATOTSER3'  	,'Costo Tot. Real.3'			,'(Costo Real.3*Vtas.Rac.)'								   ,'Planificacion');
         --DIMENS?ES ETL_RESUSERV--
         CRIA_DIME('ETL_RESUSERV',  'CDFILIAL'			,'Site'							,'FILIAL'			,'CDFILIAL'			,'NMFILIAL'			,NULL);
         CRIA_DIME('ETL_RESUSERV',  'CDAREAGERE'			,'Regional'						,'AREAGERE'			,'CDAREAGERE'		,'NMAREAGERE'		,NULL);
         CRIA_DIME('ETL_RESUSERV',  'CDREGIAO'			,'Region'						,'REGIAO'			,'CDREGIAO'			,'NMREGIAO'			,NULL);
         CRIA_DIME('ETL_RESUSERV',  'CDSUPERVISOR'		,'Supervisor'					,'SUPERVISOR'		,'CDSUPERVISOR'		,'NMSUPERVISOR'		,NULL);
         CRIA_DIME('ETL_RESUSERV',  'CDGOPERAC'			,'Gerente Operacional'		    ,'GOPERAC'			,'CDGOPERAC'		,'NMGOPERAC'		,NULL);
         CRIA_DIME('ETL_RESUSERV',  'CDEMPRESA'			,'Empresa'						,'EMPRESA'			,'CDEMPRESA'		,'NMEMPRESA'		,NULL);
         CRIA_DIME('ETL_RESUSERV',  'CDSEGMER'			,'Segmento de Mercado'		   	,'SEGMERCADO'		,'CDSEGMER'			,'DSSEGMER'			,NULL);
         CRIA_DIME('ETL_RESUSERV',  'CDGRUPSERV'			,'Grupo de Servicio'			,'GRUPSERV'			,'CDGRUPSERV'		,'NMGRUPSERV'		,NULL);
         CRIA_DIME('ETL_RESUSERV',  'CDFILISERVFILI'		,'Servicio'						,'FILISERVFILI'		,'FILISERVFILI'		,'NMSERVICO'		,NULL);
         CRIA_DIME('ETL_RESUSERV',  'CDANOBI'			,'Ano'							,NULL				,NULL				,NULL				,NULL);
         CRIA_DIME('ETL_RESUSERV',  'CDMESBI'			,'Mes'							,NULL				,NULL				,NULL				,NULL);
         CRIA_DIME('ETL_RESUSERV',  'DSDTPROCFILI'		,'Fecha de Procesamiento'		,NULL				,NULL				,NULL				,NULL);
         CRIA_DIME('ETL_RESUSERV',  'DSDTULTCOMEFE'		,'Fecha de la ult. Vta. Rac.'	,NULL				,NULL				,NULL				,NULL);
         CRIA_DIME('ETL_RESUSERV',  'DSTPSERV'			,'Tipo de Servicio'				,NULL				,NULL				,NULL				,NULL);
         COMMIT;
      EXCEPTION
         WHEN OTHERS THEN
            RAISE_APPLICATION_ERROR (-20001,'Falha no cadastro dos itens de Estrutura do CVI');
      END;
   END IF;
END;
/

DECLARE
   V_JOB NUMBER;
   L_JOB_EXISTS NUMBER;
BEGIN
   FOR C_JOBS IN
      (SELECT JOB
       FROM USER_JOBS
       WHERE WHAT LIKE '%ETLRESUFOOD%'
   ) LOOP
      DBMS_JOB.REMOVE(C_JOBS.JOB);
   END LOOP;

   SELECT COUNT(*) INTO L_JOB_EXISTS
   FROM USER_SCHEDULER_JOBS
   WHERE JOB_NAME = 'JOB_ETLRESUFOOD';

   IF L_JOB_EXISTS = 1 THEN
       DBMS_SCHEDULER.DROP_JOB(JOB_NAME => 'JOB_ETLRESUFOOD');
   END IF;

   BEGIN
      DBMS_SCHEDULER.CREATE_JOB (
         JOB_NAME => 'JOB_ETLRESUFOOD',
         JOB_TYPE => 'PLSQL_BLOCK',
         JOB_ACTION => 'BEGIN ETLRESUFOOD(TRUNC(SYSDATE-90), TRUNC(SYSDATE+30) ); END;',
         START_DATE => SYSDATE,
         REPEAT_INTERVAL => 'FREQ=DAILY;BYHOUR=23;BYMINUTE=0',
         JOB_CLASS => '"DEFAULT_JOB_CLASS"',
         ENABLED => TRUE,
         AUTO_DROP => FALSE,
         COMMENTS => 'JOB PARA ETLRESUFOOD');
   END;
  COMMIT;   
END;
/