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,
    Lakshmi

    Hi,
    <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 PM

    other 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........
    Thanks

    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.

  • 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 reply

    import 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       16

    Thanks, 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_DETAILS

    Hi,
    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.

  • Query on system object

    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,
    Tilak

    hi 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,
    Apri

    Hi 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