Preprocess and hyperlink events

hi,
i am attempting to change some component properties when a user clicks a hyperlink on a page. the link's url points to the same page that the link is on, and i'd like for clicking the link to result in some new components on the page being rendered and some other components being hidden. however, i'm having problems figuring out where to put the code to handle the rendering of components.
i've tried to set the appropriate component properties in the action handler for the link, but this doesn't work. actually, it doesn't appear that this link_action() method is being called at all. why is that?
alternatively i tried putting the code in the preprocess() method, but clicking a link isn't considered a postback, is it? this approach has not worked either.
any help is much appreciated.

Hi
I only want to say that I have similar problem, and can't figure it out.
I am changing a sessionbean property in link_action() method and I can tell you it works, it updates the property. But I don't know where to put the code that updates the component values, after that session bean property has changed.
I tried putting the code in preprocess, prerender... (And some places I probably shouldn't say in public :D) Nothing worked.
Is there a good explanation of what exactly these methods do?

Similar Messages

  • HyperlinkListener and HyperLink Event

    Hi Gurus,
    I made a little bit change to JtreeDemo, and load a html file to JEditPane, and there are some link in the html page, I would like some thing happen when user clicks on the url, so I add HyperLinkListener and event,but it seems nothing happen when I run the application. I will really appreciate If you can help me to work this out.
    Thanks
    John
    import javax.swing.JTree;
    import javax.swing.event.*;
    import javax.swing.tree.DefaultMutableTreeNode;
    import javax.swing.event.TreeSelectionListener;
    import javax.swing.event.TreeSelectionEvent;
    import javax.swing.tree.TreeSelectionModel;
    import java.net.URL;
    import java.io.IOException;
    import javax.swing.JEditorPane;
    import javax.swing.JScrollPane;
    import javax.swing.JSplitPane;
    import javax.swing.JFrame;
    import java.awt.*;
    import java.awt.event.*;
    public class Example extends JFrame implements HyperlinkListener
    private JEditorPane htmlPane;
    private static boolean DEBUG = false;
    private URL helpURL;
    //Optionally play with line styles. Possible values are
    //"Angled", "Horizontal", and "None" (the default).
    private boolean playWithLineStyle = false;
    private String lineStyle = "Angled";
    public Example() {
    super("example");
    //Create the nodes.
    DefaultMutableTreeNode top = new DefaultMutableTreeNode("example");
    createNodes(top);
    //Create a tree that allows one selection at a time.
    final JTree tree = new JTree(top);
    tree.getSelectionModel().setSelectionMode
    (TreeSelectionModel.SINGLE_TREE_SELECTION);
    //Listen for when the selection changes.
    tree.addTreeSelectionListener(new TreeSelectionListener() {
    public void valueChanged(TreeSelectionEvent e) {
    DefaultMutableTreeNode node = (DefaultMutableTreeNode)
    tree.getLastSelectedPathComponent();
    if (node == null) return;
    Object nodeInfo = node.getUserObject();
    if (node.isLeaf()) {
    courseInfo course = (courseInfo)nodeInfo;
    displayURL(course.courseURL);
    if (DEBUG) {
    System.out.print(course.courseURL + ": \n ");
    } else {
    displayURL(helpURL);
    if (DEBUG) {
    System.out.println(nodeInfo.toString());
    if (playWithLineStyle) {
    tree.putClientProperty("JTree.lineStyle", lineStyle);
    //Create the scroll pane and add the tree to it.
    JScrollPane treeView = new JScrollPane(tree);
    //Create the HTML viewing pane.
    htmlPane = new JEditorPane();
    htmlPane.setEditable(false);
    initHelp();
    JScrollPane htmlView = new JScrollPane(htmlPane);
    //Add the scroll panes to a split pane.
    JSplitPane splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);
    splitPane.setTopComponent(treeView);
    splitPane.setBottomComponent(htmlView);
    Dimension minimumSize = new Dimension(100, 50);
    htmlView.setMinimumSize(minimumSize);
    treeView.setMinimumSize(minimumSize);
    splitPane.setDividerLocation(100); //XXX: ignored in some releases
    //of Swing. bug 4101306
    //workaround for bug 4101306:
    //treeView.setPreferredSize(new Dimension(100, 100));
    ///ttttttttttttttttttttttt
    htmlPane.addHyperlinkListener(this);
    //ttttttttttttttttttttttttt
    splitPane.setPreferredSize(new Dimension(500, 300));
    //Add the split pane to this frame.
    getContentPane().add(splitPane, BorderLayout.CENTER);
    private class courseInfo {
    public String courseName;
    public URL courseURL;
    public String prefix = "file:"
    + System.getProperty("user.dir")
    + System.getProperty("file.separator");
    public courseInfo(String course, String filename) {
    courseName = course;
    try {
    courseURL = new URL(prefix + filename);
    } catch (java.net.MalformedURLException exc) {
    System.err.println("Attempted to create a courseInfo "
    + "with a bad URL: " + courseURL);
    courseURL = null;
    public String toString() {
    return courseName;
    //tttttttttttttttttttttttt
    public void hyperlinkListener(HyperlinkEvent e)
    if (e.getEventType() == HyperlinkEvent.EventType.ACTIVATED)
    // do something on HL click
    System.out.println("ouverture");
    if (e.getEventType() == HyperlinkEvent.EventType.ENTERED)
    // do something on mouse over HL
    // do something on HL click
    System.out.println("bbbbbbbbbbbbbbbbbbbb");
    if (e.getEventType() == HyperlinkEvent.EventType.EXITED)
    // do something on HL click
    System.out.println("ggggggggggggggggggg");
    // do something on mouse moved away from HL
    public void hyperlinkUpdate(HyperlinkEvent e)
    //ttttttttttttttttttttttttt
    private void initHelp() {
    String s = null;
    try {
    s = "file:"
    + System.getProperty("user.dir")
    + System.getProperty("file.separator")
    + "lesson1.html";
    if (DEBUG) {
    System.out.println("Help URL is " + s);
    helpURL = new URL(s);
    displayURL(helpURL);
    } catch (Exception e) {
    System.err.println("Couldn't create help URL: " + s);
    private void displayURL(URL url) {
    try {
    htmlPane.setPage(url);
    } catch (IOException e) {
    System.err.println("Attempted to read a bad URL: " + url);
    private void createNodes(DefaultMutableTreeNode top) {
    DefaultMutableTreeNode category = null;
    DefaultMutableTreeNode course = null;
    category = new DefaultMutableTreeNode("Vector");
    top.add(category);
    //original Tutorial
    course = new DefaultMutableTreeNode(new courseInfo
    ("Lesson 1: Definition of Vector",
    "lesson2.html"));
    category.add(course);
    //Tutorial Continued
    course = new DefaultMutableTreeNode(new courseInfo
    ("Lesson 2:",
    "lesson3.html"));
    category.add(course);
    //JFC Swing Tutorial
    course = new DefaultMutableTreeNode(new courseInfo
    ("Lesson 3:",
    "lesson4.html"));
    category.add(course);
    //Arnold/Gosling
    course = new DefaultMutableTreeNode(new courseInfo
    ("Lesson 4", "lesson5.html"));
    category.add(course);
    //FAQ
    course = new DefaultMutableTreeNode(new courseInfo(
    "Lesson 5: ", "lesson6.html"));
    category.add(course);
    //Chan/Lee
    course = new DefaultMutableTreeNode(new courseInfo
    ("Lesson 6: ",
    "lesson6.html"));
    category.add(course);
    //Threads
    course = new DefaultMutableTreeNode(new courseInfo
    ("Lesson 7: Exercises ",
    "lesson7.html"));
    category.add(course);
    category = new DefaultMutableTreeNode("Matrix--Plot");
    top.add(category);
    //VM
    course = new DefaultMutableTreeNode(new courseInfo
    ("Lesson 1: Definition of Matrix",
    "lesson8.html"));
    category.add(course);
    //Language Spec
    course = new DefaultMutableTreeNode(new courseInfo
    ("Lesson 2: Definition of Plot",
    "lesson9.html"));
    category.add(course);
    public static void main(String[] args) {
    JFrame frame = new Example();
    frame.addWindowListener(new WindowAdapter() {
    public void windowClosing(WindowEvent e) {
    System.exit(0);
    frame.pack();
    frame.setVisible(true);

    See following, it has Hyperlinklabel and button example.
    http://forum.java.sun.com/thread.jsp?forum=57&thread=328882

  • Capture Hyperlink event and set value

    Hello everyone,
    I have a hyperlink on a report column and when I click on the hyperlink it takes me to an URL. Now I need to capture the time the user clicked on the URL and update a DB table column. So I created a Dynamic event to update an item, but I am not able to get the hyperlink event. When I select the Event as 'Click' and 'Selection Type' as 'Item', the report column does not show up on the Item(s) LOV. Can Dynamic Actions be based only on click of page items?
    If so, is there any other to capture this Hyperlink event and set value? Also, as my 'Column Link' target is 'URL', I cannot set any value for items there!
    Please help,
    Ramya

    Thanks a lot Vee, that was very helpful.
    I added the dummy page with 'OnLoad' page process with the PL/SQL code and my current page redirects to a new page with the new page's attributes set. Now I am able to update the timestamp on the table with the sysdate when I click on the click. However, my URL does not work. A page cannot be found error is returned. I displayed the P2_URL_ITEM on the page and it displays only until 'http', the rest of the text is cut. Is there a way I can increase the length of this page item?
    As the URL value assigned to the page item did not work, I tried to hardcode the URL. Below is my page process on the load of dummy page,
    BEGIN
    UPDATE xxnf.XXNF_APEX_RR_REPORTS
    SET last_used = SYSDATE
    WHERE report_id = :P2_REPORT_ID;
    sys.owa_util.redirect_url('www.google.com');
    --owa_util.redirect_url(:P2_URL_ITEM);
    END;
    However, still the page not found error comes up. Could you please help fix both these issues?
    1) P2_URL_ITEM - not having the complete URL
    2) redirect_url not working.
    Looking forward to any helpful pointers,
    Ramya

  • Hyperlink events in iCal?

    Can you hyperlink events in iCal? I've been unable to do so and can find no references for it.
    John Kendrick

    I've done a bit of research on hyperlinking events in iCal since I made that post. Turns out you can but it's sufficiently awkward to not be worth it. For my purposes.
    To do so, create a new event. Either in the subsequent edit button or the original, you will see a url field. You can past the url there. The problem is that it's only accessible when you click on the event, bringing up the subsequent window. I wanted something that was clickable from the face of the calendar itself.
    I got to this problem because I was putting together a spring calendar of attractive events at Carnegie Hall, in NYC. I wanted to be able to hyperlink short notations about each event, such as the name of the orchestra, to a full page description of the event on Carnegie's website. That way my wife could look through the full calendar with the full references, pick her preferences the better for us to decide which to buy tickets for.
    I've decided to stick with calendars in Word, which does have this ability, and are easily shared across our home network.
    John Kendrick

  • Unable to capture startup and shutdown event of Photoshop in automation Plugin.

    Hi,
    I am creating an automation plugin and I want to register some events. I have seen listener plugin sample to register event in startup and unregister event in shutdown. I have used same code in my plugin but I am unable to capture the startup nad shutdown event of Photoshop. On clicking the menu item of my plugin the calls come inside the AutoPluginMain but during the startup or shutdown of plugin, the calls does not come inside the AutoPluginMain.
    I am unable to detect the cause of the problem. Can someone please giude me??
    Thanks in advance.

    Hi Tom,
    Thanks for the suggestion.
    Yes, I am working on Windows. As you suggested, I compiled .rc file but the compile option for .r file was disabled. After compiling the .rc file, I again rebuild the complete project and tested my build. But still I was not able to achive the desired result.
    Any other thing that I need to do to make it work?
    Thanks

  • When I sync my iPod to my MacBook through iTunes new events do not show up and old events are not deleted. I am using Snow Leopard  and not iSync.

    I am using Snow Leopard on a MacBook. I have an iPod touch 3G. I do not use iSync it Mobile Me. When I sync my iPod through iTunes new events on my iPod do not show up on my Mac and old events do not delete. I have read help instructions that include deleting the data on the iPod. The iPod has the correct data and the Mac does not so I have not followed those instructions. I need help as the only reason I bought the Mac was to be able to sync, back up, view and print my calendar. Currently it is useless. If only Apple could have learned from the elegance of the Palm software.

    Start here:
    iPhone, iPad, or iPod touch: Device not recognized in iTunes for Windows

  • I wonder to know what is the enterprise solution for windows and application event log management and analyzer

    Hi
    I wonder to know what is the enterprise solution for windows and application event log management and analyzer.
    I have recently research and find two application that seems to be profession ,1-manageengine eventlog analyzer, 2- Solarwinds LEM(Solarwind Log & Event Manager).
    I Want to know the point of view of Microsoft expert and give me their experience and solutions.
    thanks in advance.

    Consider MS System Center 2012.
    Rgds

  • What is the diffrence between sap events and application events

    Hi all,
    what is the diffrence between sap events and application events.Can any one tell me with examples.
    regards,

    Hi,
    Look at this,
    <b>System Events (Default)</b>
    The event is passed to the application server, but does not trigger the PAI. If you have registered an event handler method in your ABAP program for the event (using the SET HANDLER statement), this method is executed on the application server.
    Within the event handler method, you can use the static method SET_NEW_OK_CODE of the global class CL_GUI_CFW to set a function code and trigger the PAI event yourself. After the PAI has been processed, the PBO event of the next screen is triggered.
    The advantage of using this technique is that the event handler method is executed automatically and there are no conflicts with the automatic input checks associated with the screen. The disadvantage is that the contents of the screen fields are not transported to the program, which means that obsolete values could appear on the next screen. You can work around this by using the SET_NEW_OK_CODE method to trigger field transport and the PAI event after the event handler has finished.
    <b>Application Events</b>
    The event is passed to the application server, and triggers the PAI. The function code that you pass contains an internal identifier. You do not have to evaluate this in your ABAP program. Instead, if you want to handle the event, you must include a method call in a PAI dialog module for the static method DISPATCH of the global class CL_GUI_CFW. If you have defined an event handler method in your ABAP program for the event (using the SET HANDLER statement), the DISPATCH method calls it. After the event handler has been processed, control returns to the PAI event after the DISPATCH statement and PAI processing continues.
    The advantage of this is that you can specify yourself the point at which the event is handled, and the contents of the screen fields are transported to the application server beforehand. The disadvantage is that this kind of event handling can lead to conflicts with the automatic input checks on the screen, causing events to be lost.
    Hope u understood.
    Thanks&Regards,
    Ruthra.R

  • How can i set action on UITaBar and get event from that

    Hi All,
    I m doing one apps in which i have to add three UITabBarItem and this is UITabBarSystemItem.
    Now i cannot understand that how can i set action and get event from the?
    And how can i set various views on three tab bar item.
    I have to use UITabBar means i have to use UINavigationController+UITabBar
    My code id
    tabBar =[[UITabBar alloc] initWithFrame:CGRectMake(0,370,320,50)];
    tabBar.backgroundColor =[UIColor blackColor];
    UITabBarItem *search =[[UITabBarItem alloc] initWithTabBarSystemItem:UITabBarSystemItemSearch tag:0];
    UITabBarItem *recents =[[UITabBarItem alloc] initWithTabBarSystemItem:UITabBarSystemItemRecents tag:1];
    UITabBarItem *favorites =[[UITabBarItem alloc] initWithTabBarSystemItem:UITabBarSystemItemFavorit es tag:2];
    tabBar.items =[[NSArray arrayWithObjects:search,recents,favorites, nil] retain];
    tabBar.selectedItem = search;
    [myView addSubview:tabBar];
    [tabBar release];
    I add a action:
    UITabBarItem *search =[[UITabBarItem alloc] InitWithTabBarSystemItem:UITabBarSystemItemSearch tag:0 action:@selector(select:)];
    So it error: Warning -no'InitWithTabBarSystemItem:tag:action:' method fount
    So any can help me regarding it?

    Thanks RickMaddy very much.
    I read and do with sample at the View Controller Programming Guide . But when run it only view TabBar with title but haven't got any TabBarItem on it. I searched a few example about TabBar and i did, but i want do a form with a button then press on button it view a form with 2 TabBarItem on TabBar and press each TabBarItem will show correlative form page 1, page 2.
    UITabBarController *tabBarControl = [[[UITabBarController alloc] initWithNibName:nil bundle:nil] autorelease];
    tabBarControl.title = @"Tab bar";
    ViewControl1 *view1 = [[[ViewControl1 alloc] initWithNibName:@"ViewControl1" bundle:nil] autorelease];
    ViewControl1 *view2 = [[[ViewControl1 alloc] initWithNibName:@"ViewControl2" bundle:nil] autorelease];
    tabBarControl.viewControllers = [NSArray arrayWithObjects:view1,view2,nil];
    [self.navigationController pushViewController:tabBarControl animated:YES];

  • Badi and Business event( Urgent)

    Hi experts,
          I am new to badi and business event 1120P. Please post how this business event exactly comes in to picture in this badi. also how to find this business event?
    And also Post the logic or code. The requirement is given below . Pls Post the solution. Its very urgent.
    Enhancement Summary
    Two user exits are needed to determine the correct G/L Account and Cost Center on Shipment Cost documents and post the Material Group on the Accounting document. BADI_SCD_ACCTG and Business Event 1120P can be used to accommodate the new functionality.
    Business Process
    Specific G/L Accounts and Cost Centers have to be determined to post on the Shipment Cost document. This is needed to provide accurate management reporting capabilities on shipments for Sales Order or Stock Transfer Order. A new custom table must be created which contains the following information: Distribution, Mode of Transport, Account, Cost Center Material group. Distribution is an identifier here if this shipment originated from an SO or STO.
    There are no screens involved in this enhancement.
    Components
    Table: ZTABLE1
    Field     Data Element     Type     Length     Description
    MANDT     MANDT     CLNT (key)     3     Client
    DISTRIBUTION     Z_DISTRIBUTION     CHAR (key)     1     Distribution
    MOT     ZZDEF_MOT     CHAR (key)     2     Mode of Transportation
    MATKL     MATKL     CHAR (key)     9     Material group
    SAKNR     SAKNR     CHAR     10     G/L Account Number
    KOSTL     KOSTL     CHAR     10     Cost Center
    This table gets updated manually by the FI team.
    Values for Distribution are:
    ‘1’  =  Primary Distribution to Refinery
    ‘2’ = Primary and Secondary– Excluding refinery
    All entries must be checked against SAP config and master tables
    User exit BADI BADI_SCD_ACCTG will be used to determine the correct G/L Account, Cost Center and Product Group based on Distribution and Mode of Transport. This BADI gets called only when a new Shipment Cost document get created.
    Once the BADI determined the new values it populates field c_vfkn-sakto with the G/L account, field c_vfkn-kostl with the Cost Center and exports the Product group to memory.
    There is no field on the Shipment Cost Document to store the Product group. Therefore another mechanism must be used to get the Product Group on the accounting document.
    Business Event 1120P can be used to import the Product group out of memory and put it on BSEG-MATNR. Structure BSEG_SUBST must be enhanced with field MATNR for this purpose.
    Function, Rules, Exits      Description of Functionality, Rules, Exits
    BADI_SCD_ACCTG     Business Add-In for Shipment Cost Account Assignment
    Business Framework     Business Event 1120P can be used to import the Product Group from memory and to populate field BSEG_SUBST-MATNR.
    This event gets called from different places. It needs to be ensured that it only populates the value when it was called from BADI_SCD_ACCTG.
    Custom Table     A look-up Table needs to be maintained for Distribution, Mode of Transport, G/L Account, Cost Center and Material Group
    Transaction code     To maintain the new table
    Append Structure     To enhance structure BSEG_SUBST with MATNR
          Business Add-In BADI_SCD_ACCTG can be used to determine the account assignments for a shipment cost item to set the G/L Account and Cost Center. All data needed to determine the new information gets provided in this BADI.
    Logic:
    •     Determine if STO or SO based on Document Category from internal table I_REFOBJ-VTRLP field VGTYP If is C then Distribution type is Sales Order (Primary and Secondary – Excluding Refinery – ‘2’ ) else we need to check the receiving plant. If the receiving plant (I_REFOBJ-VTRLK field WERKS) is a refinery the Distribution type is Primary (1) else it’s a (Primary and Secondary – Excluding Refinery – ‘2’ ). Refineries can be identified via Function Module ZPLANTCLASSIFICATION. The plant must be passed into Import Parameter IP_SAPPLANT and field INT_PLANTCHAR-ATNAM must be looked up with value SAPTYPE. If it exists and field ATWRT contains ‘RFY’, the plant is a refinery.
    •     Product Group can be determined from the Material master through Material group field MARA-MATKL.
    •     Mode of Transport will be passed in the BADI in VTRLK-OIC_MOT.
    •     Select single entry from table ZTABLE1based on Distribution, Mode of Transport and Material Group. If nothing gets selected, error message ‘No entry exists in table ZTABLE1for Distribution (distribution), MOT (MOT) & Mat. Group (material group)’ should be triggered.
    •     Move ZTABLE1-SAKNR  to c_vfkn-sakto and ZTABLE1-KOSTL to c_vfkn-kostl
    •     The Material group must be exported to memory in BADI_SCD_ACCTG
    •     The Material group must be imported from memory in Business Event BP1120P
    •     Free Memory in Business Event BP1120P
    This is VI01 – Creation of Freight Cost Item screen
    and also code for function module ZPLANTCLASSIFICATION below
    FUNCTION zplantclassification .
    ""Local interface:
    *"  IMPORTING
    *"     REFERENCE(IP_SAPPLANT) LIKE  AUSP-OBJEK OPTIONAL
    *"     REFERENCE(IP_CPSPLANT) LIKE  AUSP-ATWRT OPTIONAL
    *"     REFERENCE(IP_SISLOC) LIKE  AUSP-ATWRT OPTIONAL
    *"  EXPORTING
    *"     VALUE(EP_SAPPLANT) LIKE  AUSP-OBJEK
    *"     VALUE(EP_CPSPLANT) LIKE  AUSP-ATWRT
    *"     VALUE(EP_SISLOC) LIKE  AUSP-ATWRT
    *"     VALUE(EP_OWNERSHIP) LIKE  AUSP-ATWRT
    *"     VALUE(EP_SMISTYPE) LIKE  AUSP-ATWRT
    *"     VALUE(EP_SPOTREF) LIKE  AUSP-ATWRT
    *"     VALUE(EP_SUBTYPE) LIKE  AUSP-ATWRT
    *"     VALUE(EP_SUPPLYREGION) LIKE  AUSP-ATWRT
    *"     VALUE(EP_TYPE) LIKE  AUSP-ATWRT
    *"     VALUE(EP_DISTAREA) LIKE  AUSP-ATWRT
    *"     VALUE(EP_GEOGAREA) LIKE  AUSP-ATWRT
    *"     VALUE(EP_HMF) LIKE  AUSP-ATWRT
    *"     VALUE(EP_IATACODE) LIKE  AUSP-ATWRT
    *"     VALUE(EP_IRSTCN) LIKE  AUSP-ATWRT
    *"     VALUE(EP_OPSAREA) LIKE  AUSP-ATWRT
    *"     VALUE(EP_PLANTSTAT) LIKE  AUSP-ATWRT
    *"     VALUE(EP_PORTCODE) LIKE  AUSP-ATWRT
    *"     VALUE(EP_REFAREA) LIKE  AUSP-ATWRT
    *"     VALUE(EP_SAPTYPE) LIKE  AUSP-ATWRT
    *"     VALUE(EP_MFGWARRANTY) LIKE  AUSP-ATWRT
    *"     VALUE(EP_USERTYPE) LIKE  AUSP-ATWRT
    *"     VALUE(EP_TRMCENTER) LIKE  AUSP-ATWRT
    *"     VALUE(EP_TRANSCENTER) LIKE  AUSP-ATWRT
    *"     VALUE(EP_FEIN) LIKE  AUSP-ATWRT
    *"  TABLES
    *"      INT_PLANTCHAR STRUCTURE  ZPLANTCLASSIFICATION OPTIONAL
    *"  EXCEPTIONS
    *"      NO_OBJEK_FOUND
    *"      NO_CPSPLANT_FOUND
    *"      NO_SISLOC_FOUND
    *"      NO_INPUT_FOUND
    *"      VALID_PLANT_NO_CHARACTERISTIC
    *"      ONE_TO_MANY_ISSUE
    *"      PLANT_NOT_FOUND_ZDEF_DELPLANT
    *"      UNKNOWN_ERRORS
    FM Name: ZPLANTCLASSIFICATION     
    Created By  :  SYUB                                                  *
    Description : Function Module to retrieve plant characteristics      *
    The function module has two capabilities:
    1. Retrieve only the necessary characteristics
    2. Retrieve the whole characteristics into an internal table.
    Parameter Description                                                *
    In the future, if there is a new characteristic added to the
    plant classification tables, the characteristic has to be added
    to the list of the export parameters and the loop statement.
      TABLES: ausp, cabn, ksml, zdef_delplant.
      DATA: ws_objek LIKE ausp-objek,
            ws_countchar TYPE i,
            ws_countplant TYPE i.
    *Internal table for SAP plant
      DATA: BEGIN OF int_plant OCCURS 0,
            plant LIKE ausp-objek,
            END OF int_plant.
    *sap plant code is the input parameter.Move objek, atnam, and atwrt to
    *internal table PLANTCHAR using inner join of AUSP, CABN, and KSML to
    *synch up the internal characteristic numbers throughout the 3 tables.
      IF NOT ip_sapplant IS INITIAL.
        SELECT auspobjek cabnatnam ausp~atwrt
          INTO CORRESPONDING FIELDS OF TABLE int_plantchar
          FROM ksml AS ksml
          INNER JOIN cabn AS cabn
            ON cabnatinn = ksmlimerk
          INNER JOIN ausp AS ausp
            ON ausp~objek = ip_sapplant
            AND auspatinn = cabnatinn
            AND ausp~mafid = 'O'
            AND ausp~klart = 'Z01'.
    *Checking the existence of ip_sapplant in the table, if it doesn't
    *exist, raise the exception else if it exists, check if it has
    *characteristic values.
        IF sy-subrc NE 0.
          RAISE no_objek_found.
        ELSE.
          DESCRIBE TABLE int_plantchar LINES ws_countchar.
          IF ws_countchar LT 2.
            RAISE valid_plant_no_characteristic.
          ENDIF.
        ENDIF.
    *cps plant code is the input parameter. Move objek from table AUSP to
    *ws_objek using inner join of CABN and AUSP to match up the internal
    *characteristic numbers from the 2 tables.
      ELSEIF NOT ip_cpsplant IS INITIAL.
        SELECT ausp~objek
          INTO TABLE int_plant
          FROM ausp AS ausp
          INNER JOIN cabn AS cabn
            ON cabn~atnam = 'OLDCODE'
              WHERE auspatinn = cabnatinn
                AND ausp~mafid = 'O'
                AND ausp~klart = 'Z01'
                AND ausp~atwrt = ip_cpsplant.
    *Checking the existence of ip_cpsplant in the table
        IF sy-subrc EQ 0.
    *Counting the number of SAP plants in the internal table int_plant
          DESCRIBE TABLE int_plant LINES ws_countplant.
    *Moving the values of objek, atnam, and atwrt to PLANTCHAR using objek
    *from ws_objek.
          IF ws_countplant EQ 1.
            LOOP AT int_plant.
              SELECT auspobjek cabnatnam ausp~atwrt
                INTO CORRESPONDING FIELDS OF TABLE int_plantchar
                FROM ksml AS ksml
                INNER JOIN cabn AS cabn
                  ON cabnatinn = ksmlimerk
                INNER JOIN ausp AS ausp
                  ON ausp~objek = int_plant-plant
                  AND auspatinn = cabnatinn
                  AND ausp~mafid = 'O'
                  AND ausp~klart = 'Z01'.
            ENDLOOP.
    *If there more than one SAP Plants, then raise an exception.
          ELSEIF ws_countplant GT 1.
            RAISE one_to_many_issue.
          ENDIF.
        ELSE.
          SELECT SINGLE werks FROM zdef_delplant
            INTO ws_objek
            WHERE cpsloc = ip_cpsplant.
          SELECT auspobjek cabnatnam ausp~atwrt
           INTO CORRESPONDING FIELDS OF TABLE int_plantchar
           FROM ksml AS ksml
           INNER JOIN cabn AS cabn
             ON cabnatinn = ksmlimerk
           INNER JOIN ausp AS ausp
             ON ausp~objek = ws_objek
             AND auspatinn = cabnatinn
             AND ausp~mafid = 'O'
             AND ausp~klart = 'Z01'.
          if sy-subrc ne 0.
            raise plant_not_found_zdef_delplant.
          endif.
        ENDIF.
    *cps plant code is the input parameter. Move objek from table AUSP to
    *ws_objek using inner join of CABN and AUSP to match up the internal
    *characteristic numbers from the 2 tables.
      ELSEIF NOT ip_sisloc IS INITIAL.
        SELECT ausp~objek
          INTO TABLE int_plant
          FROM ausp AS ausp
          INNER JOIN cabn AS cabn
            ON cabn~atnam = 'SISLOC'
              WHERE auspatinn = cabnatinn
                AND ausp~mafid = 'O'
                AND ausp~klart = 'Z01'
                AND ausp~atwrt = ip_sisloc.
    *Checking the existence of ip_sapplant in the table
        IF sy-subrc EQ 0.
          DESCRIBE TABLE int_plant LINES ws_countplant.
    *Moving the values of objek, atnam, and atwrt to PLANTCHAR using objek
    *from ws_objek.
          IF ws_countplant EQ 1.
            LOOP AT int_plant.
              SELECT auspobjek cabnatnam ausp~atwrt
                INTO CORRESPONDING FIELDS OF TABLE int_plantchar
                FROM ksml AS ksml
                INNER JOIN cabn AS cabn
                  ON cabnatinn = ksmlimerk
                INNER JOIN ausp AS ausp
                  ON ausp~objek = int_plant-plant
                  AND auspatinn = cabnatinn
                  AND ausp~mafid = 'O'
                  AND ausp~klart = 'Z01'.
            ENDLOOP.
    *If there more than one SAP Plants, then raise an exception.
          ELSEIF ws_countplant GT 1.
            RAISE one_to_many_issue.
          ENDIF.
        ELSE.
          SELECT SINGLE werks FROM zdef_delplant
            INTO ws_objek
            WHERE sisloc = ip_sisloc.
          SELECT auspobjek cabnatnam ausp~atwrt
           INTO CORRESPONDING FIELDS OF TABLE int_plantchar
           FROM ksml AS ksml
           INNER JOIN cabn AS cabn
             ON cabnatinn = ksmlimerk
           INNER JOIN ausp AS ausp
             ON ausp~objek = ws_objek
             AND auspatinn = cabnatinn
             AND ausp~mafid = 'O'
             AND ausp~klart = 'Z01'.
          if sy-subrc ne 0.
            raise plant_not_found_zdef_delplant.
          endif.
        ENDIF.
      ELSE.
    *Checking if there is an input parameter entered.
        RAISE no_input_found.
      ENDIF.
    Modified 7/30 by RFOR to validate SAP plant is in plant master
      data: wa_t001w like t001w.
      read table int_plantchar.
      SELECT SINGLE * from t001w into wa_t001w where
      werks = int_plantchar-objek.
      if sy-subrc ne 0.
        raise NO_OBJEK_FOUND.
      endif.
    *Moving all the characteristic values to the export parameters
      LOOP AT int_plantchar.
        MOVE int_plantchar-objek TO ep_sapplant.
        CASE int_plantchar-atnam.
          WHEN 'OLDCODE'.
            MOVE int_plantchar-atwrt TO ep_cpsplant.
          WHEN 'SISLOC'.
            MOVE int_plantchar-atwrt TO ep_sisloc.
          WHEN 'OWNERSHIP'.
            MOVE int_plantchar-atwrt TO ep_ownership.
          WHEN 'SMISTYPE'.
            MOVE int_plantchar-atwrt TO ep_smistype.
          WHEN 'SPOTREF'.
            MOVE int_plantchar-atwrt TO ep_spotref.
          WHEN 'SUBTYPE'.
            MOVE int_plantchar-atwrt TO ep_subtype.
          WHEN 'SUPPLYREGION'.
            MOVE int_plantchar-atwrt TO ep_supplyregion.
          WHEN 'TYPE'.
            MOVE int_plantchar-atwrt TO ep_type.
          WHEN 'DISTAREA'.
            MOVE int_plantchar-atwrt TO ep_distarea.
          WHEN 'GEOGAREA'.
            MOVE int_plantchar-atwrt TO ep_geogarea.
          WHEN 'HMF'.
            MOVE int_plantchar-atwrt TO ep_hmf.
          WHEN 'IATACODE'.
            MOVE int_plantchar-atwrt TO ep_iatacode.
          WHEN 'IRSTCN'.
            MOVE int_plantchar-atwrt TO ep_irstcn.
          WHEN 'OPSAREA'.
            MOVE int_plantchar-atwrt TO ep_opsarea.
          WHEN 'PLANTSTAT'.
            MOVE int_plantchar-atwrt TO ep_plantstat.
          WHEN 'PORTCODE'.
            MOVE int_plantchar-atwrt TO ep_portcode.
          WHEN 'REFAREA'.
            MOVE int_plantchar-atwrt TO ep_refarea.
          WHEN 'SAPTYPE'.
            MOVE int_plantchar-atwrt TO ep_saptype.
          WHEN 'MFG_WARRANTY'.
            MOVE int_plantchar-atwrt TO ep_mfgwarranty.
          WHEN 'USER_TYPE'.
            MOVE int_plantchar-atwrt TO ep_usertype.
          WHEN 'TERMINALCENTER'.
            MOVE int_plantchar-atwrt TO ep_trmcenter.
          WHEN 'TRANSPORTATIONCENTER'.
            MOVE int_plantchar-atwrt TO ep_transcenter.
          when 'FEIN'.
            move int_plantchar-atwrt to ep_fein.
        ENDCASE.
      ENDLOOP.
    ENDFUNCTION.
    Pls help me out from this problem its very urgent.
    Thanks

    hi SK ,
    process like this .
    in BADI
    method.
    1.Here u have to put ur logic based on the Requirement.
    2.then u have to call BTE like this
    <b>call function 'OPEN_FI_PERFORM_00001020_E'
          tables
            t_bseg = xbseg
            t_bkpf = xbkpf.</b>
    3.Update Ztables.
    endmethod.
    this is sample logic only.First get logic of TS then u will come to know how to do?
    regards
    prabhu

  • Google contacts and calendar events entered on my iPhone 5s are not syncing with my google account.

    Newly entered contacts and calendar events entered on my IPhone 5s are not syncing to google.
    Facts that may be pertinent:
    - I switched from the iPhone 4 to the iPhone 5s and did the easy option of having it automatically set up like my previous phone, so I did not change any part of the setup. It is possible that it stopped syncing at that time, based on which contacts have synced and which haven't.
    - My gmail account is set up as Exchange, with Mail, Contacts, and Calendars set to sync.
    - Server: m.google.com, Use SSl is on, S/MIME is off (I don't actually know what these are, but maybe they matter?)
    - Fetch New Data / Gmail account is set to Push
    - Contacts and Calendar Default Account is Gmail
    - In the Contacts app under Groups I have only GMAIL checked.
    I've read that Google recommends CardDAV, which I gather is not the same as Exchange?
    I'm afraid to delete anything and start over, for fear of losing my contacts.
    Is there a difference between the gmail account I set up and what the Contacts app calls GMAIL?
    If there is anything I should communicate about how things are set up on the Google end, let me know.
    Thanks in advance for help!

    Hello Marsden,
    Try this...
    Go to the isync program on your Mac. 
    Go to Preferences in the main menu
    Hit Reset Sync History
    I'm pretty sure this is how I fixed it... so far so good.
    Let me know if that works for you!

  • HT1296 When syncing to ipod and ipad i get duplicate contacts and calendar events

    Probllems syncing contacts and calendare events. I get dups and triplicates

    How are you syncing? Are you syncing through itunes, icloud or both? Most issues come from syncing the same data/content from more than one source.

  • HT4436 Why don't all my contacts and calendar events on my iMac (version 10.7.4) stream onto iCloud? For instance, there are 470 entries in my address book but only 270 on iCloud. And not all my appointments in iCal are transferred.

    Why don't all my contacts and calendar events on my iMac (version 10.7.4) stream onto iCloud? For instance, there are 470 entries in my address book but only 270 on iCloud. And not all my appointments in iCal are transferred either.
    I have the same problem transfering Address book on iMac to contacts on iPhone (old version 3G - on iCloud). this is a hard wired connection

    Might you have 200 entries in On My Mac groups and some of your appointments in On My Mac calendars?

  • Why can´t I see contacts and calendar events from my iPhone in my mac pro if I already registered it in the cloud?

    Why can´t I see contacts and calendar events already registered in my iPhone, in my Mac Pro ?  I already actualize LION OSX   and selected these items in the adjustments menu of the icloud. I could do it just once, after I installed Lion OSX, but up to the moment it does not updates.

    Assuming you activated iCloud, try going to Settings>iCloud and make sure Calendars and Contacts are set to ON.

  • I've lost the contacts and calendar events from my 3GS after setting up iCloud with iPad3 and PC Outlook.  Any solutions?

    I've lost the contacts and calendar events (& email) from my 3GS after setting up iCloud with iPad3 and PC Outlook.  Any solutions?
    I tried to re-synch it with the PC iTunes, but no luck, even when re-checking the boxes for Outlook...

    I should mention that i have NOT upgraded to iOS 5 on the 3GS and don't want to.  Therefore, no iCloud on the phone.

Maybe you are looking for