ESS Leave's PT_ARQ_TEAMCALE_GET

Hi,
I'm working on the ESS Leave's team calendar enhancement.
In the SAP library Business Package ESS help, under the Approving Leave Requests, there is a RFC function modules called PT_ARQ_TEAMCALE_GET used for Team Calendar. A further check in ABAP also confirm that this function exist and did the team calendar functions. However, i couldnt find the related RFC adaptive Model in the ess/lea WebDynPro source code?
Where should i look for it?
Any help would be much appreciated. Thanks.
- julius

Hi Vasundhara,
<b>But Package "com.sap.xss.ser.tecl.vc. VcTeamCalendar " is no where exists in ess/lea.</b>
Just for ur info, i found this VcTeamCalendar in FPM package pcui_gp\tecl\_comp\gen\default\src\java
[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.sap.xss.ser.tecl.vc;
// 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 IPrivateVcTeamCalendarView).
// 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.text.DateFormatSymbols;
import java.util.Calendar;
import java.util.HashSet;
import java.util.Hashtable;
import java.util.List;
import java.util.Locale;
import com.sap.pcuigp.xssfpm.java.FPMRuntimeException;
import com
     .sap
     .tc
     .webdynpro
     .clientserver
     .uielib
     .graphics
     .api
     .IWDBusinessGraphics;
import com.sap.tc.webdynpro.clientserver.uielib.standard.api.IWDButton;
import com.sap.tc.webdynpro.clientserver.uielib.standard.api.IWDDropDownByIndex;
import com.sap.tc.webdynpro.clientserver.uielib.standard.api.IWDGridData;
import com.sap.tc.webdynpro.clientserver.uielib.standard.api.IWDGridLayout;
import com.sap.tc.webdynpro.clientserver.uielib.standard.api.IWDGroup;
import com.sap.tc.webdynpro.clientserver.uielib.standard.api.IWDTextView;
import com
     .sap
     .tc
     .webdynpro
     .clientserver
     .uielib
     .standard
     .api
     .IWDTransparentContainer;
import com.sap.tc.webdynpro.progmodel.api.IWDTextAccessor;
import com.sap.tc.webdynpro.progmodel.api.WDVisibility;
import com.sap.tc.webdynpro.services.sal.localization.api.WDResourceHandler;
import com.sap.tc.webdynpro.services.sal.url.api.WDURLGenerator;
import com.sap.xss.ser.tecl.java.customizing.CustomizingException;
import com.sap.xss.ser.tecl.java.customizing.GridLine;
import com.sap.xss.ser.tecl.java.customizing.Line;
import com.sap.xss.ser.tecl.java.customizing.Point;
import com.sap.xss.ser.tecl.java.customizing.SAPChartCustomizing;
import com.sap.xss.ser.tecl.java.customizing.TimeAxis;
import com.sap.xss.ser.tecl.java.customizing.ValueRange;
import com.sap.xss.ser.tecl.java.customizing.types.RGBColor;
import com.sap.xss.ser.tecl.java.fctm.FcTmDataExchangeConstants;
import com.sap.xss.ser.tecl.java.util.CalendarUtil;
import com.sap.xss.ser.tecl.vc.wdp.IPrivateVcTeamCalendarView;
//@@end
//@@begin documentation
//@@end
public class VcTeamCalendarView
Logging location.
  private static final com.sap.tc.logging.Location logger =
    com.sap.tc.logging.Location.getLocation(VcTeamCalendarView.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.sap.xss.ser.tecl.vc.wdp.IPrivateVcTeamCalendarView for more details
  private final IPrivateVcTeamCalendarView 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.sap.xss.ser.tecl.vc.wdp.IPrivateVcTeamCalendarView.IContextNode for more details.
  private final IPrivateVcTeamCalendarView.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 VcTeamCalendarView(IPrivateVcTeamCalendarView 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()
          Locale sessionLocale = WDResourceHandler.getCurrentSessionLocale();
          java.util.Calendar calendar =
               java.util.Calendar.getInstance(sessionLocale);
          //     calendar.setTime(new Date());
          // months
          int month = calendar.get(java.util.Calendar.MONTH);
          DateFormatSymbols dts = new DateFormatSymbols(sessionLocale);
          String[] months = dts.getMonths();
          IPrivateVcTeamCalendarView.IMonthsNode monthsNode =
               wdContext.nodeMonths();
          for (int i = 0; i < NUMBER_OF_MONTH; i++) {
               IPrivateVcTeamCalendarView.IMonthsElement monthElement =
                    monthsNode.createMonthsElement();
               monthsNode.addElement(monthElement);
               monthElement.setId(i + "");
               monthElement.setDescription(months<i>);
          monthsNode.setLeadSelection(month);
          // years
          int year = calendar.get(java.util.Calendar.YEAR);
          String[] years =
                    new Integer(year - 1).toString(),
                    new Integer(year).toString(),
                    new Integer(year + 1).toString()};
          IPrivateVcTeamCalendarView.IYearsNode yearsNode = wdContext.nodeYears();
          for (int i = 0; i < years.length; i++) {
               IPrivateVcTeamCalendarView.IYearsElement yearElement =
                    yearsNode.createYearsElement();
               yearsNode.addElement(yearElement);
               yearElement.setDescription(years<i>);
               yearElement.setId(years<i>);
          // selection is actual date
          yearsNode.setLeadSelection(1);
    //@@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(IPrivateVcTeamCalendarView wdThis, IPrivateVcTeamCalendarView.IContextNode wdContext, com.sap.tc.webdynpro.progmodel.api.IWDView view, boolean firstTime)
    //@@begin wdDoModifyView
          // save list box selections
          wdThis.setCurrentMonthSelection(
               wdContext.nodeMonths().getLeadSelection());
          wdThis.setCurrentYearSelection(
               wdContext.nodeYears().getLeadSelection());
          wdThis.setCurrentViewSelection(
               wdContext.nodeViews().getLeadSelection());
          wdThis.setCurrentPageSelection(
               wdContext.nodePages().getLeadSelection());
          IWDTextAccessor textAccessor =
               wdThis.wdGetAPI().getComponent().getTextAccessor();
          // selection grid
          _addSelection(wdThis, wdContext, view, firstTime, textAccessor);
          // gantt chart
          _addChartCustomizing(wdThis, wdContext, view, firstTime, textAccessor);
          // paging
          _addPageNavigation(wdThis, wdContext, view, firstTime, textAccessor);
          // handle refreshing
          _handleRefreshing(wdThis, wdContext, view, firstTime, textAccessor);
          // request button
          _addRequestButton(wdThis, wdContext, view, firstTime, textAccessor);
    //@@end
  //@@begin javadoc:getChartCustomizing()
     /** Declared method. */
  //@@end
  public com.sap.xss.ser.tecl.java.customizing.SAPChartCustomizing getChartCustomizing( )
    //@@begin getChartCustomizing()
          if (_chartCustomizing == null) {
               try {
                    String url =
                         WDURLGenerator.getResourcePath(
                              wdThis
                                   .wdGetAPI()
                                   .getComponent()
                                   .getDeployableObjectPart(),
                              CHART_CUSTOMIZIMG);
                    _chartCustomizing = new SAPChartCustomizing(url);
               } catch (Exception e) {
                    wdThis.wdGetVcTeamCalendarInterfaceController().raiseException(
                         e);
          } else {
               _chartCustomizing.init();
          return _chartCustomizing;
    //@@end
  //@@begin javadoc:getColCount()
     /** Declared method. */
  //@@end
  public int getColCount( )
    //@@begin getColCount()
          // set colcount for selection grid
          int teamView =
               wdThis.wdGetVcTeamCalendarInterfaceController().getTeamView();
          if (teamView == FcTmDataExchangeConstants.EMPLOYEE_VIEW) {
               return COLCOUNT_EMPLOYEE;
          } else {
               return COLCOUNT_MANAGER;
    //@@end
  //@@begin javadoc:hasPageGrid()
     /** Declared method. */
  //@@end
  public boolean hasPageGrid( )
    //@@begin hasPageGrid()
          return _hasPageGrid;
    //@@end
  //@@begin javadoc:setHasPageGrid()
     /** Declared method. */
  //@@end
  public void setHasPageGrid( boolean hasPageGrid )
    //@@begin setHasPageGrid()
          _hasPageGrid = hasPageGrid;
    //@@end
  //@@begin javadoc:setCurrentMonthSelection()
     /** Declared method. */
  //@@end
  public void setCurrentMonthSelection( int month )
    //@@begin setCurrentMonthSelection()
          _currentMonthSelection = month;
    //@@end
  //@@begin javadoc:setCurrentYearSelection()
     /** Declared method. */
  //@@end
  public void setCurrentYearSelection( int year )
    //@@begin setCurrentYearSelection()
          _currentYearSelection = year;
    //@@end
  //@@begin javadoc:setCurrentViewSelection()
     /** Declared method. */
  //@@end
  public void setCurrentViewSelection( int view )
    //@@begin setCurrentViewSelection()
          _currentViewSelection = view;
    //@@end
  //@@begin javadoc:setCurrentPageSelection()
     /** Declared method. */
  //@@end
  public void setCurrentPageSelection( int page )
    //@@begin setCurrentPageSelection()
          _currentPageSelection = page;
    //@@end
  //@@begin javadoc:onActionSelect(ServerEvent)
     /** Declared validating event handler. */
  //@@end
  public void onActionSelect(com.sap.tc.webdynpro.progmodel.api.IWDCustomEvent wdEvent )
    //@@begin onActionSelect(ServerEvent)
          // put month, year and teamId to context
          _addSelectionCriteriaToContext();
          // update data from backend
          try {
               wdThis.wdGetVcTeamCalendarInterfaceController().readData();
          } catch (FPMRuntimeException e) {
    //@@end
  //@@begin javadoc:onActionRefresh(ServerEvent)
     /** Declared validating event handler. */
  //@@end
  public void onActionRefresh(com.sap.tc.webdynpro.progmodel.api.IWDCustomEvent wdEvent )
    //@@begin onActionRefresh(ServerEvent)
          // reset all selections
          _resetAllSelections();
          // update data direct from database
          try {
               wdThis.wdGetVcTeamCalendarInterfaceController().refreshData();
          } catch (FPMRuntimeException e) {
    //@@end
  //@@begin javadoc:onActionFirstPage(ServerEvent)
     /** Declared validating event handler. */
  //@@end
  public void onActionFirstPage(com.sap.tc.webdynpro.progmodel.api.IWDCustomEvent wdEvent )
    //@@begin onActionFirstPage(ServerEvent)
          // reset all selections
          _resetAllSelections();
          try {
               wdThis.wdGetVcTeamCalendarInterfaceController().gotofirstPage();
          } catch (FPMRuntimeException e) {
    //@@end
  //@@begin javadoc:onActionNextPage(ServerEvent)
     /** Declared validating event handler. */
  //@@end
  public void onActionNextPage(com.sap.tc.webdynpro.progmodel.api.IWDCustomEvent wdEvent )
    //@@begin onActionNextPage(ServerEvent)
          //     reset all selections
          _resetAllSelections();
          try {
               wdThis.wdGetVcTeamCalendarInterfaceController().gotoNextPage();
          } catch (FPMRuntimeException e) {
    //@@end
  //@@begin javadoc:onActionPreviousPage(ServerEvent)
     /** Declared validating event handler. */
  //@@end
  public void onActionPreviousPage(com.sap.tc.webdynpro.progmodel.api.IWDCustomEvent wdEvent )
    //@@begin onActionPreviousPage(ServerEvent)
          //     reset all selections
          _resetAllSelections();
          try {
               wdThis.wdGetVcTeamCalendarInterfaceController().gotoPreviousPage();
          } catch (FPMRuntimeException e) {
    //@@end
  //@@begin javadoc:onActionLastPage(ServerEvent)
     /** Declared validating event handler. */
  //@@end
  public void onActionLastPage(com.sap.tc.webdynpro.progmodel.api.IWDCustomEvent wdEvent )
    //@@begin onActionLastPage(ServerEvent)
          //     reset all selections
          _resetAllSelections();
          try {
               wdThis.wdGetVcTeamCalendarInterfaceController().gotoLastPage();
          } catch (FPMRuntimeException e) {
    //@@end
  //@@begin javadoc:onActionGotoPage(ServerEvent)
     /** Declared validating event handler. */
  //@@end
  public void onActionGotoPage(com.sap.tc.webdynpro.progmodel.api.IWDCustomEvent wdEvent )
    //@@begin onActionGotoPage(ServerEvent)
          //     reset header selection
          _resetHeaderSelection();
          try {
               wdThis.wdGetVcTeamCalendarInterfaceController().gotoPage();
          } catch (FPMRuntimeException e) {
    //@@end
  //@@begin javadoc:onActionNewRequest(ServerEvent)
     /** Declared validating event handler. */
  //@@end
  public void onActionNewRequest(com.sap.tc.webdynpro.progmodel.api.IWDCustomEvent wdEvent )
    //@@begin onActionNewRequest(ServerEvent)
          // reset all selections
          _resetAllSelections();
          wdThis.wdGetVcTeamCalendarInterfaceController().raiseNewRequestEvent();
    //@@end
  //@@begin javadoc:onActionClick(ServerEvent)
     /** Declared validating event handler. */
  //@@end
  public void onActionClick(com.sap.tc.webdynpro.progmodel.api.IWDCustomEvent wdEvent, java.lang.String eventId )
    //@@begin onActionClick(ServerEvent)
          // ignore other selections
          _resetAllSelections();
          // read corresponding request ids
          Hashtable requestIds =
               wdContext.nodeRequestIds().currentRequestIdsElement().getIds();
          List ids = (List) requestIds.get(eventId);
          wdThis.wdGetVcTeamCalendarInterfaceController().setSelectedRequestIds(
               ids);
    //@@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
     private static void _addPageNavigation(
          IPrivateVcTeamCalendarView wdThis,
          IPrivateVcTeamCalendarView.IContextNode wdContext,
          com.sap.tc.webdynpro.progmodel.api.IWDView view,
          boolean firstTime,
          IWDTextAccessor textAccessor) {
          // read context     
          IPrivateVcTeamCalendarView.IPageInfoElement pageInfo =
               wdContext.nodePageInfo().currentPageInfoElement();
          int currentPageNumber = pageInfo.getCurrentPageNumber();
          int lastPageNumber = pageInfo.getLastPageNumber();
          // create page grid if neccessary
          if (lastPageNumber > 1 && !wdThis.hasPageGrid()) {
               IWDTransparentContainer bottomGrid =
                    (IWDTransparentContainer) view.getElement(BOTTOM_GRID);
               IWDTransparentContainer pageGrid =
                    (IWDTransparentContainer) view.createElement(
                         IWDTransparentContainer.class,
                         PAGE_GRID);
               bottomGrid.addChild(pageGrid, 0);
               IWDGridLayout gridLayout =
                    (IWDGridLayout) pageGrid.createLayout(IWDGridLayout.class);
               gridLayout.setColCount(PAGE_COLCOUNT);
               gridLayout.setStretchedHorizontally(false);
               gridLayout.setStretchedVertically(false);
               IWDButton firstPage =
                    (IWDButton) view.createElement(IWDButton.class, FIRST_PAGE);
               pageGrid.addChild(firstPage);
               firstPage.setOnAction(wdThis.wdGetFirstPageAction());
               firstPage.setText("");
               firstPage.setTooltip(textAccessor.getText("FIRST_PAGE"));
               IWDButton previousPage =
                    (IWDButton) view.createElement(IWDButton.class, PREVIOUS_PAGE);
               pageGrid.addChild(previousPage);
               previousPage.setOnAction(wdThis.wdGetPreviousPageAction());
               previousPage.setText("");
               previousPage.setTooltip(textAccessor.getText("PREVIOUS_PAGE"));
               IWDGridData gridData =
                    (IWDGridData) previousPage.createLayoutData(IWDGridData.class);
               gridData.setPaddingLeft(PADDING);
               IWDButton nextPage =
                    (IWDButton) view.createElement(IWDButton.class, NEXT_PAGE);
               pageGrid.addChild(nextPage);
               nextPage.setOnAction(wdThis.wdGetNextPageAction());
               nextPage.setText("");
               nextPage.setTooltip(textAccessor.getText("NEXT_PAGE"));
               gridData =
                    (IWDGridData) nextPage.createLayoutData(IWDGridData.class);
               gridData.setPaddingLeft(PADDING);
               IWDButton lastPage =
                    (IWDButton) view.createElement(IWDButton.class, LAST_PAGE);
               pageGrid.addChild(lastPage);
               lastPage.setOnAction(wdThis.wdGetLastPageAction());
               lastPage.setText("");
               lastPage.setTooltip(textAccessor.getText("LAST_PAGE"));
               gridData =
                    (IWDGridData) lastPage.createLayoutData(IWDGridData.class);
               gridData.setPaddingLeft(PADDING);
               IWDTextView tv =
                    (IWDTextView) view.createElement(IWDTextView.class, PAGE_INFO);
               pageGrid.addChild(tv);
               gridData = (IWDGridData) tv.createLayoutData(IWDGridData.class);
               gridData.setPaddingLeft(PADDING);
               tv.setText(
                    textAccessor.getText("PAGE")
                         + " "
                         + currentPageNumber
                         + "/"
                         + lastPageNumber);
               tv = (IWDTextView) view.createElement(IWDTextView.class, GOTO_PAGE);
               pageGrid.addChild(tv);
               gridData = (IWDGridData) tv.createLayoutData(IWDGridData.class);
               gridData.setPaddingLeft(LONG_PADDING);
               tv.setText(textAccessor.getText("GOTO"));
               IWDDropDownByIndex pageInput =
                    (IWDDropDownByIndex) view.createElement(
                         IWDDropDownByIndex.class,
                         PAGE_INPUT);
               pageGrid.addChild(pageInput);
               pageInput.bindTexts(
                    wdContext.nodePages().getNodeInfo().getAttribute(
                         ATTRIBUTE_PAGEDESCRIPTION));
               pageInput.setOnSelect(wdThis.wdGetGotoPageAction());
               gridData =
                    (IWDGridData) pageInput.createLayoutData(IWDGridData.class);
               gridData.setPaddingLeft(PADDING);
               wdThis.setHasPageGrid(true);
          // hide the page grid if there is only one page
          if (wdThis.hasPageGrid() && lastPageNumber <= 1) {
               IWDTransparentContainer pageGrid =
                    (IWDTransparentContainer) view.getElement(PAGE_GRID);
               pageGrid.setVisible(WDVisibility.NONE);
          // set the correct image urls
          if (wdThis.hasPageGrid() && lastPageNumber > 1) {
               IWDTransparentContainer pageGrid =
                    (IWDTransparentContainer) view.getElement(PAGE_GRID);
               if (!pageGrid.getVisible().equals(WDVisibility.VISIBLE))
                    pageGrid.setVisible(WDVisibility.VISIBLE);
               IWDButton firstPage = (IWDButton) view.getElement(FIRST_PAGE);
               IWDButton previousPage = (IWDButton) view.getElement(PREVIOUS_PAGE);
               IWDButton nextPage = (IWDButton) view.getElement(NEXT_PAGE);
               IWDButton lastPage = (IWDButton) view.getElement(LAST_PAGE);
               IWDTextView pageText = (IWDTextView) view.getElement(PAGE_INFO);
               if (currentPageNumber == 1) {
                    // first page: disable first/previous page
                    firstPage.setImageSource(FIRST_PAGE_IMAGE_DISABLED);
                    firstPage.setEnabled(false);
                    previousPage.setImageSource(PREVIOUS_PAGE_IMAGE_DISABLED);
                    previousPage.setEnabled(false);
                    nextPage.setImageSource(NEXT_PAGE_IMAGE);
                    nextPage.setEnabled(true);
                    lastPage.setImageSource(LAST_PAGE_IMAGE);
                    lastPage.setEnabled(true);
               } else if (currentPageNumber == lastPageNumber) {
                    // last page: disable next/last page
                    firstPage.setImageSource(FIRST_PAGE_IMAGE);
                    firstPage.setEnabled(true);
                    previousPage.setImageSource(PREVIOUS_PAGE_IMAGE);
                    previousPage.setEnabled(true);
                    nextPage.setImageSource(NEXT_PAGE_IMAGE_DISABLED);
                    nextPage.setEnabled(false);
                    lastPage.setImageSource(LAST_PAGE_IMAGE_DISABLED);
                    lastPage.setEnabled(false);
               } else {
                    firstPage.setImageSource(FIRST_PAGE_IMAGE);
                    firstPage.setEnabled(true);
                    previousPage.setImageSource(PREVIOUS_PAGE_IMAGE);
                    previousPage.setEnabled(true);
                    nextPage.setImageSource(NEXT_PAGE_IMAGE);
                    nextPage.setEnabled(true);
                    lastPage.setImageSource(LAST_PAGE_IMAGE);
                    lastPage.setEnabled(true);
               pageText.setText(
                    textAccessor.getText("PAGE")
                         + " "
                         + currentPageNumber
                         + "/"
                         + lastPageNumber);
     private static void _addChartCustomizing(
          IPrivateVcTeamCalendarView wdThis,
          IPrivateVcTeamCalendarView.IContextNode wdContext,
          com.sap.tc.webdynpro.progmodel.api.IWDView view,
          boolean firstTime,
          IWDTextAccessor textAccessor) {
          IWDBusinessGraphics bg =
               (IWDBusinessGraphics) view.getElement(TEAM_CALENDAR_VIEW);
          IWDTextView tv = (IWDTextView) view.getElement(TEXTVIEW_MESSAGE);
          if (wdContext.nodeCategory().size() == 0) {
               // set chart and the bottom grid to invisible
               bg.setVisible(WDVisibility.NONE);
               IWDTransparentContainer bottomGrid =
                    (IWDTransparentContainer) view.getElement(BOTTOM_GRID);
               bottomGrid.setVisible(WDVisibility.NONE);
               // add textview with message
               if (tv == null) {
                    IWDGroup group = (IWDGroup) view.getElement(GROUP);
                    tv =
                         (IWDTextView) view.createElement(
                              IWDTextView.class,
                              TEXTVIEW_MESSAGE);
                    group.addChild(tv);
                    tv.setText(textAccessor.getText("EMPTY_MESSAGE"));
               } else {
                    tv.setVisible(WDVisibility.VISIBLE);
          } else {
               // make the chart and bottom grid visible
               bg.setVisible(WDVisibility.VISIBLE);
               IWDTransparentContainer bottomGrid =
                    (IWDTransparentContainer) view.getElement(BOTTOM_GRID);
               bottomGrid.setVisible(WDVisibility.VISIBLE);
               // remove empty message if neccessary
               if (tv != null)
                    tv.setVisible(WDVisibility.NONE);
               // chart customizing     
               SAPChartCustomizing chartCustomizing = wdThis.getChartCustomizing();
               String customizing = null;
               // handle language
               Locale locale = WDResourceHandler.getCurrentSessionLocale();
               chartCustomizing.getGlobalSettings().setLanguage(
                    locale.getLanguage());
               // handle time axis
               TimeAxis timeAxis = chartCustomizing.getTimeAxis();
               String yearString =
                    wdContext.nodeYears().currentYearsElement().getId();
               String monthString =
                    wdContext.nodeMonths().currentMonthsElement().getId();
               int year = Integer.parseInt(yearString);
               int month = Integer.parseInt(monthString);
               int day = 1;
               CalendarUtil calendarUtil = new CalendarUtil();
               timeAxis.setMinimum(
                    calendarUtil.addLeadingZeroes(yearString, 4)
                         + calendarUtil.addLeadingZeroes(
                              new Integer(month + 1).toString(),
                              2)
                         + FIRST_DAY_OF_MONTH);
               Calendar calendar = Calendar.getInstance();
               calendar.set(year, month, day);
               calendar.add(Calendar.MONTH, 1);
               timeAxis.setMaximum(
                    calendarUtil.convertToString(calendar.getTime()));
               Line line = timeAxis.getLine();
               GridLine gridLine = timeAxis.getGridLine();
               IPrivateVcTeamCalendarView.IWeekDaysNode weekDaysNode =
                    wdContext.nodeWeekDays();
               for (int i = 0; i < weekDaysNode.size(); i++) {
                    IPrivateVcTeamCalendarView.IWeekDaysElement weekDaysElement =
                         weekDaysNode.getWeekDaysElementAt(i);
                    ValueRange valueRange =
                         i == 0 ? line.getDefaultValueRange() : line.addValueRange();
                    valueRange.setStartValue(weekDaysElement.getStartDate());
                    valueRange.setEndValue(weekDaysElement.getEndDate());
                    valueRange.setId(WEEKDAY_PREFIX + i);
                    valueRange.setVisibility(true);
                    valueRange.setColor(
                         new RGBColor(
                              weekDaysElement.getColorRed(),
                              weekDaysElement.getColorGreen(),
                              weekDaysElement.getColorBlue()));
                    valueRange =
                         i == 0
                              ? gridLine.getDefaultValueRange()
                              : gridLine.addValueRange();
                    valueRange.setStartValue(weekDaysElement.getStartDate());
                    valueRange.setEndValue(weekDaysElement.getEndDate());
                    valueRange.setId(WEEKDAY_PREFIX + i);
                    valueRange.setVisibility(true);
                    valueRange.setColor(
                         new RGBColor(
                              weekDaysElement.getColorRed(),
                              weekDaysElement.getColorGreen(),
                              weekDaysElement.getColorBlue()));
               // handle point customizing
               IPrivateVcTeamCalendarView.ILegendNode legendNode =
                    wdContext.nodeLegend();
               for (int i = 0; i < legendNode.size(); i++) {
                    IPrivateVcTeamCalendarView.ILegendElement legendElement =
                         legendNode.getLegendElementAt(i);
                    Point point =
                         i == 0
                              ? chartCustomizing.getDefaultPoint()
                              : chartCustomizing.addPoint();
                    point.setId(legendElement.getId());
                    point.setCaption(legendElement.getText());
                    point.setColor(
                         new RGBColor(
                              legendElement.getColorRed(),
                              legendElement.getColorGreen(),
                              legendElement.getColorBlue()));
                    // customer entrys are fully transparent          
                    if (legendElement.getText() == null
                         || legendElement.getText().trim().equals("")) {
                         point.setTransparency(TRANSPARENCY_FULL);
               try {
                    customizing = chartCustomizing.serialize();
               } catch (CustomizingException e) {
                    wdThis.wdGetVcTeamCalendarInterfaceController().raiseException(
                         e);
               bg.setDirectCustomizing(customizing);
               bg.mappingOfOnAction().addSourceMapping(SOURCE_ID, TARGET_ID);
               bg.setWidth(CHART_WIDTH);
               // set height according the number of rows
               // minimum chart height was determined experimentally. If the height
               // is lower than the minimum the calendar header will not be shown.
               int rows = wdContext.nodeCategory().size();
               int chartHeight = CHART_HEADER_HEIGHT + rows * CHART_ROW_HEIGHT;
               chartHeight =
                    chartHeight < CHART_MINIMUM_HEIGHT
                         ? CHART_MINIMUM_HEIGHT
                         : chartHeight;
               bg.setHeight(chartHeight);
     private static void _addSelection(
          IPrivateVcTeamCalendarView wdThis,
          IPrivateVcTeamCalendarView.IContextNode wdContext,
          com.sap.tc.webdynpro.progmodel.api.IWDView view,
          boolean firstTime,
          IWDTextAccessor textAccessor) {
          HashSet commandTable = wdContext.currentCommandsElement().getTable();
          IWDTransparentContainer selectionGrid =
               (IWDTransparentContainer) view.getElement(SELECTION_GRID);
          if (commandTable.contains(COMMAND_UPDATE)) {
               if (selectionGrid == null) {
                    IWDGroup group = (IWDGroup) view.getElement(GROUP);
                    selectionGrid =
                         (IWDTransparentContainer) view.createElement(
                              IWDTransparentContainer.class,
                              SELECTION_GRID);
                    group.addChild(selectionGrid, 0);
                    IWDGridLayout gridLayout =
                         (IWDGridLayout) selectionGrid.createLayout(
                              IWDGridLayout.class);
                    gridLayout.setColCount(wdThis.getColCount());
                    gridLayout.setStretchedHorizontally(false);
                    gridLayout.setStretchedVertically(false);
                    IWDGridData selectionGridData =
                         (IWDGridData) selectionGrid.createLayoutData(
                              IWDGridData.class);
                    selectionGridData.setPaddingBottom(PADDING);
                    IWDTextView tv11 =
                         (IWDTextView) view.createElement(
                              IWDTextView.class,
                              TEXTVIEW_11);
                    selectionGrid.addChild(tv11);
                    tv11.setText(textAccessor.getText("ATTENDANCE_STATUS"));
                    if (wdThis
                         .wdGetVcTeamCalendarInterfaceController()
                         .getTeamView()
                         == FcTmDataExchangeConstants.MANAGER_VIEW) {
                         IWDDropDownByIndex views =
                              (IWDDropDownByIndex) view.createElement(
                                   IWDDropDownByIndex.class,
                                   VIEWS);
                         selectionGrid.addChild(views);
                         views.bindTexts(
                              wdContext.nodeViews().getNodeInfo().getAttribute(
                                   ATTRIBUTE_DESCRIPTION));
                         IWDGridData gridData =
                              (IWDGridData) views.createLayoutData(IWDGridData.class);
                         gridData.setPaddingLeft(PADDING);
                         IWDTextView tv13 =
                              (IWDTextView) view.createElement(
                                   IWDTextView.class,
                                   TEXTVIEW_13);
                         selectionGrid.addChild(tv13);
                         gridData =
                              (IWDGridData) tv13.createLayoutData(IWDGridData.class);
                         gridData.setPaddingLeft(PADDING);
                         tv13.setText(textAccessor.getText("FOR"));
                    IWDDropDownByIndex months =
                         (IWDDropDownByIndex) view.createElement(
                              IWDDropDownByIndex.class,
                              MONTHS);
                    selectionGrid.addChild(months);
                    IWDGridData gridData =
                         (IWDGridData) months.createLayoutData(IWDGridData.class);
                    gridData.setPaddingLeft(PADDING);
                    months.bindTexts(
                         wdContext.nodeMonths().getNodeInfo().getAttribute(
                              ATTRIBUTE_DESCRIPTION));
                    IWDTextView tv15 =
                         (IWDTextView) view.createElement(
                              IWDTextView.class,
                              TEXTVIEW_15);
                    selectionGrid.addChild(tv15);
                    gridData =
                         (IWDGridData) tv15.createLayoutData(IWDGridData.class);
                    gridData.setPaddingLeft(PADDING);
                    tv15.setText(textAccessor.getText("IN"));
                    IWDDropDownByIndex years =
                         (IWDDropDownByIndex) view.createElement(
                              IWDDropDownByIndex.class,
                              YEARS);
                    selectionGrid.addChild(years);
                    gridData =
                         (IWDGridData) years.createLayoutData(IWDGridData.class);
                    gridData.setPaddingLeft(PADDING);
                    years.bindTexts(
                         wdContext.nodeYears().getNodeInfo().getAttribute(
                              ATTRIBUTE_DESCRIPTION));
                    IWDButton button =
                         (IWDButton) view.createElement(IWDButton.class, BUTTON_GO);
                    selectionGrid.addChild(button);
                    gridData =
                         (IWDGridData) button.createLayoutData(IWDGridData.class);
                    gridData.setPaddingLeft(PADDING);
                    button.setText(textAccessor.getText("GO"));
                    if (wdThis
                         .wdGetVcTeamCalendarInterfaceController()
                         .getTeamView()
                         == FcTmDataExchangeConstants.MANAGER_VIEW)
                         button.setTooltip(
                              textAccessor.getText("CALENDAR_SELECTION_MANAGER"));
                    else
                         button.setTooltip(
                              textAccessor.getText("CALENDAR_SELECTION_EMPLOYEE"));
                    button.setOnAction(wdThis.wdGetSelectAction());
          } else {
               if (selectionGrid != null
                    && !selectionGrid.getVisible().equals(WDVisibility.NONE)) {
                    selectionGrid.setVisible(WDVisibility.NONE);
     private static void _addRequestButton(
          IPrivateVcTeamCalendarView wdThis,
          IPrivateVcTeamCalendarView.IContextNode wdContext,
          com.sap.tc.webdynpro.progmodel.api.IWDView view,
          boolean firstTime,
          IWDTextAccessor textAccessor) {
          IWDButton requestButton = (IWDButton) view.getElement(REQUEST_BUTTON);
          if (wdThis
               .wdGetVcTeamCalendarInterfaceController()
               .getRequestButtonVisibility()
               == FcTmDataExchangeConstants.REQUEST_BUTTON_VISIBILITY_VISIBLE) {
               if (requestButton == null) {
                    IWDTransparentContainer rootGrid = (IWDTransparentContainer) view.getElement(ROOT_CONTAINER);
                    requestButton =
                         (IWDButton) view.createElement(
                              IWDButton.class,
                              REQUEST_BUTTON);
                    rootGrid.addChild(requestButton);
                    IWDGridData gridData =
                         (IWDGridData) requestButton.createLayoutData(
                              IWDGridData.class);
                    gridData.setPaddingTop(LONG_PADDING);
                    requestButton.setText(textAccessor.getText("NEW_REQUEST"));
                    requestButton.setTooltip(textAccessor.getText("NEW_REQUEST"));
                    requestButton.setOnAction(wdThis.wdGetNewRequestAction());
          } else {
               if (requestButton != null
                    && !requestButton.getVisible().equals(WDVisibility.NONE)) {
                    requestButton.setVisible(WDVisibility.NONE);
     

Similar Messages

  • You are not a receiver of the work item in ESS Leave

    Hi,
    We are using standard ESS leave application in our portal, where employee can raise leave and his manager can approve/reject his leave. But I want in case manager rejects the leave, the rejected leave should not come into MSS UWL of employee, we will send a mail to employee and he can again login to ESS leave application and where he will see the rejected leave and he can re apply/change/delete  the rejected leave. We do not want rejected leave to come in UWL of employee as a work item.
    As of now when manager rejects the leave rejected leave of an employee , it is coming in UWL of the employee which we do not want, so what we did, we went to standard leave work flow template WS12300111, in that we double clicked on Task (TS12300116, Process Request by Employee) and in that  we clicked on agent assignment icon and than we clicked on attribute and we selected General forwarding not allowed radio button, by default general task radio button was selected.
    After selecting General forwarding not allowed radio button, even when manager rejects employee leave, rejected leave is not coming in UWL of employee which we want exactly, but another error is coming when employee goes to ESS leave application again and change or delete this rejected leave he is getting the error You are not a receiver of the work item .
    But if we select general task radio button in agent assignment in work flow , than eveything is working fine but employee is getting rejected leave in his UWL, that we do not want  at all, so why after selecting different radio button this error is coming ?
    Why employee is getting this error, why employee can not reapply/change his rejected leave. Is this portal error OR workflow error OR HR configuration error and  what is the solution for this..

    If you need this option then you need to change the WF Task.
    General Forwarding Not Allowed
    This indicator enables you to determine that work items for this task can only be forwarded to users who are agents for the task.
    If this indicator is not set, a work item for this task can be forwarded to all users.
    The best way to take care of User
    Forwaring authorization is the Task Classification (PFTC -> Additional
    Data -> Classification). Classify tasks with General Forwarding Not
    allowed, will give you the oppotunity to let the user allow to forward
    items JUST to the Possible Agents Assigned to the task
    (Additional Data -> Agent Assingment -> Maintain)...
    Clear that everything depends on How you have developed your workflows
    definitions. In that cases  the best think to do is
    create Different Tasks definition (TSxxxxxx) and let they start
    depending on Company Code (That can be driven via Conditions steps in
    the workjflow definition, for example). This will allow you to define
    Just the responsible Agents per each task, depending on the Companny
    Code. This definitively Resolve the Forwarding frelated Question.

  • ESS Leave Request - Error while creating a leave record

    Hi Friends,
      Some of the ESS leave request(not workflow) has gone into error when the system tryies to create a leave record in background. I can view these error request using the report RPTARQDBVIEW. This happens when the background program(PTARQPOST) tries to create a leave record. In some cases  the status of the leave request is set to error(the status attribute of the container element(Req) has the value Error),but we are not able to find what is actual error.Is there any log where we can check what is the problem? Please advice.

    May be
    Internally the pernr might not be locked or some one may be maintaing the pernr for whom you are trying to post.

  • How to add new fields for ESS leave request

    Hi friends,
    Can u please help me with my issue.......
    My issue is to add new fields in ess/leave request i.e...
    The component needs to be Checked-out through Net Weaver Development Infrastructure, make the necessary enhancements, and finally Check-it-in back to NWDI.
    Custom Function Modules are to be invoked apart from the standard ones that are already available in the Leave Request component – ess~lea inorder to accommodate the extra absence-type logic.
    can u please sujjest me where should i make changes in the given 14 components
    means in which view i have to add these fields.................
    Regards
    Rajesh

    Hi Rajesh ,
    Check whether u are able to find the ess dc's under inactive dc's in webdynpro
    If ur not able to find it then Check the landscape configurator in CMS and also the transport studio and confirm that ess packages are imported fine
    Ganesh ,
               for creating a DTR client u need to open the DTR perspective right click and "create clients" before that go to windows ->preferences of the NWDS and check the development infrastructure URL is gven correctly ...try pinging it once...
    Do check ur SLD is up or not!!!
    Regards
    Krishna
    Message was edited by:
            krishnagopal Mukundan

  • Add a custom button in Ess Leave Request

    Hi Gurus,
    I have requirement, add a custom button in a Standard ESS leave request (Webdynpro Java). When i click the the button it has to call popview(custom view). I am new to webdynpro Java, If possible explain me with step by step preocedures(if possible with screen shots).
    Thanks,
    Mohammed.
    Moderator message: this is the wrong forum, please have a look in the "Web Dynpro Java" forum, but always search for available information before posting.
    Edited by: Thomas Zloch on Jun 17, 2011 9:54 AM

    Hi Gurus,
    I have requirement, add a custom button in a Standard ESS leave request (Webdynpro Java). When i click the the button it has to call popview(custom view). I am new to webdynpro Java, If possible explain me with step by step preocedures(if possible with screen shots).
    Thanks,
    Mohammed.
    Moderator message: this is the wrong forum, please have a look in the "Web Dynpro Java" forum, but always search for available information before posting.
    Edited by: Thomas Zloch on Jun 17, 2011 9:54 AM

  • Problem with ESS Leave Request Workflow

    We had configured ESS Leave request, which is working fine with Leave request approval.
    1)     Cancellation of Leave Request using the workflow WS12400005.  
                                  Workflow is not getting triggered when we try to delete the leave request.
    2)     Quota Overview
    While displaying the Casual Leaves (CL) I need to deduct the Paternity leaves (PL) also.
         Remaining CLu2019s = quota CLu2019s u2013 ( used CLu2019s + used PLu2019s).

    hi kishore. how did you resolve the issue of workflow not being triggered?

  • ESS leave request, additional field

    I need to add three additional fields in ESS leave request (HR). I was told i can do that using web dynpro. I like to know how can I do it.
    Thanks

    hi Jeroen,
    Can u please help me with my issue.......
    My issue is to add new fields in ess/leave request i.e...
    The component needs to be Checked-out through Net Weaver Development Infrastructure, make the necessary enhancements, and finally Check-it-in back to NWDI.
    Custom Function Modules are to be invoked apart from the standard ones that are already available in the Leave Request component – ess~lea inorder to accommodate the extra absence-type logic.
    can u please sujjest me where should i make changes in the given 14 components
    means in which view i have to add these fields.................

  • ESS Leave Application - Custom Field - Validation

    Hi,
    We have added two fields that are being shown in ESS Leave. Fields which are added are KEPAU and EXPAU through SPRO.
    We want to do validation on these fields.
    KEPAU is Annual Ticket and EXPAU is Vacation Allowance
    We have implemented BADI PT_ABS_REQ to do validation but in this BADI these fields are not being populated.
    Anyone knows that why these both fields are not appearing in BADI?
    Thanks,

    You need to check in  PT_ARQ_REQUEST_CHECK.
    and also read here
    http://wiki.sdn.sap.com/wiki/display/ERPHCM/ValidationsforESSLeaverequest

  • How to craete a 'annual leave 1/2day-AM'  in ESS  leave request

    Hi ,
    I have created 2001- subtype 670 : "annual leave 1/2day-AM".
    I wanted to see "annual leave 1/2day-AM" in the ESS leave request list down box ( already we have few ) ... please let me know what are the steps i need to follow ...
    thanks,
    sunitha
    Edited by: Sunitha Reddy on Sep 19, 2008 9:27 AM

    Hi,
    Your ABAPer will be the best person to let you know the table name or some experts here who have come across this situation will guide you. Also check where other types of leaves are populated in SAP and your new value is there or not.
    Thanks,
    Preetham

  • Enhancement in ESS Leave Request

    Hi Gurus,
    I am new to webdynpro Java. I have a requirement to add a custom button in a Standard ESS leave request (Webdynpro Java) view. When i click the the button it has to call popview(not sure is it possible to call a webdynpro abap view).  If possible explain me with step by step preocedures(with screen shots).
    Thanks,
    Mohammed

    Hi,
              Good, you are now able to do modification in Standard ESS package. If you want to navigate to another WDABAP iView from your WDJAVA application, you can use the below code on some button or link action to navigate to another iView.
    Check this link:-
    http://help.sap.com/javadocs/NW04/current/wd/com/sap/tc/webdynpro/clientserver/navigation/api/WDPortalNavigation.html
    public void onActionnavigateToToAbapiView(com.sap.tc.webdynpro.progmodel.api.IWDCustomEvent wdEvent )
        //@@begin onActionnavigateToAbapiView(ServerEvent)
         try
                        WDPortalNavigation.navigateAbsolute(
                         "ROLES://portal_content/com.demo.DEMO_PCD/com.demo.ESS_SAP/com.demo.iview_ESS/demo.com.java_demo_com_demodc_demo_com_DemoApp",
                         WDPortalNavigationMode.SHOW_INPLACE,
                         "Window Title", WDPortalNavigationHistoryMode.NO_DUPLICATIONS,
                         "Title",
                         "",//ContextURL
                         "param1=10&param2=portalID");          
         catch (Exception e)
              e.printStackTrace();
    You will find your WDAbap PCD location in Content Admin, copy it and repace PCD: with ROLES at start.
    also you can pass parameters between 2-iViews, in the above code snippet you can find that.
    the above code needs to be written in your source iView so as to navigate to destination iView which is mentioned using its PCD location.
    to retrieve the parameters you need to check ABAP syntax to retrieve URL parameters.
    In java we retreive using below syntax:-
    String param1 = WDProtocolAdapter.getProtocolAdapter().getRequestObject().getParameter("param1");
    String loginID = WDProtocolAdapter.getProtocolAdapter().getRequestObject().getParameter("param2");
    to show it as a Pop-Up you need to find some work-around to achieve it, If i get time will do it and let you know, but if you find something for that do share.
    Regards
    Tushar Shinde.

  • ESS leave request two-level workflow

    Hi All,
    We have a requirement for a two-level ESS leave workflow and need to know what would be the approach which can be taken to modify the standard 12300111 workflow.
    The status should be as follows
    STATUS                                                STATUS                                                  STATUS
    (SENT)                      Approves              (PENDING)                 Approves                (APPROVED)
    First Level approver -
    >   Second level approver -
    >
    As we can see, we need to add a new status namely, PENDING to the backend PTREQ tables. Can anyone please provide some kind of leads/info on this.
    Thanks and Regards
    Reshma

    Hi,
    You can take a copy of that standard workflow 12300111 and build your logic accordingly.and give that workflow number in SPRO settings.
    Kind Regards
    Hari SankarM

  • Error after second level approval in ESS leave request

    Hi Experts
    I am using custom workflow for Ess Leave request process which is copied from WS21500001.
    I have added custom class methods to change status from approved to sent.
    Then another method i have set next appovaer.
    The problem i m facing is that I am getting an error on portal after second approval approves the request.
    i.e Field syomol has not been assigned yet.
    from st22 i found its generating from
    Include LPT_ARQ_REQUEST_UIAF06  - Form   execute_approver_update
    By debugging i found that Its not getting next approval with status T as there is only first approval with status 'A'
    This results in unassigned field symbol. and then error.
    Please help me resolve this issue.
    Please confirm why next approver is not found in method.

    Hi All
    Thanks for your reply.
    I checked why it was giving a dump.
    This execute_approver_update subroutine takes approval data from table ptreq_approver .
    I filled this with resp actor id after request is approved and status is changed to sent.
    For every emp its unique actor id is saved in ptreq_actor table agaist his pernr.
       SELECT SINGLE actor_id FROM PTREQ_ACTOR INTO actor_id WHERE objid = nextApprover_pernr.
        wa_appr-mandt = sy-mandt.
        wa_appr-request_id = Request_ID. "Req.requestID ( from Workflow )
        wa_appr-version_no = version_no. "Req.Version ( from Workflow )
        wa_appr-seqnr = seqnr. "Same as version no but in char
        wa_appr-approver_ins = actor_id. "Employee actor id from ptreq_actor
        wa_appr-status = 'T'. "Manual
        append wa_appr to it_appr.
        INSERT PTREQ_APPROVER FROM TABLE it_appr .
        commit work and wait.
    This resolved my issue.
    Thanks

  • Ess Leave  Request -Change in Time calculation without changing work schedu

    Hi All,
    We are implementing a ESS Leave Request in EP6 with backend HR ECC5.0.
    The time calculation is taken  from the Work schedule rule in
    HR backend which is 24*7.
    For example if the leave taken is for 2 days-systems calculates as 24*2=48 hrs
    but in actual the requirement is to calculate 2*8 =16 hrs without changing
    the Work Schedule in 2001 infotype in HR Backend.
    Can we do this change through
    1.Validation in portal itself
    2.Changing the RFC PT_ARQ_REQUEST_CHECK
    3.Changing the Absence Types
    Regards
    Anand.

    Hello,
    Please use:
    programming
    but without the spaces before and after } and {
    Testing:
    programming
    regards
    Rick Bakker
    Hanabi Technology

  • FMLA relevant absence Message in ESS Leave Request

    Hi Experts,
    I am on ERP2004, EP6.0SP20.
    I have configured the ESS Leave Request and activated the workflow. When an employee submits a leave request, he sees a message "the requested absence type is an FMLA relevant absence". However, the requested absence type is not a FMLA relevant absence.
    I would like to stop this message coming on to portal. I am not sure whether it is related to Time Management configuration on absence quotas etc. Has any body seen this message?
    your help will be greatly appreciated!

    Messages can be hided in Leave Request through configuration on R/3 side. NWDI customization is not necessary.

  • Ess/Leave Workflow Still In Process(In a specific snario when Escalated )

    Hi Guru's,
    I have a problem with Ess/Leave workflow.
    when the leave is applied from the portal which is triggering workflow and reching to the right agent and when the leave is withdrawn , then which is completing the workflow which is fine.
    Recently i have added Escalation functionality using deadline monitoring which is working fine.
    But when the leave request is escalated and withdrawn from the initiator is not changing the status of the workflow to be completed and still continuing in the Still In Process.
    To complete the workflow ,there is an wait event after the approval process which is waiting for the status change for posted or withdrawn or error and working fine when the work item stayed with the direct manager and no escallation is happend.
    When Escalation happend and the leave is withdrawn the status is changing in the workflow container to withdrawn but the event is not firing in the wokflow which needs to be triggered to complete the workflow which is not happening and the work item keeps on escalating to the other managers.
    Please help me ASAP and let me know if anybody not clear about anything.
    Regards,
    Raj.
    Edited by: rajasekhar bhupathyraju on Sep 6, 2010 11:46 AM

    Helo Every one,
    thanks for your inputs,
    I m not sure that wether i explained properly or not.But i will try to explain more elobrately.
    My leave request workflow is Zworkflow which is working fine in the production.Recently in the last month business request for escalation of leave request when direct manager not approved with in the time frame.
    So i added latest end to the Approve task which uses the ABAP class CL_PT_REQ_WF_ATTRIBS and Method Dummy.
    So the task has 3 outcomes one is deadline reached,process obsolete and processed. and after that i added a loop which will create new work item when escalated.
    When i apply a leave on the portal the workflow is triggering and stopping in the Approve step in the log which is fine and when i with withdrawn the leave without any escallation it is taking one of the brach Processed which i mentioned above and reaching to the event and completing the workflow which is 100%.
    When the direct manager doe'nt approve then it is escallating to the next level manager which is fine.Once the escallation happen and the leave is withdrawn by the Employee(Initiator) then it is not taking any of the 3 paths which i mentioned above and not reacting at all.But the status in the workflow container REQ.STATUS is changing to "WITHDRAWN".
    The same thing is happening for the APPROVE once escallation happens.It keeps on escallating even the leave is approved and posted in the database.
    Please reply me if you are not clear.
    Thanks,
    Raja.

Maybe you are looking for

  • CIDX -XI-IDOC adapter scenario???????? urgent?? pls help

    Hi Frnds, I want to develop scenario between  CIDXXIIDOC.. if any one having documentation about CIDX any scenario withs screene shots share to me... share any useful links, what are challenges i wil face while developing CIDX adapter scenario anyone

  • Inter servlet  communication......is it  possible ?

    here i have posted "Inter servlet communication......is it possible ?" have u come across this ? http://forum.java.sun.com/thread.jspa?threadID=588996 thank you

  • SD TV screen does not "fill" entirely

    I just got another "HD-DVR" box and I cannot setup my SD tv with the HDMI cable with the new box.  I had the settings all set before, but I can't get them now.  It's either a black box around the picture, or above & below, or on the left & right.  Ca

  • Aperture 3.3 can't import iPhoto 8.1.2 library?

    I'm on iPhoto '09 (8.1.2) and want to upgrade to Aperture.  Aperture 3.3 seems to be missing the ability to import older iPhoto libraries which it looks like it used to be able to do in previous versions.  Is there some way for me to migrate to Apert

  • N71 - SAP NetWeaver 7.1 download/installation - Trial

    Dear NetWeaver  installation team, I uninstalled NSP - SAP NetWeaver  7.01 ABAP Trial with the intend to "upgrade" to N71. As I am told in [https://websmp230.sap-ag.de/sap(bD1lbiZjPTAwMQ==)/bc/bsp/spn/minisap/minisap.htm] : Windows Operating System: