Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
How to define database(s) that give consolidated report
Message
Information générale
Forum:
Visual FoxPro
Catégorie:
Base de données, Tables, Vues, Index et syntaxe SQL
Versions des environnements
Visual FoxPro:
VFP 6 SP5
Divers
Thread ID:
01040373
Message ID:
01041553
Vues:
22
Don't know FireBird, but am assuming you can create views.

If it's reporting only, you could create a new database on the server and then create a bunch of views in that DB, that would pull in your data from all these companies.

In MS SQL it would be something like this:
Create View MyView AS 
Select ..Sum(SomeAmount) SomeAmount from (
   Select ..SomeAmount from CompanyOneDb.dbo.SomeTable...
   Union 
   Select ..SomeAmount from CompanyTwoDb.dbo.SomeTable...) DT 
Group By.... 

* The obvious drawback being that, when your client buys a new company you have to add it to your views 
* But with decent indexing, depending on the size of your DB's, this could  work.
If you have a unique identifier for the various subsidiaries, you could load all your subsidiaries into one new DB, and if you don't, you could still use this approach and create one during load.

As well as being not quite on-line, you would have to re-load the data on a regular (nightly?) basis.

HTH

>Hi all
>
>I have handled multi-companies from the same app, but each of these companies are independent (and physically) seperate databases and tables.
>
>Now I have been approached by a client who has multiple companies under a parent company. These companies are in themselves indepedent as well as require to be consolidated at the time of reporting. Plus they have transactions between themselves as well as the outside world.
>
>Please let me know how to handle such database(s)?
>
>I am showing a simple schema as per my understanding of their requirements below:
>
>Master (lookup?) tables, which are to be shared by all companies so an update to these will immediately be available to the other companies
>
Accounts                Items
>---------------         ---------------
>iID    Integer          iID    Integer
>cName  Char(35)         cDesc  Char(35)
>
>Opening Amount/Qty. tables for each and every company. Assuming there are 1 parent + 4 children companies, each of the 5 have 100 qty. of Op. Stock for ItemA, the parent company when reporting consolidated will show ItemA as 500 qty.
>
OpAccounts              OpItems
>----------------        ------------------
>iAcctID  Integer        iItemID    Integer
>nOpBal   N(12,2)        nOpStock   N(12,2)
>
>Transaction table(s) for each and every company but these transaction will not only involve outside party accounts and items but will also involve transaction between each other of the parent and children companies
>
AccountsJV                     StockJV
>----------------------         --------------------
>dDate          Date            dDate        Date
>iDebitAcctID   Integer         iAddItemID   Integer
>iCreditAcctID  Integer         iLessItemID  Integer
>nAmount        N(12,2)         nQty         N(12,2)
>
>The final app though in VFP6 will be using FireBird as a backend accessing the data via remote views.
>
>Anybody practically solved such a problem?
Peter Pirker


Whosoever shall not fall by the sword or by famine, shall fall by pestilence, so why bother shaving?

(Woody Allen)
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform