Container class

please anybody tell me the functionality of these classes.it will be better if u give a brief.
CL_GUI_CUSTOM_CONTAINER ,
CL_GUI_ALV_GRID ,
CL_GUI_ALV_GRID ,
CL_GUI_DIALOGBOX_CONTAINER .

A SAP container is a control that can accommodate other controls, such as the SAP Tree Control, SAP Picture Control, or the SAP Textedit Control.  It maintains the controls in a logical collection, and provides an area in which they can be displayed. 
A container is always assigned to a screen and takes over the role of communicating with the screen.
Each control lives in a container.  Since containers are themselves controls, you can nest them. 
Controls within a container are usually displayed in the same size as the container itself. Containers are known as the "parents" of the control that they contain. All SAP Containers are derived from a common superclass, the global class CL_GUI_CONTROL. They are derived from this basic container and thus have a uniform object-oriented interface.
SAP containers can contain:
*An area on a screen (SAP Custom Container)
*An entire screen (SAP Docking Container, SAP Dialog Box Container)
*Another container (SAP Splitter Container, SAP Easy Splitter Container)
The fact that you can nest controls provides further display possibilities.
When you create an instance of a SAP container, you assign it to a dialog box level, which you cannot subsequently change.
A dialog box level is created in ABAP by executing the statement CALL SCREEN <screen_no> STARTING AT <left_column_no> <top_row_no> [ENDING AT <right_column_no> <bottom_row_number>].
When you instantiate a container, the class constructor creates the container instances SCREEN0, SCREEN1, ..., SCREEN9. These are assigned to the different dialog box levels.  Dialog box level 0 = SCREEN0, level 1 = SCREEN1, ... Dialog box level 9 = SCREEN9.
The container instances SCREEN0, ... , SCREEN9 are called top-level containers.  They are used as "parents" for the SAP Custom Container, SAP Docking Container, and SAP Dialog Box Container. The top-level container is automatically assigned to the Container Control when it is instantiated. You cannot change this assignment at runtime.
The top-level container to which a container is assigned affects its visibility, and hence that of the other controls you display in it.
Controls in a container are only visible when the corresponding container is visible.
You need to know what the dialog box level has been assigned if you want to assign a container to a new screen (using the LINK method) or if a container is instantiated within a function module.
Use the SAP Custom Container Control to attach a control to a reserved area on a screen.
Create the area using the Custom Control element in the Screen Painter.  The area can be resized.
You can assign a Custom Container Control instance to the area.  This assigns the container to the screen. The container can be resized if the user changes the size of the SAP window. 
The following parameters identify a custom control area uniquely at the CFW:
*Program name
*Screen number
*Name of the area
*Number of the dialog box level at which the container and screen can be displayed.
To create an instance of the SAP Custom Container Control, you need a data object that you declare using TYPE REF TO CL_GUI_CUSTOM_CONTAINER. 
To create the instance itself, use the statement CREATE OBJECT <object_reference_var>. In the statement, you must pass the relevant parameters to specify the attributes of the container. This is illustrated in the graphic.  If you do not assign values to the parameters parent, repid, and dynnr, the system uses the current values at runtime (current dialog box level , current program name, current screen). You must specify the name of the screen area in which the container should appear in the parameter container_name.
At runtime, you can assign a custom container instance to a different screen area (with the type Custom Control).  The new area can be on the same screen, on another screen in the same program, or even on a screen in a different program.
The screen containing the new area to which you want to link the control can only be displayed in the same dialog box level.
To reassign an instance, you call the method LINK for the container instance you want to reassign.  The method links the container instance to the new screen area and dissolves the link to the old one.
SAP Dialog Box Container:
The SAP Dialog Box Container allows you to display controls in a moveable mode-less dialog box.  You can also display controls in a full screen. The mode-less dialog box can have a title.
To create an instance of the SAP Dialog Box Container Control, you need a data object that you declare using TYPE REF TO cl_gui_dialogbox_control.
To create the instance itself, use the statement CREATE OBJECT <object_reference_var>. In the statement, you must pass the relevant parameters to specify the attributes of the container. This is illustrated in the graphic.  If you do not assign values to the REPID and DYNNR parameters, the system uses the current values at runtime (current dialog box level , current program name, current screen).
Use the WIDTH and HEIGHT parameters to specify the size of the dialog box.  The user can also change the size of the dialog box at runtime.
Use the CAPTION parameter to give a title to the modeless dialog box. 
You can also change the window title at runtime using the instance method SET_CAPTION.
The SAP Dialog Box Container Control possesses a CLOSE event. This is triggered when the user tries to close the modeless dialog box.
In the event handler method, you must close the window using the instance method free.
You can find out which instance raised the event using the optional import parameter of the event handler method. 
SAP Docking Container
The SAP Docking Container allows you to attach one or more areas to a screen.  You can attach the area to any of the four edges of the screen.  The area available to the actual screen is reduced by the space taken up by the docking container. 
The user can change the size of the docking container control.
You can attach the container area of a SAP Docking Container Control to any of the four edges of the screen.  To specify the edge of the screen technically, use one of the four class constants of the CL_GUI_DOCKING_CONTAINER class.
Generally, you assign the area to one edge of the screen in the constructor (using the SIDE parameter). By default the container is docked on the left.  
You can change this assignment at runtime by using the DOCK_AT method.
To create an instance of the SAP Docking Container Control, you need a data object that you declare using TYPE REF TO cl_gui_docking_container.
To create the instance itself, use the statement CREATE OBJECT <object_reference_var>. In the statement, you must pass the relevant parameters to specify the attributes of the container. This is illustrated in the graphic.  If you do not assign values to the REPID and DYNNR parameters, the system uses the current values at runtime (current dialog box level , current program name, current screen).
Use the SIDE parameter to determine the side of the screen to which the container will be attached.
At runtime, you can a docking container to another screen at the same dialog box level (re-link it). To do this, use the instance method LINK.
In the interface, you need to specify the new screen number and the name of the program to which it belongs.  If you do not set a new program name, the system assumes that the new screen belongs to the same program as the old one.
SAP Splitter Container Control
The SAP Splitter Container Control allows you to display a group of controls in individual cells. The splitter container regulates the cells and displays them.  The user can change the size of the individual cells using split bars. Increasing the size of one cell decreases that of the adjacent cell. 
You can make the splitter bars immovable from within your program. 
You can only place a Splitter Container Control in another container such as a Custom Container or a Docking Container. 
You can nest splitter container instances. 
The grid of a Splitter Container Control instance is initially set to 0 x 0. The maximum division is 16 x 16. You can specify the size of the lines and columns either absolutely in pixels or relatively as a percentage. The default setting is relative.
To create an instance of the SAP Splitter Container Control, you need a data object that you declare using TYPE REF TO CL_GUI_splitter_container as well as a reference to another container instance.
To create the instance itself, use the statement CREATE OBJECT <object_reference_var>. In the statement, you must pass the relevant parameters to specify the attributes of the container. This is illustrated in the graphic.  If you do not assign values to the REPID and DYNNR parameters, the system uses the current values at runtime (current dialog box level , current program name, current screen).
Use the rows and columns parameters to specify the number of ROWS and COLUMNS that your grid should have. 
Use the PARENT parameter to assign your splitter control instance to another container.
You can only assign a Splitter Container instance to a screen by using another container that is directly attached to the screen.
The cells of a splitter container are containers themselves. They are created when the Splitter Control is instantiated. They are used as containers for other controls, for which they are the "parents."
To assign further control instances to the cells of your splitter container instance, you need object references to the individual cells. To get a reference to a cell, use the instance method GET_CONTAINER. In the method call, use the row and column parameters to specify the cell. The RETURNING parameter contains a reference to a container instance.
SAP Easy Splitter Container
The SAP Easy Splitter Container is a simplified version of the SAP Splitter Container with a smaller range of functions.  It allows you to display two controls in separate cells of a container area.  You can arrange the cells either horizontally or vertically.
You can only use instances of the SAP Easy Splitter Container in other container instances. 
You can nest Easy Splitter Container instances.
To create an instance of the SAP Easy Splitter Container Control, you need a data object that you declare using TYPE REF TO cl_gui_easy_splitter_container.
To create the instance itself, use the statement CREATE OBJECT <object_reference_var>. In the statement, you must pass the relevant parameters to specify the attributes of the container. This is illustrated in the graphic.  If you do not assign values to the REPID and DYNNR parameters, the system uses the current values at runtime (current dialog box level , current program name, current screen).
Use the ORIENTATION parameter to specify whether the areas should be arranged horizontally or vertically.  You can do this using the class constants cl_gui_easy_splitter_container=>orientation_vertical and cl_gui_easy_splitter_container=>orientation_horizontal.
Use the PARENT parameter to assign your splitter control instance to another container. 
To set the position of the splitter bar at runtime, use the instance method SET_SASH_POSITION. For further details, refer to the online documentation
To assign further control instances to the cells of your splitter container, you need references to the individual cells. These are contained in the instance attributes TOP_LEFT_CONTAINER and BOTTOM_RIGHT_CONTAINER.
Regards,
Balaji
**Rewards if answers are useful

