* The first 5 paramaters are common to all forms * The other params vary based on which form is being called LPARAMETERS tcForm,tcClass,tnInstances,tcCaption,tlShowLater,txParam1,txParam2,txParam3,txParam4,txParam5,txParam6,txParam7,txParam8,txParam9,txParam10,txParam11 * PATIENT SEARCH FORM * txParam1 - Search Type (C): Identifies whether the form is being used * for a regular patient search or an A/R add account patient search * RX FORM - See frmRx for descriptions of these properties * txParam1 - (C): Fills in the property p_FullRx * txParam2 - (N): Fills in the property p_FormType * txParam3 - (L): Fills in the property p_RxVbl * txParma4 - (L): Fills in the property p_NoReverseEdit * txParam5 - (L): Fills in the property p_ChargeAR * txParam6 - (C): Fills in the property p_sstxctrl * txParam7 - (L): Fills in the property p_FilledFromCheckRefill * txParam8 - (L): Fills in the property p_FilledFromQueue * txParam9 - (C): Fills in the property p_ssicr (SS 10.6 new parameter - Initiator Control Reference value) * txParam10 - (L): Fills in the property p_RefillDrugOverRide - for the Hydrocodone change for 10/6/2014 - all 3's become 2's except for Refills LOCAL lnCnt,lcTemp *!* CSH 20121001 Spanish Conversion tcCaption = translatewrd(tcCaption) *!* CSH 20121001 IF tnInstances = -1 && Use Max Avail tnInstances = gnMaxSessions ENDIF lnCnt = 1 DO WHILE lnCnt <= ALEN(gaSession) IF TYPE("gaSession[lnCnt]") != "O" IF ALLTRIM(UPPER(tcForm)) = "FRMPATIENTSEARCH" IF ALLTRIM(UPPER(txParam1)) = "AR PATIENT SEARCH" goPharmApp.m_append(tcForm,tcClass,tnInstances,.F.,.F.) EXIT ELSE gaSession[lnCnt] = goPharmApp.m_append(tcForm,tcClass,tnInstances,.F.,.T.) ENDIF ELSE IF tlShowLater gaSession[lnCnt] = goPharmApp.m_append(tcForm,tcClass,tnInstances,.T.) ELSE gaSession[lnCnt] = goPharmApp.m_append(tcForm,tcClass,tnInstances,.F.) ENDIF ENDIF IF TYPE("gaSession[lnCnt]") = "O" gaSession[lnCnt].p_Session = lnCnt lcTemp = "cmd" + ALLTRIM(STR(lnCnt)) goTbrSideBar.p_Session = lnCnt goTbrSideBar.AddObject(lcTemp,"cmdSideBar") goTbrSideBar.m_AdjButtonHeights() * 11-20-02 STB added a check for tlShowLater = .F. so when doing * multi refills off profile, the correct rx is highlight on sidebar IF !tlShowLater goTbrSideBar.m_HighlightButton(lnCnt) ENDIF * 02-14-05 STB moved ChangeCaption above the IF statement * so any changes to the caption made by the form will stick goTbrSideBar.m_ChangeCaption(lnCnt,tcCaption) IF ALLTRIM(UPPER(tcForm)) = "FRMRX" gaSession[lnCnt].p_FullRx = txParam1 gaSession[lnCnt].p_FormType = txParam2 gaSession[lnCnt].p_NoReverseEdit = txParam4 gaSession[lnCnt].p_ChargeAR = txParam5 gaSession[lnCnt].p_SSTxCtrl = txParam6 *TMT 11/07/06 Added p_FilledFromCheckRefill to let FrmRx know when we have selected a Therapeutically *Equivalent Rx to substitute for a Rx that does not have any Refills left. gaSession[lnCnt].p_FilledFromCheckRefill = txParam7 *TMT 08/26/2011 Added p_FilledFromQueue to let FrmRx know if this Rx was being processed from the directly from the Queue *If nothing passeed to paramater txParam8, then it will default to .F., which is what we want gaSession[lnCnt].p_FilledFromQueue = txParam8 *TMT 05/08/13 Added p_icr for SureScripts 10.6 new parameter to passed from NEWRX or REFRES to any new REFREQ. gaSession[lnCnt].p_ssicr = txParam9 *If nothing passeed to paramater txParam9, then it will default to .F., which is what we want *TMT 11/11/2014 Added p_RefillDrugOverRide - for the Hydrocodone change for 10/6/2014 - all 3's become 2's except for Refills gaSession[lnCnt].p_RefillDrugOverRide = txParam10 *TMT * JBH 9/9/15 134496 gaSession[lnCnt].p_editmode = txParam11 IF TYPE("txParam3") = "L" gaSession[lnCnt].p_RxVbl = txParam3 gaSession[lnCnt].show ENDIF ENDIF goTbrSideBar.setall("visible",.T.) ENDIF EXIT ENDIF lnCnt = lnCnt + 1 ENDDO IF lnCnt > ALEN(gaSession) MESSAGEBOX(translatewrd("You have reached the limit of the total number") + CHR(13) +; translatewrd("of sessions that can be open at once."),64,translatewrd("Cannot Open Another Session")) RETURN .F. ELSE RETURN gaSession[lnCnt] ENDIF gaSession = .NULL.So, would using a Table instead of gasession be an improvement? And how would you implement it here......I was starting to make code changes when it dawned on me that I could not use a ROW of the table for the same thing that an ELEMENT of the array gasession did.... which was BE a form.