Session ID Best Practices for your EI Tools Daniel R. Miller Senior Consultant Guide Technologies, LLC 1
Best Practice A best practice is a method or technique that has been generally accepted as superior to any alternatives because it produces results that are superior to those achieved by other means or because it has become a standard way of doing A key strategic talent required when applying best practice to organizations is the ability to balance the unique qualities of an organization with the practices that it has in common with others. 2
Be a Lazy Programmer A lazy programmer will avoid writing monotonous, repetitive code thus avoiding redundancy, the enemy of software maintenance and flexible refactoring. A lazy programmer must be incredibly unlazy when it comes how to learning how to stay lazy. Which software tools make work easier, which approaches avoid redundancy and make maintenance and refactoring easy. 3
Edgar F. Codd English computer scientist Worked for IBM Did not invent MAPICS Defined the relational database Codd s twelve rules Coined the term OLAP Online analytical processing Introduced the concept of normalization 4
Database Normalization Rules 1NF First normal form 2NF Second normal form 3NF Third normal form BCNF Boyce-Codd normal form 4NF Forth normal form The process of organizing data to minimize data redundancy (data duplication), which in turn ensures data consistency A normalized database avoids Update anomalies Insertion anomalies Deletion anomalies If databases are designed too loosely, and initial errors are allowed to fester, the results become harder and harder to refactor until eventually they constitute a database time bomb. 5
Data Integrity Data integrity is the overall completeness, accuracy and consistency of data. This can be indicated by the absence of alteration between two instances or between two updates of a data record, meaning data is intact and unchanged. Data integrity is usually imposed during the database design phase through the use of standard procedures and rules. Data integrity can be maintained through the use of various error-checking methods and validation procedures. 6
Editing Options Boolean Discrete domain Valid date Required value Specific value Range of values Customer logic Referential check Code file Integrator is no place to be a rebel Do not build Integrator objects over a file that already has an XA object built over it to bypass editing 7
File / Table Design A unique key is required System assigned key Use token if no key field (AMVLN) File / Table name Maximum 8 long Format name Maximum 8 long Field /Column name Maximum 6 long Unique name Two character prefix, suffix Text objects Text sequence - numeric Text content - display width Text type - advance Code file Value Alias Secondary object Same key as primary Unique field names 8
Metadata Data about data Object name User oriented Icon Security model Attribute name Mixed case Item not Item number, Customer not Customer number Rename user fields Date, time Mixed case Suppress thousands separator Boolean Yes, No Usage Maintain, Display, Hidden 9
User Definitions (Make it pretty) Views Subsets Sorts Schemes Preferences Templates Application cards Workspaces Overviews Cards Attribute List Compound Tabbed Overview Graph Card files 10
User Exits Load buffer from transaction Required maintenance K Load buffer from database Required maintenance M Cancel processing Clean-up after cancel F Apply defaults to buffer Custom default Q Generate transaction string Header-detail H Load buffer for related object No customization K Edit buffer Custom edit N Update database from buffer Required maintenance O Log maintenance history No customization P Post processing Header-detail T 11
User Exits Required for maintenance Custom code can be added to Update database Custom defaults and edits Most custom code is done here Header and detail support These user exits support complex objects Log maintenance history Turn on maintenance history flag in maintenance class Edit buffer user exit Message file Apply defaults to buffer Executed three times Post processing After complex object created Submitted to job queue Learn how to debug a user exit program Start Service Job (STRSRVJOB) 12
Relationships Create them, create many of them If you have an item number in your object, create relationship to Enterprise Item Cardinality One-to-one, One-to-many, Many-to-one One-to-many Review (fix) relationship name Relationship name appears in Display drop-down menu Relationship name appears as tip-text for Icon Many-to-one User Referential check edit to enforce valid data entry 13
Relationship Actions Review relationship actions Should user have access to relationship - if not hide If default icon, do not include on toolbar One-to-many Many-to-0ne 14
Host Program Actions Simple program call No editing No date fields No prompting No drop downs 15
Business Object Transaction Transaction Broker Maintenance Full editing Date fields Relationships (prompting) Drop downs 16
Host Job / Host Print Process multiple records Supports subsets Prompt for values Edits Lookups Drop downs Runs in batch Appears in Host Jobs / Host Print card 17
Battle of Workspace Customize object Title, Icon Restricted subset Initial subset, view, sort Toolbar Menu, toolbar Open action Work Bench Organize multiple windows Make them talk to each other Not supported in Netlink XA preferred UI Consider using list cards and compound cards 18
Header / Detail Relations Complex objects Customer order Purchase order Manufacturing order Bill of Material Automatically populate detail key fields No detail without header Deleting header deletes detail 19
Do we have some time left? Update XA files Do not programmatically update XA files Update XA objects with System- Link Development Develop integrator objects in test environment Promote to production using Export/Import of Business Objects This will prevent renumbering of Business Object Domain names 20
Best Practices Be a lazy programmer Pursue knowledge to become lazier Good, normalized database design Data integrity (Edit it) Meta data Make it pretty (User definitions) User exits Actions, transactions, host jobs Workspace vs. Workbench Header / Detail 21
RECOMMENDED SESSIONS: (245) - Debugging of Client Sessions and Triggers Tuesday, 4:00 pm (502) - Technical Introduction to Enterprise Integrator Monday, 2:45 pm (503) - What s New with Enterprise Integrator/Roundtable Tuesday, 1:15 pm 22
1. Go to Agenda Builder 2. Click on the appropriate session 3. Scroll down to rate this session 4. Rate session using the 1-5 scale 23
Thank you! 24