function select()
{
    global $ePRDMON;
    pglib_transaction("BEGIN");
    $sql = "SELECT * FROM cubit.employees";
    mdbg($sql);
    $rslt = db_exec($sql);
    print "<xmp>";
    print "employees to process: " . pg_num_rows($rslt) . "\n";
    $empnum = 0;
    while ($emp = pg_fetch_assoc($rslt)) {
        print "processing employee number: " . ++$empnum . "\n";
        flush();
        ob_flush();
        $sql = "SELECT * FROM \"3\".empledger WHERE empid='{$emp['empnum']}'";
        mdbg($sql);
        $ybrslt = db_exec($sql);
        if (pg_num_rows($ybrslt) > 0) {
            $yb = pg_fetch_assoc($ybrslt);
            $p_dbal = $yb["dbalance"];
            $p_cbal = $yb["cbalance"];
        } else {
            $p_dbal = 0;
            $p_cbal = 0;
        }
        /* create the balance transactions */
        for ($i = 1; $i <= 12; ++$i) {
            $month = $ePRDMON[$i];
            $sql = "SELECT * FROM \"{$month}\".empledger \n\t\t\t\t\tWHERE empid='{$emp['empnum']}'\n\t\t\t\t\tORDER BY edate,id";
            $elrslt = db_exec($sql);
            if (pg_num_rows($elrslt) <= 0) {
                $sql = "INSERT INTO \"{$month}\".empledger (empid, contra, edate, ref, des,\n\t\t\t\t\t\t\tdebit, credit, dbalance, cbalance, sdate, div)\n\t\t\t\t\t\tVALUES('{$emp['empnum']}', '0', CURRENT_DATE, 0, 'Balance', '0', '0', \n\t\t\t\t\t\t\t'{$p_dbal}', '{$p_cbal}', CURRENT_DATE, 2)";
                db_exec($sql);
            } else {
                while ($row = pg_fetch_assoc($elrslt)) {
                    $p_dbal += $row["debit"];
                    $p_cbal += $row["credit"];
                    if ($p_dbal >= $p_cbal) {
                        $p_dbal = $p_dbal - $p_cbal;
                        $p_cbal = 0;
                    } else {
                        $p_cbal = $p_cbal - $p_dbal;
                        $p_dbal = 0;
                    }
                }
            }
        }
    }
    print "\nDone.";
    print "</xmp>";
    mdbg(false);
    pglib_transaction("COMMIT");
}
function reorder2()
{
    global $PRDMON, $accwh;
    //	$accwh = "WHERE accid='5'";
    $sql = "SELECT * FROM core.accounts {$accwh}";
    mdbg($sql);
    $rslt = db_exec($sql);
    print "<xmp>";
    print "accounts to reorder: " . pg_num_rows($rslt) . "\n";
    $touched5 = false;
    $accnum = 0;
    while ($acc = pg_fetch_assoc($rslt)) {
        print "reordering account number: " . ++$accnum . " ({$acc['accid']})\n";
        flush();
        ob_flush();
        /* reorder by date,id */
        for ($i = 1; $i <= 12; ++$i) {
            //print ".";
            flush();
            ob_flush();
            $month = $PRDMON[$i];
            $sql = "SELECT id\n\t\t\t\t\tFROM \"{$month}\".ledger \n\t\t\t\t\tWHERE acc='{$acc['accid']}'\n\t\t\t\t\tORDER BY edate ASC,id ASC";
            mdbg($sql);
            $wmrslt = db_exec($sql);
            while ($rc = pg_fetch_assoc($wmrslt)) {
                print "ordering: {$acc['accid']}-{$month}-{$rc['id']}\n";
                $sql = "UPDATE \"{$month}\".ledger SET id=id \n\t\t\t\t\t\tWHERE id='{$rc['id']}' AND acc='{$acc['accid']}'";
                mdbg($sql);
                db_exec($sql);
            }
            /* check sales account period 9 ordering */
            if ($touched5) {
                $sql = "SELECT descript FROM \"9\".ledger WHERE acc='5' LIMIT 1";
                $aaa = pg_fetch_result(db_exec($sql), 0, 0);
                if ($aaa != "Balance") {
                    print "</xmp>";
                    errDie("F****d at {$acc['accid']} period ");
                }
            }
        }
        if ($acc["accid"] == "5") {
            $touched5 = true;
        }
        print "\n";
    }
    print "Done.";
    print "</xmp>";
}