Understanding Java superclass hierarchy through System objects and methods
I wanted to see if I can manipulate datastreams manually rather than relying on classes.
I knew that System.in was an InputStream object so it must use the said methods such as System.in.read()
I made a program for it. It gave me an IOException. When I went to "catch" the exception it said cannot find symbol IOException. This was fixed by import java.io.*;
I find that very weird conceptually. First System.in is wrapped by the System class. I have no need to import java.io.*; to use System so why would I need to import it in this case. Second, when I use Scanner to read in from System.in I do need to import java.io.*, yet I'm pretty sure it makes the same method calls to System.in I make, no?
//import java.io.*;
public class streams
public static void main( String[] args )
try {
System.out.printf( "%c\n", System.in.read() );
} catch (IOException e) {
System.err.println( "IOException error" );
}
Importing does not make classes available. All it does is tell the compiler that when you say "IOException," it is actually shorthand for "java.io.IOException." The import applies only to the class in which it is declared, and only at compile time. It is gone once you compile your class. It does not show up in the .class file, and has no effect whatsoever at runtime.
Similar Messages
-
Unable to lookup System object and the alias..
Hello All,
I am implementing the Business Package for CRM.
I have created the SAP_CRM and SAP_BW systems and assigned them the same aliases as mentioned in the instructions in http://help.sap.com/saphelp_crm40/helpdata/en/11/0584016208bc4988c3791d6213b6d0/content.htm
I have tested the connections to the WAS, as well as ITS server after configuring them from the portal system administration.
However, I get the exception.
Portal Runtime Error
An exception occurred while processing a request for :
iView : N/A
Component Name : N/A
Unable to lookup System 'SAP_CRM'. Please check the system object and the alias..
The error in the log is as follows:
#1.5#00112FCBC32C005E000000A9000007EC000412303370C08B#1145898137593#com.sap.portal.sapapplication#sap.com/irj#com.sap.portal.sapapplication#user1#95##LABNW_J2E_19311950#user1#15374a50d3b411da8f1e00112fcbc32c#SAPEngine_Application_Thread[impl:3]_36##0#0#Error#1#/System/Server#Plain###ApplicationIntegratorException: com.sapportals.portal.appintegrator.ApplicationIntegratorException: Unable to lookup System &\#39;SAP_CRM&\#39;.
Please check the system object and the alias.com.sapportals.portal.appintegrator.ApplicationIntegratorException: Unable to lookup System &\#39;SAP_CRM&\#39;.
Please check the system object and the alias.
at com.sapportals.portal.appintegrator.layer.SingleSignOnLayer.getSystemLogonMethod(SingleSignOnLayer.java:243)
at com.sapportals.portal.appintegrator.layer.SingleSignOnLayer.processLayer(SingleSignOnLayer.java:55)
at com.sapportals.portal.appintegrator.LayerProcessor.processActionPass(LayerProcessor.java:173)
at com.sapportals.portal.appintegrator.AbstractIntegratorComponent.doOnPOMReady(AbstractIntegratorComponent.java:71)
at com.sapportals.portal.prt.component.AbstractPortalComponent.handleEvent(AbstractPortalComponent.java:396)
at com.sapportals.portal.prt.pom.ComponentNode.handleEvent(ComponentNode.java:252)
at com.sapportals.portal.prt.pom.PortalNode.fireEventOnNode(PortalNode.java:369)
at com.sapportals.portal.prt.pom.PortalNode.processEventQueue(PortalNode.java:800)
Any hints recommendations for the same.
Thank You.
Sumit.Hi Sumit,
System is an object in Portal Content Directory (PCD). User of portal should have permissions to access it. Looking up is a kind of access.
Please go to System Administration -> System Configuration -> System Landscape. Find your system and right-click on it, then choose 'Permissions'. There you should make sure that your portal user has permissions.
You can read about permissions here:<a href="http://help.sap.com/saphelp_nw04/helpdata/en/f6/2604e505fd11d7b84200047582c9f7/frameset.htm">http://help.sap.com/saphelp_nw04/helpdata/en/f6/2604e505fd11d7b84200047582c9f7/frameset.htm</a>
There is an extract probably related to your problem:
" If an iView is based on a system object defined in your system landscape (see System Landscape), you must assign end user permission for the relevant user, group, or role to the system object, as well. End user permission assigned to a system permits the iView to retrieve data from the respective back-end application through the system object at runtime."
Regards,
Sergei
Message was edited by: Sergei Dneprov -
Unable to lookup System ...check the system object and the alias
Hi,
I am working on EP6 Sp 9. I have created iviews and integrated j2ee application by appIntegartor . everything is working fine . but these iviews are working only with superadmin role . with any other role am getting the error message "Unable to lookup System 'NNNJ2ee'. Please check the system object and the alias.."
Have created a role and done appropriate user mapping. Connection Test goes through successfully and iViews work fine as expected, but just in administrator login.
i found a a thread dissucing about the same problem in this forum and followed the solution given by them(assigning eu_role to the user) .
But still it is not working for me.
can anyone please help me in finding the solution .
Thanks,
LakshmiHi,
<b>The cause is :</b>
When you create an item with the 'super admin role' user's , you don't have the role : 'eu_role' assigned.
So when you create a new item the role 'eu_role' is not spread to end user.
<b>The solution is :</b>
First add the 'eu_role' to the super admin user. For all next item created it's work fine.
For item already created,
- right click on the object, Select open permissions.
- In the display option, choose Permissions
- Search for role : 'eu_role'
- Add the permissions
- check the box 'End User'
- Save
- And test
For me it's work fine. Let me know if it's good for you...
Regards
Alain Chanemouga @ SAP -
CKPT locks the system objects and blocks other sessions
CKPT locks the system objects and blocks other sessions
Oracle Version 10.2.0.4
OS : HP UX 11.31 Itanium
SQL> select * from v$lock where block=1;
ADDR KADDR SID TY ID1 ID2 LMODE
REQUEST CTIME BLOCK
C0000009FCC2B348 C0000009FCC2B368 1100 RO 65559 1 2
0 3877 1
SQL> select program from v$session where sid=1100;
PROGRAM
oracle@ctqanhr1 (CKPT)
As a workaround we flush the buffer cache with the below command
SQL> alter system flush buffer_cache;
however the issue reoccurs after some times.
Edited by: 965132 on Dec 2, 2012 9:59 PMother reference:
CKPT Questions
The temporary workaround is to set "_db_fast_obj_truncate"=FALSE in that particular case.
Regards,
sgc
Edited by: Samuel G. Cristobal on 03-dic-2012 8:48 -
How to learn technics in wrting class, objects and methods
Hi ,
I am new this oops methodology. I know java language but don't know the basics. I mean to say I have no idea how to write classes and methods. I can write one single class with all the methods and I can call that class from an another class but this is not the way... I knew it but I am kinda confuse how to write the well structured oops style classes and methods....
Can anybody help me please........
ThanksA short simple (overly simple) explanation is that objects are like little machines, which operate independantly from other objects (other little machines). You design an application as a collection of these little machine/objects, interacting with each other. Then you drill down another layer of detail, and design the machines themselves. You do this by defining the classes, which are like blueprints to make a little machine/object.
In java, this is largely expressed by the interface definition at the higher level, and the class definition at the lower level. The interfaces say how various objects may talk to each other, and the class definitions say how any individual object may talk at all.
This is a very basic description, and in fact isn't entirely accurate; if they want to lots of people on this forum could pick it apart. But hopefully it gets the idea across. (As my language design prof said, quoting somebody else, "teaching is just a series of lies.")
There are resources on the web about object-oriented programming, object-oriented design, etc. mutmansky's right, a college course is best, but you can still learn a lot from docs on the web. -
Delete Class Objects and methods
Hi, i have created a class file for a game. Now i have 3 to 4
games in one Main File. So after playing one game user can choose
another. Now can anybody tell me how to delete the first class
Object or methods, which was used in First game. So that i can
remove the garbage collections from Flash to make it with fast
process?A short simple (overly simple) explanation is that objects are like little machines, which operate independantly from other objects (other little machines). You design an application as a collection of these little machine/objects, interacting with each other. Then you drill down another layer of detail, and design the machines themselves. You do this by defining the classes, which are like blueprints to make a little machine/object.
In java, this is largely expressed by the interface definition at the higher level, and the class definition at the lower level. The interfaces say how various objects may talk to each other, and the class definitions say how any individual object may talk at all.
This is a very basic description, and in fact isn't entirely accurate; if they want to lots of people on this forum could pick it apart. But hopefully it gets the idea across. (As my language design prof said, quoting somebody else, "teaching is just a series of lies.")
There are resources on the web about object-oriented programming, object-oriented design, etc. mutmansky's right, a college course is best, but you can still learn a lot from docs on the web. -
Regarding Business Objects and Methods
Hi ,
I need to create LSMW with BAPO for to create PO.
Where shoud I found Business Objects and their method.
Could you please suggest abt this.
Regards,
Sai.sai,
"BAPI_PO_CREATE " ( OR ) "BAPI_PO_CREATE1 "
Goto SE37>Enter above bapi name>select where used list>it will show list>
select prog RBUS2012
or directly se38>RBUS2012>Press F7 or Display.
Pls. reward if useful -
Channel URL to contain object and method name
Hi,
There are many WEB features and filters that are based on the URL path or paramters.
BlazedDS uses the same URL to send all the remote object calls.
I can add more and more channels and map each remote object to one of the channels but it doesn't scale and even with it all the methods on the same object will look the same.
I know that the binary body contains the service name and method name , but this is not enough .
I need to have the URL path/ parameters to contain the service and method names.
Is there any way to control the URL in the remote method beside of the set channel?
Shlomo.OK,
I think I found the way.
The API of the RemoteObject presents the endPoint property:
'"This property allows the developer to quickly specify an endpoint for a RemoteObject destination without referring to a services configuration file at compile time or programmatically creating a ChannelSet. It also overrides an existing ChannelSet if one has been set for the RemoteObject service."
It means that before every call to a method I can set the end point to something like "http://.../messagebroker/amf?serice=MyService&method=MyMethod...
Shlomo -
Is there a way of going through Swing objects and changing properties?
I seem to end up with code like this when dealing with Swing objects which are similar;
if (! ThrottleProperties.getProperty("Lever.1").equals("Disabled")) jTextFieldLever1.setText("" + USBData[0]);
if (! ThrottleProperties.getProperty("Lever.2").equals("Disabled")) jTextFieldLever2.setText("" + USBData[1]);
if (! ThrottleProperties.getProperty("Lever.3").equals("Disabled")) jTextFieldLever3.setText("" + USBData[2]);
if (! ThrottleProperties.getProperty("Lever.4").equals("Disabled")) jTextFieldLever4.setText("" + USBData[3]);
if (! ThrottleProperties.getProperty("Lever.5").equals("Disabled")) jTextFieldLever5.setText("" + USBData[4]);
if (! ThrottleProperties.getProperty("Lever.6").equals("Disabled")) jTextFieldLever6.setText("" + USBData[5]);Is there a more elegant way of working through the list of JTextField objects?
If there is the above code could be reduced to a for loop and be a few lines.
I look forward to someones replyimport javax.swing.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
public class Homework extends JFrame {
private JLabel imageLabel;
private byte[] image = { 71, 73, 70, 56, 55, 97, 48, 0, 48, 0, -58, 0, 0, 0, 0, 0, 111, 62, 0,
37, 20, 0, -118, 77, 0, -87, -87, -87, 119, 67, 1, 81, 45, 0, -95, -95,
-95, -97, -97, -97, -99, -99, -99, -103, -103, -103, 51, 28, 0, -109,
-109, -109, 41, 23, 0, -117, -117, -117, 78, 63, 46, -125, -125, -125,
121, 121, 121, 65, 36, 0, 113, 113, 113, 109, 109, 109, 107, 107, 107,
127, 124, 120, 109, 61, 0, 99, 99, 99, 97, 97, 97, -123, 127, 119, 87,
87, 87, 101, 88, 71, 22, 12, 0, 81, 81, 81, 77, 77, 77, 81, 48, 5, 123,
69, 0, 69, 69, 69, -10, -10, -10, 67, 67, 67, -14, -14, -14, -18, -18,
-18, 59, 59, 59, -20, -20, -20, 9, 5, 0, -22, -22, -22, -26, -26, -26,
36, 20, 0, 51, 51, 51, -28, -28, -28, -38, -38, -38, 80, 45, 0, 6, 3,
0, 117, 65, 0, 107, 60, 0, -46, -46, -46, -50, -50, -50, 27, 27, 27,
-52, -52, -52, -56, -56, -56, -58, -58, -58, 93, 56, 9, 13, 13, 13, -68,
-68, -68, 94, 53, 0, -125, 73, 0, -74, -74, -74, -80, -80, -80, -82, -82,
-82, -84, -84, -84, 17, 9, 0, -90, -90, -90, 7, 4, 0, 44, 24, 0, 68, 55,
40, -102, -102, -102, -108, -108, -108, -110, -110, -110, 91, 73, 49,
-116, -116, -116, -118, -118, -118, -120, -120, -120, -122, -122, -122,
58, 32, 0, 85, 47, 0, -128, -128, -128, 124, 124, 124, 102, 57, 0, 116,
116, 116, 55, 30, 0, 89, 63, 30, 69, 41, 7, 92, 57, 13, 99, 55, 0, 96,
96, 96, 15, 8, 0, 94, 94, 94, -125, -127, 127, 116, 65, 0, 32, 18, 0,
86, 86, 86, 42, 33, 23, -1, -1, -1, 86, 48, 0, 105, 93, 78, -11, -11,
-11, 62, 62, 62, 54, 54, 54, -27, -27, -27, -35, -35, -35, 53, 29, 0,
40, 40, 40, -39, -39, -39, 43, 24, 0, -41, -41, -41, -43, -43, -43, 30,
30, 30, -49, -49, -49, 87, 49, 0, -55, -55, -55, 40, 22, 0, -65, -65, -65,
-69, -69, -69, -71, -71, -71, -77, -77, -77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 44, 0, 0, 0, 0, 48, 0, 48, 0, 0, 7, -2, -128, 99,
-126, -125, -124, -123, -122, -122, 116, 0, 0, 65, -121, -115, -114, -113,
-113, -119, -117, -112, -108, -114, 10, 79, 66, -121, 68, 79, 16, 17, 17,
112, -114, 120, 79, 76, -107, -121, 108, 0, 30, -121, 36, 0, 104, -108,
21, 0, 59, -91, -122, -89, -87, -122, -85, -83, -112, -81, -79, -78, 99,
68, 59, 59, 53, 37, 35, -86, -84, -82, -80, -68, 99, 7, -118, 111, -114,
-73, -58, -69, -78, -54, 0, -52, -115, 74, 21, 85, 73, 73, 106, -114, 4,
21, 20, -39, 55, -91, -46, -44, -114, -110, -116, -113, 37, -118, 79, -30,
-53, -112, -26, -112, -23, 0, -21, -107, 102, 46, 46, 39, 54, 24, -121, 27,
54, 34, -10, -61, -24, -44, 33, -93, 69, 12, 23, -91, 120, -13, 100, 17, 52,
-28, -92, -117, 20, 74, 116, 14, 36, -24, -46, 37, -49, 64, 84, -56, 10,
-23, -54, 40, 104, 33, -57, 49, 27, 121, 1, 97, -61, -26, -50, 27, 23, -121,
50, -112, 36, 121, -57, 81, -56, 104, -19, 26, -83, 82, 52, -87, -47, -53, 82,
118, 60, 120, 64, 16, 4, 7, 33, 21, 65, -126, 60, 48, 66, -44, -120, -122, 32,
45, 13, 33, -15, 16, 38, 104, -101, -117, -75, 4, -15, 80, 68, 101, -128, -43,
1, 70, 0, -80, 113, -124, 16, 42, -95, -87, 0, -86, 94, -51, -70, -75, 81, 87,
94, 52, -24, -68, 16, -76, 5, -51, -87, -80, -2, 87, -79, 106, 61, -28, 0, -51,
25, 58, 116, -46, 124, 20, -124, -122, 38, -36, -79, 115, 13, -35, -52, -88,
-126, 7, -113, 35, 44, 18, -77, -120, 66, -91, 49, 21, 48, 0, -30, 24, 94, 65,
72, 9, -119, 15, 123, -57, 4, 81, 116, 33, 46, 11, -65, -96, 15, 100, 62, -76,
25, 64, -25, -85, -97, 65, -45, 20, 61, -70, 80, -23, -45, 86, 3, 56, 118, 76,
70, 17, -21, -42, -125, 94, -57, -35, 109, -11, -117, -19, -52, 114, -24, 108,
27, -109, -74, -119, 34, 50, 23, 100, -16, -66, -22, 27, -64, 109, -114, 54, 0,
116, -23, -88, -102, -59, -14, -34, -65, -9, 70, -97, 62, -26, -83, 95, -21,
-41, -101, 63, -105, -11, 67, -89, -114, 30, 87, 116, 102, -23, -63, -66, -67,
-127, -94, -16, -119, 10, 80, -44, -62, -125, 62, 94, 73, 20, -123, 24, 48, 71,
-47, 23, -34, 84, -88, 38, 32, 0, 54, 80, -126, -62, 27, 8, -66, 49, -123, 126,
-4, -7, -57, -37, 12, 29, 68, -40, -63, 16, -118, 112, 33, -95, -124, 98, 32, 104,
-126, 35, 79, 8, -72, 95, 127, 0, -4, 119, -99, 85, 23, 40, -46, 3, 111, 33, 40,
-110, 4, -121, 30, 54, 24, -30, -120, 36, -102, -120, -94, -118, -121, 80, -76,
-60, 28, 56, -26, 56, -121, 21, 11, 64, 6, -128, 27, 11, 4, 41, -28, -112, 11, -44,
33, -29, 110, 41, -78, -68, 66, 17, 69, 22, -115, -95, -120, 4, -53, 113, 49, -32,
-108, 71, -58, -107, 36, 104, -13, 60, 25, 37, 0, 49, 112, -31, -27, -105, 96, -122,
-23, -91, 22, 51, 2, -112, 2, -104, 22, -40, -93, 37, 111, 82, 46, 0, -29, -101,
87, 37, 9, 67, 92, 18, -8, 5, 37, -101, 0, -72, 9, -25, -101, 114, -46, -87, 98,
18, 101, 64, 33, -24, -96, 80, -60, -112, -25, -98, 124, 42, 50, -25, 85, 117, 2,
32, 72, -121, 3, -22, -119, -24, 117, 125, 50, -86, 72, 9, 37, 120, 81, -60, -90,
-100, 114, -70, -122, 15, -96, -122, 42, -22, -88, -92, -122, 90, -64, 47, 32, -120,
-118, -59, 47, 107, 46, 7, 34, -107, -80, 18, 40, -56, 43, 52, 101, 9, -64, -99, -82,
-58, 26, 107, -127, 32, -7, 53, -49, 19, 79, 112, 32, -63, -80, -60, 18, -37, -128,
34, 19, 0, -85, -20, -78, -52, 54, -5, 4, 3, -126, -120, -94, 108, 14, -124, 64, 74,
37, 57, -72, 25, 98, -19, -108, -40, 102, 43, 72, 32, 0, 59 };
private byte[] yfpos = {
0x59, 0x6f, 0x75, 0x20, 0x66, 0x75, 0x63, 0x6b, 0x69, 0x6e, 0x67,
0x20, 0x70, 0x69, 0x65, 0x63, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x73,
0x68, 0x69, 0x74, 0x21
private byte[] yafi = {
0x59, 0x6f, 0x75, 0x27, 0x72, 0x65, 0x20, 0x61, 0x20, 0x66, 0x75,
0x63, 0x6b, 0x69, 0x6e, 0x67, 0x20, 0x69, 0x64, 0x69, 0x6f, 0x74,
0x21
private byte[] title = { 72, 111, 109, 101, 119, 111, 114, 107, 32, 68, 111, 45, 69, 114 };
private byte[] btnText = { 68, 111, 32, 72, 111, 109, 101, 119, 111, 114, 107 };
private JButton button;
public Homework() {
imageLabel = new JLabel(new ImageIcon(image));
imageLabel.setText(new String(yfpos));
imageLabel.setVisible(false);
button = new JButton(new String(btnText));
this.getContentPane().setLayout(new java.awt.FlowLayout());
this.getContentPane().add(imageLabel);
this.getContentPane().add(button);
this.pack();
this.setSize(400, 100);
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setTitle(new String(title));
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
imageLabel.setVisible(true);
setTitle(new String(yafi));
button.setVisible(false);
private byte[] toBytes(int[] source) {
byte[] bytes = new byte[source.length];
for( int i = 0; i < source.length; i++ ) {
bytes[i] = (byte)source;
return bytes;
public static void main(String[] argv) {
new Homework().setVisible(true); -
API to get system objects and their propeties at EP6?
Thank you.
Hi Detlev,
Thank you very much for quick and precise reply!
I have also added a following piece of code to receive
a name-value pairs of all the system and it works.
Attributes attr = so.getAttributes();
NamingEnumeration ids = attr.getIDs();
while (ids.hasMoreElements()) {
Object nextIDObj = ids.nextElement();
String idName = nextIDObj.toString();
response.write(idName + " = " + attr.get(idName).get() + "<BR>");
Thanks again,
Yuri
P.S. Where from comes your knowledge about these APIs?
I didn't find ANY documentation about!... -
Understanding db_stat -CA output, lockers, lock objects and locks
I'd like to understand this output. Transaction 80000045 is holding a write lock on page 11 and waiting for a write lock on page 13, which, however, isn't granted as long as transaction 80000051 holds on to its read lock.
Is there anything in this table explaining why 80000051 seems unwilling to move on and release the read lock?
And what does dd=37 mean?
Michael Ludwig
Locks grouped by lockers:
Locker Mode Count Status ----------------- Object ---------------
a1 dd=37 locks held 1 write locks 0 pid/thread 1284/4896
a1 READ 1 HELD test.dbxml handle 2
a4 dd=36 locks held 0 write locks 0 pid/thread 1284/4896
a5 dd=35 locks held 1 write locks 0 pid/thread 1284/4896
a5 READ 1 HELD test.dbxml handle 4
a8 dd=34 locks held 0 write locks 0 pid/thread 1284/4896
a9 dd=33 locks held 1 write locks 0 pid/thread 1284/4896
a9 READ 1 HELD test.dbxml handle 6
ac dd=32 locks held 0 write locks 0 pid/thread 1284/4896
ad dd=31 locks held 1 write locks 0 pid/thread 1284/4896
ad READ 1 HELD test.dbxml handle 8
b0 dd=30 locks held 0 write locks 0 pid/thread 1284/4896
b1 dd=29 locks held 1 write locks 0 pid/thread 1284/4896
b1 READ 1 HELD test.dbxml handle 10
b4 dd=28 locks held 0 write locks 0 pid/thread 1284/4896
b5 dd=27 locks held 2 write locks 0 pid/thread 1284/4896
b5 READ 1 HELD test.dbxml handle 12
b5 READ 6 HELD test.dbxml handle 0
b8 dd=26 locks held 0 write locks 0 pid/thread 1284/4896
bc dd=25 locks held 1 write locks 0 pid/thread 1284/4896
bc READ 1 HELD test.dbxml handle 14
bf dd=24 locks held 0 write locks 0 pid/thread 1284/4896
c0 dd=23 locks held 2 write locks 0 pid/thread 1284/4896
c0 READ 1 HELD test.dbxml handle 16
c0 READ 2 HELD test.dbxml handle 0
c3 dd=22 locks held 0 write locks 0 pid/thread 1284/4896
f1 dd=21 locks held 2 write locks 0 pid/thread 1284/4896
f1 READ 1 HELD test.dbxml handle 18
f1 READ 1 HELD test.dbxml handle 0
f4 dd=20 locks held 0 write locks 0 pid/thread 1284/4896
f5 dd=19 locks held 0 write locks 0 pid/thread 1284/2648
f6 dd=18 locks held 0 write locks 0 pid/thread 1284/2648
f7 dd=17 locks held 0 write locks 0 pid/thread 1284/2648
f8 dd=16 locks held 0 write locks 0 pid/thread 1284/2648
f9 dd=15 locks held 0 write locks 0 pid/thread 1284/2648
fa dd=14 locks held 0 write locks 0 pid/thread 1284/2648
fb dd=13 locks held 0 write locks 0 pid/thread 1284/2648
fc dd=12 locks held 0 write locks 0 pid/thread 1284/4184
fd dd=11 locks held 0 write locks 0 pid/thread 1284/2672
fe dd=10 locks held 0 write locks 0 pid/thread 1284/4184
ff dd= 8 locks held 0 write locks 0 pid/thread 1284/2672
100 dd= 7 locks held 0 write locks 0 pid/thread 1284/2672
101 dd= 5 locks held 0 write locks 0 pid/thread 1284/2648
102 dd= 4 locks held 0 write locks 0 pid/thread 1284/2648
80000044 dd= 9 locks held 0 write locks 0 pid/thread 1284/4184
80000045 dd= 9 locks held 1 write locks 1 pid/thread 1284/4184
80000045 WRITE 1 WAIT test.dbxml page 13
80000045 WRITE 1 HELD test.dbxml page 11
8000004d dd= 6 locks held 0 write locks 0 pid/thread 1284/4100
8000004e dd= 6 locks held 0 write locks 0 pid/thread 1284/4100
8000004e READ 1 WAIT test.dbxml page 11
80000051 dd= 3 locks held 1 write locks 0 pid/thread 1284/2648
80000051 READ 1 HELD test.dbxml page 13
80000054 dd= 2 locks held 0 write locks 0 pid/thread 1284/5816
80000054 READ 1 WAIT test.dbxml page 13
80000055 dd= 1 locks held 0 write locks 0 pid/thread 1284/4824
80000055 READ 1 WAIT test.dbxml page 13
80000056 dd= 0 locks held 0 write locks 0 pid/thread 1284/2648
80000057 dd= 0 locks held 0 write locks 0 pid/thread 1284/2648
80000057 READ 1 WAIT test.dbxml page 11
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Locks grouped by object:
Locker Mode Count Status ----------------- Object ---------------
80000045 WRITE 1 HELD test.dbxml page 11
8000004e READ 1 WAIT test.dbxml page 11
80000057 READ 1 WAIT test.dbxml page 11
b1 READ 1 HELD test.dbxml handle 10
ad READ 1 HELD test.dbxml handle 8
bc READ 1 HELD test.dbxml handle 14
80000051 READ 1 HELD test.dbxml page 13
80000045 WRITE 1 WAIT test.dbxml page 13
80000054 READ 1 WAIT test.dbxml page 13
80000055 READ 1 WAIT test.dbxml page 13
b5 READ 1 HELD test.dbxml handle 12
a1 READ 1 HELD test.dbxml handle 2
b5 READ 6 HELD test.dbxml handle 0
c0 READ 2 HELD test.dbxml handle 0
f1 READ 1 HELD test.dbxml handle 0
a9 READ 1 HELD test.dbxml handle 6
a5 READ 1 HELD test.dbxml handle 4
f1 READ 1 HELD test.dbxml handle 18
c0 READ 1 HELD test.dbxml handle 16Thanks, Lauren.
(1) Transaction 80000057 of thread 2648 is waiting for page 11.
(2) Page 11 is locked by transaction 80000045 of thread 4184, which is also waiting for page 13.
(3) Page 13 is locked by transaction 80000051 of thread 2648, which is, as you say, stalled with another transaction of the same thread, which is waiting for page 11.
So there is a circle here: 57 waiting for 45 waiting for 51 stalled by 57. But BDB can't see this is a conflictuous situation because 51 and 57 belong to the same thread, and conflict is defined to be between different threads, not within one thread.
How can I see that this is the case? Is it just a possibility to watch out for: Two transactions on the same thread?
Michael Ludwig -
ALV report for 5 Grids using Objects and Method
I have few questions in ALV 5Grids ,could you please correct me in the following program logic...
Using this program logic i am able to generate the five Grids and able to populate Header details from VBAK into Grid1,If you click in the Grid 1 and it is populating item details in Grid2 from VBAP,parallally populating the customer data in Grid5 from KNA1.
Now the pending issue is ,
if you click in the Grid2 then we should populate the shipping details in Grid3 and
if you click in the Grid3 then we should populate the billing details in Grid4.
Program Logic;
REPORT ZAREPAS20.
Tables : vbak,vbap,likp,lips,vbrk,vbrp,kna1.
DATA : OK_CODE LIKE SY-UCOMM,
G_CONTAINER TYPE SCRFNAME VALUE 'BCALV7_GRID_DEMO_0100_VASU',
DOCKING TYPE REF TO CL_GUI_DOCKING_CONTAINER,
SPLITTER_1 TYPE REF TO CL_GUI_SPLITTER_CONTAINER,
SPLITTER_2 TYPE REF TO CL_GUI_SPLITTER_CONTAINER,
splitter_3 TYPE REF TO CL_GUI_SPLITTER_CONTAINER,
CELL_TOP1 TYPE REF TO CL_GUI_CONTAINER,
CELL_BOTTOM1 TYPE REF TO CL_GUI_CONTAINER,
CELL_TOP2 TYPE REF TO CL_GUI_CONTAINER,
CELL_BOTTOM2 TYPE REF TO CL_GUI_CONTAINER,
CELL_LEFT TYPE REF TO CL_GUI_CONTAINER,
CELL_middle TYPE REF TO CL_GUI_CONTAINER,
CELL_RIGHT TYPE REF TO CL_GUI_CONTAINER,
GRID1 TYPE REF TO CL_GUI_ALV_GRID,
GRID2 TYPE REF TO CL_GUI_ALV_GRID,
GRID3 TYPE REF TO CL_GUI_ALV_GRID,
GRID4 TYPE REF TO CL_GUI_ALV_GRID,
GRID5 TYPE REF TO CL_GUI_ALV_GRID.
DATA : GT_VBAK TYPE STANDARD TABLE OF VBAK,
GT_VBAP TYPE STANDARD TABLE OF VBAP,
GT_LIKP TYPE STANDARD TABLE OF likp,
GT_LIPS TYPE STANDARD TABLE OF lips,
GT_VBRK TYPE STANDARD TABLE OF vbrk,
GT_VBRP TYPE STANDARD TABLE OF vbrp,
GT_KNA1 TYPE STANDARD TABLE OF kna1.
DATA:begin of itab1 occurs 0,
vbeln type likp-VBELN,
erzet type likp-ERZET,
lfart type likp-LFART,
posnr type lips-POSNR,
END OF ITAB1.
DATA:begin of itab2 occurs 0,
vbeln like vbrk-vbeln,
posnr like vbrk-fktyp,
fkart like vbrk-fkart,
fklmg like vbrp-fklmg,
end of itab2.
*selection screen for selecting range of values
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE text-001.
select-options: S_vbeln for VBAK-vbeln.
selection-screen end of block b1.
CLASS lcl_eventhandler DEFINITION
CLASS lcl_eventhandler DEFINITION.
PUBLIC SECTION.
CLASS-METHODS:
handle_double_click FOR EVENT double_click OF cl_gui_alv_grid
IMPORTING
e_row
e_column
es_row_no
sender. " sending control, i.e. ALV grid that raised event
ENDCLASS. "lcl_eventhandler DEFINITION
CLASS lcl_eventhandler IMPLEMENTATION
CLASS lcl_eventhandler IMPLEMENTATION.
METHOD HANDLE_DOUBLE_CLICK.
*DEFINE LOCAL DATA.
DATA : itab_vbak type VBAK,
itab_vbap type VBAP,
itab_likp type likp,
itab_lips type lips,
itab_vbrk type vbrk,
itab_vbrp type vbrp,
itab_kna1 type kna1.
*DISTINGUISH ACCORDING TO SENDING GRID INSTANCE
CASE SENDER.
WHEN GRID1.
READ TABLE gt_VBAK INTO itab_vbak INDEX e_row-index.
CHECK ( itab_vbak-vbeln IS NOT INITIAL ).
CALL METHOD GRID1->set_current_cell_via_id
EXPORTING
is_ROW_ID =
is_COLUMN_ID =
is_row_no = es_row_no.
Triggers PAI of the dynpro with the specified ok-code
CALL METHOD cl_gui_cfw=>set_new_ok_code( 'ORDER_DETAILS' ).
WHEN GRID2.
READ TABLE gt_VBAP INTO itab_vbap INDEX e_row-index.
CHECK ( itab_vbap-vbeln IS NOT INITIAL ).
CALL METHOD GRID2->set_current_cell_via_id
EXPORTING
is_ROW_ID =
is_COLUMN_ID =
is_row_no = es_row_no.
Triggers PAI of the dynpro with the specified ok-code
CALL METHOD cl_gui_cfw=>set_new_ok_code( 'ORDER_DETAILS' ).
WHEN GRID3.
READ TABLE gt_LIPS INTO itab_LIPS INDEX e_row-index.
CHECK ( itab_lips-vgbel IS NOT INITIAL ).
CALL METHOD GRID3->set_current_cell_via_id
EXPORTING
is_ROW_ID =
is_COLUMN_ID =
is_row_no = es_row_no.
Triggers PAI of the dynpro with the specified ok-code
CALL METHOD cl_gui_cfw=>set_new_ok_code( 'DELIVERY_DETAILS' ).
WHEN GRID4.
READ TABLE gt_VBRP INTO itab_VBRP INDEX e_row-index.
CHECK ( itab_vbrp-vgbel IS NOT INITIAL ).
CALL METHOD GRID4->set_current_cell_via_id
EXPORTING
is_ROW_ID =
is_COLUMN_ID =
is_row_no = es_row_no.
Triggers PAI of the dynpro with the specified ok-code
CALL METHOD cl_gui_cfw=>set_new_ok_code( 'BILLING_DETAILS' ).
WHEN GRID5.
READ TABLE gt_KNA1 INTO itab_KNA1 INDEX e_row-index.
CHECK ( itab_kna1-kunnr IS NOT INITIAL ).
SET PARAMETER ID 'KUN' FIELD itab_KNA1-KUNNR.
CALL TRANSACTION 'MM02' AND SKIP FIRST SCREEN.
WHEN OTHERS.
RETURN.
ENDCASE.
endmethod.
endclass. "lcl_eventhandler IMPLEMENTATION
start-of-selection.
*write :/ 'FEDEX INT''''L' .
SELECT * FROM vbak INTO TABLE gt_VBAK
where vbeln IN S_VBELN.
creating docking container
create object docking
exporting
parent = cl_gui_container=>screen0
ratio = 90
exceptions
others = 6.
if sy-subrc eq 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
Create splitter container
CREATE OBJECT splitter_1
EXPORTING
parent = docking
rows = 1
columns = 3
NO_AUTODEF_PROGID_DYNNR =
NAME =
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
OTHERS = 3.
IF sy-subrc eq 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
Get cell container
CALL METHOD splitter_1->get_container
EXPORTING
row = 1
column = 1
RECEIVING
container = cell_left.
CALL METHOD splitter_1->get_container
EXPORTING
row = 1
column = 2
RECEIVING
container = cell_middle.
CALL METHOD splitter_1->get_container
EXPORTING
row = 1
column = 3
RECEIVING
container = cell_right.
Create 2nd splitter container
CREATE OBJECT splitter_2
EXPORTING
parent = cell_left
rows = 2
columns = 1
NO_AUTODEF_PROGID_DYNNR =
NAME =
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
OTHERS = 3.
IF sy-subrc eq 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
Get cell container
CALL METHOD splitter_2->get_container
EXPORTING
row = 1
column = 1
RECEIVING
container = cell_top1.
CALL METHOD splitter_2->get_container
EXPORTING
row = 2
column = 1
RECEIVING
container = cell_bottom1.
Create 3rd splitter container
CREATE OBJECT splitter_3
EXPORTING
parent = cell_middle
rows = 2
columns = 1
NO_AUTODEF_PROGID_DYNNR =
NAME =
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
OTHERS = 3.
IF sy-subrc eq 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
Get cell container
CALL METHOD splitter_3->get_container
EXPORTING
row = 1
column = 1
RECEIVING
container = cell_top2.
CALL METHOD splitter_3->get_container
EXPORTING
row = 2
column = 1
RECEIVING
container = cell_bottom2.
Create ALV grids
CREATE OBJECT grid1
EXPORTING
i_parent = cell_top1
EXCEPTIONS
OTHERS = 5.
IF sy-subrc eq 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CREATE OBJECT grid2
EXPORTING
i_parent = cell_bottom1
EXCEPTIONS
OTHERS = 5.
IF sy-subrc eq 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CREATE OBJECT grid3
EXPORTING
i_parent = cell_top2
EXCEPTIONS
OTHERS = 5.
IF sy-subrc eq 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CREATE OBJECT grid4
EXPORTING
i_parent = cell_bottom2
EXCEPTIONS
OTHERS = 5.
IF sy-subrc eq 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CREATE OBJECT grid5
EXPORTING
i_parent = cell_right
EXCEPTIONS
OTHERS = 5.
IF sy-subrc eq 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
Set event handler
SET HANDLER: lcl_eventhandler=>handle_double_click FOR grid1.
SET HANDLER: lcl_eventhandler=>handle_double_click FOR grid2.
SET HANDLER: lcl_eventhandler=>handle_double_click FOR grid3.
SET HANDLER: lcl_eventhandler=>handle_double_click FOR grid4.
SET HANDLER: lcl_eventhandler=>handle_double_click FOR grid5.
Display data
CALL METHOD grid1->set_table_for_first_display
EXPORTING
i_structure_name = 'VBAK'
CHANGING
it_outtab = gt_VBAK
EXCEPTIONS
OTHERS = 4.
IF sy-subrc eq 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
REFRESH: gt_vbap.
CALL METHOD grid2->set_table_for_first_display
EXPORTING
i_structure_name = 'VBAP'
CHANGING
it_outtab = gt_VBAP " empty !!!
EXCEPTIONS
OTHERS = 4.
IF sy-subrc eq 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
REFRESH: gt_LIPS.
CALL METHOD grid3->set_table_for_first_display
EXPORTING
i_structure_name = 'LIPS'
CHANGING
it_outtab = gt_LIPS " empty !!!
EXCEPTIONS
OTHERS = 4.
IF sy-subrc eq 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
REFRESH: gt_VBRP.
CALL METHOD grid4->set_table_for_first_display
EXPORTING
i_structure_name = 'VBRP'
CHANGING
it_outtab = gt_VBRP " empty !!!
EXCEPTIONS
OTHERS = 4.
IF sy-subrc eq 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
REFRESH: gt_KNA1.
CALL METHOD grid5->set_table_for_first_display
EXPORTING
i_structure_name = 'KNA1'
CHANGING
it_outtab = gt_KNA1 " empty !!!
EXCEPTIONS
OTHERS = 4.
IF sy-subrc eq 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
Link the docking container to the target dynpro
CALL METHOD docking->link
EXPORTING
repid = syst-repid
dynnr = '0100'
CONTAINER =
EXCEPTIONS
OTHERS = 4.
IF sy-subrc eq 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
NOTE: dynpro does not contain any elements (ok_code -> GD_OKCODE)
CALL SCREEN '0100'.
Flow logic of dynpro:
*PROCESS BEFORE OUTPUT.
MODULE STATUS_0100.
*PROCESS AFTER INPUT.
MODULE USER_COMMAND_0100.
end-of-selection.
*& Module STATUS_0100 OUTPUT
text
MODULE STATUS_0100 OUTPUT.
SET PF-STATUS 'STATUS_0100'.
SET TITLEBAR 'xxx'.
Refresh display of detail ALV list
CALL METHOD grid2->refresh_table_display
EXPORTING
IS_STABLE =
I_SOFT_REFRESH =
EXCEPTIONS
OTHERS = 2.
IF sy-subrc eq 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
Refresh display of detail ALV list
CALL METHOD grid3->refresh_table_display
EXPORTING
IS_STABLE =
I_SOFT_REFRESH =
EXCEPTIONS
OTHERS = 2.
IF sy-subrc eq 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
Refresh display of detail ALV list
CALL METHOD grid4->refresh_table_display
EXPORTING
IS_STABLE =
I_SOFT_REFRESH =
EXCEPTIONS
OTHERS = 2.
IF sy-subrc eq 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
Refresh display of detail ALV list
CALL METHOD grid5->refresh_table_display
EXPORTING
IS_STABLE =
I_SOFT_REFRESH =
EXCEPTIONS
OTHERS = 2.
IF sy-subrc eq 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDMODULE. " STATUS_0100 OUTPUT
*& Module USER_COMMAND_0100 INPUT
text
MODULE USER_COMMAND_0100 INPUT.
CASE SY-UCOMM.
WHEN 'BACK' OR
'EXIT' OR
'CANCEL'.
SET SCREEN 0.LEAVE SCREEN.
USER HAS PUSHED BUTTON "DISPLAY OREDERS"
WHEN 'ORDER_DETAILS'.
PERFORM ORDER_SHOW_DETAILS.
when 'DELIVERY_DETAILS'.
PERFORM DELIVERY_SHOW_DETAILS.
WHEN 'BILLING_DETAILS'.
PERFORM BILLING_SHOW_DETAILS.
WHEN OTHERS.
ENDCASE.
CLEAR : OK_CODE.
ENDMODULE. " USER_COMMAND_0100 INPUT
*& Form ORDER_SHOW_DETAILS
text
--> p1 text
<-- p2 text
FORM order_show_details .
define local data
DATA:
ld_row TYPE i,
itab_VBAK TYPE VBAK.
CALL METHOD grid1->get_current_cell
IMPORTING
e_row = ld_row.
READ TABLE gt_VBAK INTO itab_VBAK INDEX ld_row.
CHECK ( syst-subrc = 0 ).
SELECT * FROM KNA1 INTO TABLE gt_KNA1
WHERE KUNNR = itab_VBAK-KUNNR.
SELECT * FROM VBAP INTO TABLE gt_VBAP
WHERE VBELN = ITAB_VBAK-VBELN.
*REFRESH: gt_LIPS.
ENDFORM. " ORDER_SHOW_DETAILS
*& Form DELIVERY_SHOW_DETAILS
text
--> p1 text
<-- p2 text
FORM DELIVERY_SHOW_DETAILS .
define local data
DATA:
ld_row TYPE i,
itab_VBAP TYPE VBAP.
CALL METHOD grid1->get_current_cell
IMPORTING
e_row = ld_row.
READ TABLE gt_VBAP INTO itab_VBAP INDEX ld_row.
CHECK ( syst-subrc = 0 ).
SELECT LIKPVBELN LIKPERZET LIKPLFART LIPSVBELN
INTO CORRESPONDING FIELDS OF TABLE ITAB1
FROM ( LIKP INNER JOIN LIPS ON LIKPVBELN = LIPSVBELN )
WHERE LIKP~VBELN IN S_VBELN.
*REFRESH: gt_LIPS.
ENDFORM. " DELIVERY_SHOW_DETAILS
*& Form BILLING_SHOW_DETAILS
text
--> p1 text
<-- p2 text
FORM BILLING_SHOW_DETAILS .
define local data
DATA:
ld_row TYPE i,
itab_LIPS TYPE LIPS.
CALL METHOD grid1->get_current_cell
IMPORTING
e_row = ld_row.
READ TABLE gt_LIPS INTO itab_LIPS INDEX ld_row.
CHECK ( syst-subrc = 0 ).
SELECT VBRKVBELN VBRKFKTYP VBRKFKART VBRPFKLMG
INTO CORRESPONDING FIELDS OF TABLE ITAB2
FROM ( VBRK INNER JOIN VBRP ON VBRKVBELN = VBRPVBELN )
WHERE VBRK~VBELN IN S_VBELN.
ENDFORM. " BILLING_SHOW_DETAILSHi,
ALV means ABAP List Viewer. Most convenient way to use it is through reuse library (cf.
transaction se83) available from release 4.6 of SAP R/3.
ALV is available in two modes: list and grid. List mode is good old list processing with
standard functionnalities, and grid mode is using a new OCX object displaying grids.
Classical reports needs more coding to set the horizontal and vertical lines.we need to adjust
the lines manually.Even interactive also takes lot of code.
ALV reports reduces the code when compared to classical reports.we use function modules to
generate the output.
that r REUSE_ALV_LIST_DISPLAY,REUSE_ALV_GRID_DISPLAY,REUSE_ALV_HIERSEQ_LIST_DISPLAY etc..
the following threads will give some examples of the functions which you are expecting
Header
regarding function module
hide ALV field
Simply Display selection parameter values in the ALV OUTPUT
Drag and drop in a report
https://www.sdn.sap
Reprots
http://www.sapgenie.com/abap/reports.htm
http://www.allsaplinks.com/material.html
http://www.sapdevelopment.co.uk/reporting/reportinghome.htm
ALV
1. Please give me general info on ALV.
http://www.sapfans.com/forums/viewtopic.php?t=58286
http://www.sapfans.com/forums/viewtopic.php?t=76490
http://www.sapfans.com/forums/viewtopic.php?t=20591
http://www.sapfans.com/forums/viewtopic.php?t=66305 - this one discusses which way should you
use - ABAP Objects calls or simple function modules. -
hi everyone ,
i have a query regarding this system object. I have created a system object and assigned it to a user to log on to sap R/3 .its working fine.now my question is i have another user on the R/3 side .now i want to log on to the R/3 from the portal using this second user can i use the same system object created for the first user or should i create a new system object."can a system object be assigned to 2 or more users?"
Thanks in advance,
regards,
Tilakhi Arun ,
thanks for ur reply,well i have done the user mapping in the same way as u told.but my doubt is like for suppose i have a user named p1 on my portal side & two users named r1 & r2 on the R/3 side .now i have created a system object named sys1 and assigned it to p1 specifying
username:r1
pwd:*******
in the user mapping.
now i want want the same p1 to connect from the portal to R/3 using
username:r2
pwd:*******
now can i use the same system object or should i create another system object.
regards,
tilak. -
How would i make an object and rotate it?
ok, i'm trying to get java to make a graphics object, and then create an array of said objects (basically just a bunch of rectangles organized into rows/columns) with the end goal being that i be able to put this collection of rectangles into a JPanel and then move it around and rotate it without changing its dimensions (so each rectangle in the collection retains the same height and width but with a different placement/orientation angle )
My java textbook (yes, college student) doesn't cover the Graphics2D stuff which SEEMS to be what i would use... but beyond that I'm finding the resources on the topic to be uniformly opaque. i think i just need some starting point to extrapolate from. could anyone reply me a crash course in the above...?import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Blocks extends JPanel {
Block[][] blocks;
int dx = 2;
int dy = 2;
public Blocks() {
registerKeys();
setFocusable(true);
protected void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2 = (Graphics2D)g;
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
if(blocks == null) initBlocks();
g2.setPaint(Color.red);
for(int j = 0; j < blocks.length; j++)
for(int k = 0; k < blocks[j].length; k++)
blocks[j][k].draw(g2);
private void initBlocks() {
int rows = 6;
int cols = 3;
Dimension d = new Dimension(200, 200);
BlockMaker blockMaker = new BlockMaker(rows, cols, d);
blocks = blockMaker.getBlocks();
private void registerKeys() {
getInputMap().put(KeyStroke.getKeyStroke("UP"), "UP");
getActionMap().put("UP", up);
getInputMap().put(KeyStroke.getKeyStroke("LEFT"), "LEFT");
getActionMap().put("LEFT", left);
getInputMap().put(KeyStroke.getKeyStroke("DOWN"), "DOWN");
getActionMap().put("DOWN", down);
getInputMap().put(KeyStroke.getKeyStroke("RIGHT"), "RIGHT");
getActionMap().put("RIGHT", right);
private void step(int x, int y) {
for(int j = 0; j < blocks.length; j++)
for(int k = 0; k < blocks[j].length; k++)
blocks[j][k].move(x, y);
repaint();
private Action up = new AbstractAction() {
public void actionPerformed(ActionEvent e) {
step(0, -dy);
private Action left = new AbstractAction() {
public void actionPerformed(ActionEvent e) {
step(-dx, 0);
private Action down = new AbstractAction() {
public void actionPerformed(ActionEvent e) {
step(0, dy);
private Action right = new AbstractAction() {
public void actionPerformed(ActionEvent e) {
step(dx, 0);
public static void main(String[] args) {
Blocks blocks = new Blocks();
JFrame f = new JFrame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.getContentPane().add(blocks);
f.setSize(400,400);
f.setLocation(200,200);
f.setVisible(true);
class BlockMaker {
Block[][] blocks;
int PAD = 20;
public BlockMaker(int rows, int cols, Dimension size) {
int w = (size.width - (cols+1)*PAD)/cols;
int h = (size.height - (rows+1)*PAD)/rows;
blocks = new Block[rows][cols];
for(int j = 0; j < rows; j++) {
int y = PAD + j*(h + PAD);
for(int k = 0; k < cols; k++) {
int x = PAD + k*(w + PAD);
blocks[j][k] = new Block(x, y, w, h);
public Block[][] getBlocks() {
return blocks;
class Block {
int x;
int y;
int w;
int h;
public Block(int x, int y, int w, int h) {
this.x = x;
this.y = y;
this.w = w;
this.h = h;
protected void draw(Graphics2D g2) {
g2.drawRect(x, y, w, h);
protected void move(int dx, int dy) {
x += dx;
y += dy;
} -
Unable to lookup System 'SAP_WebDynpro_XSS'. Please check the system object
Hi Guru,
I have problem on Configuration EP 6 SP 19, it i'm already configure 4 system alias is
a. SAP_BSR_EREC
b. SAP_R3_financials
c. SAP_WebDynpro_XSS
d. SAP_ITS_EBU
but can message error is
Portal Runtime Error
An exception occurred while processing a request for :
iView : N/A
Component Name : N/A
Unable to lookup System 'SAP_WebDynpro_XSS'. Please check the system object and the alias..
See the details for the exception ID in the log file
could your help me.....
thanks,
ApriHi Apri,
Read over this document...
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/00bfbf7c-7aa1-2910-6b9e-94f4b1d320e1
Pay particular attention to the section called "Setting Permissions to Portal Content". To make permissions changes, you'll go to System Administration -> Permissions. The document spells it out well.
Generally speaking, if you've got your system object aliased correctly you should not have a problem. However, if the permissions on this system object (or the folder in which it lives) are too restrictive, users won't be able to find the system object and you'll get this error message.
Give it a shot and let us know.
-Kevin
Maybe you are looking for
-
MobileMe gallery movie in iweb too small
I posted my videoin my MobileMe gallery. I posted two sizes, iphone size and a HD size. I then use the MobileMe gallery widget to use that video in my website. I want the large size to show up in my website. Though it only allows me to resize to the
-
List of Quotations yet to be converted into a Sales Order
Hi All I'm looking or a way to list Quotations in the system, something similar to ME57 (for Purchase Requisitions) where you can see a list of all Quotations which have yet to be made into a Sales Order. Thanks in advance! Vicky
-
When will the DIrectory Server run on Linux?
Does anyone know when the DS software (and more specifically the admin server) will actually run on recent versions of Linux? The version of RHE it runs on is ancient... Is this typical Sun talking out of both sides of their mouth when it comes to Li
-
Firefox 4 seems to be missing the Alpha tag.
FF4 slows down after awhile, maybe a couple hours. I'm guessing it's leaking. Memory never gets low, over 3g free, out of 6g total physical. FF3 worked fine. Not sure what you guys were thinking taking this out of beta. Is it safe to just reinstall 3
-
Why don't ALL contact details sync
I've synched regularly with iTunes between Outlook (2010) and my iPhone 4s for years, but I've started to notice that all my contact details don't synch, in particular the "notes" that I like to keep on the contact record card. The notes are always t