Spec2000 / Spec2k trigger S1PNSTAT via ME23

Hi Experts,
Does anyone knows how to trigger S1PNSTAT via ME23.
I tried using
   1.      From the SAP Easy Access menu, choose Logistics-> Purchasing ->Purchase Order -> Display Extended Purchase Order.
       2.      Enter the purchase order and choose Continue.
       3.      Select an item and choose Item ->More functions -> Additional data.
The additional data screen for the order item appears.
       4.      Choose Item ->SPEC2000 ->Send S1PNSTAT.
The message no data change appears. No matter how I change the PO, it doesn't get trigger.
Anyone have any idea?
Regards,
Clarice
http://help.sap.com/erp2005_ehp_04/helpdata/EN/88/7e8a1b422c45f1b8e57b45382dda9c/frameset.htm

Oh I realised it in item level ---> additional function ---> more function ---> spec2000 ---> send S1PNSTAT

Similar Messages

  • Critical parts goes below Re-order pt - to trigger email via Workflow

    Hi Experts,
    I am new to workflow and here is my requirement.
    When Material goes below Re-order pt in MM , MRP runs and creates PR/Sch Line. I want to trigger email to some Group when few Critical parts goes below Re-order point via Workflow
    A workflow should trigger and get email to Group I saw one standard workflow (WS03100020) but I dont know how to active and how it will work.
    I can copy this to custom workflow using PFTC and do, but when the material document creates - Means Critical parts are consumed and Stock level goes below re-order point. how my copied custom workflow triggers?
    Critical Parts A , C , F, X  and Z
    If Material  A ,C and F goes below re-order pt then email to trigger to GROUP1.
    If Material X and Z goes below re-order pt then email to trigger to GROUP2.
    Need to know :
    1) steps to copy and modify
    2) How to Execute manually
    3) How to execute automatically when Material stock falls below re-order point. ( Lets say in MM03 Re-order pt is 5 ) and IN MMBE current stock is 20, when there is consumption ( Material DOcument to Cost center - Mvtype 201 ) for 16 QTY.. then my Custom or Standard Workflow should Trigger and should get a email to Group.
    How to achieve this. Please explain me with Step. Highly apprieciate your help and will reward points
    Thanks in advance.
    Bala M

    o.k. lets first handle the check function module
    you need to start from the key and run the check is it higher or lower then the reorder point,
    if it's higher, raise an exception (use message... raising), else do noting.
    test the function module directly and see if it works, then look at the event trace(SWEL) and see what happens when your event is raised, if it's higher then the reorder point you should see an error (specific linkage is red and the message you entered in the function module in the details) else the event linkage should be o.k (green).
    now for the function itself: if you use the cl_bcs to send the mail, you do not need to link SWW_WI_CREATE_VIA_EVENT_IBF as the receiver function module, but the function module you create to send the mail. again test the function module directly first and only then link it to the event.
    if you want to send the mail by workflow see the link in my earlier reply.

  • Trigger Report via Command Line CLI or API ?

    Post Author: sgolby
    CA Forum: WebIntelligence Reporting
    Hi Everyone,
    Is there a way to trigger a Report generation via the Command Line CLI or via an API ?
    We'd like to use our scheduling software to do something like this
    - Check Database is ready- Run BizObj Report- ftp resulting Excel file off BizObj machine- Import Excel file into Intranet webpage
    We are running the Linux version of BusinessObjects X11R2.
    Any similar suggestions would be appreciated.
    Thanks!
    Scott

    There is some discussion of it elsewhere - this page should help.

  • Does anyone know if there's any software for the iPad that allows you to trigger videos via Midi?

    I am a musician and would like to trigger certain videos and audio samples via an external midi controller.  Ideally I want to project the video image from the iPad into a projector or possibly via Air Play.  I'm currently using Arkaos Midi VJ software on my old Macbook but would like to replace that with the iPad.  If anyone has any thoughts, they would be much appreciated!

    If you check the App Store in iTunes for remote control programs, you find a lot of them. You will have to decide which one is right for you.
    Allan

  • Pls suggest me on "How to trigger PPF via a standalone program?"

    Hi All,
    Can some pls explain me how to trigger PPF in a standalone report program. Provide me some examples.
    Thanks in advance.
    Moderator message: please do more research before asking, show what you have done yourself when asking.
    [Rules of engagement|http://wiki.sdn.sap.com/wiki/display/HOME/RulesofEngagement]
    [Asking Good Questions in the Forums to get Good Answers|/people/rob.burbank/blog/2010/05/12/asking-good-questions-in-the-forums-to-get-good-answers]
    Edited by: Thomas Zloch on Jun 28, 2011 3:45 PM

    hi
    whenever changes made to an application document.u want to replicate these changes in target system u have to work with cahngepointers
    RBDMIDOC is the program which u have to schedule background
    regards
    Nagesh.Paruchuri

  • Web orders do not trigger FMS via the DiAPI

    Hi,
    We rely upon a number of formatted searches at the sales order level to capture current stock and sales order totals into UDF's to provide analysis for stock outs etc. However, when an order enters the system via the DiAPI (via webtools) the formatted searches are not triggered. I presume that this is a limitation of using the DiAPI?, if so I would appreciate any ideas that anyone might have concerning a workaround.
    Thanks.
    Martin.

    Presumably this would be on the SAP server?.
    When does this stored procedure fire?, is it at the end of the synch process?.
    The current code within it is:
    set ANSI_NULLS ON
    set QUOTED_IDENTIFIER ON
    go
    ALTER proc [dbo].[SBO_SP_TransactionNotification]
         @object_type nvarchar(20),                -- SBO Object Type
         @transaction_type nchar(1),               -- [A]dd, <u>pdate, [D]elete, [C]ancel, C[L]ose
         @num_of_cols_in_key int,
         @list_of_key_cols_tab_del nvarchar(255),
         @list_of_cols_val_tab_del nvarchar(255)
         AS
         begin
              -- Return values
              declare @error  int                    -- Result (0 for no error)
              declare @error_message nvarchar (200)           -- Error string to be displayed
              select @error = 0
              select @error_message = N'Ok'
              IF (ISNUMERIC(@object_type) = 1)
              BEGIN
                   INSERT INTO PRX_Transaction_Queue (
                        object_type,
                         transaction_type,
                        num_of_cols_in_key,
                        list_of_key_cols_tab_del,
                        list_of_cols_val_tab_del
                   ) VALUES(
                        @object_type,
                        @transaction_type,
                        @num_of_cols_in_key,
                        @list_of_key_cols_tab_del,
                        @list_of_cols_val_tab_del
              END
              select @error, @error_message
         END
    How would I add my own update query to this (safely!).
    Thanks.
    Martin.

  • How to trigger fullscreen via on-site javascript (click or other event)

    Hi,
    this question is quite technical, but I'm convinced there's a work around for what I want, as I've seen it on <video> markups.
    The question is easy, is there a way that by clicking on a link, javascript tells the browser to act as if F11 had been pressed?
    I'm aware this is not user-friendly and that it shall confuse him, but that's exactly the goal targeted by this behavior.
    Can you provide such information?
    Thanks a lot

    That's a security issue. The Javascript code that is out there to do "FullScreen" doesn't work in Firefox.
    Try it with the code found through a Google search. <br />
    [http://www.google.com/search?q=code+for+Full+Screen&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a code for Full Screen]

  • Save attached documents in ME23 to content server

    Hello,
    I need to save the attached documents in purchase orders, via ME23 transaction into a content server.
    I've been reading the DMS documentation, but I don't know if I have to use archivelink technology or basic DMS.
    I've got the content server installed and configured in CSADMIN, and a Z repository created in OAC0, but don't know which objecttype and doctype to add at OAC3, (I've found BUS2012 and EKKO objects in references to purchase orders, but don't know which document type use).
    Also need to create a link in a TOA* table, but don't know difference between TOA01, TOA02 and TOA03.
    Dear experts, can you point me in the right direction?
    Thank you in advance
    Marc

    Hi,
    For Archivelink setup you will need to perform configurations in following sections
    Tcode OAC2 : Define workstation appliction for relevant object 
    for eg: QMILETTER2 -> PDF
    Assign archivelink type create to the relevant objects in table TOAM_C using tcode SM30
      For eg.: BUS2078     QMOLETTER2     X     A2
    Maintain link table entry for the object using OAC3.
    BUS2117     QMICERTPDF     X     A2     TOA01
    Additionallly maintain entry in tables TOADV and TOAAR. Link table entries.
    In case you are using Archivelink to store the documents no need to define any document type. HEre we will use standard Object link setting.
    Hope this helps.
    Regards,
    Deepak Kori

  • Revoking roles in a trigger

    I am trying to revoke a role in a DB level trigger. I am using 'execute imediate' to do this. I have also tried to do it the old fashioned DBMS_SQL.PARSE way. When the trigger fires I get this error: ORA-04092: cannot COMMIT in a trigger. I understand that these ddl statements do commits inside of them. Can someone please give me an idea on how to revoke roles from a user from a DB level trigger? Thanks.
    null

    DDL operations do an implicit commit, so you cannot execute them in trigger, even via dynamic sql
    You can call a procedure which starts autonomous transaction and put necessary code in this procedure

  • DTW to trigger BP Reconciliation?

    Hi,
    We have automated procedures to import refunds for example in to our system but after such an activity of various transactions such as cancelling an incoming payments, raising credit notes etc etc we often need to do a BP Reconcile.
    Is there a way to trigger it via DTW or another tool? Otherwise we have to keep running manually.

    Hi,
    Unfortunately, Reconciliation is not an object. It cann't be exposed to DI API.
    DTW will not be available here.
    Thanks,
    Gordon

  • Controlling recipients when creating alerts via FM SALRT_CREATE_API

    Hi all,
    I have successfully managed to make a badi implementation which based on certain checks triggers and alert via FM SALRT_CREATE_API. I have a problem though limiting the users that receive the alert.
    I want to control recipients via the import table called IT_RECIPIENTS. But I have a problem if any users are assigned as fixed recipients to the alert category used because then they always get alerts of this category whether or not they are part of IT_RECIPIENTS. In other words if a user has an entry in table salrtcatus for the alert category I am triggering via the FM then he/she gets all alerts of this category which does not make sense in my scenario.
    I realize that a solution would be to make sure that no values exist in table salrtcatus. However, I would like to be able to use this table so that users can manually select per activity category if they at all are interested in receiving alerts of a particular category. And as far as I can see the table salrtcatus is the only place to store such information. The table can be maintained by each user if they go to theie worklist in the navigation bar and then click on "Personalize alerts". Then they can choose to sunscribe/unsubscribe to each alert category. How do I ensure that the subscriptions made here do not result in the users getting all alerts of a subscribed category but just the ones where they are purposely selected via import table IT_RECIPIENTS?
    I hope you understand my problem
    Br,
    Anders

    You can do it like this (it works for me):
    1. in spro for actions define for your alert one additional parameter. In my example I trigger alerts via method call and I trigger method ZTRIGGER_ALERT (modification of standard TRIGGER_ALERT method in class CL_ACTION_EXECUTE).
    So I defined new parameter, for example RECEPIENT for which I specified ABAP dict. data type CHAR4. Under Initial value you then specify the key for recepients group. For example RESP for employee responsible.
    2. Then you have to do the following coding in ZTRIGGER_ALERT method. Below you have the sample for sending alert only to person belonging to employee responsible function. So in this way you can define as many recipient groups as you like.
    data: recipient(4) type c.
    READ TABLE lt_container INTO ls_container
           WITH KEY element = 'RECIPIENT'.
    IF sy-subrc EQ 0.
        recipient = ls_container-value.
        clear ls_partner.
        refresh lt_recipients.
    *determination of new recipient of alert
        loop at lt_partner into ls_partner.
    *for RESPONSIBLE
          if ls_partner-partner_fct eq '00000014' and
            recipient eq 'RESP'.
            CALL FUNCTION 'CRM_CENTRALPERSON_GET'
              EXPORTING
                IV_BU_PARTNER_GUID        = ls_partner-bp_partner_guid
              IMPORTING
                EV_USERNAME               = ev_username
              EXCEPTIONS
                NO_CENTRAL_PERSON         = 1
                NO_BUSINESS_PARTNER       = 2
                NO_ID                     = 3
                OTHERS                    = 4.
            IF sy-subrc = 0.
             clear LS_RECIPIENTS.
             LS_RECIPIENTS-uname = ev_username.
             INSERT ls_recipients INTO TABLE lt_recipients.
            ENDIF.
          endif.

  • Triggering via exported RTSI1 signal

    Hi 
    I have four PCIe6535s and synchronizing them with "sample clock" and "start trigger" exported via RTSI line 7 and 1 respectivelly from one of the boards, operating in Master(4) Slave(1-3) configuration with the last board sending the clock and trigger. 
    The trigger will trigger 3-5 times on all boards and then only the master card will trigger and others will not trigger. 
    I have also seen when one or two will trigger and the rest will not. 
    Since the master always triggers it cannot be the quality of the triggering signal, but something at the RTSI level. 
    Where can I look and where to poke around? 
    thanks
    Solved!
    Go to Solution.

    I enclosed the screendump from the scope monitoring DIO0&1 from all four boards. 
    As you can see the boards started but never finished the task. They reported error on time out. 
    It seems they go into some sort of high impedance mode as indicated by a small nips when the trigger changes (induced).
    There is no rule which board is finishing or not. Even the board which exports the trigger signal may not finish the task while the other will.
    Any ideas?
    Attachments:
    Triggers Sometimes.png ‏26 KB
    Triggers Sometimes2.png ‏26 KB
    Triggers Sometimes3.png ‏26 KB

  • Acquiring pre-trigger samples

    Hi,
    I am using a PCI-6602 board to record the times of incoming pulses. I'd like to add a trigger line so that my program will keep the data of 20us worth of pulses before and after the trigger. I've tried using an armstart trigger, but I've only managed to configure it to start recording pulses after that trigger, and so I don't get the pre-trigger pulses. I've also tried to set up a stop trigger instead: I would read pulse times and discard data older than 20us, and when the trigger comes in I'd let the program run for 20 more microseconds. The problem with that is that, being new to LabView, I haven't figured out how exactly to make this kind of buffer which will discard older data. I looked at a feedback node, configured to only return samples after a number of iterations of my data acquisition loops, but of course that only returns the oldest data. I also feel like using this stop-trigger method seems a bit roundabout. I create a new task for the trigger channel, and I'm worried this may slow down my program because I need to run it continuously (I want data surrounding multiple triggers), and it seems wasteful to recreate the task every time. Any suggestions? Is there a more straightforward way that I have not yet thought of?
    Thanks for your help! 
    Kamna 
    Solved!
    Go to Solution.

    Hi Kamna and Jeff,
    DAQmx filters out properties that aren't supported by any of the installed devices. You can change this by right-clicking the property node and choosing Select Filter... then selecting Show All Attributes. The filtering setting gets saved to disk so it's still set the next time you launch LabVIEW. However, this won't solve the original problem, because the NI 6602 doesn't support reference triggers.
    By the way, Jeff, using Ref.PretrigSamples also requires setting Ref.TrigType and the corresponding source properties (Ref.DigEdge.Src, etc.). If you set Ref.PretrigSamples in isolation, it will either get ignored (on devices that support reference triggers) or generate an error (on devices that don't). If trigger attributes didn't get ignored when the trigger type is None, then disabling the trigger (by setting Ref.TrigType=None) would require resetting the other trigger properties (via Change To >> Default Value), which would be pretty annoying.
    Kamna, as for your question about "commit": a DAQmx task doesn't program the hardware until the task is committed. Starting the task implicitly commits the task, so you don't normally have to worry about it. There is a more detailed explanation in the NI-DAQmx Help file--search for "Task State Model".
    Brad
    Brad Keryan
    NI R&D

  • Acctg document not created for cancellation invoice

    Hi all,
    We have a vehicle sales order created with payment card. The SO contains one item for vehicle and one item for parts. The items were delivered and invoiced separately. Hence, SO has one vehicle sales invoice (VSI) and one parts sales invoice (PSI).
    The standard procedure was to post VSI first before the PSI. Accounting documents have been created when both invoices were posted. However, there was a need to cancel the PSI. When this was done, cancellation invoice was created but there was no accounting document posted for the cancellation.
    I tried simulating the scenario in our test server and cancelled VSI 90000081 first before cancelling PSI 90000082 to test if this can be an alternative solution. Cancellation for VSI was posted successfully but error persists for PSI cancellation.
    Order 67 06/19/06 Completed
    . Delivery 80000081 06/19/06 Being processed
    .. Picking request 20060619 06/19/06 Completed
    .. GD goods issue:delvy 4900000293 06/19/06 complete
    .. Invoice 90000081 06/19/06 Completed
    ... Accounting document 2000077 06/19/06 partly cleared
    .. Invoice cancellation 90000084 06/19/06 Completed
    ... Accounting document 2000079 06/19/06 partly cleared
    . Delivery 80000082 06/19/06 Completed
    .. Picking request 20060619 06/19/06 Completed
    .. GD goods issue:delvy 4900000294 06/19/06 complete
    .. Invoice 90000082 06/19/06 Completed
    ... Accounting document 2000078 06/19/06 Not cleared
    .. Invoice cancellation 90000083 06/19/06
    .. Invoice 90000085 06/20/06 Blocked
    Accounting status of 90000083 (where error occurs) in VF03->Header->Details is set to K or <b>Accounting document not created (authorization lacking)</b>.
    Any inputs? Thanks in advance.

    Hello Sheila,
    sorry - my first answer was in mistake - Status K means:
    "The transaction is processed using payment cards. The order, however, does not contain valid authorization.
    This problem occurs in billing documents for follow-up deliveries."
    Could you check this ? Last way would be to set a breakpoint into the FM 'RV_ACCOUNTING_DOCUMENT_CREATE'
    and trigger this via VF02 -> Release to accounting.
    Regards Wolfgang

  • Unable to call the RFC from the WD java Program

    Hi All,
    I have a table and three buttons Create, Edit, Save in the layout.
    If no record available in the R3 the the end user will click on create and then he will click on save so that the insert RFC will be called accordingly and the record will be inserted.My table is limited to 5 records only. If  i enter all the 5 records and Click on submit the record is inserting in the backend , but if i enter less than 5 records im unable to call the RFC what might be the issue. 
    My insert RFC takes one Table node and 4 import parameters i'm passing all of the all the mentioned import parameters.
    Code:-
    View Controller code
    // This file has been generated partially by the Web Dynpro Code Generator.
    // MODIFY CODE ONLY IN SECTIONS ENCLOSED BY @@begin AND @@end.
    // ALL OTHER CHANGES WILL BE LOST IF THE FILE IS REGENERATED.
    package com.gmr.ess;
    // IMPORTANT NOTE:
    // ALL IMPORT STATEMENTS MUST BE PLACED IN THE FOLLOWING SECTION ENCLOSED
    // BY @@begin imports AND @@end. FURTHERMORE, THIS SECTION MUST ALWAYS CONTAIN
    // AT LEAST ONE IMPORT STATEMENT (E.G. THAT FOR IPrivateAPPView).
    // OTHERWISE, USING THE ECLIPSE FUNCTION "Organize Imports" FOLLOWED BY
    // A WEB DYNPRO CODE GENERATION (E.G. PROJECT BUILD) WILL RESULT IN THE LOSS
    // OF IMPORT STATEMENTS.
    //@@begin imports
    import java.math.BigDecimal;
    import java.util.Date;
    import java.text.DateFormat;
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.ArrayList;
    import java.util.Calendar;
    import java.util.Collection;
    import java.util.Iterator;
    import com.gmr.ess.wdp.IPrivateAPPView;
    import com.gmr.pck.Zst_Hr_Nominee;
    import com.sap.tc.webdynpro.progmodel.api.IWDMessageManager;
    import com.sap.tc.webdynpro.services.sal.um.api.IWDClientUser;
    import com.sap.tc.webdynpro.services.sal.um.api.WDClientUser;
    //@@end
    //@@begin documentation
    //@@end
    public class APPView
    Logging location.
      private static final com.sap.tc.logging.Location logger =
        com.sap.tc.logging.Location.getLocation(APPView.class);
      static
        //@@begin id
        String id = "$Id$";
        //@@end
        com.sap.tc.logging.Location.getLocation("ID.com.sap.tc.webdynpro").infoT(id);
    Private access to the generated Web Dynpro counterpart
    for this controller class.  </p>
    Use <code>wdThis</code> to gain typed access to the context,
    to trigger navigation via outbound plugs, to get and enable/disable
    actions, fire declared events, and access used controllers and/or
    component usages.
    @see com.gmr.ess.wdp.IPrivateAPPView for more details
      private final IPrivateAPPView wdThis;
    Root node of this controller's context. </p>
    Provides typed access not only to the elements of the root node
    but also to all nodes in the context (methods node<i>XYZ</i>())
    and their currently selected element (methods current<i>XYZ</i>Element()).
    It also facilitates the creation of new elements for all nodes
    (methods create<i>XYZ</i>Element()). </p>
    @see com.gmr.ess.wdp.IPrivateAPPView.IContextNode for more details.
      private final IPrivateAPPView.IContextNode wdContext;
    A shortcut for <code>wdThis.wdGetAPI()</code>. </p>
    Represents the generic API of the generic Web Dynpro counterpart
    for this controller. </p>
      private final com.sap.tc.webdynpro.progmodel.api.IWDViewController wdControllerAPI;
    A shortcut for <code>wdThis.wdGetAPI().getComponent()</code>. </p>
    Represents the generic API of the Web Dynpro component this controller
    belongs to. Can be used to access the message manager, the window manager,
    to add/remove event handlers and so on. </p>
      private final com.sap.tc.webdynpro.progmodel.api.IWDComponent wdComponentAPI;
      public APPView(IPrivateAPPView wdThis)
        this.wdThis = wdThis;
        this.wdContext = wdThis.wdGetContext();
        this.wdControllerAPI = wdThis.wdGetAPI();
        this.wdComponentAPI = wdThis.wdGetAPI().getComponent();
      //@@begin javadoc:wdDoInit()
      /** Hook method called to initialize controller. */
      //@@end
      public void wdDoInit()
        //@@begin wdDoInit()
        try{
              IWDMessageManager manager1 = wdComponentAPI.getMessageManager();
              IWDClientUser user = WDClientUser.getLoggedInClientUser();
              String logUser= user.getSAPUser().getUniqueName();
              wdContext.currentContextElement().setUserid(logUser);
              wdThis.wdGetAPPController().executeBapi_Employee_Getdata_Input();//Returns the user id for the employee
              Collection nomineeList = new ArrayList();
              wdThis.wdGetAPPController(). executeZ_Hrfm_Nominee_Disp_Input( );          
              int nomineeTableSize = wdContext.nodeZ_Hrfm_Nominee_Disp_Input().nodeOutput_Nominee().nodeNominee().size();
              for(int i=0;i< nomineeTableSize;i++){          
                IPrivateAPPView.IDisplay_table_nodeElement ele = wdContext.nodeDisplay_table_node().createDisplay_table_nodeElement();
                ele.setAddr(wdContext.nodeZ_Hrfm_Nominee_Disp_Input().nodeOutput_Nominee().nodeNominee().getNomineeElementAt(i).getAddr());
                ele.setDob(wdContext.nodeZ_Hrfm_Nominee_Disp_Input().nodeOutput_Nominee().nodeNominee().getNomineeElementAt(i).getDob());
                ele.setGuard(wdContext.nodeZ_Hrfm_Nominee_Disp_Input().nodeOutput_Nominee().nodeNominee().getNomineeElementAt(i).getGuard());
                ele.setName(wdContext.nodeZ_Hrfm_Nominee_Disp_Input().nodeOutput_Nominee().nodeNominee().getNomineeElementAt(i).getName());
                ele.setPerc(wdContext.nodeZ_Hrfm_Nominee_Disp_Input().nodeOutput_Nominee().nodeNominee().getNomineeElementAt(i).getPerc());
                ele.setRelat(wdContext.nodeZ_Hrfm_Nominee_Disp_Input().nodeOutput_Nominee().nodeNominee().getNomineeElementAt(i).getRelat());
                nomineeList.add(ele);
              wdContext.nodeDisplay_table_node().bind(nomineeList);
              wdContext.currentContextElement().setEdit_val_attr(true);
              if(nomineeTableSize<=0){
                   wdContext.currentContextElement().setCreateButtonEnable(true);
                   wdContext.currentContextElement().setEditButtonEnable(false);
              else{
                   wdContext.currentContextElement().setCreateButtonEnable(false);
                   wdContext.currentContextElement().setEditButtonEnable(true);
        catch(Exception e){
              wdComponentAPI.getMessageManager().reportException("",true);
        //@@end
      //@@begin javadoc:wdDoExit()
      /** Hook method called to clean up controller. */
      //@@end
      public void wdDoExit()
        //@@begin wdDoExit()
        //@@end
      //@@begin javadoc:wdDoModifyView
    Hook method called to modify a view just before rendering.
    This method conceptually belongs to the view itself, not to the
    controller (cf. MVC pattern).
    It is made static to discourage a way of programming that
    routinely stores references to UI elements in instance fields
    for access by the view controller's event handlers, and so on.
    The Web Dynpro programming model recommends that UI elements can
    only be accessed by code executed within the call to this hook method.
    @param wdThis Generated private interface of the view's controller, as
           provided by Web Dynpro. Provides access to the view controller's
           outgoing controller usages, etc.
    @param wdContext Generated interface of the view's context, as provided
           by Web Dynpro. Provides access to the view's data.
    @param view The view's generic API, as provided by Web Dynpro.
           Provides access to UI elements.
    @param firstTime Indicates whether the hook is called for the first time
           during the lifetime of the view.
      //@@end
      public static void wdDoModifyView(IPrivateAPPView wdThis, IPrivateAPPView.IContextNode wdContext, com.sap.tc.webdynpro.progmodel.api.IWDView view, boolean firstTime)
        //@@begin wdDoModifyView
        //@@end
      //@@begin javadoc:onActionGetData(ServerEvent)
      /** Declared validating event handler. */
      //@@end
      public void onActionGetData(com.sap.tc.webdynpro.progmodel.api.IWDCustomEvent wdEvent )
        //@@begin onActionGetData(ServerEvent)
        //$$begin ActionButton(-535519310)
        //wdThis.wdGetAPPController().executeZ_Hrfm_Nominee_Disp_Input();
        //$$end
        //@@end
      //@@begin javadoc:onActionEdit(ServerEvent)
      /** Declared validating event handler. */
      //@@end
      public void onActionEdit(com.sap.tc.webdynpro.progmodel.api.IWDCustomEvent wdEvent )
        //@@begin onActionEdit(ServerEvent)
       //$$begin ActionButton(-535519310)
       displayTablesize=wdContext.nodeDisplay_table_node().size(); 
       if(displayTablesize<5){
         for(int i=0;i<size-displayTablesize;i++){           
              IPrivateAPPView.IDisplay_table_nodeElement ele = wdContext.nodeDisplay_table_node().createDisplay_table_nodeElement();
              wdContext. nodeDisplay_table_node().addElement(ele);               
       operation="MOD"; 
       wdContext.currentContextElement().setTableReadOnly(true);
       wdContext.currentZ_Hrfm_Nominee_Ins_Mod_InputElement().setOperation(operation);                                 
        //$$end
        //@@end
      //@@begin javadoc:onActionCreate(ServerEvent)
      /** Declared validating event handler. */
      //@@end
      public void onActionCreate(com.sap.tc.webdynpro.progmodel.api.IWDCustomEvent wdEvent )
        //@@begin onActionCreate(ServerEvent)
         int month=0,year=0,day=0;
         String month1,day1,year1;   
         try{
              displayTablesize=wdContext.nodeDisplay_table_node().size();
              wdContext.currentContextElement().setEdit_val_attr(false);
              if(wdContext.nodeDisplay_table_node().isEmpty()){                    
                   if(displayTablesize<5){
                        Calendar cal=Calendar.getInstance();
                        month=cal.get(Calendar.MONTH)+1;
                        if(month==1||month==2||month==3||month==4||month==5||month==6||month==7||month==8||month==9){
                             month1="0"+month;
                        else{
                             month1=""+month;                                   
                        day = cal.get(Calendar.DAY_OF_MONTH);
                             if(day==1||day==2||day==3||day==4||day==5||day==6||day==7||day==8||day==9){
                             day1=  "0"+day;
                        else{
                             day1=""+day;
                        year = cal.get(Calendar.YEAR);
                        year1=""+year;
                        String strFormat=day1"."month1"."year1;                    
                        wdContext.currentOutput_NomineeElement().setBegda(strFormat);
                        wdContext.currentOutput_NomineeElement().setEndda("31.12.9999");                         
                        for(int i=0;i<size-displayTablesize;i++){           
                             IPrivateAPPView.IDisplay_table_nodeElement ele = wdContext.nodeDisplay_table_node().createDisplay_table_nodeElement();
                             wdContext. nodeDisplay_table_node().addElement(ele);               
                   operation="INS";
                   wdContext.currentZ_Hrfm_Nominee_Ins_Mod_InputElement().setOperation(operation);                    
              wdContext.currentContextElement().setTableReadOnly(true);          
         catch(NullPointerException npe){
              wdComponentAPI.getMessageManager().reportException("No Data Available",true);
        //@@end
      //@@begin javadoc:onActionSaveData(ServerEvent)
      /** Declared validating event handler. */
      //@@end
      public void onActionSaveData(com.sap.tc.webdynpro.progmodel.api.IWDCustomEvent wdEvent )
        //@@begin onActionSaveData(ServerEvent)
         float percentage=0;
         float dupePercentage=0;
         boolean isTest = false;
         Collection DispTList =      new ArrayList();
         IWDMessageManager manager1 = wdComponentAPI.getMessageManager();
         try{
              displayTablesize = wdContext.nodeDisplay_table_node().size();
              //for(int     i=1;i<=displayTablesize;i++){
              for(int     i=0;i<displayTablesize;i++){
                   BigDecimal share = wdContext.nodeDisplay_table_node().getDisplay_table_nodeElementAt(i).getPerc();
                   String name =  wdContext.nodeDisplay_table_node().getDisplay_table_nodeElementAt(i).getName();
                   percentage = share.floatValue();
                   dupePercentage = dupePercentage + percentage;
                   if(name!=null && share!=null){                    
                        Zst_Hr_Nominee nominee = new Zst_Hr_Nominee();
                        nominee.setAddr(wdContext.nodeDisplay_table_node().getDisplay_table_nodeElementAt(i).getAddr());
                       manager1.reportSuccess(wdContext.nodeDisplay_table_node().getDisplay_table_nodeElementAt(i).getAddr());               
                        nominee.setDob(wdContext.nodeDisplay_table_node().getDisplay_table_nodeElementAt(i).getDob());     
                        manager1.reportSuccess(""+wdContext.nodeDisplay_table_node().getDisplay_table_nodeElementAt(i).getDob());               
                        nominee.setGuard(wdContext.nodeDisplay_table_node().getDisplay_table_nodeElementAt(i).getGuard());     
                       manager1.reportSuccess(""+wdContext.nodeDisplay_table_node().getDisplay_table_nodeElementAt(i).getGuard());               
                        nominee.setName(wdContext.nodeDisplay_table_node().getDisplay_table_nodeElementAt(i).getName());
                       manager1.reportSuccess(""+wdContext.nodeDisplay_table_node().getDisplay_table_nodeElementAt(i).getName());                    
                        nominee.setPerc(wdContext.nodeDisplay_table_node().getDisplay_table_nodeElementAt(i).getPerc());
                       manager1.reportSuccess(""+wdContext.nodeDisplay_table_node().getDisplay_table_nodeElementAt(i).getPerc());
                        nominee.setRelat(wdContext.nodeDisplay_table_node().getDisplay_table_nodeElementAt(i).getRelat());     
                       manager1.reportSuccess(""+wdContext.nodeDisplay_table_node().getDisplay_table_nodeElementAt(i).getRelat());               
                        DispTList.add(nominee);     
                   wdContext.nodeZ_Hrfm_Nominee_Ins_Mod_Input().nodeNominee_ins().bind(DispTList);
              if((dupePercentage)!=100)
              wdComponentAPI.getMessageManager().reportException(
                        "The sum of the share Percentages is not 100. Modify the percentages accordingly",true);
              wdContext.nodeZ_Hrfm_Nominee_Ins_Mod_Input().nodeNominee_ins().bind(DispTList);
              IWDMessageManager manager = wdComponentAPI.getMessageManager();
              String beginDate = wdContext.currentOutput_NomineeElement().getBegda();
              manager.reportSuccess(wdContext.currentOutput_NomineeElement().getBegda());
              String endDate=wdContext.currentOutput_NomineeElement().getEndda();
              manager.reportSuccess(wdContext.currentOutput_NomineeElement().getEndda());
              wdContext.currentZ_Hrfm_Nominee_Ins_Mod_InputElement().setBegda(beginDate);
              wdContext.currentZ_Hrfm_Nominee_Ins_Mod_InputElement().setEndda(endDate);          
              wdContext.currentZ_Hrfm_Nominee_Ins_Mod_InputElement().setOperation(operation);
              wdComponentAPI.getMessageManager().reportSuccess(operation);     
              wdThis.wdGetAPPController().executeBapi_Employee_Getdata_Input();
              wdThis.wdGetAPPController().executeZ_Hrfm_Nominee_Ins_Mod_Input();           
              //wdContext.currentContextElement().setTableReadOnly(false);
         catch(Exception e){
              e.getMessage();
        //@@end
    The following code section can be used for any Java code that is
    not to be visible to other controllers/views or that contains constructs
    currently not supported directly by Web Dynpro (such as inner classes or
    member variables etc.). </p>
    Note: The content of this section is in no way managed/controlled
    by the Web Dynpro Designtime or the Web Dynpro Runtime.
      //@@begin others
      int nomineeTableSize = 0;
      int displayTablesize = 0;
      String operation= null;
      int size=5;
    // float dupePercentage=0;
      //String mod_op="MOD";
      //@@end
    content of obsolete user coding area(s) -
    //@@begin obsolete:javadoc:onActionSave(ServerEvent)
    //  /** Declared validating even
    Component controller code
    // This file has been generated partially by the Web Dynpro Code Generator.
    // MODIFY CODE ONLY IN SECTIONS ENCLOSED BY @@begin AND @@end.
    // ALL OTHER CHANGES WILL BE LOST IF THE FILE IS REGENERATED.
    package com.gmr.ess;
    // IMPORTANT NOTE:
    // ALL IMPORT STATEMENTS MUST BE PLACED IN THE FOLLOWING SECTION ENCLOSED
    // BY @@begin imports AND @@end. FURTHERMORE, THIS SECTION MUST ALWAYS CONTAIN
    // AT LEAST ONE IMPORT STATEMENT (E.G. THAT FOR IPrivateAPP).
    // OTHERWISE, USING THE ECLIPSE FUNCTION "Organize Imports" FOLLOWED BY
    // A WEB DYNPRO CODE GENERATION (E.G. PROJECT BUILD) WILL RESULT IN THE LOSS
    // OF IMPORT STATEMENTS.
    //@@begin imports
    import java.util.Iterator;
    import com.gmr.ess.wdp.IPrivateAPP;
    import com.gmr.pck.Bapi_Employee_Getdata_Input;
    import com.gmr.pck.Bapip0002B;
    import com.gmr.pck.Z_Hrfm_Nominee_Disp_Input;
    import com.gmr.pck.Z_Hrfm_Nominee_Ins_Mod_Input;
    import com.gmr.pck.Zst_Hr_Nominee;
    import com.sap.lcr.api.util.SetProfileConnect;
    import com.sap.tc.webdynpro.modelimpl.dynamicrfc.WDDynamicRFCExecuteException;
    import com.sap.tc.webdynpro.progmodel.api.IWDMessageManager;
    //@@end
    //@@begin documentation
    //@@end
    public class APP
    Logging location.
      private static final com.sap.tc.logging.Location logger =
        com.sap.tc.logging.Location.getLocation(APP.class);
      static
        //@@begin id
        String id = "$Id$";
        //@@end
        com.sap.tc.logging.Location.getLocation("ID.com.sap.tc.webdynpro").infoT(id);
    Private access to the generated Web Dynpro counterpart
    for this controller class.  </p>
    Use <code>wdThis</code> to gain typed access to the context,
    to trigger navigation via outbound plugs, to get and enable/disable
    actions, fire declared events, and access used controllers and/or
    component usages.
    @see com.gmr.ess.wdp.IPrivateAPP for more details
      private final IPrivateAPP wdThis;
    Root node of this controller's context. </p>
    Provides typed access not only to the elements of the root node
    but also to all nodes in the context (methods node<i>XYZ</i>())
    and their currently selected element (methods current<i>XYZ</i>Element()).
    It also facilitates the creation of new elements for all nodes
    (methods create<i>XYZ</i>Element()). </p>
    @see com.gmr.ess.wdp.IPrivateAPP.IContextNode for more details.
      private final IPrivateAPP.IContextNode wdContext;
    A shortcut for <code>wdThis.wdGetAPI()</code>. </p>
    Represents the generic API of the generic Web Dynpro counterpart
    for this controller. </p>
      private final com.sap.tc.webdynpro.progmodel.api.IWDComponent wdControllerAPI;
    A shortcut for <code>wdThis.wdGetAPI().getComponent()</code>. </p>
    Represents the generic API of the Web Dynpro component this controller
    belongs to. Can be used to access the message manager, the window manager,
    to add/remove event handlers and so on. </p>
      private final com.sap.tc.webdynpro.progmodel.api.IWDComponent wdComponentAPI;
      public APP(IPrivateAPP wdThis)
        this.wdThis = wdThis;
        this.wdContext = wdThis.wdGetContext();
        this.wdControllerAPI = wdThis.wdGetAPI();
        this.wdComponentAPI = wdThis.wdGetAPI().getComponent();
      //@@begin javadoc:wdDoInit()
      /** Hook method called to initialize controller. */
      //@@end
      public void wdDoInit()
        //@@begin wdDoInit()
        //$$begin Service Controller(1490375209)
    //    wdContext.nodeZ_Hrfm_Nominee_Ins_Mod_Input().bind(new Z_Hrfm_Nominee_Ins_Mod_Input());
         Z_Hrfm_Nominee_Ins_Mod_Input input = new Z_Hrfm_Nominee_Ins_Mod_Input();
         input.addNominee(new Zst_Hr_Nominee());
         wdContext.nodeZ_Hrfm_Nominee_Ins_Mod_Input().bind(input);
        //$$end
        //$$begin Service Controller(-932523997)
        wdContext.nodeZ_Hrfm_Nominee_Disp_Input().bind(new Z_Hrfm_Nominee_Disp_Input());
        //$$end
        //$$begin Service Controller(-368783613)
        wdContext.nodeBapi_Employee_Getdata_Input().bind(new Bapi_Employee_Getdata_Input());
        //$$end
        //@@end
      //@@begin javadoc:wdDoExit()
      /** Hook method called to clean up controller. */
      //@@end
      public void wdDoExit()
        //@@begin wdDoExit()
        //@@end
      //@@begin javadoc:wdDoPostProcessing()
    Hook called to handle data retrieval errors before rendering.
    After doModifyView(), the Web Dynpro Framework gets all context data needed
    for rendering by validating the contexts (which in turn calls the supply
    functions and supplying relation roles). In this hook, the application
    should handle the errors which occurred during validation of the contexts.
    Using preorder depth-first traversal, this hook is called for all component
    controllers starting with the current root component.
    Permitted operations:
    - Flushing model queue
    - Creating messages
    - Reading context and model data
    Forbidden operations:
    - Invalidating model data
    - Manipulating the context
    - Firing outbound plugs
    - Creating components
    @param isCurrentRoot true if this is the root of the current request
      //@@end
      public void wdDoPostProcessing(boolean isCurrentRoot)
        //@@begin wdDoPostProcessing()
        //@@end
      //@@begin javadoc:wdDoBeforeNavigation()
    Hook before the navigation phase starts.
    This hook allows you to flush the model queue and handle any
    errors that occur. Firing outbound plugs is allowed in this hook.
    Using preorder depth-first traversal, this hook is called for all component
    controllers starting with the current root component.
    @param isCurrentRoot true if this is the root of the current request
      //@@end
      public void wdDoBeforeNavigation(boolean isCurrentRoot)
        //@@begin wdDoBeforeNavigation()
        //@@end
      //@@begin javadoc:wdDoApplicationStateChange()
    Hook that informs the application about a state change.
    <p>
    This hook is called e.g. to tell the application that will be
    <ul>
    <li>left via a suspend plug and therefore should go into a suspend/sleep
         mode with minimal need of resources. errors that occur. Firing
         outbound plugs is allowed in this hook.
    <li>left due to a timeout and could write it's state to a data base if the
         user comes back later on
    </ul>
    The concrete reason is available via IWDApplicationStateChangeInfo
    <p>
    <b>Important</b>: This hook is called for the top level component only!
    @param stateChangeInfo contains the information about the nature of the state change
    @param stateChangeReturn allows the application to ask for a different state change.
           The framework is allowed to ignore it considering i.e. the current resources situation.
      //@@end
      public void wdDoApplicationStateChange(com.sap.tc.webdynpro.progmodel.api.IWDApplicationStateChangeInfo stateChangeInfo, com.sap.tc.webdynpro.progmodel.api.IWDApplicationStateChangeReturn stateChangeReturn)
        //@@begin wdDoApplicationStateChange()
        //@@end
      //@@begin javadoc:executeBapi_Employee_Getdata_Input()
      /** Declared method. */
      //@@end
      public void executeBapi_Employee_Getdata_Input( )
        //@@begin executeBapi_Employee_Getdata_Input()
        //$$begin Service Controller(1705750894)
        IWDMessageManager manager = wdComponentAPI.getMessageManager();
         Iterator itrGetData = null;
                             Bapip0002B out = null;
        try
          wdContext.currentBapi_Employee_Getdata_InputElement().modelObject().execute();
          wdContext.nodeOutput().invalidate();
           itrGetData = wdContext.currentOutputElement().modelObject().getPersonal_Data().iterator();
           while (itrGetData.hasNext()) {
               out = (Bapip0002B) itrGetData.next();
          empNo = out.getPerno();
          wdContext.currentZ_Hrfm_Nominee_Disp_InputElement().setPernr(empNo);
         wdContext.currentZ_Hrfm_Nominee_Ins_Mod_InputElement().setPernr(empNo);
    //      manager.reportSuccess(empNo);
         //wdThis.executeZ_Hrfm_Nominee_Disp_Input();
        catch(WDDynamicRFCExecuteException e)
          manager.reportException(e.getMessage(), false);
        //$$end
        //@@end
      //@@begin javadoc:executeZ_Hrfm_Nominee_Disp_Input()
      /** Declared method. */
      //@@end
      public void executeZ_Hrfm_Nominee_Disp_Input( )
        //@@begin executeZ_Hrfm_Nominee_Disp_Input()
        //$$begin Service Controller(-366407911)
        IWDMessageManager manager = wdComponentAPI.getMessageManager();
        try
          wdContext.currentZ_Hrfm_Nominee_Disp_InputElement().modelObject().execute();
          wdContext.nodeOutput_Nominee().invalidate();
        catch(WDDynamicRFCExecuteException e)
          manager.reportException(e.getMessage(), false);
        //$$end
        //@@end
      //@@begin javadoc:executeZ_Hrfm_Nominee_Ins_Mod_Input()
      /** Declared method. */
      //@@end
      public void executeZ_Hrfm_Nominee_Ins_Mod_Input( )
        //@@begin executeZ_Hrfm_Nominee_Ins_Mod_Input()
        //$$begin Service Controller(1524028406)
        IWDMessageManager manager = wdComponentAPI.getMessageManager();
        try
          wdContext.currentZ_Hrfm_Nominee_Ins_Mod_InputElement().modelObject().execute();
          wdContext.nodeOutput_nominee_ins_mod().invalidate();
        catch(WDDynamicRFCExecuteException e)
          manager.reportException(e.getMessage(), false);
        //$$end
        //@@end
    The following code section can be used for any Java code that is
    not to be visible to other controllers/views or that contains constructs
    currently not supported directly by Web Dynpro (such as inner classes or
    member variables etc.). </p>
    Note: The content of this section is in no way managed/controlled
    by the Web Dynpro Designtime or the Web Dynpro Runtime.
      //@@begin others
      String empNo = null;
      //@@end
    Suman
    Edited by: sumankumar kurimilla on Dec 23, 2008 9:26 AM

    Hi,
    I have checked from RFC side that is working fine only java app its not working can you tell any thing needs to be changed from my application end.
    Please check in Savedata action.
    Regards,
    Suman
    Edited by: sumankumar kurimilla on Dec 23, 2008 11:01 AM

Maybe you are looking for

  • Issue with Java Embedding Activity

    Hi, I wrote some java code inside java embedding activity, and it is compiling perfectly. But, when i am passing input parameter it is failing in enterprise manager. This is my bpel file. <?xml version = "1.0" encoding = "UTF-8" ?> <!-- Oracle JDevel

  • Pre Calendar Sync

    I'm having issues with my Exchange calendar. 1. I am unable to create a new calendar entry and add people to that invite. I can create new entries, but I can't invite people to that meeting. 2. When I move a meeting I created (open and change the dat

  • Data-base driven site

    1. Hi. I'm new to data-base driven sites. firstly, i want to basically link my database (with two tables. no relationships) to a new website. Can somebody talk to me through the steps for doing this? i know mySQL and PHP are used... 2. Secondly if I

  • Organisation unit not getting determined

    Hi All, I have configured 4 transaction. Same partner determination profile, text deter procedure, org. data profile and date profile is assigned to all of them. But in only 2 of them organisational unit, sale office and sales group is not getting de

  • Installing on ubuntu

    Hello. I've downloaded the file "java_ee_sdk-5_04-linux.bin" and want to install it on a ubuntu os. Due to previous failure a ask you how to do this. How can I open this bin-file? Notice: I havent tried yet because the computer is at my home...