Create Vs Convert to Runtime Data Dictionary – when and why?


So being into BaaN, we all must have faced the option of create to run-time or convert to run-time option for tables/domains at least once. Often I have observed people badly stuck in dilemma while it comes to choose the best option between these two.

Today our discussion will try to answer following questions:-

1.Most important. most basic but often ignored question:- why it is required at all?

2.When to choose convert over create run-time and vice-versa?

3. How to troubleshoot issues/errors faced during CRDD (Create/Convert to Run-time Data Dictionary)?

Obviously I’ll be explaining in my own way and will be eagerly expecting suggestions/feedback from your side.

So here we go …….

1. Why it is required at all?

Create/Convert run-time both create/modify the application data into run-time data..okk this is a bit bookish explanation.

In simple term, you create a table via maintain table session, the metadata only gets created at application level.It is of no use until it get’s converted into run-time which the application refers at run-time. So run-time actually brings the application data at file-level in the Operating System under the path ${BSE}/dict  or ${BSE}/../dict [ this one is the traditional path used in BaaN IV, but there is no restriction about where the path should be].

Tables and Domains’s run-time data gets created/converted in the same path.

Once the run-time data is ready it is then ready to get created in the database. Database definition of the table must be always in sync with RTDD( run-time data dictionary) of table, otherwise there is a problem in accessing the table. Error 512 will come up.

2. When to choose convert over create run-time and vice-versa?

Well the answer is pretty simple.

When you create a table / domain for the very first time ( i.e they were not present in application as well as database ) go for create run-time option.

When the table/domain is already existing there is change in that particular table/domain definition go for convert to run-time option.

So what really convert-to run-time does? Is there any extra layer of complexity involved?

Yes, there is a point to worry about….Consider following cases:-

a. suppose your table definition contains 5 fields. There are 1000 rows in the table.

You delete 2 fields. Now after CRDD  the database definition of the table must get synced with RTDD; that implies that in database too, there will be only 3 fields.

So what about those 2 fields and there existing value in the table?

b. Your table definition contains 5 fields again and it is having 1000 rows.

This time you add 2 more fields in the table. What value are you expecting for those 2 fields for each of 1000 rows present , after proper CRDD?

These 2 cases has been taken into account in the underlying functionality of Convert to run-time data dictionary.

Here is how it works,

1. just before starting convert, BaaN takes dump/backup of existing data.

2. It drops the table and drops thr table definition.

3. It creates the table definition as per new definition mentioned in application.

4. It creates the table at database side( it is clear that database definition also gets created as per new definition from RTDD)

5. Then it checks the column/field  mismatch between newly created table in DB and the backup taken in step 1.

6. In case of point a. explained above, it simply discards those two fields and pump data back into table for rest 3 fields.

    In case of  point b. , it checks the domain/data type for those 2 newly added fields and sets there value as per their default value; i.e if the new 2 fields are integer default value will be 0(numeric ZERO) , if they are string default value will be ” “(Blank/Space but not NULL).Again the default value depends on the domain type and the default value set for that domain.

3. How to troubleshoot issues/errors faced during CRDD (Create/Convert to Run-time Data Dictionary)?

Mostly you’ll the error you’ll face during CRDD is : “serious error in bdbreconfig”

This means that not all domain/table could be converted into run-time.

There might be many reason.Some of the most common reasons are:-

1. Your are converting your table without converting the domain linked to the table field.

2.”.new” file generated during reconfig and it could not be removed.

3. Permission problem in the directory path where your RTDD will get stored.

Solution of the problem will depend on the situation, discussing solution of every possible solutions will be a bit lengthy here…instead I’ll give you standard process checklist following which you’ll over come the problem most of the time :

1. before starting CRDD process take seq dump of table and keep it safe with you.

2. make sure domain is always converted/created before you convert table.after converting/creating domain independently logout-login to refresh bshell cache.

3. check access permission of the directory path i.e. ${BSE}/dict/{package_combination}

4. During CRDD if  “.new” file is generated then do the following:-

a. remove the .new file, remove the .old file, rename the existing table-def file .eg:- if during CRDD of tdsls401 .new file is generated then you can see 3 files , tdsls401.old, tdsls401 and tdsls401.new.Remove .old and .new and rename tdsls401 as say tdsls401.fullonbaan.

b. delete entries of this particular table from following table via ttaad4100 (GTM):

ttadv500 – Conversion indicators
ttadv501 – Reconfiguration indicators
ttadv502 – Conversion parameters table def. / domains
ttadv503 – Reconfiguring Restart Data
ttadv504 – Reconfiguring Restart Data II
ttadv505 – Logged changes

