"No Items" is displayed when "Show Items from Subfolders" is selected

When I select the "view subfolders" menu item in a folder with subfolders and items, Bridge indicates that it is indexing.  Then it displays "No Items". If I go to each subfolder individually, the images are displayed.  This only happends in some folders. I purged my cache, perhaps this is the problem but it didn't help. I found a similar discussion named "View Subfolders" from 2009 with a "Helpfull answer" linked to http://kb2.adobe.com/cps/332/332992.html but it is now not available. My operation system is Apple OS 10.8.1.

UziYachin wrote:
I tried to index the entire sub-tree with no help. I noticed that when I restart bridge I get a message that bridge is unabled to read the cache. After purging the central cache I still get the above message after restart.
Well, in that case, it sounds like this is causing the problem. If you can't read the cache, then you probably can't read an index either.
Without knowing anything about your computer system, I'd suggest that you need to check for general account permission setup problems before looking at Bridge specifically.

Similar Messages

  • Videos don't display when i publish from my macbook

    I created a module on my pc. it worked fine. I bought a mac, opened the project, edited it. when i preview it it's fine. but when i publish it, the videos, that are flv files don't display. when i publish from my pc the videos display. does anyone have any idea what's going on?

    I am not a macbook user. But AFAIK, FLV being a Flash video, I don't think Apple will support it.
    However, ideally Adobe Media Encoder (AME) should have converted your FLV to MP4 during the publishing process. Not sure why that is not happening. You can try converting the FLVs outside Captivate (using AME or any other tool), insert the video again on your macbook and see it it works.
    Sreekanth

  • Bridge Freezes when Show Items From Sub Folders

    Hi all. I am trying to create a portfolio of past works. Using Adobe Bridge and Show Items From Sub Folders makes it easy to go through thousands of files. One major problem though; Bridge is not stable. When I try to view a folder with thousands of files Bridge will freeze and I have to force quite.
    I am running a Mac Pro with Adobe Design CS4 Premium installed. I have 16gb of Ram and have played around with Bridge's preferences and deleted Bridges preference files. I also tried all the options list on Adobe's check list.
    Any help would be greatly appreciated.
    Regards
    Stephen Thompson

    Bridge is not stable. When I try to view a folder with thousands of files Bridge will freeze and I have to force quite.
    As a matter of fact, bridge CS4 is the most stable version of bridge, and although still not perfect yo should be able to view the folder in flat view.
    It only takes a lot of time to cache if you have not done before. If cache does not start you first should try to purge cache for folder using the tools menu.
    If Bridge keeps freezing first thing to try is to restart holding down option key and choose reset preferences. Set prefs again to your own wishes and try again.
    You can also try to first cache the folder using the tools menu. In the folderpanel select the main folder you want to view its contents and go to the tools menu / cache and this time select build and export cache.
    Depending on the amount and size of files it takes some time. Then try again.
    It is able to work, as it does on my system. I have also a main folder that contains around 5000 files organized in stacks and works as it should

  • Page item values lost when moving application from 3.1.1 to 4.0.2

    I have an application that is working fine in version 3.1.1, but when I move it to 4.0.2, I'm having some issues with losing page item values. I have a page (6) with master key fields that are used to set page items on another page (7) when I branch to that page. In 3.1.1 the items in the page I'm going to are defined as 'Hidden and Protected' and in 4.0.2 they are defined as 'Hidden' (don't see a 'hidden and protected type'). When page 7 first displays, I see the values I passed in the session items. When I fill in the displayed items on the form and click to create a record, I get errors that the key values are null (these are the items I set when I branched to this page). When I look in the session items now, the values are missing. Why are the values lost and is there a work around?

    Hi there,
    In 4.0.2 there is no hidden & protected item but instead you have one select called "value protected" you can select yes or no there.
    Edit your item and See the "Source" region of your item, in the "Source used" it should be "current value in session state is null" and in "Source type" should be "static assignment..........".
    In the "Default" region the value type should be "static text ......."
    see if there is any changes in these properties.
    thanks
    Tauceef

  • Video editing from my camcorder. i cant get my time date display to display when i upload from ny cam corder to my computer why is this.

    why doesnt the time date etc display that i have set on my camcorder to display during playback ,why does it not display when i upload my video to my imac...

    Hang on...
    You can only authorise the songs you purchase from the iTunes Store to play on five computers.
    You can download and install iTunes (the iTunes programme) onto as many computers as you wish.
    Two different things.
    Assuming therefore, that your problem is that you have authorised five computers, but now no longer have some of them, you need to de-authorise all your computers and then re-authorise the computers you still have.
    To de-authorise your computers, go to your account in the iTunes Store and look for the Deauthorise All button.

  • Missing sound when showing videos from iPad to Apple TV.

    When showing YouTube videos from my ipad on apple tv, there is no sound from tv or iPad. What do I do?

    Do other types of videos (e.g, streamed from your own Videos library on the iPad) work?

  • Finder piles pics in a jumble when showing items as icons

    Searching my photos in Finder can be a blessing or a confusing mess. If I search using the list feature, everything is fine and dandy, just like when i use columns A problem arises when I use icons in some folders.
    Let's say i click on folder ABC in the icon mode. All pictures and side by side from top to bottom. If I move or delete a pic, the place it was will stay clear forever. No big deal.
    Then I click in folder XYZ and everything is displayed as a big mess, as shown in this screenshot, which shows several dozens of pictures all piled up one on top of the other in no order. When I click on list, they are all displayed in the proper order. I click back on the icon and the pile up starts again.
    As can be seen here:
    What could be causing this?
    Thanks.
    Roxy

    While in Icon view select Finder > View > Clean Up
    Then if they are not in any order or you would like to change the order, select View Arrange By and change it.

  • Main Window display when line items are less in next page.

    Hi all,
           In the smartform,if the line items extend to second page, then to print complete main window in second page and if there are only few line items in second page, how to remove the empty spaces in the nmain window and to print other windows after the end of main window.?
    Nagesh

    design ur next page .....
    goto next page reduce the size of the main window and place the other window that u need....
    goto new window that is specified in nextpage , in condition tab check the checkbox(only at the end of main window).....
    here u will get the other windows only in the lage page....

  • My ebay and Firefox dont seem compatable. No picture displayed when selling items???

    Trialling Firefox when selling on ebay. I find that pictures on listings are not displaying on my pages. Is there a quick fix to this problem, thanks.

    See:
    * http://kb.mozillazine.org/Images_or_animations_do_not_load
    * You can see the permissions for the domain in the current tab in Tools > Page Info > Permissions
    * You can see all exceptions in Tools > Options > Content: Load Images > Exceptions
    * You can check the Tools > Page Info > Media tab for blocked images (scroll through all the images)
    There are also extensions (Tools > Add-ons > Extensions) that can block images.

  • Error message was displaying when comes back from the final output display

    Hi Experts,
    I have developed one program and it works fine. But when i press F3 or BACK button from the final display one Error  wa coming in a pop-up saying "Selection criterion "Posting Date" contains several selection lines".
    I cant understand where the problem was. Can any one suggest where would be the problem. I am sending the code.
    REPORT  zfir0011_o2c_tax_gl_summary.
    TYPE-POOLS slis.
    TABLES: faglflexa.
    Types Declaration.
    TYPES: BEGIN OF x_faglflexa,
           ryear TYPE gjahr,
           bukrs TYPE bukrs,
           belnr TYPE belnr_d,                  "Document Number
           poper TYPE poper,                    "Posting Period
           budat TYPE budat,                    "Posting Date
           buzei TYPE buzei,                    "Document line item
           racct TYPE racct,                    "G/L Account no.
           END   OF x_faglflexa,
           ty_t_faglflexa TYPE STANDARD TABLE OF x_faglflexa.
    TYPES: BEGIN OF x_bset,
           belnr TYPE belnr_d,
           buzei TYPE buzei,
           mwskz TYPE mwskz,                    "Tax code
          hkont TYPE hkont,
           shkzg TYPE shkzg,                    "Debit/Credit Indicator
           txjcd TYPE txjcd,                    "Tax Jurisdiction
           h2ste TYPE h2ste,                    "Tax Amount
           h2bas TYPE h2bas_bses,               "Tax Amount
           END   OF x_bset,
           ty_t_bset TYPE STANDARD TABLE OF x_bset.
    TYPES: BEGIN OF x_skat,
           spras TYPE spras,
           ktopl TYPE ktopl,
           saknr TYPE saknr,
           text  TYPE txt20_skat,
           END   OF x_skat,
           ty_t_skat TYPE STANDARD TABLE OF x_skat.
    TYPES: BEGIN OF x_custom,
           geo_state    TYPE char2,
           geo_county   TYPE char3,
           country      TYPE char2,
           description  TYPE char40,
           END   OF x_custom,
           ty_t_custom TYPE STANDARD TABLE OF x_custom.
    TYPES: BEGIN OF x_budat,
           sign     TYPE char_01,
           option   TYPE char2,
           low      TYPE budat,
           high     TYPE budat,
           END OF x_budat,
           ty_t_budat TYPE STANDARD TABLE OF x_budat.
    TYPES: BEGIN OF x_txjcd,
           geo_state  TYPE char2,
           geo_county TYPE char3,
           END   OF x_txjcd,
           ty_t_txjcd TYPE STANDARD TABLE OF x_txjcd.
    TYPES: BEGIN OF x_inter,
           ryear TYPE gjahr,
           bukrs TYPE bukrs,
           txjcd TYPE txjcd,                    "Tax Jurisdiction
           racct TYPE racct,                    "G/L Account no.
           h2ste TYPE h2ste,                    "Tax Amount
           poper TYPE poper,                    "Posting Period
           belnr TYPE belnr_d,                  "Document Number
           shkzg TYPE shkzg,                    "Debit/Credit Indicator
           END   OF x_inter,
           ty_t_inter TYPE STANDARD TABLE OF x_inter.
    TYPES: BEGIN OF x_final,
           txjcd    TYPE bset-txjcd,                     "Tax Jurisdiction
           state    TYPE char40,                         "State
           curr_bal TYPE bset-h2ste,                     "Current Balance
           per_chng TYPE bset-h2ste,                     "Period Change
           pri_bala TYPE bset-h2ste,                     "Prior Balance
           END   OF x_final,
           ty_t_final TYPE STANDARD TABLE OF x_final.
    Column positions to pass to field catalog
    CONSTANTS : c_pos_1      TYPE sy-cucol       VALUE '1',   " position of the columns
                c_pos_2      TYPE sy-cucol       VALUE '2',
                c_pos_3      TYPE sy-cucol       VALUE '3',
                c_pos_4      TYPE sy-cucol       VALUE '4',
                c_pos_5      TYPE sy-cucol       VALUE '5'.
    *Field names for Field Catalog
    CONSTANTS : c_h           TYPE c              VALUE 'H',                         "Header
                c_s           TYPE c              VALUE 'S',                         "Sub heading
                c_slash       TYPE c              VALUE '/',                         "Slash
                c_colon       TYPE c              VALUE ':',                         "Column
                c_top_of_page TYPE slis_formname  VALUE 'TOP_OF_PAGE',"#EC NEEDED          "Top-of-page
                c_top_of_page_split TYPE slis_formname  VALUE 'TOP_OF_PAGE_SPLIT',   "Top-of-page centered
                c_txjcd       TYPE slis_fieldname VALUE 'TXJCD',                     "Tax Jurisdiction
                c_region      TYPE slis_fieldname VALUE 'STATE',                     "State
                c_currb       TYPE slis_fieldname VALUE 'CURR_BAL',                  "Current Balance
                c_perch       TYPE slis_fieldname VALUE 'PER_CHNG',                  "Period Change
                c_prbal       TYPE slis_fieldname VALUE 'PRI_BALA'.                  "Prior Balance
    CONSTANTS : c_table_name  TYPE slis_tabname   VALUE 'IT_FINAL', "For Field Catalog
                c_spras       TYPE spras          VALUE 'E',        "Language
                c_buzei       TYPE c              VALUE '1',        "Line item in BSET
                c_one(2)      TYPE c              VALUE '01',
                c_zp          TYPE bset-mwskz     VALUE 'ZP',       "Sales Tax Code
                c_zr          TYPE bset-mwskz     VALUE 'ZR'.       "Sales Tax Code
    Variables Declaration.
    DATA : v_current_year TYPE i,                                   "Current year
           v_poper        TYPE poper,                               "Posting period
           v_saknr        TYPE saknr,                               "Account no.    "#EC NEEDED
           v_ktopl        TYPE ktopl,                               "Chart of Accounts
           v_konts        TYPE saknr,                               "G/L Account Number
           v_bukrs        TYPE bukrs,                               "Company Code
           v_sum_val      TYPE h2ste,           "#EC NEEDED     "Tax Amount
           v_sum_val1     TYPE h2ste,                               "Tax Amount
           v_sum_val2     TYPE h2ste,                               "Tax Amount
           v_sum_debit    TYPE h2ste,
           v_sum_credit   TYPE h2ste,
           v_sum_debit1   TYPE h2ste,
           v_sum_credit1  TYPE h2ste,
           v_h2ste        TYPE string,                          "#EC NEEDED
           v_desc         TYPE char40,                              "G/L Acct. Description
           v_title        TYPE char40.                              "Title
    Internal Tables Declaration.
    DATA : it_faglflexa        TYPE ty_t_faglflexa,             "Internal table for G/L Line Items.
           it_bset             TYPE ty_t_bset,                  "Internal table for Tax Data Document Segment.
           it_skat             TYPE ty_t_skat,                  "Internal table for Chart of Accounts: Desc.
           it_custom           TYPE ty_t_custom,                "Custom table for storing STATE Description.
           it_txjcd            TYPE ty_t_txjcd,                 "For storing Tax Jurisdiction codes.
           it_inter            TYPE ty_t_inter.                 "Intermediate table for storing data & Performing Calculations.
    DATA : it_final            TYPE ty_t_final.                 "#EC NEEDED
    *Fieldcatalogue Internal Table Declaration
    DATA : it_fieldcat         TYPE slis_t_fieldcat_alv,
           wa_fieldcat         TYPE slis_fieldcat_alv,
           it_alv_top_of_page  TYPE slis_t_listheader,
           wa_line             TYPE slis_listheader.
    *Field-symbols and Work Area Declarations
    FIELD-SYMBOLS : <fs_faglflexa>      TYPE x_faglflexa,
                    <fs_bset>           TYPE x_bset.
    DATA : wa_faglflexa     TYPE x_faglflexa,                   "#EC NEEDED
           wa_bset          TYPE x_bset,
           wa_skat          TYPE x_skat,
           wa_custom        TYPE x_custom,
           wa_txjcd         TYPE x_txjcd,
           wa_inter         TYPE x_inter,
           wa_final         TYPE x_final.                      " #EC NEEDED
    SELECTION-SCREEN
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
    PARAMETERS:     p_bukrs TYPE faglflexa-rbukrs OBLIGATORY,              " Company Code
                    p_gjahr TYPE faglflexa-gjahr  OBLIGATORY.              " Fiscal Year
    SELECT-OPTIONS: s_budat FOR  faglflexa-budat  OBLIGATORY               " Posting Date
                                                  NO-EXTENSION
                                                  NO INTERVALS.
    PARAMETERS:     p_racct TYPE faglflexa-racct  OBLIGATORY.              " G/L Accounts
    SELECTION-SCREEN END OF BLOCK b1.
    SELECTION-SCREEN VALIDATIONS.
    *Company Code Validation.
    AT SELECTION-SCREEN ON p_bukrs.
      SELECT SINGLE bukrs INTO v_bukrs
      FROM t001
      WHERE bukrs = p_bukrs.
      IF sy-subrc NE 0.
        MESSAGE e071(zfinprjt).
      ENDIF.
    Fiscal Year Validation. It should not be more than Current.
    AT SELECTION-SCREEN ON p_gjahr.
      v_current_year = sy-datum+0(4).
      IF p_gjahr > v_current_year.
        MESSAGE e072(zfinprjt).
      ENDIF.
    *G/L Account Validation.
    AT SELECTION-SCREEN ON p_racct.
      SELECT SINGLE saknr INTO v_saknr
      FROM skb1
      WHERE saknr EQ p_racct
      AND   bukrs EQ p_bukrs.
      IF sy-subrc EQ 0.
    *Check the Chart of Accounts for that Company Code.
        SELECT SINGLE ktopl FROM t001
        INTO v_ktopl
        WHERE bukrs = p_bukrs.
    *Check that it is a Tax G/L Account for that Company Code and G/L Account.
        SELECT SINGLE konts FROM t030k                          "#EC *
        INTO v_konts
        WHERE ktopl = v_ktopl
        AND   konts = v_saknr.
        IF sy-subrc NE 0.
          MESSAGE e073(zfinprjt).
        ENDIF.
      ELSE.
        MESSAGE e073(zfinprjt).
      ENDIF.
    AT SELECTION-SCREEN ON s_budat.
      DATA : v_year(4)  TYPE c,
             v_month(2) TYPE c,
             v_date(2)  TYPE c.                                 "#EC NEEDED
    *if date ne 01 converting date to '01'
    READ TABLE s_budat.
      IF s_budat-low+6(2) NE c_one.
        v_year  = s_budat-low.
        v_month = s_budat-low+4(2).
        v_date  = s_budat-low+6(2).
        s_budat-high = s_budat-low.
        CLEAR s_budat-low.
        CONCATENATE v_year c_one c_one INTO s_budat-low.
        s_budat-sign = 'I'.
        s_budat-option = 'BT'.
        APPEND s_budat.
      ENDIF.
    START-OF-SELECTION.
      PERFORM get_data USING p_bukrs                            "#EC *
                             p_gjahr                            "#EC *
                             s_budat[]                          "#EC *
                             p_racct  CHANGING it_final.        "#EC *
    *Display report in ALV grid
      IF it_final IS NOT INITIAL.
    *Build Top of the page table.
       PERFORM comment_build USING it_skat CHANGING it_alv_top_of_page.
    *Build Field catalog table for ALV
        PERFORM build_field_catalog CHANGING it_fieldcat.
    *Display report
        PERFORM display_alv USING it_final.
      ELSE.
    *No data found for the selection criteria/period.
        MESSAGE i022(zfinprjt).
        exit.
      ENDIF.
    *&      Form  GET_DATA
          Retrieve data from Database tables
         -->P_P_BUKRS  text
         -->P_P_GJAHR  text
         -->P_P_BUDAT  text
         -->P_P_RACCT  text
         <--P_IT_FINAL  text
    FORM get_data  USING    fp_bukrs     TYPE bukrs             "#EC *
                            fp_gjahr     TYPE gjahr             "#EC *
                            fp_budat     TYPE ty_t_budat        "#EC *
                            fp_racct     TYPE racct             "#EC *
                   CHANGING fp_it_final  TYPE ty_t_final.
    *selecting the Required data from FAGLFLEXA
      SELECT ryear                                "Fiscal Year
             rbukrs                               "Company Code
             belnr                                "Document Number
             poper                                "Posting Period
             budat                                "Posting Date
             buzei                                "Document line item
             racct                                "G/L Account no.
             INTO TABLE it_faglflexa
             FROM faglflexa
             WHERE rbukrs EQ p_bukrs                            "#EC *
             AND   gjahr  EQ p_gjahr                            "#EC *
            AND   budat  LE s_budat                            "#EC *
             AND   budat  IN s_budat                            "#EC *
             AND   racct  EQ p_racct.                           "#EC *
      IF sy-subrc EQ 0.
        SORT it_faglflexa.
      ENDIF.
    *selecting the Tax Jurisdiction, Tax amount from BSET
      IF it_faglflexa IS NOT INITIAL.
        SELECT belnr
               buzei
               mwskz
               "hkont
               shkzg                                "Debit/Credit Indicator
               txjcd                                "Tax Jurisdicaiton
               h2ste                                "Tax Amount
               h2bas                                "Tax Amount1
               INTO TABLE it_bset
               FROM bset
               FOR ALL ENTRIES IN it_faglflexa
               WHERE belnr EQ it_faglflexa-belnr
               AND   gjahr EQ p_gjahr               "it_faglflexa-ryear
               AND   buzei EQ c_buzei.              "Line item
      ENDIF.
      IF sy-subrc EQ 0.
       SORT it_bset BY txjcd ASCENDING.
        SORT it_bset BY belnr ASCENDING.
      ENDIF.
    *Selecting the G/L Account Long Text from SKAT
      IF it_faglflexa IS NOT INITIAL.
        SELECT  spras                            " Language key
                ktopl                            " Chart of Accounts
                saknr                            " G/L Account Number
                txt20                            " G/L Account Long Text
             INTO TABLE it_skat
             FROM skat
             FOR ALL ENTRIES IN it_faglflexa
             WHERE spras =  c_spras
             AND   saknr =  it_faglflexa-racct.
      ENDIF.
      IF sy-subrc EQ 0.
        SORT it_skat.
      ENDIF.
      LOOP AT it_bset ASSIGNING <fs_bset>.
        wa_txjcd-geo_state  = <fs_bset>-txjcd+0(2).
        wa_txjcd-geo_county = <fs_bset>-txjcd+2(3).
        APPEND wa_txjcd TO it_txjcd.
        CLEAR wa_txjcd.
      ENDLOOP.
      IF sy-subrc EQ 0.
        SORT it_txjcd BY geo_state.
        DELETE ADJACENT DUPLICATES FROM it_txjcd COMPARING geo_state geo_county.
      ENDIF.
    *Selecting the Description from Custom table
      IF it_txjcd IS NOT INITIAL.
        SELECT geo_state
               geo_county
               country
               description
        INTO TABLE it_custom
        FROM ztfi_tgl_summary
        FOR ALL ENTRIES IN it_txjcd
        WHERE geo_state  = it_txjcd-geo_state
        AND   geo_county = it_txjcd-geo_county.
      ENDIF.
      IF sy-subrc EQ 0.
        SORT it_custom.
      ENDIF.
      LOOP AT it_faglflexa ASSIGNING <fs_faglflexa>.
        MOVE-CORRESPONDING <fs_faglflexa> TO wa_inter.          "#EC ENHOK
    *Read Tax Jurisdiction and Tax Amount from BSET Table.
        READ TABLE it_bset INTO wa_bset WITH KEY belnr =  <fs_faglflexa>-belnr
                                                 BINARY SEARCH.
        IF sy-subrc EQ 0.
          wa_inter-shkzg = wa_bset-shkzg.
          wa_inter-txjcd = wa_bset-txjcd.
        ENDIF.
    *If BSET-MWSKZ = ZP or ZR then pick H2BAS as Tax Amount.
        IF wa_bset-mwskz = c_zp.
          wa_inter-h2ste = wa_bset-h2bas.
        ELSEIF wa_bset-mwskz = c_zr.
          wa_inter-h2ste = wa_bset-h2bas.
        ELSE.
          wa_inter-h2ste = wa_bset-h2ste.
        ENDIF.
    *Check it is credit entry or debit entry ('H' or 'S').
        IF wa_inter-shkzg EQ 'H'.
          wa_inter-h2ste = wa_inter-h2ste * -1.
        ENDIF.
        APPEND wa_inter TO it_inter.
        CLEAR: wa_inter, wa_bset.
      ENDLOOP.
      IF sy-subrc EQ 0.
        SORT it_inter BY bukrs ryear txjcd ASCENDING.
        DELETE it_inter WHERE txjcd EQ space.
        DELETE ADJACENT DUPLICATES FROM it_inter COMPARING belnr.
      ENDIF.
      v_poper = s_budat-high+4(2).
      LOOP AT it_inter INTO wa_inter.
    *Read the Text maintained in the custom table based on the GEO_STATE = First two digits of TXJCD
    *and GEO_COUNTY = Next three digits of TXJCD. If this is blank pick based on First two digits of TXJCD.
        READ TABLE it_custom INTO wa_custom WITH KEY geo_state  = wa_inter-txjcd+0(2)
                                                     geo_county = wa_inter-txjcd+2(3)
                                                     BINARY SEARCH.
        IF sy-subrc NE 0.
          READ TABLE it_custom INTO wa_custom WITH KEY geo_state  = wa_bset-txjcd+0(2)
                                                       BINARY SEARCH.
        ENDIF.
        IF sy-subrc = 0.
          wa_final-state = wa_custom-description.
        ENDIF.
        AT NEW txjcd.
          CLEAR: v_sum_val, v_sum_val1, v_sum_val2.
        ENDAT.
      Period Change, if v_poper equal to present period(v_poper).
        IF wa_inter-poper EQ v_poper.
          IF wa_inter-shkzg EQ 'H'.
            v_sum_debit     = v_sum_debit + wa_inter-h2ste.
          ELSE.
            v_sum_credit    = v_sum_credit + wa_inter-h2ste.
          ENDIF.
      Prior Balance, if v_poper is less than present period(v_poper).
        ELSEIF wa_inter-poper LT v_poper.
          IF wa_inter-shkzg EQ 'H'.
            v_sum_debit1    = v_sum_debit1 + wa_inter-h2ste.
          ELSE.
            v_sum_credit1   = v_sum_credit1 + wa_inter-h2ste.
          ENDIF.
        ENDIF.
        AT END OF txjcd.
          wa_final-txjcd    = wa_inter-txjcd.
          IF sy-subrc EQ 0.
            v_sum_val1      = v_sum_credit - v_sum_debit.                     "Temp Commented
          ENDIF.
          wa_final-per_chng = v_sum_val1.                                     "Period change
          IF sy-subrc EQ 0.
            v_sum_val2      = v_sum_credit1 - v_sum_debit1.                   "Temp commented
          ENDIF.
          wa_final-pri_bala = v_sum_val2.                                     "Prior Balance
          wa_final-curr_bal = v_sum_val1 + v_sum_val2.                        "Current Balance
          APPEND wa_final TO it_final.                          "#EC *
          CLEAR: wa_inter,
                 wa_final,
                 v_sum_credit,
                 v_sum_credit1,
                 v_sum_debit,
                 v_sum_debit1.
        ENDAT.
      ENDLOOP.
    ENDFORM.                    " GET_DATA
    *&      Form  COMMENT_BUILD
          ALV Top of Page
         -->P_IT_SKAT  text
         <--P_IT_ALV_TOP_OF_PAGE  text
    FORM comment_build  USING    fp_it_skat            TYPE ty_t_skat"#EC NEEDED
                        CHANGING fp_it_alv_top_of_page TYPE slis_t_listheader.
      DATA: v_budat_low  TYPE c LENGTH 10,                      "#EC NEEDED
            v_budat_high TYPE c LENGTH 10,                      "#EC NEEDED
            v_butxt      TYPE butxt.
      CLEAR wa_line.
    *Report Title
      CONCATENATE text-005 p_bukrs INTO v_title SEPARATED BY space.
      wa_line-typ = c_h.
      wa_line-key = ' '.
      wa_line-info = v_title.
      APPEND wa_line TO fp_it_alv_top_of_page.
      CLEAR  wa_line.
    *Account Number
      wa_line-typ = c_s.
      wa_line-key = text-006.
      wa_line-info = p_racct.
      APPEND wa_line TO fp_it_alv_top_of_page.
      CLEAR  wa_line.
    *G/L Account Description
      READ TABLE it_skat INTO wa_skat WITH KEY ktopl = v_ktopl BINARY SEARCH."#EC *
      IF sy-subrc EQ 0.
        v_desc = wa_skat-text.
      ENDIF.
      wa_line-typ = c_s.
      wa_line-key = text-007.
      wa_line-info = v_desc.
      APPEND wa_line TO fp_it_alv_top_of_page.
      CLEAR  wa_line.
    *Fiscal Year from selection
      IF NOT p_gjahr IS INITIAL.
        wa_line-info = p_gjahr.
        wa_line-typ   = c_s.
        wa_line-key  = text-008.                                              "Fiscal Year
        APPEND wa_line TO fp_it_alv_top_of_page.
        CLEAR  wa_line.
      ENDIF.
    *Posting Date
      CONCATENATE s_budat-high4(2) s_budat-high6(2) s_budat-high+0(4) INTO wa_line-info SEPARATED BY c_slash.
      wa_line-typ   = c_s.
      wa_line-key  = text-009.                                               "Posting Date
      APPEND wa_line TO fp_it_alv_top_of_page.
      CLEAR  wa_line.
    *Company Code Description from selection
      IF NOT p_bukrs IS INITIAL.
        SELECT SINGLE butxt FROM t001
        INTO v_butxt WHERE bukrs EQ p_bukrs.
        IF sy-subrc EQ 0.
          wa_line-info = v_butxt.
          wa_line-typ  = c_s.
          wa_line-key  = text-010.                                              "Company Code Description
          APPEND wa_line TO fp_it_alv_top_of_page.
          CLEAR  wa_line.
        ENDIF.
      ENDIF.
    Printed Date
      wa_line-typ = c_s.
      wa_line-key = text-011.                                                 "Printed Date
      CONCATENATE  sy-datum+4(2)
                   sy-datum+6(2)
                   sy-datum(4) INTO wa_line-info SEPARATED BY c_slash.        "todays date
      APPEND wa_line TO fp_it_alv_top_of_page.
      CLEAR: wa_line.
    Printing Time
      wa_line-typ = c_s.
      wa_line-key = text-012.                                                 "Printing Time
      wa_line-info = sy-uzeit.
      CONCATENATE  sy-uzeit(2)
                   sy-uzeit+2(2)
                   sy-uzeit+4(2) INTO wa_line-info SEPARATED BY c_colon.      "current time
      APPEND wa_line TO fp_it_alv_top_of_page.
      CLEAR: wa_line.
    ENDFORM.                    " COMMENT_BUILD
    *&      Form  BUILD_FIELD_CATALOG
          Fieldcatalogue
         <--P_IT_FIELDCAT  text
    FORM build_field_catalog  CHANGING fp_it_fieldcat TYPE slis_t_fieldcat_alv.
    TAX JURISDICTION
      wa_fieldcat-col_pos      = c_pos_1.
      wa_fieldcat-reptext_ddic = text-013.                                    "TAX JURISDICTION
      wa_fieldcat-fieldname    = c_txjcd.
      wa_fieldcat-tabname      = c_table_name.
      wa_fieldcat-outputlen    = '15'.
      APPEND  wa_fieldcat TO fp_it_fieldcat.
      CLEAR : wa_fieldcat.
    STATE
      wa_fieldcat-col_pos      = c_pos_2.
      wa_fieldcat-reptext_ddic = text-014.                                    "STATE
      wa_fieldcat-fieldname    = c_region.
      wa_fieldcat-tabname      = c_table_name.
      wa_fieldcat-outputlen    = '40'.
      APPEND  wa_fieldcat TO fp_it_fieldcat.
      CLEAR : wa_fieldcat.
    CURRENT BALANCE
      wa_fieldcat-col_pos      = c_pos_3.
      wa_fieldcat-reptext_ddic = text-015.                                    "CURRENT BALANCE
      wa_fieldcat-fieldname    = c_currb.
      wa_fieldcat-tabname      = c_table_name.
      wa_fieldcat-do_sum       = 'X'.
      wa_fieldcat-datatype     = 'CURR'.
      wa_fieldcat-outputlen    = '17'.
      APPEND  wa_fieldcat TO fp_it_fieldcat.
      CLEAR : wa_fieldcat.
    PERIOD CHANGE
      wa_fieldcat-col_pos      = c_pos_4.
      wa_fieldcat-reptext_ddic = text-016.                                    "PERIOD CHANGE
      wa_fieldcat-fieldname    = c_perch.
      wa_fieldcat-tabname      = c_table_name.
      wa_fieldcat-do_sum       = 'X'.
      wa_fieldcat-datatype     = 'CURR'.
      wa_fieldcat-outputlen    = '17'.
      APPEND  wa_fieldcat TO fp_it_fieldcat.
      CLEAR : wa_fieldcat.
    PRIOR BALANCE
      wa_fieldcat-col_pos      = c_pos_5.
      wa_fieldcat-reptext_ddic = text-017.                                    "PRIOR BALANCE
      wa_fieldcat-fieldname    = c_prbal.
      wa_fieldcat-tabname      = c_table_name.
      wa_fieldcat-do_sum       = 'X'.
      wa_fieldcat-datatype     = 'CURR'.
      wa_fieldcat-outputlen    = '17'.
      APPEND  wa_fieldcat TO fp_it_fieldcat.
      CLEAR : wa_fieldcat.
    ENDFORM.                    " BUILD_FIELD_CATALOG
    *&      Form  DISPLAY_ALV
          ALV Grid Display
         -->P_IT_FINAL  text
    FORM display_alv  USING    fp_it_final TYPE ty_t_final.
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
       EXPORTING
      I_INTERFACE_CHECK                 = ' '
      I_BYPASSING_BUFFER                = ' '
      I_BUFFER_ACTIVE                   = ' '
         i_callback_program                = sy-repid
      I_CALLBACK_PF_STATUS_SET          = ' '
      I_CALLBACK_USER_COMMAND           = ' '
      i_callback_top_of_page            = c_top_of_page
       i_callback_html_top_of_page       = c_top_of_page_split
      I_CALLBACK_HTML_END_OF_LIST       = ' '
      I_STRUCTURE_NAME                  =
      I_BACKGROUND_ID                   = ' '
      I_GRID_TITLE                      =
      I_GRID_SETTINGS                   =
      IS_LAYOUT                         =
         it_fieldcat                       = it_fieldcat
      IT_EXCLUDING                      =
      IT_SPECIAL_GROUPS                 =
      IT_SORT                           =
      IT_FILTER                         =
      IS_SEL_HIDE                       =
      I_DEFAULT                         = 'X'
         i_save                            = 'A'
      IS_VARIANT                        =
      IT_EVENTS                         =
      IT_EVENT_EXIT                     =
      IS_PRINT                          =
      IS_REPREP_ID                      =
      I_SCREEN_START_COLUMN             = 0
      I_SCREEN_START_LINE               = 0
      I_SCREEN_END_COLUMN               = 0
      I_SCREEN_END_LINE                 = 0
      I_HTML_HEIGHT_TOP                 = 0
      I_HTML_HEIGHT_END                 = 0
      IT_ALV_GRAPHICS                   =
      IT_HYPERLINK                      =
      IT_ADD_FIELDCAT                   =
      IT_EXCEPT_QINFO                   =
      IR_SALV_FULLSCREEN_ADAPTER        =
    IMPORTING
      E_EXIT_CAUSED_BY_CALLER           =
      ES_EXIT_CAUSED_BY_USER            =
        TABLES
          t_outtab                          = fp_it_final
    EXCEPTIONS
      PROGRAM_ERROR                     = 1
      OTHERS                            = 2
      IF sy-subrc EQ 0.                                         "#EC *
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    ENDFORM.                    " DISPLAY_ALV
    *&      Form  top_of_page_split
          Top of page for displaying the Text in Center
    FORM top_of_page_split USING fp_top TYPE REF TO cl_dd_document."#EC *
      TYPES: BEGIN  OF ty_text,
             text   TYPE sdydo_text_element,
             END    OF ty_text.
      TYPES: BEGIN  OF ty_text1,                        "AAAAAAAA
             text1  TYPE sdydo_text_element,
             END    OF ty_text1.
      DATA: v_tab          TYPE sdydo_text_table,
            v_area         TYPE REF TO cl_dd_area,
            v_text         TYPE sdydo_text_element,
            v_text1        TYPE sdydo_text_element,             "#EC NEEDED
            v_tab1         TYPE sdydo_text_table.
      DATA: it_text        TYPE TABLE OF ty_text,
            wa_text        TYPE ty_text,
            it_text1       TYPE TABLE OF ty_text1,
            wa_text1       TYPE ty_text1.
      DATA: v_title        TYPE string,
            v_accts_desc   TYPE string,
            v_year         TYPE string,
            v_comp_code    TYPE string,
            v_desc         TYPE char40,
            v_budat        TYPE char10,
            v_budat1       TYPE char10,
            v_butxt        TYPE butxt,
            v_time         TYPE char10,
            v_comma        TYPE c VALUE ','.
      CALL METHOD fp_top->initialize_document.
      CHECK sy-subrc EQ 0.
      CALL METHOD fp_top->vertical_split
        EXPORTING
          split_area  = fp_top
          split_width = '31%'
        IMPORTING
          right_area  = v_area.
      IF sy-subrc EQ 0.                                         "#EC NEEDED
    *MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    *G/L Account Description
      READ TABLE it_skat INTO wa_skat WITH KEY ktopl = v_ktopl BINARY SEARCH.
      IF sy-subrc EQ 0.
        v_desc = wa_skat-text.
      ENDIF.
    *Company code Description
      IF NOT p_bukrs IS INITIAL.
        SELECT SINGLE butxt FROM t001
        INTO v_butxt WHERE bukrs EQ p_bukrs.
      ENDIF.
      CONCATENATE text-005 p_bukrs INTO v_title SEPARATED BY space.
      wa_text1-text1 = v_title.
      APPEND wa_text1 TO it_text1.
      v_tab1 = it_text1.
      CALL METHOD v_area->add_text
        EXPORTING
          text_table   = v_tab1
          fix_lines    = 'X'
          sap_fontsize = cl_dd_document=>large
          sap_emphasis = cl_dd_document=>strong.                           "AAAAAA
      CHECK sy-subrc EQ 0.
      CONCATENATE text-006 p_racct v_comma text-007 v_desc INTO v_accts_desc SEPARATED BY space.
      CONCATENATE s_budat-high4(2) s_budat-high6(2) s_budat-high+0(4) INTO v_budat SEPARATED BY c_slash.
      CONCATENATE text-008 p_gjahr v_comma text-009 v_budat INTO v_year SEPARATED BY space.
      CONCATENATE text-010 v_butxt INTO v_comp_code SEPARATED BY space.
    wa_text-text = v_title.
    APPEND wa_text TO it_text.
      wa_text-text = v_accts_desc.
      APPEND wa_text TO it_text.
      wa_text-text = v_year.
      APPEND wa_text TO it_text.
      wa_text-text = v_comp_code.
      APPEND wa_text TO it_text.
      v_tab = it_text.
      CALL METHOD v_area->add_text
        EXPORTING
          text_table   = v_tab
          fix_lines    = 'X'
          sap_fontsize = cl_dd_document=>medium
          sap_emphasis = cl_dd_document=>medium.
      CHECK sy-subrc EQ 0.
      CALL METHOD fp_top->new_line.
      CHECK sy-subrc EQ 0.
      CALL METHOD fp_top->new_line.
      CHECK sy-subrc EQ 0.
      CALL METHOD fp_top->new_line.
      CHECK sy-subrc EQ 0.
      CALL METHOD fp_top->add_gap
        EXPORTING
          width = 0.
      CHECK sy-subrc EQ 0.
      CONCATENATE sy-datum4(2) sy-datum6(2) sy-datum+0(4) INTO v_budat1 SEPARATED BY c_slash.
      CALL METHOD fp_top->add_text
        EXPORTING
          text         = text-011
          sap_emphasis = 'STRONG'.
      CHECK sy-subrc EQ 0.
      CALL METHOD fp_top->add_gap
        EXPORTING
          width = 1.
      CHECK sy-subrc EQ 0.
      v_text = v_budat1.
      CALL METHOD fp_top->add_text
        EXPORTING
          text = v_text.
         sap_style = 'KEY'.
      CHECK sy-subrc EQ 0.
      CALL METHOD fp_top->new_line.
      CHECK sy-subrc EQ 0.
      CALL METHOD fp_top->add_text
        EXPORTING
          text         = text-012
          sap_emphasis = 'STRONG'.
      CHECK sy-subrc EQ 0.
      CALL METHOD fp_top->add_gap
        EXPORTING
          width = 1.
      CHECK sy-subrc EQ 0.
      CONCATENATE  sy-uzeit(2)
                   sy-uzeit+2(2)
                   sy-uzeit+4(2) INTO v_time SEPARATED BY c_colon.   "current time
      v_text = v_time.
      CALL METHOD fp_top->add_text
        EXPORTING
          text = v_text.
         sap_style = 'KEY'.
      CHECK sy-subrc EQ 0.
    ENDFORM.                    "top_of_page_split
    Thanks in Advance.
    Regards,
    Ramana

    Problem is with ur selection screen definition for s_budat
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
    PARAMETERS: p_bukrs TYPE faglflexa-rbukrs OBLIGATORY, " Company Code
    p_gjahr TYPE faglflexa-gjahr OBLIGATORY. " Fiscal Year
    SELECT-OPTIONS: s_budat FOR faglflexa-budat OBLIGATORY " Posting Date
    NO-EXTENSION
    NO INTERVALS.
    PARAMETERS: p_racct TYPE faglflexa-racct OBLIGATORY. " G/L Accounts
    SELECTION-SCREEN END OF BLOCK b1.
    Here u r defining  s_budat like parameter with NO-EXTENSION
    NO INTERVALS. additions.
    So that means it should contain only one record in it. As s_budat is nothing but a range table with headerline so this entry should be contained in the body as well as in the header.
    But in AT SELECTION-SCREEN ON s_budat. u r again entering a 2nd record if date is not 01.
    AT SELECTION-SCREEN ON s_budat.
    DATA : v_year(4) TYPE c,
    v_month(2) TYPE c,
    v_date(2) TYPE c. "#EC NEEDED
    *if date ne 01 converting date to '01'
    READ TABLE s_budat.
    IF s_budat-low+6(2) NE c_one. << Here u r checking the header not the body
    v_year = s_budat-low.
    v_month = s_budat-low+4(2).
    v_date = s_budat-low+6(2).
    s_budat-high = s_budat-low.
    CLEAR s_budat-low.
    CONCATENATE v_year c_one c_one INTO s_budat-low.
    s_budat-sign = 'I'.
    s_budat-option = 'BT'.
    APPEND s_budat.
    ENDIF.
    Due to these 2 records it is giving u error. So to avoid the problem u should read the body of the table and then modify the record.
    Read table s_budat index 1.
    IF s_budat-low+6(2) NE c_one.* << Here u r checking the header not the body
    v_year = s_budat-low.
    v_month = s_budat-low+4(2).
    v_date = s_budat-low+6(2).
    s_budat-high = s_budat-low.
    CLEAR s_budat-low.
    CONCATENATE v_year c_one c_one INTO s_budat-low.
    s_budat-sign = 'I'.
    s_budat-option = 'BT'.
    modify s_budat index sy-tabix.
    Regards,
    Joy.

  • "DEADLOCK" when showing dialog from RMI-callback.

    Hi!
    Today is the 10th day (full time) that I've been searching for a solution in Java Forums and Internet, but I couldn't find anything that helps me. Help is extremely appreciated, otherwise I'll go crazy! :-)
    The problem is that RMI-callback thread "somehow blocks" the Event Dispatch Thread.
    I want to do following:
    1) I push the button in the client (btDoSomething)
    (MOUSE_RELEASED,(39,14),button=1,modifiers=Button1,clickCount=1 is automatically pushed onto EventQueue)
    2) btDoSomethingActionPerformed is invoked
    3) inside of it I make a call to RMI-server (server.doSomething())
    4) from this server method I invoke RMI-callback back to the client (client.askUser())
    5) in the callback I want to display a question to the user (JOptionPane.showConfirmDialog)
    6) user should answers the question
    7) callback returns to server
    8) client call to the server returns
    9) btDoSomethingActionPerformed returns and everybody is happy :-)
    This works normally in normal Client, that means, while a button is pushed, you can show Dialogs, but with RMI callback I get problems.
    I just made a small client-server sample to simulate real project. What I want to achieve is that client invokes server method, server method does something, but if server method doesn't have enough information to make the decision it needs to do call back to the client and wait for input, so the user gets an JOptionPane.
    Here is my callback method:
        /** this is the remote callback method, which is invoked from the sevrer */
        public synchronized String askUser() throws java.rmi.RemoteException {
            System.out.println("askUser() thread group: " + Thread.currentThread().getThreadGroup());
            System.out.println("callback started...");
            try {
                SwingUtilities.invokeLater(new Runnable() {
                    public void run() {
                        System.out.println("My event started...");
                        JOptionPane.showConfirmDialog(parentFrame, "Are you OK?", "Question", JOptionPane.YES_NO_OPTION);
                        System.out.println("My event finished.");
            }catch (Exception e) {
                e.printStackTrace();
            try {
                Thread.currentThread().sleep(10000);
            }catch (Exception e) {
                e.printStackTrace();
            System.out.println("callback finished.");
            return "Yo!"; // just return anything
        }Here in this sample I let the callback thread sleep for 10 seconds, but in real project I let it sleep infinitely and I want to wake it up after the user has answered JOptionPane. But I have the DEADLOCK, because event queue is waiting for callback to finish and doesn't schedule the "showing dialog" event which contains the command for waking up the callback thread.
    I looked very precisely when the event queue starts again to process events: it is precisely then when btDoSomethingActionPerformed is finished.
    When I'm not accessing GUI inside of the callback, this callback mechanism works perfectly, but as soon as I want to show the dialog from inside of the RMI-callback method, the "AWT Event Dispatch Queue" is somehow frozen until RMI-callback thread is finished (and in turn btDoSomethingActionPerformed terminates) . I cannot explain this weird behaviour!!!
    If I don't use SwingUtilities.invokeLater (I know this shoudn't be done outside of Event Dispatch Thread), but access the GUI directy, my JOptionPane is shown, but is not painted (it is blank gray) until callback thread returns.
    Why showing (or painting) of dialog is not done until btDoSomethingActionPerformed is finished?
    I also tried to spawn a new Thread inside of main RMI-callback thread, but nothing changed.
    I also tried the workaround from some older posting to use myInvokeLater:
        private final static ThreadGroup _applicationThreadGroup = Thread.currentThread().getThreadGroup();
        public void myInvokeLater(final Runnable code) {
            (new Thread(_applicationThreadGroup, new Runnable() {
                public void run() { SwingUtilities.invokeLater(code); }
            ).start();
        }but this didn't help either.
    Then I tried to spawn a new Thread directly from the Client's constructor, so that I'm sure that it belongs to the main appplication thread group. I even started that thread there in the constructor and made it wait for the callback. When callback came in, it would wake up that sleeping thread which should then show the dialog. But this did't help either.
    Now I think that it is IMPOSSIBLE to solve this problem this way.
    Spawning a new Process could work I think, but I'm not really sure if I want do to that.
    I know I could make a solution where server method is invoked and if some information is missing I can raise custom exception, provide the input on client side and call the same server mathod again with this additional data, but for that I need to change server RMI interfaces, etc... to fit in this concept. I thought callback would much easier, but after almost 10 days of trying the callback...I almost regreted it :-(
    Is anyone able to help?
    Thank you very much!
    Please scroll down for the complete sample (with build and run batch files), in case someone wants to try it. Or for the time being for your convenience you can download the whole sample from
    http://www.onlineloop.com/~tornado/download/rmi_callback_blocks_gui.zip
    ######### BEGIN CODE ####################################
    package callbackdialog;
    public interface ICallback extends java.rmi.Remote {
        public String askUser() throws java.rmi.RemoteException;
    package callbackdialog;
    public interface IServer extends java.rmi.Remote {
        public void doSomething() throws java.rmi.RemoteException;
    package callbackdialog;
    import java.rmi.Naming;
    public class Server {
        public Server() {
            try {
                IServer s = new ServerImpl();
                Naming.rebind("rmi://localhost:1099/ServerService", s);
            } catch (Exception e) {
                System.out.println("Trouble: " + e);
        public static void main(String args[]) {
            new Server();
    package callbackdialog;
    import java.rmi.Naming;
    public class ServerImpl extends java.rmi.server.UnicastRemoteObject implements IServer {
        // Implementations must have an explicit constructor
        // in order to declare the RemoteException exception
        public ServerImpl() throws java.rmi.RemoteException {
            super();
        public void doSomething() throws java.rmi.RemoteException {
            System.out.println("doSomething started...");
            try {
                // ask the client for the "missing" value via RMI callback
                ICallback client = (ICallback)Naming.lookup("rmi://localhost/ICallback");
                String clientValue = client.askUser();
                System.out.println("Got value from callback: " + clientValue);
            }catch (Exception e) {
                e.printStackTrace();
            System.out.println("doSomething finished.");
    package callbackdialog;
    import java.rmi.server.RemoteStub;
    import java.rmi.server.UnicastRemoteObject;
    import java.rmi.registry.Registry;
    import java.rmi.registry.LocateRegistry;
    import java.rmi.Naming;
    import javax.swing.JOptionPane;
    import javax.swing.SwingUtilities;
    import javax.swing.JFrame;
    public class Client extends javax.swing.JFrame implements ICallback {
        private final JFrame parentFrame = this;
        private Registry mRegistry = null;
        private RemoteStub remoteStub = null;
        private IServer server = null;
        private final static ThreadGroup _applicationThreadGroup = Thread.currentThread().getThreadGroup();
        /** Creates new form Client */
        public Client() {
            initComponents();
            System.out.println("Client constructor thread group: " + Thread.currentThread().getThreadGroup());
            try {
                server = (IServer)Naming.lookup("rmi://localhost/ServerService");
                // register client to the registry, so the server can invoke callback on it
                mRegistry = LocateRegistry.getRegistry("localhost", 1099);
                remoteStub = (RemoteStub)UnicastRemoteObject.exportObject((ICallback)this);
                Registry mRegistry = LocateRegistry.getRegistry("localhost", 1099);
                mRegistry.bind("ICallback", remoteStub);
            }catch (java.rmi.AlreadyBoundException e) {
                try {
                    mRegistry.unbind("ICallback");
                    mRegistry.bind("ICallback", remoteStub);
                }catch (Exception ex) {
                    // ignore it
            }catch (Exception e) {
                e.printStackTrace();
        /** This method is called from within the constructor to
         * initialize the form.
         * WARNING: Do NOT modify this code. The content of this method is
         * always regenerated by the Form Editor.
        private void initComponents() {
            java.awt.GridBagConstraints gridBagConstraints;
            secondTestPanel = new javax.swing.JPanel();
            btDoSomething = new javax.swing.JButton();
            getContentPane().setLayout(new java.awt.GridBagLayout());
            setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
            setTitle("RMI-Callback-GUI-problem sample");
            addWindowListener(new java.awt.event.WindowAdapter() {
                public void windowClosing(java.awt.event.WindowEvent evt) {
                    formWindowClosing(evt);
            secondTestPanel.setLayout(new java.awt.GridBagLayout());
            btDoSomething.setText("show dialog");
            btDoSomething.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    btDoSomethingActionPerformed(evt);
            gridBagConstraints = new java.awt.GridBagConstraints();
            gridBagConstraints.gridx = 0;
            gridBagConstraints.gridy = 3;
            gridBagConstraints.insets = new java.awt.Insets(10, 0, 0, 0);
            secondTestPanel.add(btDoSomething, gridBagConstraints);
            gridBagConstraints = new java.awt.GridBagConstraints();
            gridBagConstraints.gridx = 0;
            gridBagConstraints.gridy = 1;
            gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
            gridBagConstraints.weightx = 1.0;
            gridBagConstraints.weighty = 1.0;
            getContentPane().add(secondTestPanel, gridBagConstraints);
            pack();
        private void btDoSomethingActionPerformed(java.awt.event.ActionEvent evt) {                                             
            System.out.println(java.awt.EventQueue.getCurrentEvent().paramString());
            try {
                server.doSomething(); // invoke server RMI method, which will do the client RMI-Callback
                                      // in order to show the dialog
            }catch (Exception e) {
                e.printStackTrace();
        private void formWindowClosing(java.awt.event.WindowEvent evt) {                                  
            try {
                mRegistry.unbind("ICallback");
            }catch (Exception e) {
                e.printStackTrace();
            setVisible(false);
            dispose();
            System.exit(0);
        /** this is the remote callback method, which is invoked from the sevrer */
        public synchronized String askUser() throws java.rmi.RemoteException {
            System.out.println("askUser() thread group: " + Thread.currentThread().getThreadGroup());
            System.out.println("callback started...");
            try {
                SwingUtilities.invokeLater(new Runnable() {
                    public void run() {
                        System.out.println("My event started...");
                        JOptionPane.showConfirmDialog(parentFrame, "Are you OK?", "Question", JOptionPane.YES_NO_OPTION);
                        System.out.println("My event finished.");
            }catch (Exception e) {
                e.printStackTrace();
            try {
                Thread.currentThread().sleep(10000);
            }catch (Exception e) {
                e.printStackTrace();
            System.out.println("callback finished.");
            return "Yo!"; // just return anything
         * @param args the command line arguments
        public static void main(String args[]) {
            java.awt.EventQueue.invokeLater(new Runnable() {
                public void run() {
                    Client client = new Client();
                    client.setSize(500,300);
                    client.setVisible(true);
        // Variables declaration - do not modify
        private javax.swing.JButton btDoSomething;
        private javax.swing.JPanel secondTestPanel;
        // End of variables declaration
    1_build.bat
    javac -cp . -d . *.java
    rmic callbackdialog.ServerImpl
    rmic callbackdialog.Client
    pause
    2_RunRmiRegistry.bat
    rmiregistry
    pause
    3_RunServer.bat
    rem java -classpath .\ Server
    java callbackdialog.Server
    pause
    4_RunClient.bat
    java callbackdialog.Client
    pause
    ######### END CODE ####################################

    I can understand that only partially, because SwingUtilities.invokeLater puts(redirects) my runnable object directly into AWT thread. The only conclusion I can draw from all things that I have tried until now , is that SwingUtilities.invokeLater(<showing the dialog>) invoked from a RMI thread somehow have lower "priority" than events coming directly from the AWT-thread and therefore it is held back until normal awt event completes (in this case BUTTON_RELEASED).
    But what I don't understand is the fact that the dialog is not shown even If I create and start a new thread from the client's constructor. This thread has nothing to do with RMI as it is in the main thread group:
        private BlockingObject dialogBlocker = new BlockingObject();
        private BlockingObject blocker = new BlockingObject();
        public Client() {
            initComponents();
            (new Thread() {
                public void run() {
                    try {
                        dialogBlocker.sleep(0);
                        System.out.println("My event started...");
                        JOptionPane.showConfirmDialog(parentFrame, "Are you OK?", "Question", JOptionPane.YES_NO_OPTION);
                        blocker.wake();
                        System.out.println("My event finished.");
                    }catch (Exception e) {
                        e.printStackTrace();
            }).start();
            ...Callback is then only used to wake up this thread which should display the dialog:
        public Object askUser() throws java.rmi.RemoteException {
            System.out.println("callback started...");
            dialogBlocker.wake();
            blocker.sleep(0);
            System.out.println("callback finished.");
            return userChoice; // return anything I don't care for now
    class BlockingObject {
        public void sleep(long timeout) {
            synchronized(this){
                try {
                    wait(timeout);
                }catch (InterruptedException e) {}
        public void wake() {
            synchronized(this){
                notifyAll();
        }In this case the dialog is shown, but it is NOT painted, so I have deadlock again. Why it is not painted?!?
    Haven't I uncouple it from RMI-Thread?
    But perhaps I'm looking at the wrong side of the whole thing.
    If I invoke server.doSomething (as ejp proposed) in a separate thread, then everything is fine (except that I cannot use this solution in my project :-( ).
    It seems that the whole problem is NOT AT ALL related to callback itself, but rather to the fact that if client invokes remote call, even dialogs can't be shown until the rmi call returns to the client.
    Thank you, Drindilica

  • Dynamically add a fade in/out transition to a caption when "showing" it from an Action?

    I have a conditional action set up where if things are not correct (text input in two entry fields), I show feedback in a caption box. I figured out how to set the caption box to be initially invisible (via unchecking the Visible checkbox for the caption's properties), and how to show it when this condition occurs. But I 'd like it to also do the traditionall transition of fade in & out when I show it fromt he action. My Advanced Action is executed when the user clicks an "OK" button.
    Any thoughts or advice?

    Yes. Plenty of media on either end. The good news is that trashing the permissions and repairing worked.
    BUT I have a question while these great minds are assembled...When repairing disk permissions the Utility says that to repair permissions on startup disk, start using my OSX install disk, which in my case is the the CD that came with my powerbook. When I tried to startup using that CD, holding down the "c" key on startup, it went into install mode. I told it I did not want to install, set the startup disk as the CD again, and kept looping around in this manner. I am probably missing a step...First question:
    1) Is it in fact necessary to start up from this CD in order to properly repair permissions?
    2) If yes, how do I get away from the install mode and to the disk utility, once the installer pops up.
    Thanks in advance. You guys are lifesavers once again.

  • Volume not displayed when controlling iPod from locked phone.

    When my screen is locked and I am controlling the iPod, the volume controls on screen do not work and do not display the current volume. The headset and the on phone buttons work fine.

    Would assume you have multiple entries, the only cause I know for this problem, lots of posts on the subject, check you don't have more than one name attached to a number, the phone doesn't know who's calling so just shows the number.
    Happy to have helped forum with a Support Ratio = 42.5

  • Need to know How Install Base Items gets Interfaced when an Item is Shipped

    Hi,
    I am creating a sales order with Install Base item. When we book and Ship the Order the Item comes to Install base with the Serial Number.
    Please let me know if there is any workflow or the process which is doing this.
    There is some Standard Process or link between Shiiping and Install base. Please explain this. I have checked the Order Header and line workflow for the Item type and i could'nt find any function which is doing this.
    Thanks and Regards,
    Ragni Gupta

    Thanks a lot for the Info as i was Searching the Line workflow for Install Base Functions. :)
    I am New to Install Base.. I got to know that We are Using SFM to push the Details to Install base
    What are these Xnp_Msgs tables.. Please give more Info On these
    I did some R&D and found Below Tables for Install Base
    csi_t_transaction_lines
    CSI_ITEM_INSTANCES
    csi_t_txn_line_details
    Is there any Other Important Base tables or Interfaces for Install Base. Thanks a lot for your help..
    Please suggest any Documents which will explain these Integration between the Modules so that i can understand the data flow
    Thanks and Regards,
    Ragni Gupta
    Edited by: Ragni^^1234 on May 10, 2013 8:23 AM

  • Thumbnails do not display when logged in from a second account at the same iMac

    Hi,
    I am using Lightroom on an iMac with OSX 10.8.2. I have two user accounts. The library is located in a shared users folder, so that either user 1 or user 2 can have access to it (of course not at the same time). The pictures physically reside on an external drive and are recognized as such without any issue.
    Here is my problem: Under user 1 everything works perfect. Under user 2 the thumbnails of the pictures are not displayed for some reason. In the develop module user 2 can access the pictures. Nevertheless the thumbnails remain grey.
    I have worked in that configuration in LR 3 without any problem. After upgrading to LR 4 the problem started. Upgrading to 4.2 did not solve the problem. Rerendering the thumbnails when logged in as user 2 stalles.
    Any help is very much appreciated.

    Hi,
    It seems to be a known issue. Hope it will be fixed by next update.
    Also you can feedback in the link below:
    http://blogs.technet.com/b/lync/archive/2012/11/01/lync-app-feedback-you-asked-and-here-it-is.aspx
    The workaround is to use Lync Web App to share PPTs. You can see the Thumbnails for Powerpoint slides using Lync Web App.
    Best Regards,
    Eason Huang
    Eason Huang
    TechNet Community Support

Maybe you are looking for