Process All Records Returned in a SQL Report

version 4.0.2.00.06
Hello,
I have an SQL Report that I've put a checkbox in the first column. I need to process all the records returned regardless if they are checked or not. If the row is checked I need to update a column in the table with one value and if it unchecked I need to update the same column with a different value.
IF row is checked: UPDATE table SET cus_code = 'REQ' else cus_code = 'DEL'
SELECT apex_item.checkbox(1,rownum,'UNCHECKED') " ",
FROM table
WHERE ...There are lots of examples of how to deal with the row if it is checked such as:
BEGIN
    FOR i in 1..APEX_APPLICATION.G_F01.COUNT LOOP
        UPDATE emp
        SET ticked = 'Y'
        WHERE empno = APEX_APPLICATION.G_F01(i);
    END LOOP;
COMMIT;
END;I have not found any examples on how to process those rows that are unchecked. Can someone help me with how to do this?
Please let me know if I'm not clear.
Thanks,
Joe

Hello all,
Thanks to everyone trying to make suggestions. Before I attempt to address some of the this suggestions I'm having other major problems. I can't even get the data to display!! Here's what I have:
SELECT   apex_item.checkbox(1,dcu_id,'UNCHECKED') " "
     ,cust_number
     ,cust_company_name
     ,cust_address
     ,cust_city
     ,cust_state
     ,cust_postal_code
     ,decode(cls_code,'A','Active','I','Inactive','D','Active-Declining','P','Prospect') seg_descr
     ,annual_sales
     ,year_month
     ,dlr_id
     ,dlr_code
     ,cust_id
     ,drg_code
