RDML Function SET173B:

LANSA

RDML Function SET173B:

********** COMMENT(=======================================================);
********** COMMENT(Process ........: SET_173);
********** COMMENT(Function .......: SET173B);
********** COMMENT(Created on .....: 10/05/00 at 10:25:51);
********** COMMENT();
********** COMMENT(Full Description: SET173A shows how to manipulate);
********** COMMENT(fields to dynamically make an entire browselist column);
********** COMMENT(input or output. SET173B uses the same technique but);
********** COMMENT(this time to dynamically change the fields' mode within);
********** COMMENT(a browselist row. The difference lies in changing the);
********** COMMENT(input/output flag field before adding each browselist);
********** COMMENT(entry.);
********** COMMENT();
********** COMMENT(Disclaimer: The following material is supplied as an);
********** COMMENT(example only. No warranty is expressed or implied.);
********** COMMENT();
********** COMMENT(=======================================================);
********** COMMENT(Function control options);
FUNCTION OPTIONS(*DIRECT *WEBEVENT);
********** COMMENT();
DEFINE FIELD(#S_173IOC1) TYPE(*CHAR) LENGTH(001) DESC('');
DEFINE FIELD(#S_173IOC2) TYPE(*CHAR) LENGTH(001) DESC('');
DEFINE FIELD(#S_173IOC3) TYPE(*CHAR) LENGTH(001) DESC('');
DEFINE FIELD(#S_173IOC4) TYPE(*CHAR) LENGTH(001) DESC('');
********** COMMENT(Group and field definitions);
DEFINE FIELD(#S_173COL1) TYPE(*CHAR) LENGTH(006) DESC('Column 1') DEFAULT(OUTPUT);
DEFINE FIELD(#S_173COL2) TYPE(*CHAR) LENGTH(009) DESC('Column 2') DEFAULT(OUTPUT);
DEFINE FIELD(#S_173COL3) TYPE(*CHAR) LENGTH(006) DESC('Column 3') DEFAULT(OUTPUT);
DEFINE FIELD(#S_173COL4) TYPE(*CHAR) LENGTH(010) DESC('Column 4') DEFAULT(OUTPUT);
DEF_COND NAME(*ISINPIOC1) COND('#s_173ioc1 = I');
DEF_COND NAME(*ISINPIOC2) COND('#s_173ioc2 = I');
DEF_COND NAME(*ISINPIOC3) COND('#s_173ioc3 = I');
DEF_COND NAME(*ISINPIOC4) COND('#s_173ioc4 = I');
********** COMMENT();
DEF_LIST NAME(#S_173BIO) FIELDS((#S_173IOC1 *INPUT)(#S_173COL1)(#S_173IOC2 *INPUT)(#S_173COL2)(#S_173IOC3 *INPUT)(#S_173COL3)(#S_173IOC4 *INPUT)(#S_173COL4));
********** COMMENT();
********** COMMENT(This list consists of the fields acting as flags to);
********** COMMENT(determine the mode of the fields in the browselist);
********** COMMENT(S_173INOU. The function will read from this list and);
********** COMMENT(add entries to S_173INOU. In a real situation you would);
********** COMMENT(probably be reading a file.);
********** COMMENT();
********** COMMENT(Mainline);
********** COMMENT(Initialise lists the first time the function runs.);
IF COND('#stdrentry *ne Y');
CHANGE FIELD(#STDRENTRY) TO(Y);
INZ_LIST NAMED(#S_173BIO) NUM_ENTRYS(0000005);
GOTO LABEL(REQ);
ENDIF;
********** COMMENT();
SELECTLIST NAMED(#S_173BIO);
IF COND(*ISINPIOC1);
CHANGE FIELD(#S_173COL1) TO(INPUT);
ELSE;
CHANGE FIELD(#S_173COL1) TO(OUTPUT);
ENDIF;
IF COND(*ISINPIOC2);
CHANGE FIELD(#S_173COL2) TO(INPUT);
ELSE;
CHANGE FIELD(#S_173COL2) TO(OUTPUT);
ENDIF;
IF COND(*ISINPIOC3);
CHANGE FIELD(#S_173COL3) TO(INPUT);
ELSE;
CHANGE FIELD(#S_173COL3) TO(OUTPUT);
ENDIF;
IF COND(*ISINPIOC4);
CHANGE FIELD(#S_173COL4) TO(INPUT);
ELSE;
CHANGE FIELD(#S_173COL4) TO(OUTPUT);
ENDIF;
UPD_ENTRY IN_LIST(#S_173BIO);
ENDSELECT;
********** COMMENT();
REQ: REQUEST FIELDS((#STDRENTRY *HIDDEN)) BROWSELIST(#S_173BIO) EXIT_KEY(*NO) MENU_KEY(*NO) PROMPT_KEY(*NO);