Urgent Help: Test Zip Archive
Hi everybody, I'd like to know if there's a safe way to check if a compressed file (zip file) is a valid archive or not.
Sometimes WinZip tool says that the archive is not valid, there's a way to have the same answer by java code?
Can java makes the same valid archive test as WinZip tool?
Anybody has some code examples?
Thanks a lot!!!
java.util.zip.ZipFile's constructor should throw a ZipException if the zip is not valid. I dont know whether the checks are exactly the same as winzip.
Similar Messages
-
Need help in creating a Zip archive through Java
I need some files existing a folder.
When I use ZipOutputStream to zip the files, do I need to give the entire path to each of the files to add the file to the zip archive?
For example here is the folder structure.
C:
->Folder1
---->Folder2
------>File1
------>File2
---->File3
---->File4
Here should I pass the entire path of Each file to the ZipOutputStream?
Can any one please give me an example of creating a zip archive of the above file structure.
Thanks,
RameshHi,
I atleast need the following:
I want to add a file "pres.txt" to an existing zip archive "test..zip". This file "pres.txt" already exists in the zip archive, but is a modified one.
Can any one please help.
Thanks,
Ramesh -
I Have an iPhone 5S and I can't open photos that emailed to me. It just says Zip archive when I click on the JPG file to download it. Help?
whoever is emailing you the photos is sending them as a .zip file not a .jpg most likely because there is more than one photo. unfortunately iPhone does not have a .zip file reader so whoever is emailing the photos has to make sure they are not zip ing them and resend them as .jpg files. (usually gmail tries to convert several images into .zip files)
-
Windows Explorer misreads large-file .zip archives
I just spent about 90 minutes trying to report this problem through
the normal support channels with no useful result, so, in desperation,
I'm trying here, in the hope that someone can direct this report to some
useful place.
There appears to be a bug in the .zip archive reader used by Windows
Explorer in Windows 7 (and up, most likely).
An Info-ZIP Zip user recently reported a problem with an archive
created using our Zip program. The archive was valid, but it contained
a file which was larger than 4GiB. The complaint was that Windows
Explorer displayed (and, apparently believed) an absurdly large size
value for this large-file archive member. We have since reproduced the
problem.
The original .zip archive format includes uncompressed and compressed
sizes for archive members (files), and these sizes were stored in 32-bit
fields. This caused problems for files which are larger than 4GiB (or,
on some system types, where signed size values were used, 2GiB). The
solution to this fundamental limitation was to extend the .zip archive
format to allow storage of 64-bit member sizes, when necessary. (PKWARE
identifies this format extension as "Zip64".)
The .zip archive format includes a mechanism, the "Extra Field", for
storing various kinds of metadata which had no place in the normal
archive file headers. Examples include OS-specific file-attribute data,
such as Finder info and extended attributes for Apple Macintosh; record
format, record size, and record type data for VMS/OpenVMS; universal
file times and/or UID/GID for UNIX(-like) systems; and so on. The Extra
Field is where the 64-bit member sizes are stored, when the fixed 32-bit
size fields are too small.
An Extra Field has a structure which allows multiple types of extra
data to be included. It comprises one or more "Extra Blocks", each of
which has the following structure:
Size (bytes) | Description
--------------+------------
2 | Type code
2 | Number of data bytes to follow
(variable) | Extra block data
The problem with the .zip archive reader used by Windows Explorer is
that it appears to expect the Extra Block which includes the 64-bit
member sizes (type code = 0x0001) to be the first (or only) Extra Block
in the Extra Field. If some other Extra Block appears at the start of
the Extra Field, then its (non-size) data are being incorrectly
interpreted as the 64-bit sizes, while the actual 64-bit size data,
further along in the Extra Field, are ignored.
Perhaps the .zip archive _writer_ used by Windows Explorer always
places the Extra Block with the 64-bit sizes in this special location,
but the .zip specification does not demand any particular order or
placement of Extra Blocks in the Extra Field, and other programs
(Info-ZIP Zip, for example) should not be expected to abide by this
artificial restriction. For details, see section "4.5 Extensible data
fields" in the PKWARE APPNOTE:
http://www.pkware.com/documents/casestudies/APPNOTE.TXT
A .zip archive reader is expected to consider the Extra Block type
codes, and interpret accordingly the data which follow. In particular,
it's not sufficient to trust that any particular Extra Block will be the
first one in the Extra Field. It's generally safe to ignore any Extra
Block whose type code is not recognized, but it's crucial to scan the
Extra Field, identify each Extra Block, and handle it according to its
type.
Here are some relatively small (about 14MiB each) test archives which
illustrate the problem:
http://antinode.info/ftp/info-zip/ms_zip64/test_4g.zip
http://antinode.info/ftp/info-zip/ms_zip64/test_4g_V.zip
http://antinode.info/ftp/info-zip/ms_zip64/test_4g_W.zip
Correct info, from UnZip 6.00 ("unzip -lv"):
Archive: test_4g.zip
Length Method Size Cmpr Date Time CRC-32 Name
4362076160 Defl:X 14800839 100% 05-01-2014 15:33 6d8d2ece test_4g.txt
Archive: test_4g_V.zip
Length Method Size Cmpr Date Time CRC-32 Name
4362076160 Defl:X 14800839 100% 05-01-2014 15:33 6d8d2ece test_4g.txt
Archive: test_4g_W.zip
Length Method Size Cmpr Date Time CRC-32 Name
4362076160 Defl:X 14800839 100% 05-01-2014 15:33 6d8d2ece test_4g.txt
(In these reports, "Length" is the uncompressed size; "Size" is the
compressed size.)
Incorrect info, from (Windows 7) Windows Explorer:
Archive Name Compressed size Size
test_4g.zip test_4g.txt 14,454 KB 562,951,376,907,238 KB
test_4g_V.zip test_4g.txt 14,454 KB 8,796,110,221,518 KB
test_4g_W.zip test_4g.txt 14,454 KB 1,464,940,363,777 KB
Faced with these unrealistic sizes, Windows Explorer refuses to
extract the member file, for lack of (petabytes of) free disk space.
The archive test_4g.zip has the following Extra Blocks: universal
time (type = 0x5455) and 64-bit sizes (type = 0x0001). test_4g_V.zip
has: PWWARE VMS (type = 0x000c) and 64-bit sizes (type = 0x0001).
test_4g_W.zip has: NT security descriptor (type = 0x4453), universal
time (type = 0x5455), and 64-bit sizes (type = 0x0001). Obviously,
Info-ZIP UnZip has no trouble correctly finding the 64-bit size info in
these archives, but Windows Explorer is clearly confused. (Note that
"1,464,940,363,777 KB" translates to 0x0005545500000400 (bytes), and
"0x00055455" looks exactly like the size, "0x0005" and the type code
"0x5455" for a "UT" universal time Extra Block, which was present in
that archive. This is consistent with the hypothesis that the wrong
data in the Extra Field are being interpreted as the 64-bit size data.)
Without being able to see the source code involved here, it's hard to
know exactly what it's doing wrong, but it does appear that the .zip
reader used by Windows Explorer is using a very (too) simple-minded
method to extract 64-bit size data from the Extra Field, causing it to
get bad data from a properly formed archive.
I suspect that the engineer involved will have little trouble finding
and fixing the code which parses an Extra Field to extract the 64-bit
sizes correctly, but if anyone has any questions, we'd be happy to help.
For the Info-ZIP (http://info-zip.org/) team,
Steven Schweda> We can't get the source (info-zip) program for test.
I don't know why you would need to, but yes, you can:
http://www.info-zip.org/
ftp://ftp.info-zip.org/pub/infozip/src/
You can also get pre-built executables for Windows:
ftp://ftp.info-zip.org/pub/infozip/win32/unz600xn.exe
ftp://ftp.info-zip.org/pub/infozip/win32/zip300xn.zip
> In addition, since other zip application runs correctly. Since it should
> be your software itself issue.
You seem to misunderstand the situation. The facts are these:
1. For your convenience, I've provided three test archives, each of
which includes a file larger than 4GiB. These archives are valid.
2. Info-ZIP UnZip (version 6.00 or newer) can process these archives
correctly. This is consistent with the fact that these archives are
valid.
3. Programs from other vendors can process these archives correctly.
I've supplied a screenshot showing one of them (7-Zip) doing so, as you
requested. This is consistent with the fact that these archives are
valid.
4. Windows Explorer (on Windows 7) cannot process these archives
correctly, apparently because it misreads the (Zip64) file size data.
I've supplied a screenshot of Windows Explorer showing the bad file size
it gets, and the failure that occurs when one tries to use it to extract
the file from one of these archives, as you requested. This is
consistent with the fact that there's a bug in the .zip reader used by
Windows Explorer.
Yes, "other zip application runs correctly." Info-ZIP UnZip runs
correctly. Only Windows Explorer does _not_ run correctly. -
Updating to MAXDB 7.5.00.29- user logon failed error! Urgent Help
Hi
I am trying to update MaxDB 7.5.00 to MaxDB 7.5.00.29
on WAS 6.40. When I run the update via SDBUPD, I get the error "cannot establish database instance". i have looked in the log files(MaxDBUpdate_install-16.07.2005-16.13.log)
and the error is
<b>user_logon failed
ERR
-24950,ERR_USRFAIL: user authorization failed</b>
I am following "MaxDB update SAP note 735598" and under Windows section it states I should call the SDBUPD from the cmd prompt as follows:
SDBUPD -d <database_name> -u <dbm_userid>,<password>
so i run
<b>SDBUPD -d J2E -u Administrator,portal</b>
I assume <dbm_userid> is the default userid which is Admisitrator when installing WAS and MAXDB. I ahve not changed the default during the installation.
I have tried <b>SAPJ2EDB</b> as dmb_userid as well as <b>J2EE_Admin</b>, they still give the same error.
Any help on this?
Need urgent help
Much appreciated
RD
Message was edited by: RDHi
Thank you for your reply!!
I used control,control as user,password. This worked 100%, but then it reached to a point where it gave this error, i get this from the log file:
<b>STDERR: test pgm/sqltcp.dll failed: cannot extract pgm/sqltcp.dll: sharing violation during open of existing file</b>
What causes this error, and how can i get pass this ?
I assume some instance is started, but before I ran the SDBUPD, I stopped the J2E under sap system in SAPMMC.
Below is the output it gave when i ran SDBUPD from cmd prompt, I have bolded where the error starts:
D:\UpdatesPatches\MaxDB\maxdb-server-win-32bit-i386-7_5_00_29>SDBUPD -d J2E -u control,control
MaxDB INSTANCE UPDATE
starting installation Mo, Jul 18, 2005 at 08:57:11
operating system: Windows I386 NT 5.2 Service Pack 1
callers working directory: D:/UpdatesPatches/MaxDB/maxdb-server-win-32bit-i386-7
500_29
installer directory: D:/UpdatesPatches/MaxDB/maxdb-server-win-32bit-i386-7_5_00_
29
archive directory: D:/UpdatesPatches/MaxDB/maxdb-server-win-32bit-i386-7_5_00_29
beginning to check sap db instances
start new instance update
finding instance type...
finding starting release...
finding migration strategy...
looking for running instances...
checking paramfile modifications...
looking for domain user...
checking data consistency for database migration...
switch database state to OFFLINE
checking SAP DB instance "J2E" successfully Mo, Jul 18, 2005 at 08:57:23
starting preparing phase of package Base 7.5.00.29 32 bit
update release check... ok
update binary magic check... ok
checking interferences to other packages... ok
collecting data finished:
independent data path: d:/sapdb/data
independent program path: d:/sapdb/programs
start extraction test run of "D:/UpdatesPatches/MaxDB/maxdb-server-win-32bit-i38
6-7_5_00_29/SDBBAS.TGZ"
<b>test pgm/sqltcp.dll failed: cannot extract pgm/sqltcp.dll: sharing violation dur
ing open of existing file
following programs are running:
dbmsrv.exe [pid = 876]
dbmsrv.exe [pid = 2496]
dbmsrv.exe [pid = 1460]
wahttp.exe [pid = 1420]
dbmsrv.exe [pid = 1188]</b> -
Recovering damaged ZIP archive
I have a large (1.26GB) ZIP archive that I made some time ago and copied to DVD.
Now when I try and unarchive it using Archive Utility it says 'Unable to unarchive. Error 1 (Operation not permitted.)'.
Does anyone know how I can fix this?
I've looked online for ZIP archive repair software that runs on OS X but can find nothing.I am trying to expand a Stuffit ZIP file I created of personal family images/information. I thought it was a good idea at the time (yes I could just shoot myself). All I did was compress it and it was saved on an external HD. Well sometime later (few months maybe years) I want to open it and use some info on it and I can't.
I found some help stuff on this site for logging into Terminal. I got this when using Terminal after prompting the Error 1 - Operation Not Permitted. Read below and PLEASE (yes, please) help me figure out. I've tried some things from the list but since I don't know what I am doing I need mac geek assistance. I am partial geek, hehe. Thank you!
Last login: Sun Sep 13 10:47:31 on ttys000
imacs-imac-g5:~ MC$ unzip -P Family & Friends.zip
[1] 350
UnZip 5.52 of 28 February 2005, by Info-ZIP. Maintained by C. Spieler. Send
bug reports using http://www.info-zip.org/zip-bug.html; see README for details.
Usage: unzip [-Z] [-opts[modifiers]] file[.zip] [list] [-x xlist] [-d exdir]
Default action is to extract files in list, except those in xlist, to exdir;
file[.zip] may be a wildcard. -Z => ZipInfo mode ("unzip -Z" for usage).
-p extract files to pipe, no messages -l list files (short format)
-f freshen existing files, create none -t test compressed archive data
-u update files, create if necessary -z display archive comment
-x exclude files that follow (in xlist) -d extract files into exdir
modifiers: -q quiet mode (-qq => quieter)
-n never overwrite existing files -a auto-convert any text files
-o overwrite files WITHOUT prompting -aa treat ALL files as text
-j junk paths (do not make directories) -v be verbose/print version info
-C match filenames case-insensitively -L make (some) names lowercase
-X restore UID/GID info -V retain VMS version numbers
-K keep setuid/setgid/tacky permissions -M pipe through "more" pager
Examples (see unzip.txt for more info):
unzip data1 -x joe => extract all files except joe from zipfile data1.zip
unzip -p foo | more => send contents of foo.zip via pipe into program more
unzip -fo foo ReadMe => quietly replace existing ReadMe if archive file newer
-bash: Friends.zip: command not found
[1]+ Exit 10 unzip -P Family
imacs-imac-g5:~ MC$
Anyone know what to do next?
Thanks! -
Apple Configurator says "Zip Archive corrupt"
Hi,
I have an issue when trying to restore a backup which was taken on one iPad to another. I'm using Apple Configurator and it says "Zip Archive corrupt" upns failure.
I'm not onsite today to test dirrectly, but any advice regarding this is much appreciated.
Kind regards,
JoshThis is the contents of the clients install log file:
Performing runtime install
UI SWF load is complete
UI initialized
starting user confirmation
Installation type: new
starting install
Scheduling runtime installation operations
Installed Product GUID: is same:false
Beginning runtime installation
Beginning install
Installing
c:\docume~1\abbeys~1.dmh\locals~1\temp\airf4.tmp\setup.msi
Error occurred; beginning rollback: [ErrorEvent type="error"
bubbles=false cancelable=false eventPhase=2 text="1603" errorID=0]
Rolling back install of
c:\docume~1\abbeys~1.dmh\locals~1\temp\airf4.tmp\setup.msi
Rollback due to error complete
error during install: [ErrorEvent type="error" bubbles=false
cancelable=false eventPhase=2 text="1603" errorID=0]
runtime install entering error state: [ErrorEvent
type="error" bubbles=false cancelable=false eventPhase=2
text="1603" errorID=0]
begin quitting
error in stateQuitting: [ErrorEvent type="error"
bubbles=false cancelable=false eventPhase=2 text="Unhandled
exception TypeError: Error #1009" errorID=1009]
What does that mean?
I talked to the client's IT and they says "all restrictions
have been removed, it's not on our end" but I'm not confident this
is really true.
IT tried to install as an admin.
Thanks for your help. -
URGENT HELP NEEDED!!! (Almost a matter of life and death)
Well, it's more of a matter of failing a course or not...
Anyway, my Java professor gave us some labs to do. I know Java front and back, at least, whatever version I learned a few years back. This is my first tenure with the Scanner object, and it's messing me up.
I'm using Eclipse for my project. I have three files in the source folder, ABC_Manufacturing.java, mseast.dat and mswest.dat. Now, when I try to instanciate a new Scanner object, it won't find the files:
Scanner east = new Scanner(new FileReader("mseast.dat"));
Scanner west = new Scanner(new File("mswest.dat"));
I'm trying two seperate ways to do this. Neither are working, this is the error I get:
Exception in thread "main" java.lang.Error: Unresolved compilation problems:
Unhandled exception type FileNotFoundException
Unhandled exception type FileNotFoundException
at ABC_Manufacturing.main(ABC_Manufacturing.java:38)
Now, I added these files OVER and OVER again. I added them. I created new files and pasted the contents in there. I used .txt files. All the same error. It's like it just won't take the time out to look for the files that are RIGHT IN THE DAMN PROJECT! Then I tried using a complete path, using C:\Java\whatever. SAME ERROR!!!!
Please, I need urgent help. This is due tomorrow at noon, and I have no idea what to do at this point. I can't really continue, because at this point its just looking at what prints out and formatting it, and I don't want to do that without testing to see if my code to convert the file data into arrays work. You dig? Thanks for any and all help, and I'm going to kill my professor...she spent a week going over parallel arrays but did nothing to show us how to import files into projects or use the scanner class. Also it doesn't help that at uni we have to use emacs, which I don't use at home.d00erino wrote:
This is the the main class, so far:
public static void main(String[] args)throws IOException
Scanner west = new Scanner(new File("mswest.dat"));
int [] eastParts = new int[13];
int [] eastQuant = new int[13];
int [] westParts = new int[17];
int [] westQuant = new int[17];
System.out.print(west.nextInt());
And I didn't ignore that one guy (sorry, don't remember your username) I tried you and the other guy's responce. Both didn't work. I dunno how to get around errors. Figures, you don't learn that in the course but she'll spend a week on parallel arrays...Ok, well that can't possibly be complaining with the same error message you got before, so now you need to be (more) specific about what "didn't work" means. -
Urgent help needed to get this home page up!
Hi,
I need urgent help with this and it is driving me crazy. For
some reason my animation starts at its fastest and won't stop until
you click the area then it works properly. I have no clue why it is
doing this and only seems to do it on a PC browser not on a Mac.
Can anyone help please!!!!!
Link to sample:
http://www.totalamber.com/test.html
Link to fla:
http://www.totalamber.com/flash/homepage.fla
Thanks so much for anyone who can help or tries to help me.
Neil
Ps this is urgent and i can't find a solution by searching on
hereThanks to anyone who has looked at this but i have found the
answer.
It is due to what many of the users on here will already know
and can be explained in this link:
http://blog.deconcept.com/swfobject/
I had forgot about the legal patent going on with microsoft!
Hope it helps anyone else as bad as i am.
Neil -
URGENT HELP NEEDED ... Tomcat Realm and JRE1.4 plug-in problem
I have tried the Security Realm of Tomcat. Since I do not have
an LDAP server, I decided to use the Tomcat-users.xml file in
Tomcat\conf directory.
I added the following lines of code in the web.xml file.
<security-constraint>
<web-resource-collection>
<web-resource-name>Entire Application</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<!-- NOTE: This role is not present in the default users file -->
<role-name>webviewer</role-name>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>Tomcat Manager Application</realm-name>
</login-config>
The <role-name> "webviewer" is added into "Tomcat-Users.xml" as the following:
<tomcat-users>
<user name="test" password="password" roles="webviewer" />
</tomcat-users>
So, now when we type the url: http://localhost:8080/adbpdbre/default.htm, TOMCAT shows a dialog box asking for UserName: and Password:Now, only when we give the username and password, it shows the page. This is exactly what we want.
But the problem now is, this default.htm page, has 5 links to 5 applets. The first time that I click on one of these links, the JRE plug of 1.4 shows a dialog again asking for the username and password. Till I dont provide the username and password the system doesnt go ahead and applet doesnt load. I do not want the JRE to ask me for the username/passwords again..How to avoid this ?
Can you give me some more information on this. Ultimately in the production usage, we will be using LDAP and not Tomcat's memory realm.
URGENT HELP NEEDED ... I need to get back to my client on this.
Help would be v. much appreciated.In the config file, you 're essentially saying that you want Tomcat to prompt for usr/passw on every request (url-pattern = /*) made by a 'webviewer', and that's exactly what Tomcat is doing.
Consider using specific url-patterns & roles for resources to be protected. If for now, all you need is to protect the first page, use a more specific url-pattern.
Just an advice : if you'll be using LDAP in production, do not waste time with Tomcat's Security Realm and the BASIC authentication type, since the two have not much in common. Start reading doc on LDAP, and code a prototype, or even better, a vertical slice of the app (i.e a proof of concept). -
Urgent Help required! - Storing the XML as String instead as a file
Hi,
I need urgent help on this.
I have an XML file. I have used org.w3c.dom to build dom and manipulate the XML file.
I have updated the values for some of the nodes and I have deleted some of the unwanted nodes.
I am able to save the output of the DOM as another XML file using
either transform class or XMLSerializer with OutputFormatter class.
But my requirement is to save the output of the DOM into a String instead of a file.
When I save it in String, I need to have the following XML decalration and DOCTYPE declration also with it.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Test SYSTEM "Test.dtd">
Can anyone pls help me in this??
Thanks in Advance. Expecting some inpputs pls....!
Regards,
Gayathri.hi,
i think this is what u want
public static String getXmlString(Document d) {
StringWriter strResponse = null;
try {
OutputFormat format = new OutputFormat(d);
strResponse = new StringWriter();
XMLSerializer serial = new XMLSerializer( strResponse, format );
serial.asDOMSerializer();
serial.serialize(d.getDocumentElement());
catch (Exception e) {
System.out.println(e.toString());
return strResponse.toString();
}HTH
vasanth-ct -
Create a new directory in existing Zip archive
Hello Every One
I want create a new folder in existing Zip archive. Can any one help in this regard.
Thanks
Edited by: SatishBejgum on Dec 18, 2007 12:42 AMDelete the ZIP, write a new one. You can't modify an existing archive.
-
Urgent help in coding of creating New Business partner?
Hi Friends,
I need urgent help on this.Please give me the solution.
This is the coding which i written for creating new BP.
FUNCTION ZCTS_NEW_CONTACT.
""Local interface:
*" IMPORTING
*" VALUE(BUSINESSPARTNER) LIKE BAPIBUS1006_HEAD-BPARTNER
*" VALUE(CNEWINFO) TYPE ZCTS_CONTACTS
*" VALUE(CDATA) LIKE BAPIBUS1006_CENTRAL STRUCTURE
*" BAPIBUS1006_CENTRAL
*" VALUE(BUSPART1) LIKE BAPIBUS1006_RELHEAD-BUSINESSPARTNER1
*" VALUE(BUSPART2) LIKE BAPIBUS1006_RELHEAD-BUSINESSPARTNER2
*" VALUE(RELCAT) LIKE BAPIBUS1006_RELHEAD-RELATIONSHIPCATEGORY
*" EXPORTING
*" VALUE(MESG) TYPE CHAR100
DATA: lt_return like bapiret2 occurs 0 with Header line.
DATA: CTPERS LIKE BAPIBUS1006_CENTRAL_PERSON OCCURS 0 WITH HEADER LINE.
DATA : PARTN_GRP TYPE BAPIBUS1006_HEAD-PARTN_GRP.
DATA : PARTN_CAT TYPE BAPIBUS1006_HEAD-PARTN_CAT.
DATA: BEGIN OF ADADD.
INCLUDE STRUCTURE BAPIBUS1006_ADDRESS.
DATA: END OF ADADD.
DATA: BEGIN OF ADTEL OCCURS 0.
INCLUDE STRUCTURE BAPIADTEL.
DATA: END OF ADTEL.
DATA: BEGIN OF ADSMP OCCURS 0.
INCLUDE STRUCTURE BAPIADSMTP.
DATA: END OF ADSMP.
CTPERS-FIRSTNAME = CNEWINFO-FNAME.
CTPERS-LASTNAME = CNEWINFO-LNAME.
PARTN_CAT = 1.
PARTN_GRP = 002.
ADADD-CITY = CNEWINFO-CITY .
telephone info **
ADTEL-TELEPHONE = CNEWINFO-PHONE.
ADTEL-CONSNUMBER = '001'.
APPEND ADTEL.
ADTEL-TELEPHONE = CNEWINFO-MOBILE.
ADTEL-CONSNUMBER = '002'.
APPEND ADTEL.
email information **
ADSMP-E_MAIL = CNEWINFO-EMAIL .
APPEND ADSMP.
CALL FUNCTION 'BAPI_BUPA_CREATE_FROM_DATA'
EXPORTING
PARTNERCATEGORY = PARTN_CAT
CENTRALDATA = CDATA
PARTNERGROUP = PARTN_GRP
CENTRALDATAPERSON = CTPERS
ADDRESSDATA = ADADD
IMPORTING
BUSINESSPARTNER = BUsinessPartner
TABLES
TELEFONDATA = ADTEL
E_MAILDATA = ADSMP
RETURN = lt_return.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = 'X'.
*PARTN_CAT = 1.
*PARTN_GRP = 002.
*ADADD-CITY = CNEWINFO-CITY .
telephone info **
ADTEL-TELEPHONE = CNEWINFO-PHONE.
ADTEL-CONSNUMBER = '001'.
APPEND ADTEL.
ADTEL-TELEPHONE = CNEWINFO-MOBILE.
ADTEL-CONSNUMBER = '002'.
APPEND ADTEL.
email information **
ADSMP-E_MAIL = CNEWINFO-EMAIL .
APPEND ADSMP.
CALL FUNCTION 'BAPI_BUPR_PFCT_CREATEFROMDATA'
EXPORTING
BUSINESSPARTNER1 = BUSPART1
BUSINESSPARTNER2 = BUSPART2
RELATIONSHIPCATEGORY = RELCAT
TABLES
RETURN = lt_return.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = 'X'.
LOOP AT lt_return WHERE TYPE = 'E'.
MESG = ' NOT CREATED NEW CONTACT'(020).
EXIT.
ENDLOOP.
ENDFUNCTION.
Early reply is highly appriciable.
Regards,
BONAHi,
Thanks for early reply.
When i tested created new BP.
Wheni check wether it is created or not its not created.
What is the problem.is there modifications i have to do int he coding.
Thanks,
BONA. -
Urgent help need on swing problem
Dear friends,
I met a problem and need urgent help from guru here, I am Swing newbie,
I have following code and hope to draw lines between any two components at RUN-TIME, not at design time
Please throw some skeleton code, Thanks so much!!
code:
package com.swing.test;
import java.awt.*;
import java.awt.event.*;
import java.awt.geom.*;
import javax.swing.*;
import javax.swing.event.*;
public class LongguConnectLineCommponent
public static void main(String[] args)
JFrame f = new JFrame("Connecting Lines");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.getContentPane().add(new ConnectionPanel());
f.setSize(400,300);
f.setLocation(200,200);
f.setVisible(true);
class ConnectionPanel extends JPanel
JLabel label1, label2, label3, label4;
JLabel[] labels;
JLabel selectedLabel;
int cx, cy;
public ConnectionPanel()
setLayout(null);
addLabels();
label1.setBounds( 25, 50, 125, 25);
label2.setBounds(225, 50, 125, 25);
label3.setBounds( 25, 175, 125, 25);
label4.setBounds(225, 175, 125, 25);
determineCenterOfComponents();
ComponentMover mover = new ComponentMover();
addMouseListener(mover);
addMouseMotionListener(mover);
public void paintComponent(Graphics g)
super.paintComponent(g);
Graphics2D g2 = (Graphics2D)g;
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
Point[] p;
for(int i = 0; i < labels.length; i++)
for(int j = i + 1; j < labels.length; j++)
p = getEndPoints(labels, labels[j]);
//g2.draw(new Line2D.Double(p[0], p[1]));
private Point[] getEndPoints(Component c1, Component c2)
Point
p1 = new Point(),
p2 = new Point();
Rectangle
r1 = c1.getBounds(),
r2 = c2.getBounds();
int direction = r1.outcode(r2.x, r2.y);
switch(direction) // r2 located < direction > of r1
case (Rectangle.OUT_LEFT): // West
p1.x = r1.x;
p1.y = r1.y;
p2.x = r2.x + r2.width;
p2.y = r2.y;
if(r1.y > cy)
p1.y = r1.y + r1.height;
p2.y = r2.y + r2.height;
break;
case (Rectangle.OUT_TOP): // North
p1.x = r1.x;
p1.y = r1.y;
p2.x = r2.x;
p2.y = r2.y + r2.height;
if(r1.x > cx && r2.x > cx)
p1.x = r1.x + r1.width;
p2.x = r2.x + r2.width;
break;
case (Rectangle.OUT_LEFT + Rectangle.OUT_TOP): // NW
p1.x = r1.x;
p1.y = r1.y;
p2.x = r2.x + r2.width;
p2.y = r2.y;
if(r1.y > r2.y + r2.height)
p2.y = r2.y + r2.height;
break;
case (Rectangle.OUT_RIGHT): // East
p1.x = r1.x + r1.width;
p1.y = r1.y;
p2.x = r2.x;
p2.y = r2.y;
if(r1.y > cy)
p1.y = r1.y + r1.height;
p2.y = r2.y + r2.height;
break;
case (Rectangle.OUT_TOP + Rectangle.OUT_RIGHT): // NE
p1.x = r1.x + r1.width;
p1.y = r1.y;
p2.x = r2.x;
p2.y = r2.y;
if(r1.y > cy)
p1.y = r1.y + r1.height;
p2.y = r2.y + r2.height;
if(r1.y > r2.y + r2.height)
p1.y = r1.y;
else
if(r1.y > r2.y + r2.height)
p2.y = r2.y + r2.height;
break;
case (Rectangle.OUT_BOTTOM): // South
p1.x = r1.x;
p1.y = r1.y + r1.height;
p2.x = r2.x;
p2.y = r2.y;
if(r1.x > cx && r2.x > cx)
p1.x = r1.x + r1.width;
p2.x = r2.x + r2.width;
break;
case (Rectangle.OUT_RIGHT + Rectangle.OUT_BOTTOM): // SE
p1.x = r1.x + r1.width;
p1.y = r1.y + r1.height;
p2.x = r2.x;
p2.y = r2.y;
break;
case (Rectangle.OUT_BOTTOM + Rectangle.OUT_LEFT): // SW
p1.x = r1.x;
p1.y = r1.y + r1.height;
p2.x = r2.x;
p2.y = r2.y;
if(r1.x > r2.x + r2.width)
p2.x = r2.x + r2.width;
if(r1.x > cx && r2.x > cx)
p1.x = r1.x + r1.width;
p2.x = r2.x + r2.width;
return new Point[] {p1, p2};
private void determineCenterOfComponents()
int
xMin = Integer.MAX_VALUE,
yMin = Integer.MAX_VALUE,
xMax = 0,
yMax = 0;
for(int i = 0; i < labels.length; i++)
Rectangle r = labels[i].getBounds();
if(r.x < xMin)
xMin = r.x;
if(r.y < yMin)
yMin = r.y;
if(r.x + r.width > xMax)
xMax = r.x + r.width;
if(r.y + r.height > yMax)
yMax = r.y + r.height;
cx = xMin + (xMax - xMin)/2;
cy = yMin + (yMax - yMin)/2;
private class ComponentMover extends MouseInputAdapter
Point offsetP = new Point();
boolean dragging;
public void mousePressed(MouseEvent e)
Point p = e.getPoint();
for(int i = 0; i < labels.length; i++)
Rectangle r = labels[i].getBounds();
if(r.contains(p))
selectedLabel = labels[i];
offsetP.x = p.x - r.x;
offsetP.y = p.y - r.y;
dragging = true;
break;
public void mouseReleased(MouseEvent e)
dragging = false;
public void mouseDragged(MouseEvent e)
if(dragging)
Rectangle r = selectedLabel.getBounds();
r.x = e.getX() - offsetP.x;
r.y = e.getY() - offsetP.y;
selectedLabel.setBounds(r.x, r.y, r.width, r.height);
determineCenterOfComponents();
repaint();
private void addLabels()
label1 = new JLabel("Label 1");
label2 = new JLabel("Label 2");
label3 = new JLabel("Label 3");
label4 = new JLabel("Label 4");
labels = new JLabel[] {
label1, label2, label3, label4
for(int i = 0; i < labels.length; i++)
labels[i].setHorizontalAlignment(SwingConstants.CENTER);
labels[i].setBorder(BorderFactory.createEtchedBorder());
add(labels[i]);If you need some help, be respectful of the forum rules and people will help. By using "urgent" in the title and bumping your message every 2 hours you're just asking to be ignored (which is what you ended up with).
-
Your urgent help will be very much appreciated
I have a problem whenever I connect my database and need your urgent help. the sample source code is below
import java.sql.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
public class Table extends JFrame
private Connection con;
private JTable table;
public Table()
String url = "jdbc:odbc:Books";
String username="";
String password="";
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con = DriverManager.getConnection(url, username, password);
catch(ClassNotFoundException cnfex)
System.err.println("Failed to load JDBC/ODBC driver.");
cnfex.printStackTrace();
System.exit(1);
catch(SQLException sqlex)
System.err.println("Failed to connect");
sqlex.printStackTrace();
getTable();
setSize(45,150);
show();
public void getTable()
Statement state;
ResultSet result;
try{
String query="Select * from Author";
state=con.createStatement();
result=state.executeQuery(query);
displayResult(result);
state.close();
catch(SQLException sqlex)
sqlex.printStackTrace();
public void displayResult(ResultSet rs)throws SQLException
boolean moreRecord=rs.next();
if (!moreRecord)
JOptionPane.showMessageDialog(this, "ResultSet contained no record");
setTitle("No records to display");
return;
setTitle("Author table from Books");
Vector columnHeads=new Vector();
Vector rows=new Vector();
try{
ResultSetMetaData rsmd=rs.getMetaData();
for (int i=1; i<=rsmd.getColumnCount(); i++)
columnHeads.addElement(rsmd.getColumnName(i));
do{
rows.addElement(getNextRow(rs, rsmd));
}while(rs.next());
table=new JTable(rows, columnHeads);
JScrollPane scroller=new JScrollPane(table);
getContentPane().add(scroller,BorderLayout.CENTER);
validate();
catch(SQLException sqlex)
sqlex.printStackTrace();
public Vector getNextRow(ResultSet rs, ResultSetMetaData rsmd)
throws SQLException
Vector currentRow=new Vector();
for (int i=1; i<=rsmd.getColumnCount(); i++)
switch (rsmd.getColumnType(i))
case Types.VARCHAR:
currentRow.addElement(rs.getString(i));
break;
case Types.INTEGER:
currentRow.addElement(new Long(rs.getLong(i)));
break;
default:
System.out.println("Type was: "+rsmd.getColumnTypeName(i));
return currentRow;
public void shutDown()
try{
con.close();
catch(SQLException sqlex)
System.err.println("Unable to disconnect");
sqlex.printStackTrace();
public static void main(String args[])
final Table app=new Table();
app.addWindowListener( new WindowAdapter()
public void windowClosing(WindowEvent e)
app.shutDown();
System.exit(0);Thank you for your help. When I compile it, it is fine, the problem happens when run it.
Unexpected Signal : EXCEPTION_ACCESS_VIOLATION occurred at PC=0x6d448d54
Function name=(N/A)
Library=C:\Program Files\JavaSoft\JRE\1.3.1_05\bin\hotspot\jvm.dll
NOTE: We are unable to locate the function name symbol for the error
just occurred. Please refer to release documentation for possible
reason and solutions.
Current Java thread:
at sun.jdbc.odbc.JdbcOdbc.driverConnect(Native Method)
at sun.jdbc.odbc.JdbcOdbc.SQLDriverConnect(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcConnection.initialize(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at Table.<init>(Table.java:26)
at Table.main(Table.java:145)
Dynamic libraries:
0x00400000 - 0x00405000 C:\WINNT\system32\java.exe
0x77F80000 - 0x77FFB000 C:\WINNT\System32\ntdll.dll
0x77D90000 - 0x77DED000 C:\WINNT\system32\ADVAPI32.dll
0x77E60000 - 0x77F35000 C:\WINNT\system32\KERNEL32.DLL
0x786F0000 - 0x78761000 C:\WINNT\system32\RPCRT4.DLL
0x78000000 - 0x78046000 C:\WINNT\system32\MSVCRT.dll
0x60000000 - 0x6003A000 c:\program files\rising\rav\ApiHook.dll
0x05000000 - 0x0502E000 c:\program files\rising\rav\MemMon.dll
0x77DF0000 - 0x77E55000 C:\WINNT\system32\USER32.dll
0x77F40000 - 0x77F7C000 C:\WINNT\system32\GDI32.DLL
0x75E00000 - 0x75E1A000 C:\WINNT\System32\IMM32.DLL
0x6D420000 - 0x6D4F7000 C:\Program Files\JavaSoft\JRE\1.3.1_05\bin\hotsp
ot\jvm.dll
0x77530000 - 0x77560000 C:\WINNT\system32\WINMM.dll
0x6D220000 - 0x6D227000 C:\Program Files\JavaSoft\JRE\1.3.1_05\bin\hpi.d
ll
0x6D3B0000 - 0x6D3BD000 C:\Program Files\JavaSoft\JRE\1.3.1_05\bin\verif
y.dll
0x6D250000 - 0x6D266000 C:\Program Files\JavaSoft\JRE\1.3.1_05\bin\java.
dll
0x6D3C0000 - 0x6D3CD000 C:\Program Files\JavaSoft\JRE\1.3.1_05\bin\zip.d
ll
0x6D020000 - 0x6D12A000 C:\Program Files\JavaSoft\JRE\1.3.1_05\bin\awt.d
ll
0x777C0000 - 0x777DE000 C:\WINNT\system32\WINSPOOL.DRV
0x75010000 - 0x75020000 C:\WINNT\system32\MPR.DLL
0x77A30000 - 0x77B25000 C:\WINNT\system32\ole32.dll
0x6D1E0000 - 0x6D21B000 C:\Program Files\JavaSoft\JRE\1.3.1_05\bin\fontm
anager.dll
0x6DD30000 - 0x6DD36000 C:\WINNT\System32\INDICDLL.dll
0x37210000 - 0x3723D000 C:\WINNT\DOWNLO~1\CnsMin.dll
0x77C50000 - 0x77C9A000 C:\WINNT\system32\SHLWAPI.dll
0x777E0000 - 0x777E7000 C:\WINNT\system32\VERSION.dll
0x75950000 - 0x75956000 C:\WINNT\system32\LZ32.DLL
0x6D290000 - 0x6D29A000 C:\Program Files\JavaSoft\JRE\1.3.1_05\bin\JdbcO
dbc.dll
0x1F7F0000 - 0x1F825000 C:\WINNT\system32\ODBC32.dll
0x76AF0000 - 0x76B2D000 C:\WINNT\system32\comdlg32.dll
0x77B30000 - 0x77BB9000 C:\WINNT\system32\COMCTL32.DLL
0x78F90000 - 0x791D6000 C:\WINNT\system32\SHELL32.DLL
0x1F8E0000 - 0x1F8F6000 C:\WINNT\system32\odbcint.dll
0x77900000 - 0x77923000 C:\WINNT\system32\imagehlp.dll
0x72960000 - 0x7298D000 C:\WINNT\system32\DBGHELP.dll
0x687E0000 - 0x687EB000 C:\WINNT\system32\PSAPI.DLL
Local Time = Tue Feb 25 21:33:38 2003
Elapsed Time = 7
# HotSpot Virtual Machine Error : EXCEPTION_ACCESS_VIOLATION
# Error ID : 4F530E43505002BD
# Please report this error at
# http://java.sun.com/cgi-bin/bugreport.cgi
# Java VM: Java HotSpot(TM) Client VM (1.3.1_05-b02 mixed mode)
# An error report file has been saved as hs_err_pid1792.log.
# Please refer to the file for further information.
#
Maybe you are looking for
-
to We had a MacBook Pro stolen from our home when we were out of town and I am pretty sure we never activated the LoJack type of function on it not sure if its called lojack but you get what I am saying is there any way we can activate such hardware
-
I have a copy of CS4 installed on my computer. I've been looking around the forums and other websites for help and I've literally tried EVERYTHING. I would upgrade for CS6 (which seems to be the only solution at this point) but it's a costly endeavor
-
Hi, Expert Is there any t-code which i can take a report vendor code or master data with PAN Number regards gk
-
hi,everyone on my oracle ias 9.0.2 ( patch 9.0.2.2.0 ) when i run a big report server is no response,little report is very good.i don't know the reason. who can help me? thanks
-
Key not valid and error code 1603
For over a week now, SKYPE software dissapeared from my computer. I thought I needed to upgrade & have tried more than twenty times. I paid SKYPE credit to update that twice & it finally gave me an email confirmation. However, every time I try to