FROM jr_customers_dm_query
    ,xmltable (trim ('''' || replace (:P29_PURCHASE_AMT, ':', ''',''') || ''''))
WHERE round(annual_sales,0) BETWEEN regexp_substr (column_value, '\w+')  AND
                        regexp_substr (column_value, '\w+', 1, 2)        AND
      cls_code IN (trim ('''' || replace (:P29_CUST_SEG, ':', ''',''') || ''''))   AND
      drg_code IN (trim ('''' || replace (:P29_DISTANCE, ':', ''',''') || '''')) AND
      dlr_id = :P29_DLR_ID;Break down:
P29_PURCHASE_AMT is a multi-select list with the possible values of: 0-0:1-1000:1000-5000:5000-10000:10000-25000:25000+
P29_CUST_SEG is a multi-select list with the possible values of: A:D:I:P
P29_DISTANCE is a multi-select list with the possible values of: 0-5:5-10:10-15:15-20:20-25
As you know I have to parse and convert these strings to a usable format for the WHERE clause.
The first parseing:
xmltable (trim ('''' || replace (:P29_PURCHASE_AMT, ':', ''',''') || ''''))
WHERE round(annual_sales,0) BETWEEN regexp_substr (column_value, '\w+')  AND
                        regexp_substr (column_value, '\w+', 1, 2)This replaces the colon with a comma and puts single quotes around the values then takes the values out and puts them into the variables of 'column_value' to be used in the BETWEEN clause.
The next two:
      cls_code IN (trim ('''' || replace (:P29_CUST_SEG, ':', ''',''') || ''''))   AND
      drg_code IN (trim ('''' || replace (:P29_DISTANCE, ':', ''',''') || '''')) ANDThis replaces the colon with a comma and concats a single quote around the values. The conversion will be: 'A','D','I','P' and '0-5','5-10','10-15' etc.
I know this because if you take these statements and run them against DUAL as in:
SELECT (trim ('''' || replace ('A:D:I:P', ':', ''',''') || '''')) FROM dual;
Result:  'A','D','I','P'The problem is that there is no data returned even though there are 10 rows in the table, jr_customers_dm_query, that contain data that satisfy the WHERE clause. If I take out all the parseing "stuff" and use actual values then the rows are returned. So there is a problem with all this parseing and I have NO idea where it is!!
I really need some help! Then I get to try the processing problem! And I'm very going to be needing help with that!
Thanks,
Joe

Similar Messages

  • Periodic Alert-How to send all the records returned from the SQL in a mail?

    Hello all,
    I have defined a Periodic Alert, my SQL query returns more than one record whenever I run it. I also defined an action to send an email with the message consisting of the output variables from the SQL. Whenever i run this alert, a mail is being sent for every single record returned from the query. But i want to send a single mail containing all the records information that my SQL query returns.
    For Example: My SQL query lists all the users created on current date.
    Select User_Id, User_Name into &OUTPUT1, &OUTPUT2
    from fnd_users where trunc(creation_date) = trunc(sysdate)
    Now i want to send a mail with all the users information from the above query, to SYSADMIN. How can this be achieved?
    Thanks & Regards
    chakoo

    Hi Chakoo,
    If the Periodic Alert is not working as requried. You can write a simple package with 3 procedures to implement the writing output to a out file and simultaneuosly send email to multiple receiptents.
    Example:
    Create Package xx_pac
    Create public Procedure P1
    begin
    Select User_Id, User_Name into &OUTPUT1, &OUTPUT2
    from fnd_users where trunc(creation_date) = trunc(sysdate)
    fnd_file.put_line (fnd_file.output, &OUTPUT1, &OUTPUT2);
    end;
    (Create private Procedure P2
    begin
    ---Write the email package using the UTL_SMTP approch. Using this approch you can send the procedure P1 output file as an attachment to the desiginated receiptents.
    end;
    (Create public Procedure P3
    begin
    ---call the procedure P1 using the "g_request_id = fnd_request.submit_request"
    ---Wait for the above procedure to complete using "l_conc_status := fnd_concurrent.wait_for_request" procedure.
    ---call the procedure P2. (When called you must provide the correct to, from address)
    end;
    end;
    Register the Package xx_pac as a concurrent program and schedule when submit it from the request.
    Regards
    Arun Rathod

  • Variable to hold the number of records returned by the SQL Query.

    Hi folks,
    Is there any way to hold the number of records that could be returned by the SQL query we use to make a report?
    If so, please do come up with the answer.
    Cheers,
    PCZ.

    Hi there,
    Well, there is no actual business requirement.
    It is just the curiosity of mine.
    I would like to handle
    1) the number of records our report query returns or
    2) the query itself
    to write a better pl/sql code in any trigger/program unit, if any business logic beckons in future.
    Cheers,
    PCZ.

  • Display max rows returned by a sql report

    Hi all
    how can i display the sql%rowcount from a report based on a sql-query. Is there a substitution string available to show me the "rows(s) 1-n of ??" in the pageination link?
    Thanks
    Martin

    Greg :
    Of course, I can not use the same query twice, I have many reports in many pages, if I do it with a select count in another query...it will mean that if I have 3 reports in a page, I will run 6 queries instead of 3.
    Another thing: If I use : max rownum in the report query, I will get the number of records but in a report column, and I want this value to be displayed of out the report....in this case, how can I get this column value in a page item ? have you an idea ?
    Thanks a lot.

  • Sorting all records in datagrid

    Hi All,
    I have a datagrid with pagination. On default or on click of the sort arrow of a particular column in the grid  it sorts only the current page data. my requirement is it should sort across all records returned in array collection not only the records for the current page. Please share the working sample code.
    Thanks,
    Ravisha

    Try this code:
    <?xml version="1.0"?>
    <!-- dpcontrols/adg/SimpleHierarchicalADG.mxml -->
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="init()" layout="vertical">
      <mx:Script>
        <![CDATA[
            import mx.events.DataGridEvent;
              import mx.collections.ArrayCollection;
              include "dgData.as";
              [Bindable]
              private var dp:ArrayCollection;
              private var offset:int = 0;
              [Bindable]
              private var pageNum:int = 0;
              [Bindable]
              private var maxPages:int;
              [Bindable]
              private var dgRowCount:int = 9;
              private function init():void
                  dp = new ArrayCollection();
                  maxPages = dpHierarchy.length / dgRowCount;
                  filterPage();
              private function navToPage(pageOffset:int):void
                  pageNum += pageOffset;
                  if (pageNum < 0)
                      pageNum = 0;
                  if (pageNum > maxPages)
                      pageNum = maxPages;
                  offset = pageNum * dgRowCount;
                  filterPage();
              private function filterPage():void
                  dp.source = dpHierarchy.source.filter(function callback(item:*, index:int, array:Array):Boolean
                              return (index >= offset && index < offset + dgRowCount);
              private function doSort(evt:DataGridEvent):void
                  var sortDescending:Boolean = evt.itemRenderer.data.sortDescending;
                  !sortDescending ? dpHierarchy.source.sortOn(evt.dataField, Array.NUMERIC | Array.DESCENDING) : dpHierarchy.source.sortOn(evt.dataField, Array.NUMERIC);
                  filterPage();
          ]]>
        </mx:Script>
        <mx:DataGrid dataProvider="{dp}" rowCount="{dgRowCount}" sortableColumns="true" headerRelease="doSort(event)">
            <mx:columns>
                <mx:DataGridColumn headerText="ID" dataField="id"/>
                <mx:DataGridColumn headerText="First prop" dataField="firstProp"/>
                <mx:DataGridColumn headerText="Second prop" dataField="secondProp"/>
            </mx:columns>
        </mx:DataGrid>
        <mx:HBox horizontalAlign="center">
            <mx:Button label="Prev page" click="navToPage(-1)"/>
            <mx:Label text="{pageNum + 1}/{maxPages + 1}" textAlign="center" width="60"/>
            <mx:Button label="Next page" click="navToPage(1)"/>
        </mx:HBox> 
    </mx:Application>
    You have to add the following file to your source folder:
    Hope you can work it out with this
    Dany

  • Change SQL report To Intractive Report

    Dear All Friend,
    i have created SQL Report .
    Could you tell me please there is any way to change SQL report To Intractive Report .
    How can i do this.
    Thanks

    Under the Region Definition of the report; look over to the right-hand margin and you will see Migrate to Interactive Report under Tasks .
    Jeff

  • Is there any way to hook into the SQL report pagination process?

    I have a SQL report (based on EMP) with a radiogroup row selector.
    The scenario 1 and 2 are in place
    1) When the employee row radio group is clicked the P900007_JOB the text item is populated with the JOB for the employee.
    2) When the page is initially displayed or submitted via the button the first row’s radio group is programmatically clicked and therefore populates the additional job information in P900007_JOB
    Info (radio Group) Employee No Name
    (+) 7369 SMITH
    () 7499 ALLEN
    () 7521 WARD
    P900007_JOB CLERK
    1-3 Next>
    Once the report has been displayed and the next or previous pagination is used then none of the radio groups will be selected and the data in the P900007_JOB text item will still display the job of the last selected employee row.
    What I require is on pagination some sort of mechanism to either
    a) Call the page_init() that should then set the first row as selected and populate the text item via the programmatic click. (preferred option)
    b) OR blank out the additional text item P900007_JOB.
    Is there any way to hook into the pagination process?
    I have a work around – Set the ‘Enable Partial Page Refresh’ to ‘No’ but this means a full refresh every time the pagination is used.
    Details of my page
    Report Region (Based on EMP table) – radio group as a row selector
    select     APEX_ITEM.RADIOGROUP(1,EMPNO,'X21',null) CHECKRG, EMPNO,
         ENAME,
         JOB
    from     EMP
    Report Attributes -
    Report template :- P900007_ROWTEMPLATE (custom template see later)
    Report Attributes Substitution :- id="emp_report" (used in page_init see later)
    Enable Partial Page Refresh :- Yes
    Columns – All columns are selected as show but job is left out of the template below.
    P900007_JOB - Text item in report region (disabled does not save state). Populated with the employees job when the radio group is clicked.
    Control region :- HTML region that just holds a button <GO> just to submit the page and redirect back to the same page.
    P900007_ROWTEMPLATE (named column row template)
    Row template 1
    <tr style="cursor: hand; cursor: pointer;" onmouseover="row_mouse_over(this, 1)" onmouseout="row_mouse_out(this, 1)" #HIGHLIGHT_ROW# ">
    <td class="t15data" onclick="selectRow('#JOB#');">#CHECKRG# </td>
    <td class="t15data">#EMPNO# </td>
    <td class="t15data">#ENAME# </td>
    </tr>
    Before rows
    <table class="t15standard" summary="" #REPORT_ATTRIBUTES# id="report_#REGION_STATIC_ID#" >
    <th class="t15header" #ALIGNMENT# >Info</th>
    <th class="t15header" #ALIGNMENT# >Employee Number</th>
    <th class="t15header" #ALIGNMENT# >Name</th>
    After Rows
    <tr>
    <td colspan="99" class="t15afterrows">
    <span class="left">#EXTERNAL_LINK##CSV_LINK#</span>
    <table style="float:right;text-align:right;" summary="pagination">
    #PAGINATION#</table>
    </td>
    </tr>
    </table>
    *Javascript in page Header*
    <script src="#WORKSPACE_IMAGES#apex_show_hide_region.js" type="text/javascript"></script>
    <script language="JavaScript" type="text/javascript">
    <!--
    function selectRow(pJob)
    /* console.log('pete got here!'+pJob)*/
    $x('P900007_JOB').value =pJob;
    /* Start Page init*/
    function *page_init*()
    /* Used to set radio groups on reports */
    /*console.log('START pete got here!');*/
    var is_checked = false;
    var l_check = $x_FormItems($x('emp_report'), 'radio');
    /*Loop and set flag if checked*/
    for(var i=0,len=l_check.length;i<len;i++)
    if(l_check.checked){
    is_checked = true;
    /*end loop*/
    /*If none checked force a click*/
    if(!is_checked){
    /*no longer need as doing click below*/
    l_check[0].checked=true;
    /*Force a click on the first radio group - extra details should then be
    populated*/
    var l_click = l_check[0].click();
    /* console.log('END pete got here!');*/
    /*END page_init*/
    // -->
    </script>
    *Application shared component.* – This fires a DB packaged procedure when the page is loaded.
    P330_PART_NO_HIST
    Process Point On load after Body region
    Process Text show_hide_memory.part_no_history_details();
    *Packaged Procedure* – This kicks off the page_init javascript in the header (earlier) to click on the radio group in the first row.
    PROCEDURE part_no_history_details AS
    BEGIN
    htp.prn('<script type="text/javascript">' || CHR(10));
    htp.prn('<!--' || CHR(10));
    htp.prn('page_init();'|| CHR(10));
    htp.prn('//-->' || CHR(10));
    htp.prn('</script>' || CHR(10));
    END part_no_history_details;
    Thanks Pete
    Edited by: Pete @ LSC on 26-Jan-2010 06:56

    Anybody any ideas? Should I be looking down the route of using my own pagination buttons and adding my code to this?
    There seems to be a routine $a_report that I can use for the pagination but I am finding it difficult to get the current first and last record values that I would need to pass. I've seen references to below in the form but when I'm using partial refresh they do not seem to change.
    wwv_flow.g_flow_current_min_row
    wwv_flow.g_flow_current_max_rows
    wwv_flow.g_flow_current_rows_fetched
    wwv_flow.g_request
    Thanks Pete

  • ALV GRID Report is not showing all records which is in internal table

    hi all,
    have one doubt. please clarify me. ALV Report is working fine since long tiem. But suddenly this report is showing few records only for the given input.   Example:   it_main table have 50 records, but output is showing only 10 records only. (we have not made any modifications in this report).
    temporarily i have given excel output file from it_main table. excel file is showing all records.
    here it_main have all the records. but output is showing few records only. it is not showing any error. i have tested with REUSE_ALV_LIST_DISPLAY function also. but it also showing same results(few records only.)
    please give me some idea.
    FORM display_alv_report.
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
          i_buffer_active          = 'X'
          i_callback_program       = sy-repid
          is_layout                = wa_layout
          it_fieldcat              = it_fcat
          it_events                = it_events
          i_save                   = 'A'
          is_variant               = wa_variant
        TABLES
          t_outtab                 = it_main
        EXCEPTIONS
          program_error            = 1
          OTHERS                   = 2.
      IF sy-subrc <> 0.
        MESSAGE text-204 " 'Error in Display the list'
        TYPE 'I'.
        LEAVE TO LIST-PROCESSING.
      ENDIF.
    ENDFORM.            .                    "DISPLAY_ALV_REPORT
    Best Regards,
    Srinivas

    hi
    Please study this program and give me suggestions.
    ALV Declaration
    DATA : it_events TYPE slis_t_event,               "ALV event
               it_fcat   TYPE slis_t_fieldcat_alv,        "Field catalog
               it_list_top_of_page TYPE slis_t_listheader,
               c_tabname  TYPE slis_tabname   VALUE 'IT_MAIN'.
    DATA : wa_layout  TYPE slis_layout_alv,
                wa_event   TYPE slis_alv_event,
               wa_fcat    TYPE slis_fieldcat_alv,
               wa_variant TYPE disvariant.
    START-OF-SELECTION.
      PERFORM material_pass.
      PERFORM data_retrieval.
    END-OF-SELECTION.
      PERFORM sub_display_report.
    FORM sub_display_report .
      DATA status(1).
      IF r1 = 'X'.
        PERFORM build_fieldcatalog USING :
          '1'  'ERDAT'     'S.O DATE'             '' '10'  'X',
          '2'  'VBELN'     'SALE ORDER'           '' '10'  'X',
          '3'  'POSNR'     'SALE ITEM'            '' '6'   '',
          '4'  'BSTKD'     'CUSTOMER PO'          '' '35'  '',
          '5'  'BEZEI'     'REASON FOR REJECTION' '' '40'  '',
          '6'  'PLNUM'     'PLANNED ORDER'        '' '10'  '',
          '7'  'AUFNR'     'PROD.ORDER.'          '' '12'  '',
          '8'  'MATNR'     'MATERIAL NUMBER'      '' '18'  '',
          '9'  'MAKTX'     'MATERIAL DESCRIPTION' '' '40'  '',
          '10' 'WERKS'     'PLANT'                '' '4'   '',
          '11' 'KWMENG'    'SALE ORDER QTY'       '' '15'  '',
          '12' 'VRKME'     'UNIT'                 '' '4'   '',
          '13' 'GAMNG'     'PROD.ORDER QTY'       '' '13'  '',
          '14' 'IGMNG'     'CONFIRMED ORDER QTY'  '' '13'  '',
          '15' 'GMEIN'     'UNIT'                 '' '4'   '',
          '16' 'MENGE'     'G.R QUANTITY'         '' '13'  '',
          '17' 'SOBAL'     'S.O BALANCE'          '' '13'  '',
          '18' 'PRDBAL'    'PROD.BALANCE'         '' '13'  '',
          '19' 'GSM'       'GSM'                  '' '4'   '',
          '20' 'SIZE1'     'SIZE1'                '' '10'  '',
          '21' 'SIZE2'     'SIZE2'                '' '10'  ''.
        CALL FUNCTION 'GUI_DOWNLOAD'
          EXPORTING
            filename              = pathname
            filetype              = ftype
            append                = 'X'
            write_field_separator = 'X'
          TABLES
            data_tab              = it_mains
          EXCEPTIONS
            file_write_error      = 1.
        IF sy-subrc = 0.
          status = 'S'.
        ELSE.
          status = 'E'.
        ENDIF.
      ELSEIF r2 = 'X' OR r3 = 'X'.
        PERFORM build_fieldcatalog USING :
          '1'  'ERDAT'     'S.O DATE'             '' '10'  'X',
          '2'  'VBELN'     'SALE ORDER'           '' '10'  'X',
          '3'  'POSNR'     'SALE ITEM'            '' '6'   '',
          '4'  'BSTKD'     'CUSTOMER PO'          '' '35'  '',
          '5'  'BEZEI'     'REASON FOR REJECTION' '' '40'  '',
          '6'  'PLNUM'     'PLANNED ORDER'        '' '10'  '',
          '7'  'AUFNR'     'PROD.ORDER.'          '' '12'  '',
          '8'  'MATNR'     'MATERIAL NUMBER'      '' '18'  '',
          '9'  'MAKTX'     'MATERIAL DESCRIPTION' '' '40'  '',
          '10' 'WERKS'     'PLANT'                '' '4'   '',
          '11' 'KWMENG'    'SALE ORDER QTY'       '' '15'  '',
          '12' 'VRKME'     'UNIT'                 '' '4'   '',
          '13' 'GAMNG'     'PROD.ORDER QTY'       '' '13'  '',
          '14' 'IGMNG'     'CONFIRMED ORDER QTY'  '' '13'  '',
          '15' 'GMEIN'     'UNIT'                 '' '4'   '',
          '16' 'MENGE'     'G.R QUANTITY'         '' '13'  '',
          '17' 'SOBAL'     'S.O BALANCE'          '' '13'  '',
          '18' 'PRDBAL'    'PROD.BALANCE'         '' '13'  '',
          '19' 'GSM'       'GSM'                  '' '4'   '',
          '20' 'SIZE1'     'SIZE1'                '' '10'  '',
          '21' 'CUT1'      'CUT1'                 '' '11'  '',
          '22' 'SIZE2'     'SIZE2'                '' '10'  '',
          '23' 'CUT2'      'CUT2'                 '' '11'  '',
          '24' 'SIZE3'     'SIZE3'                '' '10'  '',
          '25' 'CUT3'      'CUT3'                 '' '11'  '',
          '26' 'SIZE4'     'SIZE4'                '' '10'  '',
          '27' 'CUT4'      'CUT4'                 '' '11'  '',
          '28' 'SIZE5'     'SIZE5'                '' '10'  '',
          '29' 'CUT5'      'CUT5'                 '' '11'  '',
          '30' 'SIZE6'     'SIZE6'                '' '10'  '',
          '31' 'CUT6'      'CUT6'                 '' '11'  ''.
        CALL FUNCTION 'GUI_DOWNLOAD'
          EXPORTING
            filename              = pathname
            filetype              = ftype
            append                = 'X'
            write_field_separator = 'X'
          TABLES
            data_tab              = it_mainall
          EXCEPTIONS
            file_write_error      = 1.
        IF sy-subrc = 0.
          status = 'S'.
        ELSE.
          status = 'E'.
        ENDIF.
      ENDIF.
      PERFORM build_layout.
      PERFORM build_events.
      PERFORM sub_comment_build USING it_list_top_of_page.
      PERFORM sub_set_variant.
      PERFORM display_alv_report.
      IF status = 'S'.
        MESSAGE 'Excel Output file Downloaded to Given Path' TYPE 'I'.
      ELSE.
        MESSAGE 'Download Not Possible' TYPE 'I'.
      ENDIF.
    ENDFORM.                    " SUB_DISPLAY_REPORT
    FORM BUILD_FIELDCATALOG
    FORM build_fieldcatalog USING  p_col_pos
                                   p_fieldname
                                   p_text
                                   p_datatype
                                   p_outputlen
                                   p_col_freez.
      wa_fcat-row_pos        = '1'.
      wa_fcat-col_pos        = p_col_pos.
      wa_fcat-fieldname      = p_fieldname.
      wa_fcat-tabname        = c_tabname.
      wa_fcat-reptext_ddic   = p_text.
      wa_fcat-datatype       = p_datatype.
      wa_fcat-ddic_outputlen = p_outputlen.
      wa_fcat-key            = p_col_freez.
      APPEND wa_fcat TO it_fcat.
      CLEAR wa_fcat.
    ENDFORM.                    " BUILD_FIELDCATALOG
    *&      Form  BUILD_LAYOUT
    FORM build_layout.
      CLEAR: wa_layout.
      wa_layout-window_titlebar   = 'LIST OF GSM WISE OPEN SALE ORDERS'.
      wa_layout-colwidth_optimize = 'X'.
      wa_layout-totals_text       = 'CUMULATIVE'.
    ENDFORM.                    "BUILD_LAYOUT
    *&      Form  BUILD_EVENTS
    FORM build_events.
      CLEAR wa_event.
      REFRESH it_events.
      CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
        EXPORTING
          i_list_type     = 0
        IMPORTING
          et_events       = it_events
        EXCEPTIONS
          list_type_wrong = 1
          OTHERS          = 2.
      IF sy-subrc = 0.
        READ TABLE it_events INTO wa_event
             WITH KEY name = 'TOP_OF_PAGE'.
        IF sy-subrc EQ 0.
          wa_event-form = 'TOP_OF_PAGE'.
          APPEND wa_event TO it_events.
          CLEAR wa_event.
        ENDIF.
      ENDIF.
    ENDFORM.                    "BUILD_EVENTS
         -->P_IT_LIST_TOP_OF_PAGE  text
    FORM sub_comment_build  USING it_top_of_page TYPE slis_t_listheader.
      DATA ls_line TYPE slis_listheader.
      CLEAR ls_line.
      ls_line-typ = 'H'.
      ls_line-info = str1.
      APPEND ls_line TO it_top_of_page.
      CLEAR ls_line.
    CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
       EXPORTING
         it_list_commentary = t_header[].
    ENDFORM.                    " SUB_COMMENT_BUILD
    *&      Form  SUB_SET_VARIANT
          text
    -->  p1        text
    <--  p2        text
    FORM sub_set_variant .
      CLEAR wa_variant.
      wa_variant-report = sy-repid.
      wa_variant-username = sy-uname.
    wa_variant-variant = c_variant.
    wa_variant-variant = p_layout.
    ENDFORM.                    " SUB_SET_VARIANT
    *&      Form  DISPLAY_ALV_REPORT
    *Display Report Using ALV GRID
    FORM display_alv_report.
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
          i_buffer_active          = 'X'
          i_callback_program       = sy-repid
         i_callback_pf_status_set = c_pf_status
         i_callback_user_command  = c_user_command
          is_layout                = wa_layout
          it_fieldcat              = it_fcat
         it_sort                  = it_sort[]
          it_events                = it_events
          i_save                   = 'A'
          is_variant               = wa_variant
        TABLES
          t_outtab                 = it_main
        EXCEPTIONS
          program_error            = 1
          OTHERS                   = 2.
      IF sy-subrc <> 0.
        MESSAGE text-204 " 'Error in Display the list'
        TYPE 'I'.
        LEAVE TO LIST-PROCESSING.
      ENDIF.
    ENDFORM.            .                    "DISPLAY_ALV_REPORT
    *ALV Report Header
    FORM top_of_page.
      DATA : t_header TYPE slis_t_listheader WITH HEADER LINE,
             wa_header TYPE slis_listheader,
             t_line LIKE wa_header-info,
             ld_lines TYPE i,
             ld_linesc(10) TYPE c.
      wa_header-typ  = 'H'.
    T_HEADER-INFO = 'LIST OF GSM WISE OPEN SALE ORDERS'.
      wa_header-info = str1.
      APPEND wa_header TO t_header.
      CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
        EXPORTING
          it_list_commentary = t_header[].
    ENDFORM.                    "TOP_OF_PAGE
    here it_main internal table having all data. but output is showing few records only.
    pl. give some idea.
    Thanks & Regards
    Srinivas.

  • Converting SQL Report Region to PLSQL Function Body Returning SQL Query

    All:
    I want to convert my SQL Report Region to a PLSQL-generated SQL Report Region so that I can eliminate where clauses dynamically and speed up my app, and also so that I can provide additional sorting options.
    <br><br>
    My problem is that I have lots of embedded single quotes that already are coded as 3 single quotes in the SQL Report Region. I am not sure at all how to code them within the PLSQL.
    <br><br>
    As example, here is one column from my query:
    <br><br>
    select decode(nvl(g.date_sub_1,g.date_rec_1), null, decode(g.article, 0, 'E', 1, 'U'), '< a href="javascript:unElevate( ' ' ' || g.grid || ' ' ',' ' ' || g.natca || ' ' ')">' || decode(g.article, 0, 'E', 1, 'U') || '< /a>') "Reverse" from g_table g
    <br><br>
    (Note that I added spaces within the code so it would display properly in the browser.)
    <br><br>
    To clarify, that's a double quote before javascript, and then 3 single quotes before the first concatenation group, then 3 single quotes after the second concatenation group, then 3 single quotes before the third, 3 single quotes after the fourth followed by an end-paren followed by a double quote etc.
    <br><br>
    My question is, what do I do with these triple-single quotes within PLSQL? Probably a no-brainer for the experienced folks, but I am thinking like a mobius strip at this point.
    <br><br>
    Bill
    Message was edited by:
    [email protected]
    Message was edited by:
    [email protected]
    Message was edited by:
    [email protected]

    Scott,
    I think that feature was made for my situation! I keep getting
    Function returning SQL query: Query cannot be parsed within the Builder. If you believe your query is syntactically correct, check the generic columns checkbox below the region source to proceed without parsing.
    (ORA-20001: Unable to bind :43 verify length of item is 30 bytes or less. Use v() syntax to reference items longer than 30 bytes. ORA-01006: bind variable does not exist)
    I did chop the query up into little bits, i.e.
    p_sql := p_sql || q'! ... !';
    p_sql := p_sql || q'! ... !';
    p_sql := p_sql || q'! ... !';
    return p_sql;
    But I'm not sure what I'm supposed to do here.
    Thank you.
    Bill

  • Retrieve All records and display in Report using CAML query in Report Builder if Parameter value is blank

    Hello Experts,
    i have created a report where i have one parameter field where user will pass parameter(e.g. EmpId). As per parameter record will fetched to report if no parameter is passed then it will display all records. I have done it by taking SqlServer Database as datasource.
    by using Following method
    Now i would like to do it by taking Sharepoint List as Datasource. For that what would be the CAML Query.
    Here is my existing CAML query.
    <RSSharePointList xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
      <ListName>Employees</ListName>
      <ViewFields>
        <FieldRef Name="Title" />
        <FieldRef Name="FirstName" />
        <FieldRef Name="LastName" />
        <FieldRef Name="FullName" />
        <FieldRef Name="UserName" />
        <FieldRef Name="Company" />
      </ViewFields>
      <Query>
        <Where>  
    <Eq> 
        <FieldRef Name="Title" />
      <Value Type="Text">    
       <Parameter Name="EmployeeId"/>    
    </Value>
    </Eq>                  
        </Where>
      </Query>
    </RSSharePointList>
    The above code is working if i am passing an employeeId to Parameter. If nothing is passed, it is Not retrieving any record.
    Please suggest
    Thank you
    saroj
    saroj

    Your problem follows the well-established pattern of using an "All" parameter filter in SSRS. There are a few approaches depending on the size of your data. The easiest one is to return all data from CAML and then filter it within SSRS, the following thread
    provides some examples,
    http://stackoverflow.com/questions/18203317/show-all-records-some-records-based-on-parameter-value.
    Other options include passing all of the possible values within the CAML query when "All" is selected, using multiple Report Files to distinguish between both CAML queries, or to use multiple datasets with some logic to show/hide the correct one.
    Dimitri Ayrapetov (MCSE: SharePoint)

  • Parameter in select to returns all records.

    Post Author: ComputerMike
    CA Forum: Crystal Reports
    Hi,
    I have a "project" parameter I use in my select formula to return records based the project field.  I would like to pass a value like "All" or "*" and have all reords returned, to see the records for all the projects.  If I pass in "3" I would just get records for project 3.  "All" would give me all the projects.
    Thanks,
    Mike

    Post Author: GraemeG
    CA Forum: Crystal Reports
    Modify your selection formula to something like:
    (if {?project} <> "ALL" then   {table.project} = {?project}else   1 = 1)
    You have to specify an 'else' and the above is a cheat that makes sure everything is selected if 'ALL'  is entered. A suggestion - make 'ALL' your parameter default.

  • Adding All Records In Report Parameter

    This is in addition to my previous post.
    I have this code as the source to a lov
    SELECT l.extkey||' - '||l.longdescr a, l.clocid b
    from udm_cloc l, udm_cust c, udm_lde lde
    where l.custid = c.custid
    and c.ldeid = lde.ldeid
    and lde.ldekey = :F140_LDEKEY
    and l.closedate is null
    and l.orddcid = :P9_DCID
    union
    select 'ALL Records' a, -1 b from dual
    ORDER by 2It is working fine except I need to change the ORDER BY clause to
    ORDER BY to_number(l.extkey) asc
    When I do that, I get an error
    LOV query is invalid, a display and a return value are needed, the column names need to be different. If your query contains an in-line query, the first FROM clause in the SQL statement must not belong to the in-line query.
    Cheers
    Gus

    Gus C wrote:
    This is in addition to my previous post.
    I have this code as the source to a lov
    SELECT l.extkey||' - '||l.longdescr a, l.clocid b
    from udm_cloc l, udm_cust c, udm_lde lde
    where l.custid = c.custid
    and c.ldeid = lde.ldeid
    and lde.ldekey = :F140_LDEKEY
    and l.closedate is null
    and l.orddcid = :P9_DCID
    union
    select 'ALL Records' a, -1 b from dual
    ORDER by 2It is working fine except I need to change the ORDER BY clause to
    ORDER BY to_number(l.extkey) asc
    When I do that, I get an error
    LOV query is invalid, a display and a return value are needed, the column names need to be different. If your query contains an in-line query, the first FROM clause in the SQL statement must not belong to the in-line query.Create your query as an in-line view, including any additional columns required for sorting, and perform the sort and final LOV projection in the outer query:
    select
              lov_label
            , lov_value
    from
              (select
                        deptno || ' - ' || ename                lov_label
                      , empno                                   lov_value
                      , /* to_number here if required */ deptno lov_sort
              from
                        emp
              union all
              select
                        '- All -'
                      , null
                      , null
              from
                        dual)
    order by
              lov_sort nulls first

  • How to inlcude all records in a report, with a formula result of 0 or 0?

    I'm reporting on classes scheduled for a certain location, and calculating the number of available seats per class. A formula will give me the net seats available (Max seats-count of students). BUT if there are no students enrolled, class does not appear on the report. Formula is {SCHEDULES.qy_sch_max} - Count ({WAITING_LISTS.no_emp}, {SCHEDULES.cd_crs)
    What am I missing? Currently using Crystal 8.5 and reporting against a SQL database.
    Appreciate your help.
    christi

A: How to inlcude all records in a report, with a formula result of 0 or >0?

thanks, Sanjay - been there done that.
basically, I need to show the net result for the open seats available,which will be the same as the max seats offered.
I tried the following:
If Isnull{WAITING_LISTS.no_emp}
then {@Open}={SCHEDULES.qy_sch_max}
else
{SCHEDULES.qy_sch_max} - Count ({WAITING_LISTS.no_emp}, {SCHEDULES.cd_crs})
and got a message "Missing the then".  (@Open is the formula title)

thanks, Sanjay - been there done that.
basically, I need to show the net result for the open seats available,which will be the same as the max seats offered.
I tried the following:
If Isnull{WAITING_LISTS.no_emp}
then {@Open}={SCHEDULES.qy_sch_max}
else
{SCHEDULES.qy_sch_max} - Count ({WAITING_LISTS.no_emp}, {SCHEDULES.cd_crs})
and got a message "Missing the then".  (@Open is the formula title)

  • Mac mail search function is not working. Any search term returns all records.

    Mac mail search function is not working. Any search term returns all records.

    hi eric. many thanks.
    i will have to read these links closer but what i meant to say is that the hard drive space that was being taken up seemed like it suddenly jumped way up because i had just gotten through a process in the last month where i am storing all my My Documents data on my Mac Pro. i am doing this in order to decide whether i should just keep it ALL on my Mac Pro and use ChronoSync to sync /some/ of it to my MBP.
    so if i look in the Documents folder on my Mac Pro i have a ton of folders that i have created with a ton of data. if i look in the Documents folder on my MBP there are NO folders that have data in them that i created. there are other folders such as folders that various software created but what i mean to point out is that there was a LOT of available space on my HD until recently.
    i am wondering if there is some way that running the Mail re-index (it then ran some kind of "Importing" routine) or by syncing my Photostream to the MBP caused a huge jump in data on this drive. if it is the photostream sync i can just take this off or see if it will sync more selectively. if it is something to do with mac mail jumping in size i am not sure why this would happen or what to do about it.
    does that question make sense?
    i mean, before i did these two operations my recollection is that i would have had 130 GB on the hard drive (really just guessing here) and now there is like 218 GB on the hard drive and i don't know where all this came from...

  • Error when viewing report Only when records returned.

    We have a strange situtation in that when we view a particular report it errors out when viewing ONLY when there are records returned. To make matters worse this report takes several parameters, and only on one parameter does this occur. That is say we have param1, param2, param3, param4. if we fill in parameters and param3 has a value of "value1" and it returns results we are fine. The same happens for our second value ("value2"), however when we make param3's value "Value2" and it returns results the report throws an error 73. The stack trace is below. Any ideas on this one? It is really throwing me since it is only for one value of the parameter that we get the error.
    2009-01-26 07:34:25,892 ERROR [JRCCommunicationAdapter] JRCAgent3 detected an exception: 73
         at com.crystaldecisions.reports.saveddata.c.aj.a(Unknown Source)
         at com.crystaldecisions.reports.saveddata.c.p.if(Unknown Source)
         at com.crystaldecisions.reports.dataengine.r.a(Unknown Source)
         at com.crystaldecisions.reports.dataengine.s.a(Unknown Source)
         at com.crystaldecisions.reports.dataengine.s.if(Unknown Source)
         at com.crystaldecisions.reports.dataengine.bk.if(Unknown Source)
         at com.crystaldecisions.reports.formatter.formatter.objectformatter.be.if(Unknown Source)
         at com.crystaldecisions.reports.formatter.formatter.objectformatter.be.a(Unknown Source)
         at com.crystaldecisions.reports.formatter.formatter.objectformatter.be.h(Unknown Source)
         at com.crystaldecisions.reports.formatter.formatter.objectformatter.be.for(Unknown Source)
         at com.crystaldecisions.reports.formatter.formatter.objectformatter.bt.a(Unknown Source)
         at com.crystaldecisions.reports.formatter.formatter.objectformatter.bv.a(Unknown Source)
         at com.crystaldecisions.reports.formatter.formatter.objectformatter.bv.a(Unknown Source)
         at com.crystaldecisions.reports.formatter.formatter.objectformatter.bf.a(Unknown Source)
         at com.crystaldecisions.reports.formatter.formatter.objectformatter.cd.for(Unknown Source)
         at com.crystaldecisions.reports.formatter.formatter.objectformatter.cd.for(Unknown Source)
         at com.crystaldecisions.reports.formatter.formatter.objectformatter.b3.for(Unknown Source)
         at com.crystaldecisions.reports.formatter.formatter.objectformatter.bt.a(Unknown Source)
         at com.crystaldecisions.reports.formatter.formatter.objectformatter.cd.a(Unknown Source)
         at com.crystaldecisions.reports.formatter.formatter.objectformatter.cd.a(Unknown Source)
         at com.crystaldecisions.reports.formatter.formatter.objectformatter.cd.a(Unknown Source)
         at com.crystaldecisions.reports.formatter.formatter.objectformatter.ca.a(Unknown Source)
         at com.crystaldecisions.reports.formatter.formatter.objectformatter.a9.a(Unknown Source)
         at com.crystaldecisions.reports.formatter.formatter.e.m.a(Unknown Source)
         at com.crystaldecisions.reports.formatter.formatter.objectformatter.cd.for(Unknown Source)
         at com.crystaldecisions.reports.formatter.formatter.objectformatter.cd.for(Unknown Source)
         at com.crystaldecisions.reports.formatter.formatter.objectformatter.b3.for(Unknown Source)
         at com.crystaldecisions.reports.formatter.formatter.e.m.for(Unknown Source)
         at com.crystaldecisions.reports.formatter.formatter.objectformatter.bt.a(Unknown Source)
         at com.crystaldecisions.reports.formatter.formatter.e.p.l(Unknown Source)
         at com.crystaldecisions.reports.formatter.formatter.e.p.void(Unknown Source)
         at com.businessobjects.reports.sdk.b.b.a(Unknown Source)
         at com.businessobjects.reports.sdk.JRCCommunicationAdapter.request(Unknown Source)
         at com.crystaldecisions.proxy.remoteagent.x.a(Unknown Source)
         at com.crystaldecisions.proxy.remoteagent.q.a(Unknown Source)
         at com.crystaldecisions.sdk.occa.report.application.dd.a(Unknown Source)
         at com.crystaldecisions.sdk.occa.report.application.ReportSource.a(Unknown Source)
         at com.crystaldecisions.sdk.occa.report.application.ReportSource.getLastPageNumber(Unknown Source)
         at com.crystaldecisions.sdk.occa.report.application.AdvancedReportSource.getLastPageNumber(Unknown Source)
         at com.crystaldecisions.sdk.occa.report.application.NonDCPAdvancedReportSource.getLastPageNumber(Unknown Source)
         at com.crystaldecisions.reports.reportengineinterface.JPEReportSource.getLastPageNumber(Unknown Source)
         at com.sacs.casi.oasis.action.reporting.ReportingAction.view(ReportingAction.java:117)
         at com.sacs.casi.oasis.action.reporting.ReportingAction.unspecified(ReportingAction.java:46)
         at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:245)
         at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:170)
         at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:425)
         at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:228)
         at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
         at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
         at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:630)
         at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
         at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
         at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
         at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1078)
         at org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:295)
         at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:396)
         at org.apache.struts.tiles.TilesRequestProcessor.processForwardConfig(TilesRequestProcessor.java:347)
         at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:232)
         at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
         at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
         at com.sacs.casi.oasis.filter.ActionFilter.doFilter(ActionFilter.java:101)
         at com.sacs.casi.oasis.filter.ActionFilter.doFilter(ActionFilter.java:53)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
         at com.planetj.servlet.filter.compression.CompressingFilter.doFilter(CompressingFilter.java:222)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
         at com.sacs.casi.oasis.filter.SecurityFilter.doFilter(SecurityFilter.java:144)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
         at com.sacs.casi.oasis.filter.Log4JRequestInfoFilter.doFilter(Log4JRequestInfoFilter.java:42)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
         at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:525)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
         at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)
         at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283)
         at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:767)
         at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:697)
         at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:889)
         at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
         at java.lang.Thread.run(Unknown Source)

    That's a strange issue.
    Now that you've mentioned stored procs - does the stored proc handle params set to null?
    I've seen issues where on verify Crystal sends null param values to stored proc, and if the stored proc doesn't handle them (or return a consistent schema), errors out.
    Above in case you'd like to revisit the issue or if you encounter the issue again.
    Sincerely,
    Ted Ueda

  • Maybe you are looking for