CREATE or replace VIEW CN_AUX_SUBC AS 
select 
VIG_PER,
ID_CIA,
ID_CEN_OP,
ID_VIGENCIA,
ID_PERIODO_CONTABLE,
ID_CATALOGO,
ID_CUENTA_MAYOR,
ID_GRUPO_CUENTA,
ID_CLASE_CUENTA,
TIPO_SALDO,   

/*cambio de 0 por null*/
   (CASE
       WHEN DEBITO = 0 THEN null
    ELSE DEBITO
  END ) DEBITO,

   (CASE
       WHEN CREDITO = 0 THEN null
    ELSE CREDITO
  END ) CREDITO,

SALDO 

from
(
select 

 /**Llave de la vista*/
VIG_PER,
ID_CIA,
ID_CEN_OP,
ID_VIGENCIA,
ID_PERIODO_CONTABLE,
ID_CATALOGO,
ID_CUENTA_MAYOR,
ID_GRUPO_CUENTA,
ID_CLASE_CUENTA,
NULL  AS TIPO_SALDO,
sum(DEBITO) AS DEBITO,
sum(CREDITO) AS CREDITO,
NULL  AS SALDO

from(

select distinct
 /**Llave de la vista*/
sal.VIG_PER,
sal.ID_CIA,
sal.ID_CEN_OP,
sal.ID_VIGENCIA,
sal.ID_PERIODO_CONTABLE,
sal.ID_CATALOGO,
sal.ID_CUENTA_MAYOR,
sal.ID_GRUPO_CUENTA,
sal.ID_CLASE_CUENTA,
sal.DEBITO AS DEBITO,
sal.CREDITO AS CREDITO
from CN_SALDO_VIGPER sal

JOIN CN_CONTROL_CAD cad
on sal.ID_VIGENCIA = cad.ID_VIGENCIA
 AND sal.ID_CEN_OP = cad.ID_CEN_OP
 AND sal.ID_CIA = cad.ID_CIA    
)

GROUP BY
VIG_PER,
ID_CIA,
ID_CEN_OP,
ID_VIGENCIA,
ID_PERIODO_CONTABLE,
ID_CATALOGO,
ID_CUENTA_MAYOR,
ID_GRUPO_CUENTA,
ID_CLASE_CUENTA

)

ORDER BY 
ID_CIA,
ID_VIGENCIA,
ID_PERIODO_CONTABLE,
ID_CEN_OP,
VIG_PER