SoftwareMining - Business Rule Extraction and Documentation
| Business Rule |
COMP_SCL.CBL |
||
| COBOL Documentation |
|
||
| Persistent Records: | |||
| Signature (From Linkage Section) | |||
| Working Storage Section |
| Analyst's Description/Comments |
|
Data Filters Applied to this rule:
|
| Business Rule Code |
/**
* main_M90
*/
public void main_M90 ()
{
companyPf.open(ACMBasePersistence.OPEN_MODE_INPUT);
companyInfo.open(ACMBasePersistence.OPEN_MODE_INPUT);
displaySection("ssMainScreen");
perform("initializeCompany_M100");
while ( true ) {
// termination condition
if (ACMUtil.ACMCheck88Vars(idata.getWsAnswer(), idata.wsAnswerWsTerminate)) {
break;
}
if (ACMUtil.ACMCheck88Vars(idata.getWsAnswer(), idata.wsAnswerWsNext)) {
if (idata.getWsRestartFlag().getAsInt() == 1) {
perform("initializeCompany_M100");
}
if (idata.getWsBreakFlag().getAsInt() == 0) {
perform("readNextCompany_M110");
}
} else if (ACMUtil.ACMCheck88Vars(idata.getWsAnswer(), idata.wsAnswerWsTerminate)) {
idata.getWsErrMess().fill(" ");
displaySection("ssErrMess");
} else {
idata.setWsErrMess("Invalid choice");
displaySection("ssErrMess");
}
accept(idata.getWsAnswer(), 19, 41);
}
goBack();
}
/**
* initializeCompany_M100
*/
public void initializeCompany_M100 ()
{
companyPf.setCoRecType(1);
companyPf.setCoId(0);
idata.setWsRestartFlag(0);
idata.setWsBreakFlag(0);
idata.setWsAnswer("N");
// START statement
try {
companyInfo.seek(companyInfo.getKey1(), ACMBasePersistence.CONDITION_TYPE_GREATER);
} catch (InvalidKeyException e){
idata.setWsBreakFlag(1);
idata.setWsErrMess("Could not open the Company file");
displaySection("ssErrMess");
}
}
/**
* readNextCompany_M110
*/
public void readNextCompany_M110 ()
{
// INITIALIZE
ACMInitialize.initialize(idata.getWsCompTable());
idata.setWsEndFlag(0);
idata.setWsN(0);
while ( true ) {
// termination condition
if (idata.getWsN().getAsInt() > 10) {
break;
}
idata.setWsN(idata.getWsN().getAsInt() + 1);
// READ statement
try {
companyPf.next();
} catch (AtEndException e){
idata.setWsEndFlag(1);
}
if (idata.getWsEndFlag().getAsInt() == 1) {
idata.setWsRestartFlag(1);
idata.setWsN(12);
} else {
idata.getWsCompId(idata.getWsN().getAsInt() - 1).setValue(companyPf.getCoId());
idata.getWsCompName(idata.getWsN().getAsInt() - 1).setValue(companyInfo.getCompanyIdValue());
}
}
displaySection("ssCompList");
if (idata.getWsRestartFlag().getAsInt() == 1) {
idata.setWsErrMess("Last record reached, restarting");
displaySection("ssErrMess");
}
}
|