How do i implement "terminate employment" in ESS
hi ,
is there any way i can implement <b>"terminate employement "</b> iview in ESS in Portal ? i think this iview is available in ESS but we dont have it in our EP 6.0
Any ideas regarding this would be appreciated..
Regards,
Aditi
HI Adit
there is no iveiw or webdynpro application is found
for terminate employment which is under Life and Work Events.
it's is comes with the Buisness package for ESS with 4.6c/4.7
the iview can launch the tranasaction pzle_07 but there is a problem with the PZLE* tranasaction.
regards,
kaushal
Similar Messages
-
Hi All,
We need to implement Concurrent Employment in ESS to our client, i am new to this Concurrent Employment, right now we are using ESS 600, for enabling of Concurrent Employment do i need to Upgrade Business Package or Support Package Upgradation or i need to do customize my ESS applications.
If any body was providing good information really i appreciate.
Thanks in Advance.
Thanks and Regards,
Abhi.Have a look at Note 1118801 - ESS CE/GE Important configuration steps
You must perform the following Customizing activities for Concurrent Employment:
1. Activate Concurrent Employment/Management of Global Employees
Perform all the activities in Customizing for Personnel Management by choosing Personnel Administration -> Basic Settings -> Basic Settings for Concurrent Employment or by choosing Management of Global Employees -> Global Settings.
2. BAdI: Determine Personnel Assignments of User via CP Relationship
To identify all personnel assignments of an employee assigned to the same Central Person, perform the following activity in Customizing for Personnel Management by choosing Personnel Administration -> Basic Settings -> Basic Settings for Concurrent Employment -> BAdI: Determine Personnel Assignments of User via CP Relationship.
3. Activate Authorization to Change Own Data for Concurrent Employment
To allow an employee to maintain data for all personnel assignments that belong to the same Central Person, perform the following activity in Customizing for Personnel Management by choosing Personnel Administration -> Basic Settings -> Basic Settings for Concurrent Employment -> Activate Authorization to Change Own Data for Concurrent Employment.
4. Assign CE/GE Group Definition Settings to ESS Applications
Ensure applications are ESS CE/GE-enabled by performing the following activity on each application in Customizing for Personnel Management by choosing Employee Self-Service -> General Settings -> Concurrent Employment/Global Employment -> Assign CE/GE Group Definition Settings to ESS Applications.
Refer to the Business Package documentation for a list of services for which Concurrent Employment is available in ESS. Go to SAP Library under SAP ERP Central Component -> Human Resources -> Personnel Management -> Business Package for Employee Self-Service 1.31 -> Release Note for Business Package for ESS 1.31.
5. (Optional) Configure Unavailability of Services
If necessary, you can make services unavailable to certain (for example, inactive) employees by performing the following activity in Customizing for Personnel Management by choosing Employee Self-Service -> General Settings -> Concurrent Employment/Global Employment -> Configure Unavailability of Services. -
EHP4: Education & Previous employment in ESS
Hi,
We have implemented EHP4, according to SAP their should be new iviews for Education & Previous employment in ESS. Anyone could share his/her experience implementing this new iviews?
Looking forward to your reply.
Regards,
OnnoI guess you are referring to [Talent Profile|http://help.sap.com/erp2005_ehp_04/helpdata/en/17/1b9db9546b42568eb69bef91f8cda7/content.htm]. If so, you will need to activate the TM Business Function on the ERP system and install the TM Specialist Business Package on the Enterprise Portal.
~Suresh -
How to create a new employment status in action info type 0000?
Hi All,
how do we add new employment status in action info type 0000?
As we all know right now we have Active, Inactive, Retire, Withdrawn.....reguirement with my client is to add a new on onleave.
Can you someone please help me on this?
Thanks Much!
RajHi
Create a new action - called "OnLeave (with Pay) " use the status - Active and if required create another action OnLeave (Without pay) with inactive status.
Its not required to create new status.If required you explore the STAT3 or STAT1. Recommended to use the standard employement status - STAT2 or max you can go for STAT3.
As per best practice, I recommend you to create another action called - Reporting back from Leave.
>SAP Customizing Implementation Guide
>>Personnel Management
>>>Personnel Administration
>>>>Customizing Procedures
>>>>>Actions
>>>>>>Define infogroups
>>>>>>Set up personnel actions
>>>>>>Create reasons for personnel actions
>>>>>>Change action menu
Maintain right usergroup/reference.
Thanks,
Amosha
Edited by: Amosha on May 21, 2009 2:17 AM -
Implementing Performance appraisal in ESS.
Dear Experts,
we are using EP 7.0 with ESS 1.0. now our client wants to implement performance appraisal through ESS. Can any body give a detailed information how to proceed further and system information of HCM too.You first have to know whether you will use the predefined or flexible performance process. The iViews for the predefined process are available in the default ESS role. If you use the flexible, you should modify the portal config and OBN navigation.
In this thread I posted some interesting notes for this: Re: Performance Management link not working -
How I would implement the print mehtod?
I have this code...
* SinglyLinkedList.java
* An implementation of the List interface using a
* singly linked list.
* (P) 2000 Laurentiu Cristofor
* Modified (slightly) for s03 by D. Wortman
// The class SinglyLinkedList provides an implementation of the List
// interface using a singly linked list. This differs from the Java
// class LinkedList, which employs a doubly linked list and includes
// additional methods beyond those required by the List interface.
// Note: Included in this file is (at least) a "stub" method for each of
// the required methods, as well as an implementation of the Node class.
// This allows the file to compile without error messages and allows
// you to implement the "actual" methods incrementally, testing as you go.
// The List interface include some "optional" methods, some of which are
// included here (see the List API for the meaning of this).
// Some of the methods are preceded by comments indicating that you are
// required to implement the method recursively. Where there are no
// such comments, you can provide either an iterative or a recursive
// implementation, as you prefer.
// There are some methods that you are asked not to implement at all.
// Leave these as they are here: they are implemented here to just
// throw an UnsupportedOperationException when they are called.
// Hint: Read carefully the comments for the interface List in the
// online documentation (Java API). You can also take a look at the
// implementation of the LinkedList class from the API. It uses a
// doubly linked list and it is different in many places from what
// you need to do here. However it may help you figure out how to do
// some things. You shouldn't copy the code from there, rather you
// should try to solve the problem by yourself and look into that code
// only if you get stuck.
import java.util.*;
public class SinglyLinkedList implements List
// an inner class: This is our node class, a singly linked node!
private class Node
Object data;
Node next;
Node(Object o, Node n)
data = o;
next = n;
Node(Object o)
this(o, null);
Node( )
this(null,null);
private Node head; // the "dummy" head reference
private int size; // the number of items on the list
public SinglyLinkedList()
head = new Node(); // dummy header node!
public void add(int index, Object element)
public boolean add(Object o)
return true;
public boolean addAll(Collection c)
return true;
public boolean addAll(int index, Collection c)
return true;
public void clear()
// write a recursive implementation here
public boolean contains(Object o)
return true;
public boolean containsAll(Collection c)
return true;
public boolean equals(Object o)
return true;
// write a recursive implementation here
public Object get(int index)
return null;
// NOT implemented: we don't cover hash codes
// and hashing in this course
public int hashCode()
throw new UnsupportedOperationException();
public int indexOf(Object o)
return -1;
public boolean isEmpty()
return true;
public Iterator iterator()
return null;
public int lastIndexOf(Object o)
return -1;
// Not implemented: The following two operations are not supported
// since we are using a singly linked list, which does not allow
// us to iterate through the elements back and forth easily
// (going back is the problem)
public ListIterator listIterator()
throw new UnsupportedOperationException();
public ListIterator listIterator(int index)
throw new UnsupportedOperationException();
// write a recursive implementation here
public Object remove(int index)
return null;
public boolean remove(Object o)
return true;
public boolean removeAll(Collection c)
return true;
public boolean retainAll(Collection c)
return true;
// write a recursive implementation here
public Object set(int index, Object element)
return null;
public int size()
return size;
// NOT implemented: to keep the homework reasonably simple
public List subList(int fromIndex, int toIndex)
throw new UnsupportedOperationException();
public Object[] toArray()
Object[] array = new Object[size];
Node n = head;
for (int i = 0; i < size; i++)
array[i] = n.data;
n = n.next;
return array;
public Object[] toArray(Object[] a)
// you'll find this piece of code useful
// it checks the exact type of the array passed as a parameter
// in order to create a larger array of the same type.
if (a.length < size)
a = (Object[])java.lang.reflect.Array.
newInstance(a.getClass().getComponentType(), size);
else if (a.length > size)
a[size] = null;
Node n = head;
for (int i = 0; i < size; i++)
a[i] = n.data;
n = n.next;
return a;
public static void main(String args[])
System.out.println("Singly Linked List");
System.out.println();
SinglyLinkedList l = new SinglyLinkedList();
l.add("F");
} how should I implement the print method?
should I use the iterator?
can someone help me, please.
Thank You
Ennioactually, you would do the same thing for a toString() method as you would for a print() method. You are just going to return a String instead of using i/o. I would use an iterator to walk over your list of Nodes and then call toString() on each object in your list of Nodes.
-
How can I implement multiple windows/tabs in my Main-Menu?
I don't really know how to explain it. As an example, Skype has roughly 20 windows bundled with it, that are switched to when you click things like "Skype-Home" and "Profile". The layout changes too drastically to change the way it looks through just code, and it's not a new window being opened, it stays in the same window, the same main-window. I was wondering if this is possible through Cocoa-Applescript, and if so, what are the necessary steps to achieve this.
Taking it one step further, and if the above is possible, how could I implement a "tab" system in the application? The image below is an example of what I mean.AppleScriptObjC can use pretty much everything in the Cocoa API, so yes, it is possible.
Note that a view is not the same as a window, and a window can have multiple views. There are also many ways to implement "tabs"; take a look at some of Apple's applications - they use various mixtures of toolbars, checkboxes, and radio buttons, for example. An application such as this will be a lot more involved than what you have done so far though, using custom classes and subclassing existing ones, so be prepared to do a lot of reading and researching. -
How can I implement a comfirmation window when closing javafx application?
hi,guys
I'd like to add a confirmation window when user is closing my javafx application,if user click yes, I will close the application,if no ,I wouldn't close it ,how can I implement this function?
primaryStage.setOnCloseRequest(new EventHandler<WindowEvent>(){
@Override
public void handle(WindowEvent arg0) {
try
//todo
catch(Exception ex)
System.out.print(ex.getMessage()+"\r\n");
});Hi. Here is an example:
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.geometry.Pos;
import javafx.stage.*;
import javafx.scene.*;
import javafx.scene.paint.Color;
import javafx.scene.layout.*;
import javafx.scene.control.*;
public class ModalDialog {
public ModalDialog(final Stage stg) {
final Stage stage = new Stage();
//Initialize the Stage with type of modal
stage.initModality(Modality.APPLICATION_MODAL);
//Set the owner of the Stage
stage.initOwner(stg);
Group group = new Group();
HBox hb = new HBox();
hb.setSpacing(20);
hb.setAlignment(Pos.CENTER);
Label label = new Label("You are about to close \n your application: ");
Button no = new Button("No");
no.setOnAction(new EventHandler<ActionEvent>() {
public void handle(ActionEvent event) {
stage.hide();
Button yes = new Button("Yes");
yes.setOnAction(new EventHandler<ActionEvent>() {
public void handle(ActionEvent event) {
stg.close();
hb.getChildren().addAll(yes, no);
VBox vb = new VBox();
vb.setSpacing(20);
vb.setAlignment(Pos.CENTER);
vb.getChildren().addAll(label,hb);
stage.setTitle("Closing ...");
stage.setScene(new Scene( vb, 260, 110, Color.LIGHTCYAN));
stage.show();
}Test:
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.paint.Color;
import javafx.stage.Stage;
import javafx.stage.*;
* @author Shakir
public class ModalTest extends Application {
* @param args the command line arguments
public static void main(String[] args) {
Application.launch(ModalTest.class, args);
@Override
public void start(final Stage primaryStage) {
primaryStage.setTitle("Hello World");
Group root = new Group();
Scene scene = new Scene(root, 300, 250, Color.LIGHTGREEN);
primaryStage.setOnCloseRequest(new EventHandler<WindowEvent>(){
@Override
public void handle(WindowEvent arg0) {
arg0.consume();
try
ModalDialog md = new ModalDialog(primaryStage);
catch(Exception ex)
System.out.print(ex.getMessage()+"\r\n");
primaryStage.setScene(scene);
primaryStage.show();
} -
How can I implement a real time datawarehouse
Hi, I'm a little lost here but I want to know how can I implement a real time datawarehouse in sql server, I don't know if it is only to make the extraction process the shortest time possible.
Thank youHi Mega15,
I agree with everything Seif and Louw said, but I'd like to add that if you are using SQL Server 2012 or 2014 and you want to use DirectQuery or ROLAP mode (depending on what SSAS mode are you using, tabular or multidimensional) you may be interested on
using columnar indexes on your base tables.
Analytical and aggregated queries will take GREAT advantage from these indexes, they will perform much better than with traditional B-Tree indexes in most of your scenarios.
Regards.
Pau. -
How can I implement a Digital I/O counter with a maximum source frequency of 80 MHz (like 6602 board) using CompactRIO? It appears as if the Digital I/O modules for CompactRIO are much slower than this.
Thank you,
--RayHi Ray,
The highest frequency input we offer for C Series modules is 20 MHz if you are doing LVTTL and 10 MHz for 5 V TTL. These modules are the 9402 and 9401, respectively. Unfortunately, there is no 80 MHz input on this form-factor.
Regards,
Chris E.
Applications Engineer
National Instruments
http://www.ni.com/support -
Based from my code, how do I implement an ALV grid using OO concept...
Hello experts,
I am currently practicing ABAP Objects and I would like to use alv in my report. Now, How can I implement ALV in my report in the simplest way possible. Sample codes will be highly appreciated. Thanks guys and take care!
REPORT z_aris_oo_practice_9
NO STANDARD PAGE HEADING
LINE-SIZE 0
LINE-COUNT 0.
TABLES: spfli.
Selection screen
SELECTION-SCREEN BEGIN OF BLOCK box1 WITH FRAME.
SELECTION-SCREEN BEGIN OF BLOCK box2 WITH FRAME.
PARAMETERS: p_carrid TYPE spfli-carrid,
p_connid TYPE spfli-connid.
SELECTION-SCREEN END OF BLOCK box2.
SELECTION-SCREEN BEGIN OF BLOCK box3 WITH FRAME.
PARAMETERS: p_sumdis AS CHECKBOX.
SELECTION-SCREEN END OF BLOCK box3.
SELECTION-SCREEN END OF BLOCK box1.
INTERFACE status
INTERFACE status.
METHODS write.
ENDINTERFACE. "status
CLASS main DEFINITION
CLASS main DEFINITION.
PUBLIC SECTION.
INTERFACES status.
METHODS: get_data,
combine_data.
CLASS-DATA: counter TYPE i.
PRIVATE SECTION.
TYPES: BEGIN OF t_spfli,
carrid TYPE spfli-carrid,
connid TYPE spfli-connid,
countryfr TYPE spfli-countryfr,
cityfrom TYPE spfli-cityfrom,
airpfrom TYPE spfli-airpfrom,
countryto TYPE spfli-countryto,
cityto TYPE spfli-cityto,
airpto TYPE spfli-airpto,
fltime TYPE spfli-fltime,
deptime TYPE spfli-deptime,
arrtime TYPE spfli-arrtime,
END OF t_spfli.
DATA: it_spfli TYPE STANDARD TABLE OF t_spfli.
ENDCLASS. "main DEFINITION
CLASS main IMPLEMENTATION
CLASS main IMPLEMENTATION.
METHOD status~write.
WRITE: / 'The number of records is:', counter.
ENDMETHOD. "status~write
METHOD get_data.
SELECT carrid connid countryfr
cityfrom airpfrom countryto
cityto airpto fltime
deptime arrtime
FROM spfli
INTO TABLE it_spfli
WHERE carrid = p_carrid.
ENDMETHOD. "get_data
METHOD combine_data.
FIELD-SYMBOLS: <fs_spfli> LIKE LINE OF it_spfli.
LOOP AT it_spfli ASSIGNING <fs_spfli>.
ADD 1 TO counter.
WRITE: / <fs_spfli>-carrid,
<fs_spfli>-connid,
<fs_spfli>-countryfr,
<fs_spfli>-cityfrom,
<fs_spfli>-airpfrom,
<fs_spfli>-countryto,
<fs_spfli>-cityto,
<fs_spfli>-airpto,
<fs_spfli>-fltime,
<fs_spfli>-deptime,
<fs_spfli>-arrtime.
ENDLOOP.
ENDMETHOD. "show_data
ENDCLASS. "main IMPLEMENTATION
START-OF-SELECTION.
DATA: main TYPE REF TO main,
status TYPE REF TO status.
CREATE OBJECT main.
CALL METHOD main->get_data.
CALL METHOD main->combine_data.
CALL METHOD main->status~write.Hi,
Check this example..., In this i implemented so many functionalities like top_of_page, drop_down at cell level etc.., also Check the programs BCALVEDIT also
Just check it.
REPORT ZTEST_ALV_OO MESSAGE-ID ZZ .
DATA: G_GRID TYPE REF TO CL_GUI_ALV_GRID.
DATA: L_VALID TYPE C,
V_FLAG,
V_DATA_CHANGE,
V_ROW TYPE LVC_S_ROW,
V_COLUMN TYPE LVC_S_COL,
V_ROW_NUM TYPE LVC_S_ROID.
DATA: IT_ROW_NO TYPE LVC_T_ROID,
X_ROW_NO TYPE LVC_S_ROID.
DATA:BEGIN OF ITAB OCCURS 0,
VBELN LIKE LIKP-VBELN,
POSNR LIKE LIPS-POSNR,
CELLCOLOR TYPE LVC_T_SCOL, "required for color
DROP(10),
check,
END OF ITAB.
"The Below Definitions Must.....
DATA:
* Reference to document
DG_DYNDOC_ID TYPE REF TO CL_DD_DOCUMENT,
* Reference to split container
DG_SPLITTER TYPE REF TO CL_GUI_SPLITTER_CONTAINER,
* Reference to grid container
DG_PARENT_GRID TYPE REF TO CL_GUI_CONTAINER,
* Reference to html container
DG_HTML_CNTRL TYPE REF TO CL_GUI_HTML_VIEWER,
* Reference to html container
DG_PARENT_HTML TYPE REF TO CL_GUI_CONTAINER.
"up to here
* CLASS lcl_event_handler DEFINITION
CLASS LCL_EVENT_HANDLER DEFINITION .
PUBLIC SECTION .
METHODS:
**Hot spot Handler
HANDLE_HOTSPOT_CLICK FOR EVENT HOTSPOT_CLICK OF CL_GUI_ALV_GRID
IMPORTING E_ROW_ID E_COLUMN_ID ES_ROW_NO,
**Double Click Handler
HANDLE_DOUBLE_CLICK FOR EVENT DOUBLE_CLICK OF CL_GUI_ALV_GRID
IMPORTING E_ROW E_COLUMN ES_ROW_NO,
TOP_OF_PAGE FOR EVENT TOP_OF_PAGE "event handler
OF CL_GUI_ALV_GRID
IMPORTING E_DYNDOC_ID.
* END_OF_LIST FOR EVENT end_of_list "event handler
* OF CL_GUI_ALV_GRID
* IMPORTING E_DYNDOC_ID.
ENDCLASS. "lcl_event_handler DEFINITION
* CLASS lcl_event_handler IMPLEMENTATION
CLASS LCL_EVENT_HANDLER IMPLEMENTATION.
*Handle Hotspot Click
METHOD HANDLE_HOTSPOT_CLICK .
CLEAR: V_ROW,V_COLUMN,V_ROW_NUM.
V_ROW = E_ROW_ID.
V_COLUMN = E_COLUMN_ID.
V_ROW_NUM = ES_ROW_NO.
* MESSAGE I000 WITH V_ROW 'clicked'.
CLEAR IT_ROW_NO[].
X_ROW_NO-ROW_ID = V_ROW.
APPEND X_ROW_NO TO IT_ROW_NO .
CALL METHOD G_GRID->SET_SELECTED_ROWS
EXPORTING
IT_ROW_NO = IT_ROW_NO.
ENDMETHOD. "lcl_event_handler
*Handle Double Click
METHOD HANDLE_DOUBLE_CLICK.
CLEAR: V_ROW,V_COLUMN,V_ROW_NUM.
V_ROW = E_ROW.
V_COLUMN = E_COLUMN.
V_ROW_NUM = ES_ROW_NO.
IF E_COLUMN = 'VBELN'.
SET PARAMETER ID 'VL' FIELD ITAB-VBELN.
CALL TRANSACTION 'VL03N' AND SKIP FIRST SCREEN.
ENDIF.
IF E_COLUMN = 'POSNR'.
SET PARAMETER ID 'VL' FIELD ITAB-VBELN.
CALL TRANSACTION 'VL03N' AND SKIP FIRST SCREEN."
ENDIF.
ENDMETHOD. "handle_double_click
* METHOD END_OF_LIST. "implementation
** Top-of-page event
* PERFORM EVENT_TOP_OF_PAGE USING DG_DYNDOC_ID.
* ENDMETHOD. "top_of_page
METHOD TOP_OF_PAGE. "implementation
* Top-of-page event
PERFORM EVENT_TOP_OF_PAGE USING DG_DYNDOC_ID.
ENDMETHOD. "top_of_page
ENDCLASS. "LCL_EVENT_HANDLER IMPLEMENTATION
*& Global Definitions
DATA: G_CUSTOM_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER,"Container1
G_HANDLER TYPE REF TO LCL_EVENT_HANDLER. "handler
DATA: OK_CODE LIKE SY-UCOMM,
SAVE_OK LIKE SY-UCOMM,
G_CONTAINER1 TYPE SCRFNAME VALUE 'TEST',
GS_LAYOUT TYPE LVC_S_LAYO.
data: v_lines type i.
data: v_line(3) type c.
*- Fieldcatalog for First and second Report
DATA: IT_FIELDCAT TYPE LVC_T_FCAT,
X_FIELDCAT TYPE LVC_S_FCAT,
LS_VARI TYPE DISVARIANT.
* START-OF_SELECTION
START-OF-SELECTION.
SELECT VBELN
POSNR
FROM LIPS
UP TO 20 ROWS
INTO CORRESPONDING FIELDS OF TABLE ITAB.
describe table itab lines v_lines.
END-OF-SELECTION.
IF NOT ITAB[] IS INITIAL.
CALL SCREEN 100.
ELSE.
MESSAGE I002 WITH 'NO DATA FOR THE SELECTION'(004).
ENDIF.
*& Form CREATE_AND_INIT_ALV
* text
FORM CREATE_AND_INIT_ALV .
DATA: LT_EXCLUDE TYPE UI_FUNCTIONS.
"attention.....from here
"split your container here...into two parts
"create the container
CREATE OBJECT G_CUSTOM_CONTAINER
EXPORTING CONTAINER_NAME = G_CONTAINER1.
"this is for top of page
* Create TOP-Document
CREATE OBJECT DG_DYNDOC_ID
EXPORTING STYLE = 'ALV_GRID'.
* Create Splitter for custom_container
CREATE OBJECT DG_SPLITTER
EXPORTING PARENT = G_CUSTOM_CONTAINER
ROWS = 2
COLUMNS = 1.
* Split the custom_container to two containers and move the reference
* to receiving containers g_parent_html and g_parent_grid
"i am allocating the space for grid and top of page
CALL METHOD DG_SPLITTER->GET_CONTAINER
EXPORTING
ROW = 1
COLUMN = 1
RECEIVING
CONTAINER = DG_PARENT_HTML.
CALL METHOD DG_SPLITTER->GET_CONTAINER
EXPORTING
ROW = 2
COLUMN = 1
RECEIVING
CONTAINER = DG_PARENT_GRID.
* CALL METHOD DG_SPLITTER->GET_CONTAINER
* EXPORTING
* ROW = 2
* COLUMN = 1
* RECEIVING
* CONTAINER = DG_PARENT_HTML.
* CALL METHOD DG_SPLITTER->GET_CONTAINER
* EXPORTING
* ROW = 1
* COLUMN = 1
* RECEIVING
* CONTAINER = DG_PARENT_GRID.
"you can set the height of it
* Set height for g_parent_html
CALL METHOD DG_SPLITTER->SET_ROW_HEIGHT
EXPORTING
ID = 1
HEIGHT = 5.
"from here as usual..you need to specify parent as splitter part
"which we alloted for grid
CREATE OBJECT G_GRID
EXPORTING I_PARENT = DG_PARENT_GRID.
* Set a titlebar for the grid control
CLEAR GS_LAYOUT.
GS_LAYOUT-GRID_TITLE = TEXT-003.
GS_LAYOUT-ZEBRA = SPACE.
GS_LAYOUT-CWIDTH_OPT = 'X'.
GS_LAYOUT-NO_ROWMARK = 'X'.
GS_LAYOUT-CTAB_FNAME = 'CELLCOLOR'.
CALL METHOD G_GRID->REGISTER_EDIT_EVENT
EXPORTING
I_EVENT_ID = CL_GUI_ALV_GRID=>MC_EVT_ENTER.
CREATE OBJECT G_HANDLER.
SET HANDLER G_HANDLER->HANDLE_DOUBLE_CLICK FOR G_GRID.
SET HANDLER G_HANDLER->HANDLE_HOTSPOT_CLICK FOR G_GRID.
* SET HANDLER G_HANDLER->END_OF_LIST FOR G_GRID.
SET HANDLER G_HANDLER->TOP_OF_PAGE FOR G_GRID.
DATA: LS_CELLCOLOR TYPE LVC_S_SCOL. "required for color
DATA: L_INDEX TYPE SY-TABIX.
"Here i am changing the color of line 1,5,10...
"so you can change the color of font conditionally
LOOP AT ITAB.
L_INDEX = SY-TABIX.
IF L_INDEX = 1 OR L_INDEX = 5 OR L_INDEX = 10.
LS_CELLCOLOR-FNAME = 'VBELN'.
LS_CELLCOLOR-COLOR-COL = '6'.
LS_CELLCOLOR-COLOR-INT = '0'.
LS_CELLCOLOR-COLOR-INV = '1'.
APPEND LS_CELLCOLOR TO ITAB-CELLCOLOR.
MODIFY ITAB INDEX L_INDEX TRANSPORTING CELLCOLOR.
LS_CELLCOLOR-FNAME = 'POSNR'.
LS_CELLCOLOR-COLOR-COL = '6'.
LS_CELLCOLOR-COLOR-INT = '0'.
LS_CELLCOLOR-COLOR-INV = '1'.
APPEND LS_CELLCOLOR TO ITAB-CELLCOLOR.
MODIFY ITAB INDEX L_INDEX TRANSPORTING CELLCOLOR.
ENDIF.
ENDLOOP.
* setting focus for created grid control
CALL METHOD CL_GUI_CONTROL=>SET_FOCUS
EXPORTING
CONTROL = G_GRID.
* Build fieldcat and set editable for date and reason code
* edit enabled. Assign a handle for the dropdown listbox.
PERFORM BUILD_FIELDCAT.
PERFORM SET_DRDN_TABLE.
* Optionally restrict generic functions to 'change only'.
* (The user shall not be able to add new lines).
PERFORM EXCLUDE_TB_FUNCTIONS CHANGING LT_EXCLUDE.
**Vaiant to save the layout
LS_VARI-REPORT = SY-REPID.
LS_VARI-HANDLE = SPACE.
LS_VARI-LOG_GROUP = SPACE.
LS_VARI-USERNAME = SPACE.
LS_VARI-VARIANT = SPACE.
LS_VARI-TEXT = SPACE.
LS_VARI-DEPENDVARS = SPACE.
**Calling the Method for ALV output
CALL METHOD G_GRID->SET_TABLE_FOR_FIRST_DISPLAY
EXPORTING
IT_TOOLBAR_EXCLUDING = LT_EXCLUDE
IS_VARIANT = LS_VARI
IS_LAYOUT = GS_LAYOUT
I_SAVE = 'A'
CHANGING
IT_FIELDCATALOG = IT_FIELDCAT
IT_OUTTAB = ITAB[].
"do these..{
* Initializing document
CALL METHOD DG_DYNDOC_ID->INITIALIZE_DOCUMENT.
* Processing events
CALL METHOD G_GRID->LIST_PROCESSING_EVENTS
EXPORTING
I_EVENT_NAME = 'TOP_OF_PAGE'
I_DYNDOC_ID = DG_DYNDOC_ID.
"end }
* Set editable cells to ready for input initially
CALL METHOD G_GRID->SET_READY_FOR_INPUT
EXPORTING
I_READY_FOR_INPUT = 1.
ENDFORM. "CREATE_AND_INIT_ALV
*& Form EXCLUDE_TB_FUNCTIONS
* text
* -->PT_EXCLUDE text
FORM EXCLUDE_TB_FUNCTIONS CHANGING PT_EXCLUDE TYPE UI_FUNCTIONS.
* Only allow to change data not to create new entries (exclude
* generic functions).
DATA LS_EXCLUDE TYPE UI_FUNC.
LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_LOC_COPY_ROW.
APPEND LS_EXCLUDE TO PT_EXCLUDE.
LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_LOC_DELETE_ROW.
APPEND LS_EXCLUDE TO PT_EXCLUDE.
LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_LOC_APPEND_ROW.
APPEND LS_EXCLUDE TO PT_EXCLUDE.
LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_LOC_INSERT_ROW.
APPEND LS_EXCLUDE TO PT_EXCLUDE.
LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_LOC_MOVE_ROW.
APPEND LS_EXCLUDE TO PT_EXCLUDE.
LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_LOC_COPY.
APPEND LS_EXCLUDE TO PT_EXCLUDE.
LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_LOC_CUT.
APPEND LS_EXCLUDE TO PT_EXCLUDE.
LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_LOC_PASTE.
APPEND LS_EXCLUDE TO PT_EXCLUDE.
LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_LOC_PASTE_NEW_ROW.
APPEND LS_EXCLUDE TO PT_EXCLUDE.
LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_LOC_UNDO.
APPEND LS_EXCLUDE TO PT_EXCLUDE.
ENDFORM. " EXCLUDE_TB_FUNCTIONS
*& Form build_fieldcat
* Fieldcatalog
FORM BUILD_FIELDCAT .
DATA: L_POS TYPE I.
L_POS = L_POS + 1.
X_FIELDCAT-SCRTEXT_M = 'Check'.
X_FIELDCAT-FIELDNAME = 'CHECK'.
X_FIELDCAT-TABNAME = 'IT_FINAL'.
X_FIELDCAT-COL_POS = L_POS.
X_FIELDCAT-CHECKbox = 'X'.
X_FIELDCAT-EDIT = 'X'.
X_FIELDCAT-OUTPUTLEN = '1'.
APPEND X_FIELDCAT TO IT_FIELDCAT.
CLEAR X_FIELDCAT.
L_POS = L_POS + 1.
X_FIELDCAT-SCRTEXT_M = 'Delivery'(024).
X_FIELDCAT-FIELDNAME = 'VBELN'.
X_FIELDCAT-TABNAME = 'IT_FINAL'.
X_FIELDCAT-COL_POS = L_POS.
X_FIELDCAT-NO_ZERO = 'X'.
X_FIELDCAT-OUTPUTLEN = '10'.
X_FIELDCAT-HOTSPOT = 'X'.
APPEND X_FIELDCAT TO IT_FIELDCAT.
CLEAR X_FIELDCAT.
L_POS = L_POS + 1.
X_FIELDCAT-SCRTEXT_M = 'Item'(025).
X_FIELDCAT-FIELDNAME = 'POSNR'.
X_FIELDCAT-TABNAME = 'IT_FINAL'.
X_FIELDCAT-COL_POS = L_POS.
X_FIELDCAT-OUTPUTLEN = '5'.
APPEND X_FIELDCAT TO IT_FIELDCAT.
CLEAR X_FIELDCAT.
L_POS = L_POS + 1.
X_FIELDCAT-SCRTEXT_M = 'Drop'(025).
X_FIELDCAT-FIELDNAME = 'DROP'.
X_FIELDCAT-TABNAME = 'IT_FINAL'.
X_FIELDCAT-COL_POS = L_POS.
X_FIELDCAT-OUTPUTLEN = '5'.
X_FIELDCAT-EDIT = 'X'.
X_FIELDCAT-DRDN_HNDL = '1'.
X_FIELDCAT-DRDN_ALIAS = 'X'.
APPEND X_FIELDCAT TO IT_FIELDCAT.
CLEAR X_FIELDCAT.
ENDFORM. " build_fieldcat
*& Module STATUS_0100 OUTPUT
* text
MODULE STATUS_0100 OUTPUT.
SET PF-STATUS 'MAIN100'.
SET TITLEBAR 'MAIN100'.
IF G_CUSTOM_CONTAINER IS INITIAL.
**Initializing the grid and calling the fm to Display the O/P
PERFORM CREATE_AND_INIT_ALV.
ENDIF.
ENDMODULE. " STATUS_0100 OUTPUT
*& Module USER_COMMAND_0100 INPUT
* text
MODULE USER_COMMAND_0100 INPUT.
CASE SY-UCOMM.
WHEN 'BACK'.
LEAVE TO SCREEN 0.
ENDCASE.
ENDMODULE. " USER_COMMAND_0100 INPUT
*& Form SET_DRDN_TABLE
* text
FORM SET_DRDN_TABLE.
DATA:LT_DRAL TYPE LVC_T_DRAL,
LS_DRAL TYPE LVC_S_DRAL.
LOOP AT ITAB .
* First listbox (handle '1').
IF SY-INDEX = 1.
LS_DRAL-HANDLE = '1'.
LS_DRAL-VALUE = ' '.
LS_DRAL-INT_VALUE = ' '.
ELSE.
LS_DRAL-HANDLE = '1'.
LS_DRAL-VALUE = ITAB-POSNR.
LS_DRAL-INT_VALUE = ITAB-POSNR.
ENDIF.
APPEND LS_DRAL TO LT_DRAL.
ENDLOOP.
**Setting the Drop down table for Reason Code
CALL METHOD G_GRID->SET_DROP_DOWN_TABLE
EXPORTING
IT_DROP_DOWN_ALIAS = LT_DRAL.
ENDFORM. " set_drdn_table
*& Form EVENT_TOP_OF_PAGE
* text
* -->DG_DYNDOC_ID text
FORM EVENT_TOP_OF_PAGE USING DG_DYNDOC_ID TYPE REF TO CL_DD_DOCUMENT.
"this is more clear.....check it
"first add text, then pass it to comentry write fm
DATA : DL_TEXT(255) TYPE C. "Text
* Populating header to top-of-page
CALL METHOD DG_DYNDOC_ID->ADD_TEXT
EXPORTING
TEXT = 'Test Report'
SAP_STYLE = CL_DD_AREA=>HEADING.
* Add new-line
CALL METHOD DG_DYNDOC_ID->NEW_LINE.
CLEAR : DL_TEXT.
* Move program ID
CONCATENATE 'Program Name :' SY-REPID
INTO DL_TEXT SEPARATED BY SPACE.
* Add Program Name to Document
PERFORM ADD_TEXT USING DL_TEXT.
* Add new-line
CALL METHOD DG_DYNDOC_ID->NEW_LINE.
CLEAR : DL_TEXT.
* Move User ID
CONCATENATE 'User ID :' SY-UNAME INTO DL_TEXT SEPARATED BY SPACE
* Add User ID to Document
PERFORM ADD_TEXT USING DL_TEXT.
* Add new-line
CALL METHOD DG_DYNDOC_ID->NEW_LINE.
CLEAR : DL_TEXT.
* Move count (no of records).
move v_lines to v_line.
CONCATENATE 'No of records :' v_line INTO DL_TEXT SEPARATED BY SPACE.
* Add Client to Document
PERFORM ADD_TEXT USING DL_TEXT.
* Add new-line
CALL METHOD DG_DYNDOC_ID->NEW_LINE.
CLEAR : DL_TEXT.
* Move date
WRITE SY-DATUM TO DL_TEXT.
CONCATENATE 'Date :' DL_TEXT INTO DL_TEXT SEPARATED BY SPACE.
* Add Date to Document
PERFORM ADD_TEXT USING DL_TEXT.
* Add new-line
CALL METHOD DG_DYNDOC_ID->NEW_LINE.
CLEAR : DL_TEXT.
* Move time
WRITE SY-UZEIT TO DL_TEXT.
CONCATENATE 'Time :' DL_TEXT INTO DL_TEXT SEPARATED BY SPACE.
* Add Time to Document
PERFORM ADD_TEXT USING DL_TEXT.
* Add new-line
CALL METHOD DG_DYNDOC_ID->NEW_LINE.
* Populating data to html control
PERFORM HTML.
ENDFORM. " EVENT_TOP_OF_PAGE
*& Form ADD_TEXT
* To add Text
FORM ADD_TEXT USING P_TEXT TYPE SDYDO_TEXT_ELEMENT.
* Adding text
CALL METHOD DG_DYNDOC_ID->ADD_TEXT
EXPORTING
TEXT = P_TEXT
SAP_EMPHASIS = CL_DD_AREA=>HEADING.
ENDFORM. " ADD_TEXT
*& Form HTML
* text
FORM HTML.
DATA : DL_LENGTH TYPE I, " Length
DL_BACKGROUND_ID TYPE SDYDO_KEY VALUE SPACE. " Background_id
* Creating html control
IF DG_HTML_CNTRL IS INITIAL.
CREATE OBJECT DG_HTML_CNTRL
EXPORTING
PARENT = DG_PARENT_HTML.
ENDIF.
* Reuse_alv_grid_commentary_set
CALL FUNCTION 'REUSE_ALV_GRID_COMMENTARY_SET'
EXPORTING
DOCUMENT = DG_DYNDOC_ID
BOTTOM = SPACE
IMPORTING
LENGTH = DL_LENGTH.
* Get TOP->HTML_TABLE ready
CALL METHOD DG_DYNDOC_ID->MERGE_DOCUMENT.
* Set wallpaper
CALL METHOD DG_DYNDOC_ID->SET_DOCUMENT_BACKGROUND
EXPORTING
PICTURE_ID = DL_BACKGROUND_ID.
* Connect TOP document to HTML-Control
DG_DYNDOC_ID->HTML_CONTROL = DG_HTML_CNTRL.
* Display TOP document
CALL METHOD DG_DYNDOC_ID->DISPLAY_DOCUMENT
EXPORTING
REUSE_CONTROL = 'X'
PARENT = DG_PARENT_HTML
EXCEPTIONS
HTML_DISPLAY_ERROR = 1.
IF SY-SUBRC NE 0.
MESSAGE I999 WITH 'Error in displaying top-of-page'(036).
ENDIF.
ENDFORM. " HTML
Regards
vijay -
How do I implement Subversion attributes in Dreamweaver CS5?
How do I implement Subversion attributes in Dreamweaver CS5?
Somehow this feature is preventing me from uploading files. I would really love some kind help?
-
How can i implement the default value for this variable?
In one of our Stored procs,we have a variable RECS_TO_DELETE, which determines the number of records to delete from various DELETEs that happen within this proc.
The value for RECS_TO_DELETE variable should be obtained from a configuration table sys_config
select
rec_num into RECS_TO_DELETE
from sys_config
where
sys_code=55;
But if something goes wrong with sys_config table or the above SELECT INTO, our client wants to makes sure that RECS_TO_DELETE should have a default value of 1000.
In the code, how will i implement having this default value of 1000 for RECS_TO_DELETE variable in case the above SELECT INTO fails for some reason.Hi,
You have to assign a value before the execution...
DECLARE
RECS_TO_DELETE NUMBER(9) := 1000;
BEGIN
SELECT rec_num
INTO RECS_TO_DELETE
FROM sys_config
WHERE sys_code = 55;
DBMS_OUTPUT.put_line(RECS_TO_DELETE);
EXCEPTION
WHEN NO_DATA_FOUND THEN
DBMS_OUTPUT.put_line(RECS_TO_DELETE);
END;
/Regards, -
How can I implement an user function in a derived column of a report ?
Hello,
I've a report and added a derived column.
In this column should be displayed the result of a function.
GETANZGJMONATE ( to_date(#START_AFA#,'DD.MM.YYYY'), #ND#, :P302_GJ );
How can I implement this?
Thanks in advance
Regards UlrikeUlrike - I would do this in the SQL statement (there may be other ways).
Presumably START_AFA and ND are table columns?
Presumably you've also created the GETANZGJMONATE function?
So, something like this should work (this also assumes that START_AFA is of a DATE type - you'll need the TO_DATE call if not):
SELECT COL1
, COL2
, START_AFA
, ND
, GETANZGJMONATE (START_AFA, ND, :P302_GJ)
from TABLE
where ...
Can't remember if you have to grant any particular execute permissions on the function ('grant execute on GETANZGJMONATE to public', for example) when you call it from SQL on a page, but you could try that if the function call fails.
Depending on what's in :P302_GJ and what the function parameter data type is, you might need to use the '&P302_GJ.' syntax or TO_NUMBER etc.
Hope this helps.
Regards,
John. -
How can i implement 'Distribute Qty' function in BAPI_GOODSMVT_CREATE
Hi all,
Using MIGO For GR. if more than one Batch or Production Date or Vendor Batch for same Purchase Order Line Item and Deliv date, need to hit Distribute Qty button to split the entry line into multiple lines before enter Production Date and Vendor Batch.
So I want use bapi BAPI_GOODSMVT_CREATE implement MIGO function for a interface. Anyone have some suggestion how can i implement the 'Distribute Qty' function in the bapi.
My email address: [email protected]Hello,
1. Use structure BAPIPAREX for passing custom fields. (There are several blogs/posts on how to make use of this).
2. In the BAPI i noticed there is a BAdI to populate these fields into your business tables.
Call BAdI MB_BAPI_GOODSMVT_CREATE to fill own fields
TRY.
get badi lo_mb_bapi_GOODSMVT_CREATE.
CATCH cx_badi_not_implemented. "#EC NO_HANDLER
ENDTRY.
TRY.
call badi lo_mb_bapi_goodsmvt_create->extensionin_to_matdoc
EXPORTING
EXTENSION_IN = EXTENSIONIN[]
CHANGING
CS_IMKPF = S_IMKPF
CT_IMSEG = T_IMSEG[]
CT_RETURN = return.
CATCH cx_badi_initial_reference. "#EC NO_HANDLER
ENDTRY.
Maybe you are looking for
-
Hi all, I have some confusion about the correct way of deploying a new module. I'm reading the docs, but still it is not clear for me. Following the documentation I have installed ATG 10.2, Endeca, the CRS application and QuincyFunds. Running with JB
-
Why can't I backup to iCloud?
I'm currently in the process of trying to backup my stuff ready to restore to get rid of 4.5GB of 'Other'. I'm trying to backup to iCloud and all I want to move over is my contacts and my camera roll. All in all that should come to about 4GB. But it
-
How to restart base station via SNMP ?
How to restart airport extreme via SNMP, with snmpwalk for example ? I can get a lot of information from base station with snmpwalk and airport-mib but still mystery what to poke when I want reboot base station over network.
-
After upgrading to OS X Lion Aperture 3.1.3 runs very slowly and crashes
After upgrading to OS X Lion Aperture 3.1.3 runs very slowly and crashes regularly when editing and/or exporting images. Prior to the upgrade these problems did not exist - has anyone else encountered this behavior and found a resolution? My iMac ha
-
Hi, I have OS X 10.5, Adobe Creative Suite 3 with Acrobat Pro 9. I installed CS3, without the Acrobat option as per the advised setup instructions, restarted the Apple, then installed Acrobat Pro 9 and then rebooted. The PDF printer is not available