Index/Key Insert Design Question

Assume I am dealing with a customer object, and its properties which I'm attempting to insert into the database; one table called customer, with a key/index called id which is a unique number for each customer. As I understand it, this is a typical scenerio. Since the id has to be unique, when a customer inserts a new id, it has to be generated. Most of the world, to my knowlegde, does this with a trigger, ala Oracle. Unfortunately, it is my goal to do this without a trigger, allowing database independence with less setup time. This would then have to be done in code and not with the database. I can't think of, or know of anythying associated with JDBC that will directly help me; for example, getNewId(tablename).
The best solution I can think of is to have another table holding the last id. My dao would read this id and calucate ids based on the id read, along the way keeping the last id in the table in sync.
To me, this seems like a hack, but it works. Anybody know of a better non-trigger based and database independant solution? Anybody see the same issues.
Thanks in advance,
Brunky
P.S. Pardom me if I cross post this. There are a couple of groups I would be very interested in hearing their views concerning this topic.

Thanks for your response GurnB.
My understanding is that sequence is in actuality a trigger, if anybody can confirm or dispell this, I'd like to know.
Sequence and Max aren't what I'm looking for because they are Oracle specific. The goal here is to write something database independant; specifically, so developers could use, MS Access(excuse me while I hurl) or mysql( both have potential threading/blocking issues, I know), on their workstations, and run the production app using oracle, with minimal, or no, changes or configuration, except maybe the datasource.
To do this in code, I was thinking providing a static(synchronized) class, maybe a stateless ejb and/or an entity bean; some type of service that would provide the number uniquely to all applications.
Although, when I think about this solution, I crindge and feel all icky inside. Has anyone come up with or seen a less icky cross db solution?
Thanks in advance,
Brunky

