O orçamento pode ser realizado de duas maneiras distintas, por convênio ou sem convênio. Para poder selecionar um convênio é preciso ter o papel de EXECUTOR_CONVENIO. Quando um convênio é selecionado, influenciará em todas as operações realizadas no SCO (Sistema de Controle Orçamentário), de maneira tal que todas as consultas a base de dados irão levar em consideração o convênio, a célula orçamentária poderá está associada a um convênio ou não. Podendo assim existir duas células orçamentárias com as mesmas características (Programa de Trabalho Resumido, Natureza da Despesa, Fonte de Recurso, Esfera, Plano Interno e Ano Orçamentário) sendo diferenciadas apenas pelo existência ou não do convênio.
Para realizar a seleção de um convênio o usuário deverá acessar o link SCO → Configurações → Executar Orçamento de Convênio, existe uma caixa de texto onde é possível selecionar o Convênio desejado digitando uma seqüência de caracteres contidas no nome da Unidade do Convênio ou o código da Unidade do Convênio. Por exemplo, se digitarmos “cap”, serão listados todos os convênios que possuem em seu nome de unidade a seqüência de caracteres, ou ainda se digitarmos 8244, que é o código da unidade do Convênio CONVÊNIO CAPES PROAP. Caso não seja setado nenhum convênio a unidade gestora das operações será a unidade gestora do usuário logado, havendo um convênio selecionado a gestora será a unidade do convênio.
Toda a execução orçamentária é feita considerando as células orçamentárias, onde cada célula é vinculada a uma unidade.
Existem duas categorizações para as unidades no contexto orçamentário, que são uma unidade ser gestora ou centro de custo.
No contexto organizacional da UFRN, pode ser feita uma análise em cima do diagrama abaixo. As unidades marcadas em amarelo (UFRN, Centros Acadêmicos, Hospitals Univesitários) elas são gestoras no SIAFI, ou seja, tem todo o orçamento gerenciado no âmbito do governo federal.
No âmbito da instituição UFRN, é necessário controlar também o orçamento por unidades subordinadas às gestoras, que podem ser os próprios setores da universidade ou também, controlar a movimentação de orçamento de unidades que representa por exemplo, a gerência dos contratos da instituição. Estas unidades são denominadas de centro de custo.
Existe uma gestora principal (UFRN) e um conjunto de outras gestoras vinculadas à ela (Centros Acadêmicos e Hospitais Universitários). A dotação do orçamento é feita na UFRN e em seguida, é feita uma distribuição de dotação para as gestoras vinculadas à ela. Dessa forma, cada gestora vai poder gerenciar o orçamento atribuído a ele, podendo até distribuir parte deste orçamento para os seus centros de custo.
Com esta organização, no módulo orçamentário do SIPAC, é possível gerenciar o orçamento na visão da gestora e dos seus centros de custo. Entendido o conceito de unidade no âmbito orçamentário é importante ressaltar que na execução orçamentária com convênio as unidades vinculadas as unidades gestoras serão as unidades interessadas no convênio.
Modelagem de negócio relacionada a distribiuição do orçamento de Termo de Cooperação oriundo vindos de recursos da CAPES/PROAP.
Existem dois cenários que podem ser testados:
1. Orçamento com Convênio:
Para entender como selecionar um convênio veja a seção Cenário de Teste em Orçamento de Convênio.
2. Orçamento sem Convênio:
Para executar Orçamento sem Convênio basta que não seja selecionado nenhum convênio.
SELECT u.codigo_unidade, u.nome FROM convenios.convenio c JOIN comum.unidade u ON (c.id_unidade_convenio = u.id_unidade) WHERE u.categoria = 4 AND u.unidade_orcamentaria = TRUE
SELECT u.* FROM convenios.convenio c JOIN convenios.unidade_interessada ui ON (c.id = ui.id_convenio) JOIN comum.unidade u ON (u.id_unidade = ui.id_unidade) WHERE c.id_unidade_convenio = (SELECT id_unidade FROM comum.unidade WHERE codigo_unidade = <codigoUnidade> )
SELECT * FROM sco.celula_orcamentaria WHERE ano = <anoOrcamentario> AND id_convenio = (SELECT c.id FROM convenios.convenio c JOIN comum.unidade u ON (c.id_unidade_convenio = u.id_unidade) WHERE u.codigo_unidade = <codigoUnidadeConvenio>)
SELECT u.codigo_unidade, * FROM sco.celula_orcamentaria s JOIN convenios.convenio co ON (co.id = s.id_convenio) JOIN comum.unidade u ON (u.id_unidade = co.id_unidade_convenio) WHERE s.ano = <anoOrcamentario>