c. logout and login. then run CREATE RUNTIME and not convert….

In most of the cases this will help you out.

Obviously there are some cases where you have to go to DB and drop the table and recreate it. At that point of time the seq dump you have taken will come into picture.Obviously you cannot upload it directly then as table definition has changed. So you have to delete/add columns from sew dump manually in order to align the data with current table definition and then upload it.

 

So, you see it’s all pretty simple…try it yourself and let me know what all new things you explore!!

Waiting to hear from you guys soon!!

 

Advertisements

Baan IV & V Differences


1) Segmented Item Codes

If you want to use segmented item codes, use the Segmented Domains
(ttgfd4122m000) session to define the segments of the Item (item) domain in the
iBaan ERP packages. Each segment represents a certain type of information. The
data that you define in this session is copied to the Item Segmentation
(tcibd0500m000) session.
You can use segmented item codes to support:
Clusters for distribution-requirements planning, in Baan Enterprise Planning.
Projects, in iBaan ERP Project.
Bills of materials, in iBaan ERP Manufacturing.
Before you start the Segmented Domains (ttgfd4122m000) session, you must
decide how you want to structure the item codes. After you have created items
and saved the item data, you can no longer change the item-code segmentation.
If you want to define segments for other types of domains, you can also use the
Segmented Domains (ttgfd4122m000) session to do this.

2) Segmented Domains

3) Enterprise Modeler
– Editor has to be installed on the client PC
– User Authorisation by specific role or status
– Default Authorisations for version use
– Workflow is part of the Enterprise Modeling

Major differences exist between DEM IV and DEM ERP. In a bullet point list, the most important would be:

– a total of 6 model views: (the Function/Process/Organization Models found in DEM IV plus the Enterprise Structure Model (ESM – displaying the geographical breakdown of the company), the Business Control Model (BCM – top level decomposition of the functional areas of the business), and last, the Entity Relationships Diagrams (ERD – representing the graphical structure of the data dictionnary of Baan tables)

– in DEM IV, the user was using 3 different editors to handle the 3 different views. In DEM ERP, one single editor, more generic, is used to handle the editing of all 6 views (see above)

– the editors in DEM IV are coded in Baan Tools. In DEM ERP, the editor has been re-writing using OO components to be portable and use XML diagrams definition. The resulting editor is called the EME (Enterprise Modeler Editor) and needs to be installed on the Client PC of the Baan user. Although all editing tasks will be performed on the Client PC and not on the Baan server, the EME is not fully Stand-Alone and still require the diagrams to be saved in the BRG tables on the server.

– the handling of DEM Versions, Reference Models, Project Models are similar from DEM IV to DEM ERP, making the import-export from one to the other possible. It is also possible to back-port from ERP to IV.

– although the diagrams migration from IV to ERP is possible and faily easy to do, an important difficulty reside in the fact that the session codes have been modified in Baan ERP. While a Process Activity (BPA) can be linked to a session in DEM IV (Ex. tiitm0101m000), and that this diagram can be ported to DEM ERP, a disconnect can happen is that session code no longer exits in ERP (because of being replaced by other session codes). In a nutshell, the graphical structure of DEM IV and ERP are compatible but the defined relationships to the underlining applications can see some disconnects.

– on a Business Reference Models side (supplied by Baan), DEM IV saw a extensive list of industry specific models and extentions (Ex. ETO, ATO, MBI, BPM, A&D, etc…). In DEM V, one extensive model (the Hybrid Manufacturing Model HBL renamed to the Enterprise Business Model EBM) is available, and incorporate many of the smaller DEM IV models content. A “Business Profile” configurator enables organization to select the relevant part of the HBL/EBM model related to their industry segment)

Data Migration


Data Migration

Three segments of data must be considered – master data, transactional data and historical data.

MASTER DATA
Most of the master data will come from your existing application; however, the new ERP application most likely has additional master tables and fields that will need to be populated to create a fully functional company.

Master data includes the following:
• Items/Parts
• Customers
• Vendors
• BOMs
• Routings
• Warehouses

Referential data, such as:
• Area (used by Sales side)
• Number series
• Statistical groups

TRANSACTION DATA

This group of data includes the following:
• Open Accounts Receivable
• Open Accounts Payable
• Open Purchase Orders
• Open Work/Production Orders
• Inventory, Lots

There are several approaches on managing the open orders. Depending on the volume of data and other internal factors, you may choose to handle these transactions in one of the following ways.

