Adding Custom Layout Manager

I'm trying to add my own LayoutManager to JDeveloper following the instructions at http://otn.oracle.com/jdeveloper/help/
This might help identify the exact page:
javascript:top.footer.viewTopic('jar%253Afile%253A/u01/webapps/OHW/ohw-app/jdeveloper/helpsets/jdeveloper/developing_gui_clients.jar%2521/ui_paddcustom.html');
Snip
JDeveloper supports the integration of other layout managers with its UI Editor. To get a custom layout manager to appear in the Inspector's layout property list, make sure that the layout manager is on the IDEClasspath as defined in JDeveloper\bin\jdeveloper.ini, and add the following line to JDeveloper\bin\addins.properties:
jdeveloper.uiassistant.<full class name>=oracle.jdeveloper.uidesigner.BasicLayoutAssistant
End snip
I don't have jdeveloper.ini anywhere in my hierarchy. At present, I'm setting JDEV_CLASSPATH before starting jdev.exe. Is their a method for providing my own libraries to JDeveloper?
I have addins.properties, but it is in JDeveloper\jdev\bin and this is the one I'm editing.
Adding the line above gives the following console message when the UI is started:
Assistant for com.wb.wfc.FormLayout could not be found: oracle.jdeveloper.uidesigner.BasicLayoutAssistant
Adding jdeveloper.uiassistant.com.wb.wfc.FormLayout=oracle.jdevimpl.uieditor.assistant.BasicLayoutAssistant (cribbed from other assistants in the addins.properties file) shows my manager in the PropertyInspector, but won't allow it to be selected.
My manager takes a simple String as it's Constraint. Must I do something else?
Tony.

Hello,
we would like to provide a Layout Manager Support for a custom layout manager in JDev 9.0.3. A short description of how this can be done is provided in den jdev online docs "Developing Java GUI Clients / Working with Layout Manager / Adding Custom Layout Manager". There the javadocs for the oracle.jdevimpl.uieditor package is referenced. We found the classes needed in jdev.jar, but the jdev-doc.jar does not include the javadocs for this package. Can anyone help us with this?
Regards
Stefan Unfortunately the uieditor package has not been included in the javadoc distribution. I do not know of a way for you to
generate the javadoc yourself without the source files. I have logged a bug to have the javadoc included in future releases.
bug #2697038

