Generating Related Topics items from FM source

With our existing (non-RH) system, we can tag a set of
cross-references in FrameMaker to have them converted automatically
into a Related Topics list in the CHM. Is there an equivalent
function in RoboHelp?

You can convert Cross references in FrameMaker to hyperlinks
in RoboHelp and also append a text in front of these hyperlinks.
Have you used a cross reference format definition which is unique
to Related Topics. If yes, when you map cross-reference formats and
select building blocks in the mapping dialog in RoboHelp, you can
also append a text "Related Topics -" just before the mapping. The
cross reference will appear as "Related Topics -
<$paratext>". If you have multiple cross-references listed
together, you may want this to appear only once for the first
hyperlink and use a comma separator. You can refine this by
creating two cross reference format definitions in FrameMaker, one
for first cross-reference and another for following ones. Small
modifications in this workflow should get the desired
results.

Similar Messages

  • Generating multiple target xmls from one source xml using xslt mappings

    Hi,
    I need to create more than one xml file from one source xml file using xslt mappings in file to file scenario.
    Can you please let me know how this can be achieved.
    Thanks,
    Rajesh

    Rajesh,
    If you must use the XSL Transformation then you can find a nice simple example here.  It's based on the Xalan XSLT Processor which to my knowledge is incorporated in PI7.1.  I've not actually tried this but it makes for an interesting mapping case so please let us know the results: 
    [XSLT Split for multiple XML file output|http://abbeyworkshop.com/howto/xslt/xslt_split/index.html]
    The XSL file will require a namespace addition:
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:redirect="http://xml.apache.org/xalan/redirect" extension-element-prefixes="redirect" version="1.0">
    The redirect prefix is used for the write tags in the XSL file.
    The details cover the transformation of the source file:
    1:<student_list>
       2:    <student id="1">
       3:        <name>George Washington</name>
       4:        <major>Politics</major>
       5:        <phone>312-123-4567</phone>
       6:        <email>gw_at_example.edu</email>
       7:    </student>
       8:    <student id="2">
       9:        <name>Janet Jones</name>
      10:        <major>Undeclared</major>
      11:        <phone>311-122-2233</phone>
      12:        <email>janetj_at_example.edu</email>
      13:    </student>
      14:    <student id="3">
      15:        <name>Joe Taylor</name>
      16:        <major>Engineering</major>
      17:        <phone>211-111-2333</phone>
      18:        <email>joe_at_example.edu</email>
      19:    </student>
      20:</student_list>
    Using this transformation:
    2:<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    3:    xmlns:redirect="http://xml.apache.org/xalan/redirect"
    4:    extension-element-prefixes="redirect"
    5:    version="1.0"
    6:>
    7:<xsl:output method="xml"/>
    8:
    9:<xsl:template match="/">
    10:    <xsl:apply-templates />
    11:</xsl:template>
    12:
    13:<xsl:template match="student_list">
    14:    <xsl:apply-templates />
    15:</xsl:template>
    16:
    17:<xsl:template match="student">
    18:    <xsl:variable name="filename" select="concat(@id,'.xml')" />
    19:    <redirect:write select="$filename">
    20:        <student id="{@id}">
    21:            <xsl:apply-templates />
    22:        </student>
    23:    </redirect:write>
    24:</xsl:template>
    25:
    26:<xsl:template match="name | major | phone | email">
    27:    <xsl:copy-of select="." />
    28:</xsl:template>
    29:
    30:</xsl:stylesheet>

  • Generate a Work Item from a report

    Hi,
    I'm writing a report that needs a Work Item to be generated. It just has to be kinda notification that goes to agent's inbox.
    Could you please let me know the FM that can be used to do this?
    Thanks..

    Hi,
      Try using the function module SWW_WI_START..
    Thanks,
    Naren

  • Documentation generator directly from C source files

    Hello,
    Is there any tool to generate HTML documentation directly from C sources files using Documentation Tags like "/// HIFN "?
    I know we can generate documentation with function panels documentation generator but that's not what I'm looking for. I'm looking for something like doxygen or javadoc with NI documentation tags support. 
    Regards,
    Aurélien.

    Hello AReeves!
    LabWindows/CVI features a documentation generation tool able to output HTML and XML format documentation from your C source files.
    You can use the source code documentation tags (e.g. HIFN, HIPAR, etc) to document your functions in the source code, similar to doxygen.
    The option is located in Build » Target Settings » Generate source code documentation. There you can select your output format.
    Here is a useful link related to generating documentation from source files using CVI:
    http://zone.ni.com/reference/en-XX/help/370051T-01/cvi/usermanual/tagsforsourcecode/
    Regards,
    - Johannes

  • Generated XML doc file contains comments from MFC source code

    Hello, in my project I use the option /doc to generate XML doc file from my source codes but unfortunately in the output XML file there are mixed also comments from original MFC source codes, see the part of generated xml file:
    Is there a solution to ignore these MFC cpp files?
    Many thanks
    Regards
    Petr Stejskal
    <?xml version="1.0"?>
    <style xmlns="http://www.w3.org/1999/xhtml">@namespace html url(http://www.w3.org/1999/xhtml); :root { font:small Verdana; font-weight: bold; padding: 2em; padding- } * { display: block; padding- } html|style { display: none; } html|span, html|a
    { display: inline; padding: 0; font-weight: normal; text-decoration: none; } html|span.block { display: block; } *[html|hidden], span.block[html|hidden] { display: none; } .expand { display: block; } .expand:before { content: '+'; color: red; } .collapse
    { display: block; } .collapse:before { content: '-'; color: red; } </style><doc><assembly><assembly>       
    "Console"    </assembly></assembly><members><members><member name="T:_RS"><member
    name="T:_RS">Reed-Solomon codec control block</member></member><member name="M:MMask_makeMask(System.Int32,System.Byte*,System.Int32,QRecLevel)"><member
    name="M:MMask_makeMask(System.Int32,System.Byte*,System.Int32,QRecLevel)">Mode indicator. See Table 2 in Appendix 1 of JIS X0510:2004, pp.107.</member></member><member
    name="M:CMFCControlRenderer.IsScaled"><member
    name="M:CMFCControlRenderer.IsScaled"><summary><summary>Tells whether this control
    renderer works with scaled (resized) images.</summary></summary><returns><returns>Returns TRUE if this control
    renderer works with resized (scaled) images.</returns></returns></member></member><member name="M:CMFCControlRenderer.SmoothResize(System.Double)"><member
    name="M:CMFCControlRenderer.SmoothResize(System.Double)"><summary><summary> 
    Smoothly resizes images.</summary></summary><param name="dblScale" /><param
    name="dblScale"> Scale ratio.</param><returns><returns>
    TRUE if resize succeeds; otherwise FALSE.</returns></returns></member></member><member name="M:CDrawingManager.CreateBitmap_32(HBITMAP__*,System.UInt32!System.Runtime.CompilerServices.IsLong)"><member
    name="M:CDrawingManager.CreateBitmap_32(HBITMAP__*,System.UInt32!System.Runtime.CompilerServices.IsLong)"><summary><summary>
    Creates a 32 bit bitmap from the specified bitmap.</summary></summary><returns><returns> A handle to created
    bitmap, or NULL, if creation fails.</returns></returns><param name="bitmap" /><param
    name="bitmap"> A handle to the original bitmap.</param><param name="clrTransparent"
    /><param
    name="clrTransparent"> An RGB value specifying transparent color of the original bitmap.</param></member></member><member
    name="M:CDrawingManager.CreateBitmap_32(CSize!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,System.Void**)"><member
    name="M:CDrawingManager.CreateBitmap_32(CSize!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,System.Void**)"><summary><summary>
    Creates an empty 32 bit bitmap.</summary></summary><returns><returns> A handle to created bitmap, or NULL,
    if creation fails.</returns></returns><param name="size" /><param
    name="size">Specifies bitmap size.</param><param name="pBits" /><param
    name="pBits">When the function returns contains a pointer to bitmap bits.</param></member></member><member
    name="M:CDrawingManager.DrawRotated(CRect,CDC*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,System.Int32)"><member
    name="M:CDrawingManager.DrawRotated(CRect,CDC*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,System.Int32)"><summary><summary>Rotates
    a source DC content inside the given rectangle by +/- 90 degrees</summary></summary><param name="rectDest" /><param
    name="rectDest">Destination rectangle</param><param name="dcSrc" /><param
    name="dcSrc">The source device content.</param><param name="bClockWise"
    /><param
    name="bClockWise">TRUE - rotate +90 degrees, FALSE - 90.</param></member></member><member
    name="M:AfxRegDeleteKey(HKEY__*,System.Char!System.Runtime.CompilerServices.IsConst*,ATL.CAtlTransactionManager*)"><member
    name="M:AfxRegDeleteKey(HKEY__*,System.Char!System.Runtime.CompilerServices.IsConst*,ATL.CAtlTransactionManager*)"><summary><summary>Deletes
    the specified registry key.</summary></summary><returns><returns>  If the function succeeds, the return
    value is ERROR_SUCCESS. If the function fails, the return value is a nonzero error code defined in Winerror.h</returns></returns><param name="hKey" /><param
    name="hKey">A handle to an open registry key.</param><param name="lpSubKey"
    /><param
    name="lpSubKey">The name of the key to be deleted.</param><param name="pTM" /><param
    name="pTM">Pointer to CAtlTransactionManager object</param></member></member><member
    name="M:AfxRegOpenKeyEx(HKEY__*,System.Char!System.Runtime.CompilerServices.IsConst*,System.UInt32!System.Runtime.CompilerServices.IsLong,System.UInt32!System.Runtime.CompilerServices.IsLong,HKEY__**,ATL.CAtlTransactionManager*)"><member
    name="M:AfxRegOpenKeyEx(HKEY__*,System.Char!System.Runtime.CompilerServices.IsConst*,System.UInt32!System.Runtime.CompilerServices.IsLong,System.UInt32!System.Runtime.CompilerServices.IsLong,HKEY__**,ATL.CAtlTransactionManager*)"><summary><summary>Opens
    the specified registry key.</summary></summary><returns><returns>  If the function succeeds, the return
    value is ERROR_SUCCESS. If the function fails, the return value is a nonzero error code defined in Winerror.h</returns></returns><param name="hKey" /><param
    name="hKey">A handle to an open registry key.</param><param name="lpSubKey"
    /><param
    name="lpSubKey">The name of a key that this function opens or creates.</param><param name="ulOptions"
    /><param
    name="ulOptions">This parameter is reserved and must be zero.</param><param name="samDesired" /><param
    name="samDesired">A mask that specifies the desired access rights to the key.</param><param
    name="phkResult" /><param
    name="phkResult">A pointer to a variable that receives a handle to the openedkey.</param><param
    name="pTM" /><param
    name="pTM">Pointer to CAtlTransactionManager object</param></member></member></members>

    Hi stejsky,
    Thank you for posting in MSDN forum.
    >>In my project I use the option /doc to generate XML doc file from my source codes but unfortunately in the output XML file there are mixed also comments from original MFC source codes.
    Based on your issue, could you please tell me how you use the option /doc to generate XML doc file from your source codes?
    If you use the option /doc to generate the XML doc file by right-click the your MFC project->Properties->Configuration Properties->C/C++->Output file->set the Generate XML document files as Yes(/doc) like the following screen shot.
    (1)If yes, since we could not reproduce your issue in mu side, so if possible, I suggest you could share me your MFC project so that we will further help you support this issue.
    You could upload your MFC project to the OneDrive and then copy link here.
    (2)If no, please try the above way to generate XML doc file and then check if you still get same issue.
    Best Regards,
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • Document contains no items - Carry Out Sourcing From External Requirements

    Hello Experts,
    I have a problem in carrying-out sourcing in SRM 701 with external requirements come from ECC 6.0
    I want to process the requirements into purchase order, everything is OK because I see the line item of requirement is there. But when I check the document, this error occurs
    Back-End Error:Document contains no items
    Back-End Error:Please enter items first
    It seems SRM didn't bring the item displayed to the back-end so it keeps sending error message.
    How could that happen when I can see the document clearly contains item?
    Appreciate all the answers
    Regards,
    Ted

    Hi Dinesh / Pradeep
    Could you get a fix to this issue, we are facing the same error after we have successfully distributed the SRM Central Contract to ECC and then trying to fullfil the MRP generated PR that we used for sourcing
    We are in the classic scenario and in the classic scenario, we cannot create a Purchase ORder in ECC from SRM, it only creates local SRM PO
    Hence we are doing the following process steps for PDP with PM scenario
    1) MRP Run
    2) Push the PR as a Shopping Cart to SRM
    3) Select the Shopping Cart and create RFx
    4) Publish the RFx and Award the Vendor with the SRM Central Contract
    5) Distribute the SRM Central Contract to a ECC contract
    6) Use ME57 to turn the MRP PR to a ECC PO by assigning the Distributed backend contract as a source of supply in ECC
    We are failing step 6
    Your answer was below, but it did not end in a resolutuoin
    Please let me know the resolution to this step
    Regards
    Tridip
    Your earlier unfinished answer
    " How could we disable the error message so that we could create PO in ECC with reference to contract and purchase req. "
    - this message is due to standard config we do in ECC for matl grp & pur grp for PR transfer in table T160EX
    ECC books the combo of matl grp & pgrp for external system (SRM) and will not allow to process the PR in it.
    a procurement profile is allotted in EBAN.
    Don't think you can change the message type to Warning or info.

  • How can I get the checked item from a list that is generated automatically?

    I am still pretty new a CF and could really use some help. I am trying to get each item that is checked from a page that generates the list automatically from a query and get the associated textbox text with it. For example:
                        <!--- Start Get Data Hierarchy List--->
                                  <cfquery datasource="MyDatasource" name="qry_GetData">
                                            SELECT C.taxonomy_id, C.lvl, C.taxonomy_name, C.taxonomy_tree, C.taxonomy_guid, C.taxonomy_standard_name
                                            FROM dbo.taxonomy AS P
                                            JOIN dbo.taxonomy AS C
                                                      ON P.taxonomy_id = 21
                                                      AND C.hid.IsDescendantOf(P.hid) = 1
                                                      AND C.lvl = 3
                                  </cfquery>
                        <!--- Start Get Data Hierarchy List--->
    <cfloop query="qry_GetData">
    <input type="checkbox" name="cbox_PE_SelTax#taxonomy_id#" value="#taxonomy_name#"><font size="4" color="3399FF"> #taxonomy_name#</font>
    <br />
         - Details of experience with #taxonomy_name#:<input name="tbox_PE_SelTax#taxonomy_id#" id="tbox_PE_SelTax#taxonomy_id#" size="50%">
    <br />
    <br />
    </cfloop>

    Dave,
    Thank you for your help so far. I must not be asking the right question. Here is the whole breakdown. I am writing this page to collect the users information, Name, Title, Company, and technologies they are familiar with. I then want that information emailed to me upon submission. The point I am running into a problem (even with your last post) is how to write the action part of it that will email the checked items to me. I cannot figure out if I need to use CFLOOP (if so, how) or what the best method is. I am a very visual lerner and can understand how code works easily, but I have not found any examples for my situation. Again, I really appriciate all of your help thus far.
    Thank you!

  • SMLETS. Get related Business Services from a Configuration Item

    Hi
    I need som help or guidiance on how to create a PS query to list out all the related business services from a Configuration Item (Computer) using the Windows Computer Class
    Im using the following orchestrator activity today to get the related business services from the CI.
    Thx for all replys! :)

    Hi,
    you can use this script as an example:
    Import-Module smlets
    #Definde Input-Values
    [String]$Server = "SCSMSERVER"
    [String]$SCObjectGUID = "6555226c-5e77-ea85-b79f-05dc8843dcb0"
    #Get Computer-Object by SC Object GUID
    [System.Object]$Computer = Get-SCSMObject -Id $SCObjectGUID -ComputerName $Server
    #Get Relationship Class "Is Related to Configuration Item"
    [System.Object]$Relationship = Get-SCSMRelationshipClass -Name "System.ConfigItemRelatesToConfigItem" -ComputerName $Server
    #Get defined Relationships by target
    [System.Object[]]$RelatedBSs = Get-SCSMRelationshipObject -ByTarget $Computer -ComputerName $Server | where { $_.RelationshipId -eq $Relationship.Id }
    #Create Arrray for Orchestrator Published Data
    $BusinessServiceDisplayNames = @()
    foreach($RelatedBS in $RelatedBS)
        #Add DisplayName of Business Service to Output-Array
        $BusinessServiceDisplayNames += $RelatedBS.SourceObject.DisplayName
    $BusinessServiceDisplayNames

  • Generate xml output file from relational table

    Hi All,
    I'd like to generate an XML file from a relational table but would like to persist the XSD in Oracle does anyone have a working example?
    Edited by: houchen on Jun 2, 2009 5:34 AM

    From the FAQ on the {forum:id=34} forum, {thread:id=416001}.
    If you are wanting to register the schemas in Oracle, you will find info on that as well in the FAQ.

  • How To Access PAGE ITEM (single row) from HTML source

    Hi Guys,
    I have a page Item that return a string.
    I would like to show this string
    How To Access PAGE ITEM (single row) from HTML source?
    My desire final output is
    <marquee>:P1_PAGE_ITEM</marquee>
    Can please help me
    Thanks

    Hi,
    You can refer the page items in your page header as &itemname. For example, if I have page item P15_TEST, I will add the following in header:
    <marquee>
       &P15_TEST.
    </marquee>But make sure that you have a process before header to populate the value in your page item. Otherwise, there will be a null scrolling (which you can't see!) :)
    Regards,
    Zahid

  • How to generate specific # of items in tabular form from one item

    Looking to display or render additional elements to a tabular form based on the number entered in a quantity field. ie. if someone orders 10 items, I would like to have 10 tabular items display on blur, so the operator can enter the data in those fields for the 10 items. Then of course I need all items processed on submit.
    Is there a way to do this so the # of line items are rendered after a quantity has been entered to match or is this something that would have to be done with display values and a set number of items already on the page?
    Thanks

    Hi Naresh,
    You need to use Billing Plans for Service Contracts Scenario to create BRI items.
    In the Billing Plan - you can assign whether it is a Periodic Billing or Milestone Billing. Then you need to assign this billing plan to item categories. So based on the period (monthly,quarterly,yearly) - the BRI items will be generated.
    So Please try using Billing Plans for your scenario. As you mentioned earlier, you are using ECC for all Billing purposes. So the system will create one Debit Memo Request document per Contract and it will each line item for each of the BRI's in Service Contract. System will not generate one DMR per BRI item.
    You can check the BRI items generated at the item level --> Billing Plan Tab page (Assignment Block in Web UI).
    Hope this helps.
    Regards,
    Siraj

  • Page Items from parent related table (readonly - only display)

    Hi,
    is this possible in APEX 5.0?
    DB Strucktur: Customer (Fields: Name, Address, Postal Code ...) 1:n Contacts (Firstname, Lastname, customer_id, ...)
    I need a Form (Contact):
    Firstname:
    Lastname:
    Address:
    Readonly Items from Customer Table (only display):
    Customer Name:
    Cistomer Address Items:
    Thanks for help!
    Alex

    Here's what you could do:
    - First create a Report with Form on your Contact Table
    - Next create a new region called customer info
    - Drag the different display only items for the columns in the Customer table into the new region
    - Finally create a Process Before header which does
         select cust_name, cust_address
           into :P1_CUST_NAME, :P1_CUST_ADDRESS
          from customer_table
       where id = :P1_CUSTOMER_ID;
    - Put a condition on the process to only fire when you have a :P1_CUSTOMER_ID
    Note: your table, columns might be a bit different than in the above example.
    Hope that helps,
    Dimitri
    -- https://www.apexrnd.be
    -- http://dgielis.blogspot.com

  • Copy item from List A to List B, generate 2 rows in List B

    Hi, 
    I would like to copy and update items from List A to List B. However, I want the item to be duplicated in List B.
    I will explain my scenario
    - List A contains a People Picker column of multiple selection and a Title column
    - When the form is submitted, a workflow should trigger to copy the item to List B. If the People Picker column contains 2 values inside it, for example, user1;user2. The copied item should be duplicated in rows according to the number of users.
    Example
    Columns   Title, Users, ID
    List A - TicketNo1, User1; User2, 1
    List B - TicketNo1, User1              1
    List B - TicketNo1, User2              1
    Can this be done OOTB or must we use some event receiver..has anyone ever done such a thing before?

    Hi,
    Below code help you to accomplish your task using event receiver
    public
    override void ItemAdded(SPItemEventProperties properties)
    //base.ItemAdded(properties);
    if (properties.ListTitle ==
    "ListA")
    SPUser user = null;
    //get value of fields
    string strTitle = Convert.ToString(properties.ListItem["Title"]);
    SPFieldUser userField = (SPFieldUser)properties.ListItem.Fields.GetField("TaskAssignUser");
    SPFieldUserValueCollection fieldcollectionValue = (SPFieldUserValueCollection)userField.GetFieldValue(Convert.ToString(properties.ListItem["TaskAssignUser"]));
    foreach (SPFieldUserValue fieldValue
    in fieldcollectionValue)
                       user = fieldValue.User;
                       //Create items in another list
    SPList destinationList = properties.Web.Lists["ListB"];
    SPListItem targetItem = destinationList.Items.Add();
                       targetItem["Title"] = strTitle;
                       targetItem["WorkAssigned"] = user;
                       targetItem.Update();
    Thank You,
    Somnath Matere

  • How can we remove items from the VF04 list?

    We have a long list of items in VF04 that, for various reasons (some process related, some due to errors), are not to be billed. We have looked at applying filters to the list but there is nothing really suitable to hide these individual documents e.g. we could filter out some dates where none of the items on that date are to be billed but other dates have a mix of items we want to bill and others we don't.
    I have done a search of this forum but didn't find a previous topic with a quick and simple method to remove items from the list .
    Is there a method, other than billing them or sorting each issue individually, to permanently remove individual documents from the VF04 list?
    Thanks in advance for any help.
    David

    Hi,
    David,
    Download a list of Pending delivers doc form VF04.
    Paste the list in T.Code : VL09 (Delivery reversal) and reverse the delivery.
    Then go to T.Code: VL06G Select the list of deliveries that has been reversed, select/delete all un- wanted deliveries.
    This way you can remove all unwanted pending deliveries forn Billing due list (VF04).
    Thanks & Regards,
    R.Janakiraman

  • Not able to crawl all items from External content type

    Hello All,
    "All the records in my external content source are not getting crawled, only 1/3 rd of the data are getting crawled."
    Steps:
    I created "External content type" using sharepoint designer which connects to a SQL Server database.
    Have written a SQL View joining 2 tables, which return 9,00,000 rows when executed using the SQL Server management studio.
    I used the default "Business Data Connectivity Service" and "Search Service Application" and made sure the necessary permissions are set.
    Created a External Content source for the search service application and selected the "Business Data Connectivity Service" -> "Crawl selected External datasource" -> <my external datasource i created in sharepoint designer>
    Issue
    When i ran the full crawl for the first time it crawled "3,49,923" records in 01 hour and 07 seconds. And returned 1 error "Error crawling LOB Contents.(Error caused by exception: System.InvalidOperationException. There is an error in XML
    document...)
    Later i removed the below item from the index and started a full recrawl, this time it crawled "3,49,924" records 1 record extra from my previous crawl
    and no errors were returned.
    Please let me know what could be the issue. It doesn't look like the permission related issues as i am able to crawl the 1/3rd of my total data. Also i am able to search the crawled data. I also set the throtteling limit for the "Business data catalog"
    to -maximum 10000000 -default 1000000 which is less than the data it has to crawl.
    SRIRAM

    Hi ,
    I started the change suggested in the link shared by you, but got stuck at a point,
    The field which i set as identifier in BCS earlier is not having unique values. Total rows returned by the sql view is 899000, but the unique values present in the column that is set as identifier is
    3,49,923, which is equal to the number of rows crawled. - Is this the reason why it didnt crawl all records?
    The table that is used in the sql view has composite key, - Is it possible to have multiple identifier in BCS as well?
    Is it possible to make BCS to ignore the identifier? i mean creating BCS without an identifier column?
    Please let me know your suggestions on this.
    Thanks,
    SRIRAM
    Yes, BCS needs a UID. This is so it can figure out changes over time to a single record. Otherwise all changes to a row could be a potential new row without BCS knowing any better.
    Yes, or just have it run off the composite key instead of the field you're using now.
    Nope, BCS needs a UID field like in answer 1 :)
    Good luck!
    My CodePlex -
    My Blog - My Twitter
    Join me at the San Francisco SharePoint User Group!
    If this post helped you or answered your question please remember to mark it! :)

Maybe you are looking for