Accounts Receivable
1. Migrate open receivables to the new ERP application, or
2. Receive payments in existing system and post adjusting entries in the new ERP application

Accounts Payable
1. Migrate open payables to the new ERP application, or
2. Process open payables in existing system. Hold checks until normal mailing time. Do not enter new vendor invoices in existing system if they will not be paid from that system.

Sales / Production / Purchase Orders

1. Migrate open orders to the new ERP application, or
2. Run a report of open orders. Manually enter the orders into the new ERP application.

HISTORICAL DATA

Historical data can be dealt with in several different ways.
1. Migrate part of the historical data based on transaction date
2. Keep all of the historical data in your existing application
3. Create a data mart; export all historical data to the data mart and turn off the old application

The benefits to the last approach greatly outweigh the other options. You do not need to keep your existing application up and running to access historical data. This eliminates the requirement to maintain the system and be concerned about user access to the data.

OTHER CONSIDERATIONS

1. Use the training and testing phases of the project to determine the gaps between the old and new applications; identify and validate proposed solutions
2. Implementation of a new ERP application is often the time organizations choose to make changes that have been under consideration for a while or changes where everyone has been waiting for the ‘right time’. Now is the time to evaluate your options.
3. The best way to get a head start on configuring your new production company, which results in a more efficient go-live conversion, is to set up a master company in parallel with the test environment(s).

Some of the ways you can use this master company are:
• As decisions are made on how you want ‘new’ data set-up, populate the master company
• Export the configuration from this master company into pilot test companies
• Validate and test assumptions on the way this master company is configured
• Import the configuration of the master company into your new production company after you have completed the validation and as part of your go-live data migration

Baan Adminstration Interview Questions


DEM Management

1)      How do we give access of one session in one company and restrict the access in another company. Both companies are on same server and on same package combination. (Medium)

2)      In Baan IV, can you explain the steps in assigning a session to a user? (Simple)

3)      One user is present on one enterprise model of a company, with roles and authorization defined. Now I need to give permission of one session on another company. Both companies are on same server and on same package combination. Then do we use Generate User Dialog or Generate User or both? (Medium)

 

 Job Management

1)      I have defined a job which has 5 sessions (Process & Print Sessions) setup in the Job and it is scheduled to run at 9pm everyday. Now I have a requirement wherein I have another Job which should be executed only after successful execution of the first Job. The second job is setup such that it will run every day at 1am. If the first job gets completed before 1am then still the second job has to schedule at 1 am, but if first job gets completed after 1 am then the second job will be scheduled immediately after that. (Complex)

2)      I have a shell script with arguments which has to be executed in a Job. How do we achieve that? (Simple)

 

Text Management

1)      I want to give a text editor (notepad) authorization to a user. How do I give that? Tell me the steps. (Simple)

2)      I maintained a text in English Language in PO Text, in case of multi language company whether this same text would be visible to the user who is linked to other language say Deush, Spanish etc. (Simple)

Audit Management

1)      What does error 254 Signify? What are the various reasons why this error occurs and what is the probable solution for this? (Medium)

2)      Can we activate audit trail for individual table fields? If Yes, then how do we do it in ERP LN and Baan IV? (Simple)

3)      How will you setup an audit server and how will you add table in audit? (Medium)

 

Electronic Data Interchange

1)      Where is EDI Used.? Can we generate Sales Order in Selling company, if we have the Purchase Order? Where are the Conversion maintained? (Simple)

2)      Can you explain steps in setting up EDI message? (Medium)

3)      I have Purchasing Company on One Server and Sales Company on another server. Will I be able to use EDI to generate Purchase Order in Receiving Company? What if the companies are on different package combination? (Complex)

 

Exchange Scheme

1)   What is the significance of Exchange Scheme? When is it used? (Simple)

2)   I have to load an item data in to item master table, what are the steps to be followed to set up the exchange scheme? (Medium)

3)      I have an Excel file with Item list and Item Groups, I use exchange scheme to upload the Item group in Item Master Table. I want to know which records are not updated, since it is not present in the item master. Is it possible to have a list of records which are skipped in the exchange scheme? (Complex)

4)      What is the difference between Overwrite and Update option in Table Relation? What is the significance of Exchange for Multisites?

 

 

Re-Licensing Baan after Hardware Upgrade


The Organization decides to upgrade their Hardware from time to time, so that they have the latest configuration server. So to get the Baan Application up and running, once Hardware has been upgraded and all requisite files have been copied from earlier harddisk to the new system hard disk, we need to get in to re-licensing of Baan.

Follow the below mentioned steps for re-licensing baan after hardware upgrade

