"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 ThompsonBridge 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 -
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.
RoxyWhile 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.?
Nageshdesign 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.... -
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,
RamanaProblem 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 GuptaThanks 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
-
Re:trackpad and keyboard not working on my MBP
Over the past few days, my track pad on my laptop has stopped working and same with the keyboard. I have had to plug in an external keyboard and I am using a bluetooth mouse. This problem seems to occur randomly and frequently lately. I have to logou
-
Here is what I am using: MacBook Pro - Version 10.7.5 with 128 GB SSD Parallels 6.0 Windows 7 Home Premium Visual Studio 2013 Ultimate IIS Express 7.5 download that changed it to IIS Express 8.0 I also have WebMatrix but I am not planning on using it
-
Icons generic since install of Adobe Reader X
Hoping someone can help with this, as we are drawing a blank here. Installed Adobe Reader X on to our systems via group policy. Since doing so, most of our machines do not show the adobe icon, instead we get a generic windows logo, attached at the bo
-
for example I want to go on the full version of the twitter.com but I can't, it redirects me on the mobile version.
-
Essbase Server Hangs Intermittently - Urgent pls Help
Essbase Version - 9.3.3 Shared Services - 9.3.3 Enviroment - Windows Server 2003 We are in the process of migrating the users from Domain A to Domain B There are around 15000 users across the board, out of which I assume there are around 250 users ac