Finding changes in SAP tables

Hi,
I have problem with SAP - Cognos interface. It functions like an ABAP program that generates a file from spec. fields of some SAP tables like BKPF, BSEG, BSID, BSIK, etc. And this is all OK, but problem is that report always selects ALL data, and in FI case(those table that I mentioned) this is complicated. For example one item is in some period open item, and in few days it will go to closed items. As COGNOS interface runs once in a Month or something like that, it is problem how to select proper data, because of huge amount FI data.
Any Idea how to select only changes at table level? This must be also applicable to MM, SD and CO data. I thought of CHANGE DOCUMENTS, but what if change is not traced in CDHDR table because some data element is used in SAP table is not check to be observed as Change Document?

Mario,
For the changes, when ever there is a change done in the system a change number is created which will be available in table CDHDR, based on the Object classes extract the data and the required dates of changes made pull out the data.
In case for AP, AR, G/L you can check with some tables ( there are some tables which will be only be updated based in the process AP/AR/GL ). Based on the list of these tables, extract data from table CDPOS  using the Change Number obtained from CDHDR.
Anmol Saxena.

Similar Messages

  • Input Filed Length Changes in SAP Table How to maintain in WDJ

    hi ,
    i have scenario where we are having the scenario like dat ..
    container id with 10 chars previousl y in sap system
    currently from sap they have changed the length to 20 char in sap tablle.
    from web dynpro java we have set length 20 char .
    scenario: user can enter text from web dynpro view (portal form ) when click on ok it will save in sap table.
    example
    we are entering  text   testbyvenkatreddy
    click on save
    testbyvenk
    now i need to display the full 20 char length
    can inputs ?
    Regards ,
    venkat p

    Hi ,
    actually the user can enter the value from portal ie thru web dynpro form
    example :
    'testbyvenkatreddy'
    when user clicks on save .
    it will call bapi  and update the database the same value will be updated in portal ..
    but it is taking only 10 char when we put an external breakpoint  in BAPI  we observed the input to the bapi is going only 10 char  even we have more than 10 char .
    From SAP system side they have changed  only char length 10 to 20 thts it ...
    they didn't changed  the filed name or structure only they changed in dataelement ..
    is we need reimport the bapi agian or  reboot the server ?
    wht we need to do exactly  we are on support project having lots of bapis in single application ...
    regards ,
    venkatp

  • Custom change document is not tracking changes for SAP tables

    Hi gurus,
    I have created a custom change document for tables EKBE and KONV. But the change document is not tracking changes in BDCP table for changes in EKBE or KONV.
    Please help me out.........

    HI,
    Use this link for change pointers concept.
    change pointers
    let me know if u have any issue.
    ~linganna

  • Changing standard SAP tables

    can any one tell me what is the difference between Append Structure and Custom Includes for the purpose of modification in standard SAP tables

    Append structure :
    +Append Structures Locate the document in its SAP Library structure
    Append structures are used for enhancements that are not included in the standard. This includes special developments, country versions and adding customer fields to any tables or structures.
    An append structure is a structure that is assigned to exactly one table or structure. There can be more than one append structure for a table or structure.
    The following enhancements can be made to a table or structure TAB with an append structure:
    · Insert new fields in TAB,
    · Define foreign keys for fields of TAB that already exist,
    · Attach search helps to fields of TAB that already exist,
    These enhancements are part of the append structure, i.e. they must always be changed and transported with the append structure.
    When a table or structure is activated, all the append structures of the table are searched and the fields of these append structures are added to the table or structure. Foreign keys and search help attachments added using the append structure are also added to the table. If an append structure is created or changed, the table or structure assigned to it is also adjusted to these changes when the append structure is activated.
    Since the order of the fields in the ABAP Dictionary can differ from the order of the fields on the database, adding append structures or inserting fields in such append structures does not result in a table conversion.
    The customer creates append structures in the customer namespace. The append structure is thus protected against overwriting during an upgrade. The fields in the append structure should also reside in the customer namespace, that is the field names should begin with ZZ or YY. This prevents name conflicts with fields inserted in the table by SAP.
    If you create an append structure for a table or structure, only those enhancements are allowed that are consistent with the enhancement category of the enhanced table or structure. For more information, see Structure linkStructure Enhancements.
    The new versions of the standard tables are imported after an upgrade, and the fields, foreign key definitions and search help attachments contained in the append structures are added to the new standard tables at activation.+
    Custom include
    These are includes in SMOD Enhancements, any of these appear on database transparent table but also in structure used by FM, BAPI. They are activated in a project and SAP usually provide user-exit or BADI to maintain/Exploit the added fields in the same enhancement..
    e.g: CI_EKPODB in SMOD MM06E005
    Look also at HOWTO:Implement a screen exit to a standard SAP transaction
    Regards

  • Script to find/change stroke in tables

    Hi everyone,
    I posted this very same question about a month ago but I got no reply so I thought I'd try again. Even if I can't obtain a free script that will do what I need, I'm happy to look at paying for one if someone can point me in the right direction.
    I'm looking for a script that will target the stroke weight in tables and change them to a lighter weight, eg. from 0.5pt to 0.3pt.
    I have a script that targets the fill at the following url:
    http://forums.adobe.com/thread/681944
    ...but I'm looking for one that targets the stroke.
    Just wondering if anyone might know where I can find one?
    Thanks

    Hi Livingmedia,
    I have modified the above js code, Please check.
    myDialog = app.dialogs.add ({name:"Recolor Tables",canCancel:true}); 
    swatchlist = app.activeDocument.swatches.everyItem().name; 
    with (myDialog) 
    with (dialogColumns.add()) 
      with (borderPanels.add()) 
       staticTexts.add ({staticLabel:"Find"}); 
       swf = dropdowns.add ({stringList:swatchlist, selectedIndex:0}); 
       tbf = percentComboboxes.add({editValue:100, largeNudge:10, stringList:["25", "50", "75", "100"] }); 
       tbfStrk = measurementEditboxes.add({editValue:0.5}); 
      with (borderPanels.add()) 
       staticTexts.add ({staticLabel:"Replace"}); 
       swr = dropdowns.add ({stringList:swatchlist, selectedIndex:0}); 
       tbr = percentComboboxes.add({editValue:100, largeNudge:10, stringList:["25", "50", "75", "100"] }); 
       tbrStrk = measurementEditboxes.add({editValue:0.33}); 
      with (borderPanels.add()) 
       dostrokes = checkboxControls.add({staticLabel:"Change strokes", checkedState:true}); 
       dofills = checkboxControls.add({staticLabel:"Change fills", checkedState:true}); 
    if (!myDialog.show() || !(dostrokes.checkedState || dofills.checkedState)) 
    myDialog.destroy(); 
    exit(0); 
    findtint = tbf.editValue; 
    findStrk = tbfStrk.editValue; 
    findswatch = app.activeDocument.swatches.item(swf.selectedIndex); 
    changetint = tbr.editValue; 
    changeStrk = tbrStrk.editValue; 
    changeswatch = app.activeDocument.swatches.item(swr.selectedIndex); 
    strokes = dostrokes.checkedState; 
    fills = dofills.checkedState; 
    fillchanges = 0; 
    strokechanges = 0; 
    tb = app.activeDocument.stories.everyItem().tables.everyItem().getElements(); 
    for (t=tb.length-1; t>=0; t--) 
      tab = tb[t]; 
      for (c=0; c<tab.cells.length; c++) 
       if (fills && tab.cells[c].fillColor == findswatch && tab.cells[c].fillTint == findtint) 
        fillchanges++; 
        tab.cells[c].properties = {fillColor:changeswatch, fillTint:changetint}; 
       if (strokes) 
        s = false; 
        if (tab.cells[c].topEdgeStrokeColor == findswatch && tab.cells[c].topEdgeStrokeTint == findtint && tab.cells[c].topEdgeStrokeWeight == findStrk) 
         s = true; 
         tab.cells[c].properties = {topEdgeStrokeColor:changeswatch, topEdgeStrokeTint:changetint, topEdgeStrokeWeight:changeStrk}; 
        if (tab.cells[c].bottomEdgeStrokeColor == findswatch && tab.cells[c].bottomEdgeStrokeTint == findtint && tab.cells[c].bottomEdgeStrokeWeight == findStrk) 
         s = true; 
         tab.cells[c].properties = {bottomEdgeStrokeColor:changeswatch, bottomEdgeStrokeTint:changetint, bottomEdgeStrokeWeight:changeStrk}; 
        if (tab.cells[c].leftEdgeStrokeColor == findswatch && tab.cells[c].leftEdgeStrokeTint == findtint && tab.cells[c].leftEdgeStrokeWeight == findStrk) 
         s = true; 
         tab.cells[c].properties = {leftEdgeStrokeColor:changeswatch, leftEdgeStrokeTint:changetint, leftEdgeStrokeWeight:changeStrk}; 
        if (tab.cells[c].rightEdgeStrokeColor == findswatch && tab.cells[c].rightEdgeStrokeTint == findtint && tab.cells[c].rightEdgeStrokeWeight == findStrk) 
         s = true; 
         tab.cells[c].properties = {rightEdgeStrokeColor:changeswatch, rightEdgeStrokeTint:changetint, rightEdgeStrokeWeight:changeStrk}; 
        if (s) 
         strokechanges++; 
    ch = "No changes made"; 
    if (fillchanges) 
    ch = fillchanges+" fills changed"; 
    if (strokechanges) 
      ch += "\n"+strokechanges+" strokes changed"; 
    } else if (strokechanges) 
      ch = strokechanges+" strokes changed"; 
    alert (ch);
    thx,
    csm_phil

  • Varient table update with changes in sap table

    Hi,
    is there any way with which i can update a varient table with the new values in sap standar table.
    example can be, i created varient table T_TEST, its having 2 characterstic MAT_1 and MG_1,
    MAT_1 is key field and is is having material number from mara , MG_1 is material group.
    so can i update my varient table automaticaly each and every time a new material is created ?
    while going through SAP help i come across
    http://help.sap.com/saphelp_erp60_sp/helpdata/en/23/0be7d831cb11d2909c0000e8a49aad/content.htm
    but its for transfering data from varient table to new database table , i want it other way round.
    please reply if you did it in past.
    Thanks
    Best Regards
    Edited by: Ritesh on Nov 4, 2010 10:00 PM

    technical teams got the ways to do it , closing thread.

  • Sap table differences between 4.6C and ECC 6.0

    how do i find out which sap tables has been changed between 4.6C and ecc 6.0 version.  Is there a program I can run? website?

    Hi,
    You have to check with the Relese Notes provided by SAP for the Latest changes of the SAP versions.
    But in that also, it will not be clearly mentioned by Table name, that it was changed. Only during the Upgrade of the SAP versions, all those problems will come into picture, which has to addressed and solved one by one.
    Regards,
    Anji

  • IDoc field and SAP Table field

    I want to find out which SAP table field is populating the given IDoc segment without getting into ABAP code? Do we have something like "Where-used" list? On the reverse side, If I want to know which SAP Table field the incoming IDoc segement is posting to, how do I do that? Thanks in advance.

    Hi,
    This is very difficult without going into the ABAP code. Some time it is easy like if you see IDOC MATMAS05
    Segment  E1MARAM = MARA
    Segment  E1MAKTM = MAKT
    Segment  E1MARCM = MARC
    etc.... also you can judge from the name of a segment.
    Thanks,
    Mandar

  • How to find out if a table has been changed?

    hello
    how can I find out in a zreport, if a specific table has been changed and  data has been added or deleted?
    like for instance the date of last change to the table?
    thanks
    Alisa

    Alisa...you can do it following manner
    * Execute the report RSVTPROT to extract the changes done to database table
    * table with output going into memory
    TYPES: BEGIN OF ty_abap_list.
            INCLUDE STRUCTURE abaplist.
    TYPES: END OF ty_abap_list.
    DATA: gt_abap_list  TYPE STANDARD TABLE OF ty_abap_list.
      SUBMIT rsvtprot AND RETURN
        EXPORTING LIST TO MEMORY  USING SELECTION-SCREEN 1000
                                  WITH cusobj   EQ c_tabname "Table Name
                                  WITH dbeg     EQ gv_begdate
                                  WITH tbeg     EQ c_begtime
                                  WITH dend     EQ gv_enddate
                                  WITH tend     EQ c_endtime
                                  WITH objfirst EQ ''
                                  WITH tabfirst EQ 'X'.
    * Extract the list from memory
      CALL FUNCTION 'LIST_FROM_MEMORY'
           TABLES
                listobject = gt_abap_list
           EXCEPTIONS
                not_found  = 1
                OTHERS     = 2.

  • IDOC trigger using Z change pointers for standard SAP table

    For IDOC trigger, is using custom change pointers on standard SAP master data tables, a good idea? A seasoned abaper told me "it will mess with the standard" and further told to go with scheduled job.
    So, for example, say that my data for table T001K is updated via transports in PRD and I need to transfer this updated data via IDOC to an external system. Since there is no standard message type for this data, I will create a new one. Further, I will create a new change pointer for table T001K (it already has six fields with their data elements activated for Change Documents). Then I link the message type and the new change pointer. And so on an so forth. I have followed the procedure given here:SAP Tips: A to Z of Custom Change Pointer
    Now, the question is, will this be a good idea to capture data and trigger IDOC? Or a batch program with calls to standard FM to read CDHRD/CDPOS be a more suitable option.
    I need to know if a near instantaneous data transfer (and an effecient one as far as the system performance and reliability is concerned) can be acheived. If there is any other way of doing this, I am not aware of it!
    Any one has any input/experience on this?

    Hi Viktor,
    I think the batch program approach would be a good solution as the by this way you are taking matter into your own hands rather giving control to the SAP framework because you may have to test out the other approach as to how the standard SAP framework is behaving for custom change pointers.
    Thanks,
    Ravi

  • Finished script: Use grep find/change to fill in a supplied table of contents

    This script is now complete, and has been the subject of most of my previous posts. Just in case anyone wanted to know what the finished script ended as, here it is.
    Thanks so much to all. A lot of really helpful folks on this board are very responsible for the success of this task. This script is to be one of hopefully many in the creation of our records. But it's a huge leap forward. Thanks again to everyone that helped.
    Cheers,
    ~Nate
    Task:
    Automatically find town names in listings, and fill in table of contents template on page 2 accordingly.
    Example of page 2 toc, initially:
    Example of a page of content. The town names are what need to be referenced on the TOC:
    Example of page 2 toc once script is finished:
    Because of the need to include the transaction dates on the TOC (comes as a provided, tagged-text file), a simple Indesign-generated TOC can't be used alone.
    This script uses an Indesign-generated TOC that's on a master page called "T-tocGen" ... It then uses grep search and replaces to grab the needed information, and insert it into the page 2 TOC.
    The script will update a generated TOC and then search for an instance of a page number, and town name. The generated toc lists all included towns in the following format:
    (line start)## tab townName(line end)
    In Grep, this would be (please note, extra \ for \d and \t ... javascript needs that for some reason):
    ^\\d+\\t(.*)$
    After the script gets the info it needs from a found instance of the above, it replaces that line with "---", to prevent that line from being picked up once again.
    The script with then place the needed page number in it's rightful place on page 2, replacing the XX.
    A while loop is used to repeat the above process until there are no longer any instances of "^\\d+\\t(.*)$" present.
    Not every town runs every issue, so once the script is done, it removes all remaining instance of "XX" on the page 2 TOC.
    FINAL CODE:
    TOC replace
    This script will use grep find/change methods to apply page numbers in
    tocGen to the XX's on page2TOC.
    // define the text frame of generated TOC
        var tocGenFrame  = document.masterSpreads.item("T-tocGen").pages.item(0).textFrames.item(0);
    // udpate generated TOC ... store contents in tocGenStuff
        var tocGenStuff = updateTOCGen();
    // set variable for while loop
    var okGo = "1";
    // while okGo isn't 0
    while(okGo.length!=0)
    // get town info from tocGen
    getCurrentTown();
    // replace XX's with tocGen info
    replaceTown();
    // grep find ... any remaining towns with page numbers in tocGen?
    app.findGrepPreferences = app.changeGrepPreferences = null;
    app.findGrepPreferences.findWhat = "^\\d+\\t(.*)$";
    // set current value of okGo ... with any instances of above grep find in tocGen
    okGo = tocGenFrame.findGrep();   
    // grep find/change all leftover XXs in page2TOC
    app.findGrepPreferences = app.changeGrepPreferences = null;       
    app.findGrepPreferences.findWhat = "^XX\\t";
    app.changeGrepPreferences.changeTo = "\\t";
    app.activeDocument.changeGrep();  
    // clear grep prefs
    app.findGrepPreferences = app.changeGrepPreferences = null;
    //  functions                  //
    function getCurrentTown()
    // grep options   
    app.findChangeGrepOptions.includeLockedLayersForFind = true;
    app.findChangeGrepOptions.includeLockedStoriesForFind = true;
    app.findChangeGrepOptions.includeHiddenLayers = true;
    app.findChangeGrepOptions.includeMasterPages = true;
    app.findChangeGrepOptions.includeFootnotes = true;
    // grep find:  startLine anyDigits tab anyCharacters endLine
          app.findGrepPreferences = app.changeGrepPreferences = null;
          app.findGrepPreferences.findWhat = "^\\d+\\t(.*)$";
    // get grep find results      
    currentGen = tocGenFrame.findGrep();  
    // store grep results content into currentLine
    currentLine = currentGen[0].contents;
    // match to get array of grep found items
    currentMatch = currentGen[0].contents.match("^\\d+\\t(.*)$");
    // second found item is town name, store as currentTown
    currentTown = currentMatch[1];
    // change current line to --- now that data has been grabbed
    // this is because loop will continue as long as the above grep find yields a result
           app.findGrepPreferences.findWhat = "^\\d+\\t"+currentTown+"$";
                  app.changeGrepPreferences.changeTo = "---";
                tocGenFrame.changeGrep(); 
    function replaceTown()
    app.findChangeGrepOptions.includeLockedLayersForFind = true;
    app.findChangeGrepOptions.includeLockedStoriesForFind = true;
    app.findChangeGrepOptions.includeHiddenLayers = true;
    app.findChangeGrepOptions.includeMasterPages = true;
    app.findChangeGrepOptions.includeFootnotes = true;
    // find: XX currentTown .... replace with: currentLine
        app.findGrepPreferences = app.changeGrepPreferences = null;
        app.findGrepPreferences.findWhat = "^XX\\t"+currentTown+" \\(";
        app.changeGrepPreferences.changeTo = currentLine+" \(";
    app.activeDocument.changeGrep();   
    function updateTOCGen()
    //set vars ... toc text frame, toc master pag
        var tocGen  = document.masterSpreads.item("T-tocGen").pages.item(0).textFrames.item(0);
        var tocGenPage  = document.masterSpreads.item("T-tocGen").pages.item(0);
    //SELECT the text frame generatedTOC on the master TOC
        tocGen.select();
    //Update Table of Contents by script menu action:
        app.scriptMenuActions.itemByID(71442).invoke();
    //Deselect selection of text frame holding your TOC:
        app.select(null);
    //store contents of toc text frame in variable
        var tocGenText = tocGen.contents;
    //return contents of tocGen
        return tocGenText;

    Thanks for the reply.
    You are correct but the problem is there are three rows, One row is 100% black, the second is 60% black and the third is 40% black. I want to change the black to blue, the 60% black to an orange and the 40% black to a light shaded blue. In the find/change option you can select the tint you want to find and replace but yea.. does work on table cells.. oddly enough.

  • Find/change colour tint in table cell

    Hi everyone,
    I have a document containing a heap of tables. The tables currently have a tint of 15% black in some of the rows and I need to change this to 5% black. I also need to change the stroke weight from 0.5pt to 0.3pt.
    Since there are so many of them, I wondered if there was a way to do this with find and change. The tables aren't objects - they're just regular tables inserted into the text frames.
    Appreciate any help.
    Thanks

    Sorry to come back to this post but I'm still trying to figure out how to adapt the script suggested at this link: http://forums.adobe.com/thread/681944
    I'm assuming I need to swap out some values but  how would I adapt it so that it looks for table cells coloured with 20% black and changes them to 10% black.
    As mentioned previously, my javascript knowledge is limited so I'd need some guidance.
    Any further advice appreciated.

  • TIP: Changing entries directly in any SAP table

    Use transaction SE16N -> Enter the table name and press enter to read the fields in.
    Then type &SAP_EDIT in the transaction area (as a function code) and hit enter. A success message displays saying "SAP Editing function is activated".
    You can now execute the report and you can edit any field except the key fields.
    Use with caution!!!
    This is a replacement of the blog at [/people/kevin.wilson2/blog/2009/09/29/tip-editing-any-table-in-sap|/people/kevin.wilson2/blog/2009/09/29/tip-editing-any-table-in-sap] which has stirred so many great discussion points on security.

    >
    J@Y wrote:
    > ... it would help for Ztable data as you mentioned.
    In that case one could argue that the authority-checks are both too strict (for the system debugger) and not granular enough (for the replace function in the ABAP debugger).
    Reason: For the package and the object name, the system is checking against a DUMMY element on all 3 activities used by the command. This is the equivalent of "anything which is something" in the ABAP world. If you call it programatically, then only the ability to display something in the debugger is sufficient to change everything...
    So, if you have access to execute ABAP workbench objects combined with the ability to debug a Smartform, then you can change any database table which you could prior also have displayed.
    OR
    Don't give anyone any debug authority in production at all.
    Works like a charm and the developers eventually start testing their programs more in DEV and QAS and taking collective responsibility for the quality of the coding in the first place...
    Cheers and enjoy the weekend (hopefully without having to be called in the middle of the night to debug some program which won't execute, or debug a table because the program did execute...
    Julius

  • Log for changes in the SAP table

    Hello All,
    I have a SAP table in which we want to log all the changes being made by the number of users like modifying some record or adding a new record.
    Now What I have done is in the SE11 under technical settings I have checked the checkbox which is "Log data changes", Needless to say I have the developer access key to the system.
    Now I want to test whether changes being made by me in the SAP table are logged somewhere or not I want to know where can we see the changes being logged made by me.
    Is there a tcode to see the changes being made in the table or a SAP table exists for this.
    Thanks,
    Mark

    Hi,
    BAL_OBJECT_SELECT --> To get the LOG for a object
    You can use below Tables/Structures
    DDPRT -->  Structure of ABAP/4 Dictionary logs
    DDPRTXT
    Regards
    Sudheer

  • Find/Change Item Numbers and create Table of Contents

    Hello! I need help to find all my item numbers and apply a paragraph style to it so I can use them to create a Table of Contents page.
    Sample item numbers
    #12345
    #12345-5
    #12345-20
    #12345-ABC
    #12345/N
    I tried entering #^?^?^?^?^? on the Find/Change box and but this will find exactly the 5 characters after the # sign. I wonder if you can find all characters starting with # and until the last characters.
    Once I find all the item numbers, how can I apply the paragraph style for only those characters after the # sign? Because I only want to show the item numbers without the # sign on the Table of contents/Index page.
    By the way, I have InDesign CS2 which have no GREP function Maybe I can do this without the GREP?
    I really appreciate any help. Thank you very much.

    You actually have two problems here. The first is to assign the paragraph style. For that you can use GREP.
    Find #\d+ and leave the change field blank, but in the change formatting pick the paragraph style. Stricly speaking you only need to find #\d or even just # because a paragraph style applies to an entire paragraph, so assigning it to any character inthe paragraph will assign it to the entire paragraph.
    Which is your second problem. The TOC is based on paragraph styles and will include all of the text in each paragraph (up to the character limit for a TOC entry, which I think is 256 characters). You can't make a TOC and only use some of the paragraph. For that you need to use an index, or you need to make hidden or non-pinting frames with only the exact text you want in the TOC and assign a unique style to those.
    It's also possible someone has written (or could write) a script that can find text strings that match a pattern such as your numers, assign a character style to them (you could actually do that part in the paragraph style by adding a nested GREP style), then making a list of the text strings along with the page number on which they appear -- almost the same as an index except it would be based on character style, not an index marker.

Maybe you are looking for

  • Getting error while updating data element using Xquery Automator

    Hi, I am getting following error while i am trying to update a data element in my task. <Nov 28, 2011 5:02:40 PM IST> <Error> <oms> <BEA-000000> <automation.AutomationDispatcher: Failed to execute on/plugin/external/ACOI_TMIP_POC/1.0.0/CLARIFY_Task.a

  • How to change the color of Data Markers in Bar chart

    Hi All, In OBIEE 11G, I have Bar chart with 4 measures, each measure is set to a color using Style properties of Graph. Now i want to change the color of the Data markers matching to the Bar color. Which means Bar and Data marker value should be set

  • Create item copy other item (not template)

    Hi experts, I have a question related to PPM 5.0, is it possible create an item with copy other item? ( no copy for a template)? I have no the way to do it. Thanks a lot, Sara

  • Interactive audio controls

    I'm using Captivate 5.5 and creating a quiz to export in SWF/HTM format. It's a listening-comprehension quiz with fill-in-the-blanks input, and I need to let the user pause, continue, and replay an audio file. I've tried inserting audio in a slide or

  • Strut tag logic:greaterThan question

    I'm dealing with a salesperson sales data bean. The bean contains sales goals and actuals for various criteria. If the actual is less than the goal I'd like to display it in red, if greater than, green. The struts doc for the logic greaterThan/lessTh