Mumps - Versioning and Migrating

34 views
Skip to first unread message

TI HRTGB

unread,
May 20, 2022, 10:21:30 AM5/20/22
to George James Software
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

TI HRTGB

unread,
Jun 1, 2022, 9:19:36 AM6/1/22
to George James Software
Hello, follow msmlog logs when the crash problem occurs

[Jun-01-22 10:03:41] And mumsm ended (proc=#20316374, status=90009)
.................... And ...abnormal termination, signal # = 9
[Jun-01-22 10:03:41] very ended (proc=#14221630, status=0)
[Jun-01-22 10:03:41] very ended (proc=#8257564, status=0)
[Jun-01-22 10:03:41] very ended (proc=#64749588, status=0)
[Jun-01-22 10:03:41] very ended (proc=#44957844, status=0)
[Jun-01-22 10:03:41] very ended (proc=#64684234, status=0)
[Jun-01-22 10:03:41] very ended (proc=#42401856, status=0)
[Jun-01-22 10:03:41] very ended (proc=#65405012, status=0)
[Jun-01-22 10:03:41] very ended (proc=#39125020, status=0)
.................... And ...abnormal termination, signal # = 9
[Jun-01-22 10:03:44] And muserver ended (proc=#61014236, status=90009)
.................... And ...abnormal termination, signal # = 9
[Jun-01-22 10:03:44] And muserver ended (proc=#32571450, status=90009)
.................... And ...abnormal termination, signal # = 9
[Jun-01-22 10:03:44] And muserver ended (proc=#27132320, status=90009)
.................... And ...abnormal termination, signal # = 9
[Jun-01-22 10:03:44] And muserver ended (proc=#33685614, status=90009)
.................... And ...abnormal termination, signal # = 9
[Jun-01-22 10:03:44] And muserver ended (proc=#23789816, status=90009)
.................... And ...abnormal termination, signal # = 9
[Jun-01-22 10:03:44] And muserver ended (proc=#4194584, status=90009)
.................... And ...abnormal termination, signal # = 9
Reply all
Reply to author
Forward
0 new messages