Check user name on selection screen
Dear all,
I have been able to make a field mandatory on a selection screen. This is field username. However, the system does not check if the user exists.
What I have done is made a copy of the program behind LX16: RLINV015
Now I have ZLX16 and ZRLINV015
I know the SAP users are found in tabel USR02, so I have added this table under data definition where the other tables are mentioned.
How do I enforce that only existing usernames are entered?
Thanks,
Nick
Marcin,
I really appreciate your answer, it brought me somewhere. However, the code I pasted is addeing a new field, whereas I really need the user name in field LINK-UNAME, otherwise my inventory document is not getting the user name.
I have tried the following to achieve this:
AT SELECTION-SCREEN.
SELECT SINGLE bname FROM usr02 INTO link-uname
WHERE bname = pa_user
This was however not doing the job.
Do you have any more suggestions?
Thanks,
Nick
Similar Messages
-
Dynamic check box creation in selection screen
Hello,
I am trying to put up some check boxes dynamically in a selection screen. The number: of check boxes required and the 'checkbox label text' is to be retrieved from a database table. I have retrieved all these values in AT SELECTION-SCREEN OUTPUT event. But, I dont know how to create check box parameters using these dynamic values. Please help..hi Giffin,
Create a program with name 'Z_13317_DYN_CHKBOX' and paste the following code in it. Also make ensure that an include with name 'Z_13317_DYN_INCL' is not existing earlier because this program will be overwritten each and everytime.
Z_13317_DYN_CHKBOX will take an integer as an input. After giving input, click on the button on selection screen.
Suppose, if you have given 3 as input and if you have clicked the button, then 3 checkboxes will be generated on your selection screen.
REPORT Z_13317_DYN_CHKBOX.
types :begin of t_itab1,
line(72),
end of t_itab1.
data: incl type table of t_itab1 with header line.
parameters: p_tab type i,
p_frst type c no-display.
selection-screen begin of line.
selection-screen: pushbutton 2(20) but1 user-command cli1.
selection-screen end of line.
include z_13317_dyn_incl if found.
initialization.
at selection-screen output.
if p_frst = ' '.
p_frst = 'X'.
perform crt_dyn_incl.
endif.
at selection-screen.
case sy-ucomm.
when 'CLI1'.
perform crt_dyn_incl.
endcase.
*& Form crt_dyn_incl
* text
form crt_dyn_incl .
perform populate_incl.
perform del_incl.
insert report 'Z_13317_DYN_INCL' from incl.
commit work.
submit z_13317_dyn_chkbox via selection-screen with p_frst = p_frst.
endform. " crt_dyn_incl
*& Form del_incl
* text
form del_incl .
call function 'RS_DELETE_PROGRAM'
exporting
program = 'Z_13317_DYN_INCL'
suppress_checks = 'X'
suppress_popup = 'X'
with_cua = ' '
with_documentation = ' '
with_dynpro = 'X'
with_includes = ' '
with_textpool = ' '
with_variants = ' '
if sy-subrc <> 0.
endif.
endform. " del_incl
*& Form populate_incl
* text
form populate_incl .
data: v_cnt type n.
do p_tab times.
v_cnt = v_cnt + 1.
incl-line = 'parameters: '.
concatenate incl-line 'p_chk' v_cnt into incl-line.
concatenate incl-line 'as checkbox.' into incl-line separated by space.
append incl.
clear incl.
enddo.
endform. " populate_incl
Regards,
Sailaja. -
Check User Name: Isn't happening
I have a registration page in JavaScript that is working fine except for the fact that I need it to check username against the database to insure that usernames do not get duplicated in the database. Because it does not check username I come to realize that user’s information is getting mixed up if the username are the same. I am sure I am not doing this correctly because I have not used JavaScript before…. So I than created an Insert Record on the registration:
Submit Values From: Form 1
Connection: Rescue
Insert Table: user_registration
Columns: ‘ID’Gets Value From “FORM.username as Integer’
Submit as: Integer
After insert, go to: myprofile.php
After creating the Insert Record I created the Check New Username:
Username Field: username
If already exist, go to: register.php
So I tested to see if what I added worked and it does not. What does happen- is when I create a new record in which the user has the same username that is all ready in the database…it allows me to create a duplicate username in the database and then send me to the following blank screen with the URL: http://www.rescuealerts.com/forms/user_registration/user_registration.php. Instead of sending me back to registration page to try again. I also realize I need to program in a message stating that username is unavailable try again but I hadn’t gotten to that point because I am first trying to get the Check New Username to work. Please find below the code for the Insert Record, the Check New Username and the registration input form.
Insert Record and Check New Username Code:
<?php require_once('Connections/rescue.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
if (PHP_VERSION < 6) {
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
return $theValue;
// *** Redirect if username exists
$MM_flag="MM_insert";
if (isset($_POST[$MM_flag])) {
$MM_dupKeyRedirect="register.php";
$loginUsername = $_POST['username'];
$LoginRS__query = sprintf("SELECT ID FROM user_registration WHERE ID=%s", GetSQLValueString($loginUsername, "int"));
mysql_select_db($database_rescue, $rescue);
$LoginRS=mysql_query($LoginRS__query, $rescue) or die(mysql_error());
$loginFoundUser = mysql_num_rows($LoginRS);
//if there is a row in the database, the username was found - can not add the requested username
if($loginFoundUser){
$MM_qsChar = "?";
//append the username to the redirect page
if (substr_count($MM_dupKeyRedirect,"?") >=1) $MM_qsChar = "&";
$MM_dupKeyRedirect = $MM_dupKeyRedirect . $MM_qsChar ."requsername=".$loginUsername;
header ("Location: $MM_dupKeyRedirect");
exit;
$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
$insertSQL = sprintf("INSERT INTO user_registration (ID) VALUES (%s)",
GetSQLValueString($_POST['username'], "text"));
mysql_select_db($database_rescue, $rescue);
$Result1 = mysql_query($insertSQL, $rescue) or die(mysql_error());
$insertGoTo = "myprofile.php";
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
header(sprintf("Location: %s", $insertGoTo));
?>
Registration Code:
<script src='http://www.rescuealerts.com/forms/user_registration/scripts/gen_validatorv5.js' type='text/javascript'></script>
<script src='http://www.rescuealerts.com/forms/user_registration/scripts/sfm_captcha_validator.js' type='text/javascript'></script>
<script src='http://www.rescuealerts.com/forms/user_registration/scripts/sfm-png-fix.js' type='text/javascript'></script>
<link rel='stylesheet' type='text/css' href='http://www.rescuealerts.com/forms/user_registration/style/user_registration.css'/>
<form id='user_registration' method='post' action='http://www.rescuealerts.com/forms/user_registration/user_registration.php' accept-charset='UTF-8'>
<div id='user_registration_errorloc' class='error_strings' style='width:500px;text-align:left'></div>
<div id='user_registration_outer_div' style='width:500px;height:1120px'>
<div style='position:relative; font-weight: normal;' id='user_registration_inner_div'>
<input type='hidden' name='sfm_form_submitted' value='yes'/>
<div id='heading_container'>
<div id='heading'>Please Enter Your Information Here:</div>
</div>
<div id='Image2_container'>
<img class='sfm_image_in_form' src='http://www.rescuealerts.com/forms/user_registration/images/rescue_logo_3 copy.jpg' width='128' height='24' alt='Rescue Alerts Logo'/>
</div>
<div id='register_name_container'>
<input type='text' name='register_name' id='register_name' size='20' class='sfm_textbox'/>
</div>
<div id='label39_container'>
<label id='label39' for='register_name' class='sfm_form_label'>Name:</label>
</div>
<div id='register_semail_container'>
<input type='text' name='register_semail' id='register_semail' size='20' class='sfm_textbox'/>
</div>
<div id='register_pemail_container'>
<input type='text' name='register_pemail' id='register_pemail' size='20' class='sfm_textbox'/>
</div>
<div id='label2_container'>
<label id='label2' for='register_pemail' class='sfm_form_label'>Primary Email:</label>
</div>
<div id='label3_container'>
<label id='label3' for='register_semail' class='sfm_form_label'>Secondary Email:</label>
</div>
<div id='register_cellphone_container'>
<input type='text' name='register_cellphone' id='register_cellphone' size='20' class='sfm_textbox'/>
</div>
<div id='register_phone_container'>
<input type='text' name='register_phone' id='register_phone' size='20' class='sfm_textbox'/>
</div>
<div id='label4_container'>
<label id='label4' for='register_phone' class='sfm_form_label'>Home Phone:</label>
</div>
<div id='label5_container'>
<label id='label5' for='register_cellphone' class='sfm_form_label'>Cell Phone:</label>
</div>
<div id='register_pass_container'>
<input type='password' name='register_pass' id='register_pass' size='20' class='sfm_textbox'/>
</div>
<div id='register_login_container'>
<input type='text' name='register_login' id='register_login' size='20' class='sfm_textbox'/>
</div>
<div id='label6_container'>
<label id='label6' for='register_pass' class='sfm_form_label'>User Password:</label>
</div>
<div id='label38_container'>
<label id='label38' for='register_login' class='sfm_form_label'>User Login:</label>
</div>
<div id='heading1_container'>
<div id='heading1'>Enter Emergency Contact Information Here:</div>
</div>
<div id='label14_container'>
<div id='label14'>Contact 1:</div>
</div>
<div id='con1_cell_container'>
<input type='text' name='con1_cell' id='con1_cell' size='20' class='sfm_textbox'/>
</div>
<div id='con1_name_container'>
<input type='text' name='con1_name' id='con1_name' size='20' class='sfm_textbox'/>
</div>
<div id='label11_container'>
<label id='label11' for='con1_cell' class='sfm_form_label'>Cell Phone:</label>
</div>
<div id='label40_container'>
<label id='label40' for='con1_name' class='sfm_form_label'>Name:</label>
</div>
<div id='con1_land_container'>
<input type='text' name='con1_land' id='con1_land' size='20' class='sfm_textbox'/>
</div>
<div id='label10_container'>
<label id='label10' for='con1_land' class='sfm_form_label'>Land Line:</label>
</div>
<div id='con1_email_container'>
<input type='text' name='con1_email' id='con1_email' size='20' class='sfm_textbox'/>
</div>
<div id='label12_container'>
<label id='label12' for='con1_email' class='sfm_form_label'>Email:</label>
</div>
<div id='label15_container'>hjohnson2011 wrote:
I have a registration page in JavaScript that is working fine except for the fact that I need it to check username against the database to insure that usernames do not get duplicated in the database. Because it does not check username I come to realize that user’s information is getting mixed up if the username are the same. I am sure I am not doing this correctly because I have not used JavaScript before….
When asking for help, you stand a much better chance of getting the answers you need if you create a simple test page to illustrate the problem, rather than posting hundreds of lines of code. A test page helps isolate the problem without being distracted by everything else in your complex form.
What's not clear from your description is what the JavaScript is intended to do. Taking a quick look at the code you have posted here, the Insert Record server behavior handles only the username. Yet your form has dozens of fields. Also, the form's action attribute points to user_registration.php. Is this the same page or a different script? If it's a different script, that's what's inserting the values into the database. The Check User Name server behavior is never called. Or is an external JavaScript file taking the values after validation and using an Ajax call to insert them in the database? Again, this would bypass the Check User Name server behavior.
Having said that, the Check User Name server behavior is, to my mind, worse than useless, because it redirects the user to another page, thereby losing all the user input. The simple solution is to add a UNIQUE index to the username column in the database. This prevents a duplicate entry from being inserted. However, you need to customize the Insert Record server behavior to intercept the MySQL error like this:
// remove the or die() clause
$Result1 = mysql_query($insertSQL, $rescue);
// if the username is already in use
if (!$Result1 && mysql_errno() == 1062) {
$error = $_POST['username'] . ' is already in use. Choose another.';
} elseif (mysql_error()) {
$error = 'Sorry, there is a problem with the database. Try later.';
} else {
$insertGoTo = "myprofile.php";
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
header(sprintf("Location: %s", $insertGoTo));
} // close extra conditional statement
You can then redisplay the page if the username is already taken, and use the $_POST array to preserve the user's input in the form. -
Handling Check Boxes in the selection screen
Hi All,
I have defined 3 Check Boxes in the selection screen and one box will be ticked as 'X" by default.
I need to put restriction so that only any one should be selected as 'X' whenever user wish to select.
Hence any time, when user selects a box, other two should be unchecked.
How to put this kind of control?
Regards
PavanI think you should go for 'Radiobutton'
But if U want check box then
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF cb_option1 = 'X'.
CLEAR cb_option2.
MODIFY SCREEN.
ELSEIF cb_option2 = 'X'.
CLEAR cb_option1.
MODIFY SCREEN.
ENDIF.
ENDLOOP. -
Check Box On Standrad Selection-screen
Hi Friends
I am working on HR ABAP .I added 4 check boxes On Standrad Selection-screen. Its working on Development but its not working on production.can anyone suggest how its happend.Hello,
A few questions.
- what exactly is not working in production?
- do the check boxes appear at all?
- did the changes get recorded on a change request and transported?
- was the transport successful?
- do the checkboxes 'work' in the QA envirionment?
Regards
Greg Kern -
Can I get field name of Selection screen ?
Hi, experts.
I'd like to manage PGM's screens & fields of screens. I need to know field names of selection screen in external PGMs to manage input values of those fields.
For values, I'll use 'Dynp_values_read', but what should I use for getting field names of selection screen?
Is there any functions, classes or tables for PGM's fields of selection screen?
I've found tables&functions for this and I found D020S, D020T, D021T for PGM's screen. But I counld't see proper field names that shows on a selection screen when I excuted PGM. I guess there's a conversion routine between data that saved in repository and field name on screen.
Please let me know what should I use a function, tables or else.
Thanks.Hi
Use Read text pool syntax
READ TEXTPOOL program name
INTO T_TPOOL
LANGUAGE 'NL'.
within TB_TPOOL all select option field namees will be stored under field ID with type S
Edited by: Lavanya K on Apr 22, 2009 10:02 AM -
PL/SQL Function to check user name and password
Hi,
I am new to PL/SQL. I have a table that stores user name and password. I want to write a PL/SQL function that checks if the entered user name and password is correct, by validation against the values in the table... Can someone help me with the code? Both user name and password is varchar2First of all, I believe you mean a procedure that would check the application username and password. Fot, if you mean a PL/SQL procedure, that runs in the database, and that means it has to be executed after the client application is connected to the database.
Maybe you need a procedure like this:
procedure check_pass(p_user varchar2, p_pass varchar2) is
pragma autonomous_transaction;
v_passwd varchar2(200);
begin
select passwd into v_passwd
from password_table
where user_name=p_user;
if v_passwd!=p_pass then
update password_table set
last_unsucc_logon=sysdate
,unsucc_logon_n=nvl(unsucc_logon_n,0)+1
where user_name=p_user;
commit;
raise_application_error(-20101,'Invalid username/password!');
end if;
exception
when no_data_found then
raise_application_error(-20101,'Invalid username/password!');
end;
Study this piece of code and see if this will do. -
How to filter by manager's name using selection screen
Hi all,
I am trying to modify the report to filter data from the report based on the manger name given in selection screen. As the manger's name was given in selection screen.. records have to come only of the employee how were working under that entered manager name.
I am unable to follow this code to modify.. where to add select criteria to filter... please make modify to my code..
I am pasting my code here, Can any one kindly help for this scenario.
TABLES: PA0001, "HR Master Record: Infotype 0001 (Org. Assignment),
PA0002,
P0000,
PA9001,
PA0007,
HRP1001, "Infotype 1001 DB Table
PA0034. "HR Master Record: Infotype 0034 (Corporate Function)
*Internal table for holding output data
DATA: IT_PA0002 LIKE PA0002 OCCURS 100 WITH HEADER LINE,
IT_PA9001 LIKE PA9001 OCCURS 100 WITH HEADER LINE,
IT_PA0007 LIKE PA0007 OCCURS 100 WITH HEADER LINE,
IT_PA0034 LIKE PA0034 OCCURS 100 WITH HEADER LINE.
DATA: IT_RET LIKE BAPIRET2,
IT_ACT LIKE BAPI_SWHACTOR OCCURS 0,
IT_STR LIKE BAPI_STRUC OCCURS 0,
IT_ORG LIKE BAPI_OBJEC OCCURS 0,
IT_POS LIKE BAPI_OBJEC OCCURS 0,
IT_SUP LIKE BAPI_OBJEC OCCURS 0,
IT_FCAT LIKE BAPI_HRAQFIELDDESCRIPTION OCCURS 0,
IT_FDAT LIKE BAPI_HRFIELDDATA OCCURS 0,
IT_ORGS TYPE STANDARD TABLE OF BAPI_OBJEC WITH HEADER LINE,
IT_POSS TYPE STANDARD TABLE OF BAPI_OBJEC WITH HEADER LINE,
IT_SUPR TYPE STANDARD TABLE OF BAPI_OBJEC WITH HEADER LINE,
V_DATE TYPE SY-DATUM,
IT_T500P LIKE T500P OCCURS 0 WITH HEADER LINE,
IT_TT500P LIKE T500P OCCURS 0 WITH HEADER LINE,
IT_T001P LIKE T001P OCCURS 0 WITH HEADER LINE .
DATA: IT_PA0001 LIKE PA0001 OCCURS 100 WITH HEADER LINE,
P_ENDDA LIKE sy-datum.
DATA: Begin of I_HRE,
pernr like pa0001-pernr, "Emp Number
nachn like pa0002-nachn, "Last Name
vorna like pa0002-vorna, "First Name
plans like BAPI_OBJEC-LONG_TEXT, "Position
div_text like pa9001-div_text,
kztim like ZKZTIM_VAUES-name,
stext like T591S-STEXT, "Corporate function text
werks like BAPI_OBJEC-LONG_TEXT,
btrtl like pa0001-btrtl,
orgeh like BAPI_OBJEC-LONG_TEXT,
kostl like pa0001-kostl,
mstbr like pa0001-mstbr, "Supervisor
End of I_HRE.
DATA: I_HR like I_HRE occurs 100 with header line.
DATA: V_PLANS LIKE PA0001-PLANS,
V_EMP LIKE PA0001-PERNR,
V_KOSTL LIKE PA0001-KOSTL,
V_SUPER LIKE BAPI_OBJEC-LONG_TEXT,
V_EMP_POS LIKE BAPI_OBJEC-LONG_TEXT,
V_SUPER_POS LIKE BAPI_OBJEC-LONG_TEXT,
V_HEADER TYPE N VALUE 1,
V_COUNTER TYPE N VALUE 1,
EMP_INDICATOR TYPE N,
V_ORGEH LIKE BAPI_OBJEC-LONG_TEXT,
V_WERKS LIKE BAPI_OBJEC-LONG_TEXT,
V_KZTIM LIKE ZKZTIM_VAUES-NAME,
V_STEXT LIKE T591S-STEXT.
DATA: v_file TYPE string, "Detail Filename
v_filerecord(1000),
f_filerecord(1000),
drive(3),
mstbr like pa0001-mstbr, "Supervisor
count type n value 0.
SELECTION-SCREEN BEGIN OF BLOCK SELECTION WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS: S_PERNR FOR P0000-PERNR,
S_WERKS FOR PA0001-WERKS,
S_BTRTL FOR PA0001-BTRTL,
S_PERSG FOR PA0001-PERSG,
S_ORGEH FOR PA0001-ORGEH,
S_DIV FOR PA9001-DIV_CODE,
S_KZTIM FOR PA0007-KZTIM,
S_sname for pa0001-sname, " this is to enter name
" as manager name
S_FUNKT FOR PA0034-FUNKT.
SELECTION-SCREEN END OF BLOCK SELECTION.
SELECTION-SCREEN BEGIN OF BLOCK SELECTION1 WITH FRAME TITLE TEXT-002.
PARAMETERS: P_BEGDA LIKE SY-DATUM DEFAULT sy-datum.
* P_ENDDA LIKE SY-DATUM DEFAULT '99991231'.
SELECTION-SCREEN END OF BLOCK SELECTION1.
START-OF-SELECTION.
if P_BEGDA is initial.
p_begda = sy-datum.
endif.
if P_ENDDA is initial.
p_endda = sy-datum.
endif.
if S_PERSG is initial.
* S_PERSG-SIGN = 'I'.
* S_PERSG-OPTION = 'EQ'.
* S_PERSG-LOW = '1'.
* APPEND S_PERSG.
* S_PERSG-SIGN = 'I'.
* S_PERSG-OPTION = 'EQ'.
* S_PERSG-LOW = '6'.
* APPEND S_PERSG.
S_PERSG-SIGN = 'I'.
S_PERSG-OPTION = 'NE'.
S_PERSG-LOW = '5'.
APPEND S_PERSG.
endif.
SELECT * FROM PA0001 into IT_PA0001
WHERE PERNR IN S_PERNR
AND WERKS IN S_WERKS
AND BTRTL IN S_BTRTL
AND PERSG IN S_PERSG
AND ORGEH IN S_ORGEH
AND BEGDA LE P_BEGDA
AND ENDDA GE P_ENDDA.
APPEND IT_PA0001.
ENDSELECT.
IF not S_DIV[] is initial.
SELECT * FROM PA9001 into IT_PA9001
WHERE DIV_CODE IN S_DIV.
APPEND IT_PA9001.
ENDSELECT.
ENDIF.
IF not S_KZTIM[] is initial.
SELECT * FROM PA0007 into IT_PA0007
WHERE KZTIM IN S_KZTIM.
APPEND IT_PA0007.
ENDSELECT.
ENDIF.
IF not S_FUNKT[] is initial.
SELECT * FROM PA0034 into IT_PA0034
WHERE FUNKT IN S_FUNKT.
APPEND IT_PA0034.
ENDSELECT.
ENDIF.
SORT IT_PA0001 by SNAME.
LOOP AT IT_PA0001.
IF not S_DIV[] is initial.
READ TABLE IT_PA9001 with key pernr = IT_PA0001-PERNR.
IF sy-subrc ne 0.
continue.
ENDIF.
ENDIF.
IF not S_KZTIM[] is initial.
READ TABLE IT_PA0007 with key pernr = IT_PA0001-PERNR.
IF sy-subrc ne 0.
continue.
ENDIF.
ENDIF.
IF not S_FUNKT[] is initial.
READ TABLE IT_PA0034 with key pernr = IT_PA0001-PERNR.
IF sy-subrc ne 0.
continue.
ENDIF.
ENDIF.
V_COUNTER = 1.
V_EMP = IT_PA0001-PERNR.
V_KOSTL = IT_PA0001-KOSTL.
* WRITE: (10) V_EMP, (20) PA0002-NACHN, (20) PA0002-VORNA.
WRITE: / SY-VLINE. " Left border
WHILE V_EMP NE ''.
PERFORM GET_SUPER CHANGING V_EMP V_SUPER
V_EMP_POS.
if v_emp ne ''.
select single * into it_pa0002 from pa0002
where pernr = v_emp
and begda LE p_begda
and endda GE p_endda.
IF V_HEADER = 1.
PERFORM HEADING.
V_HEADER = 0.
ENDIF.
WRITE: (10) V_EMP, (17) IT_PA0002-NACHN
,(17) IT_PA0002-VORNA, (40) V_EMP_POS.
move v_emp to i_hr-pernr.
move IT_PA0002-NACHN to i_hr-nachn.
move IT_PA0002-VORNA to i_hr-vorna.
move V_EMP_POS to i_hr-plans.
EMP_INDICATOR = V_COUNTER.
IF V_COUNTER = 1.
select single * into it_pa9001 from pa9001
where pernr = v_emp
and begda LE p_begda
and endda GE p_endda.
select single * into it_pa0007 from pa0007
where pernr = v_emp
and begda LE p_begda
and endda GE p_endda.
PERFORM GET_KZTIM_TEXT CHANGING it_pa0007-kztim V_KZTIM.
select single * into it_pa0034 from pa0034
where pernr = v_emp
and begda LE p_begda
and endda GE p_endda.
PERFORM GET_FUNKT_TEXT CHANGING it_pa0034-funkt v_stext.
write: (8) IT_PA9001-DIV_CODE, (17) V_KZTIM,
(25) V_STEXT.
move IT_PA9001-DIV_CODE to i_hr-div_text.
move v_KZTIM to i_hr-kztim.
ENDIF.
IF V_COUNTER = 0.
WRITE: (1) '|'.
ENDIF.
IF V_COUNTER = 1.
PERFORM GET_NAMES.
WRITE: (20) V_WERKS, (5) IT_PA0001-BTRTL
,(20) V_ORGEH,(11) V_KOSTL, (3) '|'.
V_COUNTER = 0.
move V_WERKS to i_hr-werks.
move IT_PA0001-BTRTL to i_hr-btrtl.
move V_ORGEH to i_hr-orgeh.
move V_KOSTL to i_hr-kostl.
ENDIF.
clear it_pa0002.
refresh it_pa0002.
endif.
V_EMP = V_SUPER.
move V_SUPER to i_hr-mstbr.
if EMP_INDICATOR EQ 1.
append i_hr.
endif.
clear i_hr.
ENDWHILE.
NEW-LINE.
CLEAR : V_KZTIM, it_pa9001, it_PA0007.
ENDLOOP.
* Check if its a background Job
IF SY-BATCH NE SPACE.
perform write_file. "Output File
ENDIF.
ULINE.
*& Form GET_SUPER
* This subroutine takes the position number and get the position
* number that it reports to and then who is holding that position and
* then the name of the person who is holding that position in order to
* provide the supervisors name for the person in that position.
* --> p1 text
* <-- p2 text
FORM GET_SUPER CHANGING EMP_SUB EMP_SUPER
EMP_SUB_POS .
DATA: v_reporto like hrp1001-varyf value space,
v_holder like hrp1001-varyf value space,
v_filled like hrp1001-varyf value space,
v_otype like hrp1001-otype value space,
v_objid like hrp1001-objid value space.
CLEAR: v_reporto, v_holder, v_filled, v_otype, v_objid,
EMP_SUB_POS.
Select single plans
into v_plans
from pa0001
where pernr = emp_sub
and begda LE p_begda
and endda GE p_endda.
CALL FUNCTION 'BAPI_ORGUNITEXT_DATA_GET'
EXPORTING
PLVAR = '01'
OTYPE = 'S'
OBJID = v_PLANS
KEYDATE = SY-DATUM
SCENARIO = ' '
* EVALPATH = 0
EVALDEPTH = 0
IMPORTING
RETURN = IT_RET
TABLES
* ACTORTAB = IT_ACT
* STRUCTURALDATA = IT_STR
OBJECTSDATA = IT_SUP
* FIELDCATALOGUE = IT_FCAT
* FIELDDATA = IT_FDAT
IF SY-SUBRC EQ 0.
READ TABLE IT_SUP INTO IT_SUPR
WITH KEY PLAN_VERS = '01'
OBJECTTYPE = 'S'
OBJECT_ID = v_PLANS.
IF SY-SUBRC EQ 0.
MOVE IT_SUPR-LONG_TEXT TO EMP_SUB_POS.
ENDIF.
ENDIF.
Select Single varyf
into v_reporto
from hrp1001
where otype = 'S'
and objid = v_plans
and rsign = 'A'
and relat = '002'
and begda LE p_begda
and endda GE p_endda.
if sy-subrc = 0.
move v_reporto+0(1) to v_otype.
move v_reporto+2(8) to v_objid.
Select single varyf
into v_holder
from hrp1001
where otype = v_otype
and objid = v_objid
and rsign = 'A'
and relat = '008'
and begda LE p_begda
and endda GE p_endda.
if sy-subrc = 0.
move v_holder+0(1) to v_otype.
move v_holder+2(8) to v_objid.
EMP_SUPER = v_objid.
IF EMP_SUB = EMP_SUPER.
EMP_SUPER = ''.
ENDIF.
* Select single varyf
* into v_filled
* from hrp1001
* where otype = v_otype
* and objid = v_objid
* and rsign = 'A'
* and relat = '209'.
* if sy-subrc = 0.
* CLEAR: IT_RET, IT_ACT, IT_STR, IT_FCAT, IT_FDAT,
* IT_SUP, IT_SUPR.
* REFRESH: IT_POSS.
* move v_filled+0(2) to v_otype.
* move v_filled+2(8) to v_objid.
* CALL FUNCTION 'BAPI_ORGUNITEXT_DATA_GET'
* EXPORTING
* PLVAR = '01'
* OTYPE = v_otype
* OBJID = v_objid
* KEYDATE = V_DATE
* SCENARIO = ' '
** EVALPATH = 0
* EVALDEPTH = 0
* IMPORTING
* RETURN = IT_RET
* TABLES
** ACTORTAB = IT_ACT
** STRUCTURALDATA = IT_STR
* OBJECTSDATA = IT_SUP
** FIELDCATALOGUE = IT_FCAT
** FIELDDATA = IT_FDAT
* IF SY-SUBRC EQ 0.
* READ TABLE IT_SUP INTO IT_SUPR
* WITH KEY PLAN_VERS = '01'
* OBJECTTYPE = v_otype
* OBJECT_ID = v_objid.
* IF SY-SUBRC EQ 0.
* MOVE IT_SUPR-LONG_TEXT TO EMP_SUPER.
* ENDIF.
* ENDIF.
* endif.
endif.
endif.
if sy-subrc <> 0.
EMP_SUPER = ''.
endif.
ENDFORM. " GET_SUPER
*& Form HEADING
* text
* --> p1 text
* <-- p2 text
FORM HEADING .
FORMAT INTENSIFIED OFF. " Remove any INTENSIFIED
FORMAT COLOR COL_HEADING INTENSIFIED." Title color
WRITE: (10) 'Employee', (17) 'Last Name'
,(17) 'First Name', (40) 'Position'
,(8) 'Division', (17) 'Management Type'
,(25) 'Corporate Function'
,(20) 'Personnel Area', (5) 'PSA'
,(20) 'Org. Unit',(11) 'Cost Center',(3) '|'
,(10) 'Supervisor', (17) 'Last Name'
,(17) 'First Name', (40) 'Position', (1) '|'
,(10) 'Supervisor', (17) 'Last Name'
,(17) 'First Name', (40) 'Position', (1) '|'
,(10) 'Supervisor', (17) 'Last Name'
,(17) 'First Name', (40) 'Position', (1) '|'
,(10) 'Supervisor', (17) 'Last Name'
,(17) 'First Name', (40) 'Position', (1) '|'
,(10) 'Supervisor', (17) 'Last Name'
,(17) 'First Name', (40) 'Position', (1) '|'
,(10) 'Supervisor', (17) 'Last Name'
,(17) 'First Name', (40) 'Position', (1) '|'
,(10) 'Supervisor', (17) 'Last Name'
,(17) 'First Name', (40) 'Position', (1) '|'
,(10) 'Supervisor', (17) 'Last Name'
,(17) 'First Name', (40) 'Position', (1) '|'
,(10) 'Supervisor', (17) 'Last Name'
,(17) 'First Name', (40) 'Position', (1) '|'
ULINE . " Line below titles
NEW-LINE.
WRITE: / SY-VLINE. " Left border
FORMAT COLOR OFF.
ENDFORM. " HEADING
*& Form GET_NAMES
* text
* --> p1 text
* <-- p2 text
FORM GET_NAMES .
CLEAR: IT_RET, IT_ACT, IT_STR, IT_ORG, IT_POS, IT_FCAT, IT_FDAT,
IT_ORGS, IT_POSS, V_ORGEH, V_WERKS.
REFRESH: IT_ORGS, IT_POSS.
MOVE SY-DATUM TO V_DATE.
CALL FUNCTION 'BAPI_ORGUNITEXT_DATA_GET'
EXPORTING
PLVAR = '01'
OTYPE = 'O '
OBJID = IT_PA0001-ORGEH
KEYDATE = V_DATE
SCENARIO = ' '
* SCENARIO = 'MDT1'
* EVALPATH = '0 '
EVALDEPTH = 0
IMPORTING
RETURN = IT_RET
TABLES
* ACTORTAB = IT_ACT
* STRUCTURALDATA = IT_STR
OBJECTSDATA = IT_ORG
* FIELDCATALOGUE = IT_FCAT
* FIELDDATA = IT_FDAT
IF SY-SUBRC EQ 0.
READ TABLE IT_ORG INTO IT_ORGS
WITH KEY PLAN_VERS = '01'
OBJECTTYPE = 'O '
OBJECT_ID = IT_PA0001-ORGEH.
IF SY-SUBRC EQ 0.
MOVE IT_ORGS-LONG_TEXT TO V_ORGEH.
ENDIF.
ENDIF.
CALL FUNCTION 'HR_TMW_READ_T500P'
EXPORTING
PERSA = IT_PA0001-WERKS
IMPORTING
W500P = IT_T500P
EXCEPTIONS
NO_ENTRY_FOUND = 1
OTHERS = 2.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
IF SY-SUBRC EQ 0.
MOVE IT_T500P-NAME1 TO V_WERKS.
CLEAR: IT_T500P.
REFRESH: IT_T500P.
ENDIF.
* CALL FUNCTION 'HR_TMW_READ_T001P'
* EXPORTING
* PERSA = PA0001-WERKS
* BTRTL = PA0001-BTRTL
* IMPORTING
* W001P = IT_T001P
* EXCEPTIONS
* NO_ENTRY_FOUND = 1
* OTHERS = 2.
* IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
* ENDIF.
* IF SY-SUBRC EQ 0.
* MOVE IT_T001P-BTEXT TO IT_HRR05-BTRTL.
* ENDIF.
ENDFORM. " GET_NAMES
*& Form GET_KZTIM_TEXT
* text
* <--P_V_EMP text
* <--P_V_KZTIM text
FORM GET_KZTIM_TEXT CHANGING P_KZTIM_ID
P_KZTIM.
select single NAME into P_KZTIM from ZKZTIM_VAUES
where TYPE eq P_KZTIM_ID.
ENDFORM. " GET_KZTIM_TEXT
*& Form GET_FUNKT_TEXT
* text
* <--P_V_EMP text
* <--P_V_KZTIM text
FORM GET_FUNKT_TEXT CHANGING P_FUNKT_ID
P_STEXT.
select single STEXT into P_STEXT from T591S
where SPRSL eq 'EN' and
INFTY eq '0034' and
SUBTY eq P_FUNKT_ID.
ENDFORM. " GET_KZTIM_TEXT
*& Form write_file
* text
* --> p1 text
* <-- p2 text
FORM write_file .
* Checking the System ID
if sy-sysid = 'RD1'.
drive = 'D:\'.
else.
drive = 'M:\'.
endif.
* concatenate drive sy-sysid
* '\Output\Reports\HR\HR_Public\Emp_Hierarchy'
* sy-datum
* '.xls' into v_file.
concatenate drive sy-sysid
'\Output\Reports\HR\HR_Public\Emp_Hierarchy.xls'
into v_file.
OPEN DATASET v_file FOR OUTPUT in text mode encoding default.
concatenate 'Employee'
'Last Name'
'First Name'
'Position'
'Division'
'Management Type'
'Corporate Function'
'Personnel Area '
'PSA'
'Org. Unit'
'Cost Center'
'Supervisor'
'Last Name'
'First Name'
'Position'
'Supervisor'
'Last Name'
'First Name'
'Position'
'Supervisor'
'Last Name'
'First Name'
'Position'
'Supervisor'
'Last Name'
'First Name'
'Position'
'Supervisor'
'Last Name'
'First Name'
'Position'
'Supervisor'
'Last Name'
'First Name'
'Position'
'Supervisor'
'Last Name'
'First Name'
'Position'
'Supervisor'
'Last Name'
'First Name'
'Position'
'Supervisor'
'Last Name'
'First Name'
'Position'
into v_filerecord
separated by CL_ABAP_CHAR_UTILITIES=>HORIZONTAL_TAB.
transfer v_filerecord to v_file. "Writing to file
clear v_filerecord.
loop at IT_PA0001.
do.
if count eq 0.
read table i_hr with key pernr = IT_PA0001-pernr.
concatenate i_hr-pernr
i_hr-nachn
i_hr-vorna
i_hr-plans
i_hr-div_text
i_hr-kztim
i_hr-stext
i_hr-werks
i_hr-btrtl
i_hr-orgeh
i_hr-kostl
into v_filerecord
separated by CL_ABAP_CHAR_UTILITIES=>HORIZONTAL_TAB.
mstbr = i_hr-mstbr.
count = count + 1.
else.
read table i_hr with key pernr = mstbr.
concatenate v_filerecord
i_hr-pernr
i_hr-nachn
i_hr-vorna
i_hr-plans
into f_filerecord
separated by CL_ABAP_CHAR_UTILITIES=>HORIZONTAL_TAB.
v_filerecord = f_filerecord.
mstbr = i_hr-mstbr.
clear i_hr.
endif.
if mstbr eq space.
exit.
endif.
enddo.
transfer v_filerecord to v_file. "Writing to file
clear: v_filerecord, f_filerecord, count.
endloop.
CLOSE DATASET v_file.
ENDFORM. " write_file
Edited by: Surender Batlanki on Feb 20, 2008 7:50 AM
Edited by: Surender Batlanki on Feb 20, 2008 7:59 AM
Edited by: Surender Batlanki on Feb 20, 2008 8:12 AM
Edited by: Surender Batlanki on Feb 20, 2008 3:16 PM
Edited by: Alvaro Tejada Galindo on Feb 20, 2008 9:26 AMHi Surender,
In the Perform GET_SUPER, you are getting manager's OBJID. Use this OBJID and from PA0001 get Manger's name.
While passing data to output table, filter that table by Manager's name and then pass output table for display.
Hope this helps u.
<REMOVED BY MODERATOR>
Regards,
Preeti
Edited by: Alvaro Tejada Galindo on Feb 20, 2008 9:26 AM -
How to get a check box on the selection screen
Hi all
can any body tell me how to get a check box on the selection screenparameter: pa_check as checkbox.
To define the input field of a parameter as a checkbox, you use the following syntax:
PARAMETERS <p> ...... AS CHECKBOX ......
Parameter <p> is created with type C and length 1. In this case, you may not use the additions TYPE and LIKE. Valid values for <p> are ' ' and 'X'. These values are assigned to the parameter when the user clicks the checkbox on the selection screen.
If you use the TYPE addition to refer to a data type in the ABAP Dictionary of type CHAR and length 1 for which 'X' and ' ' are defined as valid values in the domain, the parameter automatically appears as a checkbox on the selection screen.
REPORT DEMO.
PARAMETERS: A AS CHECKBOX,
B AS CHECKBOX DEFAULT 'X'. -
How to create check boxes dynamically in selection screen
Hi Experts,
I have a requirement of creating dynamic check boxes based on the number of records that are retrieved from a database table.
Can you please suggest me how to achieve it.
Regards
RP.Hey RP,
Try this way.
REPORT ztest_program .
DATA: it_data TYPE TABLE OF t001.
DATA:check TYPE char3.
DATA:sy_index TYPE char2.
DEFINE checkbox.
parameters:&1 as checkbox.
END-OF-DEFINITION.
CHECKbox:c01,c02,c03,c04,c05,c06,c07,c08,c09,c10,
c11,c12,c13,c14,c15,c16,c17,c18,c19,c20,
c21,c22,c23,c24,c25,c26,c27,c28,c29,c30,
c31,c32,c33,c34,c35,c36,c37,c38,c39,c40.
AT SELECTION-SCREEN OUTPUT.
DESCRIBE TABLE it_data LINES sy-tfill.
sy-tfill = 39. "This will be changed based on the itab records. I just hardcoded the value
sy_index = 1.
LOOP AT SCREEN.
CONCATENATE 'C' sy_index INTO check.
IF screen-name = check.
IF sy_index GT sy-tfill.
screen-active = '0'.
MODIFY SCREEN.
sy_index = sy_index + 1.
CONTINUE.
ENDIF.
sy_index = sy_index + 1.
ENDIF.
ENDLOOP.
Thanks
Venkat.O -
Check box in ALV selection screen
Hi to all
I like to know how to create a checkbox in the input screen of an ALV.What do you mean by ALV check box selection screen?
ALV and selection screen check box( you are mixing two cases in your Question).
You need use the Function moduel in the user command to get the updated data.
in fieldcatalog you have to use INPUT = 'X' and EDIT = 'X' for the columns which ever you want edit.
GET_GLOBALS_FROM_SLVC_FULLSCR
follow the sample code.
REPORT ZTEST_ALV_CHECK MESSAGE-ID ZZ .
TYPE-POOLS: SLIS.
DATA: X_FIELDCAT TYPE SLIS_FIELDCAT_ALV,
IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
L_LAYOUT TYPE SLIS_LAYOUT_ALV,
X_EVENTS TYPE SLIS_ALV_EVENT,
IT_EVENTS TYPE SLIS_T_EVENT.
DATA: BEGIN OF ITAB OCCURS 0,
VBELN LIKE VBAK-VBELN,
POSNR LIKE VBAP-POSNR,
CHK(1),
color(4),
END OF ITAB.
SELECT VBELN
POSNR
FROM VBAP
UP TO 20 ROWS
INTO TABLE ITAB.
X_FIELDCAT-FIELDNAME = 'CHK'.
X_FIELDCAT-TABNAME = 'ITAB'.
X_FIELDCAT-COL_POS = 1.
X_FIELDCAT-INPUT = 'X'.
X_FIELDCAT-EDIT = 'X'.
X_FIELDCAT-CHECKBOX = 'X'.
APPEND X_FIELDCAT TO IT_FIELDCAT.
CLEAR X_FIELDCAT.
X_FIELDCAT-FIELDNAME = 'VBELN'.
X_FIELDCAT-SELTEXT_L = 'VBELN'.
X_FIELDCAT-HOTSPOT = 'X'.
X_FIELDCAT-TABNAME = 'ITAB'.
X_FIELDCAT-COL_POS = 2.
APPEND X_FIELDCAT TO IT_FIELDCAT.
CLEAR X_FIELDCAT.
X_FIELDCAT-FIELDNAME = 'POSNR'.
X_FIELDCAT-SELTEXT_L = 'POSNR'.
X_FIELDCAT-TABNAME = 'ITAB'.
X_FIELDCAT-COL_POS = 3.
APPEND X_FIELDCAT TO IT_FIELDCAT.
CLEAR X_FIELDCAT.
L_LAYOUT-info_fieldname = 'COLOR'.
*L_LAYOUT-ZEBRA = 'X'.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
IS_LAYOUT = L_LAYOUT
I_CALLBACK_PF_STATUS_SET = 'STATUS'
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
IT_FIELDCAT = IT_FIELDCAT
TABLES
T_OUTTAB = ITAB
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2.
IF SY-SUBRC 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
*& Form STATUS
text
-->P_EXTAB text
FORM STATUS USING P_EXTAB TYPE SLIS_T_EXTAB.
Pf status
SET PF-STATUS 'STATUS'.
ENDFORM. " STATUS
*& Form USER_COMMAND
text
-->R_UCOMM text
-->RS_SELFIELD text
FORM USER_COMMAND USING R_UCOMM LIKE SY-UCOMM
RS_SELFIELD TYPE SLIS_SELFIELD.
DATA: GD_REPID LIKE SY-REPID, "Exists
REF_GRID TYPE REF TO CL_GUI_ALV_GRID.
IF REF_GRID IS INITIAL.
CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
IMPORTING
E_GRID = REF_GRID.
ENDIF.
IF NOT REF_GRID IS INITIAL.
CALL METHOD REF_GRID->CHECK_CHANGED_DATA .
ENDIF.
loop at itab where chk = 'X'.
itab-color = 'C300'.
modify itab index sy-tabix transporting color.
endloop.
RS_SELFIELD-refresh = 'X'.
break-point.
ENDFORM. "USER_COMMAND
Regards
Vijay Babu Dudla -
RAR5.3 not able to cut and paste list of users to Multiple Selection screen
CC V4.0 on ABAP system has a feature where you can cut and paste a list of many users from the clipboard to Single Values column in the Multiple Selection screen, so you can run SOD Analysis Report for all those users. The Multiply Selection screen is a standard SAP supplied pop up screen.
With RAR 5.3 the Multiply Selection screen design is different. There is no longer feature to cut and paste from clipboard. We have to input each user one at a time. So if you have many users (20, 30, etc.) it is a time consuming task. It is not acceptable to our business power users.
We can import the list of users to a Custom User Group (in the Configuration Tab). First of all, there is no mass delete on Custom User Group. You have to delete each user one at a time which is time consuming. The alternative is to create a new Custom User Group each time, then it becomes a maintenance nightmare. Secondly, it is in the Configuration Tab which is only available to Administrators (fear of users changing configuation data), so the Administrator (or whomever has access to the Configuration Tab) has to maintain the Custom User Groups which is a lot of work for him or her or them.
We talk to SAP every week. But they are looking at this as a long time project. Does any one of you (or your company) has the same requirements? How do you get around it? Did you setup some other procedures so users can cut and paste the users list and run the Risk Analysis report themselves?
Thanks,
John.This is probably a JVM issue. Are you using JInitiator or the IE native JVM?
I suggest you turn on the JVM console, set the trace level to maximum, and then watch what happens when you attempt the copy.
Also, check the key mapping (usually ctrl-k) that the forms applet is implementing. Perhaps ctrl-c means something else... -
Problem with User Defined Second Selection Screen
Hi Gurus,
I have a problem with the selection screen selections. My requirement is that , User when he selects a check box on the main selection screen ( which is 1000) then at the at-selection event, another screen (whose number is 2000) will be called and it has some parameters to enter values. My problem is that how to get the values from this second screen and use them in the in my program. There is an execute button on the second selection screen and when i click that, nothing is happening.
Can anybody suggest me how to get the values from this screen which we called, and entered values in that screen. How to use these values and is there any way that we can do this.
Thanks in advance for helping me out.
Regards,
Srinivas.Use <b>DYNP_VALUES_READ</b> FM to read the values from your dynpro screen...
Like this...
DATA: ls_dyname TYPE d020s-prog,
ls_dynumb TYPE d020s-dnum.
gt_dynpfields TYPE STANDARD TABLE OF dynpread WITH HEADER LINE.
ls_dynumb = '0112'.
gt_dynpfields-fieldname = 'RF05A-NEWKO'.
APPEND gt_dynpfields.
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
dyname = ls_dyname
dynumb = ls_dynumb
TABLES
dynpfields = gt_dynpfields
EXCEPTIONS
invalid_abapworkarea = 1
invalid_dynprofield = 2
invalid_dynproname = 3
invalid_dynpronummer = 4
invalid_request = 5
no_fielddescription = 6
invalid_parameter = 7
undefind_error = 8
double_conversion = 9
stepl_not_found = 10
OTHERS = 11.
Greetings,
Blag. -
Quick Viewer SQVI: how to switch to Technical Field Names on select screen?
Hi all,
I have created in SQ01 a Quick view and want to see the technical field names (and not the descriptions) on the selection screen.
In SE16 in the selection screen you go to
-> Settings
-> User parameters
unter 'keywords' you find FIELD NAME / LABEL and you can choose.
But in SQVI there is not that option.
Only in the creation of the query you can 'switch between techniucal name and long text'.
However if you execute and come to the selection screen then there is only the long text....
Who knows????
Thanks in advance,
ThomasI also tried with different options but it looks like SAP does not have option to display technical fields in output, however we can see technical names while creating query.
-
Do you know how to place "enter by user name" to initial screen of fb03?
Hello,
When we enter fb03 display finance document, and click "header" button, I can see the "entery by username". But we want the "enter by name" display in the initial screen of fb03.
Is anyone can suggest how to make it?
Thanks,
Li JingHi,
In FB03, first you need to navigate to the Document list and from there you can choose the use name in the dynamic selection. The user name will not come in the initial screen of FB03.
Alternatively, you can create a selection screen program which will have use name on the selection screen alongwith other fields and then pass on this selection details to the program RFBUEB00 selection data. Your ABAPer can do it for you.
Regards,
Gaurav
Maybe you are looking for
-
Which is best video format for storage of video media files?
Greetings, good folk and happy holidays! My question involves the conversion of physical video media, DVDs, video files, etc, and storage for use with multiple devices. Like many of you, I have video in many formats and in multiple places... DVDs, Bl
-
How can i share folders at Mac mini late 2009 with Apple Tv 3?
I'm using Mac mini 2009 and I can't share any folder with Apple tv 3...anyone managed to get a way to do so, so far?
-
Slow/fast/reverse in video effects
Hi I've just got the new iMac with iMovie 08. Does anyone know how I can get into the video effects and the slow/fast/reverse function?
-
How do I get itunes to play the local file instead of streaming it?
I have my iTunes Library on an external FW800 drive. Recently I didn't realize the drive was not attached and tried to play a song. iTunes couldn't find the file and started streaming it from iTunes Match. I've since reattached the drive, but iTun
-
We often have to copy images in Word documents and paste them into a new file in Photoshop. Hitting New... in CS4 Photoshop opens a blank file of the correct size and resolution to paste in the clipboard file. CS5 cuts the file down to a tiny size an