Query regarding onNavigate method in a tableview control

hi all,
i am using a tableview control in jspdynpage to display the sales order details using the standard BAPI that is BAPI_SALESORDER_GETLIST.
following is the flow:-
i enter the customer number and the sales organization in the first i-view.
it interacts with the backend and brings the data into a tableview control in the second i-view.
the problem i am facing is:-
when i click on the navigation button of the tableview control instead of showing the next row of records, it takes me back to the previous i-view.
please help as i am unable to find the error myself.
i can post the code if you want.....
regards,
raghav

i am posting the code...
main class
package com.sap.training;
import javax.resource.cci.MappedRecord;
import javax.resource.cci.RecordFactory;
import com.sap.portal.services.api.connectorgateway.IConnectorGatewayService;
import com.sapportals.connector.connection.IConnection;
import com.sapportals.connector.execution.functions.IInteraction;
import com.sapportals.connector.execution.functions.IInteractionSpec;
import com.sapportals.connector.execution.structures.IRecordSet;
import com.sapportals.htmlb.InputField;
import com.sapportals.htmlb.event.Event;
import com.sapportals.htmlb.event.TableNavigationEvent;
import com.sapportals.htmlb.page.DynPage;
import com.sapportals.htmlb.page.PageException;
import com.sapportals.portal.htmlb.page.JSPDynPage;
import com.sapportals.portal.htmlb.page.PageProcessorComponent;
import com.sapportals.portal.ivs.cg.ConnectionProperties;
import com.sapportals.portal.ivs.cg.IConnectorService;
import com.sapportals.portal.prt.component.IPortalComponentContext;
import com.sapportals.portal.prt.component.IPortalComponentRequest;
import com.sapportals.portal.prt.component.IPortalComponentResponse;
import com.sapportals.portal.prt.runtime.PortalRuntime;
public class getsalesorder extends PageProcessorComponent {
     //private getdatabean first_bean;
     public DynPage getPage() {
          return new getsalesorderDynPage();
     public static class getsalesorderDynPage extends JSPDynPage {
          public getdatabean data;
          private getdatabean data1;
          public IRecordSet exportTable = null;
          private final static int INITIAL_STATE = 1;
          private final static int NEXT_STATE = 2;
          private int state = INITIAL_STATE;
          //private getdatabean myBean = null;
          IPortalComponentRequest request = null;
          IPortalComponentResponse response = null;
          IPortalComponentContext ctxt = null;
          private int visibleRow;
          public void doInitialization() {
          public void doProcessAfterInput() throws PageException {
          public void doProcessBeforeOutput() throws PageException {
               switch (state) {
                    case INITIAL_STATE :
                         this.setJspName("getdata.jsp");
                         break;
                    case NEXT_STATE :
                         this.setJspName("showresult.jsp");
                         break;
          public void onShowClick(Event event) {
               IPortalComponentResponse response =
                    (IPortalComponentResponse) this.getResponse();
               InputField CUSTOMER_NUMBER =
                    (InputField) getComponentByName("myInputField1");
               String customerNumber =
                    CUSTOMER_NUMBER.getValueAsDataType().toString();
               InputField SALES_ORGANISATION =
                    (InputField) getComponentByName("myInputField2");
               String salesOrganisation =
                    SALES_ORGANISATION.getValueAsDataType().toString();
               request = (IPortalComponentRequest) getRequest();
               response = (IPortalComponentResponse) getResponse();
               IConnectorGatewayService cgService =
                    (IConnectorGatewayService) PortalRuntime
                         .getRuntimeResources()
                         .getService(
                         IConnectorService.KEY);
               ConnectionProperties prop =
                    new ConnectionProperties(
                         request.getLocale(),
                         request.getUser());
               IConnection client = null;
               try {
                    client = cgService.getConnection("R3System", prop);
               } catch (Exception e) {
                    response.write(e.toString());
               try {
                    IInteraction ix = client.createInteractionEx();
                    IInteractionSpec interactionSpec = ix.getInteractionSpec();
                    interactionSpec.setPropertyValue(
                         "Name",
                         "BAPI_SALESORDER_GETLIST");
                    RecordFactory rf = ix.getRecordFactory();
                    MappedRecord input = rf.createMappedRecord("input");
                    input.put("CUSTOMER_NUMBER", customerNumber);
                    input.put("SALES_ORGANIZATION", salesOrganisation);
                    MappedRecord output =
                         (MappedRecord) ix.execute(interactionSpec, input);
                    Object rs = null;
                    Object result = output.get("SALES_ORDERS");
                    if (result == null) {
                         rs = new String(" ");
                    } else if (result instanceof IRecordSet) {
                         exportTable = (IRecordSet) result;
                         exportTable.beforeFirst();
                    //                    while (exportTable.next())
                    //                                   response.write("<script language='JavaScript'>");
                    //                                   response.write( "alert('" + exportTable.getString("MATERIAL")+"');" );
                    //                                   response.write("</script>");     
                    //                    exportTable.beforeFirst();
               } catch (Exception e) {
                    response.write(e.toString());
               } finally {
                    if (client != null) {
                         try {
                              client.close();
                              client = null;
                         } catch (Exception e) {
               ctxt =
                    ((IPortalComponentRequest) getRequest()).getComponentContext();
               Object O = ctxt.getValue("data");
               if (O == null || !(O instanceof getdatabean)) {
                    data = new getdatabean(request, response);
                    data.createData(exportTable);
               } else {
                    data = (getdatabean) O;
                    data.createData(exportTable);
               ctxt.putValue("data", data);
               state = NEXT_STATE;
          public void onBackClick(Event event) {
               response = (IPortalComponentResponse) getResponse();
               state = INITIAL_STATE;
          public void onNavigate(Event event) throws PageException {
               if (event instanceof TableNavigationEvent) {
                    TableNavigationEvent tne = (TableNavigationEvent) event;
                    if (tne != null) {
                         this.visibleRow = tne.getFirstVisibleRowAfter();
                         if (data != null) {
                              data.setVisibleRow(
                                   new Integer(this.visibleRow).toString());
bean class
package com.sap.training;
import java.io.Serializable;
import java.util.Vector;
import com.sapportals.connector.execution.structures.IRecordSet;
import com.sapportals.htmlb.table.DefaultTableViewModel;
import com.sapportals.portal.prt.component.IPortalComponentRequest;
import com.sapportals.portal.prt.component.IPortalComponentResponse;
public class getdatabean implements Serializable {
     private String visibleRow="1";
     public IRecordSet exportTable = null;
     public DefaultTableViewModel model;
     public IPortalComponentRequest request;
     public IPortalComponentResponse response;
     public getdatabean(){
          model = new DefaultTableViewModel();
     public getdatabean(IPortalComponentRequest request,IPortalComponentResponse response)
          this.request = request;
          this.response = response;
     public DefaultTableViewModel getModel() {
          return this.model;
     public void setModel(DefaultTableViewModel model) {
          this.model = model;
     public void createData(IRecordSet exportTable) {
          this.exportTable = exportTable;
     public DefaultTableViewModel getModel1() {
          Vector data = createData1();
          Vector colName = new Vector();
          colName.addElement("Material");
          colName.addElement("Document Date");
          model = new DefaultTableViewModel(data, colName);
          return model;
     private Vector createData1() {
          Vector retVec = new Vector();
          try {
               while (exportTable.next()) {
                    //response.write("data is in export");
                    Vector dataVec = new Vector();
                    dataVec.addElement(exportTable.getString("MATERIAL"));
                    dataVec.addElement(exportTable.getString("DOC_DATE"));
                    retVec.addElement(dataVec);
          } catch (Exception e) {
               response.write("EXCEPTION...........");
               response.write(e.toString());
          return retVec;
     public void setVisibleRow(String string) {
          visibleRow = string;          
     public String getVisibleRow(){
          return visibleRow;
1st jsp
<%@ taglib uri="tagLib" prefix="hbj" %>
<jsp:useBean
     id="data1"
     scope="application"
     class="com.sap.training.getdatabean"
     />
<hbj:content
     id="myContext">
     <hbj:page
          title="PageTitle">
          <hbj:form
               id="myFormId">
               <hbj:textView
                    id="CUSTOMER_NUMBER"
                    text="CUSTOMER_NUMBER"
                    design="EMPHASIZED"/>
               <hbj:inputField
                    id="myInputField1"
                    type="String"
                    value=""
                    maxlength="30">
               </hbj:inputField>
               <br>
               <br>
               <hbj:textView
                    id="SALES_ORGANIZATION"
                    text="SALES_ORGANIZATION"
                    design="EMPHASIZED"/>
               <hbj:inputField
                    id="myInputField2"
                    type="String"
                    value=""
                    maxlength="30">
               </hbj:inputField>
               <br>
               <br>
               <hbj:button
                    id="show"
                    text="show"
                    width="100px"
                    tooltip="click here to show result"
                    onClick="onShowClick"
                    disabled="false"
                    design="STANDARD">
               </hbj:button>
          </hbj:form>
     </hbj:page>
</hbj:content>
2nd jsp
<%@ taglib uri="tagLib" prefix="hbj" %>
<jsp:useBean
     id="data"
     scope="application"
     class="com.sap.training.getdatabean"
     />
<hbj:content
     id="myContext">
     <hbj:page
          title="PageTitle">
          <hbj:form
               id="myFormId">
               <hbj:tableView
                    id="tv"
                    design="ALTERNATING"
                    headerVisible="true"
                    footerVisible="true"
                    fillUpEmptyRows="false"
                    navigationMode="BYLINE"
                    headerText="sales order details"
                    onNavigate="onNavigate"
                    visibleFirstRow="<%= data.getVisibleRow() %>"
                    visibleRowCount="5"
                    rowCount="20"
                    width="300 px">
                    <%
                    tv.setModel(data.getModel1());
                    %>
               </hbj:tableView>
               <hbj:button
                    id="back"
                    text="back"
                    width="100px"
                    tooltip="click here to go back"
                    onClick="onBackClick"
                    disabled="false"
                    design="STANDARD">
               </hbj:button>
          </hbj:form>
     </hbj:page>
</hbj:content>
deployment descriptor
<?xml version="1.0" encoding="utf-8"?>
<application>
  <application-config>
    <property name="PrivateSharingReference" value="com.sap.portal.htmlb"/>
    <property name="ServicesReference" value="com.sap.portal.ivs.connectorservice"/>
  </application-config>
  <components>
    <component name="getsalesorder">
      <component-config>
        <property name="ClassName" value="com.sap.training.getsalesorder"/>
      </component-config>
      <component-profile>
        <property name="tagLib" value="/SERVICE/htmlb/taglib/htmlb.tld"/>
      </component-profile>
    </component>
  </components>
  <services/>
</application>

Similar Messages

  • How to transfer data in A tableview control in transaction ME21n

    Dear friends,
    I m new in the field of SAP ABAP.
    And right now i m trying to transfer the data in a tableview control in transaction ME21n. I've recorded the sequence of mandatory fields in transaction ME21n but, when i try to transfer the data using BDC call transaction method the order of manadatory fields change.
    I m trying to transfer data from text file.
    If anybody has a solution to this problem please tell me how to sort out this.
    Thanks in advance.

    Hi Vivek,
    Welcome to SDN.
    BDC solution will not work with transaction ME21N.
    ME21N is an enjoy SAP transaction which has a lot of new objects that BDC can not call/use.
    Please use transaction ME21 instead of ME21N.
    Hope this will help.
    Regards,
    Ferry Lianto
    Please reward points in helpful.

  • Query  related to the transfer of the control to the other controller.

    Hi all,
    I have a query related to the transfer of the control to the other controller.
    I have components A and B .From a view of component A I neeed to open a window which belong to component B.Problem is that ,if I use create_window_for_cmp_usage( ) and the open( ) method and after that there is some code,then that code is getting executed before the window is opening.
    I want that the control should be back to the these code after the window is poped up and  after clossing the window. 
    Eg
    method ONACTIONOPEN_WINDOW .
    DATA lo_window_manager TYPE REF TO if_wd_window_manager.
      DATA lo_api_component  TYPE REF TO if_wd_component.
      DATA lo_window         TYPE REF TO if_wd_window.
      lo_api_component  = wd_comp_controller->wd_get_api( ).
      lo_window_manager = lo_api_component->get_window_manager( ).
      lo_window         = lo_window_manager->create_window_for_cmp_usage(
                         interface_view_name    = 'ZHELLO_WORLD'
                         component_usage_name   = 'USAGE_HELLO'
                       title                  =
                       close_in_any_case      = abap_true
                         message_display_mode   = if_wd_window=>co_msg_display_mode_selected
      lo_window->open( ).
      data a type i.
      data b type i.
      a = 2.
      b = 3.
      a = a + b.
    endmethod.
    In this case I am calling  ONACTIONOPEN_WINDOW method.But before opening the window the a iscalculated here.I want that after popuping  the window the calculations should be done .
    How will I achieve this.
    Thanks in advance.
    Edited by: vaibhav nirmal on Nov 25, 2008 6:42 AM

    Hi,
    You will have to do your calculation as an event in your new window, or capture the closing of the new window as an event in your currenbt view and do your calculations in the event.
    Regards,
    Shruthi R

  • TableView Control(finding total no of Rows & Columns)

    Dear ALL SDN Members,
    Please tell me the method by which we can obtain total no. of rows and columns in TableView control.

    Hi,
    You can use Describe internal table to find the Number of Rows in the table control.or tablecontrol-lines will give the number of rows.
    for getting the number of columns you have to call the FM <b>REUSE_ALV_FIELDCATALOG_MERGE</b>
    data: v_lines type i.
    call function 'REUSE_ALV_FIELDCATALOG_MERGE'
    EXPORTING
       I_PROGRAM_NAME               = sy-repid
       I_INTERNAL_TABNAME           = 'ITAB'
       I_INCLNAME                   = sy-repid
      changing
        ct_fieldcat                  = IT_FIELDCAT
    EXCEPTIONS
       INCONSISTENT_INTERFACE       = 1
       PROGRAM_ERROR                = 2
       OTHERS                       = 3
    if sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
             WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    endif.
    describe table it_fieldcat lines v_lines.
    now v_lines will have the number of columns.
    Regards
    vijay

  • A query regarding synchronised functions, using shared object

    Hi all.
    I have this little query, regarding the functions that are synchronised, based on accessing the lock to the object, which is being used for synchronizing.
    Ok, I will clear myself with the following example :
    class First
    int a;
    static int b;
    public void func_one()
    synchronized((Integer) a)
    { // function logic
    } // End of func_one
    public void func_two()
    synchronized((Integer) b)
    { / function logic
    } // End of func_two
    public static void func_three()
    synchronized((Integer) a)
    { // function logic
    } // End of func_three, WHICH IS ACTUALLY NOT ALLOWED,
    // just written here for completeness.
    public static void func_four()
    synchronized((Integer) b)
    { / function logic
    } // End of func_four
    First obj1 = new First();
    First obj2 = new First();
    Note that the four functions are different on the following criteria :
    a) Whether the function is static or non-static.
    b) Whether the object on which synchronization is based is a static, or a non-static member of the class.
    Now, first my-thoughts; kindly correct me if I am wrong :
    a) In case 1, we have a non-static function, synchronized on a non-static object. Thus, effectively, there is no-synchronisation, since in case obj1 and obj2 happen to call the func_one at the same time, obj1 will obtain lock for obj1.a; and obj2 will obtain lock to obj2.a; and both can go inside the supposed-to-be-synchronized-function-but-actually-is-not merrily.
    Kindly correct me I am wrong anywhere in the above.
    b) In case 2, we have a non-static function, synchronized on a static object. Here, again if obj1, and obj2 happen to call the function at the same time, obj1 will try to obtain lock for obj1.a; while obj2 will try to obtain lock for obj2.a. However, since obj1.a and obj2.a are the same, thus we will indeed obtain sychronisation.
    Kindly correct me I am wrong anywhere in the above.
    c) In case 3, we have a static function , synchronized on a non-static object. However, Java does not allow functions of this type, so we may safely move forward.
    d) In case 4, we have a static function, synchronized on a static object.
    Here, again if obj1, and obj2 happen to call the function at the same time, obj1 will try to obtain lock for obj1.a; while obj2 will try to obtain lock for obj2.a. However, since obj1.a and obj2.a are the same, thus we will indeed obtain sychronisation. But we are only partly done for this case.
    First, Kindly correct me I am wrong anywhere in the above.
    Now, I have a query : what happens if the call is made in a classically static manner, i.e. using the statement "First.func_four;".
    Another query : so far we have been assuming that the only objects contending for the synchronized function are obj1, and obj2, in a single thread. Now, consider this, suppose we have the same reference obj1, in two threads, and the call "obj1.func_four;" happens to occur at the same time from each of these threads. Thus, we have obj1 rying to obtain lock for obj1.a; and again obj1 trying to obtain lock for obj1.a, which are the same locks. So, if obj1.a of the first thread obtains the lock, then it will enter the function no-doubt, but the call from the second thread will also succeed. Thus, effectively, our synchronisation is broken.
    Or am I being dumb ?
    Looking forward to replies..
    Ashutosh

    a) In case 1, we have a non-static function, synchronized on a non-static object. Thus, effectively, there is no-synchronisationThere is no synchronization between distinct First objects, but that's what you specified. Apart from the coding bug noted below, there would be synchronization between different threads using the same instance of First.
    b) In case 2, we have a non-static function, synchronized on a static object. Here, again if obj1, and obj2 happen to call the function at the same time, obj1 will try to obtain lock for obj1.a; while obj2 will try to obtain lock for obj2.a.obj1/2 don't call methods or try to obtain locks. The two different threads do that. And you mean First.b, not obj1.b and obj2.b, but see also below.
    d) In case 4, we have a static function, synchronized on a static object. Here, again if obj1, and obj2 happen to call the function at the same time, obj1 will try to obtain lock for obj1.a; while obj2 will try to obtain lock for obj2.a.Again, obj1/2 don't call methods or try to obtain locks. The two different threads do that. And again, you mean First.b. obj1.b and obj2.b are the same as First.b. Does that make it clearer?
    Now, I have a query : what happens if the call is made in a classically static manner, i.e. using the statement "First.func_four;".That's what happens in any case whether you write obj1.func_four(), obj2.func)four(), or First.func_four(). All these are identical when func_four(0 is static.
    Now, consider this, suppose we have the same reference obj1, in two threads, and the call "obj1.func_four;" happens to occur at the same time from each of these threads. Thus, we have obj1 rying to obtain lock for obj1.aNo we don't, we have a thread trying to obtain the lock on First.b.
    and again obj1 trying to obtain lock for obj1.aYou mean obj2 and First.b, but obj2 doesn't obtain the lock, the thread does.
    which are the same locks. So, if obj1.a of the first thread obtains the lock, then it will enter the function no-doubt, but the call from the second thread will also succeed.Of course it won't. Your reasoning here makes zero sense..Once First.b is locked it is locked. End of story.
    Thus, effectively, our synchronisation is broken.No it isn't. The second thread will wait on the same First.b object that the first thread has locked.
    However in any case you have a much bigger problem here. You're autoboxing your local 'int' variable to a possibly brand-new Integer object every call, so there may be no synchronization at all.
    You need:
    Object a = new Object();
    static Object b = new Object();

  • Regarding page down in the table control veritcally

    Hi all,
              I have an issue regarding page down in the Table control in module pool , i.e when i m click the vertical scroll bar and going for page down then , the control is flowing to the next sceen which is not needed , and it shuld just scroll down and up vetically.
    Can anyone help me how to handle the page down event ?
    Thanks & regards,
    satya

    Table Controls: Examples with Scrolling
    The following example processes a table control with LOOP without parallel loop using an internal table. In addition to the scroll bar, the user can also carry out program-controlled scrolling with function codes.
    REPORT demo_dynpro_tabcont_loop.
    CONTROLS flights TYPE TABLEVIEW USING SCREEN 100.
    DATA: ok_code TYPE sy-ucomm,
          save_ok TYPE sy-ucomm.
    DATA: itab TYPE TABLE OF demo_conn,
          fill TYPE i.
          TABLES demo_conn.
    DATA: lines TYPE i,
          limit TYPE i.
    SELECT * FROM spfli INTO CORRESPONDING FIELDS OF TABLE itab.
    CALL SCREEN 100.
    MODULE status_0100 OUTPUT.
      SET PF-STATUS 'SCREEN_100'.
      DESCRIBE TABLE itab LINES fill.
      flights-lines = fill.
    ENDMODULE.
    MODULE fill_table_control OUTPUT.
      READ TABLE itab INTO demo_conn INDEX flights-current_line.
    ENDMODULE.
    MODULE cancel INPUT.
      LEAVE PROGRAM.
    ENDMODULE.
    MODULE read_table_control INPUT.
      lines = sy-loopc.
      MODIFY itab FROM demo_conn INDEX flights-current_line.
    ENDMODULE.
    MODULE user_command_0100 INPUT.
      save_ok = ok_code.
      CLEAR ok_code.
      CASE save_ok.
        WHEN 'NEXT_LINE'.
          flights-top_line = flights-top_line + 1.
          limit = fill - lines + 1.
          IF flights-top_line > limit.
            flights-top_line = limit.
          ENDIF.
        WHEN 'PREV_LINE'.
          flights-top_line = flights-top_line - 1.
          IF flights-top_line < 0.
            flights-top_line = 0.
          ENDIF.
        WHEN 'NEXT_PAGE'.
          flights-top_line = flights-top_line + lines.
          limit = fill - lines + 1.
          IF flights-top_line > limit.
            flights-top_line = limit.
          ENDIF.
        WHEN 'PREV_PAGE'.
          flights-top_line = flights-top_line - lines.
          IF flights-top_line < 0.
            flights-top_line = 0.
          ENDIF.
        WHEN 'LAST_PAGE'.
          flights-top_line =  fill - lines + 1.
        WHEN 'FIRST_PAGE'.
          flights-top_line = 0.
      ENDCASE.
    ENDMODULE.
    The layout of screen 100 is:
    A resizable table control called FLIGHTS is defined. The fields of the table control are transferred from the structure DEMO_CONN in the ABAP Dictionary. The first two columns are lead columns. The corresponding fields are output fields. A title bar, column headers, and a selection column are created. The component MARK of type character with length 1 from structure DEMO_CONN is assigned to the selection column. You can select one column and several lines.
    It has the following flow logic:
    PROCESS BEFORE OUTPUT.
      MODULE status_0100.
      LOOP WITH CONTROL flights.
        MODULE fill_table_control.
    ENDLOOP.
    PROCESS AFTER INPUT.
      MODULE cancel AT EXIT-COMMAND.
      LOOP WITH CONTROL flights.
        MODULE read_table_control.
    ENDLOOP.
      MODULE user_command_0100.
    The system executes a loop at PBO and PAI using the table control FLIGHTS. During the PBO loop, a module is called to fill the table control from table ITAB of the ABAP program. During the PAI loop, a module is called to modify table ITAB.
    Before the PBO loop, in the module STATUS_0100 the current number of lines of the internal table ITAB is placed in component LINES of control structure FLIGHTS. This helps the system to correctly install the scroll bar of the table control.
    During the PBO loop, in the module FILL_TABLE_CONTROL the work area DEMO_CONN is filled with values from the internal table, where the row index corresponds to the current row of the table control.
    During the PAI loop, in the module READ_TABLE_CONTROL the current number of the loop SY-LOOPC in the table control is placed an auxiliary variable. The number is dependent on the size of the screen. The rows of the internal table, whose row index corresponds to the current row of the table control, are overwritten with the contents of the work area DEMO_CONN. User input is transferred from the input fields of the control to the internal table. In particular, the internal table also contains a flag in the column MARK to indicate whether the row of the table control is selected or not.
    After the PAI loop, user input is processed in the module USER_COMMAND. The GUI status SCREEN_100 provides the appropriate function codes. You can scroll line by line or page by page, or Goto the first or last page. You can implement scrolling by setting the component TOP_LINE of control structure FLIGHTS. For page-by-page scrolling the auxiliary variable that is filled in the PAI loop by SY-LOOPC is used as the step size.

  • Having problem with two Tableview controls.

    Hi all,
    I have two tableview controls in my page. TV1 has list of employees. TV2 is populated with details based on the employee selected in TV1.
    The actual problem is, in TV1 when i goto next page using navigator and select an employee in 15th row, and select a detail row from TV2, TV1 gets refreshed and goes back to row 1.
    How can i avoid this?
    Thanks & Regards,
    Lalith

    Hi,
    you can bind the attribute of the tableView selectedRow = "//model/selected_row"
    to an attribute in your model class
    that way you can always find your selection if working stateful
    grtz
    Koen

  • Query regarding G/LAccounts in psoting

    Hi Experts,
    I have one query regarding PCP0.
    After executing PCP0,If We double click on the posting document we can see the number of G/L accounts in that posting Document.If we double click on each G/L Account it shows all the revision information indetail for all payments cumulated into that particular G/L Account.
    Some of the G/L's are appearing as single line in the posting document and if we double click for the revision information it is showing all the Wagetypes with personnel numbers and the total of each wagetype.
    Some of the G/L's we can see Multiple times for each individual.
    Can any one please explain where does we set up the the revision information for the G/L Accounts .
    Appreciate If anyone can help to know this information.
    Thanks & Regards,
    Sandhya.

    Hi Gopal,
    Counting class are assigned to the Periodic work Schedule 1 to 9 are just arbitart sequence numbers and have no meaning in general they are used for linking Pweriodic Work schedules with differences.
    You can use the class for absence and attendance counting to specify different methods of counting according to the period work schedule.
    They have no other meaning apart from that.
    Thanks and Regards
    Swati

  • Query regarding App V Deployment - (Deploying DriverMSI in App - V)

    Hi All,
    This is my query regarding deployment of a driver MSI using App V. I have tried sequencing "NMap software" which has Kernel driver as service. I have separated the Kernel driver and wrapped in an MSI and tried deploying the Kernel Driver MSI using
    the DeploymentConfig.xml file but its not happening.
    I have tried writing script in DeploymentConfig.xml in AddPackage Tag as shown in the below commands where I have added driver MSI in sequenced package, and tried deploying the DeploymentConfig.xml in powershell during Add-Package event but the driver
    MSI is not getting installed in Client machine.
    <AddPackage>
            <Path>msiexec.exe</Path>
            <Arguments>/i Nmap_KernelDriver.msi /qb /l*v c:\windows\system32\LogFiles\Install_Nmap.log</Arguments>
            <Wait RollbackOnError="true" Timeout="30"/>
          </AddPackage>
          <RemovePackage>
            <Path>msiexec.exe</Path>
            <Arguments>/x {4BAB3E93-716E-4E18-90F0-1DA3876CBEB6} /qn</Arguments>
            <Wait RollbackOnError="false" Timeout="60"/>
          </RemovePackage>
        </MachineScripts>
    The other way I have tried is writing a vbscript for installing the driver MSI, added the vbs in sequenced package and called the same in DeploymentConfig.xml but no luck.Please find the command below.
    <!--
        <MachineScripts>
          <PublishPackage>
            <Path>wscript.exe</Path>
            <Arguments>[{AppVPackageRoot}]\..\Scripts\NMap_Driver_Install.vbs -guid 7c21d1e9-0fc4-4e56-b7bf-49e54d6e523f -name Insecure_Nmap_6.4_APPV</Arguments>
            <Wait RollbackOnError="true" Timeout="30"/>
          </PublishPackage>
          <UnpublishPackage>
            <Path>\\server\share\barfoo.exe</Path>
            <Arguments>-WithArgs</Arguments>
            <Wait RollbackOnError="false" Timeout="30"/>
          </UnpublishPackage>
    Please suggest any method to make this successful or kindly let me know if there is any mistake in the script.
    Thanks in advance,
    Vivek V

    Hi Nicke,
    These are the following methods and steps that I have performed for installing Driver MSi.
    Method 1:
    1. Included the driver MSI in Package Files Tab in sequencer and called the same MSI in DeploymentConfig.xml using the below script.
    <AddPackage>
            <Path>msiexec.exe</Path>
            <Arguments>/i Nmap_KernelDriver.msi /qb /l*v c:\windows\system32\LogFiles\Install_Nmap.log</Arguments>
            <Wait RollbackOnError="true" Timeout="30"/>
          </AddPackage>
          <RemovePackage>
            <Path>msiexec.exe</Path>
            <Arguments>/x {4BAB3E93-716E-4E18-90F0-1DA3876CBEB6} /qn</Arguments>
            <Wait RollbackOnError="false" Timeout="60"/>
          </RemovePackage>
        </MachineScripts>
    2. After the above steps, deployed the AppV package along with DeploymentConfig.xml in App V Client using the commands mentioned below.
    Set-ExecutionPolicy -Unrestricted
    Import-module Appvclient
    Set-AppVClientConfiguration -EnablePackageScripts 1
    Add-AppvClientPackage -Path "Path of the AppV file" -DynamicDeploymentConfig "Path of DeploymentConfig.xml"
    after trying the above steps the driver MSI is not getting installed.
    Method 2:
    1. Included the driver MSI and a VBS file(VBS contains script for calling the driverMSI)in Package Files tab in sequencer. Commandlines has been provided calling the vbs file in DeploymetConfig.xml as mentioned below.
    <!--
        <MachineScripts>
          <PublishPackage>
            <Path>wscript.exe</Path>
            <Arguments>[{AppVPackageRoot}]\..\Scripts\NMap_Driver_Install.vbs -guid 7c21d1e9-0fc4-4e56-b7bf-49e54d6e523f -name Insecure_Nmap_6.4_APPV</Arguments>
            <Wait RollbackOnError="true" Timeout="30"/>
          </PublishPackage>
          <UnpublishPackage>
            <Path>\\server\share\barfoo.exe</Path>
            <Arguments>-WithArgs</Arguments>
            <Wait RollbackOnError="false" Timeout="30"/>
          </UnpublishPackage>
    2. after executing the above steps, tried deploying the AppV file along with DeploymentConfig.xml using the commands mentioned below,
    Set-ExecutionPolicy -Unrestricted
    Import-module Appvclient
    Set-AppVClientConfiguration -EnablePackageScripts 1
    Add-AppvClientPackage -Path "Path of the AppV file" -DynamicDeploymentConfig "Path of DeploymentConfig.xml"
    evenafter trying the above methods the driver MSI is not getting installed. Hope you can understand my explanations above.
    Regards,
    Vivek V

  • Error calling a method of the tree control in BDC

    I'm connecting two systems Iplan(project management tool) with SAP PS using SAP XI.
    I've written an BDC(RFC) to assign people for the activity in an project(cj20n) it works fine in the foreground. But it doesn't work in the background.It doesn't give me error also.I've sap all authorization.
    When I connect with XI its throwing me an error "Error calling a method of the tree control" message type A (using the same user to connect r3). I believe something we should do prior handling the tree control in a BDC. IF any body come across this situation please let me know. your help is appreciated.
    Regards
    Anand

    BDCs over enjoy transactions do not get along together.  The containers and controls is more of a gui thing, and in background sometimes the BDC has a hard time with them.  I would suggest using the non-enjoy tcode instead, CJ20.
    Regards,
    Rich Heilman

  • Query regarding Useful Life

    Hi SAP guru
    I have one query regarding useful life of asset,
    If i purchased a asset in rs 200000 , wdv rate is 20% and put the useful life 4 year, in last year i want to depreciate the asset upto 1 Rs.
    Capitalisation date is 01.04.2008.
    Ex -     Acquisition value   Ordinary depreciation  net book value
    2008 200,000.00               40,000.00-             160,000.00
    2009  200,000.00                32,000.00-           128,000.00
    2010  200,000.00                25,600.00-           102,400.00
    2011   200,000.00               20,480.00-           81,920.00
    2012  200,000.00                                          81,920.00
    Client requirement is in year 2011 asset should depreciate upto Rs 1.
    Appreciate your reply.
    Regards
    Anjan

    If you want to your asset depreciation based on useful life that is 4 years, please select check box Rem.life in multi level method of that dep. key.and enter the useful life as 4 years in the assets master.
    when come to restricting value to 1Re. specify the memo value for that asset class.
    AA>Valuation>Amt.specification>Specify memo value.

  • Query regarding Crystal Reports Server

    Hi,
    I am new to Crystal Reports.
    I have created a couple of .rpt files using CR2008 and I am loading these report files in my aspx pages using CrystalReportViewer control.
    I am planning to host my webApp on IIS in production environment. Maximum simultaneous/concurrent connections to my reports would be 1 or 2.
    My question is:
    1. Do I need Crystal Reports Server in this scenario?
    2. In future if the number of concurrent users to report increases then do I need to go for Crystal Reports Server? Will just buying and installing the Crystal reports server on production server work? or will I have to do some configuration or some other changes in the existing deployed reports? OR Will I have to deploy my existing reports on Crystal Report Server again?
    Any help will be highly appreciated.
    Thanks in advance,
    Manish

    Manish, please do not cross post:
    Query regarding Crystal Reports Server
    See the [Rules of Engagement|http://www.sdn.sap.com/irj/sdn/wiki?path=/display/home/rulesofEngagement] for more details.
    Marking this thread as answered and locking...
    - Ludek

  • Query regarding using JNI in linux

    Hi
    I have a query regarding JNI.We have a situation in which
    we have some c programmes and we want to call that c programme method in my java code. The problem is that in JNI the native code signature should match the signature of the method of the header file generated by javah. We donot want to change the signature of the native code since it is hard to debug.So please suggest me a way out that i can call the native method without changing the signature of the native code.Please if u could give me some few simple example
    Thanking u

    So please suggest me a way out that i can call the native method without changing the signature of the native code.You write a wrapper. Your java JNI class has methods. Those methods are written in C by you. Those methods are new code. Those methods call your existing C methods.
    Please if u could give me some few simple example.http://java.sun.com/docs/books/tutorial/native1.1/index.html

  • Query regarding tables in adf

    Hi,
    I am new to ADF.Last day I was experimenting with ADF tables.I've created an entity and a view object.I have also created an application module.I've written a custom method in application module which returns all the rows for a view.Then ,I created a JSF page and I dragged a read only table and created a button by dragging and dropping the custom method from the data control onto the page.But whenever the page is loading, before I even hit my button, the data is being displayed in the table automatically.I want to display the data in the table only after the button is hit.Is it possible in oracle ADF 11g?
    Thanks in advance

    Hi,
    oracle.jbo.server.ViewObjectImpl has a method "executeEmptyRowSet" ("executeEmptyRowSet() method performs the logical equivalent of executing your view object with a predicate like "WHERE 1 = 2" (always false) in a more efficient way").
    You create the view object class for your view object and expose the executeEmptyRowSet as client interface. And if you use a taskflow for example you can use this method as the default activity (via drag-n-drop).
    VO-class:
    public class TestVOImpl extends ViewObjectImpl {
         * This is the default constructor (do not remove).
        public TestVOImpl() {
        @Override
        public void executeEmptyRowSet() {
            super.executeEmptyRowSet();
    }Best regards
    Martin

  • Query regarding the Node manager configuration(WLS and OAM Managed server)

    Query regarding the Node manager configuration(WLS and OAM Managed server):
    1) In the nodemanager.properties I have added the ListenAddress:myMachineName and ListenPort: 5556
    My setup : One physical Linux machine(myMachineName) has : WLS admin server, managed server(OAM 11G) and nodemanager.No clustered environment.
    2) nodemanager.log has the following exception when I start the oam_server1 using EM(Enterprise Manager11g):
    Mar 23 2012 1:39:55 AM> <SEVERE> <Fatal error in node manager server>
    java.net.BindException: Address already in use
    at java.net.PlainSocketImpl.socketBind(Native Method)
    at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:336)
    at java.net.ServerSocket.bind(ServerSocket.java:336)
    at javax.net.ssl.impl.SSLServerSocketImpl.bind(Unknown Source)
    at java.net.ServerSocket.<init>(ServerSocket.java:202)
    at javax.net.ssl.SSLServerSocket.<init>(SSLServerSocket.java:125)
    at javax.net.ssl.impl.SSLServerSocketImpl.<init>(Unknown Source)
    at javax.net.ssl.impl.SSLServerSocketFactoryImpl.createServerSocket(Unknown Source)
    Default port on which node manager listen for requests is localhost:5556.I have changed it to point to my machine. The port should be of WLS admin server or it should be the managed server port?
    3) I have started the NodeManager using the startNodeManager.sh script.
    4) The admin server port is 7001 and the oam managed server port is 14100.
    Any inputs on what might be wrong in the setup will be helpful.Thanks !

    By using netstat -anp|grep 5556 you can check which process on your machine is using the 5556 port.

Maybe you are looking for

  • Can Any one Tell me how to fix service battery macbook pro13.3 inch 2011 body style?

    i am getting Service battery Message . my macbook book is 13.3 2011 Body style. can anyone  tell me how to fix this ??

  • Imported Objects - IDOC

    Hello, I'm trying to find a data type that is used within another data type. The first type is an imported object IDOC:  ORDERS.ORDERS02.ZORDERS1 within this object is a data type called ZORDERS1.Z1EDPA1 and that is the data type I need to edit.  I a

  • File export and activity template

    Hi, I would like to use a new communication method that creates an xml file. So I have created a communication medium with a communication method  - file export - and a transaction type - e-mail. When I run a campaign with this communication medium,

  • Preventive Maintenance Plan Material requirement forecast

    Is there any way I get to know what whether the materials included in Tasklist of maintenance plan are  available or not , Just like forecasting or material requirement planning. Regards,

  • ATV2 Stuck in updating

    Trying to update. ATV is stuck in updating around 75% phase 1 of 2. I have a 30 Mbps internet connection. Is there anything I can do to get this moving and avoid turning it into a paperweight? Thanks.