bookingEngine.PiedsCRecord.DATE = …;
bookingEngine.PeriodFromDate(bookingEngine.PiedsCRecord.DATE);
object periode = Api.ZselectDirect(Globals.RepData,
      "declare @max_per_regul char(6) \r\n"
    + "select @max_per_regul = isnull(max(periode), '') from PIEDS_C (NOLOCK) inner join sequenc (NOLOCK) on (pieds_c.journal=sequenc.journal) where (sequenc.type=4) and (sequenc.subtype=6) \r\n"
    + "if @max_per_regul >= @periode \r\n"
    + "    select @periode = min(num) from PERIODES where (debut<>fin) and (num > @max_per_regul) \r\n"
    + "if @periode is null \r\n"
    + "    RAISERROR('Geen boekhoudperiode gevonden na de laatste regularisatieperiode!',16,1) \r\n"
    + "select @periode as periode", new MercatorSqlParam("@periode", bookingEngine.PiedsCRecord.PERIODE, SqlDbType.Char));

if (periode == null)
{
    Dialogs.Stop(Api.LastError);
    return;
}
bookingEngine.PiedsCRecord.PERIODE = periode.ToString();