Using at  last statement

hi,
I am using at last statement in my code in the following code:-
   LOOP AT ITAB1.
      AT LAST.
        SUM .
          WRITE: / ITAB1-SPART,ITAB1-TOT1.
      ENDAT.
    ENDLOOP.
The code above perform  the calculation of the field ITAB1-TOT1.
But in output it does not display the division number (ITAB1-SPART) and instead of it shows **.
I want to show the division no also but due to using of the keyword SUM it does not display it and i had tried to define field spart along with sum but it gives the syntax error.
can any body provide me guidlines for solving this problem.

Hi,
The fileds left to tot1 will not be worked with in the cotrol command statements like at new,at end of,at lat.
So Modify the code as follows.
data:
  w_SPART type vbak-SPART.
LOOP AT ITAB1.
w_SPART  = itab1-spart.
AT LAST.
SUM .
WRITE: / w_SPART,ITAB1-TOT1.
ENDAT.
ENDLOOP.

Similar Messages

  • Error in executing the rs.last() Statement

    Hi friends,
    Here with i am attaching the code for your perusal.I am getting
    some typical error.If i am using 'if condition' in my stored
    procedure i am getting error in executing rs.last statement,
    otherwise it's working fine.
    Kindly help me in this regard.
    Thanks in advance.
    P.Hemanand.
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    con = DriverManager.getConnection("jdbc:odbc:dsn","sa","");
    System.out.println("Connection Success");
    String strQuery = "{Call TEST005(?,?)}";
    CallableStatement cs =
    con.prepareCall(strQuery,ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
    cs.setInt(1, 7);
    cs.setInt(2, 5);
    rs = cs.executeQuery();
    while (rs.next()) {
    System.out.println("true");
    rs.last(); //Error in executing this line
    Error Description:
    java.sql.SQLException: Result set type is TYPE_FORWARD_ONLY
    [Loaded java.lang.StackTraceElement from C:\Program Files\Java\j2re1.4.1\lib\rt.jar]
    at sun.jdbc.odbc.JdbcOdbcResultSet.isLast(JdbcOdbcResultSet.java:2066)
    at watscon.main(con.java:42)
    [Loaded java.util.HashMap$KeySet from C:\Program Files\Java\j2re1.4.1\lib\rt.jar]
    [Loaded java.util.HashMap$KeyIterator from C:\Program Files\Java\j2re1.4.1\lib\rt.jar]

    Hi pal,
    I am getting the same error irrespective of INSENSITIVE/SENSITIVE resultset type.The root cause is the usage of if loop in stored procedure.Otherwise i could execute rs.last() statement(if there is no if loop condition in my SP).I couldn't understand why it is so?.
    Thanks for your attempt!!!
    If you have any idea reg. above mentioned error, please feel free to share with me.
    Thanks in advance!!!!!!
    HEM.

  • Problem with JFMERGE using the last set of data on all form sets

    b Here is the scenario...
    I have a file of data in character delimited format. Each record needs to produce the same set of forms. I used the Visual Transformation Editor to define the field nominated data file, including the ^form statements. The transformation agent processes the file of multiple records just fine. I get a file from JFTRANS that contains the set of data & form statements repeated for each record in the file.
    Great so far.
    b Here is the problem...
    Unfortunately, the print agent is repeating the same set of data on every copy of the set of forms that is printed. It uses the data from the last set of forms to be printed.
    b Additional information...
    For ease of building the field nominated file by our custom client program we have standardized on using GLOBAL fields. Therefore, our DAT files contain all the ^global declarations with all the necessary ^form statements at the end. I used the transformation editor to build the same type of file. Therefore the file going to the print agent looks like:
    ^global name1
    data1
    ^global name2
    data2
    ^form form1
    ^form form2
    ^global name1
    newdata1
    ^global name2
    newdata2
    ^form form1
    ^form form2
    The printed result puts "newdata1" & "newdata2" on both sets of form2. Strangely, the correct data values are showing up on both sets of form1.
    The only difference between the two forms is that form1 is not defined with the fields as global where form2 does define them as global. I removed the global flag from form2 but that didn't change anything.
    I think I know what is occurring. JFMERGE is putting the data elements into the global dictionary and when the same name is in the file the latest data value ends up in the dictionary (thus all the forms print using the last data put into the dictionary). I certainly didn't expect this. I thought it would load the dictionary and print the first set of forms, then reload the dictionary and print the next set of forms. At least that is the way I see it occuring based on the order of things in the DAT file. Based on what is occuring it appears that JFMERGE reads the whole DAT file, building the dictionaries and then processes all the ^form statements.
    b My request for help...
    Does anyone know what I can do (such as insert some command) to get the correct data on the forms?
    It looks like using a fixed record format might do the trick but that isn't an option at this time. As things are right now it looks like I'm going to have to take the data file apart, and make lots of files with one line of data per file.
    I have a time deadline to get this printed so if there isn't a way to make JFMERGE operate as I expected it looks like I'll be doing this by hand. Fortunately, there are only 250-300 data lines. Future jobs could have thousands of data lines so if there isn't a way to do it with a multi-line data file I'll have someone create a program for splitting the original file up (and adding the ^job line).

    We don't use subforms so some of what you suggest isn't effective for us. Our forms are a duplication of the paper forms and are not dynamic. We design each form separately and our custom filler software (that builds the DAT file) uses a database with the required forms for each print job defined within it.<br /><br />Since we don't have subforms, our simple method of printing is to declare as GLOBAL all the unique fields used on all the forms to be printed followed by the ^form commands. It was a simple & straightforward method for us to do better than 500 print jobs over that past couple of years. In addition, our custom filler software can easily build the DAT files.<br /><br />Because I need to manually declare all the ^form statements my experience with using ^field is that the form must be declared followed by the appropriate field commands (repeat for all the forms).<br /><br />i <many hours later I continue typing this post><br /><br />Taking the original Transformation Definition File and customizing it for how things need to be when using ^field commands was a time consuming experience (and a learning one). It did the job as I needed but it is an experience I don't want to repeat. There has got to be a better way of building the TDF properly. I'm definately leaning towards a program to split the file into multiple files.<br /><br />Here is what I went through...<br /><br />I did all the editting using Notepad. I changed all ^global to ^field. Then I had to remove the #comment lines. Next was to find any references to fields that had to be global to the top and chang ^field to ^global. Then it was moving the fields around so they were underneath the appropriate ^form statement. Then, since one of the forms was multi-page I had to add the ^page command and sort the fields so they were under the correct page. That was followed by duplicating fields that are used on multiple forms or multiple pages. Then I discovered that the print agent won't do ^page unless "inline processing" is turned off (I did not want to specify the page name as it could change over time) - so I added "^inline off" in front of every ^page. Finally it was removing unecessary field references so the log file would be clean.<br /><br />For those that are interested, the following is an example of my final file. <br /><br />^global nameA<br />data<br />^global nameB<br />data<br />^form nameX<br />^field name1<br />data<br />^field name2<br />data<br />^form nameY<br />^field name1<br />data<br />^field name3<br />data<br />^inline off<br />^page<br />^field name4<br />data<br />^field name1<br />^inline off<br />^page<br />^field name5<br />data<br />^field name6<br />data

  • Is it possible to use a case statement when joining different tables based on input parameters?

    Hi,
    I have a scenario where my stored procedure takes 5 parameters and the users can pass NULL or some value to these parameters and based on the parameters, I need to pull data from various tables.
    Is it possible to use a case statement in the join, similar the one in the below example. I'm getting error when I use the below type of statement.
    select a.*
    from a
    case
    when parameter1=1 then
    inner join a on a.id = b.id
    when parameter1=2 then
    inner join a on a.id = c.id
    end;
    Please let me know, if this type of statement works, and if it works will it create any performance issues?. If the above doesn't work, could you please give me some alternate solutions?
    Thanks.

    Here's a technique for joining A to B or C depending on the input parameters. In theory, you are joining to both tables but the execution plan includes filters to skip whichever join is not appropriate. The drawback is that you have to do outer joins, not inner ones.
    CREATE TABLE A AS SELECT LEVEL ak FROM dual CONNECT BY LEVEL <= 100;
    CREATE TABLE b AS SELECT ak, bk
    FROM A, (SELECT LEVEL bk FROM dual CONNECT BY LEVEL <= 10);
    CREATE TABLE c(ak, ck) AS SELECT ak, bk*10 FROM b;
    variable p1 NUMBER;
    variable p2 NUMBER;
    exec :p1 := 1;
    exec :p2 := 20;
    SELECT /*+ gather_plan_statistics */ A.ak, nvl(b.bk, c.ck) otherk FROM A
    LEFT JOIN b ON A.ak = b.ak AND :p1 IS NOT NULL AND b.bk = :p1
    LEFT JOIN c ON A.ak = c.ak AND :p1 is null and :p2 IS NOT NULL and c.ck = :p2
    WHERE A.ak <= 9;
    SELECT * FROM TABLE(dbms_xplan.display_cursor(NULL,NULL,'IOSTATS LAST'));
    | Id  | Operation             | Name            | Starts | E-Rows | A-Rows |   A-Time   | Buffers |
    |   0 | SELECT STATEMENT      |                 |      1 |        |      9 |00:00:00.01 |       7 |
    |*  1 |  HASH JOIN OUTER      |                 |      1 |      9 |      9 |00:00:00.01 |       7 |
    |*  2 |   HASH JOIN OUTER     |                 |      1 |      9 |      9 |00:00:00.01 |       7 |
    |*  3 |    TABLE ACCESS FULL  | A               |      1 |      9 |      9 |00:00:00.01 |       3 |
    |   4 |    VIEW               | VW_DCL_5532A50F |      1 |      9 |      9 |00:00:00.01 |       4 |
    |*  5 |     FILTER            |                 |      1 |        |      9 |00:00:00.01 |       4 |
    |*  6 |      TABLE ACCESS FULL| B               |      1 |      9 |      9 |00:00:00.01 |       4 |
    |   7 |   VIEW                | VW_DCL_5532A50F |      1 |      9 |      0 |00:00:00.01 |       0 |
    |*  8 |    FILTER             |                 |      1 |        |      0 |00:00:00.01 |       0 |
    |*  9 |     TABLE ACCESS FULL | C               |      0 |      9 |      0 |00:00:00.01 |       0 |
    Predicate Information (identified by operation id):
       1 - access("A"."AK"="ITEM_0")
       2 - access("A"."AK"="ITEM_1")
       3 - filter("A"."AK"<=9)
      5 - filter(:P1 IS NOT NULL)
       6 - filter(("B"."AK"<=9 AND "B"."BK"=:P1))
       8 - filter((:P2 IS NOT NULL AND :P1 IS NULL))
       9 - filter(("C"."AK"<=9 AND "C"."CK"=:P2))
    You can see that table C was not really accessed: the buffer count is 0.
    exec :p1 := NULL;
    SELECT /*+ gather_plan_statistics */ A.ak, nvl(b.bk, c.ck) otherk FROM A
    LEFT JOIN b ON A.ak = b.ak AND :p1 IS NOT NULL AND b.bk = :p1
    LEFT JOIN c ON A.ak = c.ak AND :p1 is null and :p2 IS NOT NULL and c.ck = :p2
    WHERE A.ak <= 9;
    SELECT * FROM TABLE(dbms_xplan.display_cursor(NULL,NULL,'IOSTATS LAST'));
    Now table B is not accessed.
    | Id  | Operation             | Name            | Starts | E-Rows | A-Rows |   A-Time   | Buffers | Reads  |
    |   0 | SELECT STATEMENT      |                 |      1 |        |      9 |00:00:00.02 |       7 |      2 |
    |*  1 |  HASH JOIN OUTER      |                 |      1 |      9 |      9 |00:00:00.02 |       7 |      2 |
    |*  2 |   HASH JOIN OUTER     |                 |      1 |      9 |      9 |00:00:00.01 |       3 |      0 |
    |*  3 |    TABLE ACCESS FULL  | A               |      1 |      9 |      9 |00:00:00.01 |       3 |      0 |
    |   4 |    VIEW               | VW_DCL_5532A50F |      1 |      9 |      0 |00:00:00.01 |       0 |      0 |
    |*  5 |     FILTER            |                 |      1 |        |      0 |00:00:00.01 |       0 |      0 |
    |*  6 |      TABLE ACCESS FULL| B               |      0 |      9 |      0 |00:00:00.01 |       0 |      0 |
    |   7 |   VIEW                | VW_DCL_5532A50F |      1 |      9 |      9 |00:00:00.01 |       4 |      2 |
    |*  8 |    FILTER             |                 |      1 |        |      9 |00:00:00.01 |       4 |      2 |
    |*  9 |     TABLE ACCESS FULL | C               |      1 |      9 |      9 |00:00:00.01 |       4 |      2 |

  • Problems with StoredProcedures that use INSERT/DELETE statements

    Hello
    I am using Hyperion Intelligence explorer 8.5, and the database source is a MS SQL Server 2000 source connected via ODBC.
    I have this problem: when I use, in a Query section, a stored procedure that (in its code) uses only SELECT statements I get the result of the query in the Results section, but when I use a storedprocedure that does some work (and executes INSERT or DELETE or other SQL statements) and ends executing a SELECT statement in order to return data to the caller Hyperion hangs.
    I mean: first I select the stored procedure (Query\StoredProcedure... menù, than I start it using the Process command in Hyperion.
    If the storedproc contains only SELECT statements I get the results, but if it contains INSERT or DELETE (and the last statement is a SELECT) Hyperion does not return any data and if I try to repeat the Process command I get an error that tells "the connection is busy with results from another hstmt".
    Before you ask me if the stored procedure works correctly, I can confirm this because the storedproc was tested and returns the correct data if used with the db manager application.
    Any suggestions? Did you ever use (successfully )storedprocedures that process data (by INSERT or DELETE statements) and then return the result with a SELECT statement?
    Thank you for your help

    Hi Chris,
    Could you please tell us in which version of IR
    Hyperion is not going to support Stored
    Procedures....
    Regards,
    ManmohanManmohan,
    Did you even read what I just wrote? This is NOT happening. Stroed Procedures are an important part of the Intelligence Product, Oracle is continuing to enhance and support this functionality. I work for Oracle, I worked for Hyperion, and for Brio before that, so believe me when I tell you this.
    Chris (whoever he is) is gving out incorrect information in this regard. His suggestion of the workaround for the original issue is completely accurate, but as I added, it was in issue that has been corrected as of 8.5 Service Pack 2, so even the workaround is not required as long as you've upgraded. (Note that some versions of 9.x also will require the workaround due to the timing of the releases overlapping.)
    Thanks.
    Larry Johnson

  • Someone knows last state of having an UISplitviewcontroller in a UITabbarController? It is still prohibiting?

    Hi,
    Some knows what is the last state of having an UISplitviewcontroller in an UITabbarController? Has any one any app with an UISplitViewController in a UITabBarController already in AppStore?
    I’m still finding in the documentation, that the UISplitViewController has to be the root of the APP.
    http://developer.apple.com/library/ios/#documentation/WindowsViews/Conceptual/Vi ewControllerCatalog/Chapters/SplitViewControllers.html
    “A split view controller must always be the root of any interface you create. In other words, you must always install the view from a UISplitViewController object as the root view of your application’s window. The panes of your split view interface may then contain navigation controllers, tab bar controllers, or any other type of view controller you need to implement your interface. Split view controllers cannot be presented modally.”
    But reading in Blogs people says that this is no more prohibited..
    Thanks and cheers

    This is a user-to-user consumer forum. Use the develoepr forums for this topic.
    http://devforums.apple.com/

  • How to use a case statement in where clause

    Hi All,
    I have a requirement which is to bring all the claims that are created in the last month.So, i wrote a query something like this
    select * from claims
    where
    (Month(ClaimOpenDate) = Month(Getdate())-1 and year(claimopendate) = year(getDate()))
    which would give me any new claims created in last month of current year, but this condition fails if we are in the first month of a new year( lets say if we are in 2016 jan then month(getdate())-1 would be 0 and year(getdate()) would be 2016 so we dont
    find any records where year is 2016 and month is 0 for claimopen).
    So, i would like to use a case statament or something which can help me get around this one.
    Can someone please help me with any suggestions?
    Thanks

    Hi Jason,
    Thanks a lot for your help. This is what exactly i am looking for but i just gave a sample query above below is my original query 
    select
    row_number() over (order by [ClaimNumber]) as DataElementName
    ,c.PolicyNumber as PolicyNum
    , c.FirstName as CustNameF
    ,c.LastName as CustNameL
    ,c.PolicyForm as PolType
    ,'Homesite' as Company
    ,[ClaimNumber] as ClaimNum
    ,E.office as Ofc
    ,e.Supervisior_FullName as Team
    , RIGHT(e.adjuster_Name ,LEN(e.adjuster_Name)- charindex(',' ,e.adjuster_Name)) as FORepF
    , case when charindex(',' ,e.adjuster_Name) <> 0 then left(e.adjuster_Name,charindex(',' ,e.adjuster_Name)-1) else e.adjuster_Name end as FORepL
    ,e.AdjusterID as RepC -- not sure
    ,CONVERT ( varchar,c.LossDate ,101) as DOL
    ,convert (varchar,c.ClaimOpenDate,101) as DOR
    ,rtrim(c.Loss_State) as LossSt
    ,c.Loss_ZipCode as LossZIP
    ,c.Loss_City as LossCity
    ,c.LossType as FOL
    ,'' as PR
    ,'' as PRNum
    ,1 as FeaNum
    ,'HO' as FeaType
    ,case when rtrim(c.claimStatus)= 'Closed' then 'Closed' else 'Open' end as FeaStat
    ,'' as FeaOpen
    ,'' as FeaClosed
    ,s.PaymentIndemnityAmount as PaidAmt
    ,s.ReserveIndemnityAmount as Reserve
    ,'' as Sub
    ,'' as Sal
    ,'' as FeatOwnOfc
    ,e.Supervisior_FullName as FeatOwnTeam
    ,RIGHT(e.adjuster_Name ,LEN(e.adjuster_Name)- charindex(',' ,e.adjuster_Name)) as FeatOwnRepF
    ,case when charindex(',' ,e.adjuster_Name) <> 0 then left(e.adjuster_Name,charindex(',' ,e.adjuster_Name)-1) else e.adjuster_Name end as FeatOwnRepL
    ,e.AdjusterID as FeatOwnRepCode
    ,NULL AS Description --not sure
    from [Stg].[HS_DW_RV_Claims] c
    inner join [dbo].[Claims_Primary_Adjuster] a on a.CLAIM_NUMBER = c.ClaimNumber
    inner join [dbo].[vw_Adjuster] e on e.adjuster_Name = a.primary_ADJUSTER
    left outer join [Stg].[HS_DW_LossClaimSummary] s on c.ClaimKey=s.ClaimKey
    where c.LoadSource = 'CMS'
    and
    (s.PaymentIndemnityAmount <>0 or s.PaymentExpenseAmount <>0)
    and
    ClaimOpenDate BETWEEN DATEADD(mm, DATEDIFF(mm, 0, CURRENT_TIMESTAMP) -1, 0) AND DATEADD(mm, DATEDIFF(mm, 0, CURRENT_TIMESTAMP), 0)
    UNION ALL
    select
    row_number() over (order by [ClaimNumber]) as DataElementName
    ,c.PolicyNumber as PolicyNum
    , c.FirstName as CustNameF
    ,c.LastName as CustNameL
    ,c.PolicyForm as PolType
    ,'Homesite' as Company
    ,[ClaimNumber] as ClaimNum
    ,E.office as Ofc
    ,e.Supervisior_FullName as Team
    , RIGHT(e.adjuster_Name ,LEN(e.adjuster_Name)- charindex(',' ,e.adjuster_Name)) as FORepF
    , case when charindex(',' ,e.adjuster_Name) <> 0 then left(e.adjuster_Name,charindex(',' ,e.adjuster_Name)-1) else e.adjuster_Name end as FORepL
    ,e.AdjusterID as RepC -- not sure
    ,CONVERT ( varchar,c.LossDate ,101) as DOL
    ,convert (varchar,c.ClaimOpenDate,101) as DOR
    ,rtrim(c.Loss_State) as LossSt
    ,c.Loss_ZipCode as LossZIP
    ,c.Loss_City as LossCity
    ,c.LossType as FOL
    ,'' as PR
    ,'' as PRNum
    ,1 as FeaNum
    ,'HO' as FeaType
    ,case when rtrim(c.claimStatus)= 'Closed' then 'Closed' else 'Open' end as FeaStat
    ,'' as FeaOpen
    ,'' as FeaClosed
    ,s.PaymentIndemnityAmount as PaidAmt
    ,s.ReserveIndemnityAmount as Reserve
    ,'' as Sub
    ,'' as Sal
    ,'' as FeatOwnOfc
    ,e.Supervisior_FullName as FeatOwnTeam
    ,RIGHT(e.adjuster_Name ,LEN(e.adjuster_Name)- charindex(',' ,e.adjuster_Name)) as FeatOwnRepF
    ,case when charindex(',' ,e.adjuster_Name) <> 0 then left(e.adjuster_Name,charindex(',' ,e.adjuster_Name)-1) else e.adjuster_Name end as FeatOwnRepL
    ,e.AdjusterID as FeatOwnRepCode
    ,DESCRIPTION --not sure
    from Stg.IG_Document D
    inner join [Stg].[HS_DW_RV_Claims] c on D.PARENTREF = C.ClaimNumber
    inner join [dbo].[Claims_Primary_Adjuster] a on a.CLAIM_NUMBER = c.ClaimNumber
    inner join [dbo].[vw_Adjuster] e on e.adjuster_Name = a.primary_ADJUSTER
    left outer join [Stg].[HS_DW_LossClaimSummary] s on c.ClaimKey=s.ClaimKey
    where c.LoadSource = 'CMS'
    and
    DESCRIPTION like '%Denial Letter%'
    and
    ClaimOpenDate BETWEEN DATEADD(mm, DATEDIFF(mm, 0, CURRENT_TIMESTAMP) -1, 0) AND DATEADD(mm, DATEDIFF(mm, 0, CURRENT_TIMESTAMP), 0)
    So if i use your logic in the end for both the where clauses its been more than 10 minutes and the query is still running however if i use my old method it doesnt even take a second. Looks like its affecting the execution plan. Any suggestions to get around
    this one please?
    Thanks

  • Log to see a tcode used in last 15 days

    hi pros
    i need to see a how many times a tcode used in last 1 month. is there any report? i used stat but didnt give anything. please reply!

    hi
    Try STAT,STO3,SM19,SM20,STAD,SPAU/SPAD.
    chk this table FRUN .
    For writer/painter reports you can view stats via SE16 in table T803J. For all reports and transactions execution info is stored in table MONI. This is the same info available via ST03 and to some extent STAT. Info for MONI is collected from the UNIX servers and totalled on MONI by day, week, month, year. Retention periods are set by the Basis group. We have a custom table where this information is stored by period for historical and licensing purposes. Be sure to use the SAP function modules to retrieve data from MONI.
    Also check this sample code from other thread.
    internal tables for use counterdata:
    begin of list occurs 5.       
    include structure sapwlserv.
    data: end of list.
    data: begin of applicat occurs 0.       
    include structure sapwlustcx.
    data: end of applicat.
    data: begin of applica_ occurs 0.       
    include structure sapwlustcx.
    data: end of applica_.
    data: begin of applicau occurs 0,       
    entry_id like sapwlustcx-entry_id,       
    account  like sapwlustcx-account,       
    count    like sapwlustcx-count,   
    : end of applicau.
    data: wa_applicau like applicau.
    *&      Form  MONI
    form moni. 
    data: l_host like  sapwlserv-hostshort. 
    m_start = p_usedt.
    get server 
    call function 'SAPWL_SERVLIST_GET_LIST'      
      tables           
        list = list. 
    do.   
      loop at list.
    loop on server     
       check not list-instshort is initial.        
       l_host = list-instshort.
    get statistics per month and server     
       perform workload using m_start l_host.   
      endloop.   
      add 31 to m_start.   
      if m_start > sy-datum.     
        exit.   
      endif. 
    enddo. 
    sort applica_ by entry_id. 
    sort applicau by entry_id count descending.
    endform.                               " MONI
    *&      Form  WORKLOAD
    form workload using    p_start like sy-datum                        
    p_host  like  sapwlserv-hostshort. 
    refresh: applica_.
    read application statistic from MONI 
    call function 'SAPWL_WORKLOAD_GET_STATISTIC'      
      exporting           
        periodtype                 = 'M'           
        hostid                     = p_host           
        startdate                  = p_start           
        only_application_statistic = 'X'      
      tables           
        application_statistic      = applica_      
      exceptions           
        unknown_periodtype         = 1           
        no_data_found              = 2           
        others                     = 3. 
    sort applica_ by entry_id account. 
    loop at applica_  where entry_id(1) ge 'Y'.             "#EC PORTABLE   
      clear wa_applicau-entry_id.   
      wa_applicau-entry_id(25) = applica_-entry_id.   
      wa_applicau-account      = applica_-account.   
      wa_applicau-count        = applica_-count.   
      collect wa_applicau into applicau. 
    endloop. 
    sort applicau by entry_id count descending. 
    applica_-ttype    = space. 
    applica_-account  = space. 
    modify applica_ transporting ttype account where ttype ne space.
    collect only enhancements statistic 
    if p_temp = 'X'.   
    loop at applica_.     
       applica_-entry_id+25(48) = space.     
       collect applica_ into applicat.   
      endloop. 
    else.   
      loop at applica_ where entry_id(1) ge 'Y'.            "#EC PORTABLE     
        applica_-entry_id+25(48) = space.     
        collect applica_ into applicat.   
      endloop. 
    endif.
    endform.                               " WORKLOAD
    Hope this will help.

  • Displaying Last State of Action

    Let me see if this question makes any sense.
    How do you show the last state of the action in the working slide view?
    For example, if you have a shape that used "move" action, in the slide it only displays the starting state of the action.
    I am trying to copy and paste the last position of that moved shape into the new slide. How do you do that?

    You've identified a limitation of the (current) implementation of Actions -- there is no way to see their final state when editing another Action or Build.
    As a workaround you can try, first start with a "template" object that is the position/size you want for the final state of the Action, then create your Action to fit that template. You can then use the template as a reference for later Builds and Actions, and when done, you can delete it (or make it transparent but keep it there for future edits if necessary).

  • Using at last

    i want to using at last to trigger the last record, but it can't work, my source like this,
    loop at itab1.     
          loop at itab2 where vbeln = itab1-vbeln and vbelp=itab1-vbelp.
            at last.
                do somethings.
            endat.
          endloop.
    endloop.
    Is the code correct?

    hi port,
    its correct but how can we know ur requirement......
    ok. read this....
    <b>Using the at last Statements</b>
    Use the at last statements to perform processing during the last loop pass of an internal table.
    Syntax for the at last Statements:
    The following is the syntax for the at first and at last statements.
    loop at it.
        at last.
            endat.
        endloop.
    where:
    it is an internal table.
    --- represents any number of lines of code (even zero).
    The following points apply:
    These statements can only be used within loop at; they cannot be used within select.
    at first does not have to come before at last. The order of these statements can be interchanged.
    The last time through the loop, the lines of code between at last and endat are executed. If there are multiple occurrences of at last, they are all executed.
    <b>An example Code:</b>
    1  report ztx1307.
    2  tables ztxlfc3.
    3  data it like ztxlfc3 occurs 25 with header line.
    4  select * from ztxlfc3 into table it where shbkz = 'Z'.
    5  loop at it.
    6      at first.
    7          write: /  'Vendor',
    8                 12 'Cpny',
    9                 17 'Year',
    10                22 'Bal C/F'.
    11         uline.
    12         endat.
    13     write: /   it-lifnr,
    14            12  it-bukrs,
    15            17  it-gjahr,
    16            22  it-saldv.
    17     at last.
    18         write: /  '----
    19                12 '----',
    20                17 '----',
    21                22 '----
    22         endat.
    23     endloop.
    24 free it.
    <b>Use at last for:</b>
    1)Loop termination processing
    2)Writing totals at the bottom of a report
    3)Writing footings
    Between the at last and endat, the component values of the work area row will not contain any data. The default key fields are filled with * (asterisks) and the numeric fields are set to zeros. The endat restores the contents to the values they had prior to entering the at. Changes to the work area within at and endat are lost.
    Reward me if useful,
    Harimanjesh AN

  • How can i use one SQL statement to solve problem?

    How can i use one SQL statement to solve the question below?
    For a Table named A, there is a column named F(char type).
    Now select all the records where F like '%00' and update their F value to '%01'
    Just one SQL statement.Do not use PL/SQL block.
    How to do that?
    Thanks.

    What is the data volume for this table?
    Do you expect lots of rows to have '%00' as their value?
    Following two statements come to mind. Other experts would be able to provide better alternatives:
    If you have index on SUBSTR(f, 2):
    UPDATE A
    SET    f = SUBSTR(f,
                      1,
                      length(f) - 2) || '01'
    WHERE  substr(f,
                  -2) = '00';If most of the rows have pattern '%00':
    UPDATE A
    SET    f = SUBSTR(f,
                      1,
                      length(f) - 2) ||
               DECODE(SUBSTR(f,
                             -2),
                      '00',
                      '01',
                      SUBSTR(f,
                             -2));

  • Use of Prepared Statement in adf

    Hi Experts,
    I am confused with the Use of prepared statement in adf.
    My use case is ,
    I have to update a table from every page in my application under certain conditions.
    My question is ,
    whether I have to create the VO iterator binding in every page and by calling the createinsert and insert the data in to the table or
    use a common method in the Application module impl
    which is using a prepared statement,(which is not even creating the ViewObject ) like
    PreparedStatement st = null;
    String sql = "INSERT INTO hr.departments (DEPARTMENT_ID,    DEPARTMENT_NAME,   MANAGER_ID,   LOCATION_ID) VALUES (seq,?,?,?)";
                st=getDBTransaction().createPreparedStatement(sql,0);
                st.setString(1, name);
                st.setString(2, mgr_id);
                st.setString(3, Loc_id);
                st.execute();
    getDBTransaction().commit();which is the best approach?
    Studio Edition Version 11.1.1.2.0
    Ranjith

    Ranjith,
    Without further understanding the use case, there's not really much difference between the two approaches. In both cases, you'd have a binding in the page definition (either an iterator binding for the VO or a method binding for the AM service method). Both will use bind variables. The main difference I can see is that, depending on how you have configured your AM pooling settings, the VO method will incur fewer parses in the DB because the AM will cache prepared statements for you.
    John

  • Use of "infotypes" statement

    Hi,
    What is the use of infotypes statement.
    I saw a code block in sdn. here they have used a infotype statement as below.
    infotypes: 0041.
    tables: pernr.
    data: record type standard table of p0041,
    lfs_rec like line of record.
    parameters: p_pernr type persno.
    start-of-selection.
    call function 'HRAR_READ_INFOTYPE'
    exporting
    personnel_number = p_pernr
    infotype = '0041'
    IMPORTING
    RC = RC
    tables
    infotype_table = record
    exceptions
    exception_infotype = 1.
    loop at record into lfs_rec.
    write:/10 lfs_rec-pernr,
    30 lfs_rec-begda,
    42 lfs_rec-endda,
    54 lfs_rec-dar01,
    60 lfs_rec-dat01.
    endloop.
    In the above code they have used
    infotypes: 0041.
    But 0041 is not used anywhere in the program.
    I have read that infotypes statement is used to create a internal table. But here i have no clue they have craeted internal table separately.
    Please help
    Thanks in advance,
    Bala.

    hi Bala,
    You are right,  infotypes statement is used to create a internal table. Infotype can be used as reference to the standard table. eg if we consider the case of standard table PA0001, then is infotype is 0001.
    in case of this code:
    call function 'HRAR_READ_INFOTYPE'
    exporting
    personnel_number = p_pernr
    infotype = '0041'
    IMPORTING
    RC = RC
    tables
    infotype_table = record
    exceptions
    exception_infotype = 1.
    we are passing infotype as '0041', so it will read from standard table PA0041 and it will fetch data from that table according to p_pernr and the data will be fetched into the internal table 'record'. That is why infotypes are used.
    I hope this explaination is sufficient.
    regards
    arjun.

  • How can I use an IF statement in the SELECT

    Hi People,
    I have a procedure called ENQUEUE_PROC which takes 3 parameters.
    and I am trying to use an if statement in the select. I appreciate the help with this task.
    here is my code.
    Please have a look at my Select statement. What I have does not compile, however it might give you an idea of what i need.
    PROCEDURE ENQUEUE_PROC(P_SUBMISSION_ID NUMBER,
                           P_EVENT         VARCHAR2,
                                CASE_TYPE_CODE NUMBER;
                           ) AS
         XMLDATA XMLTYPE;
         enqueue_options     dbms_aq.enqueue_options_t;
         message_properties  dbms_aq.message_properties_t;
         message_handle      RAW(16);
         message SYS.AQ$_JMS_TEXT_MESSAGE;
    BEGIN
              SELECT      
                        XMLELEMENT("caseFileEvent", XMLATTRIBUTES('http://www.ussc.gov/soa/casefile/event/types' AS "xmlns",
                                                          'http://www.ussc.gov/soa/casefile/event/types' AS "xmlns:ns0"),
                             XMLELEMENT("caseFileUploadEvent", XMLATTRIBUTES('http://www.w3.org/2001/XMLSchema-instance' AS "xmlns:xsi",
                                                                                                   'http://www.ussc.gov/soa/casefile/event/types ../xsd/Case_META.xsd' AS "xsi:schemaLocation",
                                                                                                   'http://www.ussc.gov/soa/casefile/event/types' AS "xmlns"),
                                       XMLELEMENT("taskEvent", P_EVENT), --eg - 'SUBMIT', 'REJECT', 'RESUBMIT'
                                XMLELEMENT("defendentDetails",
                                                                XMLELEMENT("sentensingDate", SMD.SENT_VIO_DATE),
                                                                XMLELEMENT("personDetails",
                                                                               // Here is where I want my IF statement, *********************************
                                                                               IF CASE_TYPE_CODE = 10 THEN
                                                                                         XMLELEMENT("personNameDetails",
                                                                                                             XMLELEMENT("firstName", SMD.FIRST_NAME),
                                                                                                             XMLELEMENT("middleName", SMD.MIDDLE_NAME),
                                                                                                             XMLELEMENT("lastName", SMD.LAST_NAME)
                                                                                                   ), -- personNameDetails
                                                                               ELSE
                                                                                    XMLELEMENT("personNameDetails",
                                                                                                   XMLELEMENT("corpname", SMD.CORPNAME),
                                                                                         ), -- personNameDetails
                                                                               XMLELEMENT("dateOfBirth", SMD.BIRTH_DATE)          
                                                                          ) -- personDetails
                                            ), -- defendentDetails
                                            XMLELEMENT("documentStatusDetails",
                                                      XMLELEMENT("otherStatus",
                                                                     XMLELEMENT("intCode", NULL),
                                                                     XMLELEMENT("description", NULL)
                                                                ) -- otherStatus
                                            ), -- documentStatusDetails
                                            XMLELEMENT("uploadOtherDetails",
                                                           XMLELEMENT("submissionId", SUB.SUBMISSION_ID),
                                                           XMLELEMENT("submissionSessionId", SUB.SUB_SESSION_ID),
                                                           XMLELEMENT("submissionMethod",
                                                                XMLELEMENT("intCode", SUB.SUB_MTHD_CODE),
                                                                XMLELEMENT("description", SM.DESCRIP)
                                                           ), -- submissionMethod
                                                           XMLELEMENT("submissionReason",
                            XMLELEMENT("intCode", SUB.SUB_TYPE_CODE),
                                                                XMLELEMENT("description", SR.DESCRIP)
                                                           ), -- submissionReason
                                                           XMLELEMENT("district",
                                                                XMLELEMENT("intCode", SMD.DIST_ID),
                                                                XMLELEMENT("description", D.DISTRICT_NAME)
                                                           ), -- district
                                                           XMLELEMENT("caseFileType",
                                                                XMLELEMENT("intCode", SUB.CASE_TYPE_CODE),
                                                                XMLELEMENT("description", C.DESCRIP)
                                                           ), -- caseFileType
                                                           XMLELEMENT("primaryDocketInfo",
                                                                XMLELEMENT("yearYY", SUBSTR(SMD.DOCKET, 1, 2)),
                                                                XMLELEMENT("id", SUBSTR(SMD.DOCKET, 3, 7)),
                                                                XMLELEMENT("defendentNumber", SMD.DEF_NUM)
                                                           ), -- primaryDocketInfo
                                                           XMLELEMENT("PACTSId", SMD.PACTS_ID), -- PACTSId
                                                           XMLELEMENT("AOJudgeId",
                                                                XMLELEMENT("intCode", SMD.AO_JUDGE_ID),
                                                                XMLELEMENT("description", J.LAST_NAME || ', ' || J.FIRST_NAME || ', ' || J.MIDDLE_NAME)
                                                           ), -- AOJudgeId
                                                           XMLELEMENT("missingCasefile", SUB.MISSING_CASE), -- missingCasefile
                                                           XMLELEMENT("creator",
                                                                XMLELEMENT("firstName", NULL),
                                                                XMLELEMENT("lastName", NULL),
                                                                XMLELEMENT("email", SUB.CREATOR_ID),
                                                                XMLELEMENT("actionDate", REGEXP_REPLACE( TO_CHAR(SUB.CREATE_TIME, 'YYYY-MM-DD"T"HH24:MI:SS.FFTZR'), '...(......)$', '\1'))
                                                           ), -- creator
                                                           XMLELEMENT("lastModifier",
                                                                XMLELEMENT("firstName", NULL),
                                                                XMLELEMENT("lastName", NULL),
                                                                XMLELEMENT("email", H.USER_ID),
                                                                XMLELEMENT("actionDate", TO_CHAR(H.ACTION_DATE, 'YYYY-MM-DD"T"HH24:MI:SS".000-05:00"'))
                                                           ) -- lastModifier
                                            ) -- uploadOtherDetails
                             ) -- caseFileUploadEvent
                        ) -- caseFileEvent
              INTO      XMLDATA
              FROM      USSC_CASES.SUBMISSION SUB,
              USSC_CASES.SUBMISSION_METADATA SMD,
              USSC_CASES.CASE_HISTORY H,
              LOOKUP.CASE_SUB_MTHD SM,
              LOOKUP.CASE_SUB_TYPE SR,
              LOOKUP.DISTRICTS D,
              LOOKUP.JUDGES J,
              LOOKUP.CASE_TYPES C
              WHERE      SUB.SUBMISSION_ID = SMD.SUBMISSION_ID
              AND        SUB.SUBMISSION_ID = H.SUBMISSION_ID
              AND        SUB.SUB_MTHD_CODE = SM.SUBMTHD_CODE
              AND        SUB.SUB_TYPE_CODE = SR.SUBTYPE_CODE
              AND        SUB.CASE_TYPE_CODE = C.CASE_TYPE_CODE
              AND        SMD.DIST_ID = D.USSC_DISTRICT_ID
              AND        SMD.AO_JUDGE_ID = J.AO_JUDGE_ID
              AND        H.ACTION_DATE IN (SELECT MAX(A.ACTION_DATE)
                                  FROM USSC_CASES.CASE_HISTORY A
                                  WHERE A.SUBMISSION_ID = P_SUBMISSION_ID)
              AND        SUB.SUBMISSION_ID = P_SUBMISSION_ID;
        --dbms_output.put_line('queue start '|| xmldata.getclobval());
        --insert into test1 values(xmldata);
        message := SYS.AQ$_JMS_TEXT_MESSAGE.construct;
        message.set_text(xmldata.getStringVal());
        DBMS_AQ.ENQUEUE(queue_name => 'case_file_queue',  -- aqadm.cases_queue             
        enqueue_options    => enqueue_options,       
        message_properties => message_properties,     
        payload  => message,             
        msgid   => message_handle);
         COMMIT;
    END ENQUEUE_PROC;

    thanks for the help,
    I believe I almost got it to compilw, however I am getting Error(29,19): PL/SQL: ORA-00918: column ambiguously defined.
    Of course CASE_TYPE_CODE is ambiguously because its passed in, is there a way around this.
    Here is what i have so far.
    PROCEDURE ENQUEUE_PROC(P_SUBMISSION_ID NUMBER,
                           P_EVENT         VARCHAR2,
                           CASE_TYPE_CODE NUMBER    // passed in field
                           ) AS
         XMLDATA XMLTYPE;
         enqueue_options     dbms_aq.enqueue_options_t;
         message_properties  dbms_aq.message_properties_t;
         message_handle      RAW(16);
         message SYS.AQ$_JMS_TEXT_MESSAGE;
    BEGIN
              SELECT      
                        XMLELEMENT("caseFileEvent", XMLATTRIBUTES('http://www.ussc.gov/soa/casefile/event/types' AS "xmlns",
                                                          'http://www.ussc.gov/soa/casefile/event/types' AS "xmlns:ns0"),
                             XMLELEMENT("caseFileUploadEvent", XMLATTRIBUTES('http://www.w3.org/2001/XMLSchema-instance' AS "xmlns:xsi",
                                                                                                   'http://www.ussc.gov/soa/casefile/event/types ../xsd/Case_META.xsd' AS "xsi:schemaLocation",
                                                                                                   'http://www.ussc.gov/soa/casefile/event/types' AS "xmlns"),
                                       XMLELEMENT("taskEvent", P_EVENT), --eg - 'SUBMIT', 'REJECT', 'RESUBMIT'
                                            XMLELEMENT("defendentDetails",
                                                                XMLELEMENT("sentensingDate", SMD.SENT_VIO_DATE),
                                                                CASE
                                                                     WHEN CASE_TYPE_CODE = 10 THEN
                                                                           XMLELEMENT("personDetails",
                                                                                         XMLELEMENT("personNameDetails",
                                                                                                             XMLELEMENT("firstName", SMD.FIRST_NAME),
                                                                                                             XMLELEMENT("middleName", SMD.MIDDLE_NAME),
                                                                                                             XMLELEMENT("lastName", SMD.LAST_NAME)
                                                                                                   ), -- personNameDetails 
                                                                                         XMLELEMENT("dateOfBirth", SMD.BIRTH_DATE)          
                                                                                    ) -- personDetails
                                                                     ELSE
                                                                          XMLELEMENT("corporationDetails",
                                                                                         XMLELEMENT("organizationName", SMD.CORP_NAME)
                                                                                    ) -- corporationDetails          
                                                                END
                                            ), -- defendentDetails
                                            XMLELEMENT("documentStatusDetails",
                                                      XMLELEMENT("otherStatus",
                                                                     XMLELEMENT("intCode", NULL),
                                                                     XMLELEMENT("description", NULL)
                                                                ) -- otherStatus
                                            ), -- documentStatusDetails
                                            XMLELEMENT("uploadOtherDetails",
                                                           XMLELEMENT("submissionId", SUB.SUBMISSION_ID),
                                                           XMLELEMENT("submissionSessionId", SUB.SUB_SESSION_ID),
                                                           XMLELEMENT("submissionMethod",
                                                                XMLELEMENT("intCode", SUB.SUB_MTHD_CODE),
                                                                XMLELEMENT("description", SM.DESCRIP)
                                                           ), -- submissionMethod
                                                           XMLELEMENT("submissionReason",
                                                                XMLELEMENT("intCode", SUB.SUB_TYPE_CODE),
                                                                XMLELEMENT("description", SR.DESCRIP)
                                                           ), -- submissionReason
                                                           XMLELEMENT("district",
                                                                XMLELEMENT("intCode", SMD.DIST_ID),
                                                                XMLELEMENT("description", D.DISTRICT_NAME)
                                                           ), -- district
                                                           XMLELEMENT("caseFileType",
                                                                XMLELEMENT("intCode", SUB.CASE_TYPE_CODE),
                                                                XMLELEMENT("description", C.DESCRIP)
                                                           ), -- caseFileType
                                                           XMLELEMENT("primaryDocketInfo",
                                                                XMLELEMENT("yearYY", SUBSTR(SMD.DOCKET, 1, 2)),
                                                                XMLELEMENT("id", SUBSTR(SMD.DOCKET, 3, 7)),
                                                                XMLELEMENT("defendentNumber", SMD.DEF_NUM)
                                                           ), -- primaryDocketInfo
                                                           XMLELEMENT("PACTSId", SMD.PACTS_ID), -- PACTSId
                                                           XMLELEMENT("AOJudgeId",
                                                                XMLELEMENT("intCode", SMD.AO_JUDGE_ID),
                                                                XMLELEMENT("description", J.LAST_NAME || ', ' || J.FIRST_NAME || ', ' || J.MIDDLE_NAME)
                                                           ), -- AOJudgeId
                                                           XMLELEMENT("missingCasefile", SUB.MISSING_CASE), -- missingCasefile
                                                           XMLELEMENT("creator",
                                                                XMLELEMENT("firstName", NULL),
                                                                XMLELEMENT("lastName", NULL),
                                                                XMLELEMENT("email", SUB.CREATOR_ID),
                                                                XMLELEMENT("actionDate", REGEXP_REPLACE( TO_CHAR(SUB.CREATE_TIME, 'YYYY-MM-DD"T"HH24:MI:SS.FFTZR'), '...(......)$', '\1'))
                                                           ), -- creator
                                                           XMLELEMENT("lastModifier",
                                                                XMLELEMENT("firstName", NULL),
                                                                XMLELEMENT("lastName", NULL),
                                                                XMLELEMENT("email", H.USER_ID),
                                                                XMLELEMENT("actionDate", TO_CHAR(H.ACTION_DATE, 'YYYY-MM-DD"T"HH24:MI:SS".000-05:00"'))
                                                           ) -- lastModifier
                                            ) -- uploadOtherDetails
                             ) -- caseFileUploadEvent
                        ) -- caseFileEvent
              INTO      XMLDATA
              FROM      USSC_CASES.SUBMISSION SUB,
              USSC_CASES.SUBMISSION_METADATA SMD,
              USSC_CASES.CASE_HISTORY H,
              LOOKUP.CASE_SUB_MTHD SM,
              LOOKUP.CASE_SUB_TYPE SR,
              LOOKUP.DISTRICTS D,
              LOOKUP.JUDGES J,
              LOOKUP.CASE_TYPES C
              WHERE      SUB.SUBMISSION_ID = SMD.SUBMISSION_ID
              AND        SUB.SUBMISSION_ID = H.SUBMISSION_ID
              AND        SUB.SUB_MTHD_CODE = SM.SUBMTHD_CODE
              AND        SUB.SUB_TYPE_CODE = SR.SUBTYPE_CODE
              AND        SUB.CASE_TYPE_CODE = C.CASE_TYPE_CODE
              AND        SMD.DIST_ID = D.USSC_DISTRICT_ID
              AND        SMD.AO_JUDGE_ID = J.AO_JUDGE_ID
              AND        H.ACTION_DATE IN (SELECT      MAX(A.ACTION_DATE)
                                                 FROM      USSC_CASES.CASE_HISTORY A
                                                 WHERE      A.SUBMISSION_ID = P_SUBMISSION_ID)
              AND        SUB.SUBMISSION_ID = P_SUBMISSION_ID;
        --dbms_output.put_line('queue start '|| xmldata.getclobval());
        --insert into test1 values(xmldata);
        message := SYS.AQ$_JMS_TEXT_MESSAGE.construct;
        message.set_text(xmldata.getStringVal());
        DBMS_AQ.ENQUEUE(queue_name => 'case_file_queue',  -- aqadm.cases_queue             
        enqueue_options    => enqueue_options,       
        message_properties => message_properties,     
        payload  => message,             
        msgid   => message_handle);
         COMMIT;
    END ENQUEUE_PROC;Edited by: Rooney on Jan 31, 2012 1:55 PM

  • Using A callable statement in java

    Hi all im trying to get results back from the database using a callable statement the problem is that it is placing / infront of single quotes.I need to get rid of this because it's not returning anything
    here is my code
    CallableStatement statementOne;
    statementOne = ComparitiveAnalysisGUI.conn.prepareCall("{call graphProc(?,?,?,?,?,?,?)}");
    statementOne.setString(1,"\"date_format(calldate, '%Y-%m-%d H:59:59'),avg(billsec)\"");
    statementOne.setString(2,"Clovercdr");
    statementOne.setString(3,start);
    statementOne.setString(4,end);
    statementOne.setString(5,"Boksburg");
    statementOne.setString(6,"\"billsec > 0 and Network = " + network + "\"");
    statementOne.setString(7,"\"date_format(calldate, '%Y-%m-%d %H:M:S')\"");
    System.out.println(statementOne.toString());
    rs = statementOne.executeQuery();
    the result of the println is
    com.mysql.jdbc.CallableStatement@ec4a87: CALL graphProc('"date_format(calldate, \'%Y-%m-%d %H:59:59\'),avg(billsec)"','Clovercdr','\'2006-03-14 00:00:01\'','\'2006-03-14 23:59:59\'','Boksburg','"billsec > 0 and Network = \'SAMobile\'"','"date_format(calldate, \'%Y-%m-%d %H:M:S\')"')
    as you can see quite a mess please help if you can get the statement to look as follows
    CALL graphProc("date_format(calldate, '%Y-%m-%d %H:59:59'),avg(billsec)",'Clovercdr','2006-03-14 00:00:01','2006-03-14 23:59:59','Boksburg',"billsec > 0 and Network = 'SAMobile'","date_format(calldate, '%Y-%m-%d %H:M:S')")
    thanks Brian

    Ok in order to understand why I did what I did parhaps it would be best if you saw my Stored procedure
    create procedure graphProc(col varchar(100),company varchar(20),startTime datetime,endTime datetime,branchName varchar(20),andSection varchar(200),groupSec varchar(100))
    BEGIN
    SET @stmt := CONCAT("SELECT ",col," from ",company," where calldate between '",startTime,"' and '",endTime,"' and branchName = '",branchName,"' and ",andSection," Group by ",groupSec);
    PREPARE stmt1 from @stmt;
    EXECUTE stmt1;
    the call is for example
    call graphProc("date_format(calldate, '%Y-%m-%d %H:59:59'),avg(billsec)",'Clovercdr','2006-03-01 00:00:01','2006-03-14 23:59:59','Boksburg',"billsec > 0 and date_format(calldate, '%k') BETWEEN 7 AND 19 and Network = 'SAMobile'","date_format(calldate, '%Y-%m-%d %H:M:S')")//
    as you can see In MySQL the "date_format(calldate, '%Y-%m-%d %H:59:59'),avg(billsec)" has to be quoted like this, so it can recognise it as a single parameter, since , '%Y-%m-%d %H:59:59' is viewed as another parameter
    thaks for your reply
    Brian

Maybe you are looking for