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_M120
*/
public void main_M120 ()
{
clearScreen();
displaySection("mainScreen");
companyPf.open(ACMBasePersistence.OPEN_MODE_I_O);
companyInfo.open(ACMBasePersistence.OPEN_MODE_I_O);
perform("initializeCompany_M130");
idata.setWsAnswer("N");
while ( true ) {
// termination condition
if (ACMUtil.ACMCheck88Vars(idata.getWsAnswer(), idata.wsAnswerWsTerminate)) {
break;
}
if (ACMUtil.ACMCheck88Vars(idata.getWsAnswer(), idata.wsAnswerWsAdd)) {
perform("addNewCompany_M160");
} else if (ACMUtil.ACMCheck88Vars(idata.getWsAnswer(), idata.wsAnswerWsNext)) {
perform("readNextCompany_M150");
} else if (ACMUtil.ACMCheck88Vars(idata.getWsAnswer(), idata.wsAnswerWsFind)) {
perform("findNextCompany_M140");
} else if (ACMUtil.ACMCheck88Vars(idata.getWsAnswer(), idata.wsAnswerWsUpdate)) {
perform("updateCurrentCompany_M170");
} else {
idata.setWsErrMess("Invalid Choice");
perform("invalidMessage_M180");
}
idata.setWsMessage(idata.getWsSelMessValue());
perform("displayMessage_M210");
accept(idata.getWsAnswer(), 19, 40);
idata.setWsMessage(idata.getWsBlankMessValue());
perform("displayMessage_M210");
}
goBack();
}
/**
* initializeCompany_M130
*/
public void initializeCompany_M130 ()
{
companyPf.setCoRecType(1);
companyPf.setCoId(0);
// START statement
try {
companyInfo.seek(companyInfo.getKey1(), ACMBasePersistence.CONDITION_TYPE_GREATER);
} catch (InvalidKeyException e){
idata.setWsErrMess("Could not open the COMPANY File");
perform("invalidMessage_M180");
goBack();
}
idata.setWsAnswer("n");
}
/**
* findNextCompany_M140
*/
public void findNextCompany_M140 ()
{
perform("clearWsArea_M200");
idata.setWsMessage(idata.getWsFindMessValue());
perform("displayMessage_M210");
perform("clearWsArea_M200");
accept(idata.getWsCompanyName(), 8, 40);
companyInfo.setKey2(idata.getWsCompanyNameValue());
// START statement
try {
companyInfo.seek(companyInfo.getKey2(), ACMBasePersistence.CONDITION_TYPE_GREATER_OR_EQUALS);
} catch (InvalidKeyException e){
idata.setWsErrMess("Company not found");
perform("invalidMessage_M180");
perform("initializeCompany_M130");
}
perform("readNextCompany_M150");
}
/**
* readNextCompany_M150
*/
public void readNextCompany_M150 ()
{
idata.setWsEndFlag(0);
// READ statement
try {
companyPf.next();
} catch (AtEndException e){
idata.setWsEndFlag(1);
}
if (idata.getWsEndFlag().getAsInt() == 1) {
idata.setWsErrMess("This is the last record, starting again");
perform("invalidMessage_M180");
perform("initializeCompany_M130");
} else {
idata.setWsCompanyName(companyInfo.getCompanyIdValue());
idata.setWsCompDetail(companyInfo.getCompanyDetailValue());
displaySection("mainScreen");
}
}
/**
* addNewCompany_M160
*/
public void addNewCompany_M160 ()
{
perform("clearWsArea_M200");
idata.setWsMessage(idata.getWsAddMessValue());
perform("displayMessage_M210");
companyPf.setKey1("0");
// START statement
try {
companyInfo.seek(companyInfo.getKey1(), ACMBasePersistence.CONDITION_TYPE_EQUALS);
} catch (InvalidKeyException e){
companyPf.setCoNextId(0);
// WRITE statement
companyPf.insert();
}
// READ statement
companyPf.read();
companyPf.setCoNextId(1 + companyPf.getCoNextId().getAsInt());
// REWRITE statement
companyPf.update();
companyPf.setCoRecType(1);
companyPf.setCoId(companyPf.getCoNextId());
companyPf.setCoNextId(0);
// WRITE statement
try {
companyInfo.insert();
} catch (InvalidKeyException e){
idata.setWsClearOk(0);
idata.setWsErrMess("Write Failed");
perform("invalidMessage_M180");
}
perform("clearWsArea_M200");
perform("updateCurrentCompany_M170");
}
/**
* updateCurrentCompany_M170
*/
public void updateCurrentCompany_M170 ()
{
idata.setWsMessage(idata.getWsUpdateMessValue());
perform("displayMessage_M210");
acceptSection("mainScreen");
companyInfo.setCompanyDetail(idata.getWsCompDetailValue());
companyInfo.setCompanyId(idata.getWsCompanyNameValue());
// REWRITE statement
try {
companyInfo.update();
} catch (InvalidKeyException e){
idata.setWsClearOk(0);
idata.setWsErrMess("Duplicate Company Name");
perform("invalidMessage_M180");
}
}
/**
* invalidMessage_M180
*/
public void invalidMessage_M180 ()
{
}
/**
* invalidSect1_M190
*/
public void invalidSect1_M190 ()
{
display(idata.getWsErrMess(), 23, 10);
goBack();
}
/**
* clearWsArea_M200
*/
public void clearWsArea_M200 ()
{
if (idata.getWsClearOk().getAsInt() == 1) {
idata.getWsCompDetail().fill(" ");
displaySection("mainScreen");
} else {
idata.setWsClearOk(1);
}
}
/**
* displayMessage_M210
*/
public void displayMessage_M210 ()
{
}
/**
* c00DisplayMessSect1_M220
*/
public void c00DisplayMessSect1_M220 ()
{
display(idata.getWsMessage(), 22, 5);
}
/**
* c01DisplayMessSectExit_M230
*/
public void c01DisplayMessSectExit_M230 ()
{
goBack();
}
|