Similar Messages

  • Exception Handling for many bean objects of a container class in a JSP page

    Hello,
    I have on container bean class. In this container class, there are several others class objects and the getter methods to get these objects out to the JSP pages.
    I have one JSP page which will use different objects in the container class object through the getter methods of the container class.
    My question is how to implement the exception handler for all the objects in the container so that the JSP page can handle all exceptions if occurrs in any object in the container?
    Please give me some suggestions. Thanks
    Tu

    Thanks for your reply.
    Since the container is the accessor class, I have no other super class for this container class, I think I will try the try catch block in the getter methods.

  • How to create a container class for 2 object?

    I use JDK to create 2 objects, one is Customer and one is Book. I need to enqueue these 2 objects, but they canot share the same queue class. Some one told me that I can create a container class for these 2 objects but I don't know how to create it. Can some one tell me how to create the container class?

    I use JDK to create 2 objects, one is Customer and one
    is Book. I need to enqueue these 2 objects, but they
    canot share the same queue class. Some one told me
    that I can create a container class for these 2
    objects but I don't know how to create it. Can some
    one tell me how to create the container class?
    class CustomerBook{
    Book m_book;
    Customer m_customer;
    pulbic CustomerBook (Customer customer, Book book){
    m_book = book;
    m_customer = customer;
    }If you want to create a class that represents one customer and many books, do this:
    class CustomerBooks{
    Vector m_books;
    Customer m_customer;
    pulbic CustomerBook (Customer customer){
    m_books = new Vector();
    m_customer = customer;
    public void addBook (Book book){
    m_books.addElement (book);
    public void displayBooks (){
    //I assume the Book class has a toString method or something similar
    for (int i = 0;i < m_books.size();i++){
      System.out.println ("book: "+((Book)m_books.elementAt(i)).toString());

  • Container classes generation for production environment

    You can run the WebLogic EJB compiler on the JAR file before you deploy the beans,
    or you can let WebLogic Server run the compiler for you at deployment time.
    I have to release :
    - an ear, containing 1 ejb and other stuff
    - a client-jar (delegate, remote, home), that will be included in another ear (client
    application of our ejb).
    Both the ear will be deployed on the same wl instance (6.1sp2) (production environment).
    For a production environment, which are the pros and contras ?
    (not considering deploy time differences on wlserver, of course).
    Which is the best practice ? Is it suggested to release the ear with the container
    classes already generated (run ejbc before) or delegate the generation to weblogic
    server ?
    Thanks in advance
    Sergi

    You can run the WebLogic EJB compiler on the JAR file before you deploy the beans,
    or you can let WebLogic Server run the compiler for you at deployment time.
    I have to release :
    - an ear, containing 1 ejb and other stuff
    - a client-jar (delegate, remote, home), that will be included in another ear (client
    application of our ejb).
    Both the ear will be deployed on the same wl instance (6.1sp2) (production environment).
    For a production environment, which are the pros and contras ?
    (not considering deploy time differences on wlserver, of course).
    Which is the best practice ? Is it suggested to release the ear with the container
    classes already generated (run ejbc before) or delegate the generation to weblogic
    server ?
    Thanks in advance
    Sergi

  • Can I use the inner class of one containing class by the other class

    Can I use the inner class of one containing class by the other class in the same package as the containing class
    eg I have a class BST which has inner class Enumerator. Can I use the inner class from the other class in the same pacckage as BST?

    Inner classes do not share the namespace of the package of the containing class. Also they are never visible to other classes in the same package.Believe what you want, then, if you're going to make up your own rules about how Java works. For people interested in how Java actually works, here is an example that shows why that assertion is false:
    package com.yawmark.jdc;
    public class Outer {
         public class Inner {
    }And...
    package com.yawmark.demo;
    import com.yawmark.jdc.*;
    public class Demo {
         public static void main(String[] args) {
              assert new Outer().new Inner() != null;
    }~

  • Container Classes generation confusion

    I repost it :
    You can run the WebLogic EJB compiler on the JAR file before you deploy the beans,
    or you can let WebLogic Server run the compiler for you at deployment time.
    For a production environment, which are the pros and contras ? (not considering deploy
    time differences on wlserver, of course). Which is the best practice ? Is it suggested
    to release the ear with the container classes already generated (run ejbc before)
    or delegate the generation to weblogic server ?
    Or there aren't any differences ?
    Thanks in advance
    Sergi

    Thanks
    Sergi
    "Dimitri I. Rakitine" <[email protected]> wrote:
    Sergi Vaz <[email protected]> wrote:
    Thanks Dimitri.
    I agree with you.
    In development mode we have our local instances, and we already test thereapp bugs,
    ejbc bugs, and so on.
    The production environment is on another machine, to which we do not haveaccess.
    Besides this (testing), I do not see any other contras.
    Can you confirm it to me pls ?I guess there should not be any difference, assuming that everything works
    Or you suggest however to generate them "before" (even if already testedin development
    environment) ?I think that 7.0 (didn't try it yet) 2-phase deployment will make it safe.
    When will the "Autogenerate build.xml for exploded .ear's" be ready ?:)
    It is - I use it for prototyping. There are few minor changes for 7.0, and
    a few issues
    with EJBGen beans. I'm too busy with my day job now - as soon as I'll have
    some time I'll
    post a working utility.
    Actually, you raised a very good question - properly packaged application
    contains
    all information nesessary not only to deploy it, but also to build it -
    WLS does run ejbc
    automatically, but I think it can be extended. I just love using Resin for
    development - you
    can deploy your web app uncompiled and it will compile all .java classes
    into .class ones and will
    track the changes - if you edit .java file it will recompile it and redeploy
    the application.
    I think this is much more convinient than 'touch'ing 'REDEPLOY' file, or
    copying new .jar's
    to the applications folder.
    Bye
    Sergi
    "Dimitri I. Rakitine" <[email protected]> wrote:
    While this is a neat feature for development, I do not think you want
    to deploy beans in production without knowing that they will ejbc successfully
    and that can fail because of application bugs, ejbc bugs etc etc.
    Sergi Vaz <[email protected]> wrote:
    I repost it :
    You can run the WebLogic EJB compiler on the JAR file before you deploythe beans,
    or you can let WebLogic Server run the compiler for you at deploymenttime.
    For a production environment, which are the pros and contras ? (not
    considering
    deploy
    time differences on wlserver, of course). Which is the best practice
    Is it suggested
    to release the ear with the container classes already generated (run
    ejbc
    before)
    or delegate the generation to weblogic server ?
    Or there aren't any differences ?
    Thanks in advance
    Sergi --
    Dimitri
    Dimitri

  • Question about using container class - Map

    hi all
    i have a question about the following :
    i have two sets of data, both use a common filed as key for the map:
    A = {a,b,d,f,g,h} and B = {a,d,e,g,i,k}, each key has a value associated with.
    i need to find out the commonality, and the difference - i.e fields are in map A but not in Map B, and some fields that are in B but not in A. is there any quick method that comes with the collection class that can calculate this? thanks

    yes, the keyset will be used to access values.
    so, SetA.retainAll(SetB) will modify the SetA so that it contains keys that are in both SetA and SetB - the intersection.
    and SetA.removeAll(SetB) will modify the SetA so that it only contains keys that are in SetA, but not in SetB?
    correct?

  • Which java API package contains Container class???????

    can forum experts tell me which java API package contains Container and GlobalContainer class......???????/

    <b>aii.map.api</b>
    If you need to access the Cotainer Object (i.e) the runtime constants inside you java mapping etc, you use
    AbstractTrace trace=(AbstractTrace)getParameters().get(StreamTransformationConstants.MAPPING_TRACE);
    To access this in a UDF in graphical mapping you mention,
    container.getTrace()
    Regards
    Bhavesh

  • OOP question: self contained class or use of "external" typedefs...

    Hi all,
    I am trying my first steps into Labview OOP and am currently thinking on how to best proceed.
    I have an existing RT application running on a CRIO system that has as one of its components,
    a multi channel analyzer (MCA8000).
    I thought this would be a good candidate for my first LV class since the vi's I curently have for this MCA
    are all connected via a rather large cluster with sub-clusters to store status information and so on for
    this device. Exactly the kind of data which is better defined as private within a class!
    In the currently working code for the whole intrument (non-OOP) I use several queues to send commands
    to indivudal loops of the software and one general message and error logging queue.
    In the code I want to re-implement as OOP for the MCA I use data queues and the "general" logging
    queue of the main program. These queues are all typedefed in the main program.
    So instead of error in's and out's I have the typedefed logging queue as input and errors are logged there
    when they occur. Not sure if this is good practice but this is a good way to let the user know of errors that occur
    on the RT target since the queued log "entries" are all sent to the UI which runs on a laptop.
    The MCA specific queue typedefs I can include into the class project so that they are part of the MCA class.
    What I am not sure about is how to handle the "general" logging queue since it is also used elsewhere in the main
    program. And I am not "yet" planning of re-implementing the whole thing using oop, I wanted to start with a small
    overseeable project.
    In a fully OOP project I would probably define the logging queue in a parent class if I understand OOP correctly?
    Sorry, I am rather new to LV OOP so I might be asking something obvious...
    Olaf

    If you are really planning on implementing your OOP in pieces I would recommend attacking it from the most common and shared items first. So, start with your logs, error processing and messaging components. These are the types of things that will get used by your higher level classes. They also tend to be a bit more self contained and easier to start with.
    Mark Yedinak
    "Does anyone know where the love of God goes when the waves turn the minutes to hours?"
    Wreck of the Edmund Fitzgerald - Gordon Lightfoot

  • Abour report containing classes - urgent pls

    hi to all,
                i have to study this report and analyse output coming how.  iam in debugging observed that value(total) last column in the output giving some value in debugging but in output it is giving some other value.  can any one pls help me.
    like if in debugging it is giving total-as -68.13 but in grid display it is displaying as 473.10 like.
    REPORT ZFIRD035  MESSAGE-ID zfi_e1
                     NO STANDARD PAGE HEADING
                     LINE-COUNT 58
                     LINE-SIZE 200.
    Author.......:*
    Date Created.: Aug 21, 2006
    Request #....:                                                       *
    Purpose......: This program summarizes accounting journal entries
                   by biller. The biller is recognized by the first three
                   chararcters of the reference field.
    Inputs.......:
    Outputs......:                                                       *
    Selections...:                                                       *
    Logical D/B..:                                                       *
    Includes.....:                                                       *
    Predefine a local class for event handling to allow the
    declaration of a reference variable before the class is defined.
    CLASS lcl_event_receiver DEFINITION DEFERRED.
    TABLES:
       bkpf,                               "Accounting document header
       bseg,                               "Accounting document segment
       zmapzce1.                           "CostElement to ZCE1COPA Mapping
    TYPES: BEGIN OF disp_tab ,             "Internal Table D_TAB
          usnam   LIKE bkpf-usnam,         "User Id
          blart   LIKE bkpf-blart,         "Document type
          bukrs   LIKE bkpf-bukrs,         "Company code
          bldat   LIKE bkpf-bldat,         "Date of the document
          xblnr   LIKE bkpf-xblnr,         "refernce number
          belnr   LIKE bkpf-belnr,         "Accounting document number
          buzei   LIKE bseg-buzei,         "Line Item Number
          prctr   LIKE bseg-prctr,         "Profit center
          kostl   LIKE bseg-kostl,         "Cost center
          hkont   LIKE bseg-hkont,         "Account number
          matnr   LIKE bseg-matnr,         "Product code
          aufnr   LIKE bseg-aufnr,         "Internal order
          projk   LIKE bseg-projk,         "WBS Element
          budat   LIKE bkpf-budat,         "Posting date
          bschl   LIKE bseg-bschl,         "Posting Key
          dmbtr   LIKE bseg-dmbtr,         "Amount in document currency
          sgtxt   LIKE bseg-sgtxt,         "Description
          zuonr   LIKE bseg-zuonr,         "Allocation
          shkzg   LIKE bseg-shkzg,         "Debit/Credit Indicator
    END OF disp_tab.
    DATA: gv_prdha_all   LIKE mara-prdha.
    FIELD-SYMBOLS: .
    DATA: BEGIN OF   gv_prdha,
            wwph1(5)  TYPE c,
            wwph2(5)  TYPE c,
            wwph3(8)  TYPE c.
    DATA: END  OF   gv_prdha.
    DATA  save_matnr LIKE mara-matnr.
    DATA: d_tab TYPE disp_tab OCCURS 0 WITH HEADER LINE.
    TYPES:  BEGIN OF out_tab2.                      "Internal Table out_TAB
            INCLUDE STRUCTURE zfirevje.
    TYPES:  END   OF out_tab2.
    DATA: BEGIN OF zfirevje OCCURS 50.
            INCLUDE STRUCTURE zfirevje.
    DATA: END   OF zfirevje.
    DATA: ok_code     LIKE sy-ucomm,
          gt_jesum    TYPE TABLE OF zfirevje,
          gt_jesum2   TYPE zfirevje OCCURS 100 WITH HEADER LINE,
          g_container TYPE scrfname VALUE 'ZFIRD035_0100_CONT1',
    Start of Change - DR1K901005 - JIRA#: ENT-93----
    *>>> Added:
        Field catalog table
          git_fieldcat TYPE lvc_t_fcat,  "field catalog table
    End of Change - DR1K901005 - JIRA#: ENT-93----
          grid1  TYPE REF TO cl_gui_alv_grid,
          g_custom_container TYPE REF TO cl_gui_custom_container,
          event_receiver TYPE REF TO lcl_event_receiver.
    lcl_event_receiver (Implementation)
    LOCAL CLASSES: Definition
    *===============================================================
    class lcl_event_receiver: local class to handle event DOUBLE_CLICK
                              and CLOSE.
    Definition:
    ~~~~~~~~~~~
    CLASS lcl_event_receiver DEFINITION.
      PUBLIC SECTION.
        METHODS:
        handle_double_click
            FOR EVENT double_click OF cl_gui_alv_grid
                IMPORTING e_row e_column.
      PRIVATE SECTION.
       DATA: dialogbox_status TYPE c.  "'X': does exist, SPACE: does not ex.
    ENDCLASS.
    lcl_event_receiver (Definition)
    *===============================================================
    LOCAL CLASSES: Implementation
    *===============================================================
    class c_event_receiver (Implementation)
    In this example, only event DOUBLE_CLICK is caught
    CLASS lcl_event_receiver IMPLEMENTATION.
    §3.At doubleclick(1): The event DOUBLE_CLICK provides
       parameters of the clicked row and column.
       Use row parameter to select a line of the
       corresponding internal table.
      METHOD handle_double_click.
        DATA: ls_jesum  LIKE LINE OF gt_jesum.
    read selected row from internal table gt_sflight
       read table gt_jesum index e_row-index into ls_jesum.
       call function 'REMD_SHOW_MASTER_DATA'
           exporting
                i_objnr                 = ls_jesum-recnobjnr
                  I_IMKEY                 =
                  I_INTRENO               =
                  I_CHANGE                = ' '
           exceptions
                unknown_type            = 1
                object_key_inconsistent = 2
                others                  = 3.
      ENDMETHOD.
    ENDCLASS.
    DATA: x_save,                          "for Parameter I_SAVE
          gs_layout  TYPE lvc_s_layo,
          gs_variant TYPE disvariant.      "for parameter IS_VARIANT
    DATA: BEGIN OF fieldnames OCCURS 25,
           fieldname(30)    TYPE c,        "download col names
          END OF fieldnames.
    DATA:
          program_name     LIKE sy-repid,   "Program Name for Call
          title_line_1     LIKE sy-title,   "Report Title Line 1
          title_line_2     LIKE sy-title,   "Report Title Line
          title_line_3     LIKE sy-title,   "Report Title Line
          sum_cdmbtr       LIKE bseg-dmbtr, "Sum credit amt for document
          sum_ddmbtr       LIKE bseg-dmbtr, "Sum debit amt for document
          total_cdmbtr     LIKE bseg-dmbtr, "Total credit amount
          total_ddmbtr     LIKE bseg-dmbtr, "Total debit amount
          ddmbtr           LIKE bseg-dmbtr, "Debit amount
          cdmbtr           LIKE bseg-dmbtr, "Credit amount
          dec_dmbtr(16)    TYPE p DECIMALS 2, "Amount in decimal format
          disp_prctr(5)    TYPE c,          "Work var for prctr
          gv_zuonr         LIKE bseg-zuonr, "Assignment field
          gv_shkzg         LIKE bseg-shkzg, "Dr/Cr Ind.
          gv_hkont         LIKE bseg-hkont, "Account nbr
          gv_amount        LIKE bseg-pswbt, "G/L amount
          gv_currncy       LIKE bseg-pswsl, "Currency
          gv_matnr         LIKE bseg-matnr, "Product
          BEGIN OF w_filename,
             w_directory(22) TYPE c,       "file directory name
             w_userid(7)     TYPE c,       "User Id
             w_filenm2(20)   TYPE c,       "file name continuation
          END OF w_filename.
    Selection Screen Options  ******************
    SELECTION-SCREEN BEGIN OF BLOCK rpt WITH FRAME TITLE text-003.
    SELECT-OPTIONS:  sbukrs  FOR  bkpf-bukrs OBLIGATORY,
                     sbelnr  FOR  bkpf-belnr,
                     sgjahr  FOR  bkpf-gjahr OBLIGATORY,
                     smonat  FOR  bkpf-monat OBLIGATORY,
                     sxblnr  FOR  bkpf-xblnr,
                     sprctr  FOR  bseg-prctr,
                    shkont  FOR  bseg-hkont.
                     shkont  FOR zmapzce1-saknr."G/L account number
    Start of Change - DR1K901005 - JIRA#: ENT-93----
    *>>> Removed:
    *SELECTION-SCREEN BEGIN OF LINE.
    *SELECTION-SCREEN            COMMENT 1(31) text-005.
    *PARAMETERS: p_pdtls         AS CHECKBOX DEFAULT ' '.         "flag
    *SELECTION-SCREEN END OF LINE.
    *SELECTION-SCREEN BEGIN OF LINE.
    *SELECTION-SCREEN            COMMENT 1(31) text-004.
    *PARAMETERS: p_hdtls         AS CHECKBOX DEFAULT ' '.         "flag
    *SELECTION-SCREEN END OF LINE.
    End of Change - DR1K901005 - JIRA#: ENT-93----
    SELECTION-SCREEN END OF BLOCK rpt.
    INITIALIZATION.
    init accounts
      MOVE 'I'             TO shkont-sign.
      MOVE 'EQ'            TO shkont-option.
    Start of Change - DR1K901005 - JIRA#: ENT-93----
    *>>> Removed:
    MOVE '0000200000'    TO shkont-low.
    MOVE '0000299999'    TO shkont-high.
    *>>> Added:
    MOVE '0000400100'    TO shkont-low.
    MOVE '0000400199'    TO shkont-high.
    End of Change - DR1K901005 - JIRA#: ENT-93----
    APPEND shkont.
    START-OF-SELECTION.
    set pf-status 'VDOC'.
      PERFORM get_je_data
         TABLES gt_jesum.
      IF sy-subrc  = 0.
        CALL SCREEN 100.
      ELSE.
        MESSAGE ID 'F5' TYPE 'S' NUMBER '194'.
      ENDIF.
    END-OF-SELECTION.
    *&      Form get_je_data
          loads the internal table for jesum
    FORM get_je_data TABLES gt_jesum STRUCTURE zfirevje.
      SELECT *
         FROM bkpf
         WHERE bukrs IN sbukrs
           AND belnr IN sbelnr
           AND gjahr IN sgjahr
           AND monat IN smonat
           AND xblnr IN sxblnr.
        PERFORM save_to_dtab.
        CLEAR: gv_zuonr, gv_shkzg, gv_amount,
               gv_hkont, gv_currncy, gv_matnr.
        SELECT   zuonr shkzg pswbt
                 pswsl hkont matnr
           INTO (gv_zuonr,   gv_shkzg, gv_amount,
                 gv_currncy, gv_hkont, gv_matnr)
           FROM bseg
           WHERE bukrs EQ bkpf-bukrs "IN sbukrs
           AND belnr   EQ bkpf-belnr "IN sbelnr
           AND gjahr   EQ bkpf-gjahr "IN sgjahr
           AND hkont   IN shkont
           AND prctr   IN sprctr.
          PERFORM save_to_outtab TABLES gt_jesum.
        ENDSELECT.
      ENDSELECT.
    ENDFORM.
          FORM SAVE_TO_DTAB                                            *
    FORM save_to_dtab.
      CLEAR d_tab.
      MOVE-CORRESPONDING bkpf TO d_tab.
      APPEND d_tab.
    ENDFORM.
          FORM SAVE_TO_OUTTAB                                            *
    FORM save_to_outtab TABLES gt_jesum STRUCTURE zfirevje.
      DATA:  tempamount  LIKE tdrxx-wrbtr,
             subacct(2)  TYPE c.
      CLEAR:  gt_jesum,  tempamount, subacct.
      IF d_tab-xblnr+0(1) = '@'.
        gt_jesum-zbiller   = d_tab-xblnr+1(2).
    Start of Change - DR1K901241 - JIRA#: ENT-102----
    *>>> Removed:
       gt_jesum-zcyclenbr = gv_zuonr+6(2).
    *>>> Added:
        gt_jesum-zcyclenbr = gv_zuonr+3(2).
        SELECT SINGLE zbillname
           INTO  gt_jesum-zbillname
           FROM  zbillers
           WHERE zbiller = gt_jesum-zbiller.
        IF sy-subrc <> 0.
           gt_jesum-zbillname = 'Non-biller entries'.
        ENDIF.
    End of Change - DR1K901241 - JIRA#: ENT-102----
      ELSE.
        gt_jesum-zbiller   = d_tab-xblnr+0(2).
        gt_jesum-zbillname = 'Non-biller entries'.
      ENDIF.
    *>>> Removed:  IES out now identified by biller @NX
    IF  gt_jesum-zbillname    = 'IES'.
      IF  gv_matnr         IS INITIAL.
        gt_jesum-zbillname      = 'IES-OUT'.
      ELSE.
        gt_jesum-zbillname      = 'IES-IN'.
      ENDIF.
    ENDIF.
    Start of Change - DR1K901241 - JIRA#: ENT-102----
    *>>> Removed:
    gt_jesum-zruntype  = gv_zuonr+3(2).
    *>>> Added:
      gt_jesum-zruntype  = gv_zuonr(2).
    End of Change - DR1K901241 - JIRA#: ENT-102----
      IF d_tab-xblnr+0(1) = '@'.
        CASE gt_jesum-zruntype.
          WHEN 'RB'.     gt_jesum-zruntype_desc = 'Billed'.
          WHEN 'UB'.     gt_jesum-zruntype_desc = 'Unbilled'.
          WHEN OTHERS.   gt_jesum-zruntype_desc = 'Other bller entries'.
        ENDCASE.
      ELSE.
        gt_jesum-zruntype_desc = 'Non-biller entry'.
      ENDIF.
      IF gv_shkzg    = 'H'.
        tempamount =  gv_amount * -1.
      ELSE.
        tempamount =  gv_amount.
      ENDIF.
      subacct  =   gv_hkont+8(2).
      CASE subacct.
        WHEN '00'.                "Gross Billing
          gt_jesum-vvgrb001 = tempamount.
        WHEN '80'.                "Accruals
          gt_jesum-vvbaa001 = tempamount.
        WHEN '85'.                "Reversals
          gt_jesum-vvrba001 = tempamount.
        WHEN '15'.                "Discount
          gt_jesum-vvdis001 = tempamount.
        WHEN '81'.                "Discount Accruals
          gt_jesum-vvdac001 = tempamount.
        WHEN '86'.                "Discount Reversals
          gt_jesum-vvrda001 = tempamount.
        WHEN '70'.                "Other
          gt_jesum-vvoth001 = tempamount.
        WHEN '65'.                "Sale Allowance
          gt_jesum-vvsa001  = tempamount.
        WHEN '60'.                "Reba  tes
          gt_jesum-vvrab001 = tempamount.
        WHEN '10'.                "Adjustments
          gt_jesum-vvadj001 = tempamount.
        WHEN '75'.                "Manual Bils
          gt_jesum-vvman001 = tempamount.
        WHEN '20'.                "Inbound Settlements
          gt_jesum-vvinb001  = tempamount.
      ENDCASE.
      gt_jesum-total = tempamount.
      gt_jesum-pswsl = gv_currncy.
    Start of Change - DR1K901005 - JIRA#: ENT-93----
    *>>> Removed:
    IF p_pdtls = 'X' OR p_hdtls = 'X'.
       PERFORM get_product_hierarchy
               USING     gv_matnr
               CHANGING  gt_jesum-matnr
                         gt_jesum-wwph1
                         gt_jesum-wwph2
                         gt_jesum-wwph3.
    ENDIF.
    End of Change - DR1K901005 - JIRA#: ENT-93----
      COLLECT gt_jesum.
    SORT gt_jesum BY zbiller zruntype.
    ENDFORM.
          MODULE PBO OUTPUT                                             *
    MODULE pbo OUTPUT.
      SET PF-STATUS 'MAIN100'.
      IF g_custom_container IS INITIAL.
        CREATE OBJECT g_custom_container
               EXPORTING container_name = g_container
            EXCEPTIONS
                cntl_error = 1
                cntl_system_error = 2
                create_error = 3
                lifetime_error = 4
                lifetime_dynpro_dynpro_link = 5.
        CREATE OBJECT grid1
               EXPORTING i_parent = g_custom_container.
        CALL METHOD grid1->get_frontend_layout
         IMPORTING
            es_layout   = gs_layout.
        gs_layout-cwidth_opt = 'X'.
        CALL METHOD grid1->set_3d_border
         EXPORTING
          border  =   1.
        gs_layout-grid_title  =
          'Revenue journal entry summary by biller and type'(100).
        x_save = 'A'.
        gs_variant = '/ZFIRD035'.
    Start of Change - DR1K901005 - JIRA#: ENT-93----
    *>>> Added:
        PERFORM prepare_field_catalogue.
    End of Change - DR1K901005 - JIRA#: ENT-93----
        CALL METHOD grid1->set_table_for_first_display
             EXPORTING
    Start of Change - DR1K901005 - JIRA#: ENT-93----
    *>>> Removed:
                      i_structure_name = 'ZFIREVJE'
    End of Change - DR1K901005 - JIRA#: ENT-93----
                       is_variant       = gs_variant
                       is_layout        = gs_layout
                       i_save           = x_save
             CHANGING  it_outtab        = gt_jesum
    Start of Change - DR1K901005 - JIRA#: ENT-93----
    *>>> Added:
                       it_fieldcatalog  = git_fieldcat[]
    End of Change - DR1K901005 - JIRA#: ENT-93----
    ->Create Object to receive events and link them to handler methods.
    When the ALV Control raises the event for the specified instance
    the corresponding method is automatically called.
        CREATE OBJECT event_receiver.
        SET HANDLER event_receiver->handle_double_click FOR grid1.
    *CALL METHOD grid1->refresh_table_display
         EXPORTING
            IS_STABLE    = <structure of type LVC_S_STBL >
            I_SOFT_REFRESH    = 'X'.
      ENDIF.
    ENDMODULE.
          MODULE PAI INPUT                                              *
    MODULE pai INPUT.
      to react on oi_custom_events:
      DATA: lt_t_row      TYPE  lvc_t_row,
            wa_t_row      LIKE  LINE OF lt_t_row,
            ls_jesum      LIKE  LINE OF gt_jesum.
      CALL METHOD cl_gui_cfw=>dispatch.
      CASE ok_code.
        WHEN 'EXIT'.
          PERFORM exit_program.
        WHEN 'BACK'.
         PERFORM exit_listing.
        WHEN OTHERS.
        do nothing
      ENDCASE.
      CLEAR ok_code.
    ENDMODULE.
          FORM EXIT_PROGRAM                                             *
    FORM exit_program.
      CALL METHOD g_custom_container->free.
      CALL METHOD cl_gui_cfw=>flush.
      LEAVE PROGRAM.
    ENDFORM.
    *&      Form  exit_Listing
          text
    -->  p1        text
    <--  p2        text
    FORM exit_listing.
      CALL METHOD g_custom_container->free.
      CALL METHOD cl_gui_cfw=>flush.
      LEAVE TO TRANSACTION 'ZF06'.
    ENDFORM.                               " exit_Listing
    *&      Form  get_product_hierarchy
          text
         -->P_GV_MATNR  text
         <--P_GT_WWPH1  text
         <--P_GT_WWPH2  text
         <--P_GT_WWPH3  text
    FORM get_product_hierarchy USING    p_gv_matnr
                               CHANGING p_gt_matnr
                                        p_gt_wwph1
                                        p_gt_wwph2
                                        p_gt_wwph3.
      IF p_gv_matnr  = gv_prdha_all.
          ENDIF.
        ENDSELECT.
      ELSE.
      ENDIF.
    Start of Change - DR1K901005 - JIRA#: ENT-93----
    *>>> Removed:
    IF p_pdtls = 'X'.
       p_gt_matnr = p_gv_matnr.
    ENDIF.
    IF p_hdtls = 'X'.
       p_gt_wwph1 = gv_prdha-wwph1.
       p_gt_wwph2 = gv_prdha-wwph2.
       p_gt_wwph3 = gv_prdha-wwph3.
    ENDIF.
    End of Change - DR1K901005 - JIRA#: ENT-93----
    ENDFORM.                    " get_product_hierarchy
    Start of Change - DR1K901005 - JIRA#: ENT-93----
    *>>> Added:
          FORM prepare_summary_catalogue
          Prepare catalogue for Report
    FORM prepare_field_catalogue.
      DATA: lwa_fieldcat TYPE lvc_s_fcat.
      REFRESH: git_fieldcat.
      CLEAR git_fieldcat.
      CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
        EXPORTING
        I_BUFFER_ACTIVE              =
          I_STRUCTURE_NAME             = 'ZFIREVJE'
        I_CLIENT_NEVER_DISPLAY       = 'X'
        I_BYPASSING_BUFFER           =
        CHANGING
          ct_fieldcat                  = git_fieldcat
        EXCEPTIONS
          INCONSISTENT_INTERFACE       = 1
          PROGRAM_ERROR                = 2
          OTHERS                       = 3
      IF sy-subrc <> 0.
        MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
           WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    Do not display Material, ProH1, ProH2, and ProHLe3.
      READ TABLE git_fieldcat INTO lwa_fieldcat
           WITH KEY fieldname = 'MATNR'.
      lwa_fieldcat-no_out = 'X'.
      MODIFY git_fieldcat FROM lwa_fieldcat INDEX sy-tabix.
      READ TABLE git_fieldcat INTO lwa_fieldcat
           WITH KEY fieldname = 'WWPH1'.
      lwa_fieldcat-no_out = 'X'.
      MODIFY git_fieldcat FROM lwa_fieldcat INDEX sy-tabix.
      READ TABLE git_fieldcat INTO lwa_fieldcat
           WITH KEY fieldname = 'WWPH2'.
      lwa_fieldcat-no_out = 'X'.
      MODIFY git_fieldcat FROM lwa_fieldcat INDEX sy-tabix.
      READ TABLE git_fieldcat INTO lwa_fieldcat
           WITH KEY fieldname = 'WWPH3'.
      lwa_fieldcat-no_out = 'X'.
      MODIFY git_fieldcat FROM lwa_fieldcat INDEX sy-tabix.
    ENDFORM.                    "prepare_field_catalogue
    End of Change - DR1K901005 - JIRA#: ENT-93----

    Hi,
    I would suggest that you post this on the ABAP forum.
    From a functional point of view is there any exchange rate involved that is converting the field to the local currency?
    Steve B

  • How to compile package which contain class outside the package

    I am writing a JDBC driver.
    I have the following package structure in the folder:
    MyDriver
        |_manager.jar
        |_com
               |_ jdbc
                       |_ HXDriver
                       |_ HXConnection
                       |_ HXResultSet
                       |_ HXStatementIn manager.jar, there is a remote object Interaface(Manager.java) which I need to use inside HXConnection.
    My question is how to compile(or/and how to set the classpath)so that I can compile the 4 classes inside jdbc package.
    I tried this:
    C:\MyDriver>javac -cp .;manager.jar com/hx/jdbc/*.java
    However, this does not work, compiler says it cannot find Manager
    Please help me.
    Cheers

    D:\380 Project\Driver>javac -cp .;manager.jar com\hx\jdbc\*.java
    com\hx\jdbc\HXConnection.java:21: cannot find symbol
    symbol  : class Manager
    location: class com.hx.jdbc.HXConnection
            private Manager manager;
                    ^
    com\hx\jdbc\HXStatement.java:18: cannot find symbol
    symbol  : class Manager
    location: class com.hx.jdbc.HXStatement
            private Manager manager;
                    ^
    com\hx\jdbc\HXStatement.java:20: cannot find symbol
    symbol  : class Manager
    location: class com.hx.jdbc.HXStatement
            public HXStatement(Manager manager){
                               ^
    com\hx\jdbc\HXConnection.java:41: cannot find symbol
    symbol  : class Manager
    location: class com.hx.jdbc.HXConnection
                            manager = (Manager)reg.lookup("manager");
                                       ^

  • Sort a 'std::list' containing classes/structures

    Hi all,
    I find that std::sort' cannot be used to sort 'std::list' because it requires a random access iterator which is not available for a list. Although that works for dqueue without any problem. Is any body know about any workaround for std::list sorting. I have one using template but i required without using template. ??
    Using template
    #include <iostream>
    #include <algorithm>
    #include <list>
    using namespace std;
    typedef struct xx {
    int a;
    int b;
    bool operator<(const xx& src) const;
    bool operator>(const xx& src) const;
    } X;
    bool xx::operator<(const xx& src) const
    if (b <= src.b) return true;
    return false;
    bool xx::operator>(const xx& src) const
    if (b > src.b) return true;
    return false;
    template<typename T>
    class PtrClass
    public:
    T *m_src;
    PtrClass(T &src):m_src(&src)
    bool operator<(const PtrClass& src) const
    return m_src->operator<(*src.m_src);
    bool operator>(const PtrClass& src) const
    return m_src->operator>(*src.m_src);
    int main()
    X o1 = {1, 9};
    X o2 = {2, 8};
    X o3 = {3, 7};
    list<PtrClass<X> > l;
    list<PtrClass<X> >::iterator it;
    l.push_back(o1);
    l.push_back(o2);
    l.push_back(o3);
    cout << " BEFORE ______"<<endl;
    for(it = l.begin(); it != l.end(); it++)
         cout << "Inside"<<endl;
    l.sort();
    cout << " AFTER ______"<<endl;
    for(it = l.begin(); it != l.end(); it++)
         cout << "Inside"<<endl;
    return 0;
    }

    1. You can use std::list::sort method.
    2. You can use std::set instead of std::list.

  • Simple servlet runner/container (classes)?

    is there a simpler way to run a servlet that running it in a full blown servlet container (like tomcat)? i would like to run a servlet as a java application (but still has the post/get facilities for http requests).

    There are a number of embeddable servlet containers around, but not all are up-to-date with respect to the Servlet spec. The documentation for LiteWebServer talks about running it within another application (I haven't used it that way). http://www.jotobjects.com/JOTlinksservers.html
    Paul Copeland
    JOT Servlets - A Framework for Servlet Applications
    http://www.jotobjects.com

  • Table containing Class Method info

    Hi,
        Can someone tell me which SAP system table holds the information regarding all the methods/interfaces of a class?
    Regards,
    Rajeesh.

    I solved it. It's the table SEOCOMPO

  • Hotel booking system container class

    1.A method which traverses the array and instantiates a default Room object referenced by each array cell. From this point onwards, we will assume that each room in the hotel has a number which is the same as its index in the array - room number 6 will be in cell 6 of the array, etc.
    2.A method which accepts an integer argument representing a room number and returns a reference to the Room object in that cell of the array. If the argument is illegal, a null reference should be returned. Call this method �getRoom�.
    how to get these

    //Room.java
    public class Room{
        //room instance vars here
        public Room(){
            //put defalut values in instance vars
        //access methods to instance vars
        public String toString(){
            //return meaningful name
    //RoomManager.java
    public class RoomManager{
        private static RoomManager me = new RoomManager();
        private static final int NUM_ROOMS = 20;
        private Room[] rooms = new Room[NUM_ROOMS];
        public static RoomManager instance(){
            return me;
        private RoomManager(){
            for(int i=0;i<NUM_ROOMS;i++)rooms[i] = new Room();
        public Room getRoom(int no){
            if((no<0)||(no>=NUM_ROOMS))return null;
            return rooms[no];
    //So in any part of your code you need access to a room via room no you do
    Room room1 = RoomManager.instance().getRoom(1);

Maybe you are looking for