2 Reports in same worksheet of workbook

Hi Experts,
My requirement is to display 2 reports in the same worksheet of a workbook. I am using analysis Grid item of workbook to display 2 reports.But My number of rows in 1st report are not fixed. It may vary based on the data records.
I am displaying sencond report below the 1st report in same worksheet.
As per my understanding the "autofit" option of analysis grid can expand output based on the data records but left top corner (i.e. starting poinf) of analysis grid will be fixed.
Can it be possible to make it (top left corenr of analysis grid item) dynamic in order to display 2nd report below the 1st report once complete 1st report is displayed?
At present my first report output is overlapping with second report.
Thanks,
Shamkant

SOLVED ON OWN

Similar Messages

  • How to link child report in same reprot but in different tab

    Hi all i nXIR2
    iam able to pass parameters to child report in different report how to pass parameters and open it in same report in different tab?
    below link iam able to open in another report
    ="<a href=\"<Servername>:8080/businessobjects/enterprise115/desktoplaunch/opendoc/openDocument.jsp?&stype=wid&Refresh=N&sWindow=New&sDocName=Details3&lsS2)Month:="If(DrillFilters([Month])="";"All Month";DrillFilters([Month]))"&lsS1)Year:="If(DrillFilters([Year])="";"All Year";DrillFilters([Year]))"&lsS4)Account:="If(DrillFilters([Cd])="";"All Codes";DrillFilters([Cd]))+"\">List</a>"
    any ideas please
    Thanks

    Hi Arjun,
    There is no hiding or conditional hiding tab functionality in DeskI, which would serve the purpose of your need.
    One option could be to open up the child report in the same window rather a new window.
    Thanks for the reply
    I dont want to hide any tab..
    i want to open a child report in same report in another tab... in web i
    i can use in same window but..... child report i needed have different columns...

  • Open report in same page section in dashboard

    hi all,
    i am facing some problem
    i have a report with some link on dashboard. When clicking on that link new report is going to be open.
    What i want is after clicking the link the new report should be opened in the same dashboard section where first report resides.
    i am just able to open the report in same page but not sure how to open in same section
    anybody have any idea ?
    thanks

    Hi Chetan,
    what is that link? is it a go url? or guided navigation? or just a link?

  • Storage Spaces UI missing disks when a controller reports the same UniqueID for all attached disks (e.g. Supermicro AOC-SASLP-MV8)

    Summary: The Storage Spaces UI has several problems when there are more than 21 physical disks available to Storage Spaces.
    I have 28 SATA disks connected over 6 controllers. 2 are used for an Intel motherboard RAID1 for OS (PhysicalDisk0), so that leaves 26 data disks for Storage Spaces. [The plan is to get to 36 data disks in due course by adding disks (this 36-bay chassis: http://www.supermicro.com/products/chassis/4U/847/SC847A-R1400LP.cfm)]
    Initially, there were 23 data disks (5x 1TB, 1x 640GB, 14x 500GB, 3x 250GB) as PhysicalDisk1-23 (in that order), which I put into a storage pool. I created a parity disk over all 23 disks. It looks like it is working fine, albeit very slowly on writes.
    I've now added 3 more 4TB disks, as PhysicalDisk24-26, and taken them offline, and have now noticed errors in the Storage Pools UI in the Server Manager. For example:
    * No more than 21 disks ever show up in the "Physical Disks" area in the lower right. When the 23 disks are connected, only the first 21 show up in the pool I created. With 26 disks connected, only the first 20 show up in the pool, and only 1 more of the
    new 3 (PhysicalDisk26) shows up in the Primordial group.
    * In the Properties of the parity Virtual Disk created over the 23 disks, the disks are shown incorrectly. Again, only 21 disks are shown, and PhysicalDisk26 is incorrectly shown as part of the virtual disk. See image:
    * Using the New Storage Pool Wizard, I cannot add more than 1 of the new 3 disks to a new Storage Pool (only PhysicalDisk26 is available). And the details incorrectly refer to PhysicalDisk21. See image (a WDC WD2500JD-22H is a 250GB disk, not a 4TB disk).
    Thus I cannot use the new disks in a new storage pool.
    According the blog post at http://blogs.msdn.com/b/b8/archive/2012/01/05/virtualizing-storage-for-scale-resiliency-and-efficiency.aspx:
    Q) What is the minimum number of disks I can use to create a pool? What is the maximum?
    You can create a pool with only one disk. However, such a pool cannot contain any resilient spaces (i.e. mirrored or parity spaces). It can only contain a simple space which does not provide resiliency to failures. We do test pools comprising multiple hundreds
    of disks – such as you might see in a datacenter. There is no architectural limit to the number of disks comprising a pool.
    However, the UI currently does not seem to correctly work with more than 21 physical disks. Please advise.
    Using Server 2012 RC.
    Hardware: Supermicro X8SAX (BIOS v2.0), Intel i7-920 2.67GHz, 6x 2GB DDR3-1333 (certified Crucial CT25664BA1339.16SFD)
    Disk controllers: 2x RAIDCore BC4852 (PCI-X, final 3.3.1 driver) (15 ports used), 2x Supermicro AOC-SASLP-MV8 (PCIe, 4.0.0.1200 Marvell driver to allow >2TB disks) (6 ports used), Sil 3114 (PCI, latest 1.5.20.3 driver) (1 port used), motherboard Intel
    in RAID mode (4 ports used for data, plus 2 for OS RAID1).

    An update. I added 16x SATA disks across 2x Supermicro AOC-SASLP-MV8. All 16 disks report the same UniqueID.
    I have 25 disks in the pool now (23 as parity; 2 as journal added via PowerShell). 10 of these are on the two AOC-SASLP-MV8 controllers. Only the first 16 disks show up in the UI, so 9 are missing from the UI - which is consistent with this UI bug where
    only one disk per UniqueID shows up. PowerShell does work to manage the SS.
    PS C:\Users\administrator.TROUNCE> Get-PhysicalDisk | format-list FriendlyName, UniqueId, ObjectId, BusType
    FriendlyName : PhysicalDisk6
    UniqueId     : 00280000004000004FB116493C169A1A
    ObjectId     : {7ab38e00-ab87-11e1-bbbd-806e6f6e6963}
    BusType      : Fibre Channel
    FriendlyName : PhysicalDisk7
    UniqueId     : 00280000004000001AE48E5088028D0D
    ObjectId     : {7ab38e02-ab87-11e1-bbbd-806e6f6e6963}
    BusType      : Fibre Channel
    FriendlyName : PhysicalDisk8
    UniqueId     : 002800000040000020C9A6680224E32F
    ObjectId     : {7ab38e04-ab87-11e1-bbbd-806e6f6e6963}
    BusType      : Fibre Channel
    FriendlyName : PhysicalDisk9
    UniqueId     : 0028000000400000FDE73E7254A60C4C
    ObjectId     : {7ab38e06-ab87-11e1-bbbd-806e6f6e6963}
    BusType      : Fibre Channel
    FriendlyName : PhysicalDisk23
    UniqueId     : 0050430000000000
    ObjectId     : {7ab38e08-ab87-11e1-bbbd-806e6f6e6963}
    BusType      : RAID
    FriendlyName : PhysicalDisk22
    UniqueId     : 0050430000000000
    ObjectId     : {7ab38e0a-ab87-11e1-bbbd-806e6f6e6963}
    BusType      : RAID
    FriendlyName : PhysicalDisk21
    UniqueId     : 0050430000000000
    ObjectId     : {7ab38e0c-ab87-11e1-bbbd-806e6f6e6963}
    BusType      : RAID
    FriendlyName : PhysicalDisk20
    UniqueId     : 0050430000000000
    ObjectId     : {7ab38e0e-ab87-11e1-bbbd-806e6f6e6963}
    BusType      : RAID
    FriendlyName : PhysicalDisk5
    UniqueId     : 0028000000400000272BA74A52309853
    ObjectId     : {7ab3900f-ab87-11e1-bbbd-002590520253}
    BusType      : Fibre Channel
    FriendlyName : PhysicalDisk19
    UniqueId     : 0050430000000000
    ObjectId     : {7ab38e10-ab87-11e1-bbbd-806e6f6e6963}
    BusType      : RAID
    FriendlyName : PhysicalDisk4
    UniqueId     : 00280000004000009DE164099941430A
    ObjectId     : {7ab39011-ab87-11e1-bbbd-002590520253}
    BusType      : Fibre Channel
    FriendlyName : PhysicalDisk18
    UniqueId     : 0050430000000000
    ObjectId     : {7ab38e12-ab87-11e1-bbbd-806e6f6e6963}
    BusType      : RAID
    FriendlyName : PhysicalDisk11
    UniqueId     : 0028000000400000967EB0559AB4E351
    ObjectId     : {7ab39013-ab87-11e1-bbbd-002590520253}
    BusType      : Fibre Channel
    FriendlyName : PhysicalDisk17
    UniqueId     : 0050430000000000
    ObjectId     : {7ab38e14-ab87-11e1-bbbd-806e6f6e6963}
    BusType      : RAID
    FriendlyName : PhysicalDisk24
    UniqueId     : 0050430000000000
    ObjectId     : {7ab38e16-ab87-11e1-bbbd-806e6f6e6963}
    BusType      : RAID
    FriendlyName : PhysicalDisk10
    UniqueId     : 0028000000400000B22A722C8AD2557B
    ObjectId     : {df23f916-c19f-11e1-bbf5-806e6f6e6963}
    BusType      : Fibre Channel
    FriendlyName : PhysicalDisk16
    UniqueId     : 0028000000400000DA4D24536A847E52
    ObjectId     : {7ab38e19-ab87-11e1-bbbd-806e6f6e6963}
    BusType      : Fibre Channel
    FriendlyName : PhysicalDisk15
    UniqueId     : 00280000004000005DEDFF007783A242
    ObjectId     : {7ab38e1b-ab87-11e1-bbbd-806e6f6e6963}
    BusType      : Fibre Channel
    FriendlyName : PhysicalDisk14
    UniqueId     : 002800000040000018C9CF6EBE605911
    ObjectId     : {7ab38e1d-ab87-11e1-bbbd-806e6f6e6963}
    BusType      : Fibre Channel
    FriendlyName : PhysicalDisk13
    UniqueId     : 0028000000400000B64436290D155A48
    ObjectId     : {7ab38e1f-ab87-11e1-bbbd-806e6f6e6963}
    BusType      : Fibre Channel
    FriendlyName : PhysicalDisk0
    UniqueId     : IDE\DiskOS1.0.00__\4&180adc7b&0&0.0.0:Trounce-Server2
    ObjectId     : {df23f925-c19f-11e1-bbf5-806e6f6e6963}
    BusType      : RAID
    FriendlyName : PhysicalDisk31
    UniqueId     : 0050430000000000
    ObjectId     : {df241daf-c19f-11e1-bbf5-002590520253}
    BusType      : RAID
    FriendlyName : PhysicalDisk32
    UniqueId     : 0050430000000000
    ObjectId     : {df241db2-c19f-11e1-bbf5-002590520253}
    BusType      : RAID
    FriendlyName : PhysicalDisk27
    UniqueId     : 0050430000000000
    ObjectId     : {df241cbe-c19f-11e1-bbf5-002590520253}
    BusType      : RAID
    FriendlyName : PhysicalDisk28
    UniqueId     : 0050430000000000
    ObjectId     : {df241cc1-c19f-11e1-bbf5-002590520253}
    BusType      : RAID
    FriendlyName : PhysicalDisk34
    UniqueId     : 0050430000000000
    ObjectId     : {df241dc4-c19f-11e1-bbf5-002590520253}
    BusType      : RAID
    FriendlyName : PhysicalDisk29
    UniqueId     : 0050430000000000
    ObjectId     : {df241cca-c19f-11e1-bbf5-002590520253}
    BusType      : RAID
    FriendlyName : PhysicalDisk33
    UniqueId     : 0050430000000000
    ObjectId     : {df241dcf-c19f-11e1-bbf5-002590520253}
    BusType      : RAID
    FriendlyName : PhysicalDisk30
    UniqueId     : 0050430000000000
    ObjectId     : {df241cd3-c19f-11e1-bbf5-002590520253}
    BusType      : RAID
    FriendlyName : PhysicalDisk2
    UniqueId     : 002800000040000037638531D4A17419
    ObjectId     : {7ab38df8-ab87-11e1-bbbd-806e6f6e6963}
    BusType      : Fibre Channel
    FriendlyName : PhysicalDisk3
    UniqueId     : 0028000000400000AB7400464090110C
    ObjectId     : {7ab38dfa-ab87-11e1-bbbd-806e6f6e6963}
    BusType      : Fibre Channel
    FriendlyName : PhysicalDisk1
    UniqueId     : IDE\DiskWDC_WD6400AAKS-00A7B2___________________01.03B01\4&180adc7b&0&0.1.0:Trounce-Server2
    ObjectId     : {7ab38dfc-ab87-11e1-bbbd-806e6f6e6963}
    BusType      : RAID
    FriendlyName : PhysicalDisk12
    UniqueId     : 00280000004000005396CC47AA8AD97B
    ObjectId     : {7ab38dfe-ab87-11e1-bbbd-806e6f6e6963}
    BusType      : Fibre Channel

  • BI: Virtual Provider for ECC Report with same selection parameters

    Dear all,
    I have attached screen shot of ECC report selection screen with contain Material, Plant and Dates. As report is bit complex and I need to use just ITAB (internal table) of it for further use in BEx Query and for Dashboard purposes.
    Problem: I need to call this report by creating Virtual Provider in BI so that I get data from ECC at runtime as it is shares report so I can't able to save any data in transparent table as report calculated opening balances at runtime.
    It is possible for me by using function module i can get itab by submit return and then create Data Source for it ?
    As i make copy of FM ZZRSAX_BIW_GET_SIMPLE i cannot use submit there due to OPEN CURSOR mechanism there.
    Kindly anyone suggest how it is possible to call report with same selection parameters for creation of virtual provider.
    Please mention if i miss any point in explaining problem.
    Feel free to ask for any query.
    Many thanks.
    Hoping for positive and quick responses.

    please create 2 reports as given below.-
    REPORT  ZSZP_00007.
    parameters a(5) .
    parameters b(5) .
    parameters c(5) .
    AT SELECTION-SCREEN OUTPUT.
    LOOP AT SCREEN.
    IF screen-name = 'A' or screen-name = 'B' .
      get parameter id 'aaaaaaaaaaa' field a.
      get parameter id 'bbbbbbbbbbb' field B.
    screen-input = 0.
    MODIFY SCREEN.
    ENDIF.
    ENDLOOP.
    start-of-selection.
    your logic
    REPORT  zszp_00005.
    PARAMETERS a(5).
    PARAMETERS b(5).
    START-OF-SELECTION.
      SET PARAMETER ID 'aaaaaaaaaaa' FIELD a.
      SET PARAMETER ID 'bbbbbbbbbbb' FIELD b.
    your logic
    SUBMIT zszp_00007 VIA SELECTION-SCREEN.
    i hope this approach will solve your problem.
    thanks
    Swanand

  • Two earlywatch reports for same instance in one Solution manager

    Hi
    i am trying to create two solutons for early watch reports for same instance. let me explain here.
    In SAP Solution Manager: Active Solutions  >>> i have two solutions like this
    Solution                                                          Early Watch Alert Reports
    Avnet Global Solutions         >>>> here i have configured the PR1, PB1 PCB instances
    PR1                                      >>>>>here i configured the only PR1 instance.
    so i have configured the same instance in two solutions.
    i am not gettting the early watch report automatically  after after configuring like this . but manually working fine.
    when i kick of the report manually working fine.
    here my question is ... do i can create two early watch reports in one solution manage for same instance or not.  if yes then why i am not getting report automatically.
    Thank you
    Vish

    Dear Paul,
    Thank you for your response
    this is what i got from SAP.
    Hello Vish,
    You can have the same system in different solutions. With regards
    to why the report is not generating automatically, please review
    SDCCN on the satellite system.
    I dialed into the system and found that the SDCCN for PB1 is not
    downloading the sessions from Solution Manager.
    I would recommend that you deactivate and then activate SDCCN.
    Tcode SDCCN -> GoTo - Settings - Task Processor - Deactivate
    Tcode SDCCN ->Utilities -> Activate
    Then create a Refresh Session task and verify if the upcoming sessions
    are getting pulled down to PB1.
    If you need help with this, please let me know if it is fine with you
    if I make the necessary changes to get the system working.
    Thank you in advance and best regards,
    Jared Singh
    SAP Active Global Support - Netweaver Web Application Server
    could i know your comment

  • How to use both digital and analog input modules in the same worksheet - MCC USB1208LS

    Dear all,
    Hi, I am Imran. I am using MCC USB1208LS. I have created the worksheet using digital input module as below and able to execute (run).
    But when i add another analog input module in the same worksheet and executes, An error Message pops-up as in the below image
    I have connected temperature sensor sognal to the analog input of USB1208LS. When using analog input alone in the worksheet, it indiates the actual values. 
    is any black box solve? please guide me. I am attaching in images
    We already placed a purchase order for USB1208FS. Will it sort out my issues?.
    Thanking you,
    Imran Mohamed.
    Attachments:
    present worksheet digital input only.JPG ‏67 KB
    with analog input module.JPG ‏81 KB
    error menu.JPG ‏77 KB

    Hello Imran,
    the USB-1208LS is not capable of running concurrent operations such as an analog input scan and ANY digital Ins, Outs, counter reads, or analog outs.  In Dasylab, the 1208LS is scanning, and nothing else from that particular device can be requested of it while that is happening.
    Yes, using the 1208FS will resolve some of these issues.
    Please refer to the ULHELP.CHM file installed on your computer in c:\program files\measurement computing\daq for details on this issue, et al.
    also I recommend you send your MCC/DASYLab requests for support to [email protected] as MCC staff (that includes me) does not normally monitor NI's Developer Zone.

  • Reporting the Same Score Regardless of Right/Wrong

    Hi everyone,
    This is a very odd request...my client, for some reason, wants to report the same score for the quiz regardless of whether it's right or wrong.
    So, if the learner gets the correct answer, they get 1 point. If they get it wrong (even after giving them 2 attempts), they still want it to report 1 point.
    It sounds like they don't want to change it to 0. I've already offered that as a solution.
    They want the pass/fail settings to report 0%.
    This request doesn't make any sense to me. It completely goes against the point of reporting a score.
    Any ideas on how I should address this with them and give the same score regardless of right/wrong answers?
    Thanks,
    Kristen

    Hi everyone,
    Rod, the client wants to give a percentage. They don't care about the score. And as much as I question their request, I was asked to just research potential solutions and not question it. Frustrating, I know.
    Lieve was able to give me two solutions offline that they will consider. Thank you, Lieve!
    I can't give them unlimited attempts. The client has made it VERY clear that they only want to allow 2 attempts. And they also don't want to rely solely on slide views...they would like for it to report the same score for every learner that basically shows they attempted to answer the question (right or wrong).
    Thanks everyone!
    Kristen

  • Generate two xml reports from same execution

    I need to generate a summary report and detail report from the same execution.
    Detail report will record all the steps marked as Record result
    Summary report to record only the steps that are of type Pass/Fail, Numeric Limit Test, MultiNumeric Limit Test and String test.
    So far I have been able to generate two detail report from same execution and can save each report in separate folder.
    How to get the data for summary versus detail report from the running sequence?
    CLD,CTD
    Solved!
    Go to Solution.
    Attachments:
    ReportFolders.JPG ‏115 KB

    Thanks for the approach. 
    I have created a sequence which recursively looks through the Parameters.MainSequenceResults and if StepType is one of the Test Types then displays in summary report. 
    On the summary report I also wanted to get the name of the subsequcenCall if that subsequence call contained a valid TestType for summary report. For example if subsequenceCall step has a Action and String type. I wanted it to display as shown in Image1.jpg below. Currently it displays as shown in Image2.jpg.
    Attached is the recursive sequence that I am using. 
    CLD,CTD
    Attachments:
    GenerateSummaryReport.seq ‏8 KB
    Image1.jpg ‏35 KB
    Image2.JPG ‏140 KB

  • We get many report with same computer in the SCEP alerts.

    Hi,
    We get many report with same computer in the SCEP alerts.
    I have an email sent to support desk for "Malware detection", but same computer ends upp severaltimes long time after it have been cleand with success. I dont have "repeated malware detection" alerts enable.
    So why same alerts reported several times even if it have been removed?
    /SaiTech

    Hi,
    Please refer to the link below:
    How to Configure Alerts for Endpoint Protection in Configuration Manager
    http://technet.microsoft.com/en-us/library/hh508782.aspx
    We
    are trying to better understand customer views on social support experience, so your participation in this
    interview project would be greatly appreciated if you have time.
    Thanks for helping make community forums a great place.

  • Two Collection Companies Reporting the same debt

    My husband has a old debt from Sprint that was sent to collections. Now two collection companies Diversified and Enhanced Recovery are both reporting the debt to all 3 agencies.  Enhanced Recovery just starting to reporting the debt, so I assumed Diversified sold them the debt, so I disputed it. Experian just sent me a email saying that they wouldn't be removing it. I am still wait for the other agencies.  Why wouldn't Experian remove it? It is clear to see that they are both reporting the same debt. What do I do next?  

    Miamituscani wrote:
    My husband has a old debt from Sprint that was sent to collections. Now two collection companies Diversified and Enhanced Recovery are both reporting the debt to all 3 agencies.  Enhanced Recovery just starting to reporting the debt, so I assumed Diversified sold them the debt, so I disputed it. Experian just sent me a email saying that they wouldn't be removing it. I am still wait for the other agencies.  Why wouldn't Experian remove it? It is clear to see that they are both reporting the same debt. What do I do next?  What reason did you give for the dispute? I had this exact same situation with Diversified, and when I disputed, I entered the comment "Collector does not have collection authority for this account" and it was deleted from all three. While there is no specific legal requirement against this sort of double reporting (there certainly should be IMO), the CRAs have reporting instructions intended to prevent double reporting of collections. A collector is instructed to delete their reporting when an unpaid debt is moved to a new collector.

  • Is statspack and awr report are same?

    Hi
    All,
    Is statspack and awr report are same? and in which oracle version they are?
    Thanks,
    Vishal

    I wouldn't expect AWR or statspack to be able to generate snapshots or to run reports while the database is in restricted mode. I've never tested it, but I wouldn't expect it to work.
    Restricted mode is not normally used to allow normal users to test a database. Normally, if you're upgrading a production database, you have already validated that the upgrade works correctly by upgrading and testing the dev, test, and potentially staging databases. So when it comes to upgrading prod, you do the upgrade, verify that the upgrade scripts didn't throw any errors, and open up the database for users to do some quick validation. If there is some fear that users logging in would "mess up the database", that implies that you don't have enough confidence in the upgrade to even think about upgrading prod.
    Occasionally, you'll have a standby database that gets upgraded and opened up and a select number of users given information on how to connect to the new database. Those users would verify the new database and then some sort of switchover would take place to move everyone from the old system to the new one. That generally requires a lot more work, though, because you have to replicate data during the parallel production phase.
    Justin

  • Writing into an excel report from Forms10g in the same worksheet

    Dear all, I need your help pleae,
    I have eveloped a procedure in Forms 10g to write a report into an excel file, Please find below the code
    The problem is that the report is displayed in multiple sheets according to the rows fetched . How can all the data be written in the same sheet
    Actual case:
    IN SHEET 1 IN THE EXCEL FILE ->
    BANK NAME ACCOUNT
    11 XXX 124567890
    IN SHEET 2 IN THE EXCEL FILE ->
    BANK NAME ACCOUNT
    12 XXX 124567891
    etc...........................
    Wanted case:
    In the same sheet 1:
    BANK NAME ACCOUNT
    11 XXX 124567890
    12 XXX 124567891
    etc...................
    DECLARE
         V_BRCH NUMBER(3);
         V_ACC_NUM NUMBER(16);
    V_BANK NUMBER(3);
    V_NAME VARCHAR2(75);
         v_file_name          varchar2(100);
         APP                    CLIENT_OLE2.OBJ_TYPE;
         ARGS                CLIENT_OLE2.LIST_TYPE;
         CELL               CLIENT_OLE2.OBJ_TYPE;
         WS                    CLIENT_OLE2.OBJ_TYPE;
         WB                    CLIENT_OLE2.OBJ_TYPE;
         WSS                    CLIENT_OLE2.OBJ_TYPE;
         WBS                    CLIENT_OLE2.OBJ_TYPE;
         M_ROW               NUMBER:=1; --ROW
         M_COL               NUMBER:=1; --COLUMN
         v_first               NUMBER := 0;
         V_SYSDATE          DATE:=SYSDATE;
         CURSOR     C_CACC     IS
              SELECT     DISTINCT ACC_NUM, BRCH_CODE,BANK,NAME
              FROM     ACCNTS
              ORDER BY BRCH_CODE, ACC_NUM;
    BEGIN
         v_file_name := :N_EXCEL_PATH;     
              --INITIALISE EXCEL
         APP := CLIENT_OLE2.CREATE_OBJ('Excel.Application');
         CLIENT_OLE2.SET_PROPERTY(APP,'Visible', 'FALSE');
         WBS := CLIENT_OLE2.GET_OBJ_PROPERTY(APP, 'Workbooks');
         WB     := CLIENT_OLE2.INVOKE_OBJ(WBS,'Add');
         WSS     := CLIENT_OLE2.GET_OBJ_PROPERTY(APP,'Worksheets');
         CLIENT_OLE2.SET_PROPERTY(app, 'DisplayAlerts', 0);
            WHILE CLIENT_OLE2.GET_NUM_PROPERTY(wss , 'Count') > 1
            LOOP
          --- Get a handle to the 2nd worksheet and delete it
          args := CLIENT_OLE2.CREATE_ARGLIST;
          CLIENT_OLE2.ADD_ARG(args, 2);
          ws := CLIENT_OLE2.GET_OBJ_PROPERTY(wb, 'Worksheets', args);  
          CLIENT_OLE2.DESTROY_ARGLIST(args);
          CLIENT_OLE2.INVOKE(ws, 'Delete');
          CLIENT_OLE2.RELEASE_OBJ(ws);
            END LOOP;
            CLIENT_OLE2.SET_PROPERTY(app, 'DisplayAlerts', TRUE);
         CLIENT_OLE2.RELEASE_OBJ(wss);
                   OPEN     C_CACC;
                   LOOP
                        FETCH     C_CACC     INTO     V_BRCH     ,     V_ACC_NUM, V_BANK,V_NAME;
                        EXIT     WHEN     C_CACC%NOTFOUND;
                        M_ROW:=1; --ROW
                        M_COL:=1; --COLUMN
                        M_SEQ:=0;
                        WSS     := CLIENT_OLE2.GET_OBJ_PROPERTY(APP,'Worksheets');
                        if v_first = 1
                        then
                             WS     := CLIENT_OLE2.INVOKE_OBJ(WSS,'Add');
                        else
                             args := CLIENT_OLE2.CREATE_ARGLIST;
                             CLIENT_OLE2.ADD_ARG(args, 1);
                             ws := CLIENT_OLE2.GET_OBJ_PROPERTY(wb, 'Worksheets', args); 
                             CLIENT_OLE2.DESTROY_ARGLIST(args);
                             CLIENT_OLE2.INVOKE(ws, 'Select');
                             v_first := 1;
                        end if;
                        CLIENT_OLE2.set_property(WS,'Name',V_SYSDATE);
                        FOR     M_COL     IN     1..3     
                        LOOP
                             ARGS := CLIENT_OLE2.CREATE_ARGLIST;
                             CLIENT_OLE2.ADD_ARG(ARGS, M_ROW); --- Row
                             CLIENT_OLE2.ADD_ARG(ARGS, M_COL); --- Column
                             CELL := CLIENT_OLE2.GET_OBJ_PROPERTY(WS,'CELLS', ARGS);
                             CLIENT_OLE2.DESTROY_ARGLIST(ARGS);
                             IF          M_COL = 1
                             THEN     CLIENT_OLE2.SET_PROPERTY(CELL, 'VALUE','BANK');
                             ELSIF     M_COL = 2
                             THEN     CLIENT_OLE2.SET_PROPERTY(CELL, 'VALUE','NAME');
                             ELSIF     M_COL = 3
                             THEN     CLIENT_OLE2.SET_PROPERTY(CELL, 'VALUE','ACCOUNT');
                             END IF;
                        END LOOP;
                        CLIENT_OLE2.RELEASE_OBJ(CELL);
                        M_ROW := M_ROW + 1;
                        FOR     M_COL     IN     1..3     
                        LOOP
                             ARGS := CLIENT_OLE2.CREATE_ARGLIST;
                             CLIENT_OLE2.ADD_ARG(ARGS, M_ROW); --- Row
                             CLIENT_OLE2.ADD_ARG(ARGS, M_COL); --- Column
                             CELL := CLIENT_OLE2.GET_OBJ_PROPERTY(WS,'CELLS', ARGS);
                             CLIENT_OLE2.DESTROY_ARGLIST(ARGS);
                             IF          M_COL = 1
                             THEN     CLIENT_OLE2.SET_PROPERTY(CELL, 'VALUE','-------------');
                             ELSIF     M_COL = 2
                             THEN     CLIENT_OLE2.SET_PROPERTY(CELL, 'VALUE','-------------');
                             ELSIF     M_COL = 3
                             THEN     CLIENT_OLE2.SET_PROPERTY(CELL, 'VALUE','-------------');
                             END IF;
                        END LOOP;
                        CLIENT_OLE2.RELEASE_OBJ(CELL);
                             M_SEQ     :=     M_SEQ + 1;
                             IF M_SEQ = 1
                             THEN
                                  M_ROW     :=     M_ROW + 1;
                                  FOR     M_COL     IN     1..3
                                  LOOP
                                       --DETAIL ROWS
                                       ARGS := CLIENT_OLE2.CREATE_ARGLIST;
                                       CLIENT_OLE2.ADD_ARG(ARGS,     M_ROW);     --ROW
                                       CLIENT_OLE2.ADD_ARG(ARGS,     M_COL);     --COLUMN
                                       CELL := CLIENT_OLE2.GET_OBJ_PROPERTY(WS,'CELLS',ARGS);
                                       CLIENT_OLE2.DESTROY_ARGLIST(ARGS);
                                       IF          M_COL = 1 AND V_BANK IS NOT NULL
                                       THEN     CLIENT_OLE2.SET_PROPERTY(CELL, 'VALUE',V_BANK);
                                       ELSIF     M_COL = 2 AND V_NAME IS NOT NULL
                                       THEN     CLIENT_OLE2.SET_PROPERTY(CELL, 'VALUE',V_NAME);
                                       ELSIF     M_COL = 3 AND V_ACC_NUM IS NOT NULL
                                       THEN     CLIENT_OLE2.SET_PROPERTY(CELL, 'VALUE',V_ACC_NUM);
                                       END IF;
                                  END LOOP;
                                  CLIENT_OLE2.RELEASE_OBJ(CELL);
                             ELSE
                                  M_ROW     :=     M_ROW + 1;
                                  FOR     M_COL     IN     1..3
                                  LOOP
                                       --DETAIL ROWS
                                       ARGS := CLIENT_OLE2.CREATE_ARGLIST;
                                       CLIENT_OLE2.ADD_ARG(ARGS,     M_ROW);     --ROW
                                       CLIENT_OLE2.ADD_ARG(ARGS,     M_COL);     --COLUMN
                                       CELL := CLIENT_OLE2.GET_OBJ_PROPERTY(WS,'CELLS',ARGS);
                                       CLIENT_OLE2.DESTROY_ARGLIST(ARGS);
                                       IF          M_COL = 1 AND V_BANK IS NOT NULL
                                       THEN     CLIENT_OLE2.SET_PROPERTY(CELL, 'VALUE',V_BANK);
                                       ELSIF     M_COL = 2 AND V_NAME IS NOT NULL
                                       THEN     CLIENT_OLE2.SET_PROPERTY(CELL, 'VALUE',V_NAME);
                                       ELSIF     M_COL = 3 AND V_ACC_NUM IS NOT NULL
                                       THEN     CLIENT_OLE2.SET_PROPERTY(CELL, 'VALUE',V_ACC_NUM);
                                       END IF;
                                  END LOOP;
                                  CLIENT_OLE2.RELEASE_OBJ(CELL);
                             END IF;
                        CLIENT_OLE2.RELEASE_OBJ(WS);
                        CLIENT_OLE2.RELEASE_OBJ(WSS);
                   END LOOP;
                   CLOSE     C_CACC;
                   COMMIT;
                   M_ROW:=1; --ROW
                   M_COL:=1; --COLUMN
                   M_SEQ:=0;
                   WSS     := CLIENT_OLE2.GET_OBJ_PROPERTY(APP,'Worksheets');
                   if v_first = 1
                   then
                        WS     := CLIENT_OLE2.INVOKE_OBJ(WSS,'Add');
                   else
                        args := CLIENT_OLE2.CREATE_ARGLIST;
                        CLIENT_OLE2.ADD_ARG(args, 1);
                        ws := CLIENT_OLE2.GET_OBJ_PROPERTY(wb, 'Worksheets', args); 
                        CLIENT_OLE2.DESTROY_ARGLIST(args);
                        CLIENT_OLE2.INVOKE(ws, 'Select');
                        v_first := 1;
                   end if;
                   CLIENT_OLE2.set_property(WS,'Name',V_SYSDATE);
                   FOR     M_COL     IN     1..3     
                   LOOP
                        ARGS := CLIENT_OLE2.CREATE_ARGLIST;
                        CLIENT_OLE2.ADD_ARG(ARGS, M_ROW); --- Row
                        CLIENT_OLE2.ADD_ARG(ARGS, M_COL); --- Column
                        CELL := CLIENT_OLE2.GET_OBJ_PROPERTY(WS,'CELLS', ARGS);
                        CLIENT_OLE2.DESTROY_ARGLIST(ARGS);
                        IF          M_COL = 1
                        THEN     CLIENT_OLE2.SET_PROPERTY(CELL, 'VALUE','BANK');
                        ELSIF     M_COL = 2
                        THEN     CLIENT_OLE2.SET_PROPERTY(CELL, 'VALUE','NAME');
                        ELSIF     M_COL = 3
                        THEN     CLIENT_OLE2.SET_PROPERTY(CELL, 'VALUE','ACCOUNT');
                        END IF;
                   END LOOP;
                   CLIENT_OLE2.RELEASE_OBJ(CELL);
                   M_ROW := M_ROW + 1;
                   FOR     M_COL     IN     1..3     
                   LOOP
                        ARGS := CLIENT_OLE2.CREATE_ARGLIST;
                        CLIENT_OLE2.ADD_ARG(ARGS, M_ROW); --- Row
                        CLIENT_OLE2.ADD_ARG(ARGS, M_COL); --- Column
                        CELL := CLIENT_OLE2.GET_OBJ_PROPERTY(WS,'CELLS', ARGS);
                        CLIENT_OLE2.DESTROY_ARGLIST(ARGS);
                        IF          M_COL = 1
                        THEN     CLIENT_OLE2.SET_PROPERTY(CELL, 'VALUE','-------------');
                        ELSIF     M_COL = 2
                        THEN     CLIENT_OLE2.SET_PROPERTY(CELL, 'VALUE','-------------');
                        ELSIF     M_COL = 3
                        THEN     CLIENT_OLE2.SET_PROPERTY(CELL, 'VALUE','-------------');
                        END IF;
                   END LOOP;
                   CLIENT_OLE2.RELEASE_OBJ(CELL);
                   M_ROW     :=     M_ROW + 1;
                   FOR     M_COL     IN     1..3
                   LOOP
                        --DETAIL ROWS
                        ARGS := CLIENT_OLE2.CREATE_ARGLIST;
                        CLIENT_OLE2.ADD_ARG(ARGS,     M_ROW);     --ROW
                        CLIENT_OLE2.ADD_ARG(ARGS,     M_COL);     --COLUMN
                        CELL := CLIENT_OLE2.GET_OBJ_PROPERTY(WS,'CELLS',ARGS);
                        CLIENT_OLE2.DESTROY_ARGLIST(ARGS);
                             IF          M_COL = 1 AND V_BANK IS NOT NULL
                                       THEN     CLIENT_OLE2.SET_PROPERTY(CELL, 'VALUE',V_BANK);
                                       ELSIF     M_COL = 2 AND V_NAME IS NOT NULL
                                       THEN     CLIENT_OLE2.SET_PROPERTY(CELL, 'VALUE',V_NAME);
                                       ELSIF     M_COL = 3 AND V_ACC_NUM IS NOT NULL
                                       THEN     CLIENT_OLE2.SET_PROPERTY(CELL, 'VALUE',V_ACC_NUM);
                             END IF;
                   END LOOP;
                   CLIENT_OLE2.RELEASE_OBJ(CELL);
                        M_ROW     :=     M_ROW + 1;
                        FOR     M_COL     IN     1..3
                        LOOP
                             --DETAIL ROWS
                             ARGS := CLIENT_OLE2.CREATE_ARGLIST;
                             CLIENT_OLE2.ADD_ARG(ARGS,     M_ROW);     --ROW
                             CLIENT_OLE2.ADD_ARG(ARGS,     M_COL);     --COLUMN
                             CELL := CLIENT_OLE2.GET_OBJ_PROPERTY(WS,'CELLS',ARGS);
                             CLIENT_OLE2.DESTROY_ARGLIST(ARGS);
                             IF          M_COL = 1 AND V_BANK IS NOT NULL
                             THEN     CLIENT_OLE2.SET_PROPERTY(CELL, 'VALUE',V_BANK);
                             ELSIF     M_COL = 2 AND V_NAME IS NOT NULL
                             THEN     CLIENT_OLE2.SET_PROPERTY(CELL, 'VALUE',V_NAME);
                             ELSIF     M_COL = 3 AND V_ACC_NUM IS NOT NULL
                             THEN     CLIENT_OLE2.SET_PROPERTY(CELL, 'VALUE',V_ACC_NUM);
                             END IF;
                        END LOOP;
                        CLIENT_OLE2.RELEASE_OBJ(CELL);
              CLIENT_OLE2.RELEASE_OBJ(WS);
              CLIENT_OLE2.RELEASE_OBJ(WSS);
              EXIT WHEN :SYSTEM.LAST_RECORD = 'TRUE';
              NEXT_RECORD;
         --SAVE AS THE EXCEL FILE
         ARGS := CLIENT_OLE2.CREATE_ARGLIST;
         CLIENT_OLE2.ADD_ARG(ARGS, v_file_name);
         CLIENT_OLE2.INVOKE(WB, 'SAVEAS',args);
         CLIENT_OLE2.DESTROY_ARGLIST(ARGS);
         --CLOSING CODE
         CLIENT_OLE2.INVOKE(WBS,'CLOSE');
         CLIENT_OLE2.RELEASE_OBJ(WBS);
         CLIENT_OLE2.invoke(app,'Quit');
         CLIENT_OLE2.RELEASE_OBJ(APP);
         CLIENT_OLE2.INVOKE(WB,'CLOSE');
         CLIENT_OLE2.RELEASE_OBJ(WB);
    EXCEPTION WHEN OTHERS THEN
         MESSAGE(SQLERRM);     
    END;

    Maybe you should set the value for v_first to a value greater than 1 after invoking the 'Add'-method.

  • Report generation toolkit jumping between workbooks

    Hi,
    I am having an issue with my VI which I am wondering if anyone has a fix too or workaround.
    Basically during my tests I write multiple sets of data to different sheets in Excel using the Report Generation Toolkit.
    At the start of my code I open a workbook (template Excel file), I write data to the file at the end of each test for each iteration and then save and close the file at the end.
    I have attached a PNG of one of my sub VIs which writes one set of data to one sheet, this could be called numerous times during my code.
    The issue I have is that if I am working with a seperate workbook, each time my sub VI runs it will jump to the test results workbook.
    I am aware that I do "Get" the workbook in my code and this is why it happens.
    Is there a way to call different sheets in a workbook in a VI without affecting the user who is working on a seperate workbook, write data in the background?
    I am unsure if it is possible to write data to different sheets in a workbook without using the "Excel Get Worksheet VI" before entering the data.
    I also know I could just save all data in arrays and then at the very end write all data to the workbook but this is not a preference
    Any information would be gratefully appreciated
    Thanks.
    Solved!
    Go to Solution.
    Attachments:
    write_to_excel.PNG ‏14 KB

    Changed the window state to "No Change" in the new report VI
    Seems to have done the trick
    Attachments:
    report_settings.PNG ‏2 KB

  • How can i display all the Coloumns (Key Figures) in the Report's same page

    Hi All,
    I am currently working on the BI 7.0 reporting. In the BEx Query Designer report, I am having 13 coloumns (7 Key figures and 6 Formulas) in the report. It is now displaying 10 coloumns in the First page of report. The other 3 coloumns can be seen by clicking on the next page. But the requirement is to see coloumns in the SAME PAGE.
    Are there any settings OR any other thing in the Query Designer, which can enable me to see all the coloumns on SAME page. The users are not interested in scrolling next page for 3 coloumns.
    Appreciates the Quick help/Response, please.
    Regards
    Ramana

    In Web Application Designer, for the properties of your analysis webitem under the Paging category, change parameter 'Number of Data Columns Displayed at Once' (BLOCK_COLUMNS_SIZE) to 0.  This will make all columns show instead of paginating as it is doing now.

Maybe you are looking for