Start the machine with the original disks installed

1)  Log in as root and remove the original .brand6.1 file

cd /.brand, rm .brand*

2)     Edit $BSE/rc.start to comment out the part which tries to start the license daemon.

3)     Run $BSE/etc/rc.stop then run $BSE/etc/rc.start.

Baan will start in Demo mode (will run without a license daemon for 14     days).

4)   Enter Baan as the root user.

5)     Traverse to  the session Tools | Software Installation | Print Requested System Information.  The password for this session Yi984.

6)     Send across this report to the Product Company – Infor.

7)  Theywill generate a new validation key and fax it to you along with detailed instructions on branding your system.

8)  Follow the instructions, apply the valid keys and validate.

Key Points Consideration for Baan Installation


Following are the expected points which one needs to think and plan over before carrying out any Baan Fresh Installation.

1. BaaN Server Selection

Here we need to note the following

Application – 5GB approx (application is of 2 GB only. But patches in future, localizations requirement may vary the size of the application.

Data  – Varies w.r.t the database used and the no of transactions

O.S: Unix / Win NT/2000/2003

CPU – Depends on the no. of users or database

Databases – Triton (TBase), Oracle, SQL Server, Informix, Sybase, Unify, etc

Porting Set – Should be selected appropriately. Acts as an interface between O.S and Baan Application

A porting set is a collection of objects such as bshell, database drivers, printer daemon etc., which can only run on the machines/operating systems for which they have been compiled/ported.

2. Baan Clients

Windows / Linux

3.    Application Overview:

Package Combination

Different Standard Package Combination available like B40Sc4, B40Lin3, etc & User defined like B40Ldev, B40Ltest, etc.

VRC (Version Release Customer) Structure

Different VRCs available like B40_c4, B40L_c4_in3, B40L_c4_sch1, etc & User defined like B40L_c4_dev, B40L_c4_test, etc.

PVRC – Package VRC

Packages like tc, td, ti are linked to the VRC and VRC is linked with the Package Combinations and then company is linked to the package combination which is then linked to the user.. and user data is stored company wise

Package VRCs are derived from the upper level VRC except for the standard B40_c4 VRC which is at the root level.

Directory – $BSE is the directory where the full Baan Application is available

Unix : /usr4/Baan4c4/bse (again this is user defined so it can be as per user)

Windows : e:\Baan or user defined.

4.  Data Dictionary 

This contains the data definition i.e tables structures, domains defined for that Package Combination. IT is usually stored in $BSE/../dict directory. But also it can be user defined.

5. Tables 

The data stored is in tables w.r.t company no. these tables if stored in tbase then will have two types of files like ttccom020200.bdt (Table data) and ttcom020200.bid (Index data) for table tccom020. If any RDBMS is used the the data is stored in the path defined w.r.t the datbase. I.e chunks for Informix , tablespaces for ORACLE …etc. For tbase the directory is usually $BSE/../tables/company no/ package combination.

6. Backup

OS backup in Unix will be w.r.t tar command or vdump . In case of Windows(NT/2000/2003) the backup utility or copy to tape or CD is the proper way. Data backup can be taken like sequential dumps of table thru BaaN and then copy it to tape/CD or database level backup which can be RDBMS specific.

7. Restore

Data & Application Data restoring can be thru sequential dumps which can be done thru Create table from seq dumps in BaaN. If RDBMS backup take the RDBMS restore to be considered. Pl note that backup restoration is always dependant on the backup type and method. So its always better to know how the backup was taken if required to restore.

8. OS User Addition

In Unix admintool and in NT/2000/2003 thru Adminsitrative tools /user addition. Pl. note the users created in unix should belong to bsp (125 group ID)group and in NT/2000/2003 the user should belong to baan group and the user must be present on the server so as to have access from the clients machine in case of NT/2000/2003. If the client user does not exist on the server then no BaaN access can be done. 

9. Database Space Management

Regarding space regularly space availability and usage to be monitored. This can be done thru several utilities of the RDBMs and if tbase used then monitoring the space of the table partition using df –k should be used.

10.  H/W – S/W 

different hardware and software’s needed for BaaN client. Client for BaaN is regularly available on BaaN site and should be regularly updated.

11. Tools 

Sessions , forms, menus, reports , session scripts, report scripts. Standard application other than tools and Developments are available in $BSE/application directory. Tools which are standard are available in $BSE/tools directory only. No modification can be done to tools as it forms a part of standard. Also standard BaaN application cannot be modified. But for user developments and customizations it is made available in higher VRC for modification.