if ($numRegistrosObjetivos > 0) {
            agora("Salvados {$numRegistrosObjetivos} objetivos.");
        } else {
            agora("Sem objetivos para serem salvados.");
        }
        reset($objetivos);
    }
}
if ($baixar['metas']) {
    /**
     * ======================================================================
     * Obtendo a base de dados de metas para o ano de exercício repassado
     *
     */
    agora("Obtendo metas.");
    limparDadosSiop('metas', "exercicio = '{$exercicio}'", "Limpando base de dados das metas para o ano de {$exercicio}.");
    $metas = obterTodasMetasPorAnoExercicio($exercicio);
    if (!$metas['sucesso']) {
        agora("\tNão foi possível obter os dados das metas:");
        echo "\n";
        echo str_replace("<br>", "\n", $metas['mensagensErro']);
        echo "\n";
    } else {
        $numRegistrosMetas = 0;
        foreach ($metas['registros'] as $meta) {
            salvarDadosSiop('metas', $meta);
            $numRegistrosMetas++;
        }
        if ($numRegistrosMetas > 0) {
            agora("Salvadas {$numRegistrosMetas} metas.");
        } else {
function limparDadosExecucoesOrcamentarias($destino, $exercicio, $programas, $mensagem = "")
{
    $condicoes = array();
    // Remove os programas do exercicio repassado
    $condicoes[] = "exercicio = '{$exercicio}'";
    // Remove os programas que serão atualizados
    foreach ($programas as $programa) {
        $codigosProgramas[] = $programa['CODIGOPROGRAMA'];
    }
    $condicoesProgramas = array();
    foreach (array_unique($codigosProgramas) as $codigoPrograma) {
        $condicoesProgramas[] = "'{$codigoPrograma}'";
    }
    $condicoes[] = '( "codigoPrograma" IN (' . implode(' , ', $condicoesProgramas) . ') )';
    return limparDadosSiop($destino, $condicoes, $mensagem);
}
                }
                if ($numRegistrosLocalizadores > 0) {
                    agora("Salvados {$numRegistrosLocalizadores} localizadores para a ação {$identificadorUnicoAcao}.");
                } else {
                    agora("Sem localizadores para a ação {$identificadorUnicoAcao}.");
                }
            }
        } while (!$localizadores['sucesso']);
    }
    agora("Salvados no total {$numTotalLocalizadores} localizadores.");
}
if ($baixar['planos']) {
    agora("Carregando ações obtidos na base SIOP.");
    $acoesSiop = obterDadosSiop('acoes', "exercicio = {$exercicio}", array('"identificadorUnico"', '"codigoAcao"'));
    agora("Obtendo planos orçamentários.");
    limparDadosSiop('planos_orcamentarios', "exercicio = '{$exercicio}'", "Limpando base de dados dos planos orçamentários para o ano de {$exercicio}.");
    $numTotalRegistrosPlanos = 0;
    foreach ($acoesSiop as $acaoSiop) {
        $identificadorUnicoAcao = $acaoSiop['IDENTIFICADORUNICO'];
        do {
            $planosOrcamentarios = obterPlanosOrcamentariosPorAcao($exercicio, $identificadorUnicoAcao);
            if (!$planosOrcamentarios['sucesso']) {
                agora("\tNão foi possível obter os dados dos planos orçamentários para a ação {$identificadorUnicoAcao}:");
                echo "\n";
                echo str_replace("<br>", "\n", $planosOrcamentarios['mensagensErro']);
                echo "\n";
            } else {
                $numRegistrosPlanos = 0;
                foreach ($planosOrcamentarios['registros'] as $planoOrcamentario) {
                    salvarDadosSiop('planos_orcamentarios', $planoOrcamentario);
                    $numRegistrosPlanos++;
<?php

include_once dirname(__FILE__) . '/include.soap.php';
agora("==================================================================");
agora("Quantitativo");
agora("==================================================================");
/**
 * ===================================================================================
 * Obtendo a base de dados de programas para o ano de exercício repassado
 *
 */
agora("Carregando programas obtidos na base SIOP.");
$programas = obterDadosSiop('programas', "exercicio = {$exercicio}", array('"codigoPrograma"', '"codigoOrgao"'));
limparDadosSiop('execucao_orcamentaria', "exercicio = '{$exercicio}'", "Limpando base de dados das execuções orçamentárias para o ano de {$exercicio}.");
/**
 * ===================================================================================
 * Obtendo a base de dados de execuções orçamentária para o ano de exercício repassado
 *
 */
$codigoPrograma = 0;
foreach ($programas as $programa) {
    if ($codigoPrograma !== $programa['CODIGOPROGRAMA']) {
        $codigoPrograma = $programa['CODIGOPROGRAMA'];
        do {
            $numRegistrosSalvos = 0;
            $execucoesOrcamentarias = obterExecucaoOrcamentaria($codigoPrograma, $exercicio);
            if (!$execucoesOrcamentarias['sucesso']) {
                agora("Houve um problema:");
                echo "\n";
                echo str_replace("<br>", "\n", $execucoesOrcamentarias['mensagensErro']);
                echo "\n";