Help for meta info for procedure
how i get a meta information of a procedure in a package.
i use the occi demo code for get the describe only use the function name is package.procedurename .but there is an oracle exception
You need to ask Apple to reset your security questions. To do this, click here and pick a method; if that page doesn't list one for your country or you're unable to call, fill out and submit this form.
They wouldn't be security questions if they could be bypassed without Apple verifying your identity.
(113199)
Similar Messages
-
Hi All,
I had the table
SQL> desc t_pur_order_detail
Name Null? Type
PUR_ORDER_DETAIL_ID NOT NULL NUMBER
PUR_ORDER_ID NUMBER
NUMBER_OF_UNITS NUMBER
UNIT_COST NUMBER(5,2)
SERV_AUTH_DETAIL_ID NUMBER
I created the procedure
create or replace procedure USP_pur_serv
is
type t_poamount is table of t_pur_order_detail.unit_cost%type;
v_poamount t_poamount;
begin
select A.poamount bulk collect into v_poamount
from
select pur_order_id ,sum(number_of_units * unit_cost ) poamount
from t_pur_order_detail
group by pur_order_id
) A ;
end;
It is created successfully.
when i try to run the procedure it is giving the following error
ORA-06502: PL/SQL: numeric or value error: Bulk bind: Error in define
ORA-06512: at "SYSTEM.USP_PUR_SERV", line 14
ORA-06512: at line 1
could anyone please correct me
thanks
rampaHi Rampa,
Try to change :
type t_poamount is table of t_pur_order_detail.unit_cost%type;
by
type t_poamount is table of number;
Because it doesn't make sens to store a sum in a limited datatype.
and also, try to avoid user objects in the SYSTEM schema... ;o)
Christophe -
Help for procedure for distributing amount
hi,
I want to create a procedure where i pass a amount and it automatically distribute amount as received like that:
i have a table with fields:
serial_number number
amount_a number
amount_b number
amount_c number
receive_A number
receive_B number
receive_C number
serial_number amount_A amount_B amount_C RECEIVE_A RECEIVE_B RECEIVE_C
1 100 50 50
2 100 50 50
3 100 50 50
4 100 50 50
5 100 50 50
6 100 50 50
7 100 50 50
8 100 50 50
9 100 50 50
10 100 50 50
11 100 50 50
12 100 50 50
13 100 50 50
14 100 50 50
15 100 50 50
i want to write a procedure which split my receiving amount in the fields till amount is not complete like if i received 500 amount procedure split amount like
serial_number amount_A amount_B amount_C RECEIVE_A RECEIVE_B RECEIVE_C
1 100 50 50 100 50 50
2 100 50 50 100 50 50
3 100 50 50 100
4 100 50 50
5 100 50 50
6 100 50 50
7 100 50 50
8 100 50 50
9 100 50 50
10 100 50 50
11 100 50 50
12 100 50 50
13 100 50 50
14 100 50 50
15 100 50 50
thanks in advancedrop table t;
create table t
(serial_number number
,amount_a number
,amount_b number
,amount_c number
,receive_A number
,receive_B number
,receive_C number
--serial_number amount_A amount_B amount_C RECEIVE_A RECEIVE_B RECEIVE_C
insert into t(serial_number, amount_a, amount_b, amount_c) values (1, 100, 50, 50);
insert into t(serial_number, amount_a, amount_b, amount_c) values (2, 100, 50, 50);
insert into t(serial_number, amount_a, amount_b, amount_c) values (3, 100, 50, 50);
insert into t(serial_number, amount_a, amount_b, amount_c) values (4, 100, 50, 50);
insert into t(serial_number, amount_a, amount_b, amount_c) values (5, 100, 50, 50);
insert into t(serial_number, amount_a, amount_b, amount_c) values (6, 100, 50, 50);
insert into t(serial_number, amount_a, amount_b, amount_c) values (7, 100, 50, 50);
insert into t(serial_number, amount_a, amount_b, amount_c) values (8, 100, 50, 50);
insert into t(serial_number, amount_a, amount_b, amount_c) values (9, 100, 50, 50);
insert into t(serial_number, amount_a, amount_b, amount_c) values (10, 100, 50, 50);
insert into t(serial_number, amount_a, amount_b, amount_c) values (11, 100, 50, 50);
insert into t(serial_number, amount_a, amount_b, amount_c) values (12, 100, 50, 50);
insert into t(serial_number, amount_a, amount_b, amount_c) values (13, 100, 50, 50);
insert into t(serial_number, amount_a, amount_b, amount_c) values (14, 100, 50, 50);
insert into t(serial_number, amount_a, amount_b, amount_c) values (15, 100, 50, 50);
commit;
create or replace
procedure p (p_amount in number)
is
cursor c
is
select *
from t
where receive_a is null
or receive_b is null
or receive_c is null
order by serial_number;
r c%rowtype;
l_amount number := 0;
begin
l_amount := p_amount;
open c;
loop
fetch c into r;
exit when c%notfound or l_amount <= 0;
if r.receive_a is null
then
update t
set receive_a = nullif (Least (r.amount_a, l_amount), 0)
where serial_number = r.serial_number
l_amount := l_amount - Least (r.amount_a, l_amount);
end if;
if r.receive_b is null
then
update t
set receive_b = nullif (Least (r.amount_b, l_amount), 0)
where serial_number = r.serial_number
l_amount := l_amount - Least (r.amount_b, l_amount);
end if;
if r.receive_c is null
then
update t
set receive_c = nullif (Least (r.amount_c, l_amount), 0)
where serial_number = r.serial_number
l_amount := l_amount - Least (r.amount_c, l_amount);
end if;
end loop;
close c;
end;
begin
p (500);
end;
select *
from t
SQL> select *
2 from t
3 ;
SERIAL_NUMBER AMOUNT_A AMOUNT_B AMOUNT_C RECEIVE_A RECEIVE_B RECEIVE_C
1 100 50 50 100 50 50
2 100 50 50 100 50 50
3 100 50 50 100
4 100 50 50
5 100 50 50
6 100 50 50
7 100 50 50
8 100 50 50
9 100 50 50
10 100 50 50
11 100 50 50
12 100 50 50
13 100 50 50
14 100 50 50
15 100 50 50Changed Procedure P
Message was edited by:
Alex Nuijten -
Hi, My name is David and I followed a course creating my own website from Lynda.com by Paul Trani. After that I created my first own webste. After I finished it, everything was working well in flash and firefox. I have only one problem and question concerning the feed back form for sending info from my website to my emailaddres. I created my website “LisbonDreamWalking”in Flash CS5 pro. I herein have a contact page, where people can send an email for a walk in Lisbon, date,the number of people etc. Now I want through my ISP / host funpic.org, that the input, info text fields to be sended to my emailaddress [email protected]. My mail URL adress iss: http://lisbondreamwalk.li.funpic.org This is a free host, so they don't work with forms like in the course, and I need some additional info for the php. Here is my HTML (Flash actionscript 3.0) for the sending I only have the red text to fill in (php), I was told by the adobe course.I really hope someone can help me?! Thanks in advance!
Instructions: 1. Add your custom code on a new line after the line that says "// Start your custom code" below. The code will execute when the symbol instance is clicked. */ send_btn.addEventListener(MouseEvent.CLICK, fl_MouseClickHandler_13); function fl_MouseClickHandler_13(event:MouseEvent):void { if (thename.text == "" || theemail.text == "" || thetime.text == "" || thepersons.text == "" || themessage.text == "") { thankyou.text = "please fill out all fields"; } else { // create a variable container var allVars : URLVariables = new URLVariables(); allVars.name = thename.text; allVars.email = theemail.text; allVars.time = thetime.text; allVars.persons = thepersons.text; allVars.message = themessage.text; //Send info to a URL var mailAddress:URLRequest = new URLRequest("http.www.namewebsite.com/gdform.php"); mailAddress.data = allVars; mailAddress.method = URLRequestMethod.POST; sendToURL(mailAddress); thankyou.text = "Thank YOU!"; thename.text = ""; theemail.text = ""; thetime.text = ""; thepersons.text = ""; themessage.text = ""; } }
HThank you Kglad, I am going to see if I can make it work. I will let you know!
Date: Thu, 13 Oct 2011 08:55:05 -0600
From: [email protected]
To: [email protected]
Subject: I need help for actionscript 3, sending php info to my email, website created in Flash cs5 pro
Re: I need help for actionscript 3, sending php info to my email, website created in Flash cs5 pro
created by kglad in Action Script 3 - View the full discussion
you missed part of the tutorial (or the tutorial is incomplete): send_btn.addEventListener(MouseEvent.CLICK, fl_MouseClickHandler_13); function fl_MouseClickHandler_13(event:MouseEvent):void{ if (thename.text == "" || theemail.text == "" || thetime.text == "" || thepersons.text == "" || themessage.text == "") { thankyou.text = "please fill out all fields"; } else { // create a variable container var allVars : URLVariables = new URLVariables(); allVars.name = thename.text; allVars.email = theemail.text; allVars.time = thetime.text; allVars.persons = thepersons.text; allVars.message = themessage.text; //Send info to a URLvar mailAddress:URLRequest = new URLRequest("http.www.namewebsite.com/gdform.php"); mailAddress.data = allVars; mailAddress.method = URLRequestMethod.POST; sendToURL(mailAddress);
}} var urlLoader:URLLoader=new URLLoader(); function sendToURL(mailAddress):void{urlLoader.addEventListener(Event.COMPLETE,completeF);urlLoade r.load(mailAddress);} function completeF(e:Event):void{ thankyou.text = "Thank YOU!"; thename.text = ""; theemail.text = ""; thetime.text = ""; thepersons.text = ""; themessage.text = "";}
Replies to this message go to everyone subscribed to this thread, not directly to the person who posted the message. To post a reply, either reply to this email or visit the message page: http://forums.adobe.com/message/3969414#3969414
To unsubscribe from this thread, please visit the message page at http://forums.adobe.com/message/3969414#3969414. In the Actions box on the right, click the Stop Email Notifications link.
Start a new discussion in Action Script 3 by email or at Adobe Forums
For more information about maintaining your forum email notifications please go to http://forums.adobe.com/message/2936746#2936746. -
Help for optimization of procedure
Hi,
I am having following procedure it is accessing LY_RWPT_SUCCESS table having 2501818 records. i want to insert data into LY_RWPT_cap_SUCCESS with following logic but its taking lot of time .
How we can optimize this query to give better result. pls help.
CREATE OR REPLACE PROCEDURE "LY_PRODUCT_CAPPING_old"(P_MONTH VARCHAR2) IS
--v_sum_rewards number
V_SUM_REWARDS integer;
V_FLAG VARCHAR2(1);
V_AMOUNT integer;
V_REWARD NUMBER;
V_REMARKS VARCHAR2(1000);
cursor c1 is
select *
from LY_RWPT_SUCCESS
where as_of_month = P_MONTH
-- and source_account_number ='000101006399'
order by source_account_number asc,
product_code asc,
transaction_id asc,
transaction_date asc;
begin
DELETE FROM LY_RWPT_CAP_SUCCESS WHERE AS_OF_MONTH = P_MONTH;
for i in c1 loop
V_REWARD := I.REWARDS;
/*select nvl(sum(rewards),0) INTO V_SUM_REWARDS from ly_rwpt_cap_success_temp
where as_of_month = P_MONTH
and product_code = I.PRODUCT_CODE
AND SOURCE_ACCOUNT_NUMBER = I.SOURCE_ACCOUNT_NUMBER
and partial_flag in( 'F','P');*/
if V_REWARD != 0 THEN
select nvl(sum(rewards), 0)
INTO V_SUM_REWARDS
from ly_rwpt_cap_success
where as_of_month = P_MONTH
and product_code = I.PRODUCT_CODE
AND SOURCE_ACCOUNT_NUMBER = I.SOURCE_ACCOUNT_NUMBER
and partial_flag in ('F', 'P');
IF (V_SUM_REWARDS >= I.PRODUCT_CAPPING) THEN
V_REMARKS := i.remarks || ' but receiving ' || ' ' || 0 ||
' points as reached to product capping';
-- V_REMARKS := i.PRODUCT_NAME ||'transaction successfully earned'||' ' ||0 ;
V_FLAG := 'N';
INSERT INTO LY_RWPT_CAP_SUCCESS
VALUES
(I.source_account_number,
I.cust_id,
I.customer_status_code,
I.product_code,
I.value,
I.transaction_date,
I.processing_date,
I.balance,
I.eligible_tag,
0,
I.transaction_id,
I.payee_name,
V_REMARKS,
V_FLAG,
I.as_of_month,
I.product_name,
I.product_capping,
I.CUSTOMER_SEGMENT,
I.RD_ACCOUNT_NBR,
I.MEMBER_CUST_ID);
COMMIT;
ELSIF (V_SUM_REWARDS = 0 AND V_REWARD <= I.PRODUCT_CAPPING) THEN
V_REMARKS := I.REMARKS;
--V_REMARKS := i.PRODUCT_NAME ||'transaction successfully earned'||' ' || V_REWARD ;
V_FLAG := 'F';
INSERT INTO LY_RWPT_CAP_SUCCESS
VALUES
(I.source_account_number,
I.cust_id,
I.customer_status_code,
I.product_code,
I.value,
I.transaction_date,
I.processing_date,
I.balance,
I.eligible_tag,
V_REWARD,
I.transaction_id,
I.payee_name,
V_REMARKS,
V_FLAG,
I.as_of_month,
I.product_name,
I.product_capping,
I.CUSTOMER_SEGMENT,
I.RD_ACCOUNT_NBR,
I.MEMBER_CUST_ID
COMMIT;
ELSIF (i.product_capping < (V_SUM_REWARDS + V_REWARD)) then
V_AMOUNT := ABS(I.PRODUCT_CAPPING - V_SUM_REWARDS);
V_REMARKS := i.remarks || ' but earned ' || ' ' || V_AMOUNT ||
' partial points' || ' as exceeding product capping';
-- V_REMARKS := i.PRODUCT_NAME ||'transaction successfully earned'||' ' || V_AMOUNT ;
V_FLAG := 'P';
INSERT INTO LY_RWPT_CAP_SUCCESS
VALUES
(I.source_account_number,
I.cust_id,
I.customer_status_code,
I.product_code,
I.value,
I.transaction_date,
I.processing_date,
I.balance,
I.eligible_tag,
V_AMOUNT,
I.transaction_id,
I.payee_name,
V_REMARKS,
V_FLAG,
I.as_of_month,
I.product_name,
I.product_capping,
I.CUSTOMER_SEGMENT,
I.RD_ACCOUNT_NBR,
I.MEMBER_CUST_ID);
COMMIT;
ELSIF
(i.product_capping >= (V_SUM_REWARDS + V_REWARD)) then
V_REMARKS := I.REMARKS;
-- V_REMARKS := i.PRODUCT_NAME ||'transaction successfully earned'||' ' || V_REWARD ;
V_FLAG := 'F';
INSERT INTO LY_RWPT_CAP_SUCCESS
VALUES
(I.source_account_number,
I.cust_id,
I.customer_status_code,
I.product_code,
I.value,
I.transaction_date,
I.processing_date,
I.balance,
I.eligible_tag,
V_REWARD,
I.transaction_id,
I.payee_name,
V_REMARKS,
V_FLAG,
I.as_of_month,
I.product_name,
I.product_capping,
I.CUSTOMER_SEGMENT,
I.RD_ACCOUNT_NBR,
I.MEMBER_CUST_ID);
END IF;
COMMIT;
ELSE
V_REMARKS := i.remarks;
-- V_REMARKS := i.PRODUCT_NAME ||'transaction successfully earned'||' '||0 ;
V_FLAG := 'R';
INSERT INTO LY_RWPT_CAP_SUCCESS
VALUES
(I.source_account_number,
I.cust_id,
I.customer_status_code,
I.product_code,
I.value,
I.transaction_date,
I.processing_date,
I.balance,
I.eligible_tag,
0,
I.transaction_id,
I.payee_name,
V_REMARKS,
V_FLAG,
I.as_of_month,
I.product_name,
I.product_capping,
I.CUSTOMER_SEGMENT,
I.RD_ACCOUNT_NBR,
I.MEMBER_CUST_ID);
END IF;
COMMIT;
END LOOP;
END;Try this
create or replace procedure ly_product_capping_old
p_month varchar2
is
begin
insert
into ly_rwpt_cap_success
select i.source_account_number,
i.cust_id,
i.customer_status_code,
i.product_code,
i.value,
i.transaction_date,
i.processing_date,
i.balance,
i.eligible_tag,
case when i.reward != 0 then
case when nvl(j.rewards, 0) > i.product_capping then 0
when nvl(j.rewards, 0) = 0 and i.rewards <= i.product_capping then i.rewards
when i.product_capping < nvl(j.rewards, 0) + i.rewards then abs(i.product_capping - nvl(j.rewards, 0))
when i.product_capping >= nvl(j.rewards, 0) + i.rewards then i.rewards
end
else 0
end v_reward,
i.transaction_id,
i.payee_name,
case when i.reward != 0 then
case when nvl(j.rewards, 0) > i.product_capping then i.remarks || ' but receiving ' || ' ' || 0 || ' points as reached to product capping'
when nvl(j.rewards, 0) = 0 and i.rewards <= i.product_capping then i.remarks
when i.product_capping < nvl(j.rewards, 0) + i.rewards then i.remarks || ' but earned ' || ' ' || abs(i.product_capping - nvl(j.rewards, 0)) || ' partial points' || ' as exceeding product capping';
when i.product_capping >= nvl(j.rewards, 0) + i.rewards then i.remarks
end
else i.remarks
end v_remarks,
case when i.reward != 0 then
case when nvl(j.rewards, 0) > i.product_capping then 'N'
when nvl(j.rewards, 0) = 0 and i.rewards <= i.product_capping then 'F'
when i.product_capping < nvl(j.rewards, 0) + i.rewards then 'P'
when i.product_capping >= nvl(j.rewards, 0) + i.rewards then 'F'
end
else 'R'
end v_flag,
i.as_of_month,
i.product_name,
i.product_capping,
i.customer_segment,
i.rd_account_nbr,
i.member_cust_id
from ly_rwpt_success i
left
join (
select product_code, source_account_number, sum(rewards) rewards
from ly_rwpt_cap_success
where as_of_month = p_month
and partial_flag in ('F', 'P')
group
by product_code, source_account_number
) j
on i. product_code = j.product_code
and i.source_account_number = j.source_account_number
where as_of_month = p_month;
commit;
end;There could be some semantic errors, if found please correct. And also please specify the column list in the insert statement.
And oh forgot to mention the code is untested :) -
Procedure help for loading tables
I am trying to load data from one table to another eg Table A to Table B
I would like the procedure to load all data that has been updated or inserted since last load and delete any rows that have not been
updated since the last load. Can anyone help me please with a procedure for this.
Thanks in advance.Truncate table B then run something similar to:
DECLARE
-- Assuming you are running this daily and
-- the last_update_date column is populated on every insert/update
CURSOR cura is
SELECT *
FROM tablea
WHERE trunc(last_update_date) = trunc(sysdate);
-- If you run it at a standard interval then
CURSOR cura is
SELECT *
FROM tablea
WHERE trunc(last_update_date) BETWEEN trunc(sysdate - n) AND TRUNC(sysdate);
-- n is the number of days between runs
tabb_rowid ROWID;
BEGIN
FOR arec in cura LOOP
BEGIN
SELECT rowid INTO tabb_rowid
FROM tableb
WHERE pk_field1 = arec.pk_field1 and
pk_field2 = arec.pk_field2;
UPDATE tableb
SET pk_field1 = arec.pk_field1,
pk_field2 = arec.pk_field2,
field3 = arec.field3,
field4 = arec.field4
WHERE rowid = tabb_rowid;
EXCEPTION WHEN NO_DATA_FOUND THEN
INSERT INTO tableb
VALUES (arec.pk_field1,arec.pk_field2,arec.field3,arec.field4);
END;
END LOOP;
COMMIT;
END; -
Please help me how to maintain log for procedure execution
Hi Experts,
How to maintain the log for procedure execution
I want to maintain the log for procedures as below.
Once the procedure starts it should show status as RUNNING and PROC_END_TIME should be NULL.
Once the procedure completes it should show status as COMPLETED and shold show the PROC_END_TIME.
Once the MAIN_PROC completes then only the status of that procedure should show COMPLETED.
STEP_ID RECORDS_INS_UPD RECORDS_DELETED PROC_NAME PROC_START_TIME PROC_END_TIME JOB_STATUS ERROR_MSG
1 500 0 MAIN_PROC 1/4/2014 5:47:38.000000 AM RUNNING
2 100 0 SUB_PROC1 1/4/2014 5:49:30.000000 AM RUNNING
3 0 0 SUB_PROC2 1/4/2014 5:47:38.000000 AM 1/4/2014 5:47:38.000000 AM COMPLETED
I have tried the below code but it's not working properly.
CREATE OR REPLACE PROCEDURE procedures_log
p_seq NUMBER,
p_rec_ins_upd NUMBER,
p_rec_deleted NUMBER,
p_proc_name VARCHAR2,
p_start_time TIMESTAMP,
p_end_time TIMESTAMP,
p_job_status VARCHAR2,
p_error_msg VARCHAR2
IS
PRAGMA AUTONOMOUS_TRANSACTION;
BEGIN
IF p_seq = 0 THEN
INSERT INTO proc_log
STEP_ID,
ORG_ID,
TABLENAME,
RECORDS_INS_UPD,
RECORDS_DELETED,
JOB_NAME,
PROC_NAME,
JOB_START_TIME,
JOB_END_TIME,
JOB_STATUS,
ERROR_MSG
VALUES
p_seq,
p_rec_ins_upd,
p_rec_deleted,
p_proc_name,
p_start_time,
p_end_time,
p_job_status,
p_error_msg
ELSE
UPDATE proc_log
SET
RECORDS_INS_UPD = p_rec_ins_upd,
RECORDS_DELETED = p_rec_deleted,
JOB_END_TIME = p_end_time,
JOB_STATUS = p_job_status,
STEP_ID = p_seq,
ERROR_MSG = p_error_msg
WHERE UPPER(TRIM(PROC_NAME)) = UPPER(TRIM(p_proc_name))
AND STEP_ID = 0
AND JOB_STATUS = 'RUNNING';
END IF;
COMMIT;
EXCEPTION
WHEN OTHERS
THEN NULL;
END;
Please help me.
Thanks.ramya_162 wrote:
Hi,
I don't want to maintain multiple records for one procedure.
The log table will grow huge.
Please help me.
Thanks.
You have two options.
Either a running log, from which you periodically delete old records, or maintain a standing record for each process you are tracking.
Ok, let's take the second, since that seems to be your preferred method.
Going back to your original post, you gave us code and said "I have tried the below code but it's not working properly."
Please define "not working". That statement is totally devoid of actionable or diagnostic information. -
F4 - Help for field in ALV Grid Output
Hi,
I generated a report which gives output in ALV Grid output.
In the output, 1 of the field is editable.Here, for this field I need to have my own F4-Help.
I think the procedure to be followed is:--
Create a Search Help in SE11.
Link the Search Help to the editable field.
Please let me know if its the correct procedure.
I f yes, how can I link user defined Search Help to the editable field?
Thanks,
Shivaa........Hi siva,
you can also do that way.
while filling the fieldcatalog use the parameter F4AVAILABL
for more info check
F4 help in ALV Grid...
f4 help for a field in alv grid
hope it helps you
Thanks!
Edited by: Prasanth on Mar 6, 2009 3:59 PM -
Hi,
I know we can generate explain plan for queries using "Explain plan" statement or "Autotrace option". I would like to know how can we generate explain plan for oracle procedures.
Thanks in Advance..Check this link very helpful info from Rob
When your query takes too long ...
There are no explain plan for procedures.
MAy be you want to do DBMS_PROFILER for procedures execution -
How to get the F4 help for a field in the selection screen
Hi all,
I am working on a report program. In the selection screen, I have the field 'Brand Node ID'(ZNODEID). The requirement is to have the F4 help for this field. This field is available in a 'Z' table ZNODETAB. There is no Value table maintained for the corresponding data element. So, without disturbing the table data element/domain, I should get the F4 help in the selection screen of the report. In the F4 help, data should be fetched from the table ZNODETAB and the field is ZNODEID. Is there any way to do this.
By searching the function modules, I could find that, we can use the FM F4IF_INT_TABLE_VALUE_REQUEST. But, I am not Sure. Can someone tell me the parameters to be passed to this function module to get the F4 help and the procedure to follow. S_NODEID is the select option used in the program. Please help me in this regard. Thanks in advance.
Thanks & Regards,
Paddu.look at this code and try
select-options : S_NODEID for ZNODETAB-ZNODEID.
at selection-screen on value-request for s_nodeid-low
perform f4_nodeid using 'S_NODEID-LOW'.
at selection-screen on value-request for s_nodeid-low
perform f4_nodeid using 'S_NODEID-HIGH'.
end-of-selection.
FORM f4_nodeid USING p_field.
declare it_node.
select znodeid from ZNODETAB into table it_node.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'ZNODEID'
dynpprog = sy-repid
dynpnr = sy-dynnr
dynprofield = p_field
value = space
value_org = 'S'
display = 'F'
TABLES
value_tab = it_node
EXCEPTIONS
parameter_error = 1
no_values_found = 2
OTHERS = 3.
endform -
F4 help for the batch field in VL02N transaction
We have upgraded our system from 4.6 to ecc 6.0 .In 4.6 the f4 help for the batch had " Batch selection via plant/Material/Storage location/Batch " which is not there in ECC 6.0.
Please tell us the procedure to add in the existing search help H_MCHA in ECC 6.0
Thanks
ArunaHi Aruna.
Create ur own search help using se11 tcode for required fields.
Thanks & Regards,
Kiran.
Plz give rewards if and only if it is helpfull. -
Need some help in creating Search Help for standard screen/field
I need some help in adding a search-help to a standard screen-field.
Transaction Code - PP01,
Plan Version - Current Plan (PLVAR = '01'),
Object Type - Position ( OTYPE = 'S'),
Click on Infotype Name - Object ( Infotype 1000) and Create.
I need to add search help to fields Object Abbr (P1000-SHORT) / Object Name (P1000-STEXT).
I want to create one custom table with fields, Position Abb, Position Name, Job. Position Abb should be Primary Key. And when object type is Position (S), I should be able to press F4 for Object Abb/Object Name fields and should return Position Abbr and Position Name.
I specify again, I have to add a new search help to standard screen/field and not to enhance it.
This is HR specific transaction. If someone has done similar thing with some other transation, please let me know.
There is no existing search help for these fields. If sm1 ever tried or has an idea how to add new search help to a standard screen/field.
It's urgent.
Thanks in advace. Suitable answers will be rewardedHi Pradeep,
Please have a look into the below site which might be useful
Enhancing a Standard Search Help
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/daeda0d7-0701-0010-8caa-
edc983384237
http://help.sap.com/saphelp_nw04/helpdata/en/cf/21ee93446011d189700000e8322d00/frameset.htm
A search help exit is a function module for making the input help process described by the search help more flexible than possible with the standard version.
This function module must have the same interface as function module F4IF_SHLP_EXIT_EXAMPLE. The search help exit may also have further optional parameters (in particular any EXPORTING parameters).
A search help exit is called at certain timepoints in the input help process.
Note: The source text and long documentation of the above-specified function module (including the long documentation about the parameters) contain information about using search help exits.
Function modules are provided in the function library for operations that are frequently executed in search help exits. The names of these function modules begin with the prefix F4UT_. These function modules can either be used directly as search help exits or used within other search help exits. You can find precise instructions for use in the long documentation for the corresponding function module.
During the input help process, a number of timepoints are defined that each define the beginning of an important operation of the input help process.
If the input help process is defined with a search help having a search help exit, this search help exit is called at each of these timepoints. If required, the search help exit can also influence the process and even determine that the process should be continued at a different timepoint.
timepoints
The following timepoints are defined:
1. SELONE
Call before selecting an elementary search help. The possible elementary search helps are already in SHLP_TAB. This timepoint can be used in a search help exit of a collective search help to restrict the selection possibilities for the elementary search helps.
Entries that are deleted from SHLP_TAB in this step are not offered in the elementary search help selection. If there is only one entry remaining in SHLP_TAB, the dialog box for selecting elementary search helps is skipped. You may not change the next timepoint.
The timepoint is not accessed again if another elementary search help is to be selected during the dialog.
2. PRESEL1
After selecting an elementary search help. Table INTERFACE has not yet been copied to table SELOPT at this timepoint in the definition of the search help (type SHLP_DESCR_T). This means that you can still influence the attachment of the search help to the screen here. (Table INTERFACE contains the information about how the search help parameters are related to the screen fields).
3. PRESEL
Before sending the dialog box for restricting values. This timepoint is suitable for predefining the value restriction or for completely suppressing or copying the dialog.
4. SELECT
Before selecting the values. If you do not want the default selection, you should copy this timepoint with a search help exit. DISP should be set as the next timepoint.
5. DISP
Before displaying the hit list. This timepoint is suitable for restricting the values to be displayed, e.g. depending on authorizations.
6. RETURN (usually as return value for the next timepoint)
The RETURN timepoint should be returned as the next step if a single hit was selected in a search help exit.
It can make sense to change the F4 flow at this timepoint if control of the process sequence of the Transaction should depend on the selected value (typical example: setting SET/GET parameters). However, you should note that the process will then depend on whether a value was entered manually or with an input help.
7. RETTOP
You only go to this timepoint if the input help is controlled by a collective search help. It directly follows the timepoint RETURN. The search help exit of the collective search help, however, is called at timepoint RETTOP.
8. EXIT (only for return as next timepoint)
The EXIT timepoint should be returned as the next step if the user had the opportunity to terminate the dialog within the search help exit.
9. CREATE
The CREATE timepoint is only accessed if the user selects the function "Create new values". This function is only available if field CUSTTAB of the control string CALLCONTROL was given a value not equal to SPACE earlier on.
The name of the (customizing) table to be maintained is normally entered there. The next step returned after CREATE should be SELECT so that the newly entered value can be selected and then displayed.
10. APP1, APP2, APP3
If further pushbuttons are introduced in the hit list with function module F4UT_LIST_EXIT, these timepoints are introduced. They are accessed when the user presses the corresponding pushbutton.
Note: If the F4 help is controlled by a collective search help, the search help exit of the collective search help is called at timepoints SELONE and RETTOP. (RETTOP only if the user selects a value.) At all other timepoints the search help exit of the selected elementary search help is called.
If the F4 help is controlled by an elementary search help, timepoint RETTOP is not executed. The search help exit of the elementary search help is called at timepoint SELONE (at the
F4IF_SHLP_EXIT_EXAMPLE
This module has been created as an example for the interface and design of Search help exits in Search help.
All the interface parameters defined here are mandatory for a function module to be used as a search help exit, because the calling program does not know which parameters are actually used internally.
A search help exit is called repeatedly in connection with several
events during the F4 process. The relevant step of the process is passed on in the CALLCONTROL step. If the module is intended to perform only a few modifications before the step, CALLCONTROL-STEP should remain unchanged.
However, if the step is performed completely by the module, the following step must be returned in CALLCONTROL-STEP.
The module must react with an immediate EXIT to all steps that it does not know or does not want to handle.
Hope this info will help you.
***Reward points if found useful
Regards,
Naresh -
Search Help for input field2 based on value entered in input field 1
Hi All,
I have a requirement where in my view, i have two fields.
1. PO
2. PO Item
For PO i could get the standard search help from DDIC, but i need to provide search help for PO Item based on PO selected.
How can i do that. Any help is highly appreciated.
Thanks,
AjayHi Ajay ,
following steps cn help u :
1 Declare the WDR_OVS Component in the used component list in your WD component .
2 Now go to the View, in the Properties Tab click the Create Controller Usage Button.
3 It will open a screen with Component Use Entries. There select the Component Use OVS with Interface Controller . Press Enter.
4 Go to the Context Tab, Right Click the Context and select Create à Attribute , for PO item in ur case .
5 In the Input Help Mode Field, Select u2018Object Value Selectoru2019 from the dropdown. Then press F4 in the Field OVS Component Usage.
6 Declare one event handler method with Name ON_OVS in the Method tab of the view. Then Press F4 in the Column Event.
Select the Event OVS as shown below and Press Enter.
for more info and illustration , also refer :
http://help.sap.com/saphelp_erp2005/helpdata/EN/30/d7fa41c915da6fe10000000a1550b0/content.htm
https://wiki.sdn.sap.com/wiki/display/WDABAP/ABAPWDObjectValueSelector(OVS)
http://wiki.sdn.sap.com/wiki/display/Snippets/OVSSearchHelpinWebDynproAbap
regrds,
amit -
Dynamic value help for a table field to fill two fields, how to?
Hi all gurus,
In SRM 7 I defined a dynamic value help for a single field (ZZ_PROLE_R3) of my header custom table.
That's the code from WDDOMODIFYVIEW in the webdynpro /SAPSRM/WDC_DODC_CT, view V_DODC_CT:
DATA: lo_tabnode TYPE REF TO IF_WD_CONTEXT_NODE.
DATA: lo_tabnode_info TYPE REF TO IF_WD_CONTEXT_NODE_INFO.
DATA: tab_value TYPE WDR_CONTEXT_ATTR_VALUE_LIST,
wa_value TYPE WDR_CONTEXT_ATTR_VALUE.
lo_tabnode = wd_context->GET_CHILD_NODE( name = 'THCUS' ). "the custom table node
lo_tabnode_info = lo_tabnode->get_node_info( ).
wd_this->GET_VALHELP_ZZ_PROLE_R3( EXPORTING iv_guid = lv_guid
IMPORTING ZZ_PROLE_R3_VALHELP = tab_value ). "this method returns the dyn value table
lo_tabnode_info->set_attribute_value_set( name = 'ZZ_PROLE_R3'
value_set = tab_value ).
The method GET_VALHELP_ZZ_PROLE_R3 dynamically builds the value help table tab_value; such table is made up by two fields:
value : contains the value of the field
text : contains a description of the value
The above solution works; now I'd like to enhance it. The custom table THCUS contains also a field called ZZ_PROLE_R3_DESC, which represents the description of ZZ_PROLE_R3. It is, exactly, the TEXT field in tab_value.
So I'd like to do as follows:
- the user clicks on the search help for ZZ_PROLE_R3 field of the table;
- the above described value help appears;
- after the selection, both ZZ_PROLE_R3 and ZZ_PROLE_R3_DESC are filled with the selected couple value - text chosen from the value help.
Could anyone help me achieving such a behaviour?
Again, a little request... when I open the above value help dialog box, the window itself has a label "Floorplan Manager application for OIF.." that obviously I'd like to redefine (e.g. "Role selection value help"). Is there any way to do that?
Thanks in advanceChris Paine wrote:
It seems to me - given that your code is in wddomodifyview that you are trying to have different dropdowns per row
- I'm not sure where you are populating lv_guid - but I'd guess it is an attribute of the row selected? If it isn't then I can't see any reason that you would do this code in wddomodifyview and not wddoinit.
Hi Chris and thanks for your help,
lv_guid is the GUID of the document's header; I need to pass it to the method that populates my value help table because the values in it are derived from some fields on the document. (the situation actually is more complex; there's an RFC call on the backend for which the document is intended for to retrieve the data that populate the value help...).
I'm quite unexperienced on webdynpro and terminology; if dropdown menus are fixed selection option that appears on a field, I guess this is not my case. I did a pair of screenshot to provide an idea of what the solution by now is, and what "I would like to have":
[Pre-selection (F4 icon on the field in table)|http://imagebin.ca/view/npIsaqF.html]
[Value Help popup for the field ZZ_PROLE_R3|http://imagebin.ca/view/8fZUh3T.html]
[Result by now |http://imagebin.ca/view/3PaqdvE.html]
[Result I'd like to have.|http://imagebin.ca/view/dExR0J.html]
Chris Paine wrote:
However - by your comment on the "value help dialog box" I am guessing you are using an input field? If this is the case then I would strongly suggest that you change/enhance the structure of the context node THCUS (btw, better coding practise to refer to it as wd_this->wdctx_thcus when using the get child node construct) so that you refer to an actual SAP ddic search help, if you then associate in the structure the value and text fields then populating the text field should happen automatically. Also you'd have the nice side effect that your value help dialog would be named after the associated ddic search help.
Thanks for the code suggestion, I'll apply that. For what concerns the context node THCUS... It is, by standard, a node which I can't explictly find in the context for the view V_DODC_CT. The problem is that ZZ_PROLE_R3 and the corresponding description field ZZ_PROLE_R3_DESC of the table must be filled with data retrieved dynamically @ runtime from the backend. So I guess I can't populate a val help referring to a dictionary table/field; I'd rather do as follows:
- retrieve what's the target backend for the document (to do so, I have to process the document .. that's why the header guid passed to my method);
- RFC call to a custom method that extracts possible values for the specific backend;
- bind the ammissible values to the value help.
Chris Paine wrote:
I realise that this is rather a lot - so if you have any specific question please do respond - hopefully I or someone else will be able to clarify.
Thanks again for your help; additional info as well as code examples would be highly appreciated -
How to provide F4 help for a field in table control
Hi Friends,
I have requirement like below.
1.Create one custom transaction code with header and item information.
2.In item level, we will be designed table control to enter/display the data.
3.Table controls first field will be material number and next DOT number (Material may have many DOT numbers) and so on.
4.First user will enter material number in the table controls first rows first field and go to DOT number field.
5.DOT number has drop down option. If user selects drop down box of DOT number, he gets all the DOT numbers available in database. User selects one DOT number and double clicks on it then it will be populated in DOT number field box.
But for point number 5, business wants like when ever user enters material number in table control first field then select DOT numbers drop down then they want to see the particular materials DOT numbers only in the drop down list for selection. Not all DOT numbers available in data base. Same thing should happen for all item lines in table control.
Please see below example.
Assume data base table has 10 DOT numbers. But material number has only 2 DOT numbers. When ever user enters material number in item level table control and selects DOT numbers drop down then it should show only 2 DOT numbers which are related to particular material number. Not all 10 DOT numbers.
Could you please suggest me, how can we achieve this?Hello,
Check this :-
For POV
Input Help in Dialog Modules
You can call dialog modules in the POV event using the event keyword PROCESS ON VALUE-REQUEST.
PROCESS ON VALUE-REQUEST.
FIELD <f> MODULE <mod>.
After the PROCESS ON VALUE-REQUEST statement, you can only use the MODULE statement together with the FIELD statement. When the user chooses F4 for a field <f>, the system calls the module <mod> belonging to the FIELD <f> statement. If there is more than one FIELD statement for the same field <f>, only the first is executed. The module <mod> is defined in the ABAP program like a normal PAI module. However, the contents of the screen field <f> are not available, since it is not transported by the FIELD statement during the PROCESS ON HELP-REQUEST event. You can now program your own value lists in the module. However, this procedure is only recommended if it really is not possible to use a search help. Defining search helps is much easier than PROCESS ON VALUE-REQUEST, since the system takes over some of the standard operations, such as getting field contents from the screen. It also ensures that the F4 help has a uniform look and feel throughout the system. Furthermore, it means that you do not have to reassign input help to fields on each screen.
Despite the introduction of search helps (and search help exits), there are still cases in which you need to use parts of the standard F4 functions directly. In this case, there are some standard function modules that you can use in the POV event. They support search helps, as well as all other kinds of input help, and are responsible for data transport between the screen and the input help. These all have the prefix F4IF_. The most important are:
F4IF_FIELD_VALUE_REQUEST
Calls the input help of the ABAP Dictionary dynamically. You can pass the component names of a structure or database table of the ABAP Dictionary to the function module in the import parameters TABNAME and FIELDNAME. The function module starts the ABAP Dictionary input help for this component. All of the relevant screen fields are read. If you specify the import parameters DYNPPROG, DYNPNR, and DYNPROFIELD, the users selection is returned to the corresponding field on the screen. If you specify the table parameter RETURN_TAB, the selection is returned into the table instead.
F4IF_INT_TABLE_VALUE_REQUEST
This function module displays a value list that you created in an ABAP program. The value list is passed to the function module as the table parameter VALUE_TAB. If you specify the import parameters DYNPPROG, DYNPNR, and DYNPROFIELD, the users selection is returned to the corresponding field on the screen. If you specify the table parameter RETURN_TAB, the selection is returned into the table instead.
There are also two function modules - DYNP_VALUES_READ and DYNP_VALUES_UPDATE - that can read the values of screen fields and return values to them during the POV event. For further information, refer to the relevant function module documentation.
Input help in dialog modules
REPORT DEMO_DYNPRO_F4_HELP_MODULE.
TYPES: BEGIN OF VALUES,
CARRID TYPE SPFLI-CARRID,
CONNID TYPE SPFLI-CONNID,
END OF VALUES.
DATA: CARRIER(3) TYPE C,
CONNECTION(4) TYPE C.
DATA: PROGNAME LIKE SY-REPID,
DYNNUM LIKE SY-DYNNR,
DYNPRO_VALUES TYPE TABLE OF DYNPREAD,
FIELD_VALUE LIKE LINE OF DYNPRO_VALUES,
VALUES_TAB TYPE TABLE OF VALUES.
CALL SCREEN 100.
MODULE INIT OUTPUT.
PROGNAME = SY-REPID.
DYNNUM = SY-DYNNR.
CLEAR: FIELD_VALUE, DYNPRO_VALUES.
FIELD_VALUE-FIELDNAME = 'CARRIER'.
APPEND FIELD_VALUE TO DYNPRO_VALUES.
ENDMODULE.
MODULE CANCEL INPUT.
LEAVE PROGRAM.
ENDMODULE.
MODULE VALUE_CARRIER INPUT.
CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST'
EXPORTING
TABNAME = 'DEMOF4HELP'
FIELDNAME = 'CARRIER1'
DYNPPROG = PROGNAME
DYNPNR = DYNNUM
DYNPROFIELD = 'CARRIER'.
ENDMODULE.
MODULE VALUE_CONNECTION INPUT.
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
DYNAME = PROGNAME
DYNUMB = DYNNUM
TRANSLATE_TO_UPPER = 'X'
TABLES
DYNPFIELDS = DYNPRO_VALUES.
READ TABLE DYNPRO_VALUES INDEX 1 INTO FIELD_VALUE.
SELECT CARRID CONNID
FROM SPFLI
INTO CORRESPONDING FIELDS OF TABLE VALUES_TAB
WHERE CARRID = FIELD_VALUE-FIELDVALUE.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
RETFIELD = 'CONNID'
DYNPPROG = PROGNAME
DYNPNR = DYNNUM
DYNPROFIELD = 'CONNECTION'
VALUE_ORG = 'S'
TABLES
VALUE_TAB = VALUES_TAB.
ENDMODULE.
The next screen (statically defined) for screen 100 is itself. It has the following layout:
The input fields have been adopted from the program fields CARRIER and CONNECTION. The pushbutton has the function code CANCEL with function type E.
The screen flow logic is as follows:
PROCESS BEFORE OUTPUT.
MODULE INIT.
PROCESS AFTER INPUT.
MODULE CANCEL AT EXIT-COMMAND.
PROCESS ON VALUE-REQUEST.
FIELD CARRIER MODULE VALUE_CARRIER.
FIELD CONNECTION MODULE VALUE_CONNECTION.
When the user chooses input help for the individual fields, the following is displayed:
For the Airline field, the POV module VALUE_CARRIER is called. The function module F4IF_FIELD_VALUE_REQUEST displays the input help for the component CARRIER1 of the structure DEMOF4HELP from the ABAP Dictionary, namely the search help DEMOF4DE. The users selection is returned to the screen field CARRIER.
For the Flight number field, the POV module VALUE_CONNECTION is called. The function module DYNP_VALUE_READ transports the value of the screen field CARRIER into the program. The program then reads the corresponding values from the database table SPFLI into the internal table VALUES_TAB using a SELECT statement, and passes the internal table to F4IF_INT_TABLE_VALUE_REQUEST. This displays the internal table as input help, and places the users selection into the screen field CONNECTION.
For POH------------
Field Help
There are three ways of displaying field help for screen elements:
Data Element Documentation
If you place a field on the screen in the Screen Painter by copying a ABAP Dictionary field, the corresponding data element documentation from the ABAP Dictionary is automatically displayed when the user chooses field help (as long as the help has not been overridden in the screen flow logic).
For further information about creating data element documentation, refer to data elements.
Data Element Supplement Documentation
If the data element documentation is insufficient, you can expand it by writing a data element supplement
Data element supplement documentation contains the heading Definition, as well as the following others:
Use
Procedure
Examples
Dependencies
To create data element supplement documentation for a screen, choose Goto ® Documentation ® DE supplement doc. from the element list of the screen. A dialog box appears in which the system proposes a number as the identified for the data element supplement. You can then enter help texts for the above headings using the SAPscript editor.
Data element supplement documentation created in this way is program- and screen-specific. Any data element supplement documentation created in the ABAP Dictionary with the same number is overridden by the screen-specific documentation. You can link existing data element supplement documentation created in the ABAP Dictionary with a screen field by using the table THLPF. To do this, crate a new row in THLPF containing the following data: Program name, screen name, field name, and number of the data element supplement documentation.
To display data element supplement documentation, you must code the following screen flow logic in the POH event:
PROCESS ON HELP-REQUEST.
FIELD <f> [MODULE <mod>] WITH <num>.
After PROCESS ON HELP-REQUEST, you can only use FIELD statements. If there is no PROCESS ON HELP-REQUEST keyword in the flow logic of the screen, the data element documentation for the current field, or no help at all is displayed when the user chooses F1. Otherwise, the next FIELD statement containing the current field <f> is executed.
If there is screen-specific data element supplement documentation for the field <f>, you can display it by specifying its number <num>. The number <num> can be a literal or a variable. The variable must be declared and filled in the corresponding ABAP program.
You can fill the variables, for example, by calling the module <mod> before the help is displayed. However, the FIELD statement does not transport the contents of the screen field <f> to the ABAP program in the PROCESS ON HELP-REQUEST event.
For further information about data element supplement documentation, refer to Data Element Supplements.
Calling Help Texts from Dialog Modules
If data element supplement documentation is insufficient for your requirements, or you want to display help for program fields that you have not copied from the ABAP Dictionary, you can call dialog modules in the POH event:
PROCESS ON HELP-REQUEST.
FIELD <f> MODULE <mod>.
After the PROCESS ON HELP-REQUEST statement, you can only use the MODULE statement together with the FIELD statement. When the user chooses F1 for a field <f>, the system calls the module <mod> belonging to the FIELD <f> statement. If there is more than one FIELD statement for the same field <f>, only the first is executed. However, the contents of the screen field <f> are not available in the module <mod>, since it is not transported by the FIELD statement during the PROCESS ON HELP-REQUEST event. The field help should not be dependent on the user input.
The module <mod> is defined in the ABAP program like a normal PAI module. The processing logic of the module must ensure that adequate help is displayed for the field in question. Instead of calling an extra screen with text fields, you should use one of the following function modules to display a suitable SAPscript document:
HELP_OBJECT_SHOW_FOR_FIELD
This function module displays the data element documentation for components of any structure or database table from the ABAP Dictionary. You pass the name of the component and structure or table to the import parameters FIELD and TABLE.
HELP_OBJECT_SHOW
Use this function module to display any SAPscript document. You must pass the document class (for example, TX for general texts, DE for data element documentation) and the name of the document to the import parameters DOKCLASS and DOKNAME. For technical reasons, you must also pass an empty internal table with the line type TLINE to the tables parameter of the function module.
For further information about how to create SAPscript documents, refer to the Documentation of System Objects documentation.
Field help on screens.
REPORT DEMO_DYNPRO_F1_HELP.
DATA: TEXT(30),
VAR(4),
INT TYPE I,
LINKS TYPE TABLE OF TLINE,
FIELD3, FIELD4.
TABLES DEMOF1HELP.
TEXT = TEXT-001.
CALL SCREEN 100.
MODULE CANCEL INPUT.
LEAVE PROGRAM.
ENDMODULE.
MODULE F1_HELP_FIELD2 INPUT.
INT = INT + 1.
CASE INT.
WHEN 1.
VAR = '0100'.
WHEN 2.
VAR = '0200'.
INT = 0.
ENDCASE.
ENDMODULE.
MODULE F1_HELP_FIELD3 INPUT.
CALL FUNCTION 'HELP_OBJECT_SHOW_FOR_FIELD'
EXPORTING
DOKLANGU = SY-LANGU
DOKTITLE = TEXT-002
CALLED_FOR_TAB = 'DEMOF1HELP'
CALLED_FOR_FIELD = 'FIELD1'.
ENDMODULE.
MODULE F1_HELP_FIELD4 INPUT.
CALL FUNCTION 'HELP_OBJECT_SHOW'
EXPORTING
DOKCLASS = 'TX'
DOKLANGU = SY-LANGU
DOKNAME = 'DEMO_FOR_F1_HELP'
DOKTITLE = TEXT-003
TABLES
LINKS = LINKS.
ENDMODULE.
The next screen (statically defined) for screen 100 is 100. It has the following layout:
The screen fields DEMOf1HELP-FIELD1 and DEMOF1HELP-FIELD2 from the ABAP Dictionary and the program fields FIELD3 and FIELD4 are assigned to the input fields. The pushbutton has the function code CANCEL with function type E.
The screen flow logic is as follows:
PROCESS BEFORE OUTPUT.
PROCESS AFTER INPUT.
MODULE CANCEL AT EXIT-COMMAND.
PROCESS ON HELP-REQUEST.
FIELD DEMOF1HELP-FIELD2 MODULE F1_HELP_FIELD2 WITH VAR.
FIELD FIELD3 MODULE F1_HELP_FIELD3.
FIELD FIELD4 MODULE F1_HELP_FIELD4.
The components FIELD1 and FIELD2 of structure DEMOF1HELP both refer to the data element DEMOF1TYPE. This data element is documented, and also has two supplements with numbers 0100 and 0200.
The following field help is displayed:
When the user chooses F1 on the input field for DEMOF1HELP-FIELD1, the data element documentation for DEMOF1TYPE is displayed, since the field does not occur in the PROCESS ON HELP-REQUEST event.
If the user chooses F1 repeatedly for the input field DEMOF1HELP-FIELD2, the data element documentation is displayed, along with the supplement documentation for either 0100 or 0200 alternately. The variable VAR is filled in the dialog module F1_HELP_FIELD2.
When the user chooses F1 on the input field for FIELD3, the data element documentation for DEMOF1TYPE is displayed, since this is called in the dialog module F1_HELP_FIELD3 by the function module HELP_OBJECT_SHOW_FOR_FIELD.
When the user chooses F1 on the input field for FIELD4, the SAPscript documentation DEMO_FOR_F1_HELP is displayed, since this is called in the dialog module F1_HELP_FIELD4 by the function module HELP_OBJECT.
Regards,
Deepu.K -
Search Help for standard field in WEB GUI
Hello Experts
There are F4 help for Business Partners (street and district that are standard address fields) and it is visible from SAP GUI. However in WEB UI there are no input help (although they are standard) for these fields.
Is there customizing step for it or do we need to write some codes (get_v, get_p methods) in order to get F4 help.
Thanks in advance,
ErkanTry creating design layer in SPRO>CRM>UI FRAMEWORK>UI FRAMEWORK DEFINITION>MAINTAIN DESIGN LAYERS
Enter component for business partner and define new design layer. To this layer assign a field by which you want to search.
Then go to SPRO>CRM>UI FRAMEWORK>UI FRAMEWORK DEFINITION>CONFIGURE USER INTERFACE. Again enter the same component and go to the relevant context node and then field. Then assign to that field newly created design layer.
Info about components, context nodes and fields you get by pressing F2 on thous 2 fields in WEB UI.
Maybe you are looking for
-
Can Coldfusion 9 and PHP 5.1 coexist on the same server?
I found a analytics tool that I want to use for my companies intranet, and it requires PHP 5.1 to be installed on the server. This server will also have CF 9 on it as well. Will PHP 5.1 interfere with the web site and applications on the server writt
-
Handling Empty Gas Cylinders !
Hi We have a requirement wherein we are buying gas cylinders & we want to keep a track of empty cylinders with their Serial Nos. Has anyone handled a similar business requirement ? Can anyone pls suggest some write up on this. Regards --Vikas
-
Can't acknowledge alarms on some clients
With certain clients, it appears there is full functionality (load/unload modules, monitor, etc.) with the exception of acknowledging alarms. When an attempt is made to acknowledge an alarm, the error message is "...No response from agent." Any help
-
I keep trying to burn a CD-R in Iphoto, and every time iPhoto stops burning halfway through and i get this error message, "Attemp to burn a disc failed. Burn failed due to a medium write error." I am using memorex CD-R's and have tried with 4 times w
-
what is an example of an external switch in the accessibility- switch control feature on an iPhone 5s