Form S_190FI

LANSA

Form S_190FI

*===================================================================;
*;
* Component : S_190FI;
* Type : Form;
* Ancestor : PRIM_FORM (Primitive Form);
*;
* Description : Breakdown of responses to a ranked question; ;
*;
* Full Description; This form displays the breakdown of the responses of poll respondents for ;
* those questions where the respondent ranks the selections .;
* (RANK);
*;
* Disclaimer : The following material is supplied as sample material;
* only. No warranty concerning this material or its use;
* in any way whatsoever is expressed or implied.;
*;
* ===================================================================;
;
FUNCTION OPTIONS(*DIRECT);
BEGIN_COM FORMSTYLE(Owned) HEIGHT(513) LAYOUTMANAGER(#ATLM_1) LEFT(352) TOP(171) VISUALSTYLE(#VS_NORM) WIDTH(420);
DEFINE_COM CLASS(#PRIM_GRPH) NAME(#GRPH_1) BARSTYLE(StackedPercentile) CAPTION('User ranking of responses - dark blue is rank 1, green is rank 2, ...') DISPLAYPOSITION(1) HEIGHT(385) LEFT(0) PARENT(#COM_OWNER) SCATTERSTYLE(SymbolAtPoints+Solid) SURFACESTYLE(ConnectLinesInBlack) TABPOSITION(1) TOP(77) VISUALSTYLE(#VS_PANEL) VISUALSTYLEOFPARENT(False) WIDTH(412) XCAPTION('Response') YCAPTION('% response for each rank');
DEFINE_COM CLASS(#PRIM_GRCL) NAME(#GRCL_2) COLUMNROLE(Label) DISPLAYPOSITION(1) PARENT(#GRPH_1) SOURCE(#S_190PSA);
DEFINE_COM CLASS(#PRIM_GRCL) NAME(#GRCL_3) COLUMNROLE(None) COLUMNSYMBOL(FilledUpTriangle) PARENT(#GRPH_1) SOURCE(#S_190PSN);
DEFINE_COM CLASS(#PRIM_LABL) NAME(#LABL_POLL) CAPTION('<text>') DISPLAYPOSITION(2) HEIGHT(20) LEFT(0) PARENT(#COM_OWNER) TABPOSITION(2) TABSTOP(False) TOP(0) WIDTH(412);
DEFINE_COM CLASS(#PRIM_LABL) NAME(#LABL_QUES) CAPTION('<text>') DISPLAYPOSITION(3) HEIGHT(57) LEFT(0) PARENT(#COM_OWNER) TABPOSITION(3) TABSTOP(False) TOP(20) WIDTH(412);
DEFINE_COM CLASS(#PRIM_GRCL) NAME(#GRCL_1) COLUMNSYMBOL(FilledUpTriangle) DISPLAYPOSITION(3) PARENT(#GRPH_1) SOURCE(#S_190FRQ1);
DEFINE_COM CLASS(#PRIM_GRCL) NAME(#GRCL_4) COLUMNSYMBOL(HollowDownTriangle) DISPLAYPOSITION(4) PARENT(#GRPH_1) SOURCE(#S_190FRQ2);
DEFINE_COM CLASS(#PRIM_GRCL) NAME(#GRCL_5) COLUMNSYMBOL(FilledDownTriangle) DISPLAYPOSITION(5) PARENT(#GRPH_1) SOURCE(#S_190FRQ3);
DEFINE_COM CLASS(#PRIM_GRCL) NAME(#GRCL_6) COLUMNSYMBOL(HollowBox) DISPLAYPOSITION(6) PARENT(#GRPH_1) SOURCE(#S_190FRQ4);
DEFINE_COM CLASS(#PRIM_GRCL) NAME(#GRCL_7) COLUMNSYMBOL(FilledBox) DISPLAYPOSITION(7) PARENT(#GRPH_1) SOURCE(#S_190FRQ5);
DEFINE_COM CLASS(#PRIM_ATLM) NAME(#ATLM_1);
DEFINE_COM CLASS(#PRIM_ATLI) NAME(#ATLI_1) ATTACHMENT(Center) MANAGE(#GRPH_1) PARENT(#ATLM_1);
DEFINE_COM CLASS(#PRIM_ATLI) NAME(#ATLI_2) ATTACHMENT(Top) MANAGE(#LABL_POLL) PARENT(#ATLM_1);
DEFINE_COM CLASS(#PRIM_ATLI) NAME(#ATLI_3) ATTACHMENT(Top) MANAGE(#LABL_QUES) PARENT(#ATLM_1);
DEFINE_COM CLASS(#PRIM_STBR) NAME(#STBR_1) DISPLAYPOSITION(4) HEIGHT(24) LEFT(0) MESSAGEPOSITION(1) PARENT(#COM_OWNER) TABPOSITION(4) TABSTOP(False) TOP(462) WIDTH(412);
DEFINE_COM CLASS(#PRIM_ATLI) NAME(#ATLI_4) ATTACHMENT(Bottom) MANAGE(#STBR_1) PARENT(#ATLM_1);
;
EVTROUTINE handling(#com_owner.Initialize);
SET #com_owner caption(*component_desc);
ENDROUTINE;
*;
* Allows form S_190FA to display the responses to a ranked question;
MthRoutine uShowQuesBreakdown;
Define_Map *Input #S_190PID #mS_190PID Desc('Poll Identifier') ;
Define_Map *Input #S_190PQN #mS_190PQN Desc('Question to be analysed') ;
;
DEFINE FIELD(#S_190TXT) LENGTH(256) REFFLD(#STD_TEXT);
DEFINE #S_190TXT1 *CHAR 20;
;
CHANGE #S_190PID #mS_190PID.Value;
CHANGE #S_190PQN #mS_190PQN.Value;
;
FETCH (#S_190PDS) SETPDF with_key(#S_190PID);
set #LABL_POLL caption(#S_190PDS);
;
FETCH (#S_190PQSQ #S_190PQL) SETPQU with_key(#S_190PID #S_190PQN);
set #LABL_QUES caption(#S_190PQL);
;
CLR_LIST #GRPH_1;
CHANGE #S_190QFRQ 0;
;
;
SELECT (#S_190PSN #S_190PSA) SETPQS with_key(#S_190PID #S_190PQN);
* for each possible selection, count the number of users that ranked it at each rank;
CHANGE (#S_190FRQ1 #S_190FRQ2 #S_190FRQ3 #S_190FRQ4 #S_190FRQ5) *NULL;
SELECT (#S_190RID #S_190RANK) SETPRAL1 with_key(#S_190PID #S_190PQN #S_190PSN);
CASE #S_190RANK;
WHEN '= 1';
CHANGE #S_190FRQ1 '#S_190FRQ1 + 1';
WHEN '= 2';
CHANGE #S_190FRQ2 '#S_190FRQ2 + 1';
WHEN '= 3';
CHANGE #S_190FRQ3 '#S_190FRQ3 + 1';
WHEN '= 4';
CHANGE #S_190FRQ4 '#S_190FRQ4 + 1';
WHEN '= 5';
CHANGE #S_190FRQ5 '#S_190FRQ5 + 1';
ENDCASE;
CHANGE #S_190QFRQ '#S_190QFRQ + 1';
ENDSELECT;
ADD_ENTRY #GRPH_1;
ENDSELECT;
;
IF '#S_190QFRQ *EQ 0';
set #GRPH_1 Visible(False);
Message 'No response data available for this question';
else;
set #GRPH_1 Visible(TRUE);
endif;
invoke #Com_Owner.ShowForm;
;
Return;
;
Endroutine;
END_COM;