Variable(s) length do not agree with dictionary ID length near line 25 in GLOBAL procedure
Posted: December 7th, 2017, 3:03 am
Dear CSPRo Community,
Can anyone assist and find me a walk around the error when I compiled my program. For a brief, I was trying to develop a menu for my application.
The menu is supposed to allow enumerators do a household listing before the actual interview of the agricultural households. The error is found in the pff file after i finished editing it given below:
// Launch household questionnaire data entry application
function launchHouseholdDataEntry()
string pffFilename = pathname(Application) + "../LBPAS1718APS/Liberia_Pilot_Agricultural_Survey2017_18.pff";
if setfile(pffFile,pffFilename,create) = 0 then
errmsg("Failed to open file %s", pffFilename);
endif;
filewrite(pffFile,"[Run Information]");
filewrite(pffFile,"Version=CSPro 7.0");
filewrite(pffFile,"AppType=Entry");
filewrite(pffFile,"[DataEntryInit]");
// Use modify mode if the case already exists in the household
// data file, otherwise use add mode.
string mode;
open(LIBERIA_PILOT_AGRICULTUR_DICT);
if loadcase(LIBERIA_PILOT_AGRICULTUR_DICT, CHOOSE_HOUSEHOLD) = 1 then
mode = "modify";
else
mode = "add";
endif;
close(LIBERIA_PILOT_AGRICULTUR_DICT);
filewrite(pffFile,"StartMode=%s;%s",mode, CHOOSE_HOUSEHOLD);
filewrite(pffFile,"[Files]");
filewrite(pffFile,"Application=" + pathname(Application) + "../LBPAS1718APS/Liberia_Pilot_Agricultural_Survey2017_18.ent");
filewrite(pffFile,"InputData=" + pathname(Application) + "../Data/LBPAS1718.csdb");
{
filewrite(pffFile,"[ExternalFiles]");
filewrite(pffFile,"DISTRICTSPERPROVINCE_DICT=" + pathname(Application) + "../Household/Resources/DistrictsPerProvince.dat");
filewrite(pffFile,"DISTRICTS_DICT=" + pathname(Application) + "../Household/Resources/Districts.dat");
filewrite(pffFile,"ENUMERATIONAREAS_DICT=" + pathname(Application) + "../Household/Resources/EnumerationAreas.dat");
filewrite(pffFile,"HOUSEHOLDPOSSESSIONVALUE_DICT=" + pathname(Application) + "../Household/Resources/HouseholdPossessionValues.dat");
}
filewrite(pffFile,"[UserFiles]");
filewrite(pffFile,"TEMPFILE=%s","");
filewrite(pffFile,"[Parameters]");
filewrite(pffFile,"COUNTY=%s", CHOOSE_HOUSEHOLD[1:2]);
filewrite(pffFile,"DISTRICT=%s", CHOOSE_HOUSEHOLD[3:2]);
filewrite(pffFile,"CLAN=%s", CHOOSE_HOUSEHOLD[5:3]);
filewrite(pffFile,"EA=%s", CHOOSE_HOUSEHOLD[8:2]);
filewrite(pffFile,"AREA=%s", CHOOSE_HOUSEHOLD[10:1]);
filewrite(pffFile,"HH=%s", CHOOSE_HOUSEHOLD[11:2]);
close(pffFile);
execpff(pffFilename, stop);
end;
// Launch listing program
function launchHouseholdListing()
end;
Attached is the application:
Can anyone assist and find me a walk around the error when I compiled my program. For a brief, I was trying to develop a menu for my application.
The menu is supposed to allow enumerators do a household listing before the actual interview of the agricultural households. The error is found in the pff file after i finished editing it given below:
// Launch household questionnaire data entry application
function launchHouseholdDataEntry()
string pffFilename = pathname(Application) + "../LBPAS1718APS/Liberia_Pilot_Agricultural_Survey2017_18.pff";
if setfile(pffFile,pffFilename,create) = 0 then
errmsg("Failed to open file %s", pffFilename);
endif;
filewrite(pffFile,"[Run Information]");
filewrite(pffFile,"Version=CSPro 7.0");
filewrite(pffFile,"AppType=Entry");
filewrite(pffFile,"[DataEntryInit]");
// Use modify mode if the case already exists in the household
// data file, otherwise use add mode.
string mode;
open(LIBERIA_PILOT_AGRICULTUR_DICT);
if loadcase(LIBERIA_PILOT_AGRICULTUR_DICT, CHOOSE_HOUSEHOLD) = 1 then
mode = "modify";
else
mode = "add";
endif;
close(LIBERIA_PILOT_AGRICULTUR_DICT);
filewrite(pffFile,"StartMode=%s;%s",mode, CHOOSE_HOUSEHOLD);
filewrite(pffFile,"[Files]");
filewrite(pffFile,"Application=" + pathname(Application) + "../LBPAS1718APS/Liberia_Pilot_Agricultural_Survey2017_18.ent");
filewrite(pffFile,"InputData=" + pathname(Application) + "../Data/LBPAS1718.csdb");
{
filewrite(pffFile,"[ExternalFiles]");
filewrite(pffFile,"DISTRICTSPERPROVINCE_DICT=" + pathname(Application) + "../Household/Resources/DistrictsPerProvince.dat");
filewrite(pffFile,"DISTRICTS_DICT=" + pathname(Application) + "../Household/Resources/Districts.dat");
filewrite(pffFile,"ENUMERATIONAREAS_DICT=" + pathname(Application) + "../Household/Resources/EnumerationAreas.dat");
filewrite(pffFile,"HOUSEHOLDPOSSESSIONVALUE_DICT=" + pathname(Application) + "../Household/Resources/HouseholdPossessionValues.dat");
}
filewrite(pffFile,"[UserFiles]");
filewrite(pffFile,"TEMPFILE=%s","");
filewrite(pffFile,"[Parameters]");
filewrite(pffFile,"COUNTY=%s", CHOOSE_HOUSEHOLD[1:2]);
filewrite(pffFile,"DISTRICT=%s", CHOOSE_HOUSEHOLD[3:2]);
filewrite(pffFile,"CLAN=%s", CHOOSE_HOUSEHOLD[5:3]);
filewrite(pffFile,"EA=%s", CHOOSE_HOUSEHOLD[8:2]);
filewrite(pffFile,"AREA=%s", CHOOSE_HOUSEHOLD[10:1]);
filewrite(pffFile,"HH=%s", CHOOSE_HOUSEHOLD[11:2]);
close(pffFile);
execpff(pffFilename, stop);
end;
// Launch listing program
function launchHouseholdListing()
end;
Attached is the application: