SoftwareMining - Business Rule Extraction and Documentation
| Business Rule |
COMP_VW.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_M1110
*/
public void main_M1110 (){
company.open(ACMBasePersistence.OPEN_MODE_I_O);
perform("initializeCompany_M1120");
while ( true ){
// termination condition
if(ACMUtil.ACMCheck88Vars(iData.getWsAnswer(), iData.wsAnswerWsTerminate))
break;
iData.getWsErrMess().fill(" ");
if (ACMUtil.ACMCheck88Vars(iData.getWsAnswer(), iData.wsAnswerWsAdd)) {
perform("addNewCompany_M1150");
} else if (ACMUtil.ACMCheck88Vars(iData.getWsAnswer(), iData.wsAnswerWsNext)) {
perform("readNextCompany_M1140");
} else if (ACMUtil.ACMCheck88Vars(iData.getWsAnswer(), iData.wsAnswerWsFind)) {
perform("findNextCompany_M1130");
} else if (ACMUtil.ACMCheck88Vars(iData.getWsAnswer(), iData.wsAnswerWsUpdate)) {
perform("updateCurrentCompany_M1160");
} else {
iData.setWsErrMess("Invalid Choice");
}
}
company.close();
goBack();
}
/**
* initializeCompany_M1120
*/
public void initializeCompany_M1120 (){
company.setCoRecType(1);
company.setCoId(0);
// START statement
try {
company.seek(company.getKey1(), ACMBasePersistence.CONDITION_TYPE_GREATER);
iData.setWsAnswer("N");
} catch (InvalidKeyException e){
iData.setWsAnswer("A");
}
}
/**
* findNextCompany_M1130
*/
public void findNextCompany_M1130 (){
iData.setWsHeader(iData.getWsFindMessValue());
if (!company.getCompanyName().isFilled(' ')) {
// START statement
try {
company.seek(company.getKey2(), ACMBasePersistence.CONDITION_TYPE_GREATER_OR_EQUALS);
iData.setWsErrMess("Company found");
perform("readNextCompany_M1140");
} catch (InvalidKeyException e){
iData.setWsErrMess("Company not found");
perform("initializeCompany_M1120");
}
} else {
iData.setWsErrMess("Company name missed");
}
}
/**
* readNextCompany_M1140
*/
public void readNextCompany_M1140 (){
iData.setWsHeader(iData.getWsViewMessValue());
// READ statement
try {
company.next();
} catch (AtEndException e){
iData.setWsErrMess("Last record reached, restarted");
perform("initializeCompany_M1120");
// READ statement
company.next();
}
}
/**
* addNewCompany_M1150
*/
public void addNewCompany_M1150 (){
iData.setWsHeader(iData.getWsAddMessValue());
company.setKey1("0");
// START statement
try {
company.seek(company.getKey1(), ACMBasePersistence.CONDITION_TYPE_EQUALS);
} catch (InvalidKeyException e){
company.setCoNextId(0);
// WRITE statement
company.insert();
}
// READ statement
company.read();
company.setCoNextId(1 + company.getCoNextId().getAsInt());
// REWRITE statement
company.update();
company.setCoId(company.getCoNextId());
company.getCompanyDetail().fill(" ");
company.setCoRecType(1);
iData.setWsErrMess("Company added");
// WRITE statement
try {
company.insert();
} catch (InvalidKeyException e){
iData.setWsErrMess("Duplicate Company Name");
}
}
/**
* updateCurrentCompany_M1160
*/
public void updateCurrentCompany_M1160 (){
iData.setWsHeader(iData.getWsUpdMessValue());
// REWRITE statement
try {
company.update();
iData.setWsErrMess("Company info updated");
} catch (InvalidKeyException e){
iData.setWsErrMess("Duplicate Company Name");
}
}
|