Delay in output, how to remove?

brief programme description:
1. i have a Swing window spawning SwingWorkers.
2. workers fire events listened to by the swing window
3. window retrieves results and calls a static method in another class for output
4. the static method serialises a collection and outputs it to a file
5. all this while new workers are spawned and activated.
im trying to make the programme write the data to file for every N workers completed, and write whatever is gathered when the window closes (via windowlistener)
however, there is always a long delay before the former happens (eg the first 100 is written when progress has reached 1000), and the latter never happens (file made is empty).
whats the cause and how do i make it output to file immediately when conditions are met as intended?

In the future, Swing related questions should be posted in the Swing forum.
im guessing its a threading problem, any ideas? Probably. Read the Swing tutorial on Concurrency for more information on this topic.

Similar Messages

  • How to remove toolbar in its mobile at output screen?

    Hi,
    I've a problem in ITS MOBILE. I runned ITS, but it's running with sap toolbar. How to remove toolbar in ITS MOBILE at output screen?
    Regards, Buğra.

    Hi Ahmet,
    Please provide the below in GUI Configuration in SICF Transaction .
    ~webgui_toolbar_menu_reload  = 0
    Thanks,
    Seshadri.

  • How to remove actual XML content from Weather Web Service Client's standard output?

    Hi,
    I tried web service example examples.webservices.rpc.weatherEJB.Weather with WLS6.1,
    it works fine, but on client side, ( either Client or DClient ), I always see
    the actual XML content being sent and received from standard output, like
    "------------- RECEIVING XML -------------", and I can't find any related System.out.println
    statement in client source code, Please explain how to remove it, may there is
    a configurable parameter for this? any help will be highly appreciated.
    Thanks
    Naichen

    Hi Naichen,
    To suppress showing the actual SOAP request and response going to standard out,
    change the following line in the Client.java:
    h.put("weblogic.soap.verbose", "true" );
    to read:
    h.put("weblogic.soap.verbose", "false" );
    Regards,
    Mike Wooten
    "Naichen Liu" <[email protected]> wrote:
    >
    Hi,
    I tried web service example examples.webservices.rpc.weatherEJB.Weather
    with WLS6.1,
    it works fine, but on client side, ( either Client or DClient ), I always
    see
    the actual XML content being sent and received from standard output,
    like
    "------------- RECEIVING XML -------------", and I can't find any related
    System.out.println
    statement in client source code, Please explain how to remove it, may
    there is
    a configurable parameter for this? any help will be highly appreciated.
    Thanks
    Naichen

  • How to remove duplicates records from output ?

    how to remove duplicates records from output ?  i used delete adjacent but duplicates records are coming again ..suggest me

    hi shruthi,
    thanks for ur answer ..but duplicates records coming again
    here is my code >> plz check it out
    *& Report  ZCRM_TROUBLE_TICKET
    REPORT  zcrm_trouble_ticket.
    TYPES : BEGIN OF ty_qmih,
            qmnum TYPE qmnum,
            equnr TYPE equnr,
            iloan TYPE iloan,
            ausvn TYPE ausvn,
            ausbs TYPE ausbs,
            auztv TYPE auztv,
            auztb TYPE auztb,
            iwerk TYPE iwerk,
            END OF ty_qmih,
            BEGIN OF ty_qmel,
            qmnum TYPE qmnum,
            qmtxt TYPE qmtxt,
            indtx TYPE indltx,
            priok TYPE priok,
            strmn TYPE strmn,
            strur TYPE strur,
            ltrmn TYPE ltrmn,
            ltrur TYPE ltrur,
            objnr TYPE qmobjnr,
            arbpl TYPE lgwid,
            vkorg TYPE vkorg,
            vtweg TYPE vtweg,
            spart TYPE spart,
            END OF ty_qmel,
            BEGIN OF ty_ihpa,
            parnr TYPE i_parnr,
            parvw TYPE parvw,
            objnr TYPE qmobjnr,
            END OF ty_ihpa,
            BEGIN OF ty_crhd,
            arbpl TYPE arbpl,
            objid TYPE cr_objid,
            END OF ty_crhd,
            BEGIN OF ty_crtx,
            ktext TYPE cr_ktext,
            objid TYPE cr_objid,
            END OF ty_crtx,
            BEGIN OF ty_qmfe,
            fecod TYPE fecod,
            fegrp TYPE fegrp,
            qmnum TYPE qmnum,
            END OF ty_qmfe,
            BEGIN OF ty_qmur,
            urcod TYPE urcod,
            urgrp TYPE urgrp,
            urtxt TYPE urstx,
            qmnum TYPE qmnum,
            END OF ty_qmur,
            BEGIN OF ty_iloa,
            tplnr TYPE tplnr,
            iloan TYPE iloan,
            END OF ty_iloa,
            BEGIN OF ty_output,
            qmnum TYPE qmnum,
            equnr TYPE equnr,
           iloan TYPE iloan,
            ausvn TYPE ausvn,
            ausbs TYPE ausbs,
            auztv TYPE auztv,
            auztb TYPE auztb,
            iwerk TYPE iwerk,
            qmtxt TYPE qmtxt,
            indtx TYPE indltx,
            priok TYPE priok,
            strmn TYPE strmn,
            strur TYPE strur,
            ltrmn TYPE ltrmn,
            ltrur TYPE ltrur,
           objnr TYPE qmobjnr,
           arbpl TYPE lgwid,
            vkorg TYPE vkorg,
            vtweg TYPE vtweg,
            spart TYPE spart,
            parnr TYPE i_parnr,
            parvw TYPE parvw,
            arbpl TYPE arbpl,
           objid TYPE cr_objid,
           arbpl1 TYPE arbpl,
            ktext TYPE cr_ktext,
            fecod TYPE fecod,
            fegrp TYPE fegrp,
            urcod TYPE urcod,
            urgrp TYPE urgrp,
            urtxt TYPE urstx,
            tplnr TYPE tplnr,
            END OF ty_output.
    DATA : it_qmih TYPE STANDARD TABLE OF ty_qmih,
           it_qmel TYPE STANDARD TABLE OF ty_qmel,
           it_ihpa TYPE STANDARD TABLE OF ty_ihpa,
           it_crhd TYPE STANDARD TABLE OF ty_crhd,
           it_crtx TYPE STANDARD TABLE OF ty_crtx,
           it_qmfe TYPE STANDARD TABLE OF ty_qmfe,
           it_qmur TYPE STANDARD TABLE OF ty_qmur,
           it_iloa TYPE STANDARD TABLE OF ty_iloa,
           it_output TYPE STANDARD TABLE OF ty_output,
           wa_qmih TYPE ty_qmih,
           wa_qmel TYPE ty_qmel,
           wa_ihpa TYPE ty_ihpa,
           wa_crhd TYPE ty_crhd,
           wa_crtx TYPE ty_crtx,
           wa_qmfe TYPE ty_qmfe,
           wa_qmur TYPE ty_qmur,
           wa_iloa TYPE ty_iloa,
           wa_output TYPE ty_output.
    INITIALIZATION.
      REFRESH : it_qmih,
                it_qmel,
                it_ihpa,
                it_crhd,
                it_crtx,
                it_qmfe,
                it_qmur,
                it_iloa,
                it_output.
      CLEAR:     wa_qmih,
                 wa_qmel,
                 wa_ihpa,
                 wa_crhd,
                 wa_crtx,
                 wa_qmfe,
                 wa_qmur,
                 wa_iloa,
                 wa_output.
    start-of-selection.
      SELECT  qmnum
              equnr
              iloan
              ausvn
              ausbs
              auztv
              auztb
              iwerk
              FROM qmih
              INTO  TABLE it_qmih.
      SORT it_qmih BY qmnum .
      DELETE ADJACENT DUPLICATES FROM it_qmih COMPARING qmnum equnr iloan ausvn ausbs auztv auztb iwerk.
      SELECT   qmnum
               qmtxt
               indtx
               priok
               strmn
               strur
               ltrmn
               ltrur
               objnr
               arbpl
               vkorg
               vtweg
               spart
               FROM qmel
               INTO TABLE it_qmel
               FOR ALL ENTRIES IN it_qmih
               WHERE qmnum = it_qmih-qmnum.
      SORT it_qmel BY qmnum.
      DELETE ADJACENT DUPLICATES FROM it_qmel COMPARING  qmnum
                                                         qmtxt
                                                         indtx
                                                         strmn
                                                         strur
                                                         ltrmn
                                                         ltrur
                                                         objnr
                                                         arbpl
                                                         vkorg
                                                         vtweg
                                                         spart.
      IF it_qmel IS NOT INITIAL.
        SELECT parnr
               parvw
               objnr
               FROM ihpa
               INTO TABLE it_ihpa
               FOR ALL ENTRIES IN it_qmel
               WHERE objnr = it_qmel-objnr.
      ENDIF.
      DELETE ADJACENT DUPLICATES FROM it_ihpa COMPARING  parnr
                                                         parvw
                                                         objnr.
      IF it_qmel IS NOT INITIAL.
        SELECT arbpl
               objid
               FROM crhd
               INTO TABLE it_crhd
               FOR ALL ENTRIES IN it_qmel
               WHERE objid = it_qmel-arbpl.
      ENDIF.
      DELETE ADJACENT DUPLICATES FROM it_crhd COMPARING  arbpl
                                                         objid.
      IF it_qmel IS NOT INITIAL.
        SELECT ktext
               objid
               FROM crtx
               INTO TABLE it_crtx
               FOR ALL ENTRIES IN it_crhd
               WHERE objid = it_crhd-objid.
      ENDIF.
      DELETE ADJACENT DUPLICATES FROM it_crtx COMPARING ktext
                                                        objid.
      IF it_qmih IS NOT INITIAL.
        SELECT fecod
               fegrp
               qmnum
               FROM qmfe
               INTO TABLE it_qmfe
               FOR ALL ENTRIES IN it_qmih
               WHERE qmnum = it_qmih-qmnum.
      ENDIF.
      SORT it_qmfe BY qmnum.
      DELETE ADJACENT DUPLICATES FROM it_qmfe COMPARING fecod
               fegrp.
      IF it_qmih IS NOT INITIAL.
        SELECT urcod
               urgrp
               urtxt
               qmnum
               FROM qmur
               INTO TABLE it_qmur
               FOR ALL ENTRIES IN it_qmih
               WHERE qmnum = it_qmih-qmnum.
      ENDIF.
      SORT it_qmur BY qmnum.
      DELETE ADJACENT DUPLICATES FROM  it_qmur COMPARING urcod
                                                         urgrp
                                                         urtxt.
      IF it_qmih IS NOT INITIAL.
        SELECT  tplnr
                iloan
                FROM iloa
                INTO TABLE it_iloa
                FOR ALL ENTRIES IN it_qmih
                WHERE iloan = it_qmih-iloan.
      ENDIF.
      DELETE ADJACENT DUPLICATES FROM it_iloa COMPARING tplnr
                                                        iloan.
      LOOP AT it_qmih INTO wa_qmih.
        wa_output-qmnum = wa_qmih-qmnum.
        wa_output-equnr = wa_qmih-equnr.
       wa_output-iloan = wa_qmih-iloan.
        wa_output-ausvn = wa_qmih-ausvn.
        wa_output-ausbs = wa_qmih-ausbs.
        wa_output-auztv = wa_qmih-auztv.
        wa_output-auztb = wa_qmih-auztb.
        wa_output-iwerk = wa_qmih-iwerk.
        APPEND wa_output TO it_output.
        CLEAR wa_output.
        READ TABLE it_qmel INTO wa_qmel WITH KEY qmnum = wa_qmih-qmnum.
        wa_output-qmtxt = wa_qmel-qmtxt.
        wa_output-indtx = wa_qmel-indtx.
        wa_output-priok = wa_qmel-priok.
        wa_output-strmn = wa_qmel-strmn.
        wa_output-strur = wa_qmel-strur.
        wa_output-ltrmn = wa_qmel-ltrmn.
        wa_output-ltrur = wa_qmel-ltrur.
       wa_output-objnr = wa_qmel-objnr.
       wa_output-arbpl = wa_qmel-arbpl.
        wa_output-vkorg = wa_qmel-vkorg.
        wa_output-vtweg = wa_qmel-vtweg.
        wa_output-spart = wa_qmel-spart.
        APPEND wa_output TO it_output.
        CLEAR wa_output.
        READ TABLE it_ihpa INTO wa_ihpa WITH KEY objnr = wa_qmel-objnr.
        wa_output-parnr = wa_ihpa-parnr.
        wa_output-parvw = wa_ihpa-parvw.
        APPEND wa_output TO it_output.
        CLEAR wa_output.
        READ TABLE it_crhd INTO wa_crhd WITH KEY objid = wa_qmel-arbpl.
        wa_output-arbpl = wa_crhd-arbpl.
        APPEND wa_output TO it_output.
        CLEAR wa_output.
        READ TABLE it_crtx INTO wa_crtx WITH KEY objid = wa_crhd-objid.
        wa_output-ktext = wa_crtx-ktext.
        APPEND wa_output TO it_output.
        CLEAR wa_output.
        READ TABLE it_qmfe INTO wa_qmfe WITH KEY qmnum = wa_qmih-qmnum.
        wa_output-fecod = wa_qmfe-fecod.
        wa_output-fegrp = wa_qmfe-fegrp.
        APPEND wa_output TO it_output.
        CLEAR wa_output.
        READ TABLE it_qmur INTO wa_qmur WITH KEY qmnum = wa_qmih-qmnum.
        wa_output-urcod = wa_qmur-urcod.
        wa_output-urgrp = wa_qmur-urgrp.
        wa_output-urtxt = wa_qmur-urtxt.
        APPEND wa_output TO it_output.
        CLEAR wa_output.
        READ TABLE it_iloa INTO wa_iloa WITH KEY iloan = wa_qmih-iloan.
        wa_output-tplnr = wa_iloa-tplnr.
        APPEND wa_output TO it_output.
        CLEAR wa_output.
      ENDLOOP.
      DELETE ADJACENT DUPLICATES FROM it_output  COMPARING        qmnum
                                                                  equnr
                                                                  ausvn
                                                                  ausbs
                                                                  auztv
                                                                  auztb
                                                                  iwerk
                                                                  qmtxt
                                                                  indtx
                                                                  priok
                                                                  strmn
                                                                  strur
                                                                  ltrmn
                                                                  ltrur
                                                                  vkorg
                                                                  vtweg
                                                                  spart
                                                                  parnr
                                                                  parvw
                                                                  arbpl
                                                                  ktext
                                                                  fecod
                                                                  fegrp
                                                                  urcod
                                                                  urgrp
                                                                  urtxt
                                                                  tplnr.
    *CALL FUNCTION 'STATUS_TEXT_EDIT'
    EXPORTING
      CLIENT                  = SY-MANDT
      FLG_USER_STAT           = ' '
       objnr                   =
      ONLY_ACTIVE             = 'X'
       spras                   = en
      BYPASS_BUFFER           = ' '
    IMPORTING
      ANW_STAT_EXISTING       =
      E_STSMA                 =
      LINE                    =
      USER_LINE               =
      STONR                   =
    EXCEPTIONS
      OBJECT_NOT_FOUND        = 1
      OTHERS                  = 2
    *IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    *ENDIF.
    *CALL FUNCTION 'READ_TEXT'
    EXPORTING
      CLIENT                        = SY-MANDT
       id                            =
       language                      =
       name                          =
       object                        =
      ARCHIVE_HANDLE                = 0
      LOCAL_CAT                     = ' '
    IMPORTING
      HEADER                        =
    tables
       lines                         =
    EXCEPTIONS
      ID                            = 1
      LANGUAGE                      = 2
      NAME                          = 3
      NOT_FOUND                     = 4
      OBJECT                        = 5
      REFERENCE_CHECK               = 6
      WRONG_ACCESS_TO_ARCHIVE       = 7
      OTHERS                        = 8
    *IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    *ENDIF.
    *LOOP AT IT_OUTPUT INTO WA_OUTPUT.
    *WRITE : / WA_OUTPUT-qmnum,
             WA_OUTPUT-equnr,
             WA_OUTPUT-iloan,
             WA_OUTPUT-ausvn,
             WA_OUTPUT-ausbs,
             WA_OUTPUT-auztv,
             WA_OUTPUT-auztb,
             WA_OUTPUT-qmtxt,
             WA_OUTPUT-indtx,
             WA_OUTPUT-strmn,
             WA_OUTPUT-strur,
             WA_OUTPUT-ltrmn,
             WA_OUTPUT-ltrur,
             WA_OUTPUT-objnr,
             WA_OUTPUT-arbpl,
             WA_OUTPUT-parnr,
             WA_OUTPUT-parvw,
             WA_OUTPUT-objid,
             WA_OUTPUT-ktext,
             WA_OUTPUT-fecod,
             WA_OUTPUT-fegrp,
             WA_OUTPUT-urcod,
             WA_OUTPUT-urgrp,
             WA_OUTPUT-urtxt,
             WA_OUTPUT-tplnr.
    *ENDLOOP.
      CALL FUNCTION 'GUI_DOWNLOAD'
        EXPORTING
      BIN_FILESIZE                    =
          filename                        = 'E:\CRM1.TXT'
      FILETYPE                        = 'ASC'
      APPEND                          = ' '
         write_field_separator           = '|'
      HEADER                          = '00'
      TRUNC_TRAILING_BLANKS           = ' '
      WRITE_LF                        = 'X'
      COL_SELECT                      = ' '
      COL_SELECT_MASK                 = ' '
      DAT_MODE                        = ' '
      CONFIRM_OVERWRITE               = ' '
      NO_AUTH_CHECK                   = ' '
      CODEPAGE                        = ' '
      IGNORE_CERR                     = ABAP_TRUE
      REPLACEMENT                     = '#'
      WRITE_BOM                       = ' '
      TRUNC_TRAILING_BLANKS_EOL       = 'X'
      WK1_N_FORMAT                    = ' '
      WK1_N_SIZE                      = ' '
      WK1_T_FORMAT                    = ' '
      WK1_T_SIZE                      = ' '
      WRITE_LF_AFTER_LAST_LINE        = ABAP_TRUE
    IMPORTING
      FILELENGTH                      =
        TABLES
          data_tab                        = it_output
      FIELDNAMES                      =
    EXCEPTIONS
      FILE_WRITE_ERROR                = 1
      NO_BATCH                        = 2
      GUI_REFUSE_FILETRANSFER         = 3
      INVALID_TYPE                    = 4
      NO_AUTHORITY                    = 5
      UNKNOWN_ERROR                   = 6
      HEADER_NOT_ALLOWED              = 7
      SEPARATOR_NOT_ALLOWED           = 8
      FILESIZE_NOT_ALLOWED            = 9
      HEADER_TOO_LONG                 = 10
      DP_ERROR_CREATE                 = 11
      DP_ERROR_SEND                   = 12
      DP_ERROR_WRITE                  = 13
      UNKNOWN_DP_ERROR                = 14
      ACCESS_DENIED                   = 15
      DP_OUT_OF_MEMORY                = 16
      DISK_FULL                       = 17
      DP_TIMEOUT                      = 18
      FILE_NOT_FOUND                  = 19
      DATAPROVIDER_EXCEPTION          = 20
      CONTROL_FLUSH_ERROR             = 21
      OTHERS                          = 22
      IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.

  • How to remove trailing delimiter generated by MFL output

    Hi,
    The last delimiter value of ^C is being generated for some odd reason as shown below:
    16428281^CFPL^C909709^CFPL^C^C946971^CSingle Phase(1)^C67039703702^CB^CConstructed^C17602 N 118 TR^C120/240^C08561^CN/A^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^CConstru
    cted^CAerial^C457225^CUnknown^C^CNo^CNormal Closed^CClamp^CB^C1^C2-Cover^C296688734^CNo^CNo^C50^C^CYes^CNo^CYes^C22860Y/13200^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C
    ^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C16428199^Coh_fuse_switch^C67039823007W^C4^CD15A2^CAG0484^C22.9^C66637544501^C8147503^CFalse^C4^CJupiter^C45^C0^Cdefault^CYes^C
    Would anyone know how to remove a trailing delimiter that is generated as part of an MFL output or update my MFL to not produce the delimiter value at all for the last value?
    Thanks,
    Yusuf

    Hi,
    I was able to resolve this issue with some java code that performed some encode/decode of base64 data (MFL data that was supplied to the java callout turns out to be an array of byte data).  After decoding the data I performed the following:
    - found the string length
    - identified if the string ended with the special charater, which in my case was '\x03'
    - concatenated the string with the system version of a new line value.
    Thanks,
    Yusuf

  • How to remove the mandatory field setting in output control

    Hi everybody,
    While printing a Payment Voucher through F-58 and FBZ5(reprint), there are two output devices, the first one is - printer for forms and second is - payment advice printer.
    In our case we have configured the cheque printing and payment voucher printing seperately. The cheque goes to first printer(kept mandatory field) and the payment voucher goes to second printer. One of our plant does not print the cheque from SAP, they only print the payment voucher because the cheque is manually prepared. How do I avoid the cheque printing. Is there any way out to print only the payment voucher through F-58 and FBZ5
    Please guide me how to tackle it or how to remove the mandatory field setting in the output control screen?
    Regards
    Paul

    Hi
    As of my understanding, there is no relation ship between the Sales Organization and this mandatory partner function.
    Here are few suggestions.
    1. Since Partner functions are defualted and made mandatory in the Partner Determination Procedure so you have to remove this Mandatory option for PE from the Partner Determination Procedure that is AG if using standard one.
    2. If you are using a single partner function than , Copy and create a New partner procedure and a new account group . Where in one you can default PE as mandatory and in another one you make a optional where it can be choosen manually while creating the customer.
    Follow the path to check for entries :
    SPRO > sales & distribution > Basic Function > Partner Determination > set up partner determination > select for customer master > select the partner procedure you are using AG as standard > then partner function in procedure > here maintian the check as required like, Mandatory or No check for Non Mandatory .
    Thanks
    RB

  • How to remove new line character from query output?

    Hi,
    How to remove new line character from query output?
    have tried select replace(column_name, CHR(10), ' ') from table_name.
    Edited by: GreenHorn on Sep 11, 2008 12:53 AM

    Please consider, that windows uses a sequence of chr13||chr(10) Unix uses only one character chr(10).
    The new line character(s) may be OS-dependent.
    You could consider both with:
    replace(replace(column_name, CHR(13)||CHR(10), ' '),CHR(10),' ')
    Hartmut
    Edited by: hartmutm on 11.09.2008 01:32

  • How to remove extract space between pages in smartform without changing output

    Hello Experts,
    I've been given a requirement where I need to remove extra space between pages of a smartform (refer to the attachment). If you look at the following screen shot then you will notice that that there is a command provided to display details on these pages which has a checkbox 'Go to New Page'.
    When I removed the above New Page comment then still I don't see the expected output (Refer to the attached screen shot 'Expected' to see what I need).
    Also there is another there is another New Page command (as shown below).
    When I tried to removed the above New Page Command then output was totally changed which user don't want (as shown below. Table should have been break on BCVI on red line, which happens today but with so much extra space).
    To view the correct output how user want please have a look at 'Expected' screen shot.
    Now the question is what change I should make in my smartform to accomplish the expected output.
    Many thanks in advance.

    Hello,
    I think that it should work, this construction of an loop node including all relevant items and at the event TAB event sort field only these items are copied in the OUTPUT_TAB which should be printed in a separate table on the form. After having printed the table, the content of the internal table is cleared.
    I suppose that you first should check if this TAB "event sort field" includes the correct criteria for the necessary group change. If this event is really defined correctly, then I only have one hint for you.
    I know that the only possibility to define a page break in a table in the Window MAIN is to use the following technique:
    Define an outside loop node and in this loop node a table node, but this table does not have a internal table to be looped through. It includes only the fields to be printed, maybe you have to re-design your table node.
    By the way only then you can define a command node including a page break during the processing of an internal table.
    Regards
    Juergen

  • How to set input delay and output delay when source Synchronous

    ClkIN is the board clock which is connected to the FPGA. Clkif is the generated clock from ClkIN. The Device's clk come from Clkif. So, how to set input delay and output delay in this scene(within my understand, this is Source Synchronous)?
    The example in many document, the input delay and output delay setting all refer to board clock(within my understand, this is System Synchronous). In that scene, the input delay max = TDelay_max + Tco_max; input delay min = Tdelay_min + Tco_min; the output delay max = Tdelay_max + Tsu; output delay min = Tdelay_min - Th.
    So, I want to know how to set input/output delay in the Source Synchronous.
    In system synchronous, I set input/output delay such as:
    create_clock -period 20.000 -name ClkIN -waveform {0.000 10.000} [get_ports ClkIN]
    create_generated_clock -name Clkif -source [get_pins cfg_if/clk_tmp_reg/C] -divide_by 2 [get_pins cfg_if/clk_tmp_reg/Q]
    create_clock -period 40.000 -name VIRTUAL_clkif //make virtual clock
    set_input_delay -clock [get_clocks VIRTUAL_clkif] -min 0.530 [get_ports DIN]
    set_input_delay -clock [get_clocks VIRTUAL_clkif] -max 7.700 [get_ports DIN]
    set_output_delay -clock [get_clocks VIRTUAL_clkif] -min -0.030 [get_ports DOUT]
    set_output_delay -clock [get_clocks VIRTUAL_clkif] -max 1.800 [get_ports DOUT]
    *******************************************************************************************

    So, first. Architecturally, the clock that you forward to your external device should not come directly from the clock tree, but should be output via an ODDR with its D1 input tied to logic 1 and the D2 tied to logic 0. This guarantees minimal skew between the output data and the forwarded clock.
    ODDR #(
    .DDR_CLK_EDGE("OPPOSITE_EDGE"), // "OPPOSITE_EDGE" or "SAME_EDGE"
    .INIT(1'b0), // Initial value of Q: 1'b0 or 1'b1
    .SRTYPE("SYNC") // Set/Reset type: "SYNC" or "ASYNC"
    ) ODDR_inst (
    .Q (Clkif_ff), // 1-bit DDR output
    .C (ClkIN_BUFG), // 1-bit clock input
    .CE (1'b1), // 1-bit clock enable input
    .D1 (1'b1), // 1-bit data input (positive edge)
    .D2 (1'b0), // 1-bit data input (negative edge)
    .R (rst), // 1-bit reset
    .S (1'b0) // 1-bit set
    OBUF OBUF_inst (.I (Clkif_ff), .O (Clkif_out));
    This generates an output clock that is the same frequency as your input clock. This is consistent with your drawing, but inconsistent with your constraints - is the forwarded clock a 50MHz clock or a 25MHz clock?
    I will assume your ClkIN goes to a BUFG and generates ClkIN_BUFG.  Your first constraint generates a 50MHz clock on the ClkIN port which will propagate through the BUFG to (among other places) this ODDR.
    create_clock -period 20.000 -name ClkIN -waveform {0.000 10.000} [get_ports ClkIN]
    Assuming your forwarded clock is supposed to be 50MHz, then your 2nd command is close to correct
    create_generated_clock -name Clkif -source [get_pins cfg_if/ODDR_inst/C] -combinational  [get_pins cfg_if/ODDR_inst/Q]
    With this done, you have successfully described the forwarded clock from your design. This is the clock that goes to your device, and hence should be the clock which is used to specify your input and output constraints.
    set_input_delay -clock [get_clocks Clkif] -min 0.530 [get_ports DIN]
    set_input_delay -clock [get_clocks Clkif] -max 7.700 [get_ports DIN]
    set_output_delay -clock [get_clocks Clkif] -min -0.030 [get_ports DOUT]
    set_output_delay -clock [get_clocks Clkif] -max 1.800 [get_ports DOUT]
    If you want to get fancier, you could try adding a set_clock_latency to the forwarded clock to account for the board propagation of the clock
    set_clock_latency -source TDtrace2 [get_clocks Clkif]
    (But I haven't experimented with clock latency on a generated clock and I don't know for a fact that it works).
    Avrum

  • How to remove ticking noise and doing audio effects?

    I have a snippet of code I got for generating delay effects. After editing the appropriate things, I ran the application. It produces delays but (if i hear it correctly), the delayed sounds do not fade. It sounds like a mix of sounds. Does it depend on feedback? And there's this ticking noise accompanying the output. I just want to know how "ticking sounds" are produced (and probably how to remove them) and how to produce a correct delay.Here's my program.
    public void delayProcessor(double[] data, int sampleRate, int delayInMs){
            //initialization
            int delayOffset = (int) ((delayInMs * sampleRate * 1) / 1000);
            double[] buffer = data;
            int k = 0;
            delayBufferSize = data.length + delayOffset;
            delayBuffer = new double[delayBufferSize];
            // Index where dry sample is written
            writeIndex = 0;
            // Index where wet sample is read
            readIndex = data.length;
            for (int i=0; i < data.length; i++)
                double inputSample =  data;
    double delaySample = delayBuffer[readIndex++];
    double outputSample = (inputSample * dryLevel) + (delaySample * wetLevel);
    // make sure output is in range
    if (outputSample > 1)
    outputSample = 1;
    else if (outputSample < -1)
    outputSample = -1;
    // Store in output sample
    data[i] = outputSample;
    // Calculate feedback
    inputSample += (delaySample * feedbackLevel);
    // make sure input is in range
    if (inputSample > 1)
    inputSample = 1;
    else if (inputSample < -1)
    inputSample = -1;
    delayBuffer[writeIndex] = inputSample;
    writeIndex++;
    // Update indices
    readIndex %= delayBufferSize;
    writeIndex %= delayBufferSize;
    My sample rate depends on the user's desired setting but I'm currently testing on 11025. It's also mono, 16-bits if that information helps.
    Thanks in advance! :D                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

    Hi. Updated my code from the one above to this:
    public void echoProcessor(double[] samples, double decay, int sampleRate){
         int delayOffset = (int) (10 * sampleRate)/1000;
         int delayBufferSize = samples.length + delayOffset;
         double[] delayBuffer = new delayBuffer[delayBufferSize];
         int writeIndex = 0, readIndex = delayOffset;
         int i =0;
         for(i = 0; i < delayBufferSize; i++)
              delayBuffer[i] = 0;
         for(i = 0; i < samples.length; i++){     
              double oldSample = samples;
              double delay = delayBuffer[readIndex];
              double newSample = oldSample + (decay * delay);
              delayBuffer[writeIndex] = outputSample;
              readIndex++;
              writeIndex++;
              if(readIndex == delayBufferSize)
                   readIndex = 0;
    But I still get the continuous ticking sound but now I hear the sound output which somehow produces an echo.
    The double[] samples has a length of 512 then I convert it to bytes before writing to the SourceDataLine. Any ideas?                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • How to remove blank lines in the end of list .

    hi,
    in a complex report ,when there are only 20 pages,and linecount is 65(2) ,in the last page only 27 lines are filled and data is completed.then blank lines are printing from 27th line to 63 line.then end of page is triggering.
    so plz help me how to remove the blank lines here and immediately print the endof page.

    Hi,
    will this work for you.
    SET BLANK LINES OFF.
    These statements allow you to specify whether you want to output blank lines or not. Use SET BLANK LINES ON to output blank lines or SET BLANK LINES OFF to suppress them.
    Regards
    Viswanath Babu

  • How to remove the page break for CSV report

    Hi,
    I'm working on a rdf report and have an issue with page break.
    As usual there exits a page break in the report output. how do I remove it.
    work around: set Page break before/after : NO
    worked on margin re-size, how ever could not resolve the issue.
    Can any one help me on this.
    Thanks in advance.
    Thanks,
    Santhosh

    There are two ways to do this:
    1) If you want to remove and individual dimension from a presentation, you can hide the dimension. This can be performed directly from within QueryBuilder. Within the first section of Query Builder that shows the selected measures selected and associated dimensions, simply remove the required dimensions from the right dialog panel.
    2) To hide all page items within a presentation, simply add the following the property, pagingControlVisible="False", to the presentation tag in your JSP. For example:
    <orabi:Presentation location="Local Computer Sales/Products/KPI Sales Prior Period and Prior Year" id="BIProductKPIs_pres2" pagingControlVisible="False"/>
    Hope this helps
    Business Intelligence Beans Product Management Team
    Oracle Corporation

  • How to remove xmlns in node level

    Hi Experts!
    How to remove xmlns in node level in response xml file. I tried to use AF_Modules/XMLAnonymizerBean, but it did not work.
    Can you please help me out on this.
    I want to remvoe  xmlns tag in LEVICOM
    Eg:
    - <Addenda>
       - <LEVICOM xmlns="">
    Thanks,
    Hari

    Hi Expers!
    Please help me out on this. The below xslt mapping working only to remove xmlns prefix in xml file, if parent having only one child. This code is not working if parent having multiple childs.
    Eg:  <parent>
               <phild  xmlns="">
                 test1
                </phild>
            </parent>
    The above example working fine with below xslt mapping to remove xmlns tag.
    Second scenarion  not working
    Eg:  <parent>
              <child1  xmlns="">
                 test1
              </child1>
              <child2  xmlns="">
                  test2
               </child2>
            </parent>
    The above example is not working.
    Here is the code:
    You can remove the namespace prefixes using an XSLT mapping if they are causing problems with applications outside of XI.
    Try the following code:
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns="http://www.arconw.com/XI/XSLT_Library/XmlNamespacePrefixRemoval"
    version="1.0">
    <xsl:output method = "xml" />
    <xsl:template match="/">
    <xsl:apply-templates select="*" mode="remprefix"/>
    </xsl:template>
    <xsl:template match="*" mode="remprefix">
    <xsl:variable name="newname" select="local-name(.)"/>
    <xsl:element name="{$newname}" namespace ="{namespace-uri()}">
    <xsl:apply-templates mode="copyall" select="@*|comment()|processing-instruction()|text()"/>
    <xsl:apply-templates select="*" mode="remprefix"/>
    </xsl:element>
    </xsl:template>
    <xsl:template mode="copyall" match="@*|comment()|processing-instruction()|text()">
    <xsl:copy>
    <xsl:apply-templates mode="copyall" select="@*|comment()|processing-instruction()|text()"/>
    </xsl:copy>
    </xsl:template>
    </xsl:stylesheet>
    Thanks,
    Hari

  • How to remove group in XML Publisher template

    Hi All,
    How to remove group in XML Publisher template while desining as below is one example in that i want to remove the group no 2,3,4 or G Supp Seq,List G Audit,G Audit and want the output of line no 1 and 5 and then 1 or Batch / Entry/ Category/ List G Supp Seq/C Line No / C Transaction / C Document//C Credit/C Debit/C H Seq Name.
    Example:
    1) Batch / Entry/ Category/ List G Supp Seq                    /C Credit/C Debit/C H Seq Name                    
    2)          G Supp Seq
    3) List G Audit
    4) G Audit     
    5)     C Line No / C Transaction / C Document
    Kindly help how to generate the output without the line no 2,3,4.
    Regards,
    Sushant

    Sushant,
    you can try to design the RTF by Regrouping the XML data based on your requirement then you may get proper order.
    Please see the Regrouping XML concept in the user guide.
    Regards,
    Prasad Raju

  • How to remove an XML file from Data Template in Data Definition Screen

    Hi,
    Issue: I have uploaded the file in Data definition in Data Template.
    How to remove it.
    Also what does each file type mean?
    XML Schema
    Data Template
    Preview file
    Bursting control File
    I have an XML file and XSL file. I need to have an output in XML.
    So I installed my XML file in data template in data definition.
    And XSL file in Templates.
    Am I correct?
    11.0.10.2
    Regards,
    Avijit

    Issue: I have uploaded the file in Data definition in Data Template.
    How to remove it.You cannot remove it but you can end-date it.
    Also what does each file type mean?
    XML Schema
    Data Template
    Preview file
    Bursting control FileThis is explained in "Oracle XML Publisher Administration and Developer's Guide Release 12" manual -- http://docs.oracle.com/cd/B34956_01/current/acrobat/120xdoig.pdf
    I have an XML file and XSL file. I need to have an output in XML.
    So I installed my XML file in data template in data definition.
    And XSL file in Templates.
    Am I correct?Correct -- See Chapter 2 "Creating the Template" and Chapter 5 "Data Templates and Chapter" in the same doc referenced above for details.
    Thanks,
    Hussein

Maybe you are looking for