Approver name in Leave Reuqest Screen
Hi ,
Hope you all are doing good. I wanted to know if we can change the approver name which appears by default. We are using EP 7 , Webdypnro based ESS/MSS and ECC 6.0.
Can any standard BAPi help,
Also can we show more than one superiror there ? like we are having multiple level approvals so want to show all this names.
Is that possible.
Regards
PN
Hello,
you can affect the approver selection by implementing BAdI "PT_GEN_REQ". Method: IF_EX_PT_GEN_REQ~FIND_RESP_AND_DEFAULT_NEXT_PRC.
You cant show more than one approver. The design of the framework does not allow multiple approvers.
regards,
Markus
Similar Messages
-
Change default approver name in ESS leave request
Hi,
Please help me..
I am creating leave request Workflow.
When i go to ESS and try to create Leave Request, ESS already defaults the Approver, and its in display mode only.
I see the F4 help in Approver field and when i try to select from F4 help, it does not take new value. It's still the same value as it was default to initially.
How can i use F4 help and change the default approver name?
Can anyone please help me...I dont know where the things are missing.
Thanks in Advance
ShipraThank you all for your reply..
When i changed the configuration, now its allowing me to change the approver while submitting the leave request.
But now it also allows me to enter my user id itself to approve the request
Is there a way that system allows you to enter only your immediate supervisor or supervisor of the supervisor and so on?
Please help thanks.
.shipra -
Leave to screen 0 does not branch to initialization event (ALV)
Hi All,
I'm new at this forum thing so be gentle. I have created the standard custom control in a new screen, setup the field catalog and other parameters and when I call the screen and do the :
IF g_custom_container IS INITIAL.
CREATE OBJECT g_custom_container
EXPORTING
container_name = 'ZTMR_EVAL_GRID'.
CREATE OBJECT g_grid
EXPORTING
i_parent = g_custom_container.
CLEAR wa_disvariant.
wa_disvariant-report = sy-repid.
CALL METHOD g_grid->set_table_for_first_display
EXPORTING
is_variant = wa_disvariant
i_save = 'A'
is_layout = wa_layout
CHANGING
it_outtab = detail_tab[]
it_fieldcatalog = itab_fldcat
it_sort = itab_sort.
CREATE OBJECT event_receiver.
SET HANDLER event_receiver->handle_top_of_page FOR g_grid.
ENDIF.
, everything works great. The problem occurs when hit the BACK button in my PAI module, it returns to the line after the CALL SCREEN XXX, ENDFORM, PERFORM output_alv_grid_report and then branches to :
FUNCTION hrpy_process_fire_event in the source code of LHRST1U01 in the main program SAPLHRST1.
It does this instead of branching to the INITIALIZATION event (selection-screen) which is what it's supposed to do?
Any help would be greatly appreciated - Thanks in advance,
Jimhi,
REPORT ZTEST1234_ALV_TOP 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.
"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.
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'.
ENDMETHOD. "lcl_event_handler
*Handle Double Click
METHOD HANDLE_DOUBLE_CLICK.
ENDMETHOD. "handle_double_click
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.
*- 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.
DATA:BEGIN OF ITAB OCCURS 0,
VBELN LIKE LIKP-VBELN,
POSNR LIKE LIPS-POSNR,
CELLCOLOR TYPE LVC_T_SCOL, "required for color
DROP(10),
END OF ITAB.
SELECT VBELN
POSNR
FROM LIPS
UP TO 20 ROWS
INTO CORRESPONDING FIELDS OF TABLE ITAB.
END-OF-SELECTION.
IF NOT ITAB[] IS INITIAL.
<b>CALL SCREEN 100.</b>
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.
"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->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 = '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 Client
CONCATENATE 'Client :' SY-MANDT 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 to fetch APPROVER NAME and approval date dynamically for an user
Hi all..
How to fetch approver name and approval date dynamicall for an user in an email template..
can any help me to sort out this pbm,i am new to IDM..
Thanks in advance..Access policies get a static value. You can't populate a field with an adapter. If you must do this, leave the field blank, and put an adapter on the process form for your field that must be populated using code or logic.
-Kevin -
How to Get Approver details of Leave Request in SSHR in oracle apps r12
Dear All,
we have requirement to get the approver details of leave , Please let me know if there is any way .Hi,
There are two BADi's which can help you to deal with ESS leave requests PT_GEN_REQ and PT_ABS_REQ. just try to check out the above two badi's . There is a method in the default implementation class with name FIND_DEFAULT_AND_RESP_ACTOR..
Regards
Pavan -
Workflow : WS90000005 - No approver name
Hi,
SRM 5.0
Workflow WS90000005 .
I have tested this workflow with custom code and it works well (technically ! ).
When the approver approved the shopping cart, it doesn't show the approver name on the "approval overview" screen. It shows "approved" (no name). But when the approver reject the shopping cart, name appears
I have searched the forum....someone mentioned that if the workflow is NOT set as general, it might happen. I am not sure where can I find out whether the WF is set as "general" or not.
Please help.
If you think the problem could be somewhere else, please let me know as well
Thanks
-PranavHi Pranav,
Is your workflow is a copy of SAP standard workflow. Are you using BAdI for n-step workflow, please let me know. I will help you out with this issue.
If you are using n-step BAdI then please check APPROVAL_TABLE and fill it properly with all details ( userids / username etc).
Thanks and Regards
Pras -
Problems by holding the typed Values in Fields by using "LEAVE TO SCREEN"
Hello Experts,
I have created a Dynpro with many field.
Some Fields are Fields without searchhelps and a part of this Fields have searchhelps.
One of this Field has a special function.
It is a Field where you can choose a key value ( an ID number) about the searchhelp.
After choosing I get the other values for this ID-Number in the returnparameter of the Searchhelp function
( values like name, surname ....)
I set this return values to the Fieldvariables in the PBO.
For jumping to PBO I use "Leave to Screen" to the same screen.
But the Problem is I can not hold the values wich I have typed before in the Dynpro Fields (Field without serachhelps).
After using the Field with the Searchhelp (for ID) the Fields with typed Value go away.
Please Hel me . Thanx in Advance
CetinHi,
In SE80 double click on your Screen Number and go to the Attributes Tab and Select Hold Data Check box,
The Help Obtained from F1 Help is as follows, Kindly note this is Copied from F1 Help provided by Standard SAP,
You too can Check it out
"SAP Says --->
If you activate this option, the following functions are supported for
the screen at runtime:
System -> User profile -> Hold data
-> Set data
-> Delete data
The Hold data function allows you to hold onto any entries you have made
on the screen. When the screen is next processed (even in a different
mode), the system then automatically redisplays the data in the input
fields.
If the option is not activated, these functions are ineffective at
screen runtime.
The "Hold Data" option is not supported for include screens
(subscreens). The automatic insertion of held data is exclusively
controlled by the main screen.
Cheerz
Ram -
PR Smartform for getting Approver name
Hi Abap Expects,
i am new to abap, i have developed Smartform for PR print out.
In that i need to print level of Approver Name with Approval Date, Actually i am getting all the Approver Name correctly.
but the problem is, i need to print name and date like this
Approver1 Kavitha date
Approver2 Gokul
Approver3 Seetha
but now i am getting, name like below
Approver1 Kavitha date
Approver2
Approver3
Approver1 Gokul date
Approver2
Approver3
Approver1 Seetha date
Approver2
Approver3
And i have declared internal in Loop.
can any one Please help me to slove this Issue
Thanks
S.KavithaHi ,
For one PR number 5 level of Approval is their, so I need the Print only one time. i will send the Screen shot of my Current output and how i declared it in Smartform loop. please find that one -
What is the diffrence of 'call screen 100' and 'leave to screen 100'
Thank u
hi,
You can insert a screen sequence. This adds another layer to a stack.
You insert a screen sequence using the CALL SCREEN <nnnn> statement.
Note: Layers created in this way must be removed afterwards. You can do this by setting the next screen
statically or dynamically to the initial value (0) an the end of the inserted screen sequence.
To interrupt processing of the current screen and branch to a new screen (or sequence of screens), use
the CALL SCREEN <nnnn> statement. The screen <nnnn> must belong to the same program.
In the program, the system constructs a stack. The stack has to be destroyed before the end of the
program.
To return to the statement following the CALL SCREEN statement, you can use either SET SCREEN 0.
LEAVE SCREEN. or LEAVE TO SCREEN 0. The screen that called the other screen is then processed
further.
If you use the above statements outside a call chain, the program terminates, and control returns to the
point from which it was called. You can also terminate a program using the ABAP statement LEAVE
PROGRAM.
To interrupt processing of the current screen and branch to a new screen (or sequence of screens), use
the CALL SCREEN <nnnn> statement. The screen <nnnn> must belong to the same program.
In the program, the system constructs a stack. The stack has to be destroyed before the end of the program.
To return to the statement following the CALL SCREEN statement, you can use either SET SCREEN 0.
LEAVE SCREEN. or LEAVE TO SCREEN 0. The screen that called the other screen is then processed
further.
To specify the next screen and leave the current screen in a single step, use the LEAVE TO SCREEN <nnnn> statement.
Hope this helps, DO reward.
Edited by: Runal Singh on Apr 3, 2008 3:11 PM -
I have a 2nd generation Ipod.
I have it connected to my computer and see (my name) ipod on my screen.
Everytime I try to add a new song to the Ipod, this message comes up and I am not sure what to do:
The Ipod, (my name) is synced with another ITunes library on A74F65. Do you want to erase this Ipod and sync with this ITunes Library?
An Ipod can be synced with only one ITunes library at a time. Erasing and syncing replaces the contents of this IPod with the contents of this ITunes library.
Then it asks me if I want to delete and sync.
I am not sure what to do for fear of erasing everything I have put on my Ipod.
I would appreciate if someone could help me out.If I understand you correctly, you are trying to use iTunes to play the Music in your iPod but which is not in your itunes library. I don't think Apple design iTunes for use in your way. As to put and play music in iPod, the music has to be in iTunes first, so you play music in the iTunes music Library. the window with Ipod music is just to show you which music are already in the Ipod, in case you want to Manually Manage your huge music library.
Here is the iPod/iTunes manual from the Apple Support Site.
http://manuals.info.apple.com/en_US/iPod_Features_Guide.pdf
Have A NICE DAY! -
Kludge to make less, vim et al. leave the screen uncluttered enjoy!
I have written a script which leaves the screen uncluttered when finishing less.
This script is written for bash in the "good old terminal", but works well with
iTerm too. I wrote this script because less is opposite of more as less is so
much more as more is so much less.
I hope you will use this script and reap the rewards of using less while reading
textfiles, gaining from less's features, avoiding the cluttering which may have
made you disliking using less. You can make a copy of the script and modify and wrap
the script around any other characterbased program which clutters your terminal screen.
The script works by beeing placed in your ~/bin which I assume is before
/usr/bin in your $PATH where the binary less resides. You must modify the paths
in the script if they are different from that. (both the binary less, the script,
and the kludge.scr)
The script installs an interrupthandler which are triggered by changing the
windowsize. The interupthandler figures out what it must do to preserve
your screen when you exit less, and just does so, except for four characters
to the extreme left on one line. (wich may well be part of your prompt).
The interrupthandler gets its work done, by calling a kludge which are
relatively referenced in the script from your homefolder, -presumes ~/bin
- YOU MUST EDIT THE SCRIPT OTHERWISE. The configuration is like it is because
that is what it takes to make the correct things happen in bash.
I think this could have been accomplished much easier using another shell,
but most people uses bash, especially newcomers, and they deserve to have
it as easy as possible, while reaping the productivity gains laying dormant
in the Unix core, so I hope you will share the script with you liberally,
if you think it is worth the time and the work it takes to "install" it.
I hope you will give this script a try, as to make less work comfortably for you,
I have included an environment variable with all settings I like in less, which
you may modify.
Less was the first program I had that made me think "wow" back in 1986, beeing used
to the "more" command, - which was, and is so much less than less. You can for instance
invoke BBedit with a file you are viewing in less by pressing "v" if you have BBedit
specified in the $EDITOR variable. You can pipe some text to the clipboard.
Or you can pipe some lines out of a document you are viewing in less and into
a file while viewing, you can load it with multiple files, and search them all,
a programemer can make less work with tagfiles; you can have less create a logfile
of what you read and, you can even scroll backwards. All in all less is a very handy
tool which I think everybody would gain from using,in opposite to more.
Especially when it leaves the screen uncluttered.
Great care have been taken in order to make this kludge work properly.
Still I MAKE ABSOLUTELY NO WARRANTIES ABOUT WHATSOEVER AND ANYTHING.
-USE IT AT YOUR OWN RISK.
You may do whatever you wish to do with it, aside from selling it alone, but you
are free to do whatever that you please with it, aside from distributing
malfunctioning copies or incomplete copies or tinker with the Copyright notice
in the scripts.
-------------------------------------------------- here comes the kludge for less - sends with you a tar as well. 8859 - encoded I think.
#! /bin/bash
# Less - lets us keep our screen nice even after resize, having used less or any other
# character based program - like vim, which may leave an unorderly screen.
# The fact that programs do clutter up the screen is because they probably didn't figure
# that we one day would be able to resize our terminals when they specified the standards at
# Ansi back in the 60's.
# Installing : put it together with "kludge.bash" in your $HOME/bin folder ( ~/bin ).
# its intended to work with the bash shell under MacOsX, the binary less is supposed
# to reside in /usr/bin, if it isnt; ("which less" reveals where), adjust the path.
# less - to be placed in the ~/bin folder is the wrap around less to make it behave
# Copyright 2008 Tommy Bollman Public Domain. -No WARRANTIES ABOUT WHAT SO EVER-
# Please do modify it for other programs which need helps with its cleanup as well.
# ~ is an expansion for your home directory aka /Users/John\ Doe
# Please document your version properly if you are posting it, relieving others.
export LESS=" -I -r -f -J -S -g -M -x 4"
# -I ignore case when searching
# -r "raw" do not preparate ctrl-chars,
# -f force open special files (may be binary) BEWARE OF ANSISEQUENCES.
# -J show status column
# -S chop long lines.
# -g highlight on last hit in the search.
# -M Most Verbose status column...
# -x 4 tabspacing = 4
# -------------------------------------- the screen handling starts here.................
ORIGLINES=$LINES
ESC=`printf "\e"`
ScreenRedraw_off=`echo -n "$ESC""[8m"`
ScreenRedraw_on=`echo -n "$ESC""[0m"`
function OkayScreen()
export PS1="" # Turns off the prompt to avoid cluttering..
echo -n ${ScreenRedraw_off}
CURLINES=`bash -i < ~/bin/kludge.bash `
# ^^^^^^^^^^^ NB! the path where kludge.bash should be placed.
if [ $CURLINES -gt $ORIGLINES ] ; then
TO_SKIP="$(expr "$CURLINES" '-' "$ORIGLINES")"
if [ $TO_SKIP -lt 3 ] ; then
TO_SKIP="$(expr "$TO_SKIP" '-' '2')"
else
TO_SKIP="$(expr "$TO_SKIP" '-' '1')"
fi
tput cuu 1 #cursor up one line
echo -n ${ScreenRedraw_on}
echo -n "\$####" #restores an erased '$' making only 3 chars disappear.
# ^ $ = prompt - $PS1. .(I have just a dollar here but if yours is longer,
# you can add the first four if it's static, and you'll loose nothing!!)
echo -n ${ScreenRedraw_off}
tput cud $TO_SKIP # move cursor to where it should be.
echo -n ${ScreenRedraw_on}
echo # activate the cli at correct position.
else
tput cuu 2
echo ${ScreenRedraw_on}
fi
trap OkayScreen SIGWINCH
/usr/bin/less $@
# ^^^^^^^^ NB! The path where the BINARY less is installed.
trap '' SIGWINCH
-------------------------------------------------------------------------------- and here is the kludge wich makes it all work!
#! /bin/bash
# kludge.scr - to be placed in the ~/bin folder is the inner workings of the bash script named less
# Copyright 2008 Tommy Bollman
PS1=""
shopt -s checkwinsize
echo $LINES
----><---------------------- EOF.I have written a script which leaves the screen uncluttered when finishing less.
This script is written for bash in the "good old terminal", but works well with
iTerm too. I wrote this script because less is opposite of more as less is so
much more as more is so much less.
I hope you will use this script and reap the rewards of using less while reading
textfiles, gaining from less's features, avoiding the cluttering which may have
made you disliking using less. You can make a copy of the script and modify and wrap
the script around any other characterbased program which clutters your terminal screen.
The script works by beeing placed in your ~/bin which I assume is before
/usr/bin in your $PATH where the binary less resides. You must modify the paths
in the script if they are different from that. (both the binary less, the script,
and the kludge.scr)
The script installs an interrupthandler which are triggered by changing the
windowsize. The interupthandler figures out what it must do to preserve
your screen when you exit less, and just does so, except for four characters
to the extreme left on one line. (wich may well be part of your prompt).
The interrupthandler gets its work done, by calling a kludge which are
relatively referenced in the script from your homefolder, -presumes ~/bin
- YOU MUST EDIT THE SCRIPT OTHERWISE. The configuration is like it is because
that is what it takes to make the correct things happen in bash.
I think this could have been accomplished much easier using another shell,
but most people uses bash, especially newcomers, and they deserve to have
it as easy as possible, while reaping the productivity gains laying dormant
in the Unix core, so I hope you will share the script with you liberally,
if you think it is worth the time and the work it takes to "install" it.
I hope you will give this script a try, as to make less work comfortably for you,
I have included an environment variable with all settings I like in less, which
you may modify.
Less was the first program I had that made me think "wow" back in 1986, beeing used
to the "more" command, - which was, and is so much less than less. You can for instance
invoke BBedit with a file you are viewing in less by pressing "v" if you have BBedit
specified in the $EDITOR variable. You can pipe some text to the clipboard.
Or you can pipe some lines out of a document you are viewing in less and into
a file while viewing, you can load it with multiple files, and search them all,
a programemer can make less work with tagfiles; you can have less create a logfile
of what you read and, you can even scroll backwards. All in all less is a very handy
tool which I think everybody would gain from using,in opposite to more.
Especially when it leaves the screen uncluttered.
Great care have been taken in order to make this kludge work properly.
Still I MAKE ABSOLUTELY NO WARRANTIES ABOUT WHATSOEVER AND ANYTHING.
-USE IT AT YOUR OWN RISK.
You may do whatever you wish to do with it, aside from selling it alone, but you
are free to do whatever that you please with it, aside from distributing
malfunctioning copies or incomplete copies or tinker with the Copyright notice
in the scripts.
-------------------------------------------------- here comes the kludge for less - sends with you a tar as well. 8859 - encoded I think.
#! /bin/bash
# Less - lets us keep our screen nice even after resize, having used less or any other
# character based program - like vim, which may leave an unorderly screen.
# The fact that programs do clutter up the screen is because they probably didn't figure
# that we one day would be able to resize our terminals when they specified the standards at
# Ansi back in the 60's.
# Installing : put it together with "kludge.bash" in your $HOME/bin folder ( ~/bin ).
# its intended to work with the bash shell under MacOsX, the binary less is supposed
# to reside in /usr/bin, if it isnt; ("which less" reveals where), adjust the path.
# less - to be placed in the ~/bin folder is the wrap around less to make it behave
# Copyright 2008 Tommy Bollman Public Domain. -No WARRANTIES ABOUT WHAT SO EVER-
# Please do modify it for other programs which need helps with its cleanup as well.
# ~ is an expansion for your home directory aka /Users/John\ Doe
# Please document your version properly if you are posting it, relieving others.
export LESS=" -I -r -f -J -S -g -M -x 4"
# -I ignore case when searching
# -r "raw" do not preparate ctrl-chars,
# -f force open special files (may be binary) BEWARE OF ANSISEQUENCES.
# -J show status column
# -S chop long lines.
# -g highlight on last hit in the search.
# -M Most Verbose status column...
# -x 4 tabspacing = 4
# -------------------------------------- the screen handling starts here.................
ORIGLINES=$LINES
ESC=`printf "\e"`
ScreenRedraw_off=`echo -n "$ESC""[8m"`
ScreenRedraw_on=`echo -n "$ESC""[0m"`
function OkayScreen()
export PS1="" # Turns off the prompt to avoid cluttering..
echo -n ${ScreenRedraw_off}
CURLINES=`bash -i < ~/bin/kludge.bash `
# ^^^^^^^^^^^ NB! the path where kludge.bash should be placed.
if [ $CURLINES -gt $ORIGLINES ] ; then
TO_SKIP="$(expr "$CURLINES" '-' "$ORIGLINES")"
if [ $TO_SKIP -lt 3 ] ; then
TO_SKIP="$(expr "$TO_SKIP" '-' '2')"
else
TO_SKIP="$(expr "$TO_SKIP" '-' '1')"
fi
tput cuu 1 #cursor up one line
echo -n ${ScreenRedraw_on}
echo -n "\$####" #restores an erased '$' making only 3 chars disappear.
# ^ $ = prompt - $PS1. .(I have just a dollar here but if yours is longer,
# you can add the first four if it's static, and you'll loose nothing!!)
echo -n ${ScreenRedraw_off}
tput cud $TO_SKIP # move cursor to where it should be.
echo -n ${ScreenRedraw_on}
echo # activate the cli at correct position.
else
tput cuu 2
echo ${ScreenRedraw_on}
fi
trap OkayScreen SIGWINCH
/usr/bin/less $@
# ^^^^^^^^ NB! The path where the BINARY less is installed.
trap '' SIGWINCH
-------------------------------------------------------------------------------- and here is the kludge wich makes it all work!
#! /bin/bash
# kludge.scr - to be placed in the ~/bin folder is the inner workings of the bash script named less
# Copyright 2008 Tommy Bollman
PS1=""
shopt -s checkwinsize
echo $LINES
----><---------------------- EOF. -
ESS Leave request screen giving a critical Error in production server
Friends,
We are in a critical face of ESS implemetation.
We are doing an ESS MSS implementation for country grouping 99.
When we moved our changes to production server after succesful testing in quality, getting the following Critical error for Leave Request Screen.
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.RangeCheck(ArrayList.java:512)
at java.util.ArrayList.get(ArrayList.java:329)
at com.sap.aii.proxy.framework.core.JcoBaseList.get(JcoBaseList.java:272)
at com.sap.aii.proxy.framework.core.AbstractList.get(AbstractList.java:230)
at com.sap.tc.webdynpro.modelimpl.dynamicrfc.DynamicRFCList.get(DynamicRFCList.java:281)
at com.sap.tc.webdynpro.progmodel.context.Node$ModelElementList.getElement(Node.java:2543)
at com.sap.tc.webdynpro.progmodel.context.Node.getElementAtInternal(Node.java:621)
Other areas like personal Info & who is who are working fine.
Leave request was working fine in Development and Quality servers and it never worked in Production server.
It worked fine with same config, with same master data and same employee & org structure in quality server.
We tried the following things:
1. Checked and confirmed the sequence of transports for configs and Developments to Quality and Production.
Even compared the table level entries and ABAP codings B/n dev and Production. All are same.
2. Moved the workflow changes to production and activated the same. No change found after that.
3. Gave SAP all authorization in R/3 and full authorization from portal side as well.
4. Assigned the userid to different employees and checked the masterdata of employees.
5. Checked the note 1388426.Every thing mentioned in the note is there in the system.
6. Verified Rule groups and WEBMO feature are correct and same as in quality.
As our go live date is very near, request your help .Thanks in advance for your help.
Regards,Customisation of Leave request is mising in your system, please check the rule group using PTARQ.
-
How to Edit the Title (file name) on forms 10g Screen.
Hi ,
How can one edit the Title ,and <(file name)> on forms 10g Screen ....
I tried editing through the forms module preperty palette , but could n't change the Title, or file name on forms menu screen ...
I guess , the entries are made through some other means...
Please let me know on how to do this .
Need a quicker reply ..
Thanks in Advance
Sanuusing the below code too not getting me the new names entered by me ... still the old title names are comingWhat do you mean by new nemes? It will return you the actual file name which is saved in phycical location and form name will return you the module name which displays when you open forms in builder.
Or you mean something else then its better to provide any example..like what is happening actually with you.
-Ammad -
Leave to screen 0 is not working
Hi Guys
I made an alv oops.
The container screen is 100. in the pai of 100 when i say
case ok_code
when 'BACK'.
leave to screen 0.
endcase.
IT DOES NOT GO TO THE STANDARD SELECTION SCREEN!!. I am at the end of my wits , can someone help??
Thanks a lot for taking a view
regds
sameerCheck this Sample code using Docking container. In case of docking container no need of custom container required on screen.
REPORT ztest_oo_a.
DATA: it_flight TYPE sflight_tab1.
DATA: dock TYPE REF TO cl_gui_docking_container,
grid TYPE REF TO cl_gui_alv_grid.
parameters: p_carrid type sflight-carrid.
SELECT *
FROM sflight
INTO TABLE it_flight
UP TO 20 ROWS.
CALL SCREEN 100.
*& Module STATUS_0100 OUTPUT
* text
MODULE status_0100 OUTPUT.
SET PF-STATUS 'SATR'.
CREATE OBJECT dock
EXPORTING
repid = sy-repid
dynnr = '100'
extension = '1500'
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
create_error = 3
lifetime_error = 4
lifetime_dynpro_dynpro_link = 5
OTHERS = 6
IF sy-subrc ne 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
CREATE OBJECT grid EXPORTING i_parent = dock.
CALL METHOD grid->set_table_for_first_display
EXPORTING
i_structure_name = 'SFLIGHT'
CHANGING
it_outtab = it_flight
EXCEPTIONS
invalid_parameter_combination = 1
program_error = 2
too_many_lines = 3
OTHERS = 4.
IF sy-subrc ne 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
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
Flow Logic
PROCESS BEFORE OUTPUT.
MODULE STATUS_0100.
PROCESS AFTER INPUT.
MODULE USER_COMMAND_0100. -
Approver name for outgoing payment
Hi Friends,
I want a query for outgoing payment with the Username of the person who approved this and along with requester (originator) name .To print on crystal report one for requester name and other approved person name.Hi Pradyuman,
Please check below Query for Approver Name for Outgoing Payment.
SELECT T3.U_NAME
FROM OVPM T0
INNER JOIN OWDD T1 on T0.DocEntry = T1.DocEntry
INNER JOIN WDD1 T2 on T1.WddCode = T2.WddCode
INNER JOIN OUSR T3 ON T2.UserID = T3.USERID
WHERE T2.Status = 'Y' and T1.ObjType = 46 And T0.DocNum = $[OVPM.DocNum]
Please try below Query for User Name for Login User.
SELECT T0.U_NAME FROM OUSR T0 WHERE INTERNAL_K = $[USER] FOR BROWSE
Please put above Two FMS in Two Different UDF to Get Result of above FMS.
Please also check below links.
Approved by User name query
Name of authorizers within an approval procedure
Hope this helps
Regards::::
Atul Chakraborty
Maybe you are looking for
-
Getting SLiM to restart after ctrl-alt-backspace
I recently installed SLiM (Simple Login Manager) and it's quite nice. My only problem with it is that if I do a ctrl-alt-backspace at the log-in prompt it will drop me into text-mode log-in without restarting X or SLiM. Can it be configured to respaw
-
Hi, I need a possibility to enter the where-statement at runtime. In the "SQL Query Statement" I can enter a query and parameters. My Problem ist that at runtime my forms-application builds the where-Part of the sql-statement and then sends it to the
-
How to know whether a group is currently empty at connection?
Hello all, I am now using NetGroup to connect online friends. Each person's flash player create its own group and connect to each of its friends' group. Currently each flahsplayer blindly connect to all friend's group whether they are online or not.
-
I want to render the data into icons. But I cannot seem to make the codes reusable for multiple columns. The following are my codes. I know there must be something wrong with my logical thinking.
-
Firefox will not connect to internet, period; all troubleshooting on my end has been done
Firefox will not connect to any webpage. This is occurring daily and constantly. I have road runner service for internet access. I have done all troubleshooting on my end -- emptying cache, resetting modem, resetting router, etc. I cannot connect to