Length report double
Hi,
I have the code below and i am not sure why the length of the attribute are reported double
Code:
FIELD-SYMBOLS:
<fs_comp_wa> TYPE abap_compdescr.
DATA: lr_desc_table type ref to CL_ABAP_TYPEDESCR,
lr_desc_struc type ref to cl_abap_structdescr.
lr_desc_table ?= cl_abap_typedescr=>describe_by_data( ZTEST).
if lr_desc_table->type_kind = 'u'. " <- Structure
lr_desc_struc ?= lr_desc_table.
loop at lr_desc_struc->components ASSIGNING <fs_comp_wa>.
"check the length of the field at run time '<fs_comp_wa>-length'
ENDLOOP.
endif.
Regards,
Sanju
lr_desc_table ?= cl_abap_typedescr=>describe_by_name( 'BUT000' ).
Descibe by data does not work for me, so I used statement above.
And that works just fine for me. No double entries.
Similar Messages
-
Bursting by email a report: double pdf attached
Hi. When I'm bursting a report I send 1 report to 2 persons. But the first person receives double attached pdf and the second person only one pdf (correctly). Why?
Thanks, bye.
Riccardoi don't Know where it is possible to setting
smtp server
username and password to acces to the external smtp
Do you Know if there is a parameter file to setting this parameter ??
Than'k a lot again. -
CL_ABAP_TYPEDESCR - DESCRIBE_BY_DATA field length is doubled
I have a custom program developed on Non Unicode system, that is using CL_ABAP_TYPEDESCR -> DESCRIBE_BY_DATA to get field lengths of the fields in a structure. The code works perfectly file on Non Unicode system where it is developed, However when the same code is imported on a UNICODE system the field lengths of the fields in the same structure are exactly doubled. Anybody has any idea, why this may be happening?
> However when the same code is imported on a UNICODE system the field lengths of the fields in the same structure are exactly doubled. Anybody has any idea, why this may be happening?
Yes - because Unicode uses two bytes to represent ONE character.
Markus -
HT4098 how to report double charges in app purchase
how to report the double charges in app purchase, I purchased in-app of "Sesame Street eBooks for iPad, Annual eBooks Subscription" which charged me in June 2 2012 and June 22 2012 again. How can I do?
You need to turn the subscriiption off > iTunes Store: Purchasing and managing auto-renewing subscriptions
-
Bug report: double clicking a DataAction
following the information in the bug, here is what I copied:
Message
BME-99009: An error has occured in the Java VM.
Cause
An operation has failed because an error has occurred in the Java VM. The current activity may fail and the system may have been left in an unstable state. The following is a stack trace.
java.lang.StackOverflowError
Action
If further errors occur, you should restart the application.
If the error was an OutOfMemoryError, try closing some components, such as some diagrams, or increase the Java heap size.
Also, report the problem on the JDeveloper forum on otn.oracle.com, or contact Oracle support, giving the information in this message.
I was trying to double click and create the "action class" on a data action.It appears that this bug is caused when a "DataAction" class is not assigned to the struts action. I created the class, inherited oracle's DataAction class, and then pointed the struts config to the right file. Now, double clicking on the dataAction gets the correct .java file to pop up.
-
I have a playbook and have copied AVI files to it. all are reported as 1 Hr 13 minutes and 45 seconds even though they are of varying lengths of over this. When i look from my PC the files show the correct length. I can't skip past this break point when watching the video - HELP
it does indeed - although the file itself is all there and you can watch the whole thing you can't skip past the max time. The file in Windows explorer shows the full length - seems like an OS bug
-
Length of double dimensional array of string type
I have this double dimensional array.
String sArray[][] =
{"0,0","0,1","0,2","0,3"},
{"1,0","1,1","1,2","1,3"},
{"2,0","2,1","2,2","2,3"},
{"3,0","3,1","3,2","3,3"}
How to find the length of this?
thanks
MSThere's two different lengths... The number of rows, you could say... and the number of fields in each row.
sArray.length;
or for a particular row...
int row = 0;
sArray[row].length; -
Bug report: double-tapping keyboard does not always bring up cursor movement.
For instance, in:
The text entry bar for maps
The subject line of added meetings
The text entry widget of the Slack Android app
I'd love this to work consistently.oh I get what you're saying now.
unfortunately, you're not missing anything. that is how they have it set up in 3.0
if you're unhappy with this design, give Apple feedback at http://www.apple.com/feedback/iphone.html -
Bug Report: Double print dialogue in Mac OS X
Steps to recreate:
Open a document and choose File -> Print or Command-P on the keyboard
Make your selections in the adobe print options menu and click "print"
Observe that the Mac OS X print dialogue box is now displayed.
Correct behavior:
There should be no step three, above.
System Info:
Adobe Photoshop Version: 13.0 (13.0 20120305.m.415 2012/03/05:21:00:00) x64
Operating System: Mac OS 10.7.3
System architecture: Intel CPU Family:6, Model:37, Stepping:5 with MMX, SSE Integer, SSE FP, SSE2, SSE3, SSE4.1, SSE4.2, HyperThreading
Physical processor count: 2
Logical processor count: 4
Processor speed: 2400 MHz
Built-in memory: 8192 MB
Free memory: 4224 MB
Memory available to Photoshop: 6786 MB
Memory used by Photoshop: 70 %
Image tile size: 1024K
Image cache levels: 4
OpenGL Drawing: Enabled.
OpenGL Drawing Mode: Normal
OpenGL Allow Normal Mode: True.
OpenGL Allow Advanced Mode: True.
OpenGL Allow Old GPUs: Not Detected.
OpenGL Version: 2.1 NVIDIA-7.18.11
OpenCL Unavailable
Video Card Vendor: NVIDIA Corporation
Video Card Renderer: NVIDIA GeForce GT 330M OpenGL Engine
Display: 1
Main Display
Display Depth:= 32
Display Bounds:= top: 0, left: 0, bottom: 1050, right: 1680
Video Renderer ID: 16918034
Video Card Memory: 228 MB
Video Rect Texture Size: 8192
Serial number: Tryout Version
Application folder: SledgeHammer:Applications:Adobe Photoshop CS6:
Photoshop scratch has async I/O enabled
Scratch volume(s):
SledgeHammer, 446.8G, 215.8G free
Required Plug-ins folder: SledgeHammer:Applications:Adobe Photoshop CS6:Adobe Photoshop CS6.app:Contents:Required:
Primary Plug-ins folder: SledgeHammer:Applications:Adobe Photoshop CS6:Plug-ins:
Additional Plug-ins folder: not set
Installed components:
adbeape.framework adbeape 3.3.8.19346 66.1025012
AdbeScriptUIFlex.framework AdbeScriptUIFlex 6.2.29.18602 66.490082
adobe_caps.framework adobe_caps 5.0.11.0 1.256674
AdobeACE.framework AdobeACE 2.19.18.19243 66.492997
AdobeAGM.framework AdobeAGM 4.26.17.19243 66.492997
AdobeAXE8SharedExpat.framework AdobeAXE8SharedExpat 3.7.101.18636 66.26830
AdobeAXEDOMCore.framework AdobeAXEDOMCore 3.7.101.18636 66.26830
AdobeBIB.framework AdobeBIB 1.2.02.19243 66.492997
AdobeBIBUtils.framework AdobeBIBUtils 1.1.01 66.492997
AdobeCoolType.framework AdobeCoolType 5.10.31.19243 66.492997
AdobeCrashReporter.framework AdobeCrashReporter 6.0.20120201
AdobeExtendScript.framework AdobeExtendScript 4.2.12.18602 66.490082
AdobeJP2K.framework AdobeJP2K 2.0.0.18562 66.236923
AdobeLinguistic.framework 17206
AdobeMPS.framework AdobeMPS 5.8.0.19463 66.495174
AdobeOwl.framework AdobeOwl 4.0.93 66.496052
AdobePDFL.framework AdobePDFL 10.0.1.18562 66.419471
AdobePDFSettings.framework AdobePDFSettings 1.4
AdobePIP.framework AdobePIP 6.0.0.1642
AdobeScCore.framework AdobeScCore 4.2.12.18602 66.490082
AdobeUpdater.framework AdobeUpdater 6.0.0.1452 "52.338651"
AdobeXMP.framework AdobeXMPCore 66.145661 66.145661
AdobeXMPFiles.framework AdobeXMPFiles 66.145661 66.145661
AdobeXMPScript.framework AdobeXMPScript 66.145661 66.145661
ahclient.framework ahclient 1.7.0.56
aif_core.framework AdobeAIF 3.0.00 62.490293
aif_ocl.framework AdobeAIF 3.0.00 62.490293
aif_ogl.framework AdobeAIF 3.0.00 62.490293
AlignmentLib.framework xcode 1.0.0.1
amtlib.framework amtlib 6.0.0.75
boost_date_time.framework boost_date_time 6.0.0.0
boost_signals.framework boost_signals 6.0.0.0
boost_system.framework boost_system 6.0.0.0
boost_threads.framework boost_threads 6.0.0.0
Cg.framework NVIDIA Cg
CIT.framework CIT 2.0.5.19287 145486
data_flow.framework AdobeAIF 3.0.00 62.490293
dvaaudiodevice.framework dvaaudiodevice 6.0.0.0
dvacore.framework dvacore 6.0.0.0
dvamarshal.framework dvamarshal 6.0.0.0
dvamediatypes.framework dvamediatypes 6.0.0.0
dvaplayer.framework dvaplayer 6.0.0.0
dvatransport.framework dvatransport 6.0.0.0
dvaunittesting.framework dvaunittesting 6.0.0.0
dynamiclink.framework dynamiclink 6.0.0.0
FileInfo.framework FileInfo 66.145433 66.145433
filter_graph.framework AdobeAIF 3.0.00 62.490293
hydra_filters.framework AdobeAIF 3.0.00 62.490293
ICUConverter.framework ICUConverter 3.61 "gtlib_3.0" "." "16615"
ICUData.framework ICUData 3.61 "gtlib_3.0" "." "16615"
image_compiler.framework AdobeAIF 3.0.00 62.490293
image_flow.framework AdobeAIF 3.0.00 62.490293
image_runtime.framework AdobeAIF 3.0.00 62.490293
LogSession.framework LogSession 2.1.2.1640
mediacoreif.framework mediacoreif 6.0.0.0
PlugPlug.framework PlugPlug 3.0.0.383
UpdaterNotifications.framework UpdaterNotifications 6.0.0.24 "6.0.0.24"
wrservices.framework
Required plug-ins:
3D Studio 13.0 20120305.m.415 2012/03/05:21:00:00 ©2006-2012 Adobe Systems Incorporated - from the file “U3D.plugin”
Accented Edges 13.0, Copyright © 1991-2012 Adobe Systems Incorporated - from the file “Filter Gallery.plugin”
Adaptive Wide Angle 13.0, Copyright © 2012 Adobe Systems Incorporated - from the file “Adaptive Wide Angle.plugin”
ADM 3.10x16, Copyright © 1987-2008 Adobe Systems Inc. All rights reserved. - from the file “AdobeADM.bundle”
Angled Strokes 13.0, Copyright © 1991-2012 Adobe Systems Incorporated - from the file “Filter Gallery.plugin”
Average 13.0 20120305.m.415 2012/03/05:21:00:00 ©1993-2012 Adobe Systems Incorporated - from the file “Average.plugin”
Bas Relief 13.0, Copyright © 1991-2012 Adobe Systems Incorporated - from the file “Filter Gallery.plugin”
BMP 13.0, Copyright © 2003-2012 Adobe Systems Incorporated - from the file “Standard Multiplugin.plugin”
Camera Raw 7.0 (308), Copyright © 2012 Adobe Systems Incorporated - from the file “Camera Raw.plugin”
Chalk & Charcoal 13.0, Copyright © 1991-2012 Adobe Systems Incorporated - from the file “Filter Gallery.plugin”
Charcoal 13.0, Copyright © 1991-2012 Adobe Systems Incorporated - from the file “Filter Gallery.plugin”
Chrome 13.0, Copyright © 1991-2012 Adobe Systems Incorporated - from the file “Filter Gallery.plugin”
Cineon 13.0 20120305.m.415 2012/03/05:21:00:00 ©2002-2012 Adobe Systems Incorporated - from the file “Cineon.plugin”
Clouds 13.0 20120305.m.415 2012/03/05:21:00:00 ©1993-2012 Adobe Systems Incorporated - from the file “Clouds.plugin”
Collada DAE 13.0 20120305.m.415 2012/03/05:21:00:00 ©2006-2012 Adobe Systems Incorporated - from the file “U3D.plugin”
Color Halftone 13.0, Copyright © 2003-2012 Adobe Systems Incorporated - from the file “Standard Multiplugin.plugin”
Colored Pencil 13.0, Copyright © 1991-2012 Adobe Systems Incorporated - from the file “Filter Gallery.plugin”
CompuServe GIF 13.0, Copyright © 2003-2012 Adobe Systems Incorporated - from the file “Standard Multiplugin.plugin”
Conté Crayon 13.0, Copyright © 1991-2012 Adobe Systems Incorporated - from the file “Filter Gallery.plugin”
Craquelure 13.0, Copyright © 1991-2012 Adobe Systems Incorporated - from the file “Filter Gallery.plugin”
Crop and Straighten Photos 13.0 20120305.m.415 2012/03/05:21:00:00 ©2003-2012 Adobe Systems Incorporated - from the file “CropPhotosAuto.plugin”
Crop and Straighten Photos Filter 13.0, Copyright © 2003-2012 Adobe Systems Incorporated - from the file “Standard Multiplugin.plugin”
Crosshatch 13.0, Copyright © 1991-2012 Adobe Systems Incorporated - from the file “Filter Gallery.plugin”
Crystallize 13.0, Copyright © 2003-2012 Adobe Systems Incorporated - from the file “Standard Multiplugin.plugin”
Cutout 13.0, Copyright © 1991-2012 Adobe Systems Incorporated - from the file “Filter Gallery.plugin”
Dark Strokes 13.0, Copyright © 1991-2012 Adobe Systems Incorporated - from the file “Filter Gallery.plugin”
De-Interlace 13.0, Copyright © 2003-2012 Adobe Systems Incorporated - from the file “Standard Multiplugin.plugin”
Dicom 13.0, Copyright © 2003-2012 Adobe Systems Incorporated - from the file “dicom.plugin”
Difference Clouds 13.0 20120305.m.415 2012/03/05:21:00:00 ©1993-2012 Adobe Systems Incorporated - from the file “Clouds.plugin”
Diffuse Glow 13.0, Copyright © 1991-2012 Adobe Systems Incorporated - from the file “Filter Gallery.plugin”
Displace 13.0, Copyright © 2003-2012 Adobe Systems Incorporated - from the file “Standard Multiplugin.plugin”
Dry Brush 13.0, Copyright © 1991-2012 Adobe Systems Incorporated - from the file “Filter Gallery.plugin”
Eazel Acquire 13.0 20120305.m.415 2012/03/05:21:00:00 ©1997-2012 Adobe Systems Incorporated - from the file “EazelAcquire.plugin”
Embed Watermark NO VERSION - from the file “DigiSign.plugin”
Enable Async I/O 13.0 20120305.m.415 2012/03/05:21:00:00 © 2004-2012 Adobe Systems Incorporated - from the file “Enable Async IO.plugin”
Entropy 13.0 20120305.m.415 2012/03/05:21:00:00 ©2006-2012 Adobe Systems Incorporated - from the file “statistics.plugin”
Extrude 13.0, Copyright © 2003-2012 Adobe Systems Incorporated - from the file “Standard Multiplugin.plugin”
FastCore Routines 13.0 20120305.m.415 2012/03/05:21:00:00 ©1990-2012 Adobe Systems Incorporated - from the file “FastCore.plugin”
Fibers 13.0, Copyright © 2003-2012 Adobe Systems Incorporated - from the file “Standard Multiplugin.plugin”
Film Grain 13.0, Copyright © 1991-2012 Adobe Systems Incorporated - from the file “Filter Gallery.plugin”
Filter Gallery 13.0, Copyright © 1991-2012 Adobe Systems Incorporated - from the file “Filter Gallery.plugin”
Flash 3D 13.0 20120305.m.415 2012/03/05:21:00:00 ©2006-2012 Adobe Systems Incorporated - from the file “U3D.plugin”
Fresco 13.0, Copyright © 1991-2012 Adobe Systems Incorporated - from the file “Filter Gallery.plugin”
Glass 13.0, Copyright © 1991-2012 Adobe Systems Incorporated - from the file “Filter Gallery.plugin”
Glowing Edges 13.0, Copyright © 1991-2012 Adobe Systems Incorporated - from the file “Filter Gallery.plugin”
Google Earth 4 KMZ 13.0 20120305.m.415 2012/03/05:21:00:00 ©2006-2012 Adobe Systems Incorporated - from the file “U3D.plugin”
Grain 13.0, Copyright © 1991-2012 Adobe Systems Incorporated - from the file “Filter Gallery.plugin”
Graphic Pen 13.0, Copyright © 1991-2012 Adobe Systems Incorporated - from the file “Filter Gallery.plugin”
Halftone Pattern 13.0, Copyright © 1991-2012 Adobe Systems Incorporated - from the file “Filter Gallery.plugin”
HDRMergeUI 13.0, Copyright © 2003-2012 Adobe Systems Incorporated - from the file “HDRMergeUI.plugin”
IFF Format 13.0, Copyright © 2003-2012 Adobe Systems Incorporated - from the file “Standard Multiplugin.plugin”
Ink Outlines 13.0, Copyright © 1991-2012 Adobe Systems Incorporated - from the file “Filter Gallery.plugin”
JPEG 2000 13.0 20120305.m.415 2012/03/05:21:00:00 ©2001-2012 Adobe Systems Incorporated - from the file “JPEG2000.plugin”
Kurtosis 13.0 20120305.m.415 2012/03/05:21:00:00 ©2006-2012 Adobe Systems Incorporated - from the file “statistics.plugin”
Lens Blur 13.0, Copyright © 2002-2012 Adobe Systems Incorporated - from the file “Lens Blur.plugin”
Lens Correction 13.0, Copyright © 2002-2012 Adobe Systems Incorporated - from the file “Lens Correct.plugin”
Lens Flare 13.0, Copyright © 2003-2012 Adobe Systems Incorporated - from the file “Standard Multiplugin.plugin”
Liquify 13.0, Copyright © 2001-2012 Adobe Systems Incorporated - from the file “Liquify.plugin”
Matlab Operation 13.0 20120305.m.415 2012/03/05:21:00:00 ©1993-2012 Adobe Systems Incorporated - from the file “ChannelPort.plugin”
Maximum 13.0 20120305.m.415 2012/03/05:21:00:00 ©2006-2012 Adobe Systems Incorporated - from the file “statistics.plugin”
Mean 13.0 20120305.m.415 2012/03/05:21:00:00 ©2006-2012 Adobe Systems Incorporated - from the file “statistics.plugin”
Measurement Core 13.0 20120305.m.415 2012/03/05:21:00:00 ©1993-2012 Adobe Systems Incorporated - from the file “MeasurementCore.plugin”
Median 13.0 20120305.m.415 2012/03/05:21:00:00 ©2006-2012 Adobe Systems Incorporated - from the file “statistics.plugin”
Mezzotint 13.0, Copyright © 2003-2012 Adobe Systems Incorporated - from the file “Standard Multiplugin.plugin”
Minimum 13.0 20120305.m.415 2012/03/05:21:00:00 ©2006-2012 Adobe Systems Incorporated - from the file “statistics.plugin”
MMXCore Routines 13.0 20120305.m.415 2012/03/05:21:00:00 ©1990-2012 Adobe Systems Incorporated - from the file “MMXCore.plugin”
Mosaic Tiles 13.0, Copyright © 1991-2012 Adobe Systems Incorporated - from the file “Filter Gallery.plugin”
Multiprocessor Support 13.0 20120305.m.415 2012/03/05:21:00:00 ©1990-2012 Adobe Systems Incorporated - from the file “MultiProcessor Support.plugin”
Neon Glow 13.0, Copyright © 1991-2012 Adobe Systems Incorporated - from the file “Filter Gallery.plugin”
Note Paper 13.0, Copyright © 1991-2012 Adobe Systems Incorporated - from the file “Filter Gallery.plugin”
NTSC Colors 13.0 20120305.m.415 2012/03/05:21:00:00 ©1993-2012 Adobe Systems Incorporated - from the file “NTSC Colors.plugin”
Ocean Ripple 13.0, Copyright © 1991-2012 Adobe Systems Incorporated - from the file “Filter Gallery.plugin”
Oil Paint 13.0, Copyright © 2011 Adobe Systems Incorporated - from the file “Oil Paint.plugin”
OpenEXR 13.0, Copyright © 2003-2012 Adobe Systems Incorporated - from the file “Standard Multiplugin.plugin”
Paint Daubs 13.0, Copyright © 1991-2012 Adobe Systems Incorporated - from the file “Filter Gallery.plugin”
Palette Knife 13.0, Copyright © 1991-2012 Adobe Systems Incorporated - from the file “Filter Gallery.plugin”
Patchwork 13.0, Copyright © 1991-2012 Adobe Systems Incorporated - from the file “Filter Gallery.plugin”
Paths to Illustrator 13.0, Copyright © 2003-2012 Adobe Systems Incorporated - from the file “Standard Multiplugin.plugin”
PCX 13.0 20120305.m.415 2012/03/05:21:00:00 ©1989-2012 Adobe Systems Incorporated - from the file “PCX.plugin”
Photocopy 13.0, Copyright © 1991-2012 Adobe Systems Incorporated - from the file “Filter Gallery.plugin”
Photoshop 3D Engine 13.0 20120305.m.415 2012/03/05:21:00:00 ©2006-2012 Adobe Systems Incorporated - from the file “Photoshop3DEngine.plugin”
Picture Package Filter 13.0 20120305.m.415 2012/03/05:21:00:00 ©1993-2012 Adobe Systems Incorporated - from the file “ChannelPort.plugin”
Pinch 13.0, Copyright © 2003-2012 Adobe Systems Incorporated - from the file “Standard Multiplugin.plugin”
Pixar 13.0 20120305.m.415 2012/03/05:21:00:00 ©1989-2012 Adobe Systems Incorporated - from the file “Pixar.plugin”
Plaster 13.0, Copyright © 1991-2012 Adobe Systems Incorporated - from the file “Filter Gallery.plugin”
Plastic Wrap 13.0, Copyright © 1991-2012 Adobe Systems Incorporated - from the file “Filter Gallery.plugin”
PNG 13.0, Copyright © 2003-2012 Adobe Systems Incorporated - from the file “Standard Multiplugin.plugin”
Pointillize 13.0, Copyright © 2003-2012 Adobe Systems Incorporated - from the file “Standard Multiplugin.plugin”
Polar Coordinates 13.0, Copyright © 2003-2012 Adobe Systems Incorporated - from the file “Standard Multiplugin.plugin”
Portable Bit Map 13.0 20120305.m.415 2012/03/05:21:00:00 ©1989-2012 Adobe Systems Incorporated - from the file “PBM.plugin”
Poster Edges 13.0, Copyright © 1991-2012 Adobe Systems Incorporated - from the file “Filter Gallery.plugin”
Radial Blur 13.0, Copyright © 2003-2012 Adobe Systems Incorporated - from the file “Standard Multiplugin.plugin”
Radiance 13.0 20120305.m.415 2012/03/05:21:00:00 ©2003-2012 Adobe Systems Incorporated - from the file “Radiance.plugin”
Range 13.0 20120305.m.415 2012/03/05:21:00:00 ©2006-2012 Adobe Systems Incorporated - from the file “statistics.plugin”
Read Watermark NO VERSION - from the file “DigiRead.plugin”
Reticulation 13.0, Copyright © 1991-2012 Adobe Systems Incorporated - from the file “Filter Gallery.plugin”
Ripple 13.0, Copyright © 2003-2012 Adobe Systems Incorporated - from the file “Standard Multiplugin.plugin”
Rough Pastels 13.0, Copyright © 1991-2012 Adobe Systems Incorporated - from the file “Filter Gallery.plugin”
Save for Web 13.0, Copyright © 1999-2012 Adobe Systems Incorporated - from the file “Save for Web.plugin”
ScriptingSupport 13.0, Copyright © 2012 Adobe Systems Incorporated - from the file “ScriptingSupport.plugin”
Shear 13.0, Copyright © 2003-2012 Adobe Systems Incorporated - from the file “Standard Multiplugin.plugin”
Skewness 13.0 20120305.m.415 2012/03/05:21:00:00 ©2006-2012 Adobe Systems Incorporated - from the file “statistics.plugin”
Smart Blur 13.0, Copyright © 2003-2012 Adobe Systems Incorporated - from the file “Standard Multiplugin.plugin”
Smudge Stick 13.0, Copyright © 1991-2012 Adobe Systems Incorporated - from the file “Filter Gallery.plugin”
Solarize 13.0 20120305.m.415 2012/03/05:21:00:00 ©1993-2012 Adobe Systems Incorporated - from the file “Solarize.plugin”
Spatter 13.0, Copyright © 1991-2012 Adobe Systems Incorporated - from the file “Filter Gallery.plugin”
Spherize 13.0, Copyright © 2003-2012 Adobe Systems Incorporated - from the file “Standard Multiplugin.plugin”
Sponge 13.0, Copyright © 1991-2012 Adobe Systems Incorporated - from the file “Filter Gallery.plugin”
Sprayed Strokes 13.0, Copyright © 1991-2012 Adobe Systems Incorporated - from the file “Filter Gallery.plugin”
Stained Glass 13.0, Copyright © 1991-2012 Adobe Systems Incorporated - from the file “Filter Gallery.plugin”
Stamp 13.0, Copyright © 1991-2012 Adobe Systems Incorporated - from the file “Filter Gallery.plugin”
Standard Deviation 13.0 20120305.m.415 2012/03/05:21:00:00 ©2006-2012 Adobe Systems Incorporated - from the file “statistics.plugin”
Sumi-e 13.0, Copyright © 1991-2012 Adobe Systems Incorporated - from the file “Filter Gallery.plugin”
Summation 13.0 20120305.m.415 2012/03/05:21:00:00 ©2006-2012 Adobe Systems Incorporated - from the file “statistics.plugin”
Targa 13.0, Copyright © 2003-2012 Adobe Systems Incorporated - from the file “Standard Multiplugin.plugin”
Texturizer 13.0, Copyright © 1991-2012 Adobe Systems Incorporated - from the file “Filter Gallery.plugin”
Tiles 13.0, Copyright © 2003-2012 Adobe Systems Incorporated - from the file “Standard Multiplugin.plugin”
Torn Edges 13.0, Copyright © 1991-2012 Adobe Systems Incorporated - from the file “Filter Gallery.plugin”
Twirl 13.0, Copyright © 2003-2012 Adobe Systems Incorporated - from the file “Standard Multiplugin.plugin”
U3D 13.0 20120305.m.415 2012/03/05:21:00:00 ©2006-2012 Adobe Systems Incorporated - from the file “U3D.plugin”
Underpainting 13.0, Copyright © 1991-2012 Adobe Systems Incorporated - from the file “Filter Gallery.plugin”
Vanishing Point 13.0, Copyright © 2003-2012 Adobe Systems Incorporated - from the file “VanishingPoint.plugin”
Variance 13.0 20120305.m.415 2012/03/05:21:00:00 ©2006-2012 Adobe Systems Incorporated - from the file “statistics.plugin”
Water Paper 13.0, Copyright © 1991-2012 Adobe Systems Incorporated - from the file “Filter Gallery.plugin”
Watercolor 13.0, Copyright © 1991-2012 Adobe Systems Incorporated - from the file “Filter Gallery.plugin”
Wave 13.0, Copyright © 2003-2012 Adobe Systems Incorporated - from the file “Standard Multiplugin.plugin”
Wavefront|OBJ 13.0 20120305.m.415 2012/03/05:21:00:00 ©2006-2012 Adobe Systems Incorporated - from the file “U3D.plugin”
Wind 13.0, Copyright © 2003-2012 Adobe Systems Incorporated - from the file “Standard Multiplugin.plugin”
Wireless Bitmap 13.0 20120305.m.415 2012/03/05:21:00:00 ©1989-2012 Adobe Systems Incorporated - from the file “WBMP.plugin”
ZigZag 13.0, Copyright © 2003-2012 Adobe Systems Incorporated - from the file “Standard Multiplugin.plugin”
Optional and third party plug-ins: NONE
Plug-ins that failed to load: NONE
Flash:
Mini Bridge
Kuler
Installed TWAIN devices: NONEHi Charles.
Here is how my print settings looked when clicking on "print settings" in the Adobe print dialogue box:
I had opened this up and clicked "save", which did not fix the problem.
Then, this is how the Color Management settings looked:
Changing the Color Handling from "Printer Manages Colors" to "PhotoShop Manages Colors" removes the 2nd print dialogue BUT:
It is not maintained unless you save the document you are working on
It is unique to each document and each new document defaults to "Printer Manages Colors"
I do not see a way to globally change this default
Thanks. -
Hi,
I am using cl_abap_typedescr=>describe_by_name to get the length and field names of a table. But it is returning incorrect values for length. For example, all character fields and numc fields contain double the correct length
REPORT ZCA_BOB_CL_ABAP_STRUCTDESCR.
PARAMETERS P_TABNAM type TABNAME OBLIGATORY.
Data: wa_spfli type spfli,
r_descr type REF TO cl_abap_structdescr,
wa_comp TYPE abap_compdescr.
** Create references to the needed ALV Global Classes
data: lr_events type ref to cl_salv_events_table.
data: gr_table type ref to cl_salv_table.
Data: r_grid TYPE REF TO cl_salv_table.
data: r_title_text TYPE REF TO cl_alv_variant,
r_grid_title TYPE LVC_TITLE.
Data: abap_compdescr_tab TYPE STANDARD TABLE OF abap_compdescr
WITH KEY name.
START-OF-SELECTION.
** ?= means cast
** r_descr ?= cl_abap_typedescr=>describe_by_data( wa_spfli ).
r_descr ?= cl_abap_typedescr=>describe_by_name( P_TABNAM ).
Loop at r_descr->components into wa_comp.
* write:/ wa_comp-name, wa_comp-type_kind, wa_comp-length,
* wa_comp-decimals.
append wa_comp to abap_compdescr_tab.
EndLoop.Hello Bob
Below is the output of your report run on a 4.6c system:
Structure WA_SPFLI:
MANDT C 3 0
CARRID C 3 0
CONNID N 4 0
COUNTRYFR C 3 0
CITYFROM C 20 0
AIRPFROM C 3 0
COUNTRYTO C 3 0
CITYTO C 20 0
AIRPTO C 3 0
FLTIME I 4 0
DEPTIME T 6 0
ARRTIME T 6 0
DISTANCE P 5 4
DISTID C 3 0
FLTYPE C 1 0
PERIOD b 1 0
4.6c = non-Unicode
Your system = Unicode
Thus, the length is apprently the length in bytes.
Simply check and RFC destination (SM59) using button "Unicode Test". You will get the following message on an Unicode system:
Target is a unicode system (character size 2)
Regards
Uwe -
Calculating and displaying the Length of the side of a triangle
Hi everyone. I am currently working on Dragging and Stretching a triangle on screen. Ive got it working to a certain extent but the only problem is that whenever I go to the point from which i have to drag my triangle i.e. the Left hand Corner of the BAse at exactly 300,300 it redraws a new triangle below the existing one and then when i stretch it from the top and the right it leaves a trail of triangles everytime. But when i resize my window it clears the trail only to start agian when I drag or stretch it...
All my code for wahtever I have done is displayed below. I would appreciate all the help that any one can offer.
Secondly , as I stretch my triangle I would like to calculate My Length of the hypotenuse and the other 2 sides as they change and display it in System.out.println for now...
PLEASE HELP
the code is
This is my Main Form --- Interactive Geometry.java
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionListener;
import javax.swing.JFrame;
* InteractiveGeometry.java
* Created on 30 November 2004, 20:29
* @author Kripa Bhojwani
public class InteractiveGeometry extends javax.swing.JFrame {
public EastPanel eastpanel;
public Container container;
public GeomPanel gp;
public boolean pressed = false;
public boolean pressT = false;
public boolean pressR = false;
/** Creates new form InteractiveGeometry */
public InteractiveGeometry() {
initComponents();
eastpanel = new EastPanel();
container = new Container();
Model model = new Model(300,150,450,300,300,300);
gp = new GeomPanel(model);
container = getContentPane();
container.add(eastpanel,BorderLayout.EAST);
container.add(gp,BorderLayout.CENTER);
setSize(1400,9950);
gp.addMouseMotionListener(
new MouseMotionListener() { //anonymous inner class
//handle mouse drag event
public void mouseDragged(MouseEvent me) {
setTitle("Dragging: x=" + me.getX() + "; y=" + me.getY());
public void mouseMoved(MouseEvent me) {
setTitle("Moving: x=" + me.getX() + "; y=" + me.getY());
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
private void initComponents() {
jMenuBar2 = new javax.swing.JMenuBar();
jMenu2 = new javax.swing.JMenu();
jMenuItem1 = new javax.swing.JMenuItem();
jMenu1 = new javax.swing.JMenu();
jMenuItem2 = new javax.swing.JMenuItem();
addMouseMotionListener(new java.awt.event.MouseMotionAdapter() {
public void mouseDragged(java.awt.event.MouseEvent evt) {
formMouseDragged(evt);
public void mouseMoved(java.awt.event.MouseEvent evt) {
formMouseMoved(evt);
addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(java.awt.event.WindowEvent evt) {
exitForm(evt);
jMenuBar2.setBackground(new java.awt.Color(0, 102, 204));
jMenu2.setBackground(new java.awt.Color(222, 222, 238));
jMenu2.setText("File");
jMenu2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenu2ActionPerformed(evt);
jMenuItem1.setBackground(new java.awt.Color(204, 255, 255));
jMenuItem1.setText("Exit");
jMenuItem1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenuItem1ActionPerformed(evt);
jMenu2.add(jMenuItem1);
jMenuBar2.add(jMenu2);
jMenu1.setBackground(new java.awt.Color(199, 215, 255));
jMenu1.setText("Theorem ");
jMenuItem2.setText("Pythagoras Theorem");
jMenuItem2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenuItem2ActionPerformed(evt);
jMenu1.add(jMenuItem2);
jMenuBar2.add(jMenu1);
setJMenuBar(jMenuBar2);
pack();
private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
private void formMouseDragged(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
private void formMouseMoved(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
public void mouseDragged(MouseEvent me) {
setTitle("Dragging: x=" + me.getX() + "; y=" + me.getY());
private void jMenu2ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
System.exit(0);
/** Exit the Application */
private void exitForm(java.awt.event.WindowEvent evt) {
System.exit(0);
* @param args the command line arguments
public static void main(String args[]) {
InteractiveGeometry ig = new InteractiveGeometry();
ig.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
ig.show();
// new InteractiveGeometry().show();
// Variables declaration - do not modify
private javax.swing.JMenu jMenu1;
private javax.swing.JMenu jMenu2;
private javax.swing.JMenuBar jMenuBar2;
private javax.swing.JMenuItem jMenuItem1;
private javax.swing.JMenuItem jMenuItem2;
// End of variables declaration
This is my Panel -- GeomPanel.java which draws everything -- /*
* GeomPanel.java
* Created on 30 November 2004, 20:29
import java.awt.*;
import java.util.*;
import javax.swing.*;
import java.awt.Graphics.*;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import java.awt.geom.Line2D;
import java.awt.geom.Point2D;
import java.awt.event.*;
import java.awt.Graphics2D;
import java.awt.geom.Ellipse2D;
import javax.swing.event.TableModelListener;
import javax.swing.JScrollPane;
import javax.swing.event.*;
import java.awt.Dimension;
import java.awt.Container.*;
* @author Kripa Bhojwani
public class GeomPanel extends javax.swing.JPanel implements Observer, MouseMotionListener, MouseListener {
private Model model;
private boolean pressed = false;
private boolean pressT = false;
private boolean pressR = false;
/** Creates new form GeomPanel */
public GeomPanel(Model model) {
this.model = model;
model.addObserver(this);
addMouseListener(this);
addMouseMotionListener(this);
initComponents();
setBackground(Color.getHSBColor(6,600,660));
public void paintComponent(Graphics gfx) {
Graphics2D g = (Graphics2D) gfx;
Point tc = model.getTop();
Point lc = model.getLeft();
Point rc = model.getRight();
Point2D.Double p1 = new Point2D.Double(tc.getX(),tc.getY());
Point2D.Double p2 = new Point2D.Double(lc.getX(),lc.getY());
Point2D.Double p3 = new Point2D.Double(rc.getX(),rc.getY());
Line2D.Double line = new Line2D.Double(p1, p2);
Line2D.Double line1 = new Line2D.Double(p2, p3);
Line2D.Double line2 = new Line2D.Double(p1, p3);
g.setColor(Color.BLACK);
g.draw(line);
g.draw(line2);
g.draw(line1);
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
private void initComponents() {
setLayout(new java.awt.BorderLayout());
addMouseMotionListener(new java.awt.event.MouseMotionAdapter() {
public void mouseDragged(java.awt.event.MouseEvent evt) {
formMouseDragged(evt);
private void formMouseDragged(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
public void mouseClicked(MouseEvent e) {
public void mouseDragged(MouseEvent e) {
System.out.println("Dragged at "+ e.getX()+ "," + e.getY());
if(pressed == true){
model.setLeft(e.getX() , e.getY());
else if(pressT == true){
model.setTop(e.getX() , e.getY());
else if (pressR == true){
model.setRight(e.getX(), e.getY());
else{
pressed = false;
pressT= false;
pressR=false;
repaint();
public void mouseEntered(MouseEvent e) {
public void mouseExited(MouseEvent e) {
public void mouseMoved(MouseEvent e) {
System.out.println("Mouse at " + e.getX() +"," + e.getY());
public void mousePressed(MouseEvent e) {
if (model.getLeft().getX()== e.getX() && model.getLeft().getY()== e.getY()){
pressed = true;
else if (model.getTop().getX()==e.getX() && model.getTop().getY()==e.getY()){
pressT = true;
else if(model.getRight().getX() == e.getX() && model.getRight().getY()==e.getY()){
pressR = true;
// else if(model.getCircle().getX() == e.getX() && model.getCircle().getY() == e.getY()){
// inoval = true;
else {
pressed =false;
pressT = false;
pressR = false;
} repaint();
public void mouseReleased(MouseEvent e) {
if(pressed == true){
model.setLeft(e.getX(),e.getY());
else if (pressT ==true ){
model.setTop(e.getX(), e.getY());
else if(pressR ==true){
model.setRight(e.getX(),e.getY());
else {
pressed = false;
pressT = false;
pressR = false;
repaint();
public void update(Observable o, Object arg) {
repaint();
// Variables declaration - do not modify
// End of variables declaration
This is my Model class called Model.java which Holds all teh data for my triangle
import java.awt.Point;
import java.util.Observable;
* Model.java
* Created on 05 December 2004, 14:11
* @author Kripa Bhojwani
public class Model extends Observable{
private int x1,x2,x3, y1,y2,y3;
private int _transx;
private int _transy;
private int _c;
private int _d;
/** Creates a new instance of Model */
public Model(int x1, int y1, int x2, int y2, int x3, int y3) {
this.x1 = x1;
this.y1 = y1;
this.x2 = x2;
this.y2 = y2;
this.x3 = x3;
this.y3 = y3;
setChanged();
notifyObservers();
public void setTop(int x1, int y1){
//this.x1 =x1;
this.y1= y1;
setChanged();
notifyObservers();
public void setRight(int x2, int y2){
this.x2 = x2;
// this.y2 =y2;
setChanged();
notifyObservers();
public void setLeft(int x3, int y3){
_transx = x3 - this.x3;
_transy = y3 - this.y3;
this.x3 += _transx;
this.y3 += _transy;
this.y2 += _transy;
this.x2 += _transx;
this.x1 += _transx;
this.y1 += _transy;
setChanged();
notifyObservers();
public Point getTop(){
Point p = new Point(x1,y1);
return p;
public Point getRight(){
Point p1 = new Point(x2,y2);
return p1;
public Point getLeft(){
Point p3 = new Point(x3,y3);
return p3;
public void update() {
setChanged();
notifyObservers();
This is my TableModel which is the JTable to display all the Cordinates and Lengths and other Measurements like angles etc./*
* TableModel.java
* Created on 03 December 2004, 15:08
import javax.swing.JTable;
import javax.swing.JScrollPane;
import javax.swing.JPanel;
import javax.swing.JFrame;
import java.awt.*;
import java.awt.event.*;
import java.util.Observer;
import javax.swing.event.TableModelEvent;
import javax.swing.table.AbstractTableModel;
* @author Kripa Bhojwani
public class TableModel extends AbstractTableModel implements Observer{
private String[] columnNames = {"Point", "X Coordinate", "Y Coordinate"};
private Object[][] data = {};
private int rowCount;
private int columnCount;
/** Creates a new instance of TableModel */
public TableModel() {
rowCount = 0;
columnCount = 3;
public int getColumnCount() {
return columnCount;
public int getRowCount() {
return rowCount;
public String getColumnName(int col) {
return columnNames[col];
public void setColumnName (String[] name){
columnNames = name;
public void setValueAt(Object obj, int row, int col) {
data[row][col] = obj;
fireTableCellUpdated(row, col);
TableModelEvent tme = new TableModelEvent(this);
fireTableChanged(tme);
public Object getValueAt(int row, int col) {
return data[row][col];
public void update(java.util.Observable o, Object arg) {
This is the Panel on the east side of My Main application form which will display all the measurements and Cordinates ---EastPanel.java
import java.awt.BorderLayout;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.event.TableModelListener;
import java.awt.Dimension;
* EastPanel.java
* Created on 04 December 2004, 23:07
* @author Kripa Bhojwani
public class EastPanel extends javax.swing.JPanel implements TableModelListener{
private TableModel tm;
/** Creates new form EastPanel */
public EastPanel() {
initComponents();
tm = new TableModel();
JTable table1 = new JTable(tm);
table1.setPreferredScrollableViewportSize(new Dimension(250,264));
table1.getModel().addTableModelListener(this);
JScrollPane sp = new JScrollPane(table1);
add(sp,BorderLayout.EAST);
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
private void initComponents() {
setLayout(new java.awt.BorderLayout());
public void tableChanged(javax.swing.event.TableModelEvent e) {
// Variables declaration - do not modify
// End of variables declaration
}import java.awt.*;
import java.awt.event.*;
import java.awt.geom.*;
import java.text.NumberFormat;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.table.DefaultTableCellRenderer;
public class G
public G()
TriangleModel tri = new
ri = new TriangleModel(175,100,175,250,325,250);
TriangleView view = new TriangleView(tri);
JFrame f = new JFrame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.getContentPane().add(view.getUIPanel(),
Panel(), "North");
f.getContentPane().add(view);
f.getContentPane().add(view.getTablePanel(),
Panel(), "South");
f.setSize(500,500);
f.setLocation(200,200);
f.setVisible(true);
public static void main(String[] args)
new G();
class TriangleModel // (x1,
y1)
{ // |\
static final int SIDES = 3; // | \
private int cx, cy; // |
| \
Polygon triangle; // |_
|_ _\ (x3, y3)
int selectedIndex; // (x2,
(x2, y2)
NumberFormat nf;
Line2D[] medians;
Point2D centroid;
public TriangleModel(int x1, int y1, int x2, int
int y2, int x3, int y3)
int[] x = new int[] { x1, x2, x3 };
int[] y = new int[] { y1, y2, y3 };
triangle = new Polygon(x, y, SIDES);
nf = NumberFormat.getNumberInstance();
nf.setMaximumFractionDigits(1);
public boolean contains(Point p)
// Polygon.contains doesn't work well enough
return (new Area(triangle)).contains(p);
public boolean isLineSelected(Rectangle r)
Line2D line = new Line2D.Double();
for(int j = 0; j < SIDES; j++)
int[] x = triangle.xpoints;
int[] y = triangle.ypoints;
int x1 = x[j];
int y1 = y[j];
int x2 = x[(j + 1) % SIDES];
int y2 = y[(j + 1) % SIDES];
line.setLine(x1, y1, x2, y2);
if(line.intersects(r))
selectedIndex = j;
return true;
selectedIndex = -1;
return false;
* Only works for right triangle with right angle
angle at (x2, y2)
public void moveSide(int dx, int dy, Point p)
int[] x = triangle.xpoints;
int[] y = triangle.ypoints;
switch(selectedIndex)
case 0:
x[0] += dx;
x[1] += dx;
break;
case 1:
y[1] += dy;
y[2] += dy;
break;
case 2:
double rise = y[2] - y[0];
double run = x[2] - x[0];
double slope = rise/run;
// rise / run == (y[2] - p.y) / (x[2]
] - p.y) / (x[2] - p.x)
x[2] = p.x + (int)((y[2] - p.y) /
)((y[2] - p.y) / slope);
// rise / run == (p.y - y[0]) / (p.x
y - y[0]) / (p.x - x[0])
y[0] = p.y - (int)((p.x - x[0]) *
)((p.x - x[0]) * slope);
public void translate(int dx, int dy)
triangle.translate(dx, dy);
public Polygon getTriangle()
return triangle;
public String findCentroid()
int[] x = triangle.xpoints;
int[] y = triangle.ypoints;
// construct the medians defined as the line
the line from
// any vertex to the midpoint of the opposite
opposite line
medians = new Line2D[x.length];
for(int j = 0; j < x.length; j++)
int next = (j + 1) % x.length;
int last = (j + 2) % x.length;
Point2D vertex = new Point2D.Double(x[j],
Double(x[j], y[j]);
// get midpoint of line opposite vertex
double dx = ((double)x[last] -
le)x[last] - x[next])/2;
double dy = ((double)y[last] -
le)y[last] - y[next])/2;
Point2D oppLineCenter = new
Center = new Point2D.Double(x[next] + dx,
y[next]
y[next] + dy);
medians[j] = new Line2D.Double(vertex,
uble(vertex, oppLineCenter);
// centroid is located on any median 2/3 the
2/3 the way from the
// vertex (P1) to the midpoint (P2) on the
) on the opposite side
double[] lengths = getSideLengths();
double dx = (medians[0].getX2() -
etX2() - medians[0].getX1())*2/3;
double dy = (medians[0].getY2() -
etY2() - medians[0].getY1())*2/3;
double px = medians[0].getX1() + dx;
double py = medians[0].getY1() + dy;
//System.out.println("px = " + nf.format(px)
rmat(px) +
// "\tpy = " +
py = " + nf.format(py));
centroid = new Point2D.Double(px, py);
return "(" + nf.format(px) + ", " +
", " + nf.format(py) + ")";
public String[] getAngles()
double[] lengths = getSideLengths();
String[] vertices = new
es = new String[lengths.length];
for(int j = 0; j < lengths.length; j++)
int opp = (j + 1) % lengths.length;
int last = (j + 2) % lengths.length;
double top = lengths[j] * lengths[j] +
lengths[last] *
lengths[last] * lengths[last] -
lengths[opp] *
lengths[opp] * lengths[opp];
double divisor = 2 * lengths[j] *
lengths[j] * lengths[last];
double vertex = Math.acos(top /
h.acos(top / divisor);
vertices[j] =
ertices[j] = nf.format(Math.toDegrees(vertex));
return vertices;
public String[] getLengths()
double[] lengths = getSideLengths();
String[] lengthStrs = new
rs = new String[lengths.length];
for(int j = 0; j < lengthStrs.length; j++)
lengthStrs[j] = nf.format(lengths[j]);
return lengthStrs;
public String[] getSquares()
double[] lengths = getSideLengths();
String[] squareStrs = new
rs = new String[lengths.length];
for(int j = 0; j < squareStrs.length; j++)
squareStrs[j] = nf.format(lengths[j] *
lengths[j] * lengths[j]);
return squareStrs;
private double[] getSideLengths()
int[] x = triangle.xpoints;
int[] y = triangle.ypoints;
double[] lengths = new double[SIDES];
for(int j = 0; j < SIDES; j++)
int next = (j + 1) % SIDES;
lengths[j] = Point.distance(x[j], y[j],
(x[j], y[j], x[next], y[next]);
return lengths;
class TriangleView extends JPanel
private TriangleModel model;
private Polygon triangle;
private JTable table;
private JLabel centroidLabel;
private boolean showConstruction;
TriangleControl control;
public TriangleView(TriangleModel model)
this.model = model;
triangle = model.getTriangle();
showConstruction = false;
control = new TriangleControl(this);
addMouseListener(control);
addMouseMotionListener(control);
public void paintComponent(Graphics g)
super.paintComponent(g);
Graphics2D g2 = (Graphics2D)g;
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
g2.draw(triangle);
if(model.medians == null)
centroidLabel.setText("centroid location:
id location: " + model.findCentroid());
// draw medians and centroid point
if(showConstruction && !control.dragging)
g2.setPaint(Color.red);
for(int j = 0; j < 3; j++)
g2.draw(model.medians[j]);
g2.setPaint(Color.blue);
g2.fill(new
g2.fill(new Ellipse2D.Double(model.centroid.getX() -
2,
model.centroid.getY()
model.centroid.getY() - 2, 4, 4));
public TriangleModel getModel()
return model;
public JTable getTable()
return table;
public JLabel getCentroidLabel()
return centroidLabel;
public JPanel getUIPanel()
JCheckBox showCon = new JCheckBox("show
ox("show construction");
showCon.addActionListener(new
ener(new ActionListener()
public void actionPerformed(ActionEvent
(ActionEvent e)
boolean state =
boolean state =
((JCheckBox)e.getSource()).isSelected();
showConstruction = state;
repaint();
JPanel panel = new JPanel();
panel.add(showCon);
return panel;
public JPanel getTablePanel()
String[] headers = new String[] { "", "", "",
// row and column data labels
String[] rowHeaders = {
"sides", "lengths", "squares", "angles",
", "angles", "degrees"
String[] sidesRow = { "vertical",
rtical", "horizontal", "hypotenuse" };
String[] anglesRow = { "hyp to ver", "ver to
"ver to hor", "hor to hyp" };
// collect data from model
String[] angles = model.getAngles();
String[] lengths = model.getLengths();
String[] squares = model.getSquares();
String[][] allData = { sidesRow, lengths,
lengths, squares, anglesRow, angles };
int rows = 5;
int cols = 4;
Object[][] data = new Object[rows][cols];
for(int row = 0; row < rows; row++)
data[row][0] = rowHeaders[row];
for(int col = 1; col < cols; col++)
data[row][col] = allData[row][col -
lData[row][col - 1];
table = new JTable(data, headers)
public boolean isCellEditable(int row,
ble(int row, int col)
return false;
DefaultTableCellRenderer renderer =
(DefaultTableCellRenderer)table.getDefaultRenderer(St
ring.class);
renderer.setHorizontalAlignment(JLabel.CENTER);
centroidLabel = new JLabel("centroid
centroid location: ", JLabel.CENTER);
Dimension d =
sion d = centroidLabel.getPreferredSize();
d.height = table.getRowHeight();
centroidLabel.setPreferredSize(d);
JPanel panel = new JPanel(new
anel(new BorderLayout());
panel.setBorder(BorderFactory.createTitledBorder("tri
angle data"));
panel.add(table);
panel.add(centroidLabel, "South");
return panel;
class TriangleControl extends MouseInputAdapter
TriangleView view;
TriangleModel model;
Point start;
boolean dragging, altering;
Rectangle lineLens; // used for line
line selection
public TriangleControl(TriangleView tv)
view = tv;
model = view.getModel();
dragging = altering = false;
lineLens = new Rectangle(0, 0, 6, 6);
public void mousePressed(MouseEvent e)
Point p = e.getPoint();
lineLens.setLocation(p.x - 3, p.y - 3);
// are we over a line
if(model.isLineSelected(lineLens))
start = p;
altering = true;
// or are we within the triangle
else if(model.contains(p))
start = p;
dragging = true;
public void mouseReleased(MouseEvent e)
altering = false;
dragging = false;
view.getCentroidLabel().setText("centroid
centroid location: " +
model.findCentroid());
view.repaint(); // for the construction
truction lines
public void mouseDragged(MouseEvent e)
Point p = e.getPoint();
if(altering)
int x = p.x - start.x;
int y = p.y - start.y;
model.moveSide(x, y, p);
updateTable();
view.repaint();
start = p;
else if(dragging)
int x = p.x - start.x;
int y = p.y - start.y;
model.translate(x, y);
view.repaint();
start = p;
private void updateTable()
String[] lengths = model.getLengths();
String[] squares = model.getSquares();
String[] angles = model.getAngles();
JTable table = view.getTable();
for(int j = 0; j < angles.length; j++)
table.setValueAt(lengths[j], 1, j + 1);
table.setValueAt(squares[j], 2, j + 1);
table.setValueAt(angles[j], 4, j + 1);
view.getCentroidLabel().setText("centroid
centroid location: " +
model.findCentroid());
Hey sorry mate.. ive got a nother problem.
I need to add loads of theorems to this tool. so i need a JMenu Bar called File with all the normal things. then another Menu called Theorems where i can have a list of JMenuItems with the theorem names --- Like when they click on Pythagoras Theorem it opens up all the triangle and the traingle data that u helped me with.
The thing is im using netbeans and in netbeans i can do it coz its there and all you got to do is put the components together.
Please Help
Thanks...
Sharan -
In report painter GRR3 1VK Actual Value picked up from previous year
Dear Experts,
In report painter GRR3 > 1VK
1. Column of Actual Quantity to take in Basic Key Figure from Statistical Quantity
2. The value is 4 (Actual) and Version is 0
I found that the Actual value appeared are actually taken from the previous fiscal year. I have checked the line items and their document posting date it shown as last fiscal year.
In this case, where should I amend to have the report pick up only actual value of this fiscal year? or Is there any value to maintain for GRR3 to pickup the current fiscal year actual posting?
Thank you very much and Best Regards,
Annehi..
Goto GRR3 > click on Lib 1VK it will show you all the report in 1VK library > select your report & double click on it
It will display the report format. Then go to Edit at the top. you will find General data selection.click on it you will find available characteristics. Then goto GRR2 for making any change/selection for Fiscal year char
If your report is a standard one you can not change. then copy the report from GRR1 and make the changes.
You can also see the char in GR23 by selecting 1VK lib.
kkumar
Edited by: kkbdsp on Mar 11, 2011 9:21 AM -
Double Click in ALV TREE doesn't get triggered
Hello All,
Double click event on item in a alv tree report doesn't get triggered. I thought I was doing everything right. Please help me out.
Look at the code below and tell me what else I need to do.
<b>FORM register_events .
Event registration: tell ALV Tree which events shall be passed
from frontend to backend.
DATA: lt_events TYPE cntl_simple_events,
l_event TYPE cntl_simple_event,
l_event_receiver TYPE REF TO lcl_tree_event_receiver.
Frontend registration: get already registered tree events
CALL METHOD g_alv_tree->get_registered_events
IMPORTING
events = lt_events.
Frontend registration: add additional event ids
l_event-eventid = cl_gui_column_tree=>eventid_node_double_click.
APPEND l_event TO lt_events.
Frontend registration: provide new event table to alv tree
CALL METHOD g_alv_tree->set_registered_events
EXPORTING
events = lt_events
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
illegal_event_combination = 3.
IF sy-subrc <> 0.
MESSAGE x208(00) WITH 'ERROR'. "#EC NOTEXT
ENDIF.
Register events on backend (ABAP Objects event handling)
CREATE OBJECT l_event_receiver.
SET HANDLER l_event_receiver->node_double_click FOR g_alv_tree.
SET HANDLER l_event_receiver->item_double_click FOR g_alv_tree.
SET HANDLER l_event_receiver->on_function_selected FOR g_toolbar.
ENDFORM. " register_events</b>
When I double click on item on the report double click event doesnt trigger. what could be the problem? Any sample programs?
Thanks,
ChandniHi,
Here is a sample code for you.
report ztree.
TABLES : vbak.
DATA: BEGIN OF mylist OCCURS 50. " Internal table hierarchy
INCLUDE STRUCTURE snodetext.
DATA: END OF mylist.
DATA: f15 TYPE c.
DATA :
BEGIN OF gt_sales OCCURS 0,
vbeln LIKE vbak-vbeln,
kunnr LIKE vbak-kunnr,
matnr LIKE vbap-matnr,
arktx LIKE vbap-arktx,
END OF gt_sales.
SELECT-OPTIONS : s_vbeln FOR vbak-vbeln.
START-OF-SELECTION.
SET PF-STATUS 'ZTREE1'.
SET TITLEBAR 'T1'.
Fill internal table with pseudo-data
PERFORM fill_itab.
Hierarchy output
PERFORM main.
*& Form FILL_ITAB
text
--> p1 text
<-- p2 text
FORM fill_itab .
*Fill the gt_sales table
SELECT vkvbeln vkkunnr vpmatnr vparktx INTO CORRESPONDING FIELDS OF
TABLE gt_sales
FROM ( vbak AS vk INNER JOIN vbap AS vp ON vkvbeln = vpvbeln )
WHERE vk~vbeln IN s_vbeln.
SORT gt_sales BY vbeln kunnr.
*Fill the root
mylist-name = 'Report Tree List'.
mylist-color = 1.
mylist-intensiv = '1'.
mylist-text = 'Report Tree List'.
mylist-tlength = 16.
mylist-tlevel = 1.
mylist-tcolor = 1.
mylist-tintensiv = '1'.
mylist-text1 = 'using "RS_TREE_CONSTRUCT" function'.
mylist-tlength1 = 50.
mylist-tcolor1 = 2.
mylist-tintensiv1 = '0'.
APPEND mylist.
LOOP AT gt_sales.
ON CHANGE OF gt_sales-vbeln.
mylist-name = 'level1'.
mylist-color = 0.
mylist-intensiv = '0'.
mylist-text = 'Sales Document no:'.
mylist-tlength = 20.
mylist-tlevel = 2.
mylist-tcolor = 7.
mylist-tintensiv = '1'.
mylist-text1 = gt_sales-vbeln.
mylist-tlength1 = 30.
mylist-tcolor1 = 2.
mylist-tintensiv1 = '0'.
APPEND mylist.
ENDON.
ON CHANGE OF gt_sales-kunnr.
mylist-name = 'level2'.
mylist-color = 0.
mylist-intensiv = '0'.
mylist-text = 'Customer no:'.
mylist-tlength = 20.
mylist-tlevel = 3.
mylist-tcolor = 5.
mylist-tintensiv = '1'.
mylist-text1 = gt_sales-kunnr.
mylist-tlength1 = 30.
mylist-tcolor1 = 3.
mylist-tintensiv1 = '0'.
APPEND mylist.
ENDON.
mylist-name = 'level3'.
mylist-color = 0.
mylist-intensiv = '0'.
mylist-text = gt_sales-matnr.
mylist-tlength = 15.
mylist-tlevel = 4.
mylist-tcolor = 4.
mylist-tintensiv = '0'.
mylist-text1 = gt_sales-arktx.
mylist-tlength1 = 30.
mylist-tcolor1 = 2.
mylist-tintensiv1 = '0'.
APPEND mylist.
ENDLOOP.
ENDFORM. " FILL_ITAB
*& Form MAIN
text
--> p1 text
<-- p2 text
FORM main .
PERFORM hierarchy. " construct & draw the tree
ENDFORM. " MAIN
*& Form HIERARCHY
text
--> p1 text
<-- p2 text
FORM hierarchy .
PERFORM build_tree.
PERFORM draw_tree.
ENDFORM. " HIERARCHY
FORM BUILD_TREE *
Builds the tree from internal table *
Uses the Function module RS_TREE_CONSTRUCT *
FORM build_tree.
CALL FUNCTION 'RS_TREE_CONSTRUCT'
TABLES
nodetab = mylist
EXCEPTIONS
tree_failure = 1.
ENDFORM. "build_tree
FORM DRAW_TREE *
Builds the tree from internal table *
Uses the Function module RS_TREE_DISPLAY *
FORM draw_tree.
sy-lsind = 0.
CALL FUNCTION 'RS_TREE_LIST_DISPLAY'
EXPORTING
callback_program = 'ZREPORT_TREE'
callback_user_command = 'NODE_SELECT'
IMPORTING
f15 = f15.
ENDFORM. "draw_tree
FORM NODE_SELECT *
Handles selection of nodes *
FORM node_select TABLES knoten STRUCTURE seucomm
USING command
CHANGING exit
list_refresh.
Processing of commands for hierarchy list
CASE command.
WHEN 'DISP'.
CASE knoten-id.
WHEN '000002'.
*Display Sales Order
SET PARAMETER ID 'AUN' FIELD knoten-text1.
CALL TRANSACTION 'VA03' AND SKIP FIRST SCREEN.
WHEN '000003'.
*Display Customer
SET PARAMETER ID 'KUN' FIELD knoten-text1.
CALL TRANSACTION 'XD03' AND SKIP FIRST SCREEN.
ENDCASE.
ENDCASE.
list_refresh = 'X'.
ENDFORM. "node_select -
How to show Headers in ABAP report
hii folks,
plz try to solve my quesions:
hw to show two Headers in ABAP report output, like
eg:
for first two fields(vendor A/C no. vendor name ) i have to shw header name like VENDOR PR. DETAILS & for the nxt following fields(vendor city, state, country)i have to shw VENDOR ADDRESS.(plz gv a exaple)
2Q) A INISILIZATION event in report hw many times it triggers.
3Q) In a ALV report once i double click on a selected record it has to shw its corresponing details.for(DOUBLE CLICK what we use & where i have to defind it)
thanking u
sweta.1. Please let me know whether it is for Classic list report or ALV.
2. Initilization is triggered only once when the report is loaded to memmory.
3.
3.1.) Declare user_command in events:
DATA: ls_event type slis_alv_event.
move 'USER_COMMAND' to ls_event-form.
append ls_event to gt_events.
3.2.) Getting cell value ." within the form USER_COMMAND:
FORM USER_COMMAND USING R_UCOMM LIKE SY-UCOMM
RS_SELFIELD TYPE SLIS_SELFIELD.
Check function code
CASE R_UCOMM.
WHEN '&IC1'. "--> check your own sy-ucomm once you double click the line item
Check field clicked on within ALVgrid report
IF RS_SELFIELD-FIELDNAME = 'EBELN'.
Read data table, using index of row user clicked on
READ TABLE IT_EKKO INTO WA_EKKO INDEX RS_SELFIELD-TABINDEX.
ENDIF.
ENDCASE.
ENDFORM.
For More details, please refer to following threads.
Re: Drill down report
double click on cell in alv report
Regards,
Lijo Joseph
*reward if useful -
GRCT HOW TO ADD Z TABLES IN REPORT PAINTER
Hi Gurus
Could you please send me information about how to activate z tables in report painter ? someone said me that i can user transaction GRCT to do that...¿ what aspects must I consider to add a table ?
mail: [email protected]
Regards
Andrés Morenohi Andres,
below are the steps for the Report Painter.....
Create a new report.
Menu Path: Information Systems > Ad hoc reports > Report Painter > Report > Create
On the Report Painter: Create Report screen, enter:
Library 1VK
Report RSS-A
Report Description Report w/Total Row
Hit <Create> button to move to the next screen.
Create the Rows of the Report The first four rows are cost element characteristics
Screen: Report Painter: Create Report
Type Cost Elements in the lead column cell
Double click on Row 1
In the Pop-up window 'Element definition: Row1", enter:
Note: If Pop-up window (select element type) appears, choose 'characteristics' and hit <Enter>.
Select 'Cost Element' as the characteristic in the 'Available characteristics' section
Hit <Move selected to left> button to move the characteristic 'Cost element' to the 'Selected characteristics' section
From 430000
Hit <Change short, middle and long texts> icon (at the bottom of the window)
In the Pop-up for Enter Texts, Enter:
Short Description from Table above for this Account
Click on the <Copy short text> button to copy this description to the other fields.
Hit <Confirm> to close the Pop-up
Hit <Confirm/Enter> to check consistency and close.
Repeat the above steps for the other 3 accounts
Create a formula row to calculate the total of the Cost Element rows
Screen: Report Painter: Create Report
Double click on Row 5 or the next empty row.
In the Pop-up for Select Element Type select 'Formula'
Hit <Enter> to close the Pop-up
In the Pop-up 'Enter Formula'
Use the calculator buttons to create the formula Y001 + Y002 + Y003 + Y004
Hit <Enter> to close the Pop-up
In the Pop-up 'Enter Texts'
Short Total
Click on the <Copy short text> button to copy this description to the other fields.
Hit <Enter> to close the Pop-up
Make sure your cursor is in the cell containing the word Total
Follow the Menu Path: Formatting > Row
In the Pop-up 'Row Formatting'
Overscore checked
Underscore checked
Hit <Enter> to close the Pop-up
Create the first column for actual costs
Screen: Report Painter: Create Report
Double click on the Column 1 cell.
In the Pop-up 'Select element type'
Select Predefined Key Figure radio button, and press <Enter>.
In Pop-up 'Choose predefined column'
Select Actual Costs as the predefined column, and press <Enter>.
In the Pop-up 'Element definition: Actual costs'
Press <Confirm> to check consistency and close.
Define the second column for plan costs
Screen: Report Painter: Create Report
Double click on the Column 2 cell.
In the Pop-up 'Select element type'
Select Key Figure with Characteristics as the element type, and press <Enter>.
In the Pop-up 'Element definition: Column 2'
Value Type 01 (Plan)
Version 0 (Actuals)
Valuation 0 (Legal valuation)
Hit <Change short, middle and long texts> icon
In the Pop-up for Enter Texts, Enter:
Short Plan
Click on the <Copy short text> button to copy this description to the other fields.
Hit <Confirm> to close Pop-up.
Hit <Confirm> to check consistency and close.
Create a formula column to calculate the variance between actual and plan costs
Screen: Report Painter: Create Report
Double click on the Column 3 cell
Assign the points....
Ranjit
Maybe you are looking for
-
How do I install to seperate drives?
On a pc with WIN7 64 I installed the CS6 programs I use most (Photoshop, Illustrator, Premiere, AE) to the C drive, a ssd. I had the rest of CS6 installed on a 7200rpm drive (drive D) that failed. I have replaced that secondary drive (D) and I'm at
-
My clip will not allow me to set its transparency
OK- I am getting the Tom Wolsey book but in the meantime my FCE HD is being hard learning: I have a full clip of 4 minutes of my daughter singing while seated. But I also have her singing the same song (lip synching) while walking and sitting in a di
-
I Acquired asset on 01.04.2010 but i need to Run Depreciation from 31.05.2010 what steps need to do for blocking of 2 months Regards Varyb
-
Hi, is there anyone know how to set the size of the ftp file? I want to set my user to ftp the size 100MB only into his directory. anyone does had any idea to do that?
-
How do I get to print when my printer says "off line" ?
My HP Deskjet D4360 is plugged in and has 2 bars of colored ink and 1 bar of black ink showing on the printer; yet when I first turn on the printer, the golden ink drop flashes for 2-3 times and disappears. Does this mean that I still have to replace