Similar Messages

  • Doing without layout manager

    Hi guys.
    I have a very complex problem.
    I've been writing a code that should be able to display a general tree. The tree has to look like an organigram, if you know what I mean. For example, the parent node is a the top and the child nodes are underneath it.
    It's clear that there is no layout manager that can handle this correctly. At least I assume.
    I used the Node Positioning of John Walker to compute the x- and y-coordinate of each node.
    I can display the nodes so far, but I don't know how to force a scrollpane to react to the size of the JPanel containing the nodes.
    In fact, the JPanel containing the nodes of the tree has a null layout manager. If it contains let say 10 nodes, it becomes big enough. However the scrollpane doesn't grow along with the panel.
    What should I do to let the scroll pane grow so that all nodes can be seen.
    Regards.
    Edmond

    It's clear that there is no layout manager that can handle this correctly. Correct. So you need to create a custom layout manager.
    I used the Node Positioning of John Walker to compute the x- and y-coordinate of each node. This is the code that should be added to your custom layout manager.
    but I don't know how to force a scrollpane to react to the size of the JPanel containing the nodes.This is the job of the layout manager. It will determine the preferred size of the panel based on the location/size of all the components added to the panel.
    Here is a simple example to get you started. This layout displays the components diagonally:
    import java.awt.*;
    import java.awt.event.*;
    import java.util.*;
    import javax.swing.*;
    import javax.swing.border.*;
    public class NodeLayout implements LayoutManager, java.io.Serializable
         private int hgap = 20;
         private int vgap = 20;
         public NodeLayout()
          * Adds the specified component with the specified name to the layout.
          * @param name the name of the component
          * @param comp the component to be added
         @Override
         public void addLayoutComponent(String name, Component comp) {}
          * Removes the specified component from the layout.
          * @param comp the component to be removed
         @Override
         public void removeLayoutComponent(Component component)
          *     Determine the minimum size on the Container
          *  @param      target   the container in which to do the layout
          *  @return      the minimum dimensions needed to lay out the
          *                subcomponents of the specified container
         @Override
         public Dimension minimumLayoutSize(Container parent)
              synchronized (parent.getTreeLock())
                   return preferredLayoutSize(parent);
          *     Determine the preferred size on the Container
          *  @param      parent   the container in which to do the layout
          *  @return  the preferred dimensions to lay out the
          *              subcomponents of the specified container
         @Override
         public Dimension preferredLayoutSize(Container parent)
              synchronized (parent.getTreeLock())
                   return getLayoutSize(parent);
          *  The calculation for minimum/preferred size it the same. The only
          *  difference is the need to use the minimum or preferred size of the
          *  component in the calculation.
          *  @param      parent  the container in which to do the layout
         private Dimension getLayoutSize(Container parent)
              int components = parent.getComponentCount();
            int width = (components - 1) * hgap;
            int height = (components - 1) * vgap;
              Component last = parent.getComponent(components - 1);
              Dimension preferred = last.getPreferredSize();
              width += preferred.width;
              height += preferred.height;
              Insets parentInsets = parent.getInsets();
              width += parentInsets.top + parentInsets.right;
              height += parentInsets.top + parentInsets.bottom;
              Dimension d = new Dimension(width, height);
              return d;
          * Lays out the specified container using this layout.
          * @param       target   the container in which to do the layout
         @Override
         public void layoutContainer(Container parent)
         synchronized (parent.getTreeLock())
              Insets parentInsets = parent.getInsets();
              int x = parentInsets.left;
              int y = parentInsets.top;
              //  Set bounds of each component
              for (Component component: parent.getComponents())
                   if (component.isVisible())
                        Dimension d = component.getPreferredSize();
                        component.setBounds(x, y, d.width, d.height);
                        x += hgap;
                        y += vgap;
          * Returns the string representation of this column layout's values.
          * @return      a string representation of this layout
         public String toString()
              return "["
                   + getClass().getName()
                   + "]";
         public static void main( String[] args )
              final JPanel panel = new JPanel( new NodeLayout() );
              panel.setBorder( new MatteBorder(10, 10, 10, 10, Color.YELLOW) );
              createLabel(panel);
              createLabel(panel);
              createLabel(panel);
              createLabel(panel);
              createLabel(panel);
              JButton button = new JButton("Add Another Component");
              button.addActionListener( new ActionListener()
                   public void actionPerformed(ActionEvent e)
                        NodeLayout.createLabel( panel );
              JFrame frame = new JFrame();
              frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
              frame.add( new JScrollPane(panel) );
              frame.add(button, BorderLayout.SOUTH);
              frame.pack();
              frame.setLocationRelativeTo( null );
              frame.setVisible( true );
         public static void createLabel(JPanel panel)
              JLabel label = new JLabel( new Date().toString() );
              label.setOpaque(true);
              label.setBackground( Color.ORANGE );
              panel.add( label );
              panel.revalidate();
              panel.repaint();
    }You would need to customize the getLayoutSize() and layoutContainer() methods to meet your Node Layout requirements.

  • Extending Container for custom layout not working properly

    I'm trying to extend javafx.scene.layout.Container to make a custom layout manager that centers a grid of components and fills all available area in the stage (minus some insets, eventually). I'm using some private members to do this, but it's also being done by the JFXtras library, for example. (Incidentally, I would use the new MigLayout in JFXtras 0.3, but it may have an issue that doesn't allow me to do what I'm trying to do, see [http://groups.google.com/group/jfxtras-users/browse_thread/thread/a26bb47bbbc710a0]). Here's what I'm expecting from the layout:
    | 1 2 |
    | 3 4 |
    and after a resize something like:
    |           |
    |   1   2   |
    |           |
    |   3   4   |
    |           |
    -------------So far, my Container implementation is getting there, but I need to resize the window once after the application starts up to get it to work right. Right after it starts, the nodes are all drawn at 0,0. It appears as though scene.width and scene.height are only initialized properly after my impl_layout function is called the first time, but I'm relying on these to calculate the width and height of the scene/stage to do the centering. If I instead rely on scene.stage.width and scene.stage.height, it works right at startup but doesn't work properly when resizing.
    What should I do to fix my layout method? Is there a better way to handle this layout? HBox and VBox don't give me what I want because they don't set the positions of the components to fill the available screen area. I'm using JavaFX 1.1 on OS X.
    ----- GridContainer.fx -----
    import javafx.scene.Group;
    import javafx.scene.layout.Container;
    public class GridContainer extends Container {
        public var rows: Integer = 3;
        public var columns: Integer = 3;
        init {
            impl_layout = doGridLayout;
        function doGridLayout(g:Group):Void {
            println("width = {g.scene.width}");
            println("height = {g.scene.height}");
            def tXIncrement = g.scene.width / (columns + 1);
            def tYIncrement = g.scene.height / (rows + 1);
            var tX: Number = tXIncrement;
            var tY: Number = tYIncrement;
            var r: Integer = 0;
            var c: Integer = 0;
            for (node in g.content) {
                node.translateX = tX - (node.boundsInLocal.width / 2);
                node.translateY = tY - (node.boundsInLocal.height / 2);
                if (++c == columns) {
                    tX = tXIncrement;
                    c = 0;
                    if (++r == columns)
                        break;
                    tY += tYIncrement;
                else {
                    tX += tXIncrement;
    ----- Main.fx -----
    import javafx.scene.paint.Color;
    import javafx.scene.Scene;
    import javafx.scene.shape.Rectangle;
    import javafx.stage.Stage;
    def width = 640;
    def height = 480;
    Stage {
        title: "Layout Test"
        width: width
        height: height
        scene: Scene {
            content: [
                GridContainer {
                    rows: 2,
                    columns: 2,
                    content: [
                        Rectangle {
                            width: 150,
                            height: 100,
                            fill: Color.BLACK
                        Rectangle {
                            width: 150,
                            height: 100,
                            fill: Color.RED
                        Rectangle {
                            width: 150,
                            height: 100,
                            fill: Color.GREEN
                        Rectangle {
                            width: 150,
                            height: 100,
                            fill: Color.BLUE
        } // Scene
    } // Stage
    ----------

    Incidentally, MigLayout is capable of doing this properly, but I had to create MigNode objects for each cell (see discussion link above).
    I'm still interested in how to do this with a custom Container, because I may end up using my own layout code in the future anyway...

  • Problem in adding Custom Provider for Work Management Service

    Hello,
    I'm facing an issue in adding custom provider for work management service. As you are aware, Work management service is a Provider model and we
    can integrate with other systems by adding custom providers. So with that confidence, i have started writing a connector as mentioned below.
    Step - 1: Added new provider xml in the below path
    "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\15\CONFIG\WorkManagementService\Providers"
    Provider Name: provider.bizagitasklist
    Provider XML Content: 
    <Provider ProviderKey="DAA52AF3-A147-4086-8C0C-82D2F83A089D" OverrideProviderKey="" Assembly="adidas.TaskProvider, Version=1.0.0.0, Culture=neutral, PublicKeyToken=5d6f3e6be60a351b" > </Provider>
    Step -2: Added a class which inherits "IWmaTaskProvider" and implemented the override methods.
    public class BizAgiTaskListProvider : IWmaTaskProvider
    public string LocalizedProviderName
    get { return "BizAgiTaskListProvider"; }
    public string ProviderName
    get { return "BizAgiTaskListProvider"; }
    public Microsoft.Office.Server.WorkManagement.CalloutInfo GetCalloutInfo(IWmaTaskContext context, string taskExternalKey, string locationExternalKey)
    return null;
    public DashboardExtensionInfo GetDashboardExtensionInfo(IWmaBasicProviderContext context)
    return new DashboardExtensionInfo { ClassName = "SP.UI.SharePointExtension" };
    public BulkEditResult HandleBulkEdits(IWmaTaskContext context, BulkEdit updates)
    return null;
    public TaskEditResult HandleTaskEdit(IWmaTaskContext context, BaseAggregatorToProviderTaskUpdate taskUpdate)
    return null;
    public void RefreshSingleTask(IWmaTaskRefreshContext context, string externalKey)
    public void RefreshTasks(IWmaTaskRefreshContext context)
    //context.WriteProviderCustomData(
    Step – 3: Written a class to fetch the tasks from BizAgi System which has method to provide the task data.
    But I’m not able to feed those tasks in the class written in Step – 2 as I’m able to find any method which will take Tasks as Input and I’m not
    sure about the format of tasks.
    I’m able to debug the provider, and the breakpoint hitting in only one method and two properties.
    (LocalizedProviderName, ProviderName, GetDashboardExtensionInfo).
    Can you please help me to proceed further in implementing the above solution?
    Best Regards
    Mahesh

    Hi Mahesh,
    Although the implementation of work management service application is based on the provider model, I reckon the current SP 2013 RTM does not support custom providers. Only SharePoint task lists, Project server and MS Exchange are supported for now.
    Regards,
    Yatin

  • Adding Customer Fields to AS91 - Asset Management

    Has anyone added customer fields to the AS91 transaction. I'm writing a conversion program to load legacy data and I would like to add more fields to the Origin tab.  If I can't do that, then I would like to add another tab to the transaction.  There is a CI_ANLU include which allows me to add the fields to the Asset Master Record, but there's not any screen exits to add those custom fields to the screen.
    Thanks.
    Linda

    Do following.
    1. Go to Transaction AOLA.Its a customising Transaction.
    2. Create your own Layout for ex. ZSAP.
    3. Go to tab page titles and make sure you have all tabs in place.
    4. Select tab where you want to put.
    6. Add a record in it.
    5. Under Groups you will find your screen prefix with U.for example if screen number is 9001 then under group box you will find U9001.
    Check Transaction AOLK. Where you have to assign layout to Asset Class.
    That will display the User defined screens in that tab.
    In SPRO following is the path.
    SPRO->Financial accounting->Asset Accounting->Master Data->Screen Layout
    Message was edited by: Deepak Bhalla

  • Adding Inventory functionality to a custom Order Management Menu

    We have custom menus set up to limit access for users. We currently have a user that needs the 'Move Order' functionality from the Inventory module. This user does not have access to any inventory functionality. I would like to add the 'Move Order' submenu to a custom order management menu she does have access to. Would this work as anticiipated or would this introduce issues in one or both modules? Thanks.

    Hi,
    There should be no issue if you add the proper submenu. You may also need to add some functions which could be relevant to this submenu for accessing it properly from the custom responsibility.
    I would suggest you try this on test instance first, then move it to your production environment.
    Regards,
    Hussein

  • Suitable layout manager for adding JToolbar?

    Hi there,
    I'm new to Java Swing. I'm looking to add a toolbar to the top of a JFrame. I've created a Grid layout with 3 rows and no columns. I've placed the JToolbar in the first row. Unfortunately, each row in the grid is of equal size so the toolbar is stretched to 1/3rd the size of the JFrame. I want to the toolbar to be standard size but I don't know how to resize the grid rows. I don't want to have to add more rows to reduce the size.
    Can anyone help me here? Or if you have a better layout manager suggestion.
    Thanks,
    Sean

    You can use the default BorderLayout of JFrame and add your JToolBar to the North.

  • Adding Text to Custom Layouts

    Im trying to add text to a custom layout.  Here;s what im trying to do.  So you've seen the 4x6 postcards people make to hand out for a show? I followed the Scott Kelby lightroom 3 book and its not explaining how to make the template a 4x6 .  It all starts you out on a 8x11.  Then, if you want to add text, it only gives you this tiny box that wont let you make sentences or indent your lines. Ive tried different things in "identity Plate" but that doesnt work either.  I cant see what im doing because it only gives you a little box and wont show you what you are typing.  Anyway , i hope someone is having the same problem and can help me work this out.  I know it can be done. ive done it before. about 2 years ago. But didnt save my template and now cant remember how to do it.
    Thanks., Sal

    It would be a good idea, usually, to just upload the page and
    post a link to
    it. That way we can see both the HTML and the CSS, and make
    suggestions
    that are keyed to your specific layout.
    Murray --- ICQ 71997575
    Adobe Community Expert
    (If you *MUST* email me, don't LAUGH when you do so!)
    ==================
    http://www.dreamweavermx-templates.com
    - Template Triage!
    http://www.projectseven.com/go
    - DW FAQs, Tutorials & Resources
    http://www.dwfaq.com - DW FAQs,
    Tutorials & Resources
    http://www.macromedia.com/support/search/
    - Macromedia (MM) Technotes
    ==================
    "lew2937" <[email protected]> wrote in
    message
    news:feanr0$20c$[email protected]..
    >I am confused. This is very new to me. My code is below.
    Thanks so much.
    >
    > @charset "utf-8";
    > body {
    > background: #cccccc;
    > margin: 50;
    > padding: 0;
    > text-align: center;
    > font-family: Arial, Helvetica, sans-serif;
    > font-size: 9px;
    > color: #FFFFFF;
    > text-transform: lowercase;
    > height: 400px;
    > }
    > .thrColAbs #container {
    > position: relative;
    > width: 900px;
    > margin: 0 auto;
    > text-align: left;
    > background-image: url(images/citymap.jpg);
    > background-position: right;
    > }
    >
    > .thrColAbs #sidebar1 {
    > position: absolute;
    > top: 0;
    > left: 0;
    > width: 150px;
    > padding: 15px 10px 15px 20px;
    > border-top-width: 1px;
    > border-right-width: 1px;
    > border-bottom-width: 1px;
    > border-left-width: 1px;
    > border-right-style: solid;
    > border-top-color: #FFFFFF;
    > border-right-color: #FFFFFF;
    > border-bottom-color: #FFFFFF;
    > border-left-color: #FFFFFF;
    > }
    > .thrColAbs #sidebar2 {
    > position: absolute;
    > top: 0px;
    > right: 0;
    > width: 100px;
    > padding: 15px 10px 15px 20px;
    > }
    > .thrColAbs #mainContent {
    > padding: 0 20px;
    > border: 1px none #FFFFFF;
    > margin-left: 500px;
    > margin-right: 130px;
    > }
    >
    > .fltrt {
    > float: right;
    > margin-left: 8px;
    > }
    > .fltlft {
    > float: left;
    > margin-right: 8px;
    >
    >

  • How to force a Custom Layout in the links sent by e-mail ?

    Hi everyone,
    For customizing the final user´s view for Discussion Groups,
    I created a custom Layout Set "myDiscussionGroupsContributor"
    that references a custom Collection List Renderer
    "myDiscussionGroupWithoutTopicsContributorCollectionListRenderer"
    that references a custom Command "my_join_discussion_thread_contributor"
    that has a custom Layout Set assigned "mySingleDiscExplorerContributor".
    When accessing the discussions via the final users it works fine
    (I´ve already corrected the "Back" link problem acording thread
    problem with discussion group contributor iview)
    The problem is that when I send a discussion via e-mail
    to another user using the "send to" command,
    the received link opens the discussion using the default
    "DiscussionGroupsContributor", in fact, the e-mail´s HTML code
    contains the property "rndLayoutSet=SingleDiscExplorerContributor"
    as noted in the following href element:
    href="http://myportal:50000/irj/servlet/prt/portal/prtroot/
    com.sap.km.cm.navigation/discussiongroups/
    80b935d9-90a8-2810-17a6-c88c15fd350b/
    324e1175-98a8-2810-16a2-ee1c1f9c54bc.dsc?
    StartUri=/discussiongroups/80b935d9-90a8-2810-17a6-c88c15fd350b/
    324e1175-98a8-2810-16a2-ee1c1f9c54bc.dsc&
    rndLayoutSet=SingleDiscExplorerContributor&scHeight=300&
    scWidth=220&scPostListWidth=500" target=_blank
    The same happens with the link in the subscriptions list.
    Does anybody know how to set the layout in these links ?

    Hi all,
    I solved the problem, so here I post the steps for the solution I found.
    1) Modify the Object Type Definitions:
    In the CM Repository there is a folder root > etc > oth.
    There you have to change the LayoutSet settings in the following files
    (I don´t know if it is necessary to modify all of them):
         - discussion_post.oth
         - discussion_topic.oth
         - discussion.oth
         - discussiongroups_items.oth
         - discussionPostType.oth
         - discussionType.oth
         - dscGroupsCollType.oth
         - dscGroupsItemsType.oth
    2) Then you have to reload de OTH settings:
    In the Content Management configuration (System Administration >
    System Configuration > Content Management)
    go to User Interface > Debugging Settings and edit the configuration.
    Add your user id to "UI Superusers" then enable
    "Enable Rendering Information" and save.
    Then go to a KM and clic on "Rendering Information"
    (If the link doesn´t appear, refresh your window).
    A new window opens, clic in "OTH-Overview"
    and then in the new window click on "Reload".
    Finally close all popup windows and go to the
    Debugging Settings again to disable the checkbox
    "Enable Rendering Information"
    For further information you can read:
    http://help.sap.com/saphelp_nw04/helpdata/en/02/e4e25538f7274eb08b317751f2f04b/frameset.htm
    and
    http://help.sap.com/saphelp_nw04/helpdata/en/f4/2c6b2089cc784bb384a7ea058de50d/frameset.htm
    I hope someone find this thread useful.
    Daniel Sacco

  • Adding custom fields to Embedded Search

    Hi All,
    I have read the post [here|How to add custom fields to Embedded Search; about adding custom fields to Embedded Search. I am looking to add Employee Subgroup for use in Talent Management (specifically the STVN SuccessionPlanning component) and wanted to know if anyone can expand on the instructions in the link to add this field.
    It appears to be part of the HRTMC_PERSON search object connector already and while I've done some IMG configuration the field is showing in SuccessionPlanning, but not displaying any data.
    Additionally, I'd be interested in any tips to add information that is not from PA0002 should it be required in the future.
    Many thanks,
    Luke

    Hi Luke,
    I am assuming here that your search request fields are based on HRTCM_CENTRALPERSON search template. To enable your search to work on employee subgroup please do the following
    1) Check if the HRTMC_PERSON Template extracts the data from Infotype 0001 via SPRO node 'Define Search Models and Change Pointer' Extraction Class is 'CL_HRTMC_SEARCH_READ_PA_INFTY'.
    2) Via ESH_COCKPIT, goto Template Modeler and select your custom Software Component and press Edit. Goto roadmap step 5 - Define Requests - where all search request fields are defined. Its using these fields Talent search works.
    3) Select the search request e.g. 'SAP_TALENT_NAKISA', it would then show list searchable attributes in below table. Using 'Add' button select path for PERSK so that it can searched.
    It would look like this once selected
    OBJID(REL_CP_P)->HRTMC_REL_CP_P_209.REL_CP_P(REL_CP)->HRTMC_PERSON.OBJID->HRTMC_PERSON.ORG_ASSIGNMENT
    4) In step SPRO 'Define Search Requests and Search Field Names' , define Employee subgroup field with AliasSearchField = PERSK since thats what is defined in roadmap step 5.
    Hope it helps!
    Regards,
    Ricky Shah

  • Layout Management in Table Control

    Hi Dialog Programming Experts,
    I have a new requirement - adding Layout Management options in Table Control. This is dialog/module programming, not ALV Report. Is there a function module for this?
    Thanks so much in advance for your help.
    Regards,
    Joyreen

    Hi
    For filter use the following function modules,
    l_rightx-id = l_index.
      l_rightx-fieldname = 'DESCR'.
      l_rightx-text = text-054.
      APPEND l_rightx TO i_rightx.
      l_index = l_index + 1.
      CLEAR l_rightx.
      l_rightx-id = l_index.
      l_rightx-fieldname = 'DEL_CM'.
      l_rightx-text = text-055.
      APPEND l_rightx TO i_rightx.
    CALL FUNCTION 'CEP_DOUBLE_ALV'
           EXPORTING
                i_title_left  = text-034
                i_title_right = text-035
                i_popup_title = text-036
           IMPORTING
                e_cancelled   = l_cancelled
           TABLES
                t_leftx       = i_leftx[]
                t_rightx      = i_rightx[].
    Firstly populate the right table with all fields which you want in the filtering condition. The left table will be populated once the use selects some fields and transfer it to the left portion of the dialog.
    Then use the following FM like this.
    DATA: i_group TYPE lvc_t_sgrp.
          CALL FUNCTION 'LVC_FILTER_DIALOG'
               EXPORTING
                    it_fieldcat   = i_fldcat1
                    it_groups     = i_group
               TABLES
                    it_data       = i_ziteminvoice[]
               CHANGING
                    ct_filter_lvc = i_filter
               EXCEPTIONS
                    no_change     = 1
                    OTHERS        = 2.
    here filter table should have fields from left table above.
    Once you get the filter data, populate range table for each fields and then delete your internal table using these range.
    CASE l_filter-fieldname.
                  WHEN 'ITMNO'.
                    l_itmno-sign = l_filter-sign.
                    l_itmno-option = l_filter-option.
                    l_itmno-low = l_filter-low.
                    l_itmno-high = l_filter-high.
                    APPEND l_itmno TO li_itmno.
                    CLEAR l_itmno.
    DELETE i_ziteminvoice WHERE NOT  itmno IN li_itmno OR
                                          NOT  aedat IN li_aedat OR...
    First check this if it works, else let me know.
    Thanks
    Sourav.

  • Access to IPortalComponentRequest in custom security manager

    Hi All,
    I am implementing a custom security manager. For my requirements, I need IPortalComponentRequest object in the security manager class. Can anyone give me a clue to get the request object in security manager implementation.
    Regards,
    Yoga

    Hi Romano,
    I tried this. Its returning mysapsso2 cookie and authentication_schema cookie. But not retuning any custom cookies added to the response from any other application.
    What I have tried to achieve is:
    1. When a user login and authentication suceeds, I will add a custom cookie to the response.
    2. Get the custom cookie added in the security manager class and do manipulations to check whether the user is authenticated.
    Using the method you have suggested, I was not able to get any custom cookies added in other applications.
    I tried the code using resource context(resource context obtained form IUser) as suggested in other threads,
    HttpServletRequest request = (HttpServletRequest) resourceContext.getObjectValue("http://sapportals.com/xmlns/cm/httpservletrequest");
    But this API returns null.
    Any way to achieve?
    Regards
    Yoga

  • Adding customized JPanel's to a frame

    This seems like a very easy solution, but I've been looking around and can't find a way to solve it.
    Let's say I have a class like:
    public class StickyPerson extends JComponent {
        private int x, y;
         * Set coordinates for the sticky person
         * @param x Position x
         * @param y Position y
        public void setCoordinates(int x, int y) {
            this.x = x;
            this.y = y;
        @Override
        protected void paintComponent(Graphics g) {
            super.paintComponent(g);
            Graphics2D g2 = (Graphics2D) g;
            g2.drawOval(this.x, this.y, 50, 50);
    }and in my main class I do like that:
          StickyPerson aPerson = new StickyPerson();
          aPerson.setCoordinates(90, 100);
          frame.add(aPerson);
          aPerson.setCoordinates(290, 100);
          frame.add(aPerson);The problem I'm dealing with is that only the last StickyPerson object is drawn. I've tested with other shapes as well and got the same result, only the last object is shown.
    It's clear that I'm making a mistake somewhere but I can't find where. Any ideas?
    Thank you
    Edited by: Raisen on Sep 10, 2009 12:00 AM

    Thanks for all the replies. After reading more about the layout managers, I found out that in this specific project, I need to set the layout manager to null because I'm going to be dealing with drawings all over my frame.
    I've added setBounds and setSize inside the paintComponent method but somehow, whenever I add the component to the frame, the method is never called.
    Example:
    public class StickyPerson extends JComponent {
        public StickyPerson(JFrame aFrame) {
            super();
            insets = aFrame.getInsets();
        public void paintComponent (Graphics g) {
            super.paintComponent(g);
            Graphics2D g2 = (Graphics2D) g;
            GradientPaint redtowhite = new GradientPaint(0,0,Color.GRAY,
                    100, 0, Color.WHITE);
            g2.setPaint(redtowhite);
            g2.fill (new Ellipse2D.Double(this.x, this.y, this.w, this.h));
            g2.setColor(Color.BLACK);
            g2.drawString(this.text, this.x+25, this.y+25);
            this.setSize(w, h);
            this.setBounds(10 + this.insets.left, 50 + this.insets.top,
                    this.w, this.h);
    }and in my main code:
          JFrame frame = new JFrame("Example");
          frame.getContentPane().setLayout(null);
          frame.setSize(550, 400);
          frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
          StickyPerson stickyPerson = new StickyPerson(frame);
          stickyPerson.setCoordinates(10, 20, 200, 40);
          stickyPerson.setText("Hello World");
          frame.add(stickyPerson);
    code}
    I've omitted the other irrelevant methods to shorten the code. I've attached breakpoints inside the paintComponent method but it never reaches it. I've tried to use repaint(), validate(), repack().                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • Adding custom field in pricing condition structure (BADI CRM_COND_COM_BADI)

    Hi,
    I need to add a custom field (ZCITY) to the structure : CRMT_ACS_H_COM and I need to populate this field in the BADI: CRM_COND_COM_BADI in the method : HEADER_COMMUNICATION_STRUCTURE.
    However, my concerns are:
    1. How to add the new field to this pricing structure? Is there any specific procedure to do that?
    2. And once the field is added and populated with the value in BADI, where the pricing calculation takes place based on this custom field?  Do we need to to implement any other BADI's or any pricing routines? I am little confused here.
    Could you please help me on this?
    Bottom line is : A custom field calles ZCITY needs to be added to the pricing structure and freight cost determination should take place based on this new field ZCITY.
    Thanks,
    Sandeep

    Hi Sandeep,
    if the field is used in the condition download from ECC please also check SAP note 514952.
    1. The field is added via the field catalogue maintenance at IMG: Customer Relationship Management -> Basic Functions -> Pricing -> Define Settings for Pricing -> Maintain Field Catalog. As you save or generate the field catalogue the structure will be updated with your field.
    2. Whether you need to implement a JAVA routine for the pricing of this particular condition is defined in the corresponding pricing procedure.
    Best Regards,
    Michael

  • Adding custom fields in IW41/42/43.

    Hi All,
    I have a requirement of adding custom fields in the order confiramtion screen i.e IW41/42/43.
    i found this user exit CMFU0001: Determine customer-specific screen layout.
    but i am not able to figure out a way to use it.
    has anyone done such an developemnt .
    Kindly help
    Regards,
    Johnson George.

    Hi,
    Try this:
    Userexit:CONF0001
    Go to tcode:CMOD
    Give a name for project,press Create.
    Click on the   enhancement assignments button and add the selected enhancement there and enter and save it. 
    Click on 'Components' button.Double click on EXIT_SAPLCORU_001, double click on 'INCUDE ZXCOCU01'. Write code here.

  • Adding Custom fields to standard  SAP-EBP application

    Hi,
    A functionality requires some custom fields to be added to the standard SAP-SRM EBP ( Manage business partners) application.
    If I copy the whole BBP_VENDOR_CREATE program into a Z-program, and the BBPMAININT internet service to a Z-application, then would it be feasible??
    Which is the best way to add custom fields in a SAP standard EBP application--in the 'Manage business partners' section.
    Regards,
    Goutam

    Hi
    I don't think it's easily possible to add custom fields to the existing transaction - BBPMAININT.
    For adding customer fields you can refer the SAP OSS not - 672960, but I don't think it will be of much help here.
    <b>Since SAP has not upgraded this transaction - BBPMAININT for a quite long time, you need to do all the logic and validation from your end.</b>
    <u>Better to go for you own Z (custom program) and make your logic accordingly.</u>
    Regards
    - Atul

Maybe you are looking for