Hi, I'm new to the MUMPS/MSM universe and I have some questions about MUMPS.
Is there any way to work with versioning in mumps with github/gitlab?
We are thinking of migrating our MUMPS system to a relational database, what is the best way to do this? Has anyone gone through this and suggest a way?
Thank you so much friends.
We are having problems with drops on the MUMPS workstation, due to the amount of accesses and the limitation of licenses, when we use stations with about 900 connections, the system works normally, however, when it gets close to 1200 connections, the problems begin. We have about 1220 licenses and that's why we're thinking of a way to migrate the MUMPS system to a relational database. Anyone suggest anything?
This is an application that was developed in a large hospital here in Brazil. The application was developed internally and maintenance is carried out by the institution's own employees. However, the size of the software is huge and is causing some problems as I mentioned above. From what I've read so far, I've seen that MUMPS is not relational. Is it possible to migrate this version of MUMPS to one that has no license limit? Is it possible to export globals, routines and windows ? Here's a code example of a routine for people to view.
APODISCO
S EMP=1
S DAT="01/04/15" D ^%pDY S DTINI=DAT
K ^|"DAT,REL"|APODISC1,^|"DAT,REL"|APODISC2,^|"DAT,REL"|APODISC3
S GL=$Q(^|"DAT,GCD"|DISPXCON(EMP,DTINI))
LER I GL="" G GERAREL
I $QS(GL,5)'=1 G PROX ; 1=retirada 2=devolucao
S DISPX=$G(@GL)
S CODMED=$P(DISPX,"^",2),CODMED=$P(CODMED,"c:",2)
;I CODMED'=15&(CODMED'=1336)&(CODMED'=75)&(CODMED'=1378)&(CODMED'=29994)&(CODMED'=5038) G PROX
I CODMED'=4104 G PROX
S REG=$QS(GL,3)
S QUANT=$P(DISPX,"^",3),QUANT=$P(QUANT,"q:",2)
S (DAT,DATADISP)=$P(DISPX,"^",1)
D ^%pDT
S MES=$P(DMY,"/",2)
;B
S APO=$G(^|"DAT,REL"|APODISC1(CODMED,MES)),APO=APO+QUANT,^|"DAT,REL"|APODISC1(CODMED,MES)=APO
S APO=$G(^|"DAT,REL"|APODISC2(CODMED,REG)),APO=APO+QUANT,^|"DAT,REL"|APODISC2(CODMED,REG)=APO
S APO=$G(^|"DAT,REL"|APODISC3(CODMED,DATADISP)),APO=APO+QUANT,^|"DAT,REL"|APODISC3(CODMED,DATADISP)=APO
PROX S GL=$Q(@GL)
G LER
;-------------------------
GERAREL
;Q
S arq="C:\temp\APODISCO.txt"
O 51:(arq:"W")
U 51
S GL=$Q(^|"DAT,REL"|APODISC1)
APO1 I GL="" G D2
S CODMED=$QS(GL,1),DESMED=$G(^|"DAT,GHC"|XTABSIS1(CODMED))
S MES=$QS(GL,2)
S QUANT=$G(@GL)
W CODMED_"^"_DESMED_"^"_MES_"^"_QUANT,!
S GL=$Q(@GL)
G APO1
D2 S GL=$Q(^|"DAT,REL"|APODISC2)
APO2 I GL="" G D3
S CODMED=$QS(GL,1),DESMED=$G(^|"DAT,GHC"|XTABSIS1(CODMED))
S REG=$QS(GL,2)
S QUANT=$G(@GL)
W CODMED_"^"_DESMED_"^"_REG_"^"_QUANT,!
S GL=$Q(@GL)
G APO2
D3 S GL=$Q(^|"DAT,REL"|APODISC3)
APO3 I GL="" G FIM
S CODMED=$QS(GL,1),DESMED=$G(^|"DAT,GHC"|XTABSIS1(CODMED))
S DAT=$QS(GL,2) D ^%pDT
S QUANT=$G(@GL)
W CODMED_"^"_DESMED_"^"_DMY_"^"_QUANT,!
S GL=$Q(@GL)
G APO3
FIM C 51
q
The system runs on Unix - AIX.
The amount of routines is absurd, in just one UCI called MWS,MED we have about 6,722 routines, 790 global ones, 1,748 windows and 192 applications.
MSM client image.
https://postimg.cc/LnC30NDR