Highlight rows in SM30 that are in error  using Event 01

I have created an Event 01 (via SE54) to validate the data that is entered in my custom table using SM30.  In my code, how can I highlight the row(s) of data that have invalid data.  Event 01 is executed before saving the data.
Thanks.
Ryan

Hi Dimitri,
I guess I have included it in my page header (in bold letters). Here is a portion of my page source..
<html lang="en-us" xmlns:htmldb="http://htmldb.oracle.com">
<head>
<script src="/i/javascript/htmldb_html_elements.js" type="text/javascript"></script>
<script src="/i/javascript/htmldb_get.js" type="text/javascript"></script>
<script language="JavaScript" type="text/javascript">
<!--
/*Global JS Variables*/
var htmldb_Img_Dir = "/i/";
//-->
</script>
<link rel="stylesheet" href="/i/css/core.css" type="text/css" />
<style type="text/css">
td.t2data {color:red}
td.t2dataalt {color:blue}
</style>
<script language="JavaScript" type="text/javascript">
<!--
htmldb_delete_message='Would you like to perform this delete action?';
//-->
</script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Store Class Local Information</title>
<link rel="stylesheet" href="/i/themes/theme_2/theme_V2.css" type="text/css" />
</head>
<body ><form action="wwv_flow.accept" method="post" name="wwv_flow" id="wwvFlowForm" >
<input type="hidden" name="p_flow_id" value="2007" id="pFlowId" /> <input type="hidden" name="p_flow_step_id" value="42" id="pFlowStepId" /> <input type="hidden" name="p_instance" value="16705997569361941904" id="pInstance" /> <input type="hidden" name="p_page_submission_id" value="318155" id="pPageSubmissionId" /> <input type="hidden" name="p_request" value="" id="pRequest" /><table width=983 border=0 cellpadding=0 cellspacing=0>
<tr>
<td>
<img src="wwv_flow_file_mgr.get_file?p_security_group_id=22816117248010841&p_fname=bgADW2_01.jpg" width=600 height=57 alt="">
</td>
<td>
<img src="wwv_flow_file_mgr.get_file?p_security_group_id=22816117248010841&p_fname=bgADW2_02.jpg" width=383 height=57 alt="">
</td>
</tr>
</table>
....... some more codes .....
but still its not working... Thanks for bearing with me..

