Urgent info needed... help!
Hi,
I am looking for a java based component whose methods can be called by my java program (servlet) to convert a Word (MS) document to PDF. The server is windos based and the component could be commercial or free.
Any help would be highly appreciated.
Thanks in advance,
Rajesh
Why don't you try to find related applications on Hotscripts.com (http://www.hotscripts.com) and Java Boutique (http://javaboutique.internet.com). There are a lot of commerial and free applications and samples!
If you are just finding the classes. There is a vendor, Next Software (http://www.nextoffice.net/eng/index.php) which has developed application you have described. If possible, you may contact them for further information.
Good Luck!
Similar Messages
-
Urgent Problem, need help asap.
Hello everyone,
I'm sorry for the alarmist title, but I need help and I need it badly. Just last night, my macbook froze with nothing working. The mouse froze, the interrupt keys didn't work, nothing. I shut down the laptop, and tried to restart. I noticed a clicking sound coming from the lower left hand corner of the macbook. I'm assuming this is the hard drive.
What happens is that there will be two clicks happening in a rythmic fashion, and after 15 second of booting up, a folder will appear with a question mark on the screen. The only thing I can do is power it down. Can someone please describe what is happening and make suggestions?
The kicker is that I'm a college student studying in Denmark for the semester. The laptop is my only lifeline to back home. Please, any help is greatly appreciated.
MattYou may have a disk failure or simply corrupted files. If you have a bootable backup that is working, then you can boot from it, erase your hard drive, then restore your backup. If not then do this:
Repairing the Hard Drive and Permissions
Boot from your OS X Installer disc. After the installer loads select your language and click on the Continue button. When the menu bar appears select Disk Utility from the Installer menu (Utilities menu for Tiger and Leopard.) After DU loads select your hard drive entry (mfgr.'s ID and drive size) from the the left side list. In the DU status area you will see an entry for the S.M.A.R.T. status of the hard drive. If it does not say "Verified" then the hard drive is failing or failed. (SMART status is not reported on external Firewire or USB drives.) If the drive is "Verified" then select your OS X volume from the list on the left (sub-entry below the drive entry,) click on the First Aid tab, then click on the Repair Disk button. If DU reports any errors that have been fixed, then re-run Repair Disk until no errors are reported. If no errors are reported click on the Repair Permissions button. Wait until the operation completes, then quit DU and return to the installer. Now restart normally.
If DU reports errors it cannot fix, then you will need Disk Warrior (4.0 for Tiger, and 4.1 for Leopard) and/or TechTool Pro (4.6.1 for Leopard) to repair the drive. If you don't have either of them or if neither of them can fix the drive, then you will need to reformat the drive and reinstall OS X.
If the drive is OK then you can reinstall OS X:
How to Perform an Archive and Install
An Archive and Install will NOT erase your hard drive, but you must have sufficient free space for a second OS X installation which could be from 3-9 GBs depending upon the version of OS X and selected installation options. The free space requirement is over and above normal free space requirements which should be at least 6-10 GBs. Read all the linked references carefully before proceeding.
1. Be sure to use Disk Utility first to repair the disk before performing the Archive and Install.
Repairing the Hard Drive and Permissions
Boot from your OS X Installer disc. After the installer loads select your language and click on the Continue button. When the menu bar appears select Disk Utility from the Installer menu (Utilities menu for Tiger.) After DU loads select your hard drive entry (mfgr.'s ID and drive size) from the the left side list. In the DU status area you will see an entry for the S.M.A.R.T. status of the hard drive. If it does not say "Verified" then the hard drive is failing or failed. (SMART status is not reported on external Firewire or USB drives.) If the drive is "Verified" then select your OS X volume from the list on the left (sub-entry below the drive entry,) click on the First Aid tab, then click on the Repair Disk button. If DU reports any errors that have been fixed, then re-run Repair Disk until no errors are reported. If no errors are reported, then quit DU and return to the installer.
If DU reports errors it cannot fix, then you will need Disk Warrior (4.0 for Tiger) and/or TechTool Pro (4.5.2 for Tiger) to repair the drive. If you don't have either of them or if neither of them can fix the drive, then you will need to reformat the drive and reinstall OS X.
2. Do not proceed with an Archive and Install if DU reports errors it cannot fix. In that case use Disk Warrior and/or TechTool Pro to repair the hard drive. If neither can repair the drive, then you will have to erase the drive and reinstall from scratch.
3. Boot from your OS X Installer disc. After the installer loads select your language and click on the Continue button. When you reach the screen to select a destination drive click once on the destination drive then click on the Option button. Select the Archive and Install option. You have an option to preserve users and network preferences. Only select this option if you are sure you have no corrupted files in your user accounts. Otherwise leave this option unchecked. Click on the OK button and continue with the OS X Installation.
4. Upon completion of the Archive and Install you will have a Previous System Folder in the root directory. You should retain the PSF until you are sure you do not need to manually transfer any items from the PSF to your newly installed system.
5. After moving any items you want to keep from the PSF you should delete it. You can back it up if you prefer, but you must delete it from the hard drive.
6. You can now download a Combo Updater directly from Apple's download site to update your new system to the desired version as well as install any security or other updates. You can also do this using Software Update. -
Urgent! Need help in deciding data structure to use
Hi all,
I need to implement a restaurant system by which a customer can make a reservation.
I was wondering whether vector would be able to be store such an object, The thing is I don't want a complex data structure. just sumthin simple cos i hardly have anytime left to my submission. sighz...
The thing is I need to able to search based on 2 properties of an object. Eg. I need to search for a reservation based on the customer name and the date he reserved a table.
But I am totally clueless how to search thru a vector based on 2 properties of the object... Would really appreciate some help. Like an example how to so so based on my program. Feelin so lost...This is all I have so far:
class AddReservation
static BufferedReader stdin = new BufferedReader (new InputStreamReader(System.in));
//Main Method
public static void main (String[]args)throws IOException
String custName, comments;
int covers, date, startTime, endTime;
int count = 0;
//User can only add one reservation at a time
do
//Create a new reservation
Reservation oneReservation=new Reservation();
System.out.println("Please enter customer's name:");
System.out.flush();
custName = stdin.readLine();
oneReservation.setcustName(custName);
System.out.println("Please enter number of covers:");
System.out.flush();
covers = Integer.parseInt(stdin.readLine());
oneReservation.setCovers(covers);
System.out.println("Please enter date:");
System.out.flush();
date = Integer.parseInt(stdin.readLine());
oneReservation.setDate(date);
System.out.println("Please enter start time:");
System.out.flush();
startTime = Integer.parseInt(stdin.readLine());
oneReservation.setstartTime(startTime);
System.out.println("Please enter end time:");
System.out.flush();
endTime = Integer.parseInt(stdin.readLine());
oneReservation.setendTime(endTime);
System.out.println("Please enter comments, if any:");
System.out.flush();
comments = stdin.readLine();
oneReservation.setComments(comments);
count++;
while (count<1);
class Reservation
private Reservation oneReservation;
private String custName, comments;
private int covers, startTime, endTime, date;
//Default constructor
public Reservation()
public Reservation(String custName, int covers, int date, int startTime, int endTime, String comments)
this.custName=custName;
this.covers=covers;
this.date=date;
this.startTime=startTime;
this.endTime=endTime;
this.comments=comments;
//Setter methods
public void setcustName(String custName)
this.custName=custName;
public void setCovers(int covers)
this.covers=covers;;
public void setDate(int date)
this.date=date;
public void setstartTime(int startTime)
this.startTime=startTime;
public void setendTime(int endTime)
this.endTime=endTime;
public void setComments(String comments)
this.comments=comments;
//Getter methods
public String getcustName()
return custName;
public int getCovers()
return covers;
public int getDate()
return date;
public int getstartTime()
return startTime;
public int getendTime()
return endTime;
public String getComments()
return comments;
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
class searchBooking
static BufferedReader stdin = new BufferedReader (new InputStreamReader(System.in));
public static void main (String[]args)throws IOException
int choice, date, startTime;
String custName;
//Search Menu
System.out.println("Search By: ");
System.out.println("1. Date");
System.out.println("2. Name of Customer");
System.out.println("3. Date & Name of Customer");
System.out.println("4. Date & Start time of reservation");
System.out.println("5. Date, Name of customer & Start time of reservation");
System.out.println("Please make a selection: ");
//User keys in choice
System.out.flush();
choice = Integer.parseInt(stdin.readLine());
if (choice==1)
System.out.println("Please key in Date (DDMMYY):");
System.out.flush();
date = Integer.parseInt(stdin.readLine());
else if (choice==2)
System.out.println("Please key in Name of Customer:");
System.out.flush();
custName = stdin.readLine();
else if (choice==3)
System.out.println("Please key in Date (DDMMYY):");
System.out.flush();
date = Integer.parseInt(stdin.readLine());
System.out.println("Please key in Name of Customer:");
System.out.flush();
custName = stdin.readLine();
else if (choice==4)
System.out.println("Please key in Date (DDMMYY):");
System.out.flush();
date = Integer.parseInt(stdin.readLine());
System.out.println("Please key in Start time:");
System.out.flush();
startTime = Integer.parseInt(stdin.readLine());
else if (choice==5)
System.out.println("Please key in Date (DDMMYY):");
System.out.flush();
date = Integer.parseInt(stdin.readLine());
System.out.println("Please key in Name of Customer:");
System.out.flush();
custName = stdin.readLine();
System.out.println("Please key in Start time:");
System.out.flush();
startTime = Integer.parseInt(stdin.readLine());
}Please stop calling your questions urgent. Everybody's question is urgent to them. Nobody's are urgent to the people who are going to answer them. Calling your questions urgent suggests that you think they are more important than others' (They're not.) and will only serve to irritate those who would help you. It won't get your questions answered any sooner.
-
what is updating group,info structure,and update check why we use it
Hi,
Update group for statistics update:--
The update group is a control element in the updating definition, which allows all the different business events in the various applications to have a uniform influence on the statistics update in the Logistics Information System (LIS).
In an application, one update group is allocated to a specific business event or a group of business events. This update group is then used to determine the fields which will be created for the statistics.
The type of allocation and the organizational elements that determine how the allocation takes place vary from application to application.
Information Structures:-
In an information system, data aggregation is necessary in order to ensure that the user has a clear overview of key interrelationships. Since the requirements which need to be satisfied by data aggregation are determined by many different user groups, it is absolutely vital that aggregation functionality is flexible. Experience shows that various user groups need to view aggregated data from many different perspectives.
The SAP system makes these different views possible by providing self-defined information structures.
In the information structures, you can define your own view, by selecting the information from the operative application that you consider worthy of aggregation.
A distinction is made between three types of information:
Characteristics
You can define a maximum of nine characteristics for each information structure. These characteristics form the table keys of the database table.
Key figures
The key figures refer to values with significance to business, which are aggregated by means of the characteristics (e.g. invoiced sales, quantity of incoming orders, order quantity, lead time).
Period split
The periodic cumulation of data is a further criterion for aggregation. The key figures are thus aggregated on a daily, weekly or monthly basis, or on the basis of a variable period split that is determined by the fiscal year variant.
Update Check:--
You can use the update log to monitor the updating of statistical data. The information displayed in the update log is user-dependent and operation-dependent.
The update log is a tool that you can use to check updating once it has taken place, and to check the generation of the information structures and the update rules assigned to them.
You can also use the update simulation function to monitor the update procedure. In addition, you can use update simulation to generate an update log for documents that have not caused an update.
Reward points if u helpful
Cheers,
Govind. -
Urgent I need help to restore my files
Hi,
In my iPhone there was a message that asked for updating the softawre. and when I tried for the update it asked me to connect with PC. I connected my iPhone with PC and it made the update (I saw the update process on the iphone screen). but the iphone did not turned on, there was a sign on the iphone screen that indicated that I have to connect the iphone to the itune, (even it was already connected to the pc), then in the itune a message appear that mentioned It is need to restore, when I pressed restore it told me are you sure you want to update and restore, I pressed yes.
Now the iphone updated, BUT nothing remain on my iPhone.
How I can restore my files, there was hundred of pictures, all my emails and files, many good programs, .... etc
what I do please help?
Thank you
JamalHow do I view my Photo Stream?
On your iPhone, iPad or iPod touch, your photos will appear in the Photos app. If you're using iOS 6 or later, you can find your photos by tapping the Photo Stream tab and then tapping the My Photo Stream album. In iOS 5, your photos are in the Photo Stream album.
On your Mac, they appear in the Photo Stream view in iPhoto or Aperture. In iPhoto 9.4 or later or in Aperture 3.4 or later, open the My Photo Stream album in the Photo Stream view.
On a PC, your photos download to the My Photo Stream (Download) folder. By default, this folder is located at C:\Users\\Pictures\Photo Stream\My Photo Stream. You can change this location by visiting Photo Stream Options in the iCloud Control Panel for Windows.
On Apple TV, your photos will appear in the Photo Stream (or My Photo Stream) view under Internet in the main Apple TV menu after you sign in with your iCloud account. -
URGENT! Need help to portalize a Strut JSP App for Portal!
Hi,
I have create a little application using Strut ADF. This application only have one page. Can someone tell me how to portalize this in order to deployed it in Portal. I have create my DataSource in OEM and the only thing left is to portalize this jsp.
I have read the "How to create a Struts Portlet" but I don't understand it.
Please help me deployed this app to Portal. Is there any tutorial about this?
Thank you!try this article
http://portalstudio.oracle.com/pls/ops/docs/FOLDER/COMMUNITY/PDK/articles/pdkstruts/portletize-your-app.html
You will also need to download the relevant tag library for the pdk-struts extensions.
You can also download the java portlet wizard as an add-in for jdeveloper. This makes the creation of the files (for example provider.xml) required by portal easier. -
It's very urgent i need help in smartforms
I need your help for smartforms. I created a smartforms in SD for getting quotations. My problem is that when I run da report it is not executing & if i run smartforms it is giving error in da functional module as - In program "/1BCDWB/SAPLSF00000003 ", the following syntax error occurred:
"The data object "I_HEADER" does not have a component called "BNAME"."
and more over i need a code for my my user tht when i execute this form before displaying print or printpreview i should give a popup window asking da user whether to display item code or not then i should get da print or printpreview. when the user needs item code he can print as well if he don't it should not display. this da code i return in se38 editor. In smartforms i wrote code for getting company address etc. I did not write anything in initialization.
source code
*& Application : Sales & Distribution (SD)
*& Description : This report will Print Sales Order Confirmation Using Smartform
*& Transaction Code :
*& Area Menu Code : ZSD
*& Layout : ZSDORDERCONF
*& Dev.Complited On :
REPORT ZSDR0004.
INCLUDE: ZSDI0003.
S U B R O U T I N E S *
FORM ENTRY USING RETURN_CODE TYPE I
US_SCREEN TYPE C.
CLEAR RETCODE.
XSCREEN = US_SCREEN.
PERFORM PROCESSING.
IF RETCODE NE 0.
RETURN_CODE = 1.
ELSE.
RETURN_CODE = 0.
ENDIF.
ENDFORM. "ENTRY
FORM PROCESSING *
FORM PROCESSING.
PERFORM GET_DATA.
CHECK RETCODE = 0.
PERFORM PRINT_DATA.
CHECK RETCODE = 0.
ENDFORM. "PROCESSING
FORM CHECK_REPEAT *
A text is printed, if it is a repeat print for the document. *
FORM CHECK_REPEAT.
CLEAR REPEAT.
SELECT * INTO *NAST FROM NAST WHERE KAPPL = NAST-KAPPL
AND OBJKY = NAST-OBJKY
AND KSCHL = NAST-KSCHL
AND SPRAS = NAST-SPRAS
AND PARNR = NAST-PARNR
AND PARVW = NAST-PARVW
AND NACHA BETWEEN '1' AND '4'.
CHECK *NAST-VSTAT = '1'.
REPEAT = 'X'.
EXIT.
ENDSELECT.
ENDFORM. "CHECK_REPEAT
FORM GET_DATA *
General provision of data for the form *
FORM GET_DATA.
DATA: US_VEDA_VBELN LIKE VEDA-VBELN.
DATA: US_VEDA_POSNR_LOW LIKE VEDA-VPOSN.
DATA: DA_MESS LIKE VBFS OCCURS 0 WITH HEADER LINE.
DATA: DA_SUBRC LIKE SY-SUBRC,
DA_DRAGR LIKE TVAG-DRAGR.
DATA: DA_GANF(1) TYPE C, "Print flag for billing correction
DA_LANF(1) TYPE C. "Print flag for billing correction
CALL FUNCTION 'RV_PRICE_PRINT_GET_MODE'
IMPORTING
E_PRINT_MODE = PRICE_PRINT_MODE.
IF PRICE_PRINT_MODE EQ CHARA.
CALL FUNCTION 'RV_PRICE_PRINT_REFRESH'
TABLES
TKOMV = TKOMV.
ENDIF.
CLEAR KOMK.
CLEAR KOMP.
VBCO3-MANDT = SY-MANDT.
VBCO3-SPRAS = NAST-SPRAS.
VBCO3-VBELN = NAST-OBJKY.
VBCO3-KUNDE = NAST-PARNR.
VBCO3-PARVW = NAST-PARVW.
CALL FUNCTION 'RV_DOCUMENT_PRINT_VIEW'
EXPORTING
COMWA = VBCO3
IMPORTING
KOPF = VBDKA
TABLES
POS = TVBDPA
MESS = DA_MESS
EXCEPTIONS
FEHLER_BEI_DATENBESCHAFFUNG = 1.
IF SY-SUBRC NE 0.
PERFORM PROTOCOL_UPDATE.
RETCODE = 1.
EXIT.
ELSE.
LOOP AT DA_MESS.
SY-MSGID = DA_MESS-MSGID.
SY-MSGNO = DA_MESS-MSGNO.
SY-MSGTY = DA_MESS-MSGTY.
SY-MSGV1 = DA_MESS-MSGV1.
SY-MSGV2 = DA_MESS-MSGV2.
SY-MSGV3 = DA_MESS-MSGV3.
SY-MSGV4 = DA_MESS-MSGV4.
PERFORM PROTOCOL_UPDATE.
ENDLOOP.
ENDIF.
*Get Header Data In I_HEADER Table.
SELECT VBAKVBELN VBAKAUDAT VBAKKUNNR VBAKWAERK
VBAKVKORG VBAKANGDT VBAKBNDDT VBAKVBTYP
VBAKKNUMV VBAKKALSM VBAKNETWR VBAKVKBUR
VBAKBNAME VBKDBSTKD VBKDBSTDK VBKDINCO1
VBKDINCO2 VBKDZTERM
INTO CORRESPONDING FIELDS OF TABLE I_HEADER
FROM VBAK
JOIN VBKD ON VBKDVBELN = VBAKVBELN
WHERE VBAK~VBELN = VBCO3-VBELN.
**Get Address Number For Company
IF NOT I_HEADER[] IS INITIAL.
READ TABLE I_HEADER INDEX 1.
SELECT SINGLE BUKRS ADRNR INTO (COMPCD, ADDCOMP)
FROM TVKO
WHERE VKORG = I_HEADER-VKORG.
ENDIF.
fill address key --> necessary for emails
ADDR_KEY-ADDRNUMBER = VBDKA-ADRNR.
ADDR_KEY-PERSNUMBER = VBDKA-ADRNP.
ADDR_KEY-ADDR_TYPE = VBDKA-ADDRESS_TYPE.
Fetch servicecontract-data and notice-data for head and position.
US_VEDA_VBELN = VBDKA-VBELN.
US_VEDA_POSNR_LOW = POSNR_LOW.
CALL FUNCTION 'SD_VEDA_GET_PRINT_DATA'
EXPORTING
I_DOCUMENT_NUMBER = US_VEDA_VBELN
I_LANGUAGE = SY-LANGU
I_POSNR_LOW = US_VEDA_POSNR_LOW
TABLES
PRINT_DATA_POS = TKOMSERVP
PRINT_DATA_HEAD = TKOMSERVH
PRINT_NOTICE_POS = TKOMSERVPN
PRINT_NOTICE_HEAD = TKOMSERVHN.
PERFORM GET_CONTROLL_DATA.
PERFORM SENDER.
PERFORM CHECK_REPEAT.
LOOP AT TVBDPA.
VBDPA = TVBDPA.
IF VBDPA-DRAGR EQ SPACE. "Print rejected item?
IF VBDPA-POSNR_NEU NE SPACE. "Item
PERFORM GET_ITEM_SERIALS.
PERFORM GET_ITEM_CHARACTERISTICS.
PERFORM GET_ITEM_BILLING_SCHEDULES.
PERFORM GET_ITEM_PRICES.
PERFORM GET_ITEM_ADDIS.
ENDIF.
ENDIF.
ENDLOOP.
ENDFORM. "GET_DATA
FORM GET_ITEM_BILLING_SCHEDULES *
In this routine the billing schedules are fetched from the *
database. *
FORM GET_ITEM_BILLING_SCHEDULES.
REFRESH TFPLTDR.
CHECK NOT VBDPA-FPLNR IS INITIAL.
CALL FUNCTION 'BILLING_SCHED_PRINTVIEW_READ'
EXPORTING
I_FPLNR = VBDPA-FPLNR
I_LANGUAGE = NAST-SPRAS
I_VBELN = VBDKA-VBELN
TABLES
ZFPLTDR = TFPLTDR.
ENDFORM. "GET_ITEM_BILLING_SCHEDULES
*& FORM GET_ITEM_ADDIS
Additionals data are fetched from database
FORM GET_ITEM_ADDIS.
CLEAR: TADDI_PRINT.
CALL FUNCTION 'WTAD_ADDIS_IN_SO_PRINT'
EXPORTING
FI_VBELN = VBDKA-VBELN
FI_POSNR = VBDPA-POSNR
FI_LANGUAGE = SY-LANGU
TABLES
FET_ADDIS_IN_SO_PRINT = TADDI_PRINT
EXCEPTIONS
ADDIS_NOT_ACTIVE = 1
NO_ADDIS_FOR_SO_ITEM = 2
OTHERS = 3.
ENDFORM. " GET_ITEM_ADDIS
FORM GET_ITEM_CHARACTERISTICS *
In this routine the configuration data item is fetched from *
the database. *
FORM GET_ITEM_CHARACTERISTICS.
DATA DA_T_CABN LIKE CABN OCCURS 10 WITH HEADER LINE.
DATA: BEGIN OF DA_KEY,
MANDT LIKE CABN-MANDT,
ATINN LIKE CABN-ATINN,
END OF DA_KEY.
REFRESH TKOMCON.
CHECK NOT VBDPA-CUOBJ IS INITIAL AND
VBDPA-ATTYP NE VAR_TYP.
CALL FUNCTION 'VC_I_GET_CONFIGURATION'
EXPORTING
INSTANCE = VBDPA-CUOBJ
LANGUAGE = NAST-SPRAS
PRINT_SALES = CHARX
TABLES
CONFIGURATION = TKOMCON
EXCEPTIONS
OTHERS = 4.
RANGES : DA_IN_CABN FOR DA_T_CABN-ATINN.
Beschreibung der Merkmale wegen Objektmerkmalen auf sdcom-vkond holen
CLEAR DA_IN_CABN. REFRESH DA_IN_CABN.
LOOP AT TKOMCON.
DA_IN_CABN-OPTION = 'EQ'.
DA_IN_CABN-SIGN = 'I'.
DA_IN_CABN-LOW = TKOMCON-ATINN.
APPEND DA_IN_CABN.
ENDLOOP.
CLEAR DA_T_CABN. REFRESH DA_T_CABN.
CALL FUNCTION 'CLSE_SELECT_CABN'
EXPORTING
KEY_DATE = SY-DATUM
BYPASSING_BUFFER = ' '
WITH_PREPARED_PATTERN = ' '
I_AENNR = ' '
IMPORTING
AMBIGUOUS_OBJ_CHARACTERISTIC =
TABLES
IN_CABN = DA_IN_CABN
T_CABN = DA_T_CABN
EXCEPTIONS
NO_ENTRY_FOUND = 1
OTHERS = 2.
Preisfindungsmerkmale / Merkmale auf VCSD_UPDATE herausnehmen
SORT DA_T_CABN.
LOOP AT TKOMCON.
DA_KEY-MANDT = SY-MANDT.
DA_KEY-ATINN = TKOMCON-ATINN.
READ TABLE DA_T_CABN WITH KEY DA_KEY BINARY SEARCH.
IF SY-SUBRC <> 0 OR
( ( DA_T_CABN-ATTAB = 'SDCOM' AND
DA_T_CABN-ATFEL = 'VKOND' ) OR
( DA_T_CABN-ATTAB = 'VCSD_UPDATE' ) ) .
DELETE TKOMCON.
ENDIF.
ENDLOOP.
ENDFORM. "GET_ITEM_CHARACTERISTICS
FORM GET_ITEM_PRICES *
In this routine the price data for the item is fetched from *
the database. *
FORM GET_ITEM_PRICES.
CLEAR: KOMP,
TKOMV.
IF KOMK-KNUMV NE VBDKA-KNUMV OR
KOMK-KNUMV IS INITIAL.
CLEAR KOMK.
KOMK-MANDT = SY-MANDT.
KOMK-KALSM = VBDKA-KALSM.
KOMK-KAPPL = PR_KAPPL.
KOMK-WAERK = VBDKA-WAERK.
KOMK-KNUMV = VBDKA-KNUMV.
KOMK-KNUMA = VBDKA-KNUMA.
KOMK-VBTYP = VBDKA-VBTYP.
KOMK-LAND1 = VBDKA-LAND1.
KOMK-VKORG = VBDKA-VKORG.
KOMK-VTWEG = VBDKA-VTWEG.
KOMK-SPART = VBDKA-SPART.
KOMK-BUKRS = VBDKA-BUKRS_VF.
KOMK-HWAER = VBDKA-WAERS.
KOMK-PRSDT = VBDKA-ERDAT.
KOMK-KURST = VBDKA-KURST.
KOMK-KURRF = VBDKA-KURRF.
KOMK-KURRF_DAT = VBDKA-KURRF_DAT.
ENDIF.
KOMP-KPOSN = VBDPA-POSNR.
KOMP-KURSK = VBDPA-KURSK.
KOMP-KURSK_DAT = VBDPA-KURSK_DAT.
if vbdka-vbtyp ca 'HKNOT6'.
if vbdpa-shkzg ca ' A'.
komp-shkzg = 'X'.
endif.
else.
if vbdpa-shkzg ca 'BX'.
komp-shkzg = 'X'.
endif.
endif.
IF PRICE_PRINT_MODE EQ CHARA.
CALL FUNCTION 'RV_PRICE_PRINT_ITEM'
EXPORTING
COMM_HEAD_I = KOMK
COMM_ITEM_I = KOMP
LANGUAGE = NAST-SPRAS
IMPORTING
COMM_HEAD_E = KOMK
COMM_ITEM_E = KOMP
TABLES
TKOMV = TKOMV
TKOMVD = TKOMVD.
ELSE.
CALL FUNCTION 'RV_PRICE_PRINT_ITEM_BUFFER'
EXPORTING
COMM_HEAD_I = KOMK
COMM_ITEM_I = KOMP
LANGUAGE = NAST-SPRAS
IMPORTING
COMM_HEAD_E = KOMK
COMM_ITEM_E = KOMP
TABLES
TKOMV = TKOMV
TKOMVD = TKOMVD.
ENDIF.
ENDFORM. "GET_ITEM_PRICES
FORM GET_HEADER_PRICES *
In this routine the price data for the header is fetched from *
the database. *
FORM GET_HEADER_PRICES.
LOOP AT TVBDPA.
CALL FUNCTION 'SD_TAX_CODE_MAINTAIN'
EXPORTING
KEY_KNUMV = VBDKA-KNUMV
KEY_KPOSN = TVBDPA-POSNR
I_APPLICATION = ' '
I_PRICING_PROCEDURE = VBDKA-KALSM
TABLES
XKOMV = TKOMV.
ENDLOOP.
IF PRICE_PRINT_MODE EQ CHARA.
CALL FUNCTION 'RV_PRICE_PRINT_HEAD'
EXPORTING
COMM_HEAD_I = KOMK
LANGUAGE = NAST-SPRAS
IMPORTING
COMM_HEAD_E = KOMK
TABLES
TKOMV = TKOMV
TKOMVD = TKOMVD.
ELSE.
CALL FUNCTION 'RV_PRICE_PRINT_HEAD_BUFFER'
EXPORTING
COMM_HEAD_I = KOMK
LANGUAGE = NAST-SPRAS
IMPORTING
COMM_HEAD_E = KOMK
TABLES
TKOMV = TKOMV
TKOMVD = TKOMVD.
ENDIF.
ENDFORM. "GET_HEADER_PRICES
FORM PRINT_DATA *
Print Quotation *
FORM PRINT_DATA.
DATA: ls_control TYPE ssfctrlop.
data: OUTPUT_OPTIONS TYPE SSFCOMPOP,cf_retcode type sy-subrc.
DATA: ls_print_data_to_read TYPE lbbil_print_data_to_read.
DATA: ls_addr_key LIKE addr_key.
DATA: ls_dlv-land LIKE vbrk-land1.
DATA: ls_job_info TYPE ssfcrescl.
DATA: ls_control_param TYPE ssfctrlop.
DATA: ls_composer_param TYPE ssfcompop.
DATA: ls_recipient TYPE swotobjid.
DATA: ls_sender TYPE swotobjid.
DATA: NAST_ANZAL LIKE NAST-ANZAL. "Number of outputs (Orig. + Cop.)
DATA: NAST_TDARMOD LIKE NAST-TDARMOD. "Archiving only one time
DATA: ls_bil_invoice TYPE lbbil_invoice.
SELECT SINGLE SFORM INTO LF_FORMNAME
FROM TNAPR
WHERE KSCHL = NAST-KSCHL
AND NACHA = NAST-NACHA.
*IF NAST-KSCHL = 'ZORD'.
lf_formname = 'ZSDORDERCONF'.
*ELSEIF NAST-KSCHL = 'ZOR1'.
lf_formname = 'ZSDORDERCONF'.
*ELSEIF NAST-KSCHL = 'ZOR2'.
lf_formname = 'ZCSORDERCONF'.
ENDIF.
determine smartform function module for invoice
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
formname = lf_formname
IMPORTING
fm_name = lf_fm_name
EXCEPTIONS
no_form = 1
no_function_module = 2
OTHERS = 3.
IF sy-subrc <> 0.
ENDIF.
READ TABLE I_HEADER INDEX 1.
ls_controL-no_dialog = 'X'.
if sy-ucomm = 'VIEW'.
LS_CONTROL-PREVIEW = 'X'.
endif.
CALL FUNCTION LF_FM_NAME
EXPORTING
control_parameters = ls_control
OUTPUT_OPTIONS = OUTPUT_OPTIONS
SO_VBELN = I_HEADER-VBELN
SO_AUDAT = I_HEADER-AUDAT
SO_REPEAT = REPEAT
SO_TYPE = I_HEADER-VBTYP
SO_CADD = ADDCOMP
SO_CCODE = COMPCD
TABLES
I_HEADER = I_HEADER
TKOMV = TKOMV
I_ITEM = TVBDPA
I_XDATA = I_XDATA
EXCEPTIONS
FORMATTING_ERROR = 1
INTERNAL_ERROR = 2
SEND_ERROR = 3
USER_CANCELED = 4
OTHERS = 5.
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. "PRINT_DATA
FORM PROTOCOL_UPDATE *
The messages are collected for the processing protocol. *
FORM PROTOCOL_UPDATE.
CHECK XSCREEN = SPACE.
CALL FUNCTION 'NAST_PROTOCOL_UPDATE'
EXPORTING
MSG_ARBGB = SYST-MSGID
MSG_NR = SYST-MSGNO
MSG_TY = SYST-MSGTY
MSG_V1 = SYST-MSGV1
MSG_V2 = SYST-MSGV2
MSG_V3 = SYST-MSGV3
MSG_V4 = SYST-MSGV4
EXCEPTIONS
OTHERS = 1.
ENDFORM. "PROTOCOL_UPDATE
FORM SENDER *
This routine determines the address of the sender (Table VKO) *
FORM SENDER.
SELECT SINGLE * FROM TVKO WHERE VKORG = VBDKA-VKORG.
IF SY-SUBRC NE 0.
SYST-MSGID = 'VN'.
SYST-MSGNO = '203'.
SYST-MSGTY = 'E'.
SYST-MSGV1 = 'TVKO'.
SYST-MSGV2 = SYST-SUBRC.
PERFORM PROTOCOL_UPDATE.
EXIT.
ENDIF.
CLEAR GV_FB_ADDR_GET_SELECTION.
GV_FB_ADDR_GET_SELECTION-ADDRNUMBER = TVKO-ADRNR. "SADR40A
CALL FUNCTION 'ADDR_GET'
EXPORTING
ADDRESS_SELECTION = GV_FB_ADDR_GET_SELECTION
ADDRESS_GROUP = 'CA01'
IMPORTING
SADR = SADR
EXCEPTIONS
OTHERS = 01.
IF SY-SUBRC NE 0.
CLEAR SADR.
ENDIF. "SADR40A
VBDKA-SLAND = SADR-LAND1.
IF SY-SUBRC NE 0.
SYST-MSGID = 'VN'.
SYST-MSGNO = '203'.
SYST-MSGTY = 'E'.
SYST-MSGV1 = 'SADR'.
SYST-MSGV2 = SYST-SUBRC.
PERFORM PROTOCOL_UPDATE.
ENDIF.
SELECT SINGLE * FROM TVBUR WHERE VKBUR = VBDKA-VKBUR.
IF SY-SUBRC NE 0.
SYST-MSGID = 'VN'.
SYST-MSGNO = '203'.
SYST-MSGTY = 'E'.
SYST-MSGV1 = 'TVBUR'.
SYST-MSGV2 = SYST-SUBRC.
PERFORM PROTOCOL_UPDATE.
ENDIF.
ENDFORM. "SENDER
*& Form GET_ITEM_SERIALS
This routine give back the serialnumbers of salesdocument *
position. The numbers are processed as print-lines in the *
table KOMSER_PRINT. *
--> US_VBELN Salesdocument
--> US_POSNR Position of the salesdocument
FORM GET_ITEM_SERIALS.
DATA: KEY_DATA LIKE RSEROB,
SERNOS LIKE RSEROB OCCURS 0 WITH HEADER LINE.
KEY_DATA-TASER = 'SER02'.
KEY_DATA-SDAUFNR = VBDKA-VBELN.
KEY_DATA-POSNR = VBDPA-POSNR.
IF KEY_DATA-SDAUFNR IS INITIAL AND NOT
KEY_DATA-POSNR IS INITIAL.
beim Anlegen ist Belegnummer leer - deshalb Dummy-Belegnummer
KEY_DATA-SDAUFNR = CHAR$.
ENDIF.
Read the Serialnumbers of a Position.
REFRESH: TKOMSER,
TKOMSER_PRINT.
CALL FUNCTION 'GET_SERNOS_OF_DOCUMENT'
EXPORTING
KEY_DATA = KEY_DATA
TABLES
SERNOS = SERNOS
EXCEPTIONS
KEY_PARAMETER_ERROR = 1
NO_SUPPORTED_ACCESS = 2
NO_DATA_FOUND = 3
OTHERS = 4.
IF SY-SUBRC NE 0 AND
SY-SUBRC NE 3.
PERFORM PROTOCOL_UPDATE.
ENDIF.
CHECK SY-SUBRC EQ 0.
Serialnummern übergeben
TKOMSER-VBELN = SERNOS-SDAUFNR.
TKOMSER-POSNR = SERNOS-POSNR.
LOOP AT SERNOS.
TKOMSER-SERNR = SERNOS-SERNR.
APPEND TKOMSER.
ENDLOOP.
Process the stringtable for Printing.
CALL FUNCTION 'PROCESS_SERIALS_FOR_PRINT'
EXPORTING
I_BOUNDARY_LEFT = '(_'
I_BOUNDARY_RIGHT = '_)'
I_SEP_CHAR_STRINGS = ',_'
I_SEP_CHAR_INTERVAL = '_-_'
I_USE_INTERVAL = 'X'
I_BOUNDARY_METHOD = 'C'
I_LINE_LENGTH = 50
I_NO_ZERO = 'X'
I_ALPHABET = SY-ABCDE
I_DIGITS = '0123456789'
I_SPECIAL_CHARS = '-'
I_WITH_SECOND_DIGIT = ' '
TABLES
SERIALS = TKOMSER
SERIALS_PRINT = TKOMSER_PRINT
EXCEPTIONS
BOUNDARY_MISSING = 01
INTERVAL_SEPARATION_MISSING = 02
LENGTH_TO_SMALL = 03
INTERNAL_ERROR = 04
WRONG_METHOD = 05
WRONG_SERIAL = 06
TWO_EQUAL_SERIALS = 07
SERIAL_WITH_WRONG_CHAR = 08
SERIAL_SEPARATION_MISSING = 09.
IF SY-SUBRC NE 0.
PERFORM PROTOCOL_UPDATE.
ENDIF.
ENDFORM. " GET_ITEM_SERIALS
*eject
*& Form GET_CONTROLL_DATA
Checks if servicedata for the header exists. *
Checks if servicedata for the position exists. *
Checks if noticedata for the header exists. *
Checks if noticedata for the position exists. *
FORM GET_CONTROLL_DATA.
DATA: LINES TYPE I.
Exists servicedata for the header?
DESCRIBE TABLE TKOMSERVH LINES LINES.
IF LINES GT 0.
STEU-VDKEX = 'X'.
ENDIF.
Exists servicedata for the position?
DESCRIBE TABLE TKOMSERVP LINES LINES.
IF LINES GT 0.
STEU-VDPEX = 'X'.
ENDIF.
Exists noticedata for the header?
DESCRIBE TABLE TKOMSERVHN LINES LINES.
IF LINES GT 0.
STEU-KBKEX = 'X'.
ENDIF.
Exists noticedata for the position?
DESCRIBE TABLE TKOMSERVPN LINES LINES.
IF LINES GT 0.
STEU-KBPEX = 'X'.
ENDIF.
ENDFORM. " GET_CONTROLL_DATA
*eject
*& Form get_fax_land
text
-->P_NAST_TLAND text
form get_fax_land using p_nast_land like nast-tland.
DATA L_land like nast-tland .
clear L_land.
IF NOT addr_key-addrnumber IS INITIAL.
CALL FUNCTION 'WFMC_FAXNUMBER_FOR_ADDRESS'
EXPORTING
adrnr = addr_key-addrnumber
IMPORTING
tland = L_land
EXCEPTIONS
addr_not_exist = 1
OTHERS = 2.
IF sy-subrc = 0 AND NOT L_land IS INITIAL.
p_nast_land = L_land.
ENDIF.
ENDIF.
endform. " get_fax_land
*& Form get_data1
text
-->P_LS_PRINT_DATA_TO_READ text
<--P_LS_ADDR_KEY text
<--P_LS_DLV_LAND text
<--P_LS_BIL_INVOICE text
<--P_CF_RETCODE text
FORM get_data1
USING IS_PRINT_DATA_TO_READ TYPE LBBIL_PRINT_DATA_TO_READ
CHANGING CS_ADDR_KEY LIKE ADDR_KEY
CS_DLV-LAND LIKE VBRK-LAND1
CS_BIL_INVOICE TYPE LBBIL_INVOICE
CF_RETCODE.
IF NAST-OBJKY+10 NE SPACE.
NAST-OBJKY = NAST-OBJKY+16(10).
ELSE.
NAST-OBJKY = NAST-OBJKY.
ENDIF.
read print data
CALL FUNCTION 'LB_BIL_INV_OUTP_READ_PRTDATA'
EXPORTING
IF_BIL_NUMBER = NAST-OBJKY
IF_PARVW = NAST-PARVW
IF_PARNR = NAST-PARNR
IF_LANGUAGE = NAST-SPRAS
IS_PRINT_DATA_TO_READ = IS_PRINT_DATA_TO_READ
IMPORTING
ES_BIL_INVOICE = CS_BIL_INVOICE
EXCEPTIONS
RECORDS_NOT_FOUND = 1
RECORDS_NOT_REQUESTED = 2
OTHERS = 3.
IF SY-SUBRC <> 0.
error handling
CF_RETCODE = SY-SUBRC.
PERFORM PROTOCOL_UPDATE.
ENDIF.
get nast partner adress for communication strategy
PERFORM GET_ADDR_KEY USING CS_BIL_INVOICE-HD_ADR
CHANGING CS_ADDR_KEY.
get delivery land
PERFORM GET_DLV-LAND USING CS_BIL_INVOICE-HD_GEN
CHANGING CS_DLV-LAND.
ENDFORM. " get_data1
*& Form GET_ADDR_KEY
text
-->P_CS_BIL_INVOICE_HD_ADR text
<--P_CS_ADDR_KEY text
FORM GET_ADDR_KEY USING IT_HD_ADR TYPE LBBIL_INVOICE-HD_ADR
CHANGING CS_ADDR_KEY LIKE ADDR_KEY.
FIELD-SYMBOLS -ADDRESS_TYPE.
ENDIF.
ENDFORM. " GET_ADDR_KEY
*& Form GET_DLV-LAND
text
-->P_CS_BIL_INVOICE_HD_GEN text
<--P_CS_DLV_LAND text
FORM GET_DLV-LAND USING IT_HD_GEN TYPE LBBIL_INVOICE-HD_GEN
CHANGING CS_DLV-LAND LIKE VBRK-LAND1.
CS_DLV-LAND = IT_HD_GEN-DLV_LAND.
ENDFORM. " GET_DLV-LAND
*& Form set_print_data_to_read
text
-->P_LF_FORMNAME text
<--P_LS_PRINT_DATA_TO_READ text
<--P_CF_RETCODE text
FORM set_print_data_to_read USING IF_FORMNAME LIKE TNAPR-SFORM
CHANGING CS_PRINT_DATA_TO_READ TYPE LBBIL_PRINT_DATA_TO_READ
CF_RETCODE.
FIELD-SYMBOLS: TYPE XFELD.
DATA: LT_FIELDLIST TYPE TSFFIELDS.
set print data requirements
DO.
ASSIGN COMPONENT SY-INDEX OF STRUCTURE
CS_PRINT_DATA_TO_READ TO = 'X'.
ENDDO.
CALL FUNCTION 'SSF_FIELD_LIST'
EXPORTING
FORMNAME = IF_FORMNAME
VARIANT = ' '
IMPORTING
FIELDLIST = LT_FIELDLIST
EXCEPTIONS
NO_FORM = 1
NO_FUNCTION_MODULE = 2
OTHERS = 3.
IF SY-SUBRC <> 0.
error handling
CF_RETCODE = SY-SUBRC.
PERFORM PROTOCOL_UPDATE.
ENDIF.
ENDFORM. " set_print_data_to_read
*& Form set_print_param
text
-->P_LS_ADDR_KEY text
-->P_LS_DLV_LAND text
<--P_LS_CONTROL_PARAM text
<--P_LS_COMPOSER_PARAM text
<--P_LS_RECIPIENT text
<--P_LS_SENDER text
<--P_CF_RETCODE text
FORM set_print_param using IS_ADDR_KEY LIKE ADDR_KEY
IS_DLV-LAND LIKE VBRK-LAND1
CHANGING CS_CONTROL_PARAM TYPE SSFCTRLOP
CS_COMPOSER_PARAM TYPE SSFCOMPOP
CS_RECIPIENT TYPE SWOTOBJID
CS_SENDER TYPE SWOTOBJID
CF_RETCODE TYPE SY-SUBRC.
DATA: LS_ITCPO TYPE ITCPO.
DATA: LF_REPID TYPE SY-REPID.
DATA: LF_DEVICE TYPE TDDEVICE.
DATA: LS_RECIPIENT TYPE SWOTOBJID.
DATA: LS_SENDER TYPE SWOTOBJID.
LF_REPID = SY-REPID.
CALL FUNCTION 'WFMC_PREPARE_SMART_FORM'
EXPORTING
PI_NAST = NAST
PI_COUNTRY = IS_DLV-LAND
PI_ADDR_KEY = IS_ADDR_KEY
PI_REPID = LF_REPID
PI_SCREEN = XSCREEN
IMPORTING
PE_RETURNCODE = CF_RETCODE
PE_ITCPO = LS_ITCPO
PE_DEVICE = LF_DEVICE
PE_RECIPIENT = CS_RECIPIENT
PE_SENDER = CS_SENDER.
IF CF_RETCODE = 0.
MOVE-CORRESPONDING LS_ITCPO TO CS_COMPOSER_PARAM.
CS_CONTROL_PARAM-NO_OPEN
CS_CONTROL_PARAM-NO_CLOSE
CS_CONTROL_PARAM-DEVICE = LF_DEVICE.
CS_CONTROL_PARAM-NO_DIALOG = 'X'.
CS_CONTROL_PARAM-PREVIEW = XSCREEN.
CS_CONTROL_PARAM-GETOTF = LS_ITCPO-TDGETOTF.
CS_CONTROL_PARAM-LANGU = NAST-SPRAS.
CS_CONTROL_PARAM-REPLANGU1
CS_CONTROL_PARAM-REPLANGU2
CS_CONTROL_PARAM-REPLANGU3
CS_CONTROL_PARAM-STARTPAGE
ENDIF.
ENDFORM. " set_print_param
*& Form add_smfrm_prot
text
--> p1 text
<-- p2 text
FORM add_smfrm_prot .
DATA: LT_ERRORTAB TYPE TSFERROR.
DATA: LF_MSGNR TYPE SY-MSGNO.
FIELD-SYMBOLS: TYPE LINE OF TSFERROR.
get smart form protocoll
CALL FUNCTION 'SSF_READ_ERRORS'
IMPORTING
ERRORTAB = LT_ERRORTAB.
add smartform protocoll to nast protocoll
LOOP AT LT_ERRORTAB ASSIGNING .
CLEAR LF_MSGNR.
LF_MSGNR = <FS_ERRORTAB>-ERRNUMBER.
CALL FUNCTION 'NAST_PROTOCOL_UPDATE'
EXPORTING
MSG_ARBGB = -MSGID
MSG_NR = LF_MSGNR
MSG_NR = -MSGV4
EXCEPTIONS
OTHERS = 1.
ENDLOOP.
ENDFORM. " add_smfrm_prot
*& Form protocol_update_spool
text
-->P_1115 text
-->P_LS_SPOOLID text
-->P_SPACE text
-->P_SPACE text
-->P_SPACE text
FORM protocol_update_spool USING SYST_MSGNO
P_LS_SPOOLID
P_SPACE1
P_SPACE2
P_SPACE3.
syst-msgid = 'VN'.
syst-msgno = syst_msgno.
syst-msgv1 = p_ls_spoolid.
CONDENSE syst-msgv1.
CHECK xscreen = space.
CALL FUNCTION 'NAST_PROTOCOL_UPDATE'
EXPORTING
msg_arbgb = syst-msgid
msg_nr = syst-msgno
msg_ty = syst-msgty
msg_v1 = syst-msgv1
msg_v2 = p_space1
msg_v3 = p_space2
msg_v4 = p_space3
EXCEPTIONS
OTHERS = 1.
ENDFORM. " protocol_update_spool
This is Include ZSDI0003
*& Include ZSDI0003
TABLES: KOMK, "Communicationarea for conditions
KOMP, "Communicationarea for conditions
KOMVD, "Communicationarea for conditions
VBCO3, "Communicationarea for view
VBDKA, "Headerview
VBDPA, "Itemview
VBDPAU, "Subitemnumbers
CONF_OUT, "Configuration data
SADR, "Addresses
TVAG, "Reason for rejection
VEDKA, "Servicecontract head data
VEDPA, "Servicecontract position data
VEDKN, "Servicecontract head notice data
VEDPN, "Servicecontract pos. notice data
RISERLS, "Serialnumbers
KOMSER, "Serialnumbers for print
TVBUR, "Sales office
TVKO, "Sales organisation
ADRS, "Communicationarea for Address
FPLTDR, "billing schedules
WTAD_ADDIS_IN_SO_PRINT, "additional
WTAD_BUYING_PRINT_EXTRA_TEXT, "texts belonging to additional
VBAK, "Sales Document Header
VBAP, "Sales Document Item
VBPA, "Sales Document: Partner
T001, "Company codes
MAST, "Material to BOM Link
STKO. "BOM Header
INCLUDE RVADTABL.
INCLUDE RVDIREKT.
INCLUDE VEDADATA.
data for access to central address maintenance
INCLUDE SDZAVDAT.
TYPE-POOLS: ADDI.
DATA PRICE_PRINT_MODE(1) TYPE C. "Print-mode
DATA: RETCODE LIKE SY-SUBRC. "Returncode
DATA: REPEAT(1) TYPE C.
DATA: XSCREEN(1) TYPE C. "Output on printer or screen
DATA: BEGIN OF STEU, "Controldata for output
VDKEX(1) TYPE C,
VDPEX(1) TYPE C,
KBKEX(1) TYPE C,
KBPEX(1) TYPE C,
1) you shouldn't have to do anything with the properties file written for a specific Locale.
2) check this out: http://java.sun.com/j2se/1.4/docs/guide/intl/encoding.doc.html
3) BIG5 is BIG5 everywhere.
4) don't know about this one
5,6,7) If you have Windows 98 Chinese Edition, you can probably switch back and forth between English and Chinese -- just put the Chinese characters in a string much like the normal characters. Otherwise, you'll have to enter the Unicode char.
V.V. -
Urgent! Need help in GUI!
Hi, I am doing a small java project and I am expected to code all the GUI I need in just one class file. Can someone help me? My GUI consists of 2 JButtons, 2 JLabels and 1 JTextField. Also I need to have ActionListener for both of the buttons all in just 1 class file. Anyone please help. It is better if you can provide me with some sample coding to view
That sounds like a very arbitrarily cooked-up requirement. Homework?
Assuming your class needs to be a component itself, simply add the buttons, labels and fields into it, typically within the constructor.
If you mean "one source file" then I would advise using an inner class as your ActionListener; you may even want two. You may like to use anonymous classes which, for instance, call methods in your outer class. All of these solutions will produce more than one class file from the single source file.
If you really do mean "one class file" then you will need your outer class to implement ActionListener and determine from the getActionCommand() or getSource() methods which of the two buttons the event emanated from. It's a less clean way of going about it, but you get your single class file.
No sample code - if you need further explanation of the above then just Google for the underlined terms. -
Urgent. Need help in the Calendar Object.
Hello developers, best regards!
Well my problem is that i'm facing a fact that i need a calendar object just like that one when u click the time down there in the taskbar, i need to embedd it in my java windows application.
To be more clear, if u're familiar with the Visual Basic.NET environment, just the kind of calendars that i need is found there, in which it displays a small box which i can select the months, and accordingly i can select the specific date i need.
Please i need your help so much.
Thank you in advance.[url http://www.google.co.uk/search?hl=en&q=jcalendar&meta=]click
-
Urgent I need help about Problem with macbook pro
The first sorry for my english,
I have a macbook pro buy it me almost one year ago, and these days me the mouse remains I want and cannot do anything have to wait a few seconds and it returns to work, and also when it puts in rest it touched all the keys and the trackpad but it does not answer, I have to close the screen and wait awhile to raise it and return to react, if someone can help me it be be to him very grateful, in addition the guarantee of hardware is ended in 8 days. thank you very muchHi leptones, and welcome to Apple Discussions.
I'm not sure if your warranty expires in 8 more days or it already expired 8 days ago? If you're still under warranty, I would definitely call AppleCare or go to an Apple Store or AASP; they can troubleshoot it and determine if it's something that needs fixing while you're still under warranty (if you are). -
About the idoc(DEBMAS) inbound, contact info, need help!
Hi everyone,
we have SAP and SIEBEL system, and crate/update customer info(or say account) at SIEBEL first, then send account info to SAP via IDOC, message type is DEBMAS06.
Now there is a bug. create/update contact info at siebel, it always create new contact at SAP when inbound to SAP system.
Is there anyone can give me any advice about how to fix this bug?
Thanks & best regards.Hi Sir,
First thanks very much for your reply.
I known the MSGFN field, segment E1KNVKM(contact info) has MSGFN field too. but there is a still some issues. I found you must pass the PARNR field to SAP if want to update info(If not, even I set the MSGFN as Deleted or UPDATE, it not works). PARNR is the only key for table KNVK. but you know, PARNR is created at SAP when create this contact info, I need create/update contact at SIEBEL, that's not easy to know what's the value of PARNR will be created.
Is that possible too pass PARNR value to SAP? I know a little about the SAP BASIS Setting.
Thanks again. -
URGENT! need help ASAP please!
Hi, I've created a site in Flash, put the swf file into an
html file using Dreamweaver CS3, uploaded it to my host
(123-reg.co.uk). The url is
http://www.simpson-house.org
and you can see in the source file that it's all there. The file
plays in Dreamweaver, when I test it in Browsers etc. I have all
the folders in the right places (The paths are all correct for the
links etc), but the uploaded swf will not play. I'm tearing my hair
out. Is it to do with the fact I exported the swf to use Flash
Player 9? I have Firefox 3 and Safari.
Please Help as the people who paid me to do this are
expecting it up today.
Regards
StephenIn the future, please use a subject line that gives some clue
as to the
topic. Having 500 people check this thread and realize that
it's on a topic
they aren't well-versed in doesn't help an urgent situation
at all! :-)
Patty Ayers | www.WebDevBiz.com
Free Articles on the Business of Web Development
Web Design Contract, Estimate Request Form, Estimate
Worksheet
"jollygrizzly" <[email protected]> wrote in
message
news:gbdptv$3b0$[email protected]..
> Hi, I've created a site in Flash, put the swf file into
an html file using
> Dreamweaver CS3, uploaded it to my host (123-reg.co.uk).
The url is
>
http://www.simpson-house.org
and you can see in the source file that it's
> all
> there. The file plays in Dreamweaver, when I test it in
Browsers etc. I
> have
> all the folders in the right places (The paths are all
correct for the
> links
> etc), but the uploaded swf will not play. I'm tearing my
hair out. Is it
> to
> do with the fact I exported the swf to use Flash Player
9? I have Firefox
> 3
> and Safari.
>
> Please Help as the people who paid me to do this are
expecting it up
> today.
>
> Regards
>
> Stephen
> -
Urgent please- need help to retreive all values within a range
Hi,
I need to retreive all the values(ID) within a range no matter if it is available in the database or not. I just need this in a sql query not a stored proc.
for ex:
select id, name, age
from employee
where id between (1 and 10)
It returns
id name age
1 x 22
3 y 26
4 z 23
10 c 32
I need a query which should return values as follows.
id name age
1 x 22
2
3 y 26
4 z 23
5
6
7
8
9
10 c 32
quick replies will be appreciated.This is one way of doing
select decode(id,null,lev,id),name,age from employee,(select level lev from dual
connect by level < 11)
where employee.id(+)=lev
The above will display between 1 and 10. If you want to specify some other range then the below query will do,
select decode(id,null,lev,id),name,age from employee,(select level lev from dual
connect by level <=10
minus
select level lev from dual
connect by level <5)
where employee.id(+)=lev
The above query will display between 5 and 10 -
Urgent..need help to buy a dell laptop.
I am from India.My friend is coming to Boston on next week.I want to buy Dell XPS 17 laptop.I want to know whether Dell XPS17 and XPS15 laptop is available in the shop and location of shop near to the Boston,MA,USA airport.I want to know the price of Dell XPS17 laptop with processor i5 and i7.Please anybody help me..
Here I'll help. http://www.bestbuy.com/site/olspage.jsp;jsessionid=E6742A3E6BD1FD0C354B377FDC6E0A95.bbolsp-app03-24?...
Crystal
Superuser
Forum Guidelines | Terms & Conditions | Community Guidelines | What is a Superuser?
*Remember to mark your questions solved and click the star to give kudos to show your thanks!*
While I used to be a Best Buy Employee, I no longer have any affiliation with Best Buy.
My opinions do not in any way shape or form represent Best Buy's Official decisions. -
URGENT! Need help with scrolling on a JPanel!
Hello Guys! I guess there has been many postings about this subject in the forum, but the postings I found there.... still couldn't solve my problem...
So, straight to the problem:
I am drawing some primitive graphic on a JPanel. This JPanel is then placed in a JScrollPane. When running the code, the scrollbars are showing and the graphic is painted nicely. But when I try to scroll to see the parts of the graphics not visible in the current scrollbarview, nothing else than some flickering is happening... No movement what so ever...
What on earth must I do to activate the scroll functionality on my JPanel??? Please Help!
And yes, I have tried implementing the 'Scrollable' interface... But it did not make any difference...
Code snippets:
import java.awt.*;
import java.awt.event.*;
import java.awt.image.*;
import java.awt.geom.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.tree.*;
import java.util.*;
public class FilterComp extends JPanel {//implements Scrollable {
protected DefaultMutableTreeNode root;
protected Image buffer;
protected int lastW = 0;
protected int origoX = 0;
protected final StringBuffer sb = new StringBuffer();
// protected int maxUnitIncrement = 1;
protected JScrollPane scrollpane = new JScrollPane();
* Constructor for the FilterComp object
*@param scrollpane Description of the Parameter
public FilterComp(JScrollPane scrollpane) {
super();
// setPreferredSize(new Dimension(1000, 500));
this.setBackground(Color.magenta);
// setOpaque(false);
setLayout(
new BorderLayout() {
public Dimension preferredLayoutSize(Container cont) {
return new Dimension(1000, 600);
this.scrollpane = scrollpane;
scrollpane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
scrollpane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
scrollpane.setPreferredSize( new Dimension( 500, 500 ) );
scrollpane.getViewport().add( this, null );
// scrollpane.getViewport().setScrollMode(JViewport.SIMPLE_SCROLL_MODE);
repaint();
public void paintComponent(Graphics g) {
super.paintComponent(g);
int w = getSize().width;
if (w != lastW) {
buffer = null;
Graphics2D g2 = (Graphics2D) g;
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
if (root != null) {
int h = getHeight(root);
if (buffer == null) {
buffer = new BufferedImage(getWidth(), getHeight(), BufferedImage.TYPE_INT_ARGB);
Graphics2D g3 = (Graphics2D) buffer.getGraphics();
g3.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g3.setColor(Color.black);
g3.setStroke(new BasicStroke(2));
paint(g3, (w / 2) + origoX, 10, w / 2, root);
lastW = w;
AffineTransform old = g2.getTransform();
AffineTransform trans = new AffineTransform();
trans.translate((w / 2) + origoX, (getHeight() - (h * 40)) / 2);
g2.setTransform(trans);
g2.drawImage(buffer, (-w / 2) + origoX, 0, null);
g2.setTransform(old);
updateUI();
* Description of the Method
*@param g Description of the Parameter
public void update(Graphics g) {
// Call paint to reduce flickering
paint(g);
* Description of the Method
*@param g2 Description of the Parameter
*@param x Description of the Parameter
*@param y Description of the Parameter
*@param w Description of the Parameter
*@param node Description of the Parameter
private void paint(Graphics2D g2, int x, int y, int w, DefaultMutableTreeNode node) {
if (node.getChildCount() == 2) {
DefaultMutableTreeNode c1 = (DefaultMutableTreeNode) node.getChildAt(0);
DefaultMutableTreeNode c2 = (DefaultMutableTreeNode) node.getChildAt(1);
if (c1.getChildCount() == 0 && c2.getChildCount() == 0) {
String s = c1.getUserObject().toString() + " " + node.getUserObject() + " " + c2.getUserObject();
paint(g2, x, y, s);
} else {
g2.drawLine(x - (w / 2), y, x + (w / 2), y);
Font f = g2.getFont();
g2.setFont(new Font(f.getName(), Font.BOLD | Font.ITALIC, f.getSize() + 2));
paint(g2, x, y, node.getUserObject().toString());
g2.setFont(f);
g2.drawLine(x - (w / 2), y, x - (w / 2), y + 40);
g2.drawLine(x + (w / 2), y, x + (w / 2), y + 40);
paint(g2, x - (w / 2), y + 40, w / 2, c1);
paint(g2, x + (w / 2), y + 40, w / 2, c2);
} else if (node.getChildCount() == 0) {
paint(g2, x, y, node.getUserObject().toString());
* Description of the Method
*@param g2 Description of the Parameter
*@param x Description of the Parameter
*@param y Description of the Parameter
*@param s Description of the Parameter
private void paint(Graphics2D g2, int x, int y, String s) {
y += 10;
StringTokenizer st = new StringTokenizer(s, "\\", false);
if (s.indexOf("'") != -1 && st.countTokens() > 1) {
int sh = g2.getFontMetrics().getHeight();
while (st.hasMoreTokens()) {
String t = st.nextToken();
if (st.hasMoreTokens()) {
t += "/";
int sw = g2.getFontMetrics().stringWidth(t);
g2.drawString(t, x - (sw / 2), y);
y += sh;
} else {
int sw = g2.getFontMetrics().stringWidth(s);
g2.drawString(s, x - (sw / 2), y);
* Sets the root attribute of the FilterComp object
*@param root The new root value
public void setRoot(DefaultMutableTreeNode root) {
this.root = root;
buffer = null;
* Gets the root attribute of the FilterComp object
*@return The root value
public DefaultMutableTreeNode getRoot() {
return root;
* Gets the height attribute of the FilterComp object
*@param t Description of the Parameter
*@return The height value
private int getHeight(TreeNode t) {
int h = 1;
int c = t.getChildCount();
if (c > 0) {
if (c > 1) {
h += Math.max(getHeight(t.getChildAt(0)), getHeight(t.getChildAt(1)));
} else {
h += getHeight(t.getChildAt(0));
return h;
* Sets the x attribute of the FilterComp object
*@param x The new x value
public void setX(int x) {
origoX = x;
* Gets the x attribute of the FilterComp object
*@return The x value
public int getX() {
return origoX;
* Gets the preferredScrollableViewportSize attribute of the FilterComp
* object
*@return The preferredScrollableViewportSize value
// public Dimension getPreferredScrollableViewportSize() {
// return getPreferredSize();
* Gets the scrollableBlockIncrement attribute of the FilterComp object
*@param r Description of the Parameter
*@param orientation Description of the Parameter
*@param direction Description of the Parameter
*@return The scrollableBlockIncrement value
// public int getScrollableBlockIncrement(Rectangle r, int orientation, int direction) {
// return 10;
* Gets the scrollableTracksViewportHeight attribute of the FilterComp object
*@return The scrollableTracksViewportHeight value
// public boolean getScrollableTracksViewportHeight() {
// return false;
* Gets the scrollableTracksViewportWidth attribute of the FilterComp object
*@return The scrollableTracksViewportWidth value
// public boolean getScrollableTracksViewportWidth() {
// return false;
* Gets the scrollableUnitIncrement attribute of the FilterComp object
*@param r Description of the Parameter
*@param orientation Description of the Parameter
*@param direction Description of the Parameter
*@return The scrollableUnitIncrement value
// public int getScrollableUnitIncrement(Rectangle r, int orientation, int direction) {
// return 10;
}The Scrollable interface should be implemented by a JPanel set as the JScrollPane's viewport or scrolling may not function. Although it is said to be only necessary for tables, lists, and trees, without it I have never had success with images. Even the Java Swing Tutorial on scrolling images with JScrollPane uses the Scrollable interface.
I donot know what you are doing wrong here, but I use JScrollPane with a JPanel implementing Scrollable interface and it works very well scrolling images drawn into the JPanel.
You can scroll using other components, such as the JScrollBar or even by using a MouseListener/MouseMotionListener combination, but this is all done behind the scenes with the use of JScrollPane/Scrollable combination.
You could try this approach using an ImageIcon within a JLabel:
import java.awt.*;
import java.awt.event.*;
import java.awt.image.*;
import javax.swing.*;
import javax.swing.event.*;
public class Test extends JFrame {
BufferedImage bi;
Graphics2D g_bi;
public Test() {
super("Scroll Test");
makeImage();
Container contentPane = getContentPane();
MyView view = new MyView(new ImageIcon(bi));
JScrollPane sp = new JScrollPane(view);
contentPane.add(sp);
setSize(200, 200);
setVisible(true);
private void makeImage() {
bi = new BufferedImage(320, 240, BufferedImage.TYPE_INT_ARGB);
g_bi = bi.createGraphics();
g_bi.setColor(Color.white);
g_bi.fillRect(0,0,320,240);
g_bi.setColor(Color.black);
g_bi.drawLine(0,0,320,240);
public static void main(String args[]) {
Test test = new Test();
class MyView extends JLabel {
ImageIcon icon;
public MyView(ImageIcon ii) {
super(ii);
icon = ii;
public void paintComponent(Graphics g) {
g.drawImage(icon.getImage(),0,0,this);
}Robert Templeton
Maybe you are looking for
-
What to be given in JDBC receiver comm channel?
Hi I have given JDBC driver:com.sap.aii.messaging.adapter.ModuleXMB2DB Connection:jdbc:microsoft:sqlserver://sapep:1433;DatabaseName=SAPXI am i giving correct params? please help me where and how to check whether iam using correct params in my JDBC r
-
Hello All: when I try to syc i get the following error. 0x80040fb3 Thanks
-
[SOLVED] jdk6 JAVA_HOME overriding jdk JAVA_HOME
Placing this here for future reference to others having the same problem Symptoms: jdk6-compat installed alongside jdk $JAVA_HOME still defined as /opt/java6 upon login Problem: in /etc/profile it uses: if test -d /etc/profile.d/; then for profile in
-
When I try to sync my Ipod mini, I get the following error : Error -47 (ipod cannot be updated, the required file is in use). My software is all up to date and the ipod was restored. Nothing helped, how do I fix this? I have a macbook pro. Thanks
-
Mono outs in channel strip possible?
i have created a couple of mono output channels in my audio mixer, but they are still showing up as stereo channels in the channel strip. i want to be able to set tracks to output to mono channels 5 OR 6, not stereo channel 5-6.