SDMParserException occured - Help needed
Hello Community,
I am currently installing a scenario where we want to use the "Material Availability" App from SAP App Store.
I installed the Add-On for Material Availability and the IW_BEP component via SAINT in the backend system. Then installed a new Netweaver System with all the Netweaver Gateway 2.0 components and finally the Sybase Unwired Platform 2.1.
For all customizing settings the SAP_MATERIAL_AVAILABILITY.pdf instguide from Service Marketplace was used. I published the salesmaterial service to the gateway and created the BgRFC Queue. On the SUP I created a security configuration with HttpAuthenticationLoginModule and the URL to the service: URL=http://<server.domain>:8021/sap/opu/sdata/MIVE/SALESMATERIAL
I then added a new Application (com.sap.meps.erpmaterialsearch) and Application Connections, where I configured the Proxy Application Endpoint to http://<server.domain>:8021/sap/opu/sdata/MIVE/SALESMATERIAL.
Now, when logging in via an iPad I can see the connection is online in the Sybase Control Center and in NW Gateway I can see a logon for the GW test user (which exists on the backend aswell). When trying to display the first screen after logging in a Parser Error is shown.
I checked the log files in Sybase Control Center, but everything seems fine there:
2012-02-23 14:27:07.183 INFO PROXY MessageChannel Thread-329 [com.sybase.suplite.gwc.req.handler.GatewayConnectorHandler]ODP:Returning Response from Gateway Back to Message Channel
2012-02-23 14:27:07.181 INFO PROXY MessageChannel Thread-329 [com.sybase.suplite.gwc.req.handler.GWProxy]ODP:Read response body from Gateway
2012-02-23 14:27:07.181 INFO PROXY MessageChannel Thread-329 [com.sybase.suplite.gwc.req.handler.GWProxy]Response code is HTTP/1.1 307 Temporary Redirect
2012-02-23 14:27:07.181 INFO PROXY MessageChannel Thread-329 [com.sybase.suplite.gwc.req.handler.GWProxy]ODP:Recieved the response from the gateway
2012-02-23 14:27:07.167 INFO PROXY MessageChannel Thread-329 [com.sybase.suplite.gwc.req.handler.GWProxy]ODP: Firing the request to the Gateway
2012-02-23 14:27:07.163 INFO PROXY MessageChannel Thread-329 [com.sybase.suplite.gwc.req.handler.GWCRequestAdapter]ODP: Read the Request information
2012-02-23 14:27:07.163 INFO PROXY MessageChannel Thread-329 [com.sybase.suplite.gwc.req.handler.GatewayConnectorHandler]ODP :Recieved a request to fire to Gateway
2012-02-23 14:27:07.156 CONSOLE MMS pool-1-thread-4 - /msgchannel/mo [com.sybase.sup.server.Console]1709
When checking SLG1 on the NW Gateway, there are no errors reported.
The Trace on the iPad says:
Facility: com.sap.meps.erpmaterialsearch.release
PID = 238
Message = SDMParserException occured: (null) Details (null) StatusCode 0
When calling the salesmaterial service in a webbrowser everything seems fine, but via iPad I always get the Parser error.
What can I do to solve this? Where can I find more logfiles? How can I find out, where the problem is (SUP, GW or backend)?
Thanks in advance and kind regards
Stefan
Here is the log from SCC -> Servers -> <server> -> Log after firing a request from the iPad:
2012-02-24 10:00:36.429 DEBUG PROXY Thread-553 [com.sybase.suplite.gwc.req.util.domainReqRespLogHandler]Inside Domain Logger for ReqResp
2012-02-24 10:00:36.429 INFO PROXY MessageChannel Thread-424 [com.sybase.suplite.gwc.req.handler.GatewayConnectorHandler]ODP:Returning Response from Gateway Back to Message Channel
2012-02-24 10:00:36.429 TRACE PROXY MessageChannel Thread-424 [com.sybase.suplite.gwc.req.handler.GatewayConnectorHandler]GWConnectorHandler StartTime1330074036407 EndTime 1330074036429 Difference is 22
2012-02-24 10:00:36.429 DEBUG PROXY MessageChannel Thread-424 [com.sybase.suplite.gwc.req.handler.GatewayConnectorHandler]--IN GWCHandlerEXC--returning the Response obtained from GWProxy
2012-02-24 10:00:36.429 TRACE PROXY MessageChannel Thread-424 [com.sybase.suplite.gwc.req.handler.GWCResponseAdapter]in response adapter (internal conversion){"responseCode":"307","responseMsg":"Temporary Redirect","headers":{"server":"SAP NetWeaver Application Server / ABAP 702","location":"/sap/opu/sdata/MIVE/SALESMATERIAL/","content-length":"0","set-cookie":"MYSAPSSO2=AjQxMDMBABhNAEEAVABFAFMAVAAwADEAIAAgACAAIAACAAYyADAAMAADABBOAEcAVwAgACAAIAAgACAABAAYMgAwADEAMgAwADIAMgA0ADAAOQAwADAABQAEAAAACAYAAlgACQACRAD%2fAVUwggFRBgkqhkiG9w0BBwKgggFCMIIBPgIBATELMAkGBSsOAwIaBQAwCwYJKoZIhvcNAQcBMYIBHTCCARkCAQEwbzBkMQswCQYDVQQGEwJERTEcMBoGA1UEChMTU0FQIFRydXN0IENvbW11bml0eTETMBEGA1UECxMKU0FQIFdlYiBBUzEUMBIGA1UECxMLSTAwMjAxOTU0NzAxDDAKBgNVBAMTA05HVwIHIBICIhMYIjAJBgUrDgMCGgUAoF0wGAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMTIwMjI0MDkwMDM2WjAjBgkqhkiG9w0BCQQxFgQUCoQSAuV27RAcA0UfmGH2EsdZ6JowCQYHKoZIzjgEAwQuMCwCFHNz%2frybwIDuW2lOZ7I%2fhiqq%21hrDAhRlfwkMdfvURK5ZhrFj2bniiv%2fU7g%3d%3d; path=/; domain=.<domain>"},"body":""}
2012-02-24 10:00:36.429 TRACE PROXY MessageChannel Thread-424 [com.sybase.suplite.gwc.req.handler.GWProxy]GWProxy StartTime:1330074036408 EndTime:1330074036429 Difference is 21
2012-02-24 10:00:36.429 DEBUG PROXY MessageChannel Thread-424 [com.sybase.suplite.gwc.req.handler.GWProxy]Connection released
2012-02-24 10:00:36.429 DEBUG PROXY MessageChannel Thread-424 [com.sybase.suplite.gwc.req.handler.GWCConnectionPoolManager]---Inside releaseConnection() of GWCConnectionPoolManager----
2012-02-24 10:00:36.429 TRACE PROXY MessageChannel Thread-424 [com.sybase.suplite.gwc.req.handler.GWProxy]GWWriteResponse StartTime:1330074036428 EndTime:1330074036429 Difference is 1
2012-02-24 10:00:36.428 DEBUG PROXY MessageChannel Thread-424 [com.sybase.suplite.gwc.req.handler.GWProxy]Response Body is written into OutputStream
2012-02-24 10:00:36.428 DEBUG PROXY MessageChannel Thread-424 [com.sybase.suplite.gwc.req.handler.GWProxy]----In writing response method---
2012-02-24 10:00:36.428 TRACE PROXY MessageChannel Thread-424 [com.sybase.suplite.gwc.req.handler.GWProxy]GWPrepareResponse StartTime:1330074036427 EndTime:1330074036428 Difference is 1
2012-02-24 10:00:36.428 TRACE PROXY MessageChannel Thread-424 [com.sybase.suplite.gwc.req.handler.GWProxy]Response obtained from GW sent back to client is of length875
2012-02-24 10:00:36.428 DEBUG PROXY MessageChannel Thread-424 [com.sybase.suplite.gwc.req.handler.GWProxy]Response body is obtained from BackEnd
2012-02-24 10:00:36.428 INFO PROXY MessageChannel Thread-424 [com.sybase.suplite.gwc.req.handler.GWProxy]ODP:Read response body from Gateway
2012-02-24 10:00:36.428 DEBUG PROXY MessageChannel Thread-424 [com.sybase.suplite.gwc.req.handler.GWProxy]--Response code from GW is not 200, Reading the error stream--
2012-02-24 10:00:36.428 DEBUG PROXY MessageChannel Thread-424 [com.sybase.suplite.gwc.req.handler.GWProxy]--content type|encoding|length0--
2012-02-24 10:00:36.428 DEBUG PROXY MessageChannel Thread-424 [com.sybase.suplite.gwc.req.handler.GWProxy]Response header keyset-cookie Response header valueMYSAPSSO2=AjQxMDMBABhNAEEAVABFAFMAVAAwADEAIAAgACAAIAACAAYyADAAMAADABBOAEcAVwAgACAAIAAgACAABAAYMgAwADEAMgAwADIAMgA0ADAAOQAwADAABQAEAAAACAYAAlgACQACRAD%2fAVUwggFRBgkqhkiG9w0BBwKgggFCMIIBPgIBATELMAkGBSsOAwIaBQAwCwYJKoZIhvcNAQcBMYIBHTCCARkCAQEwbzBkMQswCQYDVQQGEwJERTEcMBoGA1UEChMTU0FQIFRydXN0IENvbW11bml0eTETMBEGA1UECxMKU0FQIFdlYiBBUzEUMBIGA1UECxMLSTAwMjAxOTU0NzAxDDAKBgNVBAMTA05HVwIHIBICIhMYIjAJBgUrDgMCGgUAoF0wGAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMTIwMjI0MDkwMDM2WjAjBgkqhkiG9w0BCQQxFgQUCoQSAuV27RAcA0UfmGH2EsdZ6JowCQYHKoZIzjgEAwQuMCwCFHNz%2frybwIDuW2lOZ7I%2fhiqq%21hrDAhRlfwkMdfvURK5ZhrFj2bniiv%2fU7g%3d%3d; path=/; domain=.<domain>
2012-02-24 10:00:36.427 DEBUG PROXY MessageChannel Thread-424 [com.sybase.suplite.gwc.req.handler.GWProxy]Response header keycontent-length Response header value0
2012-02-24 10:00:36.427 DEBUG PROXY MessageChannel Thread-424 [com.sybase.suplite.gwc.req.handler.GWProxy]Response header keylocation Response header value/sap/opu/sdata/MIVE/SALESMATERIAL/
2012-02-24 10:00:36.427 DEBUG PROXY MessageChannel Thread-424 [com.sybase.suplite.gwc.req.handler.GWProxy]Response header keyserver Response header valueSAP NetWeaver Application Server / ABAP 702
2012-02-24 10:00:36.427 INFO PROXY MessageChannel Thread-424 [com.sybase.suplite.gwc.req.handler.GWProxy]Response code is HTTP/1.1 307 Temporary Redirect
2012-02-24 10:00:36.427 INFO PROXY MessageChannel Thread-424 [com.sybase.suplite.gwc.req.handler.GWProxy]ODP:Recieved the response from the gateway
2012-02-24 10:00:36.427 TRACE PROXY MessageChannel Thread-424 [com.sybase.suplite.gwc.req.handler.GWProxy]GWFireRequest StartTime:1330074036412 EndTime:1330074036427 Difference is 15
2012-02-24 10:00:36.427 DEBUG PROXY MessageChannel Thread-424 [com.sybase.suplite.gwc.req.handler.GWProxy]--Finished firing the request to GW--
2012-02-24 10:00:36.427 DEBUG PROXY MessageChannel Thread-424 [com.sybase.suplite.gwc.req.handler.GWProxy]--Leaving FireRequest Method--
2012-02-24 10:00:36.427 DEBUG PROXY MessageChannel Thread-424 [com.sybase.suplite.gwc.req.handler.GWProxy]--Finished Client.Execute--
2012-02-24 10:00:36.412 DEBUG PROXY MessageChannel Thread-424 [com.sybase.suplite.gwc.req.handler.GWProxy]--Before client.execute--
2012-02-24 10:00:36.412 INFO PROXY MessageChannel Thread-424 [com.sybase.suplite.gwc.req.handler.GWProxy]ODP: Firing the request to the Gateway
2012-02-24 10:00:36.412 DEBUG PROXY MessageChannel Thread-424 [com.sybase.suplite.gwc.req.handler.GWProxy]----Host request header set is -
<server>.<domain>:8021
2012-02-24 10:00:36.412 DEBUG PROXY MessageChannel Thread-424 [com.sybase.suplite.gwc.req.handler.GWProxy]header: key=X-SAP-deviceType value=iphone
2012-02-24 10:00:36.412 DEBUG PROXY MessageChannel Thread-424 [com.sybase.suplite.gwc.req.handler.GWProxy]header: key=X-SAP-deviceId value=ca4b1e390bba95835d6084939be60e4017859e4a
2012-02-24 10:00:36.412 DEBUG PROXY MessageChannel Thread-424 [com.sybase.suplite.gwc.req.handler.GWProxy]header: key=Authorization value=Basic bWF0ZXN0MDE6Y29ybWV0YTk5
2012-02-24 10:00:36.412 DEBUG PROXY MessageChannel Thread-424 [com.sybase.suplite.gwc.req.handler.GWProxy]header: key=Accept-Language value=de
2012-02-24 10:00:36.412 DEBUG PROXY MessageChannel Thread-424 [com.sybase.suplite.gwc.req.handler.GWProxy]--In GWProxy fireRequest()--
2012-02-24 10:00:36.412 DEBUG PROXY MessageChannel Thread-424 [com.sybase.suplite.gwc.req.handler.GWProxy]--About to fire the request to the GW--
2012-02-24 10:00:36.411 TRACE PROXY MessageChannel Thread-424 [com.sybase.suplite.gwc.req.handler.GWCConnectionPoolManager]Connections active in pool: 1
2012-02-24 10:00:36.411 DEBUG PROXY MessageChannel Thread-424 [com.sybase.suplite.gwc.req.handler.GWCConnectionPoolManager]---Leaving getConnection() of GWCConnectionPoolManager Found in cache first time----
2012-02-24 10:00:36.411 DEBUG PROXY MessageChannel Thread-424 [com.sybase.suplite.gwc.req.handler.GWCConnectionPoolManager]Flag value is (1)true
2012-02-24 10:00:36.411 TRACE PROXY MessageChannel Thread-424 [com.sybase.suplite.gwc.req.handler.GWCConnectionPoolManager]--within while of isPresent() getconnection-- appId/address_from_cache/address_from_requestUrl--default_com.sap.meps.erpmaterialsearch_default_admin_proxy/http://<server>.<domain>:8021/http://<server>.<domain>:8021
2012-02-24 10:00:36.409 TRACE PROXY MessageChannel Thread-424 [com.sybase.suplite.gwc.req.handler.GWCConnectionPoolManager]---Size of set is 1
2012-02-24 10:00:36.409 TRACE PROXY MessageChannel Thread-424 [com.sybase.suplite.gwc.req.handler.GWCConnectionPoolManager]-Inside ispresent Method()
2012-02-24 10:00:36.409 DEBUG PROXY MessageChannel Thread-424 [com.sybase.suplite.gwc.req.handler.GWCConnectionPoolManager]Address to which connection object has to be assigned is:http://<server>.<domain>:8021
2012-02-24 10:00:36.409 DEBUG PROXY MessageChannel Thread-424 [com.sybase.suplite.gwc.req.handler.GWCConnectionPoolManager]---Inside getConnection() of GWCConnectionPoolManager----
2012-02-24 10:00:36.409 DEBUG PROXY MessageChannel Thread-424 [com.sybase.suplite.gwc.req.handler.GWProxy]--Using Connection Pool--
2012-02-24 10:00:36.409 DEBUG PROXY MessageChannel Thread-424 [com.sybase.suplite.gwc.req.handler.GWProxy]URL to be fired : http://<server>.<domain>:8021/sap/opu/sdata/MIVE/SALESMATERIAL
2012-02-24 10:00:36.408 DEBUG PROXY MessageChannel Thread-424 [com.sybase.suplite.gwc.req.handler.GWProxy]--Without URL rewrite--
2012-02-24 10:00:36.408 DEBUG PROXY MessageChannel Thread-424 [com.sybase.suplite.gwc.req.handler.GWProxy]--Application Id sent from client is--
com.sap.meps.erpmaterialsearch
2012-02-24 10:00:36.408 DEBUG PROXY MessageChannel Thread-424 [com.sybase.suplite.gwc.req.handler.GWProxy]--In GWProxy handle()--
2012-02-24 10:00:36.408 DEBUG PROXY MessageChannel Thread-424 [com.sybase.suplite.gwc.req.handler.GWCRequestAdapter]--Leaving GWCRequestAdapter constructor()--
2012-02-24 10:00:36.408 DEBUG PROXY MessageChannel Thread-424 [com.sybase.suplite.gwc.req.handler.GWCRequestAdapter]Json Request header : [{"url":"http://<server>.<domain>:8021/sap/opu/sdata/MIVE/SALESMATERIAL"},{"request":"GET"},{"X-SAP-applicationId":"com.sap.meps.erpmaterialsearch"},{"X-SAP-applicationId":"com.sap.meps.erpmaterialsearch"},{"Accept-Language":"de"},{"X-SAP-deviceType":"iphone"},{"X-SAP-deviceId":"ca4b1e390bba95835d6084939be60e4017859e4a"}]
2012-02-24 10:00:36.407 DEBUG PROXY MessageChannel Thread-424 [com.sybase.suplite.gwc.req.handler.GWCRequestAdapter]context.getDeviceUserName() is matest01
2012-02-24 10:00:36.407 DEBUG PROXY MessageChannel Thread-424 [com.sybase.suplite.gwc.req.handler.GWCRequestAdapter]Request header : [{"url":"http://<server>.<domain>:8021/sap/opu/sdata/MIVE/SALESMATERIAL"},{"request":"GET"},{"X-SAP-applicationId":"com.sap.meps.erpmaterialsearch"},{"X-SAP-applicationId":"com.sap.meps.erpmaterialsearch"},{"Accept-Language":"de"},{"X-SAP-deviceType":"iphone"},{"X-SAP-deviceId":"ca4b1e390bba95835d6084939be60e4017859e4a"}]
2012-02-24 10:00:36.407 DEBUG PROXY MessageChannel Thread-424 [com.sybase.suplite.gwc.req.handler.GWCRequestAdapter]Request body Read :
2012-02-24 10:00:36.407 INFO PROXY MessageChannel Thread-424 [com.sybase.suplite.gwc.req.handler.GWCRequestAdapter]ODP: Read the Request information
2012-02-24 10:00:36.407 DEBUG PROXY MessageChannel Thread-424 [com.sybase.suplite.gwc.req.handler.GWCRequestAdapter]After getting username/password from context:
2012-02-24 10:00:36.407 DEBUG PROXY MessageChannel Thread-424 [com.sybase.suplite.gwc.req.handler.GWCRequestAdapter]--In GWCRequestAdapter constructor()--
2012-02-24 10:00:36.407 DEBUG PROXY MessageChannel Thread-424 [com.sybase.suplite.gwc.req.handler.GatewayConnectorHandler]--In GatewayConnectorHandler execute()--
2012-02-24 10:00:36.407 INFO PROXY MessageChannel Thread-424 [com.sybase.suplite.gwc.req.handler.GatewayConnectorHandler]ODP :Recieved a request to fire to Gateway
2012-02-24 10:00:36.392 CONSOLE MMS pool-1-thread-28 - /msgchannel/mo [com.sybase.sup.server.Console]3951
Similar Messages
-
Help needed for grouping.
Hi,
Help needed .
I have an internal table having 6 .
Ex :
f1 f2 f3 f4 f5 f6
a aa 11 p1 10 10
a aa 12 p1 20 20
b aa 11 p2 30 30
b aa 12 p2 40 30
Now i want to sum the fields f5 and f6 individually and need to display based upon the fields f1 and f4.
To Display :
f1 f2 f3 f4 f5 f6
a aa 11 p1 30 30.
b aa 11 p2 70 60.
can anyone help me.How to do this..?
ThanksHere you go
DATA:
BEGIN OF cur_tab OCCURS 0,
f1 TYPE c,
f2(2) TYPE c,
f3(2) TYPE c,
f4(2) TYPE c,
f5(2) TYPE c,
f6(2) TYPE n,
END OF cur_tab.
DATA:
BEGIN OF sum_tab OCCURS 0,
f1 TYPE c,
f4(2) TYPE c,
f5 TYPE p,
f6 TYPE p,
END OF sum_tab.
DATA:
BEGIN OF final_tab OCCURS 0,
f1 TYPE c,
f2(2) TYPE c,
f3(2) TYPE c,
f4(2) TYPE c,
f5(5) TYPE c,
f6(5) TYPE c,
END OF final_tab.
START-OF-SELECTION.
cur_tab-f1 = 'a'.
cur_tab-f2 = 'aa'.
cur_tab-f3 = '11'.
cur_tab-f4 = 'p1'.
cur_tab-f5 = '10'.
cur_tab-f6 = '10'.
APPEND cur_tab.
cur_tab-f1 = 'a'.
cur_tab-f2 = 'aa'.
cur_tab-f3 = '11'.
cur_tab-f4 = 'p1'.
cur_tab-f5 = '20'.
cur_tab-f6 = '20'.
APPEND cur_tab.
cur_tab-f1 = 'b'.
cur_tab-f2 = 'aa'.
cur_tab-f3 = '11'.
cur_tab-f4 = 'p2'.
cur_tab-f5 = '30'.
cur_tab-f6 = '30'.
APPEND cur_tab.
cur_tab-f1 = 'b'.
cur_tab-f2 = 'aa'.
cur_tab-f3 = '11'.
cur_tab-f4 = 'p2'.
cur_tab-f5 = '40'.
cur_tab-f6 = '30'.
APPEND cur_tab.
LOOP AT cur_tab.
MOVE-CORRESPONDING cur_tab TO sum_tab.
COLLECT sum_tab.
ENDLOOP.
LOOP AT sum_tab.
READ TABLE cur_tab WITH KEY f1 = sum_tab-f1
f4 = sum_tab-f4.
IF sy-subrc NE 0.
WRITE:/ 'Something went very wrong'.
CONTINUE.
ENDIF.
MOVE-CORRESPONDING cur_tab TO final_tab.
MOVE-CORRESPONDING sum_tab TO final_tab.
APPEND final_tab.
ENDLOOP.
LOOP AT final_tab.
WRITE:/1 final_tab-f1,
AT 5 final_tab-f2,
AT 10 final_tab-f3,
AT 15 final_tab-f4,
AT 20 final_tab-f5,
AT 25 final_tab-f6.
ENDLOOP.
and the output
a aa 11 p1 30 30
b aa 11 p2 70 60 -
Help needed Displaying ALV Secondary list without using oops concept
Hi Experts
Help needed Displaying ALV Secondary list without using oops concept.
its urgent
regds
rajasekharhi chk this code
******************TABLES DECLARATION*****************
TABLES : VBAP,MARA.
*****************TYPE POOLS**************************
TYPE-POOLS : SLIS.
****************INTERNAL TABLES**********************
DATA : BEGIN OF IT_VBAP OCCURS 0,
VBELN LIKE VBAP-VBELN, "SALES DOCUMENT
POSNR LIKE VBAP-POSNR, "SALES DOCUMENT ITEM
MATNR LIKE VBAP-MATNR, "MATERIAL NUMBER
END OF IT_VBAP.
****************TEMPORARY VARIABLES******************
DATA : V_VBELN LIKE VBAP-VBELN."SALES DOCUMENT
DATA : V_MTART LIKE MARA-MTART. "MATERIAL TYPE
*****************FIELD CATALOG***********************
DATA : IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
****************LAYOUT*******************************
DATA : WA_LAYOUT TYPE SLIS_LAYOUT_ALV.
***************VARIANT*******************************
DATA : G_VARIANT LIKE DISVARIANT.
****************SAVE*********************************
DATA : G_SAVE(1) TYPE C.
*****************EVENTS******************************
DATA : XS_EVENTS TYPE SLIS_ALV_EVENT,
G_EVENTS TYPE SLIS_T_EVENT.
******************PF STATUS**************************
DATA : PF_STATUS TYPE SLIS_FORMNAME VALUE 'SET_PF_STATUS'.
******************USER COMMAND************************
DATA : USER_COMMAND TYPE SLIS_FORMNAME VALUE 'SET_USER_COMMAND',
R_UCOMM LIKE SY-UCOMM.
****************SELECTION SCREEN************************
SELECT-OPTIONS : S_VBELN FOR VBAP-VBELN.
***************AT SELECTION SCREEN*********************
AT SELECTION-SCREEN.
PERFORM VALIDATE.
**************START-OF-SELECTION**************************
START-OF-SELECTION.
PERFORM GET_DETAILS.
PERFORM FIELDCAT.
PERFORM LAYOUT.
PERFORM VARIANT.
PERFORM SAVE.
PERFORM EVENTS.
PERFORM ALV_DISPLAY.
*********************FORMS*******************************************
*& Form validate
text
--> p1 text
<-- p2 text
FORM VALIDATE .
SELECT SINGLE VBELN
FROM VBAP
INTO V_VBELN
WHERE VBELN IN S_VBELN.
IF SY-SUBRC <> 0.
MESSAGE E000 WITH 'enter valid vbeln'.
ENDIF.
ENDFORM. " validate
*& Form get_details
text
--> p1 text
<-- p2 text
FORM GET_DETAILS .
SELECT VBELN
POSNR
MATNR
FROM VBAP
INTO TABLE IT_VBAP
WHERE VBELN IN S_VBELN.
IF SY-SUBRC <> 0.
MESSAGE E000 WITH 'no details found'.
ENDIF.
ENDFORM. " get_details
*& Form fieldcat
text
--> p1 text
<-- p2 text
FORM FIELDCAT .
WA_FIELDCAT-TABNAME = 'IT_VBAP'.
WA_FIELDCAT-FIELDNAME = 'VBELN'.
WA_FIELDCAT-OUTPUTLEN = 10.
WA_FIELDCAT-SELTEXT_L = 'SALES DOC'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-TABNAME = 'IT_VBAP'.
WA_FIELDCAT-FIELDNAME = 'POSNR'.
WA_FIELDCAT-OUTPUTLEN = 6.
WA_FIELDCAT-SELTEXT_L = 'ITEM'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-TABNAME = 'IT_VBAP'.
WA_FIELDCAT-FIELDNAME = 'MATNR'.
WA_FIELDCAT-OUTPUTLEN = 18.
WA_FIELDCAT-SELTEXT_L = 'MATERIAL NO'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
ENDFORM. " fieldcat
*& Form LAYOUT
text
--> p1 text
<-- p2 text
FORM LAYOUT .
WA_LAYOUT-ZEBRA = 'X'.
ENDFORM. " LAYOUT
*& Form VARIANT
text
--> p1 text
<-- p2 text
FORM VARIANT .
CLEAR G_VARIANT.
G_VARIANT-REPORT = SY-REPID.
ENDFORM. " VARIANT
*& Form SAVE
text
--> p1 text
<-- p2 text
FORM SAVE .
CLEAR G_SAVE.
G_SAVE = 'A'.
ENDFORM. " SAVE
*& Form EVENTS
text
--> p1 text
<-- p2 text
FORM EVENTS .
CLEAR XS_EVENTS.
XS_EVENTS-NAME = SLIS_EV_TOP_OF_PAGE.
XS_EVENTS-FORM = 'TOP_OF_PAGE'.
APPEND XS_EVENTS TO G_EVENTS.
ENDFORM. " EVENTS
*& Form TOP_OF_PAGE
text
FORM TOP_OF_PAGE.
WRITE :/ ' INTELLI GROUP'.
ENDFORM. "TOP_OF_PAGE
*& Form ALV_DISPLAY
text
--> p1 text
<-- p2 text
FORM ALV_DISPLAY .
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER =
I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = SY-REPID
I_CALLBACK_PF_STATUS_SET = PF_STATUS
I_CALLBACK_USER_COMMAND = USER_COMMAND
I_STRUCTURE_NAME =
IS_LAYOUT = WA_LAYOUT
IT_FIELDCAT = IT_FIELDCAT
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = G_SAVE
IS_VARIANT = G_VARIANT
IT_EVENTS = G_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
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB = IT_VBAP
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. " ALV_DISPLAY
*& Form SET_PF_STATUS
text
FORM SET_PF_STATUS USING EXTAB TYPE SLIS_T_EXTAB.
SET PF-STATUS 'Z50651_PFSTATUS' EXCLUDING EXTAB.
ENDFORM. "SET_PF_STATUS
*& Form SET_USER_COMMAND
text
FORM SET_USER_COMMAND USING R_UCOMM
RS_SELFIELD TYPE SLIS_SELFIELD.
CASE R_UCOMM.
WHEN 'DC'.
READ TABLE IT_VBAP INDEX RS_SELFIELD-TABINDEX.
IF SY-SUBRC = 0.
SELECT SINGLE MTART
FROM MARA
INTO V_MTART
WHERE MATNR = IT_VBAP-MATNR.
IF SY-SUBRC <> 0.
MESSAGE E000 WITH 'NO MATERIAL DESCRIPTION FOR SELECTED MATERIAL NO'.
ELSE.
WRITE :/ 'MATERIAL NO :',IT_VBAP-MATNR.
WRITE :/ 'MATERIAL TYPE :' , V_MTART.
ENDIF.
ENDIF.
WHEN 'BACK'.
LEAVE TO SCREEN 0.
WHEN 'EXIT'.
LEAVE TO SCREEN 0.
WHEN 'CLOSE'.
CALL TRANSACTION 'SE38'.
ENDCASE.
REPORT Z_ALV_INTERACTIVE MESSAGE-ID ZMSG_50651
LINE-SIZE 100
LINE-COUNT 60
NO STANDARD PAGE HEADING.
******************TABLES DECLARATION*****************
TABLES : VBAP,MARA.
*****************TYPE POOLS**************************
TYPE-POOLS : SLIS.
****************INTERNAL TABLES**********************
DATA : BEGIN OF IT_VBAP OCCURS 0,
VBELN LIKE VBAP-VBELN, "SALES DOCUMENT
POSNR LIKE VBAP-POSNR, "SALES DOCUMENT ITEM
MATNR LIKE VBAP-MATNR, "MATERIAL NUMBER
END OF IT_VBAP.
****************TEMPORARY VARIABLES******************
DATA : V_VBELN LIKE VBAP-VBELN."SALES DOCUMENT
DATA : V_MTART LIKE MARA-MTART. "MATERIAL TYPE
*****************FIELD CATALOG***********************
DATA : IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
****************LAYOUT*******************************
DATA : WA_LAYOUT TYPE SLIS_LAYOUT_ALV.
***************VARIANT*******************************
DATA : G_VARIANT LIKE DISVARIANT.
****************SAVE*********************************
DATA : G_SAVE(1) TYPE C.
*****************EVENTS******************************
DATA : XS_EVENTS TYPE SLIS_ALV_EVENT,
G_EVENTS TYPE SLIS_T_EVENT.
******************PF STATUS**************************
DATA : PF_STATUS TYPE SLIS_FORMNAME VALUE 'SET_PF_STATUS'.
******************USER COMMAND************************
DATA : USER_COMMAND TYPE SLIS_FORMNAME VALUE 'SET_USER_COMMAND',
R_UCOMM LIKE SY-UCOMM.
****************SELECTION SCREEN************************
SELECT-OPTIONS : S_VBELN FOR VBAP-VBELN.
***************AT SELECTION SCREEN*********************
AT SELECTION-SCREEN.
PERFORM VALIDATE.
**************START-OF-SELECTION**************************
START-OF-SELECTION.
PERFORM GET_DETAILS.
PERFORM FIELDCAT.
PERFORM LAYOUT.
PERFORM VARIANT.
PERFORM SAVE.
PERFORM EVENTS.
PERFORM ALV_DISPLAY.
*********************FORMS*******************************************
*& Form validate
text
--> p1 text
<-- p2 text
FORM VALIDATE .
SELECT SINGLE VBELN
FROM VBAP
INTO V_VBELN
WHERE VBELN IN S_VBELN.
IF SY-SUBRC <> 0.
MESSAGE E000 WITH 'enter valid vbeln'.
ENDIF.
ENDFORM. " validate
*& Form get_details
text
--> p1 text
<-- p2 text
FORM GET_DETAILS .
SELECT VBELN
POSNR
MATNR
FROM VBAP
INTO TABLE IT_VBAP
WHERE VBELN IN S_VBELN.
IF SY-SUBRC <> 0.
MESSAGE E000 WITH 'no details found'.
ENDIF.
ENDFORM. " get_details
*& Form fieldcat
text
--> p1 text
<-- p2 text
FORM FIELDCAT .
WA_FIELDCAT-TABNAME = 'IT_VBAP'.
WA_FIELDCAT-FIELDNAME = 'VBELN'.
WA_FIELDCAT-OUTPUTLEN = 10.
WA_FIELDCAT-SELTEXT_L = 'SALES DOC'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-TABNAME = 'IT_VBAP'.
WA_FIELDCAT-FIELDNAME = 'POSNR'.
WA_FIELDCAT-OUTPUTLEN = 6.
WA_FIELDCAT-SELTEXT_L = 'ITEM'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-TABNAME = 'IT_VBAP'.
WA_FIELDCAT-FIELDNAME = 'MATNR'.
WA_FIELDCAT-OUTPUTLEN = 18.
WA_FIELDCAT-SELTEXT_L = 'MATERIAL NO'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
ENDFORM. " fieldcat
*& Form LAYOUT
text
--> p1 text
<-- p2 text
FORM LAYOUT .
WA_LAYOUT-ZEBRA = 'X'.
ENDFORM. " LAYOUT
*& Form VARIANT
text
--> p1 text
<-- p2 text
FORM VARIANT .
CLEAR G_VARIANT.
G_VARIANT-REPORT = SY-REPID.
ENDFORM. " VARIANT
*& Form SAVE
text
--> p1 text
<-- p2 text
FORM SAVE .
CLEAR G_SAVE.
G_SAVE = 'A'.
ENDFORM. " SAVE
*& Form EVENTS
text
--> p1 text
<-- p2 text
FORM EVENTS .
CLEAR XS_EVENTS.
XS_EVENTS-NAME = SLIS_EV_TOP_OF_PAGE.
XS_EVENTS-FORM = 'TOP_OF_PAGE'.
APPEND XS_EVENTS TO G_EVENTS.
ENDFORM. " EVENTS
*& Form TOP_OF_PAGE
text
FORM TOP_OF_PAGE.
WRITE :/ ' INTELLI GROUP'.
ENDFORM. "TOP_OF_PAGE
*& Form ALV_DISPLAY
text
--> p1 text
<-- p2 text
FORM ALV_DISPLAY .
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER =
I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = SY-REPID
I_CALLBACK_PF_STATUS_SET = PF_STATUS
I_CALLBACK_USER_COMMAND = USER_COMMAND
I_STRUCTURE_NAME =
IS_LAYOUT = WA_LAYOUT
IT_FIELDCAT = IT_FIELDCAT
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = G_SAVE
IS_VARIANT = G_VARIANT
IT_EVENTS = G_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
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB = IT_VBAP
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. " ALV_DISPLAY
*& Form SET_PF_STATUS
text
FORM SET_PF_STATUS USING EXTAB TYPE SLIS_T_EXTAB.
SET PF-STATUS 'STANDARD' EXCLUDING EXTAB.
ENDFORM. "SET_PF_STATUS
*& Form SET_USER_COMMAND
text
FORM SET_USER_COMMAND USING R_UCOMM
RS_SELFIELD TYPE SLIS_SELFIELD.
CASE R_UCOMM.
WHEN 'DC'.
READ TABLE IT_VBAP INDEX RS_SELFIELD-TABINDEX.
IF SY-SUBRC = 0.
SELECT SINGLE MTART
FROM MARA
INTO V_MTART
WHERE MATNR = IT_VBAP-MATNR.
IF SY-SUBRC <> 0.
MESSAGE E000 WITH 'NO MATERIAL DESCRIPTION FOR SELECTED MATERIAL NO'.
ELSE.
WRITE :/ 'MATERIAL NO :',IT_VBAP-MATNR.
WRITE :/ 'MATERIAL TYPE :' , V_MTART.
SUBMIT SLIS_DUMMY WITH P_MATNR EQ IT_VBAP-MATNR
WITH P_MTART EQ V_MTART.
ENDIF.
ENDIF.
WHEN 'BACK'.
LEAVE TO SCREEN 0.
WHEN 'EXIT'.
LEAVE TO SCREEN 0.
WHEN 'CLOSE'.
CALL TRANSACTION 'SE38'.
ENDCASE.
plz reward if useful -
Help Needed REP-1800 Formatter error VGS-1701 Not enough memory
Hi. Gents
Help needed
I’m working on a Report, it gets some 2 million records and the report pages are approximately 52,000
It works fine if the pages are lesser then 48,000 or the data is less let say one and half a million, the problem occurs only after 48000 + pages formatted.
Report is generated successfully when trying to go to the last page it throw an error.
REP-1800 Formatter error
VGS-1701 Not enough memory
I have already gone through the metalink DOC Id 95505.1 as well as OTN
But all in vain,
Any comments or help much appreciated.
Details are:
Reports 6i (Clients/Server) on Windows platform
(Windows XP Professional with SP 2)
Database: Oracle9i Enterprise Edition Release 9.2.0.5.0
Computer:
Pentium(R) 4, CPU 3.00GHz, 1 GB of RAM
Still 20 GB free space
Thanks & RegardsI don't see the point in making a report with more than 48,000 pages, I think Al Gore will not be happy when you start printing it...
The problem might be caused by the fact that Reports needs to format all output at once, and then even 1GB of memory will probably be not enough. Formatting all pages at once is needed if you use pagination with displaying total number of pages. If you have this, try to get that out of the report definition and try again. -
Hi guys, I need help in debugging this code I made, which is a GUI minesweeper. Its extremely buggy...I particularly need help fixing the actionListener part of the code as everytime I press a button on the GUI, an exception occurs.
help please!
package minesweeperGUI;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class MinesweeperGUI implements ActionListener
//Declaration of attributes
static int length = 0;
JMenuItem menuItemNew = new JMenuItem();
JRadioButtonMenuItem rbEasy = new JRadioButtonMenuItem();
JRadioButtonMenuItem rbHard = new JRadioButtonMenuItem();
JMenuItem menuItemExit = new JMenuItem();
JButton buttonReset = new JButton();
JButton buttonGrid[][] = null;
JFrame frame = new JFrame();
int getBombsTotal = 0;
JLabel setBombsLabel = new JLabel();
int a = 0;
int b = 0;
//No constructor created. Uses default constructor
//Create the menu bar
public JMenuBar newMenuBar()
//Sets up the menubar
JMenuBar menuBar = new JMenuBar();
//Sets up the Game menu with choice of new, grid size, and exit
JMenu menu = new JMenu ("Game");
menuBar.add (menu);
menuItemNew = new JMenuItem ("New");
menuItemNew.addActionListener (this);
menu.add (menuItemNew);
menu.addSeparator();
//Sets up sub-menu for grid size with choice of easy and hard radio buttons
JMenu subMenu = new JMenu ("Grid Size");
rbEasy = new JRadioButtonMenuItem ("Easy: 5x5 grid");
rbEasy.addActionListener (this);
subMenu.add (rbEasy);
rbHard = new JRadioButtonMenuItem ("Hard: 10x10 grid");
rbHard.addActionListener (this);
subMenu.add (rbHard);
menu.add (subMenu);
menu.addSeparator();
menuItemExit = new JMenuItem ("Exit");
menuItemExit.addActionListener (this);
menu.add (menuItemExit);
return menuBar;
//Setting up of Bomb Grid
public int [][] setGrid (int length)
int grid[][] = null;
grid = new int[length][length];
for (int i = 0; i < length; i++)
for (int j = 0; j < length; j++)
grid[i][j] = ((int)Math.round(Math.random() * 10))% 2;
return grid;
//Setting up of the of the graphical bomb grid
public JButton[][] setButtonGrid (int length)
JButton buttonGrid[][] = null;
buttonGrid = new JButton[length][length];
for (int i = 0; i < length; i++)
for (int j = 0; j < length; j++)
buttonGrid[i][j] = new JButton();
return buttonGrid;
//Setting up of a way to count the total number of bombs in the bomb grid
public int getBombsTotal (int length, int setGrid[][])
int bombsTotal = 0;
for (int i = 0; i < length; i++)
for (int j = 0; j < length; j++)
if (setGrid[i][j] == 1)
bombsTotal += 1;
return bombsTotal;
//Create a label for number of bombs left
public JLabel setBombsLabel (int getBombsTotal)
JLabel bombsLabel = new JLabel(String.valueOf (getBombsTotal) + " Bombs Left");
return bombsLabel;
//Setting up a way to count the number of bombs around a button
public String setBombs (int length, int setGrid[][], int x, int y)
int bombs[][] = new int[length][length];
String bombsString = null;
for (int i = 0; i < length; i++)
for (int j = 0; j < length; j++)
if (i == 0 && j == 0)
bombs[i][j] = setGrid[i][j+1] + setGrid[i+1][j] +
setGrid[i+1][j+1];
else if (i ==0 && j == (length - 1))
bombs[i][j] = setGrid[i][j-1] + setGrid[i+1][j-1] +
setGrid[i+1][j];
else if (i == (length - 1) && j == 0)
bombs[i][j] = setGrid[i-1][j] + setGrid[i-1][j+1] +
setGrid[i][j+1];
else if (i == (length - 1) && j == (length - 1))
bombs[i][j] = setGrid[i-1][j-1] + setGrid[i-1][j] +
setGrid[i][j-1];
else if (i == 0 && j != 0 && j != (length - 1))
bombs[i][j] = setGrid[i][j-1] + setGrid[i][j+1] +
setGrid[i+1][j-1] + setGrid[i+1][j] +
setGrid[i+1][j+1];
else if (i == (length - 1) && j != 0 && j != (length - 1))
bombs[i][j] = setGrid[i-1][j-1] + setGrid[i-1][j] +
setGrid[i-1][j+1] + setGrid[i][j-1] +
setGrid[i][j+1];
else if (i != 0 && i != (length - 1) && j == 0)
bombs[i][j] = setGrid[i-1][j] + setGrid[i-1][j+1] +
setGrid[i][j+1] + setGrid[i+1][j] +
setGrid[i+1][j+1];
else if (i != 0 && i != (length - 1) && j == (length - 1))
bombs[i][j] = setGrid[i-1][j-1] + setGrid[i-1][j] +
setGrid[i][j-1] + setGrid[i+1][j-1] +
setGrid[i+1][j];
else
bombs[i][j] = setGrid[i-1][j-1] + setGrid[i-1][j] +
setGrid[i-1][j+1] + setGrid[i][j-1] +
setGrid[i][j+1] + setGrid[i+1][j-1] +
setGrid[i+1][j] + setGrid[i+1][j+1];
bombsString = String.valueOf (bombs[x][y]);
return bombsString;
//create the panel for the bombs label and reset button
public JPanel newTopPanel(int length)
int setGridNew [][] = null;
setGridNew = new int[length][length];
int getBombsTotalNew = 0;
JLabel setBombsLabelNew = new JLabel();
setGridNew = setGrid (length);
getBombsTotalNew = getBombsTotal (length, setGridNew);
setBombsLabelNew = setBombsLabel (getBombsTotalNew);
JPanel topPanel = new JPanel ();
topPanel.setLayout (new BorderLayout (50,50));
JLabel bombsLabel = new JLabel ();
bombsLabel = setBombsLabelNew;
topPanel.add (bombsLabel, BorderLayout.WEST);
buttonReset = new JButton("Reset");
buttonReset.addActionListener (this);
topPanel.add (buttonReset, BorderLayout.CENTER);
return topPanel;
//create the panel for the play grids
public JPanel newBottomPanel(int length)
JButton setButtonGridNew[][] = null;
setButtonGridNew = new JButton [length][length];
setButtonGridNew = setButtonGrid (length);
JPanel bottomPanel = new JPanel ();
bottomPanel.setLayout (new GridLayout (length, length));
buttonGrid = new JButton[length][length];
for (a = 0; a < length; a++)
for (b = 0; b < length; b++)
buttonGrid[a] = setButtonGridNew[a][b];
buttonGrid[a][b].addActionListener (this);
bottomPanel.add (buttonGrid[a][b]);
return bottomPanel;
//Overiding of abstract method actionPerformed
public void actionPerformed(ActionEvent e)
if (e.getSource() == menuItemNew)
launchFrame(length);
else if (e.getSource() == menuItemExit)
frame.setVisible (false);
System.exit(0);
else if (e.getSource() == rbEasy)
length = 5;
launchFrame(length);
else if (e.getSource() == rbHard)
length = 10;
launchFrame(length);
else if (e.getSource() == buttonReset)
launchFrame(length);
else if (e.getSource() == buttonGrid[a][b])
int setGridNew [][] = null;
setGridNew = new int[length][length];
JButton bombButton [][] = null;
bombButton = new JButton [length][length];
String bombString [][] = null;
bombString = new String[length][length];
setGridNew = setGrid (length);
bombString[a][b] = setBombs (length, setGridNew, a, b);
bombButton[a][b] = new JButton (bombString[a][b]);
if (setGridNew[a][b] == 0)
buttonGrid[a][b] = bombButton[a][b];
getBombsTotal--;
JLabel setBombsLabelNew = new JLabel();
setBombsLabelNew = setBombsLabel (getBombsTotal);
else if (setGridNew[a][b] == 1 )
buttonGrid[a][b] = new JButton("x");
JOptionPane.showMessageDialog (null, "Game Over. You hit a Bomb!");
System.exit(0);
//create the content pane
public Container newContentPane(int length)
JPanel topPanel = new JPanel();
JPanel bottomPanel = new JPanel();
topPanel = newTopPanel(length);
bottomPanel = newBottomPanel (length);
JPanel contentPane = new JPanel();
contentPane.setOpaque (true);
contentPane.setLayout (new BorderLayout(50,50));
contentPane.add (topPanel, BorderLayout.NORTH);
contentPane.add (bottomPanel, BorderLayout.CENTER);
return contentPane;
public void launchFrame (int length)
//Makes sure we have nice window decorations
JFrame.setDefaultLookAndFeelDecorated(true);
//Sets up the top-level window
frame = new JFrame ("Minesweeper");
//Exits program when the closed button is clicked
frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
JMenuBar menuBar = new JMenuBar();
Container contentPane = new Container();
menuBar = newMenuBar();
contentPane = newContentPane (length);
//Sets up the menu bar and content pane
frame.setJMenuBar (menuBar);
frame.setContentPane (contentPane);
//Displays the window
frame.pack();
frame.setVisible (true);
public static void main (String args[])
//Default length is 5
length = 5;
MinesweeperGUI minesweeper = new MinesweeperGUI();
minesweeper.launchFrame(length);hi, thanks. that removed the exception; although now the buttons action listener won't work :(
here is the revised code:
To anyone out there, can you guys run this code and help me debug it?
I'm really desperate as this is a school project of mine and the deadline is 7 hours away. I have already been working on it for 3 days, but the program is still very buggy.
thanks!
/* Oliver Ian C. Wee 04-80112
* CS12 MHRU
* Machine Problem 2
package minesweeperGUI;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class MinesweeperGUI implements ActionListener
//Declaration of attributes
static int length = 0;
JMenuItem menuItemNew = new JMenuItem();
JRadioButtonMenuItem rbEasy = new JRadioButtonMenuItem();
JRadioButtonMenuItem rbHard = new JRadioButtonMenuItem();
JMenuItem menuItemExit = new JMenuItem();
JButton buttonReset = new JButton();
JButton buttonGrid[][] = null;
JFrame frame = new JFrame();
int getBombsTotal = 0;
JLabel setBombsLabel = new JLabel();
int a = 0;
int b = 0;
//No constructor created. Uses default constructor
//Create the menu bar
public JMenuBar newMenuBar()
//Sets up the menubar
JMenuBar menuBar = new JMenuBar();
//Sets up the Game menu with choice of new, grid size, and exit
JMenu menu = new JMenu ("Game");
menuBar.add (menu);
menuItemNew = new JMenuItem ("New");
menuItemNew.addActionListener (this);
menu.add (menuItemNew);
menu.addSeparator();
//Sets up sub-menu for grid size with choice of easy and hard radio buttons
JMenu subMenu = new JMenu ("Grid Size");
ButtonGroup bg = new ButtonGroup();
rbEasy = new JRadioButtonMenuItem ("Easy: 5x5 grid");
bg.add (rbEasy);
rbEasy.addActionListener (this);
subMenu.add (rbEasy);
rbHard = new JRadioButtonMenuItem ("Hard: 10x10 grid");
bg.add (rbHard);
rbHard.addActionListener (this);
subMenu.add (rbHard);
menu.add (subMenu);
menu.addSeparator();
menuItemExit = new JMenuItem ("Exit");
menuItemExit.addActionListener (this);
menu.add (menuItemExit);
return menuBar;
//Setting up of Bomb Grid
public int [][] setGrid (int length)
int grid[][] = null;
grid = new int[length][length];
for (int i = 0; i < length; i++)
for (int j = 0; j < length; j++)
grid[i][j] = ((int)Math.round(Math.random() * 10))% 2;
return grid;
//Setting up of the of the graphical bomb grid
public JButton[][] setButtonGrid (int length)
JButton buttonGrid[][] = null;
buttonGrid = new JButton[length][length];
for (int i = 0; i < length; i++)
for (int j = 0; j < length; j++)
buttonGrid[i][j] = new JButton();
return buttonGrid;
//Setting up of a way to count the total number of bombs in the bomb grid
public int getBombsTotal (int length, int setGrid[][])
int bombsTotal = 0;
for (int i = 0; i < length; i++)
for (int j = 0; j < length; j++)
if (setGrid[i][j] == 1)
bombsTotal += 1;
return bombsTotal;
//Create a label for number of bombs left
public JLabel setBombsLabel (int getBombsTotal)
JLabel bombsLabel = new JLabel(" " +String.valueOf (getBombsTotal) + " Bombs Left");
return bombsLabel;
//Setting up a way to count the number of bombs around a button
public String setBombs (int length, int setGrid[][], int x, int y)
int bombs[][] = new int[length][length];
String bombsString = null;
for (int i = 0; i < length; i++)
for (int j = 0; j < length; j++)
if (i == 0 && j == 0)
bombs[i][j] = setGrid[i][j+1] + setGrid[i+1][j] +
setGrid[i+1][j+1];
else if (i ==0 && j == (length - 1))
bombs[i][j] = setGrid[i][j-1] + setGrid[i+1][j-1] +
setGrid[i+1][j];
else if (i == (length - 1) && j == 0)
bombs[i][j] = setGrid[i-1][j] + setGrid[i-1][j+1] +
setGrid[i][j+1];
else if (i == (length - 1) && j == (length - 1))
bombs[i][j] = setGrid[i-1][j-1] + setGrid[i-1][j] +
setGrid[i][j-1];
else if (i == 0 && j != 0 && j != (length - 1))
bombs[i][j] = setGrid[i][j-1] + setGrid[i][j+1] +
setGrid[i+1][j-1] + setGrid[i+1][j] +
setGrid[i+1][j+1];
else if (i == (length - 1) && j != 0 && j != (length - 1))
bombs[i][j] = setGrid[i-1][j-1] + setGrid[i-1][j] +
setGrid[i-1][j+1] + setGrid[i][j-1] +
setGrid[i][j+1];
else if (i != 0 && i != (length - 1) && j == 0)
bombs[i][j] = setGrid[i-1][j] + setGrid[i-1][j+1] +
setGrid[i][j+1] + setGrid[i+1][j] +
setGrid[i+1][j+1];
else if (i != 0 && i != (length - 1) && j == (length - 1))
bombs[i][j] = setGrid[i-1][j-1] + setGrid[i-1][j] +
setGrid[i][j-1] + setGrid[i+1][j-1] +
setGrid[i+1][j];
else
bombs[i][j] = setGrid[i-1][j-1] + setGrid[i-1][j] +
setGrid[i-1][j+1] + setGrid[i][j-1] +
setGrid[i][j+1] + setGrid[i+1][j-1] +
setGrid[i+1][j] + setGrid[i+1][j+1];
bombsString = String.valueOf (bombs[x][y]);
return bombsString;
//create the panel for the bombs label and reset button
public JPanel newTopPanel(int length)
int setGridNew [][] = null;
setGridNew = new int[length][length];
int getBombsTotalNew = 0;
JLabel setBombsLabelNew = new JLabel();
setGridNew = setGrid (length);
getBombsTotalNew = getBombsTotal (length, setGridNew);
setBombsLabelNew = setBombsLabel (getBombsTotalNew);
JPanel topPanel = new JPanel ();
topPanel.setLayout (new BorderLayout (20,20));
JLabel bombsLabel = new JLabel ();
bombsLabel = setBombsLabelNew;
topPanel.add (bombsLabel, BorderLayout.WEST);
buttonReset = new JButton("Reset");
buttonReset.addActionListener (this);
topPanel.add (buttonReset, BorderLayout.CENTER);
return topPanel;
//create the panel for the play grids
public JPanel newBottomPanel(int length)
JButton setButtonGridNew[][] = null;
setButtonGridNew = new JButton [length][length];
setButtonGridNew = setButtonGrid (length);
JPanel bottomPanel = new JPanel ();
bottomPanel.setLayout (new GridLayout (length, length));
buttonGrid = new JButton[length][length];
for (int i = 0; i < length; i++)
for (int j = 0; j < length; j++)
buttonGrid[i][j] = setButtonGridNew[i][j];
buttonGrid[i][j].addActionListener (this);
bottomPanel.add (buttonGrid[i][j]);
return bottomPanel;
//Overiding of abstract method actionPerformed
public void actionPerformed(ActionEvent e)
if (e.getSource() == menuItemNew)
closeFrame();
launchFrame(length);
else if (e.getSource() == menuItemExit)
frame.setVisible (false);
System.exit(0);
else if (e.getSource() == rbEasy)
closeFrame();
length = 5;
launchFrame(length);
else if (e.getSource() == rbHard)
closeFrame();
length = 10;
launchFrame(length);
else if (e.getSource() == buttonReset)
closeFrame();
launchFrame(length);
else if (e.getSource() == buttonGrid[a])
int setGridNew [][] = null;
setGridNew = new int[length][length];
JButton bombButton [][] = null;
bombButton = new JButton [length][length];
String bombString [][] = null;
bombString = new String[length][length];
setGridNew = setGrid (length);
for (int i = 0; i < length; i++)
for (int j = 0; j < length; j++)
bombString[i][j] = setBombs (length, setGridNew, i, j);
bombButton[i][j] = new JButton (bombString[i][j]);
if (setGridNew[a][b] == 0)
buttonGrid[a][b] = bombButton[a][b];
getBombsTotal--;
JLabel setBombsLabelNew = new JLabel();
setBombsLabelNew = setBombsLabel (" " String.valueOf (getBombsTotal) " Bombs Left");
else if (setGridNew[a][b] == 1 )
buttonGrid[a][b] = new JButton("x");
JOptionPane.showMessageDialog (null, "Game Over. You hit a Bomb!");
System.exit(0);
//create the content pane
public Container newContentPane(int length)
JPanel topPanel = new JPanel();
JPanel bottomPanel = new JPanel();
topPanel = newTopPanel(length);
bottomPanel = newBottomPanel (length);
JPanel contentPane = new JPanel();
contentPane.setOpaque (true);
contentPane.setLayout (new BorderLayout(5,5));
contentPane.add (topPanel, BorderLayout.NORTH);
contentPane.add (bottomPanel, BorderLayout.CENTER);
return contentPane;
public void closeFrame ()
frame = new JFrame ("Minesweeper");
frame.dispose();
public void launchFrame (int length)
//Makes sure we have nice window decorations
JFrame.setDefaultLookAndFeelDecorated(true);
//Sets up the top-level window
frame = new JFrame ("Minesweeper");
//Exits program when the closed button is clicked
frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
JMenuBar menuBar = new JMenuBar();
Container contentPane = new Container();
menuBar = newMenuBar();
contentPane = newContentPane (length);
//Sets up the menu bar and content pane
frame.setJMenuBar (menuBar);
frame.setContentPane (contentPane);
//Displays the window
frame.pack();
frame.setVisible (true);
public static void main (String args[])
//Default length is 5
length = 5;
MinesweeperGUI minesweeper = new MinesweeperGUI();
minesweeper.launchFrame(length); -
A little help needed in message mapping
a little help needed in message mapping
I have to map one of the idoc header segments as many times as it occurs to each Idoc when using the split message funcionality
let us say we have the segment seg1 and there is a QUALF in it
<seg1>
<qualf>001</qualf>
</seg1>
<seg1>
<qualf>002</qualf>
</seg1>
then we use the vbeln to split the idoc into 2.
so if we have
<vbeln> 1 </vbeln>
and
<vbeln>2 </vbeln>
then 2 Idocs should be created like this
<Idoc>
<vbeln> 1 </vbeln>
<seg1>
<qualf>001</qualf>
</seg1>
<seg1>
<qualf>002</qualf>
</seg1>
</Idoc>
<Idoc>
<vbeln> 2 </vbeln>
<seg1>
<qualf>001</qualf>
</seg1>
<seg1>
<qualf>002</qualf>
</seg1>
</Idoc>
it is easy to create the segment by using createif with the QUALF field but my problem how to map the qualf twice for each idoc
Thanks.UseOneAsMany is the function you need to use.
It takes three parameters:
1 --- The node you want to duplicated
2 --- How many times you want to duplicated
3 --- The context you want to place for it.
Regards
Liang -
Hi
My Sceniro is Full load from ODS1 to 5 other ODS. Iam uploading the data to other 5 ODS by selecting 1 ODS at a time.
Problem i am facing is upload is ending up with error mesg. Error Mesg are
<b>Error 8 when starting the extraction program - R3019
Error in Source System - RSM340
Req xxx in ODS2 must have QM ststus green before it is activated - RSM1110</b>
I have seen the the OSS notes for given error no, but they are not applicable to me. what could be the other possible solution.
In detail tab of the monitor i see red light at Extraction step and Subseq. processing.
Its quite urgent bcoz this error is occuring in Production system.
Plzzzz urgent help needed.
Thanks
Rohini
Message was edited by: Rohini Gargrohini,
go to RSA1->Modeling->Source Systems and right-click on your BW system, and click on 'Replicate Datasources'.
also, go to the ODS that's causing the problem (via RSA1->InfoProvider and go to your ODS), right click and click on 'Generate Export Datasource'.
one more thing, make sure that all your record/s in the source ODS is active. if you're not sure manage its contents and click on 'Activate'. if there are any entries in the the next screen that comes up, you need to activate it first, then try everything again.
let me know what happens. also try to look for error messages in ST22 and SM21 that may be related to this and post whatever possible error you see there here.
ryan. -
Help Needed for T42 Start-up Problem
Urgent help need!!!
I have a ThinkPad T42 with Windows XP installed. It works perfectly for a while without ever have any problem or error message. Then suddenly it won’t work anymore. The symptom is following:
After power on the laptop the Microsoft window would show up and it prompt me for window logon password. After I type in the password it then shows “window is loading your personal setting”. After a long while nothing would show up on the screen other than the background of the normal screen. There is no window bar at the bottom or any icon on the screen. If I start in safe mode then everything would show up. I don’t know what is going on.
This happened two months ago and I ended up restoring a backup image to get it work again. It happens again today with the same symptom. I am really tired of having to restore image backup every 2 months.
I would really appreciate it if any of your experts can offer me some insight into this problem. I am desperate in need of help.
Thanks very much!wangy26, welcome to the forum,
Have a look at this thread to see if my post there helps. The problem seems to mostly occur at the start of a month, why I don't know. Unfortunately the member didin't report back whether or not this was a viable solution for them.
Andy ______________________________________
Please remember to come back and mark the post that you feel solved your question as the solution, it earns the member + points
Did you find a post helpfull? You can thank the member by clicking on the star to the left awarding them Kudos Please add your type, model number and OS to your signature, it helps to help you. Forum Search Option T430 2347-G7U W8 x64, Yoga 10 HD+, Tablet 1838-2BG, T61p 6460-67G W7 x64, T43p 2668-G2G XP, T23 2647-9LG XP, plus a few more. FYI Unsolicited Personal Messages will be ignored.
Deutsche Community Comunidad en Español English Community Русскоязычное Сообщество
PepperonI blog -
Restore needed iPhone cannot make or receive calls....help needed
Following an upgrade to IOS 6.0.1 my iphone 3 GS keeps on wanting a 'restore needed IPhone cannot make or receive calls restore from Itunes etc... I have done 2 restores and problem still occurs. Need some help, thankyou
Take the device to Apple for evaluation and possible replacement.
-
Troubleshooting help needed: My iMac keeps crashing and restarting with a notice: "Spinlock application timed out" What can I do?
Launch the Console application in any of the following ways:
☞ Enter the first few letters of its name into a Spotlight search. Select it in the results (it should be at the top.)
☞ In the Finder, select Go ▹ Utilities from the menu bar, or press the key combination shift-command-U. The application is in the folder that opens.
☞ Open LaunchPad. Click Utilities, then Console in the page that opens.
Select the most recent panic log under System Diagnostic Reports. Post the contents — the text, please, not a screenshot. In the interest of privacy, I suggest you edit out the “Anonymous UUID,” a long string of letters, numbers, and dashes in the header and body of the report, if it’s present (it may not be.) Please don't post shutdownStall, spin, or hang reports. -
help needed for writing query
i have the following tables(with data) as mentioned below
FK*-foregin key (SUBJECTS)
FK**-foregin key (COMBINATION)
1)SUBJECTS(table name)
SUB_ID(NUMBER) SUB_CODE(VARCHAR2) SUB_NAME (VARCHAR2)
2 02 Computer Science
3 03 Physics
4 04 Chemistry
5 05 Mathematics
7 07 Commerce
8 08 Computer Applications
9 09 Biology
2)COMBINATION
COMB_ID(NUMBER) COMB_NAME(VARCHAR2) SUB_ID1(NUMBER(FK*)) SUB_ID2(NUMBER(FK*)) SUB_ID3(NUMBER(FK*)) SUBJ_ID4(NUMBER(FK*))
383 S1 9 4 2 3
384 S2 4 2 5 3
---------I actually designed the ABOVE table also like this
3) a)COMBINATION
COMB_ID(NUMBER) COMB_NAME(VARCHAR2)
383 S1
384 S2
b)COMBINATION_DET
COMBDET_ID(NUMBER) COMB_ID(FK**) SUB_ID(FK*)
1 383 9
2 383 4
3 383 2
4 383 3
5 384 4
6 384 2
7 384 5
8 384 3
Business rule: a combination consists of a maximum of 4 subjects (must contain)
and the user is less relevant to a COMB_NAME(name of combinations) but user need
the subjects contained in combinations
i need the following output
COMB_ID COMB_NAME SUBJECT1 SUBJECT2 SUBJECT3 SUBJECT4
383 S1 Biology Chemistry Computer Science Physics
384 S2 Chemistry Computer Science Mathematics Physics
or even this is enough(what i actually needed)
COMB_ID subjects
383 Biology,Chemistry,Computer Science,Physics
384 Chemistry,Computer Science,Mathematics,Physics
you can use any of the COMBINATION table(either (2) or (3))
and i want to know
1)which design is good in this case
(i think SUB_ID1,SUB_ID2,SUB_ID3,SUB_ID4 is not a
good method to link with same table but if 4 subjects only(and must) comes
detail table is not neccessary )
now i am achieving the result by program-coding in C# after getting the rows from oracle
i am using oracle 9i (also ODP.NET)
i want to know how can i get the result in the stored procedure itsef.
2)how it could be designed in any other way.
any help/suggestion is welcome
thanks for your time --PradeeshWell I forgot the table-alias, here now with:
SELECT C.COMB_ID
, C.COMB_NAME
, (SELECT SUB_NAME
FROM SUBJECTS
WHERE SUB_ID = C.SUB_ID1) AS SUBJECT_NAME1
, (SELECT SUB_NAME
FROM SUBJECTS
WHERE SUB_ID = C.SUB_ID2) AS SUBJECT_NAME2
, (SELECT SUB_NAME
FROM SUBJECTS
WHERE SUB_ID = C.SUB_ID3) AS SUBJECT_NAME3
, (SELECT SUB_NAME
FROM SUBJECTS
WHERE SUB_ID = C.SUB_ID4) AS SUBJECT_NAME4
FROM COMBINATION C;
As you need exactly 4 subjects, the columns-solution is just fine I would say. -
Hi all help needed I have a canon 40D. I am thinking of buying a canon 6D.
But not sure that my lenses will work.
I have a 170mm/ 500mm APO Sigma.
A 10/20 ex Sigma HSM IF.
And a 180 APO Sigma Macro or do I have to scrap them and buy others.
ALL Help will be greatly received. Yours BRODIEIn short, I love it. I was going to buy the 5DMark III. After playing with it for a while at my local Fry's store where they put 5DMII, 5DMIII and 6D next to each other, using the same 24-105L lens, I decided to get the 6D and pocket the different for lens later.
I'm upgrading from the 30D. So I think you'll love it. It's a great camera. I have used 5DMII extensively before (borrowing from a close friend).
Funny thing is at first I don't really care about the GPS and Wifi much. I thought they're just marketing-gimmick. But once you have it, it is actually really fun and helpful. For example, I can place the 6D on a long "monopod", then use the app on the phone to control the camera to get some unique perspective on some scenes. It's fun and great. GPS is also nice for travel guy like me.
Weekend Travelers Blog | Eastern Sierra Fall Color Guide -
Help needed! Raid degraded again!
Hi!
Help needed! I hava made bootable RAID with two S-ATAII 250Gb HDD and its not working! Every now and then at bootup I get a message RAID -> DEGRADED... Must be seventh time! Rebuild takes its own time!
What am I doing wrong!
T: Ekku
K8N Neo4 Ultra
AMD 64 4200+
2 Gb RAM
2 x 250 Gb HDD (Maxtor)
nVidia RAID (in mb)
P.S. I wery SORRY with my poor language!I'm going to blame the nVRAID because I've seen issues with it in the past. If your motherboard has another non-nVidia RAID solution, use that instead. Using the nVidia SATA ports as BASE or JBOD is fine and dandy but RAIDing always had issues. It's not even a driver issue I think it's just instability. Latest drivers and even boxed drivers never helped. Granted, some will report success with their rig. But on a professional level I've seen nForce issues on different motherboards and different hard drives that had RAID disaster stories.
Good luck and if you don't have another RAID solution, my suggestion would be to buy a dedicated RAID controller card.
LPB -
HELP NEEDED WITH ADDAPTER-DVI TO VGA.
PLEASE ...HELP NEEDED WITH WIRING CROSS OVER....CAN YOU HELP WITH BACK OF PLUG CONNECTIONS...I SORTA UNDERSTAND THE PINOUTS BUT CANT MAKE AN EXACT MACH...WOULD LIKE TO BE 100% SURE...
......THIS ENSURES NO SMOKE!!!
THE CARD IS AN ATI RADEON RX9250-DUAL HEAD-.........ADDAPTER IS DVI(ANALOG)MALE TO VGA(ANALOG)FEMALE.
ANY HELP VERY MUCH APPRECIATED........ SEEMS YOU NEED TO BE ROCKET SCI TO ATTACH A BLOODY PICTURE...SO THIS HAS BEEN BIG WASTE OF FING TIME!Quote from: BOBHIGH on 17-December-05, 09:21:31
Get over it mate !
I find it easy t read CAPS...and if you dont like it ...DONT READ IT!
And why bother to reply...some people have nothing better to do.
Yes there chep and easy to come by...Ive already got a new one.
All I wanted was to make a diagram of whats inside the bloody thing...it was a simple question and required a simple answer.
NO NEED TO A WANKA !!
I feel a bann comming up.
Have you tryed Google ? really.. your question is inrelevant. No need to reply indeed.
Why do you come here asking this question anyway ? is it becouse you have a MSI gfx card ? and the adapter has nothing to do with this ?
You think you can come in here yelling.. thinking we have to put up with it and accept your style of posting. This is not a MSI tech center.. it's a user to user center.. Your question has nothing to do with MSI relavant things anyway's.
Google = your friend.
Quote from: BOBHIGH on 17-December-05, 09:21:31
it was a simple question and required a simple answer
Simple for who ? you (buying a new one) ? me ? we ? .really...........
Quote from: Dynamike on 16-December-05, 04:11:48
1: There are allot of diffrent types of those adapters.
If any of the mods have a problem about my reply.. please pm me. -
Help needed on installation of Oracle 9i on Sun Solaris 8
Hey,
Help needed on installation of Oracle 9i EE on Sun Solaris 8. The problem I met was: we followed the installation guide from the documentation. And we selected the choice "install software only". After it was done successfully, we run Database Configuration Assistant utility to create a database instance. But finally it always tried to create the instance at the root directory ( / ) which doesn't have enough space and then failed. The case was that we have set the enviroment parameters: $ORACLE_BASE = /export/mydata, $ORACLE_HOME = /export/apps/oracle9i. That means it should be installed at /export/mydata, but it didn't. Any help or advice are welcome. Thanks.
SimonI have downloaded Oracle 11G R2 version from Windows and extracted it in Windows and copied it into DVD after extraction in two folders. Now I am mounting that DVD in Solaris 10 installed in my VMware . I made a new directory named as 'installation ' under /export/home/oracle and copied the folders from DVD to 'installation' folder. Now I am entering installation folder and try to do ./runInstaller as 'oracle ' user and getting the error mentioned before.
Edited by: 916438 on Mar 31, 2012 5:55 PM
Maybe you are looking for
-
New for Me but....
My daugher gave me her old Ipod (OLD...very) after she wiped off all her songs. So I plugged it into my fairly new PC, lots of free hard drive space, and then downloaded ITunes. Ever since I did, my system has been going nuts. I open up ITunes and
-
I installed Lion 10.7.4. Went to use Photoshop Cs and got a popup window. You can't open the application Adobe Photoshop CS because PowerPC applications are no longer supported. Is there a way of getting this to work or do I have to get newes
-
I can't get anything to work properly in Beta 4.0.3 help?
Tabs are not working properly, when I open a Tab up I get blank screen and when I select a site from Bookmarks it loads on the first tab instead of the tab I opened up. and when I click the X to close the Tabs I opened it won't close. and everything
-
HT1386 my computer crashed. How do I reupload music from my I pod back to my computer?
My computer has crashed. It is back up now but I lost all of my music on i tunes. I still have them on my I pod Touch but I am afraid to lose them off of my I pod when I sync. How do I use my I pod to re- load all my music back on my computer?
-
There are a few files that are floating around my company that open as a copy when opened in Excel 2011 on a Mac. These are old files and the original creator can not be contacted to find out if something special was done to it. If opened on a Window