diff --git a/mg/bastmag.rep b/mg/bastmag.rep
new file mode 100755
index 000000000..b3e8e7e48
--- /dev/null
+++ b/mg/bastmag.rep
@@ -0,0 +1,190 @@
+
+
+
+
+
+
+ #SYSTEM.RAGSOC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ CODTAB[1,3]
+
+
+ CODTAB[4,5]
+
+
+ S0
+
+
+ I1[1,3]
+
+
+ I2
+
+
+
+
+
+
+
+
+
+ S2[1,35]
+
+
+ S7[1,10]
+
+
+ S3[1,5]
+
+
+ COMUNI.DENCOM[1,35]
+
+
+ COMUNI.PROVCOM
+
+
+ S6[1,3]
+
+
+ S8[1,3]
+
+
+ S9[1,3]
+
+
+ B0
+
+
+ B1
+
+
+ I4[1,2]
+
+
+ B2
+
+
+ B3
+
+
+ I5[1,3]
+
+
+ D0
+
+
+ I6[1,3]
+
+
+ D1
+
+
+ B4
+
+
+ B5
+
+
+ I7[1,2]
+
+
+
+
+
+
+ #SYSTEM.DATE
+
+
+ #PAGE
+
+
+
+
+ USE MAG
+JOIN COMUNI INTO COM==S5
+
\ No newline at end of file
diff --git a/mg/bastmag.uml b/mg/bastmag.uml
new file mode 100755
index 000000000..d7f14e8c3
--- /dev/null
+++ b/mg/bastmag.uml
@@ -0,0 +1,66 @@
+#include "../ba/ba3200.h"
+
+PAGE "Stampa Tabella Magazzini e depositi" -1 -1 58 8
+
+STRING F_INIZIO1 3
+BEGIN
+ PROMPT 2 1 "Da magazzino "
+ HELP "Inserire il codice d'inizio "
+ FIELD LF_TABCOM->CODTAB[1,3]
+ USE MAG
+ INPUT CODTAB[1,3] F_INIZIO1
+ INPUT CODTAB[4,5] F_INIZIO2
+ DISPLAY "Codice Magazzino" CODTAB[1,3]
+ DISPLAY "Codice Deposito" CODTAB[4,5]
+ DISPLAY "Descrizione@50" S0
+ OUTPUT F_INIZIO1 CODTAB[1,3]
+ OUTPUT F_INIZIO2 CODTAB[4,5]
+ GROUP 1
+END
+
+STRING F_INIZIO2 2
+BEGIN
+ PROMPT 28 1 "Da deposito "
+ HELP "Inserire il codice d'inizio "
+ FIELD LF_TABCOM->CODTAB[4,5]
+ COPY ALL F_INIZIO1
+ GROUP 1
+END
+
+
+STRING F_FINE1 3
+BEGIN
+ PROMPT 2 3 "A magazzino "
+ HELP "Inserire il codice di fine "
+ FIELD LF_TABCOM->CODTAB[1,3]
+ COPY USE F_INIZIO1
+ INPUT CODTAB[1,3] F_FINE1
+ INPUT CODTAB[4,5] F_FINE2
+ COPY DISPLAY F_INIZIO1
+ OUTPUT F_FINE1 CODTAB[1,3]
+ OUTPUT F_FINE2 CODTAB[4,5]
+ GROUP 2
+END
+
+
+STRING F_FINE2 2
+BEGIN
+ PROMPT 28 3 "A deposito "
+ HELP "Inserire il codice di fine "
+ FIELD LF_TABCOM->CODTAB[4,5]
+ COPY ALL F_FINE1
+ GROUP 2
+END
+
+BUTTON DLG_OK 10 2
+BEGIN
+ PROMPT -12 -1 ""
+END
+
+BUTTON DLG_QUIT 10 2
+BEGIN
+ PROMPT -22 -1 ""
+END
+
+ENDPAGE
+ENDMASK
diff --git a/mg/batbmag.rpt b/mg/batbmag.rpt
new file mode 100755
index 000000000..467d69cdb
--- /dev/null
+++ b/mg/batbmag.rpt
@@ -0,0 +1,64 @@
+[Relations]
+LF_COMUNI;COM==S5
+[Headers]
+132
+Tabella Magazzino
+1|@2g%s|Cod.Mag.
+1|@12g%s|Cod.Dep.
+1|@22g%s|Descrizione
+1|@74g%s|U.Loc.
+1|@82g%s|Natura del magazzino
+2|@12g%s|Sede : Indirizzo
+2|@49g%s|N.
+2|@61g%s|C.A.P.
+2|@69g%s|Comune
+2|@125g%s|Pr.
+3|@12g%s|Mag.
+3|@19g%s|L.G.
+3|@26g%s|L.U.
+3|@34g%s|Dep.
+3|@42g%s|C.F.A.
+3|@50g%s|Freq.
+3|@58g%s|R.F.A.
+3|@66g%s|R.F.C.
+3|@74g%s|Pag.
+3|@81g%s|Data
+3|@93g%s|Pag.
+3|@100g%s|Data
+3|@112g%s|Intest.
+3|@120g%s|St.r.
+3|@127g%s|L.mod.
+
+[Rows]
+1|CODTAB[1,3]|@2g@3s
+1|CODTAB[4,5]|@12g@2s
+1|S0|@22g@50,ls
+1|I1|@74g@3n
+1|I2|@82g@50t
+2|S2|@12g@35,ls
+2|S7|@49g@10,ls
+2|S3|@61g@5,ls
+2|LF_COMUNI->DENCOM|@69g@50,ls
+2|LF_COMUNI->PROVCOM|@125g@2,ls
+3|S6|@12g@3s
+3|S8|@19g@3s
+3|S9|@26g@3s
+3|B0|@34g@2f
+3|B1|@42g@2f
+3|I4|@50g@2n
+3|B2|@58g@2f
+3|B3|@66g@2f
+3|I5|@74g@3n
+3|D0|@81g@10d
+3|I6|@93g@3n
+3|D1|@100g@10d
+3|B4|@112g@2f
+3|B5|@120g@2f
+3|I7|@127g@2n
+[Translations]
+LF_TAB|I2|1|Proprietà dell'azienda
+LF_TAB|I2|2|Materiale nostro in lavorazione presso terzi
+LF_TAB|I2|3|Materiale nostro in deposito presso terzi
+LF_TAB|I2|4|Materiale di terzi in lavorazione presso l'azienda
+LF_TAB|I2|5|Materiale di terzi in deposito presso l'azienda
+
diff --git a/mg/batbmag.uml b/mg/batbmag.uml
new file mode 100755
index 000000000..a1098668c
--- /dev/null
+++ b/mg/batbmag.uml
@@ -0,0 +1,353 @@
+#include "batbmag.h"
+
+TOOLBAR "" 0 -3 60 3
+#include
+ENDPAGE
+
+PAGE "Magazzini" -1 -1 78 20
+
+GROUPBOX DLG_NULL 75 6
+BEGIN
+ PROMPT 1 0 ""
+ FLAGS "R"
+END
+
+NUMBER F_DITTA 5
+BEGIN
+ PROMPT 0 0 ""
+ FLAGS "FGH"
+END
+
+STRING F_CODICE 3
+BEGIN
+ PROMPT 2 2 "Codice magazzino "
+ FIELD CODTAB[1,3]
+ KEY 1
+ USE MAG SELECT CODTAB[4,5]==""
+ FLAG "U"
+ INPUT CODTAB F_CODICE
+ DISPLAY "Codice " CODTAB[1,3]
+ DISPLAY "Denominazione mag.@50 " S0
+ OUTPUT F_CODICE CODTAB[1,3]
+ OUTPUT F_DESCR S0
+ OUTPUT H_DESCR S0
+ OUTPUT F_NATMAG I2
+ OUTPUT H_GESTGIA B0
+ OUTPUT F_CODLGIOR S8
+ OUTPUT F_UNLOC I1
+ CHECKTYPE REQUIRED
+END
+
+STRING F_CODDEP 2
+BEGIN
+ PROMPT 28 2 "Codice deposito "
+ FIELD CODTAB[4,5]
+ FLAGS "U"
+ KEY 1
+ USE MAG
+ INPUT CODTAB[1,3] F_CODICE SELECT
+ INPUT CODTAB[4,5] F_CODDEP
+ DISPLAY "Cod. magazzino" CODTAB[1,3]
+ DISPLAY "Cod. deposito" CODTAB[4,5]
+ DISPLAY "Denominazione dep.@50" S0
+ OUTPUT F_CODICE CODTAB[1,3]
+ OUTPUT F_CODDEP CODTAB[4,5]
+ OUTPUT F_DESDEP S0
+ MESSAGE SHOW,H_DESCR|HIDE,F_DESCR|SHOW,F_DESDEP|HIDE,F_GESTGIA|HIDE,G_INFOMAG@
+ MESSAGE EMPTY HIDE,H_DESCR|SHOW,F_DESCR|HIDE,F_DESDEP|SHOW,F_GESTGIA|SHOW,G_INFOMAG@
+ CHECKTYPE NORMAL
+ // controllo abilit. CODDEP (utilizzabile sempre)
+ STR_EXPR (#H_GESTGIA=="X")||(#F_CODDEP=="")
+ WARNING "Il magazzino deve essere abilitato alla gestione dei depositi"
+END
+
+//Abilitazione/disabil. dei campi relativi al deposito
+BOOLEAN H_GESTGIA
+BEGIN
+ PROMPT 1 1 ""
+ FLAGS "HG"
+ MESSAGE TRUE SHOW,F_CODDEP
+ MESSAGE FALSE HIDE,F_CODDEP
+END
+
+STRING H_DESCR 50
+BEGIN
+ PROMPT 2 3 "Denominazione mag. "
+ FLAGS "D"
+END
+
+STRING F_DESDEP 50
+BEGIN
+ PROMPT 2 4 "Denominazione dep. "
+ FIELD S0
+ USE MAG KEY 2
+ KEY 2
+ INPUT S0 F_DESDEP
+ DISPLAY "Denominazione dep.@50" S0
+ DISPLAY "Cod. magazzino" CODTAB[1,3]
+ DISPLAY "Cod. deposito" CODTAB[4,5]
+ COPY OUTPUT F_CODDEP
+ MESSAGE K_TAB,F_CODDEP
+ CHECKTYPE REQUIRED
+ WARNING "Manca la denominazione"
+END
+
+STRING F_DESCR 50
+BEGIN
+ PROMPT 2 3 "Denominazione mag. "
+ FIELD S0
+ KEY 2
+ USE MAG KEY 2
+ INPUT S0 F_DESCR
+ DISPLAY "Denominazione mag.@50" S0
+ DISPLAY "Cod. magazzino" CODTAB[1,3]
+ DISPLAY "Cod. deposito" CODTAB[4,5]
+ COPY OUTPUT F_CODDEP
+ OUTPUT F_DESCR S0
+ MESSAGE K_TAB,F_CODDEP
+ CHECKTYPE REQUIRED
+ WARNING "Manca la denominazione del magazzino"
+END
+
+
+GROUPBOX DLG_NULL 75 6
+BEGIN
+ PROMPT 1 7 "Sede magazzino/deposito"
+END
+
+STRING F_IND 35
+BEGIN
+ PROMPT 2 8 "Indirizzo "
+ FIELD S2
+END
+
+STRING F_CIV 10
+BEGIN
+ PROMPT 60 8 "N. "
+ FIELD S7
+END
+
+STRING F_COM 4
+BEGIN
+ PROMPT 2 9 "Codice comune "
+ FLAGS "U"
+ FIELD S5
+ USE LF_COMUNI
+ INPUT STATO ""
+ INPUT COM F_COM
+#include
+ OUTPUT F_COM COM
+ OUTPUT F_LOC DENCOM
+ OUTPUT F_PROV PROVCOM
+ OUTPUT F_CAP CAPCOM
+ CHECKTYPE NORMAL
+ WARNING "Comune assente"
+ ADD RUN ba4 -0
+END
+
+STRING F_LOC 50
+BEGIN
+ PROMPT 2 10 "Comune "
+ USE LF_COMUNI KEY 2
+ INPUT DENCOM F_LOC
+#include
+ COPY OUTPUT F_COM
+ ADD RUN ba4 -0
+ CHECKTYPE NORMAL
+END
+
+STRING F_PROV 2
+BEGIN
+ PROMPT 2 11 "Provincia "
+ FLAGS "D"
+END
+
+STRING F_CAP 5
+BEGIN
+ PROMPT 60 11 "C.A.P. "
+ FIELD S3
+END
+
+LISTBOX F_NATMAG 1 50
+BEGIN
+PROMPT 2 14 "Natura del magazzino "
+FIELD I2
+ITEM "1|Proprieta' dell'azienda "
+ITEM "2|Materiale nostro in lavorazione presso terzi"
+ITEM "3|Materiale nostro in deposito presso terzi"
+ITEM "4|Materiale di terzi in lavorazione presso l'azienda"
+ITEM "5|Materiale di terzi in deposito presso l'azienda"
+END
+
+
+BOOL F_MAGSTD
+BEGIN
+ PROMPT 2 16 "Usa come magazzino standard "
+ FIELD B1
+END
+
+ENDPAGE
+
+
+PAGE "Parametri" -1 -1 78 20
+
+NUMBER F_ANNO 4
+BEGIN
+ PROMPT 0 0 ""
+ FLAGS "AH"
+END
+
+BOOLEAN F_GESTGIA
+BEGIN
+ PROMPT 5 2 "Gestione giacenze in piu' depositi "
+ FIELD B0
+ MESSAGE TRUE CLEAR,F_MAGSTD
+ MESSAGE FALSE ENABLE,F_MAGSTD
+ GROUP G_INFOMAG
+END
+
+STRING F_CODLGIOR 3
+BEGIN
+ PROMPT 5 4 "Codice libro giornale "
+ FLAGS "U"
+ FIELD S8
+ USE REG SELECT I0=9
+ INPUT CODTAB[1,4] F_ANNO
+ INPUT CODTAB[5,7] F_CODLGIOR
+ DISPLAY "Anno" CODTAB[1,4]
+ DISPLAY "Giornale" CODTAB[5,7]
+ DISPLAY "Descrizione@50" S0
+ OUTPUT F_CODLGIOR CODTAB[5,7]
+ OUTPUT F_ANNO CODTAB[1,4]
+ WARNING "Registro non valido come Libro giornale "
+ GROUP G_INFOMAG
+END
+
+/*STRING F_CODLUNICO 3
+BEGIN
+ PROMPT 26 5 "Codice libro unico "
+ FLAGS "HU"
+ FIELD S9
+ USE %LBU
+ INPUT CODTAB[1,4] F_ANNO SELECT
+ INPUT CODTAB[5,7] F_CODLUNICO
+ DISPLAY "Anno" CODTAB[1,4]
+ DISPLAY "Libro" CODTAB[5,7]
+ DISPLAY "Descrizione@50" S0
+ OUTPUT F_CODLUNICO CODTAB[5,7]
+ CHECKTYPE REQUIRED
+ WARNING "Codice errato o non relativo a questo anno"
+END
+
+BOOLEAN F_USALUNICO
+BEGIN
+ PROMPT 52 5 "Usa libro unico "
+ FLAGS "HU"
+ FIELD B6
+ MESSAGE FALSE HIDE,F_CODLUNICO|SHOW,F_CODLGIOR
+ MESSAGE TRUE SHOW,F_CODLUNICO|HIDE,F_CODLGIOR
+END
+
+*/
+
+GROUPBOX DLG_NULL 72 5
+BEGIN
+ PROMPT 4 6 "Unita' locale"
+ GROUP G_INFOMAG
+END
+
+NUMBER F_UNLOC 3
+BEGIN
+ PROMPT 6 7 "Codice "
+ FIELD I1
+ USE LF_UNLOC KEY 1
+ JOIN LF_COMUNI INTO COM=COMULC STATO==""
+ INPUT CODDITTA F_DITTA SELECT
+ INPUT CODULC F_UNLOC
+ DISPLAY "Unita' Locale" CODULC
+ DISPLAY "Indirizzo@35" INDULC
+ DISPLAY "N." CIVULC
+ DISPLAY "C.A.P." CAPULC
+ DISPLAY "Comune@50" LF_COMUNI->DENCOM
+ DISPLAY "Provincia" LF_COMUNI->PROVCOM
+ OUTPUT H_COM COMULC
+ OUTPUT F_UNLOC CODULC
+ OUTPUT H_IND INDULC
+ OUTPUT H_CIV CIVULC
+ OUTPUT H_CAP CAPULC
+ OUTPUT H_LOC LF_COMUNI->DENCOM
+ OUTPUT H_PROV LF_COMUNI->PROVCOM
+ CHECKTYPE NORMAL
+ GROUP G_INFOMAG
+ ADD RUN ba4 -3
+END
+
+STRING H_COM 4
+BEGIN
+ PROMPT 30 7 "Comune "
+ FLAGS "D"
+ GROUP G_INFOMAG
+END
+
+STRING H_CAP 5
+BEGIN
+ PROMPT 44 7 "C.A.P. "
+ FLAGS "D"
+ GROUP G_INFOMAG
+END
+
+STRING H_PROV 2
+BEGIN
+ PROMPT 60 7 "Provincia "
+ FLAGS "D"
+ GROUP G_INFOMAG
+END
+
+STRING H_IND 35
+BEGIN
+ PROMPT 6 8 "Indirizzo "
+ FLAGS "D"
+ GROUP G_INFOMAG
+END
+
+STRING H_CIV 10
+BEGIN
+ PROMPT 60 8 "N. "
+ FLAGS "D"
+ GROUP G_INFOMAG
+END
+
+STRING H_LOC 50
+BEGIN
+ PROMPT 6 9 "Comune "
+ FLAGS "D"
+ GROUP G_INFOMAG
+END
+
+/*LISTBOX F_STARAGG 22
+BEGIN
+ PROMPT 2 4 "Stampare i movimenti su "
+ FIELD I2
+ ITEM "1|altro magazzino"
+ MESSAGE HIDE,F_CODLGIOR|SHOW,F_CODMAGSTA
+ ITEM "2|libro giornale"
+ MESSAGE HIDE,F_CODMAGSTA|SHOW,F_CODLGIOR
+END
+
+STRING F_CODMAGSTA 3
+BEGIN
+ PROMPT 28 5 "Codice magazzino "
+ FLAGS "U"
+ FIELD S6
+ USE MAG SELECT CODTAB[4,5] == ""
+ INPUT CODTAB[1,3] F_CODMAGSTA
+ DISPLAY "Codice " CODTAB
+ DISPLAY "Denominazione mag.@50 " S0
+ OUTPUT F_CODMAGSTA CODTAB[1,3]
+ CHECKTYPE REQUIRED
+END*/
+
+
+ENDPAGE
+
+ENDMASK