Similar Messages

  • Design question: Scheduling a Variable-timeslot Resource

    I originally posted this in general java programming, because this seemed like a more high-level design descussion. But now I see some class design questions. Please excuse me if this thread does not belong here (this is my first time using the forum, save answering a couple questions).
    Forum,
    I am having trouble determining a data structure and applicable algorithm (actually, even more general than the data structure -- the general design to use) for holding a modifiable (but more heavily read/queried than updated), variable-timeslot schedule for a given resource. Here's the situation:
    Let's, for explanation purposes, say we're scheduling a school. The school has many resources. A resource is anything that can be reserved for a given event: classroom, gym, basketball, teacher, janitor, etc.
    Ok, so maybe the school deal isn't the best example. Let's assume, for the sake of explanation, that classes can be any amount of time in length: 50 minutes, 127 minutes, 4 hours, 3 seconds, etc.
    Now, the school has a base operation schedule, e.g. they're open from 8am to 5pm MTWRF and 10am to 2pm on saturday and sunday. Events in the school can only occur during these times, obviously.
    Then, each resource has its own base operation schedule, e.g. the gym is open from noon to 5pm MTWRF and noon to 2pm on sat. and sun. The default base operation schedule for any resource is the school which "owns" the resource.
    But then there are exceptions to the base operation schedule. The school (and therefore all its resources) are closed on holidays. The gym is closed on the third friday of every month for maintenance, or something like that. There are also exceptions to the available schedule due to reservations. I've implemented reservations as exceptions with a different status code to simplify things a little bit: because the basic idea is that an exception is either an addition to or removal from the scheduleable times of that resource. Each exception (reservation, closed for maintenance, etc) can be an (effectively) unrestricted amount of time.
    Ok, enough set up. Somehow I need to be able to "flatten" all this information into a schedule that I can display to the user, query against, and update.
    The issue is complicated more by recurring events, but I think I have that handled already and can make a recurring event be transparent from the application point of view. I just need to figure out how to represent this.
    This is my current idea, and I don't like it at all:
    A TimeSlot object, holding a beginning date and ending date. A data structure that holds list of TimeSlot objects in order by date. I'd probably also hold an index of some sort that maps some constant span of time to a general area in the data structure where times around there can be found, so I avoid O(n) time searching for a given time to find whether or not it is open.
    I don't like this idea, because it requires me to call getBeginningDate() and getEndDate() for every single time slot I search.
    Anyone have any ideas?

    If I am correct, your requirement is to display a schedule, showing the occupancy of a resource (open/closed/used/free and other kind of information) on a time line.
    I do not say that your design is incorrect. What I state below is strictly my views and should be treated that way.
    I would not go by time-slot, instead, I would go by resource, for instance the gym, the class rooms (identified accordingly), the swimming pool etc. are all resources. Therefore (for the requirements you have specified), I would create a class, lets say "Resource" to represent all the resources. I would recommend two attributes at this stage ("name" & "identifier").
    The primary attribute of interest in this case would be a date (starting at 00:00hrs and ending at 24:00hrs.), a span of 24hrs broken to the smallest unit of a minute (seconds really are not very practical here).
    I would next encapsulate the availability factor, which represents the concept of availability in a class, for instance "AvailabilityStatus". The recommended attributes would be "date" and "status".
    You have mentioned different status, for instance, available, booked, closed, under-maintainance etc. Each of these is a category. Let us say, numbered from 0 to n (where n<128).
    The "date" attribute could be a java.util.Date object, representing a date. The "status", is byte array of 1440 elements (one element for each minute of the day). Each element of the byte array is populated by the number designation of the status (i.e, 0,1,2...n etc.), where the numbers represent the status of the minute.
    The "Resource" class would carry an attribute of "resourceStatus", an ordered vector of "ResourceStatus" objects.
    The object (all the objects) could be populated manually at any time, or the entire process could be automated (that is a separate area).
    The problem of representation is over. You could add any number of resources as well as any number of status categories.
    This is a simple solution, I do not address the issues of querying this information and rendering the actual schedule, which I believe is straight forward enough.
    It is recognized that there are scope for optimizations/design rationalization here, however, this is a simple and effective enough solution.
    regards
    [email protected]

  • Database growth following index key compression in Oracle 11g

    Hi,
    We have recently implemented index key compression in our sap R3 environments, but unexpectedly this has not resulted in any reduction of index growth rates.
    What I mean by this is that while the indexes have compressed on average 3 fold (over the entire DB), we are not seeing this with the DB growth going forward.
    ie We were experiencing ~15GB/month growth in our database prior to compression, but this figure doesnt seem to have changed much in the 2-3months that we have implemented in our production environments.
    Our trial with ACO compression seemed to yield reduction of table growth rates that corresponded to the compression ratio (ie table data growth rates dropped to a third after compression), but we havent seen this with index compression.
    Does anyone know if a rebuild with index key compression  will it compress any future records inserted into the tables once compression is enabled (as I assumed) or does it only compress whats there already?
    Cheers
    Theo

    Hello Theo,
    Does anyone know if a rebuild with index key compression will it compress any future records inserted into the tables once compression is enabled (as I assumed) or does it only compress whats there already?
    I wrote a blog about index key compression internals long time ago ([Oracle] Index key compression), but now i noticed that one important statement is missing. Yes future entries are compressed too - index key compression is a "live compression" feature.
    We were experiencing ~15GB/month growth in our database prior to compression, but this figure doesnt seem to have changed much in the 2-3months that we have implemented in our production environments.
    Do you mean that your DB size still increases ~15GB per month overall or just the index segments? Depending on the segment type growth - maybe indexes are only a small part of your system at all.
    If you have enabled compression and perform a reorg of them, you can run into one-time effects like 50/50 block splits due to fully packed blocks, etc. It also depends on the way the data is inserted/updated and which indexes are compressed.
    Regards
    Stefan

  • Maximum Number fields in a secondary index key

    Hello All,
    We created a secondary index on BSIS which we had to drop as system was hung up. My question is how many fileds SAP recommends in a secondary index key? Ours had 6 keys including mandt.
    Thanks

    Hi Sameer,
    There is no real specification in number of fields for an index as fas as i know. Definitely 6 fields is allowed for a secondary
    index.But it really matters with the number of secondary indices. So dont create too many secondary index for a single table.
    Try to use other optimization techniques in the programming instead of creating secondary index.
    //Kothand

  • How to avoid primary key insert error and pipe those would-be error rows to a separate table?

    Hi All,
    Question: How can I ID duplicate values in a particular column before generating a "Violation of PRIMARY KEY constraint" error?
    Background: this SSIS package pulls rows from a remote server table for an insert to a local table.  The local table is truncated in step 1 of this package.  One of the source columns, "ProductName," is a varchar(50) NOT NULL, with no
    constraints at all.  In the destination table, that column has a primary key constraint.  Even so, we don't expect duplicate primary key inserts due to the source data query.  Nevertheless, I've been
    tasked with identifying any duplicate ProductName values that may try to get inserted, piping them all to a "DuplicateInsertAttempt_ProductName" table, and sending an email to the interested parties.  Since I have no way of knowing which row
    should be imported and which should not, I assume the best method is to pipe all rows with a duplicate ProductName out so somebody else can determine which is right and which is wrong, at which point we'll need to improve the query of the source table.
    What's the proper way to do this?  I assume the "DuplicateInsertAttempt_ProductName" table needs identical schema to the import target table, but without any constraints.  I also assume I must ID the duplicate values before attempting
    the import so that no error is generated, but I'm not sure how to do this.
    Any help would be greatly appreciated.
    Thanks,
    Eric

    agree about preventing a dupe or other error on some inconsequential dimension from killing a data mart load that takes a few hrs to run and is an important reporting system.
    I looked into using the error output before, but i think it came up a bit short...
    This is going from memory from a few years ago, but the columnid that comes out of the error data flow is an internal id for the column in the buffer that can't be easily used to get the column name.
    No 'in flight'/in-process way exists to get the column name via something like thisbuffer.column[columnid].name unfortunately
    In theory, the only way to get the column name was to initialise another version of the package (via loading the .dtsx xml) using the SMO .net libraries. I say in theory because I stopped considering it an option at that point
    And the error code is fairly generic as well if i remember correctly. It's not the error that comes out of the db (Violation of UNIQUE KEY constraint 'x'. Cannot insert duplicate key in object 'dbo.y'. The duplicate key value is (y).)  It's a generic
    'insert failed'/'a constraint failed' type msg.
    I usually leave the default ssis logging to handle all errors (and log them in the sysssislog table), and then I explicitly handle specific exceptions like dupes that I don't want to fail package/parent on error
    Jakub @ Adelaide, Australia Blog

  • RPD Design Question

    HI All,
    i have a RPD design question on a requirement i am trying to do:
    i have a single oracle table loaded via a excel sheet ( different connection pool) called Emp Details (.
    I have another subject area which has Emp dims/Hierarchies/facts etc.
    i am joining the Emp Details (single table) to an alias table of Worker Details(Different Subject Area) by Employee ID Key. This alias of worker details is joined to different Facts and those facts are joined to different dims like manager hierarchy/Time Dim etc.
    Then in BMM layer, i added the Worker Detail Alias as an LTS under the Worker DIM which is connected to all facts. When i try to create the report in answers, the data is not being quantified by the Time Dim (Fiscal Qtr..etc). It repeats the same numbers for each fiscal qtr.
    Not sure where my design is failing.  what i am trying to do is do a using the alias table as a bridge to connect the external signle table to the other tables in the Emp Subject Area and then treating that Join as a dim. Please guide me on how i can make this work.
    Thanks

    Join the Emp Details to the fact.
    in BMM 2 options:
    1) You may go woth separate logical table for Emp Details
    2) As LTS to existing Worker Detail logical table by column mapping, it might need hierarchy changes and take care of consistency
    If helps mark
    ~ http://cool-bi.com

  • Design question - how to update a list?

    Hi there,
    design question: I have a table with the following columns:
    1. id
    2. ref_number
    3. ticket_number
    example:
    1 60 234
    2 60 256
    3 60 664
    4 60 237
    consider this - user can see on the screen the list of all tickets associated with ref_num (in the example above everything associated with 60)
    now I would like to UPDATE the list. The user might have added more to the list or, alternatively, remove from the list.
    The easiest thing to do is to DELETE all the list with ref_number=60 and then do INSERT
    Q: is this ok? if not, how would you update such a list if I don't have the id's of every row?
    thanks

    If you want to write code that's easier for you to write, you do whatever the hell you want.
    If you want to write good code, retain the ID.

  • Install failed invalid index key

    I tried to install Leopard and the install failed and then my MacBook Pro would not restart. It would give the start up tone, then would just sit. I tried the disk utility and it would not repair permissions or the disk but it would show some problems including an "invaild index key". I went to the Apple Store and bought DiskWarrior. I asked one of the genius's about the problem and he thought I would have to reformat my hard drive. I went home and ran DiskWarrior and it fixed everything. I then installed Leopard with no more problems.
    I hope this helps somebody else.

    Perseverance pays off. Great work. Sometimes even a "genius" is not correct, and once again, DiskWarrior comes through.
    You might mark this question as answered by yourself to put it to bed.
    Message was edited by: nerowolfe

  • Inserting a question in to an existing quiz

    Hi,
    We're using version 6.1 of Presenter in PowerPoint 2000 and
    2003. We're trying to insert a question in to the middle of an
    existing quiz. When I add a question in the quiz manager the newly
    inserted question overwrites one of my my existing question
    (slides), followed by a friendly error message dialog stating an
    unexpected error occured. The question never shows up in the quiz
    manager, just one of my existing questions gets splatted.
    Looks like there's some sort of corruption occuring in the
    quiz that I can't fix without rewriting the entire quiz.
    Does anyone know how to work around this problem?
    Thanks in advance
    Phil

    I fixed this problem by doing two things. Firstly I deleted
    the summary slide at the end of the quiz. This stopped the error
    dialog appearing, but the new slides I was trying to insert were
    still overwriting an existing question. I then deleted the
    questions that were being overwritten, and all subsequent inserted
    questions worked correctly. Seems like something got corrupted in
    the question slide.
    The quiz result summary page gets regenerated so there's no
    problem with deleting it if things get corrupted behind the
    scenes.

  • LDAP design question for multiple sites

    LDAP design question for multiple sites
    I'm planning to implement the Sun Java System Directory Server 5.2 2005Q1 for replacing the NIS.
    Currently we have 3 sites with different NIS domains.
    Since the NFS over the WAN connection is very unreliable, I would like to implement as follows:
    1. 3 LDAP servers + replica for each sites.
    2. Single username and password for every end user cross those 3 sites.
    3. Different auto_master, auto_home and auto_local maps for three sites. So when user login to different site, the password is the same but the home directory is different (local).
    So the questions are
    1. Should I need to have 3 domains for LDAP?
    2. If yes for question 1, then how can I keep the username password sync for three domains? If no for question 1, then what is the DIT (Directory Infrastructure Tree) or directory structure I should use?
    3. How to make auto map work on LDAP as well as mount local home directory?
    I really appreciate that some LDAP experta can light me up on this project.

    Thanks for your information.
    My current environment has 3 sites with 3 different NIS domainname: SiteA: A.com, SiteB:B.A.com, SiteC:C.A.com (A.com is our company domainname).
    So everytime I add a new user account and I need to create on three NIS domains separately. Also, the password is out of sync if user change the password on one site.
    I would like to migrate NIS to LDAP.
    I want to have single username and password for each user on 3 sites. However, the home directory is on local NFS filer.
    Say for userA, his home directory is /user/userA in passwd file/map. On location X, his home directory will mount FilerX:/vol/user/userA,
    On location Y, userA's home directory will mount FilerY:/vol/user/userA.
    So the mount drive is determined by auto_user map in NIS.
    In other words, there will be 3 different auto_user maps in 3 different LDAP servers.
    So userA login hostX in location X will mount home directory on local FilerX, and login hostY in location Y will mount home directory on local FilerY.
    But the username and password will be the same on three sites.
    That'd my goal.
    Some LDAP expert suggest me the MMR (Multiple-Master-Replication). But I still no quite sure how to do MMR.
    It would be appreciated if some LDAP guru can give me some guideline at start point.
    Best wishes

  • Design question for database connection in multithreaded socket-server

    Dear community,
    I am programming a multithreaded socket server. The server creates a new thread for each connection.
    The threads and several objects witch are instanced by each thread have to access database-connectivity. Therefore I implemented factory class which administer database connection in a pool. At this point I have a design question.
    How should I access the connections from the threads? There are two options:
    a) Should I implement in my server class a new method like "getDatabaseConnection" which calls the factory class and returns a pooled connection to the database? In this case each object has to know the server-object and have to call this method in order to get a database connection. That could become very complex as I have to safe a instance of the server object in each object ...
    b) Should I develop a static method in my factory class so that each thread could get a database connection by calling the static method of the factory?
    Thank you very much for your answer!
    Kind regards,
    Dak
    Message was edited by:
    dakger

    So your suggestion is to use a static method from a
    central class. But those static-methods are not realy
    object oriented, are they?There's only one static method, and that's getInstance
    If I use singleton pattern, I only create one
    instance of the database pooling class in order to
    cionfigure it (driver, access data to database and so
    on). The threads use than a static method of this
    class to get database connection?They use a static method to get the pool instance, getConnection is not static.
    Kaj

  • Unable to boot: Mac HD verify error - invalid index key

    Thank you in advance for your assistance. Please provide a detailed response. There is a lot I have to learn about computers.
    I allowed my macbook air mid-2013 os x 10.10.2 to update yesterday. I didn't look at what the update was (just saw the notification and clicked restart). It shut down, but did not restart. When I try to boot, the loading bar slows and tops at approx 35%, and the computer shuts off. I can boot in recovery mode. In disk utility, on the left side the first line is Macintosh HD. I can verify this without errors. The second line is also Macintosh HD written in lighter grey. I cannot interact with this until I click unlock and type in my password. After doing so, it is written in dark black, and I then have the option to verify disk. Doing so, I am given the follow error in the log:
    (in red) Invalid index key.
    (in red) Invalid record count.
    (in red) The volume Macintosh HD could not be verified completely.
    (in black) File system check exit code is 8.
    (in red) Error: This disk needs to be repaired. Click Repair Disk.
    A pop-up message says:
    Disk Utility stopped verifying "Macintosh HD"
    This disk needs to be repaired.
    I click an "ok" box, but the Repair Disk button is not available.
    At this point, I noticed the "mount" button is available. If I click this, it says:
    Mount Failed
    The disk "Macintosh HD" could not be mounted.
    Try running First Aid on the disk and then retry mounting.
    Of course, the only option in First Aid is Verify Disk, which I have already done.
    I also tried reinstalling OS X from safe mode, but the installation failed. I would ideally like to fix this without losing any data, but my computer is backed up so it won't be terrible if I have to start fresh. My SSD failed on my macbook air 2012, so I hope this isn't happening again.
    Thank you.

    Startup Issues - Resolve
    Startup Issues - Resolve (2)
    Startup Issues - Resolve (3)

  • SOA real-time design question

    Hi All,
    We are currently working with SOA Suite 11.1.1.4. I have a SOA application requirement to receive real-time feed for six data tables from an external third party. The implementation consists of five one-way operations in the WSDL to populate the six database tables.
    I have a design question. The organization plans to use this data across various departments which requires to replicate or supply the data to other internal databases.
    In my understanding there are two options
    1) Within the SOA application fork the data hitting the web-service to different databases.
    My concern with this approach is what if organizations keep coming with such requests and I keep forking and supplying multiple internal databases with the same data. This feed has to be real-time, too much forking with impact the performance and create unwanted dependencies for this critical link for data supply.2) I could tell other internal projects to get the data from the populated main database.
    My concern here is that firstly the data is pushed into this database flat without any constraints and it is difficult to query to get specific data. This design has been purposely put in place to facilitate real-time performance.Also asking every internal projects to get data from main database will affect its performance.
    Please suggest which approach should I take (advantage/disadvantage. Apart from the above two solutions, is there any other recommended solution to mitigate the risks. This link between our organization and external party is somewhat like a lifeline for BAU, so certainly don't want to create more dependencies and overhead.
    Thanks

    I had tried implementing the JMS publisher/subscriber pattern before, unfortunately I experienced performance was not so good compared to the directly writing to the db adapter. I feel the organization SOA infrastructure is not setup correctly to cope with the number of messages coming through from external third party. Our current setup consists of three WebLogic Servers (Admin, SOA, BAM) all running on only 8GB physical RAM on one machine. Is there Oracle guideline for setting up infrastructure for a SOA application receiving roughly 600000 messages a day. I am using SOA 11.1.1.4. JMS publisher/subscriber pattern just does not cope and I see significant performance lag after few hours of running. The JMS server used was WebLogic JMS
    Thanks
    Edited by: user5108636 on Jun 13, 2011 4:19 PM
    Edited by: user5108636 on Jun 13, 2011 7:03 PM

  • Workflow design questions: FM vs WF to call FM

    Hereu2019s a couple of workflow design questions.
    1. We have Workitem 123 that allow user to navigate to a custom transaction TX1. User can make changes in TX1.  At save or at user command of TX1, the program will call a FM (FM1) to delete WI 123 and create a new WI to send to a different agent. 
    Since Workitem 123 is still open and lock, the FM1 cannot delete it immediately, it has to use a DO loop to check if the Workitem 123 is dequeued before performing the WI delete.
    Alternative: instead of calling the FM1, the program can raise an event which calls a new workflow, which has 1 step/task/new method which call the FM1.  Even with this alternative, the Workitem 123 can still be locked when the new workflowu2019s task/method calls the FM1.
    I do not like the alternative, which calls the same FM1 indirectly via a new workflow/step/task/method.
    2. When an application object changes, the user exit will call a FMx which is related to workflow.  The ABAP developer do not want to call the FMx directly, she wants to raise an event which call a workflow .. step .. task .. method .. FMx indirectly.  This way any commit that happens in the FMx will not affect the application objectu2019s COMMIT.
    My recommendation is to call the FMx using u2018in Update tasku2019 so that the FMx is only called after the COMMIT of the application object.
    Any recommendation?
    Amy

    Mike,
    Yes, in my first design, the TX can 1. raise a terminating event for the existing workitem/workflow and then 2. raise another event to call another workflow.   Both 1 and 2 will be in FM1. 
    Then the design question is: Should the FM1 be called from TX directly or should the TX raise an event to call a new workflow which has 1 step/task, which calls a method in the Business object, and the method calls the FM1?
    In my second design question, when an application object changes, the user exit will call a FMx which is related to workflow.  The ABAP developer do not want to call the FMx directly, she wants to raise an event which call a workflow, which has 1 step/task, which calls a method, which calls the FMx indirectly.  This way any commit that happens in the FMx will not affect the application objectu2019s COMMIT.
    My recommendation is either call the FMx using u2018in Update tasku2019 so that the FMx is only called after the COMMIT of the application object or raise an event to call a receiver FM (FMx).
    Thanks.
    Amy

  • Method design question...and passing object as parameter to webserice

    I am new to webservice...one design question
    i am writing a webservice to check whether a user is valid user or not. The users are categorized as Member, Admin and Professional. For each user type I have to hit different data source to verify.
    I can get this user type as parameter. What is the best approach to define the method?
    Having one single method �isValidUser � and all the client web service can always call this method and provide user type or should I define method for each type like isValidMember, isValidAdmin ?
    One more thing...in future the requirement may change for professional to have more required field in that case the parameter need to have more attribute. But on client side not much change if I have a single isValidUser method...all they have to do is pass additional values
    isValidUser(String username, String usertype, String[] userAttributes){
    if usertype == member
    call member code
    else if usertype = professional
    call professional code
    else if usertype = admin
    call admin code
    else
    throw error
    or
    isValidMember(String username, String[] userAttributes){
    call member code
    One last question, can the parameter be passed as object in web service like USER object.

    First of all, here is my code
    CREATE OR REPLACE
    TYPE USERCONTEXT AS OBJECT
    user_login varchar2,
    user_id integer,
    CONSTRUCTOR FUNCTION USERCONTEXT (
    P_LOGIN IN INTEGER
    P_ID_ID IN INTEGER
    ) RETURN SELF AS RESULT
    Either your type wont be compiled or this is not the real code..

Maybe you are looking for

  • Can t open Docs stored from pages in cloud

    I have been using pages on iPad 2 for sometime with no problems. Somehow this week during some back up the docs left iPad and I can find them in iCloud -storage and backup -manage storage but can t open them or restore to iPad or send. They are just

  • Just installed latest upgrade to iTunes and now it will not open

    Just installed the latest upgrade to itunes and now it will not open.  I have followed all of the troubleshooting steps i could find online and still nothing.  I have even restored my computer three times to 3 different restore points and that had no

  • RFC_ERROR_SYSTEM_FAILURE: Unable to interpret * as a number

    Hi, I facing a strange problem while executing a query in bex analyzer and WAD. When I open a query it is throwing error as 'Unable to interpret * as a number'. I am getting this error before the pop-up menu itself. But all other reports are working

  • ANN: Jan/Feb webinars (free) + live online training

    Free webinars: (no hype, no fluff, no nonsense; starting 10am PT) Effective PDF Bookmarks with FrameMaker-to-Acrobat TimeSavers, January 17 (1 hour) Single sourcing with FrameMaker: Tips & Tricks, January 23 (half-hour) RoboScreenCapture, January 24

  • Technicals​pecs for FHD display on 510 and 520

    Hello,     I am looking for the following information on the FHD displays on the T510 and T520.  I have been unable to find this out on the web or in these forum discussions.  1)  Type of panel:  S-IPS? 2)  Is there a layer of glass in the display as