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

  • Help for procedure

    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
    rampa

    Hi 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 advance

    drop 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

  • I need help for actionscript 3, sending php info to my email, website created in Flash cs5 pro

    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 = "";      } }
    H

    Thank 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

  • Explain plan for Procedures

    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
    Aruna

    Hi 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 rewarded

    Hi 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,
    Ajay

    Hi 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 advance

    Chris 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 control’s 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 control’s first row’s 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 number’s drop down then they want to see the particular material’s 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 number’s 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 user’s 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 user’s 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 user’s 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 user’s 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,
    Erkan

    Try 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