Similar Messages

  • OWB mappings to skip rows that are in error and continue processing

    OWB mappings to skip rows that are in error and continue processing.
    1) Enter a record into an error log
    2) Skip rows that are in error
    3) and continue processing
    Type of information could be needed in the error log:
    SY_LOG_ERROR_KEY
    ERROR_TIMESTAMP
    MAP_NAME
    SOURCE_RECORD
    ERROR_CODE
    ERROR_MESSAGE
    ERROR_NOTES
    Example:
    If the source table has five records, in that 3 records has some error.
    When I run the OWB mapping to load the source data to target table, OWB should skip the 3 record and load all the remaining record. This is our requirement.
    Another think I want to store the error record details in a error log table.
    Can u plz tell me whether it is possible in OWB. If not means please give some suggestion to do this.

    Hi,
    thanks for ur help, As is OWB version is 10.2.0 so for set based it is not working. with your idea i create a POST PROCESSING MAPPING. it is now working fine.
    Step 1:
    Create a table MAP_ERROR_LOG.
    Script:
    CREATE TABLE MAP_ERROR_LOG
    ERROR_SEQ NUMBER,
    MAPPING_NAME VARCHAR2(32 BYTE),
    TARGET_TABLE VARCHAR2(35 BYTE),
    TARGET_COLUMN VARCHAR2(35 BYTE),
    TARGET_VALUE VARCHAR2(100 BYTE),
    PRIMARY_TABLE VARCHAR2(100 BYTE),
    ERROR_ROWKEY NUMBER,
    ERROR_CODE VARCHAR2(12 BYTE),
    ERROR_MESSAGE VARCHAR2(2000 BYTE),
    ERROR_TIMESTAMP DATE
    TABLESPACE ODS_D1_AA
    PCTUSED 0
    PCTFREE 10
    INITRANS 1
    MAXTRANS 255
    STORAGE (
    INITIAL 80K
    MINEXTENTS 1
    MAXEXTENTS 2147483645
    PCTINCREASE 0
    BUFFER_POOL DEFAULT
    LOGGING
    NOCOMPRESS
    NOCACHE
    NOPARALLEL
    MONITORING;
    Step 2:
    Create a sequence MAP_ERROR_LOG_SEQ
    CREATE SEQUENCE MAP_ERROR_LOG_SEQ START WITH 1 INCREMENT BY 1
    Step 3:
    Create a procedure PROC_MAP_ERROR_LOG through OWB.
    In this i have used 3 cursor, first cursor is used to check the count of error messages for the corresponding table(WB_RT_ERROR_SOURCES).
    The second cursor is used to get the oracle error and the primary key values.
    The third cursor is used for get the ORACLE DBA errors such as "UNABLE TO EXTEND THE TABLESPACE" for this type errors.
    CREATE OR REPLACE PROCEDURE PROC_MAP_ERROR_LOG(MAP_ID VARCHAR2) IS
    --initialize variables here
    CURSOR C1 IS
    SELECT COUNT(RTA_IID) FROM OWBREPO.WB_RT_ERROR_SOURCES
    WHERE RTA_IID =( SELECT MAX(RTA_IID) FROM OWBREPO.WB_RT_AUDIT WHERE RTA_PRIMARY_TARGET ='"'||MAP_ID||'"');
    V_COUNT NUMBER;
    CURSOR C2 IS
    SELECT A.RTE_ROWKEY ERR_ROWKEY,SUBSTR(A.RTE_SQLERRM,1,INSTR(A.RTE_SQLERRM,':')-1) ERROR_CODE,
    SUBSTR(A.RTE_SQLERRM,INSTR(A.RTE_SQLERRM,':')+1) ERROR_MESSAGE,
    C.RTA_LOB_NAME MAPPING_NAME,SUBSTR(B.RTS_SOURCE_COLUMN,(INSTR(B.RTS_SOURCE_COLUMN,'.')+1)) TARGET_COLUMN,
    B.RTS_VALUE TARGET_VALUE,C.RTA_PRIMARY_SOURCE PRIMARY_SOURCE,C.RTA_PRIMARY_TARGET TARGET_TABLE,
    C.RTA_DATE ERROR_TIMESTAMP
    FROM OWBREPO.WB_RT_ERRORS A,OWBREPO.WB_RT_ERROR_SOURCES B, OWBREPO.WB_RT_AUDIT C
    WHERE C.RTA_IID = A.RTA_IID
    AND C.RTA_IID = B.RTA_IID
    AND A.RTA_IID = B.RTA_IID
    AND A.RTE_ROWKEY =B.RTE_ROWKEY
    --AND RTS_SEQ =1  
    AND B.RTS_SEQ IN (SELECT POSITION FROM ALL_CONS_COLUMNS A,ALL_CONSTRAINTS B
    WHERE A.TABLE_NAME = B.TABLE_NAME
    AND A.CONSTRAINT_NAME = B.CONSTRAINT_NAME
    AND A.TABLE_NAME =MAP_ID
    AND CONSTRAINT_TYPE ='P')
    AND A.RTA_IID =(
    SELECT MAX(RTA_IID) FROM OWBREPO.WB_RT_AUDIT WHERE RTA_PRIMARY_TARGET ='"'||MAP_ID||'"');
    CURSOR C3 IS
    SELECT A.RTE_ROWKEY ERR_ROWKEY,SUBSTR(A.RTE_SQLERRM,1,INSTR(A.RTE_SQLERRM,':')-1) ERROR_CODE,
    SUBSTR(A.RTE_SQLERRM,INSTR(A.RTE_SQLERRM,':')+1) ERROR_MESSAGE,
    C.RTA_LOB_NAME MAPPING_NAME,SUBSTR(B.RTS_SOURCE_COLUMN,(INSTR(B.RTS_SOURCE_COLUMN,'.')+1)) TARGET_COLUMN,
    B.RTS_VALUE TARGET_VALUE,C.RTA_PRIMARY_SOURCE PRIMARY_SOURCE,C.RTA_PRIMARY_TARGET TARGET_TABLE,
    C.RTA_DATE ERROR_TIMESTAMP
    FROM OWBREPO.WB_RT_ERRORS A,OWBREPO.WB_RT_ERROR_SOURCES B, OWBREPO.WB_RT_AUDIT C
    WHERE C.RTA_IID = A.RTA_IID
    AND A.RTA_IID = B.RTA_IID (+)
    AND A.RTE_ROWKEY =B.RTE_ROWKEY (+)
    AND A.RTA_IID =(
    SELECT MAX(RTA_IID) FROM OWBREPO.WB_RT_AUDIT WHERE RTA_PRIMARY_TARGET ='"'||MAP_ID||'"');
    -- main body
    BEGIN
    DELETE ED_ODS.MAP_ERROR_LOG WHERE TARGET_TABLE ='"'||MAP_ID||'"';
    COMMIT;
    OPEN C1;
    FETCH C1 INTO V_COUNT;
    IF V_COUNT >0 THEN
    FOR REC IN C2
    LOOP
    INSERT INTO ED_ODS.MAP_ERROR_LOG
    (Error_seq ,
    Mapping_name,
    Target_table,
    Target_column ,
    Target_value ,
    Primary_table ,
    Error_rowkey ,
    Error_code ,
    Error_message ,
    Error_timestamp)
    VALUES(
    ED_ODS.MAP_ERROR_LOG_SEQ.NEXTVAL,
    REC.MAPPING_NAME,
    REC.TARGET_TABLE,
    REC.TARGET_COLUMN,
    REC.TARGET_VALUE,
    REC.PRIMARY_SOURCE,
    REC.ERR_ROWKEY,
    REC.ERROR_CODE,
    REC.ERROR_MESSAGE,
    REC.ERROR_TIMESTAMP);
    END LOOP;
    ELSE
    FOR REC IN C3
    LOOP
    INSERT INTO ED_ODS.MAP_ERROR_LOG
    (Error_seq ,
    Mapping_name,
    Target_table,
    Target_column ,
    Target_value ,
    Primary_table ,
    Error_rowkey ,
    Error_code ,
    Error_message ,
    Error_timestamp)
    VALUES(
    ED_ODS.MAP_ERROR_LOG_SEQ.NEXTVAL,
    REC.MAPPING_NAME,
    REC.TARGET_TABLE,
    REC.TARGET_COLUMN,
    REC.TARGET_VALUE,
    REC.PRIMARY_SOURCE,
    REC.ERR_ROWKEY,
    REC.ERROR_CODE,
    REC.ERROR_MESSAGE,
    REC.ERROR_TIMESTAMP);
    END LOOP;
    END IF;
    CLOSE C1;
    COMMIT;
    -- NULL; -- allow compilation
    EXCEPTION
    WHEN OTHERS THEN
    NULL; -- enter any exception code here
    END;

  • I want to create stored procedure which will give output rows from "values that are passed as one parameter (comma seperated) to store procedure".

    Hello,
    I want to create stored procedure which will give output rows from "values that are passed as one parameter (comma seperated) to store procedure".
    Suppose , 
    Parameter value : person 1,person2,person3 
    table structure : 
    Project Name | officers 1 | officers 2
    here, officers 1 or officers 2 may contain names of multiple people.
    expected OUTPUT : distinct list(rows) of projects where person 1 or person 2 or person 3 is either officer1 or officer 2. 
    please explain or provide solution in detail 
    - Thanks

    Hi Visakh,
    Thanks for reply.
    But the solution you provided giving me right output only if officer 1 or officer 2 contains single value , not with comma seperated value.
    Your solution is working fine for following scenario : 
    Project 
    Officers 1
    Officers 2
    p1
    of11
    off21
    p2
    of12
    off22
    with parameter : of11,off22 : it will give expected output
    And its not working in case of :
    Project 
    Officers 1
    Officers 2
    p1
    of11,of12
    off21,off23
    p2
    of12,of13
    off22,off24
    with parameter : of11,off22 : it will not give any row in output
    I need patten matching not exact match :) 
    ok
    if thats the case use this modified logic
    CREATE PROC GetProjectDetails
    @PersonList varchar(5000)
    AS
    SELECT p.*
    FROM ProjectTable p
    INNER JOIN dbo.ParseValues(@PersonList,',')f
    ON ',' + p.[officers 1] + ',' LIKE '%,' + f.val + ',%'
    OR ',' + p.[officers 2] + ',' LIKE '%,' + f.val + ',%'
    GO
    Keep in mind that what you've done is a wrong design approach
    You should not be storing multiples values like this as comma separated list in a single column. Learn about normalization . This is in violation of 1st Normal Form
    Please Mark This As Answer if it solved your issue
    Please Mark This As Helpful if it helps to solve your issue
    Visakh
    My MSDN Page
    My Personal Blog
    My Facebook Page

  • Is there a way to LIST OUT all of the active images that are currently being used on a page in Dreamweaver?

    Is there a way to LIST OUT all of the active images that are currently being used on a page in Dreamweaver?  Or do I have to click each one and write down the image name by hand?
    Thanks!
    LJ

    Alternatively use a browser:
    Use the Firefox Web Developer Toolbar
    https://addons.mozilla.org/en-US/firefox/addon/60
    Images > View Image Information
    or the List All Images Add On for Firefox
    https://addons.mozilla.org/en-US/firefox/addon/3688
    or the Web Developer tools in IE8 (or earlier), F12 > Image > View Image Report

  • Spooling out profile that are not being used

    hi guys,
    is there anyway to spool out those profile that are not in used or assigned to any username or roles?

    flaskvacuum wrote:
    hi guys,
    is there anyway to spool out those profile that are not in used or assigned to any username or roles?
    SQL> CREATE PROFILE test LIMIT
      2     FAILED_LOGIN_ATTEMPTS 5
      3     PASSWORD_LIFE_TIME 60
      4     PASSWORD_REUSE_TIME 60
      5     PASSWORD_REUSE_MAX 5
      6     PASSWORD_VERIFY_FUNCTION null
      7     PASSWORD_LOCK_TIME 1/24
      8     PASSWORD_GRACE_TIME 10;
    Profile created.
    -- Created but not assigned --
    SQL> select distinct profile from dba_profiles where profile not in (select profile from dba_users);
    PROFILE
    TEST
    SQL>

  • Help documents for APIs that are to be used to write our own apllication

    Hi,
    Iam using SUP 2.1 ESD#1 licensed version,
    There are no help documents for the APIu2019s that are to be used to write our own application, so can some one provide me with some docs.
    Thanks,
    B.Ushasri

    They are available online... what platform are you writing for? I'm assuming youre writing a Native app?
    Ian

  • I have photos in my trash that are also in my event library.  If I empty trash will they also delete from event library?       I

    I have photos in my trash that are also in my events library.  If I empty trash will these photos also be deleted in my events?

    I have close to 4,000 photos in the trash that are eating up valuable space.

  • What are the .fm.sp files that are created when using SharePoint?

    What are the .fm.sp files that are created when using SharePoint? When I'm working with SharePoint, I've noticed that duplicate files ending in .fm.sp are created. I've been unable to find any reference or documentation about them so far.

    Whe you use sharepoint as a CMS connections in Framemaker it creates the folder where Sp is installed and also a file ending .sp is created that let SP know that its the file associated with it.
    .fm.sp indicates that its the framemaker type SP file.
    Dont worry about it as its not creating any mess in the system.
    Harpreet

  • How can I find photos that are not in any event?

    Help!  I have finally, after a decade or so, organized my events and emptied out the trash and gotten rid of duplicates. Round of applause, please.  How can I find out if there are sneaky pictures that are NOT in any particular event (please dont say by showing all photos and just going through each one!)

    You can't because every photo is in an Event already. That's how iPhoto works. Every photo is in the LIbrary. The Library is built upon events. SO if it's in iPhoto, it's in the Library and in an Event.
    Albums are different, as they refernce photos in the LIbrary. It;s perfectly possilbe to have a photo in the Library but not in an album.

  • Watching all fields that are in scope using JPDA

    Hi,
    I'm helping develop a debugger using JDI and have a question about watching certain types of variables that are in scope.
    I can watch local variables by getting the current thread's StackFrame and can watch static fields of outer classes by getting their corresponding ReferenceTypes. However, I can't find a good way to watch non-static fields of outer classes that aren't shadowed.
    Example. Debugging the following code:
    class A {
    int x = 5;
    class B {
    public void foo() {
    System.out.println("x = " + x);
    public void callFoo() {
    B myB = new B();
    myB.foo();
    The result of calling callFoo on an instance of A is "x = 5" as it should be.
    Clearly the method foo() can see what x is. However, it seems to me that to watch the value of x (a non-static field) at any point while I'm debugging, I have to have use the thisObject() method of the appropriate StackFrame and then call getValue() with x. However, if my current thread is suspended within the foo() method, it may not always be possible to retrieve the correct StackFrame (e.g. if foo() is called from some other class such as my debugger event handling thread).
    Basically, it'd be nice if you could point out that I'm just not seeing some nice call like getValue(Field f) that will get the value of an instance field that is anywhere in scope, especially those in outer classes. Or if you see anything I'm missing or another way to watch instance fields in outer classes, your help would be greatly appreciated!
    James

    I'm helping develop a debugger using JDI and have a
    question about watching certain types of variables
    that are in scope.You would do this by creating a com.sun.jdi.request.WatchpointRequest
    and restricting the scope of the request to the object specified. This
    is done by adding filter(s) to the request before it is enabled. For
    more information, take a look at:
    http://java.sun.com/j2se/1.4.1/docs/guide/jpda/jdi/com/sun/jdi/request/WatchpointRequest.html#addInstanceFilter(com.sun.jdi.ObjectReference)

  • How do I delete places in the organizer that are not being used?

    In Elements Organizer 12, I think I accidentally created a "place" on the map that I do not want to apply to any photos.  When I try to do conduct an advanced search, the place is appearing as a checkbox.  I do not want this place to show up in the search field, as we have never been there.  How do I remove places that are not associated with any photos?

    If you are accessing emails from multiple devices, you are better off using the IMAP protocol. Then the devices sync with the server and they are all looking at the same information. With POP, you are going to get your emails spread about, some on Outlook, some on the iPad. It could get very confusing.
    By default, the iPad will not delete from a POP server. Instructions for changing this are here: http://support.apple.com/kb/HT3228

  • SSAS Tabular - rows in model that are NOT in source -due to building of "cube"?

    I have a source SQL table that is basically a SELECT * FROM SQLSOURCETABLE for a table in a TABULAR model.
    When that table processes, it appears to not only return just the rows in the table, but to build a cube and store results for rows that do not exist.
    That is to say:
    SalesAmount
    SalesCategory
    SalesYear
    The table has rows for SalesCategory="Bikes" and SalesYear=2012.
    However the source SQL table has no Bike sales in the year 2013.  So instead of the tabular model having no rows for 2013 it instead has SalesCategory: Bikes, SalesYear:2013 and SalesAmount = 0
    Querying the SQL source table with:
    SELECT SalesAmount,SalesCategory,SalesYear
    FROM SQLSOURCETABLE
    WHERE SalesCategory='Bikes' AND SalesYear=2013
    would return zero rows.  However, in the tabular model after processing it does return rows, with SalesAmount=0.
    I assume this is standard behavior for Tabular models (since they are part of SSAS and well... just building their cube?)
    I guess I just never thought of it building out data for intersections that did NOT exist, only for intersections of data that DID exist?
    *EDITED: Fixed typo I had 2014 instead of 2013 for year

    Hi ,
    Thank you for your question. 
    I am trying to involve someone more familiar with this topic for a further look at this issue. Sometime delay might be expected from the job transferring. Your patience is greatly appreciated. 
    Thank you for your understanding and support.
    Regards,
    Charlie Liao
    TechNet Community Support

  • Checkbox field only reads highlighted not other fields that are checked.

    Hello All,
    I am having an issue with an Oracle form that I am working on.
    I have a datablock called PARTS_ADDED_POPUP. It has two textbox fields called PART_NBR and PART_SERL and a checkbox field called STATUS_FLAG.
    After all of the required information is filled in and you click the button to update the database with the new information that is required. It will update the part_nbr and part_serl that is currently highlighted when you selected it from the datablock but it will not update the other part_nbr and part_serl that you selected.
    For example:
    Part Nbr 12345A
    Part Serl ABC1
    Status Flag = 'Y'(NOT Highlighted)
    Part Nbr 12345A
    Part Serl DEF2
    Status Flag = 'Y'(Is Highlighted by datablock)
    It will only update the second one because it is currently highlighted in the datablock.
    I am using this code in the program units section of my form. Excuse my messiness in the code because I was trying to see to what data is being pulled in.
    if :detail.pm_man_div_code = 'Y' then
    GO_BLOCK('PARTS_ADDED_POPUP');
    first_record;
    loop
    IF :parts_added_popup.status_flag = 'Y' then                                             
    SELECT STATEMENT HERE!!
    update statement here
    cos_quantity := '-1';
         Subr_Inv(
         :detail.sl_stock_loc_no, --ibup_from_stock_loc
         :parts_added_popup.pwd_part_nbr, --ibup_from_part_nbr
         'N', --ibup_from_status_flag
         condition, --ibup_from_condition
         cos_quantity);
    cos_quantity := '1';
    Subr_Inv(
    :issue.cos_stocking_loc, --ibup_to_stock_loc
    :parts_added_popup.pwd_part_nbr, --ibup_to_part_nbr
    'N', --ibup_to_status_flag
    condition, --ibup_to_condition
    cos_quantity);
                                       exit when :system.last_record = 'TRUE';                               
                                  next_record;                              
                        else
                             exit when :system.last_record = 'TRUE';
                             next_record;
                                       end if;
                             end loop;
                   end if;
    I have read other forum/post in here about checkboxes and this is how I came to my code as to what it is right now. Just trying to figure out how to get it to read thru every record on that datablock.
    I am hoping that I can get a response by the end of the day today. If you have any questions please let me know.
    Any help, suggestions are appreciated.
    Thanks,
    Wayne
    Edited by: Wayne Major on Aug 28, 2009 7:06 AM
    Had to make it generic now..so I didn't want to get in trouble but that is the solution that I did in the code

    You said: "you click the button to update the database with the new information that is required"
    Put message in this button to display :system.cursor_block.
    If it's not the PARTS_ADDED_POPUP you might want to add GO_BLOCK('PARTS_ADDED_POPUP') to your code, or to change property of that button Mouse Navigate = No

  • How to remove the bufgs that are not being used

    Hi,
    I have a IP block that has BUFGs that may or may not be used depending on which design the IP block is used. If they are not used I would like them to be removed but the tools are not consistent, sometimes they remove them and sometimes they do not.
    How do I specifically tell Vivado to remove a BUFG in the .XDC file?
    I've seen someone suggest to use the following attribute in the VHDL file but I need something in the XDC file
    attribute buffer_type of drck_i : signal is "none";
    Thank you,
    Luis

    Hi 
    If the BUFG instance is instantiated in the IP or your design then the buffer_type attribute will not work.
    The opt_design trims the unconnected instances during implementation. Ensure that the BUFG does not have  DONT_TOUCH property set on it which might affect trimming.
    Thanks,
    Deepika.

  • I've just had my yahoo mail on my ipad hacked. I've changed my yahoo mail password. Is there an virus scan apps for iPad that are recommended for use?

    I've just had my yahoo mail on my ipad hacked. It seems to have used all my contact on iPad to and from. Is there any virus software for iPad I can use. I've changed my password for my yahoo account last night  already, but it seems emails are still going out. I've just been notified emails are still going out this morning

    Your iPad doesn't have a virus.
    Perhaps those mails were ones that were queued and just went out? Or maybe they rehacked your account?
    mine was hacked a couple of weeks ago and they just mailed and ran.
    You might want to change your password again.
    it's also possible that your address is just being spoofed.

Maybe you are looking for

  • What about security in adf faces application ?

    It seem that the documentation has a little bit changed about security for adf faces application. SRDemo J2EE sample application only implemented the security at the web container and may be for the session beans (don't remember) by using security-ro

  • Home Page for EP6.0 SP9

    Hi, We are in process of designing the Home Page for our EP version 6.0 SP 9. Our design of Default Page looks like the Home page of the http://service.sap.com When we use the MIME Objects and the Links on this page, it has to route to the correspond

  • Adding scientific terms to spell check

    Hi. In terms of Maverick's Spell Check, is there a way to import a medical dictionary? Thanks

  • I haven't used FCP in 2 years...

    Been using Media Composer for a while now and I've gone back to FCP for a project, but for the life of me I can't remember how to cut a clip without leaving a gap -basically the equivalent of the Avid "cut" function as opposed to "lift". I thought it

  • How do I generate an array of random numbers that relate to an output wave that falls within a certain frequency range?

    I have been creating random numbers that I'm using within a system, the system is working fine, but now I have realised that the random numbers must be outputted to speakers in such a way as to filter out all but a low frequency range. I was thinking