Best way to document a mapping

Is there a way to print a mapping so it displays the operator, name and description in a graphical form showing the links? I'm after a way to document the mapping which makes use of the description information.
Any comments or suggestions on how to document the mapping (get an overview of what's being done) before looking at the detail of each operator.

If you mean "document it in a printable way" - I haven't found a really good way to do that yet. But if you mean "document it so that another developer can go through the map (in OWB) and understand it", I'd offer the following ideas:
1. When you create the mapping - it prompts for both map name and a description. This is the correct place to put mapping overview information.
2. p.s. #1 you can view from inside a map by right clicking on an empty spot within the map and choosing properties
3. Every operator in a mapping has a description box you can get by double clicking on it. I fill these out for operators where it's not readily apparent what's going on. For things where it's perfectly straight forward - don't bother. No sense wasting time / money on documenting something that is self-apparent.
4. Name the operators in a map something meaningful. SET_OPERATOR_1 means nothing to me. MINUS_FIND_CHANGED_RECORDS does.
5. Name ALL input groups in ALL operators. Yes, this will add a few minutes to the development time, but it pays back a thousand fold when you need to maintain the map. Using my example above, MINUS_FIND_CHANGED_RECORDS doesn't mean much if the groups within it are called INGRP1 and INGRP2. It's readily apparent what it means if the input groups are called INCOMING_DATA_FROM_SOURCE and EXISTING_DATA_IN_DW.
6. Don't allow coders to "hide" functionality within an operator. Here's what I mean - on a JOINER operator, you can code filters as part of the JOIN condition (for example:
TABLE1.COLUMN1 = TABLE2.COLUMN2 and TABLE1.COLUMN1 >= 1000
This makes it impossible for someone to easily see what the filter is. Just glancing at the map, you think all records are flowing through. Instead, force them to add a filter operator first (FILTER_REMOVE_SMALL_ACCOUNTS), and then ONLY have the join criteria in the JOINER.
7. Don't allow coders to hit the "Auto Layout" button. This takes a nice, easy to read map and re-locates everything into a mess.
8. Try not to allow any PL/SQL packages to be used. The goal of using OWB is to put everything in a graphical interface. Embedding PL/SQL processes just creates "black boxes". Obviously, I understand this isn't always possible....
Long and short, quite truthfully, a well constructed OWB map should be something you can look at and figure out high level what it's doing (with low level comments on any operators that need additional explaining) - with no other documentation needed. And at the point that a mapping becomes too complicated to follow this way...then the mapping is trying to do too much, and you need to simplify it and have a second mapping.
Obviously my opinions, but I've been doing OWB for a long time now...and I don't think there's any map I've written during that time that I (or even someone else) couldn't go back and EASILY figure out what it's doing - i.e. shouldn't need to spend 30 minutes to figure it out.
Hope this helps,
Scott

Similar Messages

  • Best way to input Apple Maps destination by voice?

    I just got Siri Eyes Free integration added to my car, so I am switching from Waze and Google Maps to Apple Maps so I can enter desitinations by voice by simply hitting  button in the steeting wheel.  However, so far I am very disappointed with Apple Maps.
    Using the Apple Maps to enter an address by voice has been very frustrating and unreliable.
    I have had Apple Maps send me to the wrong desitnation twice in the last week. I think I have figured out "why," but the "reason" is still not really an excuse that justifies the problem.
    I asked Siri for "Directions to Walmart in (city name)."  Siri responds with something like "I found a Walmart near (city name) on Green Street.  Is that the one you want?"  The Walmart was indeeed on that street, so I said. "Yes."
    Siri then said something roughly equivalent to "Routing to 123 Main Street."
    That makes no sense, It just said it found Walmart on Green Street.  It proceded to give directions to a desitination on the other side of town on "Main Street.".
    Today I asked for directions to a Comcast office and had the same expirience of it routing to a different address then the location of the business I asked for.. 
    I figured out that both times Apple Maps was routing me to the town center  of each town instead of the specific place I originally asked for.
    To "work around" this issue I found that I could rephrase the request in a more convulted way and it would get me to the correct directions.
    I tried asking Siri to "Find Walmart in (city name)" and then Siri found it asked if I want to call it or get directions.  I said "Get directions" and then Apple Maps actually routed to the correct destination instead of the city center.
    This needs to be fixed. It is clearly a bug.  The first time it happened I didn't notice it had said a different street name in the second response than it said when it asked "is that the one you want?" so I ended up driving several miles out of the way.  The workaround I found to bypass the issue is alot of unecessary work especially if you have to pick from a list of several possible locatons.
    Is there a more relaible and short way to make Apple Maps give correct directions to a place of business when it is entered via voice command?
    The second problem I had was when I submitted a residentual street address by voice.  This is is even more frustrating because it keeps trying to route to addresses in cities hundreds of miles a way.
    I will ask for directions to a street address in a neighboring town and Apple Maps will say it is going to route to an address with similar street name in a city that is no where near where I am instead of the street that is in the neighboring city.  Sometimes it will get it after repeating the command a second or a third or a fouth time.
    Sometimes it will work if I say the zip code instead of the city name and sometimes that doesn't work and it will say it can't find that street name in the city that belongs to that zip code, but the exact same command will work once I am within the city limits of that city.  This also needs to improve.
    Is there a specific way or format of entering street addresses and limiting it to the closest cities that contain streets with that name (or similar sounding street names) so that it does't try to route to a similar street name far away when there is also the same street name 5 or 10 miles from my current location?

    It would be nice if I could find something that
    would
    allow me create utf-8 Vietnamese characters directly
    from my keyboard
    Go to system preferences/international/input menu. Check the box for Vietnamese, plus the box for "show input menu in Finder." Plus the box for Keyboard Viewer. Then select the Vietnamese item in the "flag" menu at the top right of the Finder. Open TextEdit or other Unicode app (not AppleWorks or WordX) and type.
    Please let me know if some part of this does not work for you.
    PS To see which key does what, select Keyboard Viewer in the "flag" menu.
    PSS In case you are talking about inputting Vietnamese into web forums, you will need to use FireFox instead of Safari. Some such forums are (stupidly) run in Latin-1 instead of UTF-8, which means all input has to be in the form of html escape codes (numerical character references). FireFox does this but Safari does not.

  • What's the best way to create zoomable map for iOS by using Flash?

    We got a big location map that allows user to zoom in and out and do the panning but the image of the map is not very smooth when you  pan it in iOS (Android is ok) so is there a way to fix this problem?
    thanks!

    Which one you use might depend on the nature of the picture, like, a picture with lots of flat colored areas will come out a lot smaller as a lossless PNG than as a 100% JPEG. It would be interesting to try an 8 bit or 16 bit PNG, see if that makes it use less GPU memory. JPEG is usually 24 bit, and it or a 24 bit PNG should take the same amount of GPU memory.
    There is a chance that AIR is using 32 bit throughout on iOS, so it won't matter what the original image was if that's the case, just the width and height would determine the amount used.
    The smoothing setting is more about whether you're going to scale the image, which I guess you would be if you want the image to be scaled down. If you could have a smaller version that the user then touches to go immediately to the larger version, both could be set to have no smoothing, which may improve performance.

  • Best Way To Change Drive Mapping

    We have an L: Drive which currently points to
    \\server1\library
    We're moving that library to server2. The problem is that not everyone is mapped to L: because only a certain amount of people need it. Here's the issue....we don't know who has that mapping currently. How can we find out who has that mapping so that we
    can alter their logon script to point to the new location? I want to avoid having to disconnect the old drive mapping, and connect to the new on a PC by PC basis.

    Hi,
    consider having your loginscript to enumerate the connected mapping, and if a certain mapping is found, remove and reconnect it. something like:
    StrOldpath= "\\server1\library"
    StrnewPath= "\\server2\library"
    StrNewLetter= "V:"
    BlnPersistent= true
    On error resume next
    Set WshNetwork = WScript.CreateObject("WScript.Network")
    Set oDrives = WshNetwork.EnumNetworkDrives
    WScript.Echo "Network drive mappings:"
    For i = 0 to oDrives.Count - 1 Step 2
    ' WScript.Echo "Drive " & oDrives.Item(i) & " = " & oDrives.Item(i+1)
    if instr(1,oDrives.Item(i+1),StrOldpath,1)>0 then
    wscript.echo "ok"
    wshnetwork.RemoveNetworkDrive oDrives.Item(i), True, True
    wshnetwork.MapNetworkDrive StrNewLetter, StrnewPath, BlnPersistent
    end if
    Next
    MCP/MCSA/MCTS/MCITP

  • Best way to define mapping

    Hi
    I am evaluating Kodo in the prospect to migrate an existing application
    which uses a different JDO implementation and I am currently wondering
    what is the best way to define the mapping.
    So far, we have only used __.jdo__ metadata file with default values and
    some jdo extension. Then we delegate to the JDO implementation the task to
    define the schema and create it in the relationnal database.
    I am trying to reproduce the same process with KODO. But :
    - I am encountering some problem with the kodo extension.(but they are
    certainly some mistake from my part, I will introduce some at the end of
    this email)
    - I understand that kodo can use a mapping file.
    Here are my very first questions
    - Which method should I use. Only JDO extension, or mapping file.
    - if I use the mapping file, is it possible to only specify info for
    fields which are different than default behavior of kodo
    - If I use the jdo extension only how can I :
    specify the name of a table for a particular class?
    specify the name of a join table?
    Specify the name of a column for a particular java field?
    Is there a way to configure the mapping tool to use a custom naming
    convention for the whole project (for a particular package)?
    I already made a small evaluation of kodo 7 month ago with version 3.1.0,
    but with this version, there was a bug discussed in this forum which
    forced me to use the mapping file. But I had to define the complete
    mapping, which was a huge task especially when you have to repeat field
    mapping for sub classes. My first tests with kodo 3.2.2 works with jdo
    extension, but I still have some issues as you can see from my questions.
    Thank you for your answer.
    Nicolas GANDRIAU
    Environment description
    Kodo 3.2.2 evaluation
    MySQL 4.1.4-gamma'-Max'
    MySQL Connector/J 3.0.15-ga
    JDK 1.4.2_05 de Sun
    Linux Kernel 2.6.8 (Mandrake 10.1)
    IDEA 4.5.2

    Nicolas,
    You need to define which mapping file using the kodo.jdbc.MappingFactory
    extension. Note that with either format that the mapping information
    must be complete (or you can have Kodo create them for you):
    http://solarmetric.com/Software/Documentation/3.2.2/docs/ref_guide_conf_kodo.html#kodo.jdbc.MappingFactory
    The metadata mapping factory is more verbose though all of your
    information is in a single file. .mapping files are more consise but
    need to be deployed in addition to your .jdo metadata.
    Nicolas GANDRIAU wrote:
    Hi
    I am evaluating Kodo in the prospect to migrate an existing application
    which uses a different JDO implementation and I am currently wondering
    what is the best way to define the mapping.
    So far, we have only used __.jdo__ metadata file with default values and
    some jdo extension. Then we delegate to the JDO implementation the task to
    define the schema and create it in the relationnal database.
    I am trying to reproduce the same process with KODO. But :
    - I am encountering some problem with the kodo extension.(but they are
    certainly some mistake from my part, I will introduce some at the end of
    this email)
    - I understand that kodo can use a mapping file.
    Here are my very first questions
    - Which method should I use. Only JDO extension, or mapping file.
    - if I use the mapping file, is it possible to only specify info for
    fields which are different than default behavior of kodo
    - If I use the jdo extension only how can I :
    specify the name of a table for a particular class?
    specify the name of a join table?
    Specify the name of a column for a particular java field?
    Is there a way to configure the mapping tool to use a custom naming
    convention for the whole project (for a particular package)?
    I already made a small evaluation of kodo 7 month ago with version 3.1.0,
    but with this version, there was a bug discussed in this forum which
    forced me to use the mapping file. But I had to define the complete
    mapping, which was a huge task especially when you have to repeat field
    mapping for sub classes. My first tests with kodo 3.2.2 works with jdo
    extension, but I still have some issues as you can see from my questions.
    Thank you for your answer.
    Nicolas GANDRIAU
    Environment description
    Kodo 3.2.2 evaluation
    MySQL 4.1.4-gamma'-Max'
    MySQL Connector/J 3.0.15-ga
    JDK 1.4.2_05 de Sun
    Linux Kernel 2.6.8 (Mandrake 10.1)
    IDEA 4.5.2
    Steve Kim
    [email protected]
    SolarMetric Inc.
    http://www.solarmetric.com

  • Best way to store documents and images in a web application

    All,
    Which is the best way to store the documents, is it Oracle DB or file system or Virtual Directory Mapping in weblogic.
    We are working on a Internet based application into CRM domain, there is a requirement where user can upload and download the documents (.pdf, .xls, .doc etc). Right now we are storing images in the DB. Is it advisable to store all the docs in database and will it scale up in future.
    PS: There is no scope for using content server because of business constraints.
    Please let me know, thanks in advance.
    Regards
    Girish

    Best way to store depends entirely on requirements.
    Why store it in the database when it for example is purely static images (e.g. used as part of the web GUI)? Instead that can be served up directly by a web server - which is specifically designed for this.
    If it is more than just an image, but include tags (non spatial data attributes), requires transaction control (e.g. updating an old passport/id photo with a newer one), auditing, filtering/searching and ordering, requires backup, needs security and access controls, and so on - than that is most definitely a database function.
    So the issue is not what the binary file is or contains - an image or pdf or something else. It depends entirely on how it is to be used and what the business requirements are in this respect.

  • What is the best way to work with Word documents in The InDesign CS4???

    I work in Microsoft Word 2007 and all my documents have *.doc format.
    What is the best way to work with Word documents in InDesign CS4???
    David Blatner says to avoid copying and pasting text from Word instead of placing it (Ctrl+D).
    How about pasting RTF or Text Document???
    I want to make book's layout in ID CS4 and its main feature is that there is the left page with text and the right - with graphics.
    So, as I understand to place the text on each page I must create for example 70 Word documents and place each item on 70 left pages???
    It loks like wasting time. I sthere another way of making such layout???  What kind????

    It's best to place any text.
    You can have all of your text in one file and use auto-flow to add threaded text frames and pages as required (Hold down the Shift key when you click the loaded text cursor), but it's a little non-standard to have the thread only on one side of the spread from the auto-flow perspective, so you'll have to set up properly.
    This is one case where a master text frame will work to your advantage. On your master page spread, add a text frame to the left page, but not to the right (or at least not threaded to one on the right -- for some other project you might actually want two independent text threads). Hold the loaded cursor over a frame on the left side of a document page and auto-flow. ID will add new spreads as necessary, but only put the text on the left side.
    Peter

  • I just bought a new Mac and I want to transfer some data (not all) from my old Mac.  Basically, I want to move my itunes library, iphoto library, and a few documents.  I have not even turned on my new Mac yet.  Is the best way by an external hard drive?

    I just bought a new Mac and I want to transfer some data (not all) from my old Mac.  Basically, I want to move my itunes library, iphoto library, and a few documents.  I have not even turned on my new Mac yet.  Is the best way by an external hard drive?

    If both have Firewire ports then you can accomplish your goal by using Target Disk Mode. If this is not possible then you can do using an external drive or if you have a local network connect both to your network and use filesharing between the two computers.
    File Sharing on Macs
    Mac 101- File Sharing

  • What is the best way to create business documents in CRM

    Hi All,
    What is the best way to create business documents like contract, sales order, debit memo etc in CRM ? Unlike R3 we can't use our good old BDC with recording. Moreover for most of them although there are Business Object but no BAPI to creation so what is the way ? I found in SDN there are two MAGIC Function module CRMXIF_ORDER_SAVE. Do I need to that alawys ?
    Is it nees to via IDoc and cannot be done just by calling from ABAP program ? The input parameter of the FM is a complex deep structure.
    Please help.

    Ashim,
    Try looking at the program:
    CRM_TEST_ORDER_MAINTAIN
    I think that should help you figure out the parameters.
    Good luck,
    Stephen

  • What's the best way to move around in a document?

    Maybe I'm missing something obvious here, but what's the best way to move around in a zoomed in document?
    The only method I've found so far is to drag with two fingers, which keeps resizing the document as it moves around.
    No Hand Tool? No way to zoom to 100%? No way to Fill the Screen with the document?
    Let me know, thanks.

    Hi,
    Panning is being done with two fingers, i.e. you set two fingers down on the screen and then move them in the same direction.
    You can also zoom out by moving the fingers in the opposite direction as when you zoomed in.
    Thanks,
    Ignacio

  • Best way to insert pages from a document to another

    Hi everybody,
    I need to append/insert pages from a InDesign CS4 document to another one with all the content that may be present in page.
    What is the best way to implement that? I didn't find anything similar to kAddDocToBookCmdBoss.
    The optimum would be to have something like kAddPageToDocCmdBoss for better granularity.
    Thanks a lot in advance to anybody who will express his opinion.
    Luca Severini

    The Pages panel flyout menu has a "Move Pages..." action / dialog.
    It fires off several commands:
    kCreatePageFromPageCmdBoss
    cmd target is the target document
    UIDList is the source kSpreadBoss.
    IID_ILAYOUTCMDDATA document is the target doc again.
    followed by kMoveSpreadCmdBoss and kShufflePagesCmdBoss.
    Dirk

  • Best way to restrict access to documents (outside of the group or library level)

    Hi, we're thinking of implementing SharePoint Server 2013 Standard Edition for our organization. Many of our employees are research scientists working on proprietary information. From the (admittedly little) I understand about SharePoint, if a user wants
    to restrict access to a particular document to the 2 or 3 people with whom they're collaborating (and also have it not appear in the search results), they will have to email their power user to request that a new document library be created in which they can
    store their documents. Is that correct? In this case, what is the best way to handle item-level permissions? Users absolutely want to have the freedom to restrict access to their documents themselves rather than being forced to go to their power user. Thanks.

    Hi,
    Per my knowledge, if you want to restrict access to the documents to some users, then you need to have Manage Permissions permission to modify other users’ permission on the documents.
    If you do not have the Manage Permissions permission, I recommend to ask the site administrator to create a workflow as below to remove the corresponding users’ permission on the documents which you uploaded. You can start the workflow on the document you
    upload and then the permission of the users set on the workflow will be removed from the document.
    Best regards.
    Thanks
    Victoria Xia
    TechNet Community Support

  • Opinion needed on best way to map multiple table joins (of the same table)

    Hi all
    I have a query of the format:
    select A.col1, B.col1,C.col1
    FROM
    MASTER_TABLE A, ATTRIBUTE_TABLE B, ATTRIBUTE_TABLE C
    WHERE
    A.key1 = B.key1 (+)
    AND
    A.key1 = C.key1(+)
    AND
    B.key2(+) = 100001
    AND
    C.key2(+) = 100002
    As you can see, I am joining the master table to the attribute table MANY times over, (over 30 attributes in my actual query) and I am struggling to find the best way to map this efficiently as the comparison for script vs. mapping is 1:10 in execution time.
    I would appreciate the opinion of experienced OWB users as to how they would tackle this in a mapping and to see if they use the same approach as I have done.
    Many thanks
    Adi

    SELECT external_reference, b.attribute_value AS req_date,
    c.attribute_value AS network, d.attribute_value AS spid,
    e.attribute_value AS username, f.attribute_value AS ctype,
    g.attribute_value AS airtimecredit, h.attribute_value AS simnum,
    i.attribute_value AS lrcredit, j.attribute_value AS airlimitbar,
    k.attribute_value AS simtype, l.attribute_value AS vt,
    m.attribute_value AS gt, n.attribute_value AS dt,
    o.attribute_value AS datanum, p.attribute_value AS srtype,
    q.attribute_value AS faxnum,
    R.ATTRIBUTE_VALUE AS FAXSRTYPE,
    s.attribute_value AS extno,
    t.attribute_value AS tb, u.attribute_value AS gb
    v.attribute_value AS mb, w.attribute_value AS stolenbar,
    x.attribute_value AS hcredit, y.attribute_value AS adminbar,
    z.attribute_value AS portdate
    FROM csi_item_instances a,
    csi_iea_values b,
    csi_iea_values c,
    csi_iea_values d,
    csi_iea_values e,
    csi_iea_values f,
    csi_iea_values g,
    csi_iea_values h,
    csi_iea_values i,
    csi_iea_values j,
    csi_iea_values k,
    csi_iea_values l,
    csi_iea_values m,
    csi_iea_values n,
    csi_iea_values o,
    csi_iea_values p,
    csi_iea_values q,
    CSI_IEA_VALUES R,
    csi_iea_values s,
    csi_iea_values t,
    csi_iea_values u,
    csi_iea_values v,
    csi_iea_values w,
    csi_iea_values x,
    csi_iea_values y,
    csi_iea_values z
    WHERE a.instance_id = b.instance_id(+)
    AND a.instance_id = c.instance_id(+)
    AND a.instance_id = d.instance_id(+)
    AND a.instance_id = e.instance_id(+)
    AND a.instance_id = f.instance_id(+)
    AND A.INSTANCE_ID = G.INSTANCE_ID(+)
    AND a.instance_id = h.instance_id(+)
    AND a.instance_id = i.instance_id(+)
    AND a.instance_id = j.instance_id(+)
    AND a.instance_id = k.instance_id(+)
    AND a.instance_id = l.instance_id(+)
    AND a.instance_id = m.instance_id(+)
    AND a.instance_id = n.instance_id(+)
    AND a.instance_id = o.instance_id(+)
    AND a.instance_id = p.instance_id(+)
    AND a.instance_id = q.instance_id(+)
    AND A.INSTANCE_ID = R.INSTANCE_ID(+)
    AND a.instance_id = s.instance_id(+)
    AND a.instance_id = t.instance_id(+)
    AND a.instance_id = u.instance_id(+)
    AND a.instance_id = v.instance_id(+)
    AND a.instance_id = w.instance_id(+)
    AND a.instance_id = x.instance_id(+)
    AND a.instance_id = y.instance_id(+)
    AND a.instance_id = z.instance_id(+)
    AND b.attribute_id(+) = 10000
    AND c.attribute_id(+) = 10214
    AND d.attribute_id(+) = 10132
    AND e.attribute_id(+) = 10148
    AND f.attribute_id(+) = 10019
    AND g.attribute_id(+) = 10010
    AND h.attribute_id(+) = 10129
    AND i.attribute_id(+) = 10198
    AND j.attribute_id(+) = 10009
    AND k.attribute_id(+) = 10267
    AND l.attribute_id(+) = 10171
    AND m.attribute_id(+) = 10184
    AND n.attribute_id(+) = 10060
    AND o.attribute_id(+) = 10027
    AND p.attribute_id(+) = 10049
    AND q.attribute_id(+) = 10066
    AND R.ATTRIBUTE_ID(+) = 10068
    AND s.attribute_id(+) = 10065
    AND t.attribute_id(+) = 10141
    AND u.attribute_id(+) = 10072
    AND v.attribute_id(+) = 10207
    AND w.attribute_id(+) = 10135
    AND x.attribute_id(+) = 10107
    AND y.attribute_id(+) = 10008
    AND z.attribute_id(+) = 10103
    AND external_reference ='07920490103'
    If I run this it takes less than a second in TOAD, when mapped in OWB it takes ages. 10:1 is a conservative estimate. In reality it takes 15-20 minutes. CSI_IEA_VALUES has 30 million rows CSI_ITEM_INSTANCES has 500,000 rows.
    Hope that helps. I would love to know how others would tackle this query.

  • What is the best way to create Aperture book from Pages '09 document?

    What is the best way to create Aperture book from Pages '09 document?

    There is no way to import pages documents to Aperture and convert them to an Aperture book. Aperture books can only be created by manually adding images and text to the pages of a book, and using the layout of the predefined templates.
    The best you could do, would be to print your pages document to pdf and import the resulting pdf file into Aperture as a new project. This will create one image for each page. Then select the page images all at once and  create a new book. Select a theme with fullsize page images, like "picture Book", and then add the images of the pages to the empty pages of the book.
    But probably would you get a much better quality and layout, when you recreate your pages document in Aperture, by starting with an empty book and copying and pasting the text from your Pages document. But don't paste the photos from the document - try to use the originals of those photos.

  • Best way to change fund posted in an EBS document

    What is the best way to change the fund in one line item in a document produced when the electronic bank statment is processed? The bank charges fees that come through the statement and should post to a different fund then any other item such as checks, etc.
    I am trying a substitution but coming across the error Field COBL-KOSTL. does not exist in the screen SAPLKACB 0002.

    The error message that I was receiving...Field COBL-KOSTL. does not exist in the screen SAPLKACB 0002, was coming from function module EXIT_RFEBBU10_001 and include ZXF01U01. The programming code was attempting to default a cost center when the external transaction code = 661. The coding was removed and the default acct assignment cost center was added to the cost element master data. The substitution also worked correctly as it should.

Maybe you are looking for