Function SET178F Device Type - Brand

LANSA

Function SET178F Device Type - Brand

********** COMMENT(=======================================================);
********** COMMENT(Process ........: SET_178);
********** COMMENT(Function .......: SET178F);
********** COMMENT(Created on .....: 18/05/00 at 14:43:32);
********** COMMENT(Description ....: Generate a page for each);
********** COMMENT(device type - brand combination);
********** COMMENT(Version.........: 1);
********** COMMENT();
********** COMMENT(Full Description: The purpose of this function is to);
********** COMMENT(generate one page per device type - brand combination);
********** COMMENT(with links to all relevant products and all relevant);
********** COMMENT(subtypes.);
********** COMMENT();
********** COMMENT(Disclaimer: The following material is supplied as an);
********** COMMENT(example only. No warranty is expressed or implied.);
********** COMMENT();
********** COMMENT(Receives: Device Type (#S_178DVTP));
********** COMMENT( Brand (#S_178BRND));
********** COMMENT();
********** COMMENT(=======================================================);
********** COMMENT(Function control options);
FUNCTION OPTIONS(*DIRECT *WEBEVENT);
********** COMMENT();
********** COMMENT(<RDML ONCONDITION> field.);
********** COMMENT(Group and field definitions);
********** COMMENT();
GROUP_BY NAME(#S_GRPPANL) FIELDS((#S_178FDES *HIDDEN)(#S_178DVTP *HIDDEN)(#S_178BRND *HIDDEN)(#S_178DIMG *HIDDEN));
********** COMMENT(subtypes);
DEF_LIST NAME(#S_LSX178F) FIELDS((#S_178SBTP *HIDDEN)(#S_178SBPG *INPUT)(#S_178LNPG *HIDDEN));
********** COMMENT(products);
DEF_LIST NAME(#S_LSY178F) FIELDS((#S_178PRD *HIDDEN)(#S_178DVTP *HIDDEN)(#S_178PDES *HIDDEN)(#S_178BRND *HIDDEN)(#S_178PRCE)(#S_178PIMG *HIDDEN)(#S_178PTEC)(#S_178PPG *INPUT));
DEF_LIST NAME(#S_LSTPRD) FIELDS(#S_178PRD) TYPE(*WORKING) ENTRYS(0001000);
DEFINE FIELD(#S_178PRDW) REFFLD(#S_178PRD);
********** COMMENT();
********** COMMENT();
********** COMMENT(Mainline);
********** COMMENT();
GROUP_BY NAME(#S_GRPBD) FIELDS((#S_178DVTP)(#S_178DVPG)(#S_178DIMG)(#S_178SBTP)(#S_178BRND)(#S_178LNPG)(#S_178LIMG));
FETCH FIELDS(#S_GRPBD) FROM_FILE(SETLNKL1) WITH_KEY(BD #S_178BRND #S_178DVTP);
********** COMMENT(the image will appear in component S_178F);
FETCH FIELDS(#S_178DIMG) FROM_FILE(SETDEV) WITH_KEY(#S_178DVTP);
********** COMMENT();
USE BUILTIN(TCONCAT) WITH_ARGS(#S_IFSPATH '/') TO_GET(#S_IFSPATH);
USE BUILTIN(WEB_STATIC_PAGE) WITH_ARGS(#S_178LNPG '*NO' #S_IFSPATH);
********** COMMENT();
********** COMMENT();
********** COMMENT(Build a list of all subtypes for this device type &);
********** COMMENT(brand);
CLR_LIST NAMED(#S_LSX178F);
SELECT FIELDS(#S_LSX178F) FROM_FILE(SETLNKL1) WITH_KEY(BS #S_178BRND #S_178DVTP);
CHANGE FIELD(#S_178SBPG) TO(#S_178LNPG);
ADD_ENTRY TO_LIST(#S_LSX178F);
ENDSELECT;
********** COMMENT(Build a list of all the products for this device type);
********** COMMENT(& brand);
CLR_LIST NAMED(#S_LSY178F);
CLR_LIST NAMED(#S_LSTPRD);
SELECT FIELDS(#S_LSY178F) FROM_FILE(SETPRDL3) WITH_KEY(#S_178BRND #S_178DVTP);
********** COMMENT(determine whether the product is already on the list);
CHANGE FIELD(#S_178PRDW) TO(#S_178PRD);
LOC_ENTRY IN_LIST(#S_LSTPRD) WHERE('#S_178PRDW *EQ #S_178PRD') RET_ENTRY(*NO);
IF_STATUS IS_NOT(*OKAY);
ADD_ENTRY TO_LIST(#S_LSTPRD);
ADD_ENTRY TO_LIST(#S_LSY178F);
ENDIF;
ENDSELECT;
********** COMMENT();
********** COMMENT();
REQUEST FIELDS(#S_GRPPANL) EXIT_KEY(*NO) MENU_KEY(*NO) PROMPT_KEY(*NO);
********** COMMENT(both browselists are displayed via component SET178F);
IF COND('1 *EQ 2');
REQUEST BROWSELIST(#S_LSX178F) EXIT_KEY(*NO) MENU_KEY(*NO) PROMPT_KEY(*NO);
REQUEST BROWSELIST(#S_LSY178F) EXIT_KEY(*NO) MENU_KEY(*NO) PROMPT_KEY(*NO);
ENDIF;