Error when exporting reports using MAPI

We created a .NET class that wraps CR 2010 .NET Crystal Reports functions and made it COM visible. This class is used to create a COM object in a js script which in turn used to export reports to a PDF file with the destination MAPI.
It exports reports just fine without any errors however if prior to instantiation the exporting class we instantiate a class that has nothing to do with the Crystal Reports functions, our exporting object throws u201CExternal component has thrown an exception.u201D error when exporting. It appears that it has something to do with the SideBySide feature. I was wondering if somebody knows what causes this and if there is a way to fix this problem.
Thanks for your help!
<br>
<br>
Below are 2 procmon.exe outputs, the first when exporting works and the second when it doesnu2019t
<br>
<br>
<br>
1) Procmon.exe output when exporting works fine
<br>
<br>
<br>HKLM\Software\Wow6432Node\Microsoft\Windows\CurrentVersion     SUCCESS     Desired Access: Read
<br>HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion     SUCCESS     KeySetInformationClass: KeySetHandleTagsInformation, Length: 0
<br>HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\CommonFilesDir     SUCCESS     Type: REG_SZ, Length: 72, Data: C:\Program Files (x86)\Common Files
<br>HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion     SUCCESS     
<br>C:\Program Files (x86)\Common Files\microsoft shared\OFFICE12\MSO.DLL     FAST IO DISALLOWED     
<br>C:\Program Files (x86)\Common Files\microsoft shared\OFFICE12\MSO.DLL     SUCCESS     Desired Access: Read Attributes, Disposition: Open, Options: Open Reparse Point, Attributes: n/a, ShareMode: Read, Write, Delete, AllocationSize: n/a, OpenResult: Opened
<br>7:16:30.7403615 AM     test.exe     4396     FASTIO_QUERY_INFORMATION     C:\Program Files (x86)\Common Files\Microsoft Shared\OFFICE12\MSO.DLL     SUCCESS     Type: QueryBasicInformationFile, CreationTime: 9/17/2010 10:50:22 AM, LastAccessTime: 11/10/2010 5:47:02 PM, LastWriteTime: 9/17/2010 10:50:22 AM, ChangeTime: 2/17/2011 11:04:53 AM, FileAttributes: A
<br>C:\Program Files (x86)\Common Files\Microsoft Shared\OFFICE12\MSO.DLL     SUCCESS     
<br>C:\Program Files (x86)\Common Files\Microsoft Shared\OFFICE12\MSO.DLL     SUCCESS     
<br>C:\Program Files (x86)\Common Files\microsoft shared\OFFICE12\MSO.DLL     SUCCESS     Desired Access: Read Data/List Directory, Execute/Traverse, Synchronize, Disposition: Open, Options: Synchronous IO Non-Alert, Non-Directory File, Attributes: n/a, ShareMode: Read, Delete, AllocationSize: n/a, OpenResult: Opened
<br>C:\Program Files (x86)\Common Files\Microsoft Shared\OFFICE12\MSO.DLL     FILE LOCKED WITH ONLY READERS     SyncType: SyncTypeCreateSection, PageProtection:
<br>C:\Program Files (x86)\Common Files\Microsoft Shared\OFFICE12\MSO.DLL     SUCCESS     
<br>C:\Program Files (x86)\Common Files\Microsoft Shared\OFFICE12\MSO.DLL     SUCCESS     
<br>C:\Program Files (x86)\Common Files\Microsoft Shared\OFFICE12\MSO.DLL     SUCCESS     
<br>C:\Program Files (x86)\Common Files\Microsoft Shared\OFFICE12\MSO.DLL     SUCCESS     SyncType: SyncTypeOther
<br>C:\Program Files (x86)\Common Files\Microsoft Shared\OFFICE12\MSO.DLL     SUCCESS     
<br>C:\Program Files (x86)\Common Files\microsoft shared\OFFICE12\MSO.DLL     SUCCESS     Image Base: 0x79260000, Image Size: 0x1073000
<br>C:\Program Files (x86)\Common Files\Microsoft Shared\OFFICE12\MSO.DLL     SUCCESS     Type: QueryNameInformationFile, Name: \Program Files (x86)\Common Files\microsoft shared\OFFICE12\MSO.DLL
<br>C:\Program Files (x86)\Common Files\microsoft shared\OFFICE12\MSO.DLL     SUCCESS     Desired Access: Generic Read, Disposition: Open, Options: Synchronous IO Non-Alert, Attributes: n/a, ShareMode: Read, Write, Delete, AllocationSize: n/a, OpenResult: Opened
<br>C:\Program Files (x86)\Common Files\Microsoft Shared\OFFICE12\MSO.DLL     SUCCESS     
<br>C:\Program Files (x86)\Common Files\Microsoft Shared\OFFICE12\MSO.DLL     SUCCESS     
<br>HKLM\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\SideBySide     SUCCESS     Desired Access: Read
<br>HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\SideBySide     SUCCESS     KeySetInformationClass: KeySetHandleTagsInformation, Length: 0
<br>HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\SideBySide\PreferExternalManifest     NAME NOT FOUND     Length: 20
<br>HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\SideBySide     SUCCESS     
<br>C:\Program Files (x86)\Common Files\microsoft shared\OFFICE12\MSO.DLL     SUCCESS     Desired Access: Generic Read, Disposition: Open, Options: Synchronous IO Non-Alert, Non-Directory File, Attributes: n/a, ShareMode: Read, Delete, AllocationSize: n/a, OpenResult: Opened
<br>C:\Program Files (x86)\Common Files\Microsoft Shared\OFFICE12\MSO.DLL     SUCCESS     Type: QueryBasicInformationFile, CreationTime: 9/17/2010 10:50:22 AM, LastAccessTime: 11/10/2010 5:47:02 PM, LastWriteTime: 9/17/2010 10:50:22 AM, ChangeTime: 2/17/2011 11:04:53 AM, FileAttributes: A
<br>C:\Program Files (x86)\Common Files\Microsoft Shared\OFFICE12\MSO.DLL     SUCCESS     
<br>C:\Program Files (x86)\Common Files\Microsoft Shared\OFFICE12\MSO.DLL     SUCCESS     
<br>
<br>
<br>//////////////////////////////////////////////////////////////////////
<br>2) Procmon.exe output when exporting doesnu2019t work, notice that it tries to open MSO.dll at the same location as in the output above but fails, it tries then to open it at several other locations and fails
<br>
<br>
<br>HKLM\Software\Wow6432Node\Microsoft\Windows\CurrentVersion     SUCCESS     Desired Access: Read
<br>HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion     SUCCESS     KeySetInformationClass: KeySetHandleTagsInformation, Length: 0
<br>HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\CommonFilesDir     SUCCESS     Type: REG_SZ, Length: 72, Data: C:\Program Files (x86)\Common Files
<br>HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion     SUCCESS     
<br>C:\Program Files (x86)\Common Files\microsoft shared\OFFICE12\MSO.DLL     FAST IO DISALLOWED     
<br>C:\Program Files (x86)\Common Files\microsoft shared\OFFICE12\MSO.DLL     SUCCESS     Desired Access: Read Attributes, Disposition: Open, Options: Open Reparse Point, Attributes: n/a, ShareMode: Read, Write, Delete, AllocationSize: n/a, OpenResult: Opened
<br>C:\Program Files (x86)\Common Files\Microsoft Shared\OFFICE12\MSO.DLL     SUCCESS     Type: QueryBasicInformationFile, CreationTime: 9/17/2010 10:50:22 AM, LastAccessTime: 11/10/2010 5:47:02 PM, LastWriteTime: 9/17/2010 10:50:22 AM, ChangeTime: 2/17/2011 11:04:53 AM, FileAttributes: A
<br>C:\Program Files (x86)\Common Files\Microsoft Shared\OFFICE12\MSO.DLL     SUCCESS     
<br>C:\Program Files (x86)\Common Files\Microsoft Shared\OFFICE12\MSO.DLL     SUCCESS     
<br>C:\Program Files (x86)\Common Files\microsoft shared\OFFICE12\MSO.DLL     SUCCESS     Desired Access: Read Data/List Directory, Execute/Traverse, Synchronize, Disposition: Open, Options: Synchronous IO Non-Alert, Non-Directory File, Attributes: n/a, ShareMode: Read, Delete, AllocationSize: n/a, OpenResult: Opened
<br>C:\Program Files (x86)\Common Files\Microsoft Shared\OFFICE12\MSO.DLL     FILE LOCKED WITH ONLY READERS     SyncType: SyncTypeCreateSection, PageProtection:
<br>C:\Program Files (x86)\Common Files\Microsoft Shared\OFFICE12\MSO.DLL     SUCCESS     
<br>C:\Program Files (x86)\Common Files\Microsoft Shared\OFFICE12\MSO.DLL     SUCCESS     
<br>C:\Program Files (x86)\Common Files\Microsoft Shared\OFFICE12\MSO.DLL     SUCCESS     
<br>C:\Program Files (x86)\Common Files\Microsoft Shared\OFFICE12\MSO.DLL     SUCCESS     SyncType: SyncTypeOther
<br>C:\Program Files (x86)\Common Files\Microsoft Shared\OFFICE12\MSO.DLL     SUCCESS     
<br>C:\Program Files (x86)\Common Files\Microsoft Shared\OFFICE12\MSO.DLL     SUCCESS     
<br>C:\Program Files (x86)\Common Files\Microsoft Shared\OFFICE12\MSO.DLL     SUCCESS     
<br>C:\Users\Paul\projects\temp\test\Debug\MSO.dll     FAST IO DISALLOWED     
<br>C:\Users\Paul\projects\temp\test\Debug\MSO.dll     NAME NOT FOUND     Desired Access: Read Attributes, Disposition: Open, Options: Open Reparse Point, Attributes: n/a, ShareMode: Read, Write, Delete, AllocationSize: n/a
<br>C:\Program Files (x86)\Microsoft Office\Office12\MSO.dll     FAST IO DISALLOWED     
<br>C:\Program Files (x86)\Microsoft Office\Office12\MSO.dll     NAME NOT FOUND     Desired Access: Read Attributes, Disposition: Open, Options: Open Reparse Point, Attributes: n/a, ShareMode: Read, Write, Delete, AllocationSize: n/a
<br>C:\Windows\SysWOW64\MSO.dll     FAST IO DISALLOWED     
<br>C:\Windows\SysWOW64\MSO.dll     NAME NOT FOUND     Desired Access: Read Attributes, Disposition: Open, Options: Open Reparse Point, Attributes: n/a, ShareMode: Read, Write, Delete, AllocationSize: n/a
<br>C:\Windows\system\MSO.dll     FAST IO DISALLOWED     
<br>C:\Windows\system\MSO.dll     NAME NOT FOUND     Desired Access: Read Attributes, Disposition: Open, Options: Open Reparse Point, Attributes: n/a, ShareMode: Read, Write, Delete, AllocationSize: n/a
<br>C:\Windows\MSO.dll     FAST IO DISALLOWED     
<br>C:\Windows\MSO.dll     NAME NOT FOUND     Desired Access: Read Attributes, Disposition: Open, Options: Open Reparse Point, Attributes: n/a, ShareMode: Read, Write, Delete, AllocationSize: n/a

I tried to run exporting code in a .net application and got the same error. I first created the COM object that causes the problem and then ran exporting CR functions. It works fine if I run the code without creating the COM object.
Below is the code I used.
            Type objClassType = Type.GetTypeFromProgID("ebms.main");
            object objMain = Activator.CreateInstance(objClassType);
            try
                object[] p = new object[4];
                p[0] = "C:\\ebms\\co1";
                p[1] = "C:\\ebms\\co1";
                p[2] = "Administrator";
                p[3] = "";
                objClassType.InvokeMember("LoginToCompany", System.Reflection.BindingFlags.InvokeMethod, null, objMain, p);
            catch (Exception ex)
            this.RPTDoc = new ReportDocument();
            this.RPTDoc.Load(@"C:\\Users\\Paul\\Desktop\\AR Customer List.rpt");
            PdfRtfWordFormatOptions pdfOpts = ExportOptions.CreatePdfRtfWordFormatOptions();
            MicrosoftMailDestinationOptions mailOpts = ExportOptions.CreateMicrosoftMailDestinationOptions();
            ExportOptions exportOpts = new ExportOptions();
            pdfOpts.UsePageRange = false;
            exportOpts.ExportFormatOptions = pdfOpts;
            mailOpts.MailMessage = "something";
            mailOpts.MailSubject = "something";
            mailOpts.MailToList = "emailaddress";
            exportOpts.ExportDestinationOptions = mailOpts;
            exportOpts.ExportDestinationType = ExportDestinationType.MicrosoftMail;
            exportOpts.ExportFormatType = ExportFormatType.PortableDocFormat;
            try
                this.RPTDoc.Export(exportOpts);
            catch (Exception ex)
                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);

Similar Messages

  • Error when running report using SDK

    Hi, I am getting following error when I am running a report  in boxi r2 sp3 on IIS. Infoview and CMC runs fine but SDK application is not able to connect to CMS. This error does not come all the time. It happens intermittently.
    Error in RetrieveReport: Unable to connect to cluster @hisuatcluster to retrieve updated CMS member list. Logon cannot continue.
    Anyone has seen this and any way to pin point the cause. We have used -ns and -port switch in the command line of CMS and all servers.
    Thanks,

    will try that. But we would not be leveraging cluster benefit then. What happens if that particilar CMS in cluster goes down.
    Below is the logic of SDK.
    1.     Create an EnterpriseSession by calling SessionMgr.Login(the credentials we use to connect on in the web.config file).
    2.     Get a reference to the InfoStore with EnterpriseSession.GetService(u201CInfoStoreu201D)
    3.     Get a reference to the report as an InfoObject by querying the InfoStore u2013 InfoStore.Query(u201CSELECT * FROM CI_INFOOBJECTS WHERE u2026u201D)
    4.     Get a reference to the RASReportFactory u2013 EnterpriseSession.GetService(u201Cu201D, u201CRASReportFactoryu201D)
    5.     Open the report using the InfoObject (line 3) and RASReportFactory (line 4) u2013 ReportClientDoc = ReportAppFactory.OpenDocument(InfoObject.ID, 0)
    6.     Manipulate the reportu2019s connection information.
    7.     Set the vieweru2019s report source with the report (this is commented out in the current tests) u2013 CrystalReportViewer.ReportSource = ReportClientDocument
    8.     Close the session u2013 EnterpriseSession.Logoff()

  • Error when export report to PDF with a none standard Windows font

    Hi,
    I got this error when trying to export PDF under VS2008 with an special true type font in the code behind. The error says:
    ...temp_9550ab94-02fc-4362-b259-cc6de8d6c04b {32E546F5-C6A3-44FC-B8EF-D5E37A1118FA}.rpt:\nOperation not yet implemented.
    In the crystal reort under VS2008, I use a special font which is true type and it is already installed in the system, I can see the font in many other software like Word, Notepad, etc... without any problem.
    Is anyone know how to fix it? please help.
    Many thanks!!!
    Lan

    Hi Ludek,
    I trid the SP, but doesn't work. I can send the font to you, it is only 50K. If you would like to try I can send it to you, but i am not sure how i can upload the font file. I guess any none Windows standard font will have same issue, i guess.
    For now, i am going to give up and use image file instead.
    Thanks,
    Lan
    Do you know if it is well-known issue in CR?
    - No I do not.
    where i can get any SP of CR for VS2008?
    https://smpdl.sap-ag.de/~sapidp/012002523100009351512008E/crbasic2008sp1.exe
    Runtimes for SP1:
    CRRedist2008_ia64.msi
    https://smpdl.sap-ag.de/~sapidp/012002523100006255262008E/CRRedist2008_ia64.zip
    CRRedist2008_x64.msi
    https://smpdl.sap-ag.de/~sapidp/012002523100006255272008E/CRRedist2008_x64.zip
    CRRedist2008_x86.msi
    https://smpdl.sap-ag.de/~sapidp/012002523100006255282008E/CRRedist2008_x86.zip
    I would not mind testing this, but I need to know if there is a free download of this font available. I Googled the font name, but a quick search did not come up with anything.
    Alternatively, you could try CR 2008 (12.x) and see if that will do the trick for you. An Eval of CR 2008 is available here:
    http://www.sap.com/solutions/sapbusinessobjects/sme/freetrials/index.epx

  • Fatal Error when exporting Report to Excel

    Hi Everyone, I've been trying to export my report to excel.  But I have exhausted all possible reasons and I just couldn't figure it out.  Can someone please help me.  Thanks in advance.
    PROGRAM NAME :   ZADC_PAYSUMNEW
    REPORT ZADC_PAYSUMNEW
    NO STANDARD PAGE HEADING
                      LINE-SIZE 450
                      LINE-COUNT 65 MESSAGE-ID zmes.
    TABLE DECLARATION                                                   *
    TABLES: cskt,
            csks,
            pa0009,
            pcl1,
            pcl2,
            pernr,
            t512t,
            t549a,
            t527x,
            zhrprtype.
       INFOTYPES DECLARATION
    INFOTYPES: 0001, 0002.
       INCLUDE DECLARATION
    INCLUDE: rpc2rx00.
    INCLUDE: rpc2rxx0.
    INCLUDE: rpppxd00.
       INTERNAL TABLE DECLARATION
    DATA: BEGIN OF itab OCCURS 0,
            khinr LIKE csks-khinr,
            kostl LIKE p0001-kostl,
            ltext(40),
            p_date LIKE pc261-inper,
            basic(7) TYPE p DECIMALS 2,
            pera(7) TYPE p DECIMALS 2,
            longp(7) TYPE p DECIMALS 2,
            trall(6) type p decimals 2,
            srvaw(6) TYPE p DECIMALS 2,
            chall(7) TYPE p DECIMALS 2,
            leave(7) TYPE p DECIMALS 2,
            meal(7) TYPE p DECIMALS 2,
            saldf(7) TYPE p DECIMALS 2,
            sipps(7) TYPE p DECIMALS 2,
            sipgs(7) TYPE p DECIMALS 2,
            subs(7) TYPE p DECIMALS 2,
            hzard(7) TYPE p DECIMALS 2,
            lallw(7) TYPE p DECIMALS 2,
            medps(7) TYPE p DECIMALS 2,
            medgs(7) TYPE p DECIMALS 2,
            pcontps(7) TYPE p DECIMALS 2,
            pcontgs(7) TYPE p DECIMALS 2,
            pagibps(6) TYPE p DECIMALS 2,
            pagibgs(6) TYPE p DECIMALS 2,
            lwop(7) TYPE p DECIMALS 2,
            npay(7) TYPE p DECIMALS 2,
            otime(7) TYPE p DECIMALS 2,
            ec(7) TYPE p DECIMALS 2,
            fr_date like sy-datum,
            to_date like sy-datum,
          END OF itab.
    DATA: BEGIN OF jtab OCCURS 0,
            khinr LIKE csks-khinr,
            kostl LIKE p0001-kostl,
            ltext(40),
            basic(7) TYPE p DECIMALS 2,
            pera(7) TYPE p DECIMALS 2,
            longp(7) TYPE p DECIMALS 2,
            trall(6) type p decimals 2,
            srvaw(6) TYPE p DECIMALS 2,
            chall(7) TYPE p DECIMALS 2,
            leave(7) TYPE p DECIMALS 2,
            meal(7) TYPE p DECIMALS 2,
            saldf(7) TYPE p DECIMALS 2,
            sipps(7) TYPE p DECIMALS 2,
            sipgs(7) TYPE p DECIMALS 2,
            subs(7) TYPE p DECIMALS 2,
            hzard(7) TYPE p DECIMALS 2,
            lallw(7) TYPE p DECIMALS 2,
            medps(7) TYPE p DECIMALS 2,
            medgs(7) TYPE p DECIMALS 2,
            pcontps(7) TYPE p DECIMALS 2,
            pcontgs(7) TYPE p DECIMALS 2,
            pagibps(6) TYPE p DECIMALS 2,
            pagibgs(6) TYPE p DECIMALS 2,
            lwop(7) TYPE p DECIMALS 2,
            npay(7) TYPE p DECIMALS 2,
            otime(7) TYPE p DECIMALS 2,
            ec(7) TYPE p DECIMALS 2,
          END OF jtab.
    DATA: it_list TYPE STANDARD TABLE OF itab   WITH HEADER LINE.
       CONSTANTS DECLARATION
    CONSTANTS: basic  TYPE pc207-lgart VALUE '0401',
               basic2 TYPE pc207-lgart VALUE '0402',
               basic3 TYPE pc207-lgart VALUE '0403',
               PERA   TYPE pc207-lgart VALUE '3104',
               PERA2 TYPE pc207-lgart VALUE '3110',
               longp  TYPE pc207-lgart VALUE '1601',
               longp2 TYPE pc207-lgart VALUE '1603',
               trall  TYPE pc207-lgart VALUE '3109',
               srvaw TYPE pc207-lgart VALUE '2117',
               leave TYPE pc207-lgart VALUE '2118',
               chall  TYPE pc207-lgart VALUE '3105',
               chall2 TYPE pc207-lgart VALUE '3111',
               chall3 TYPE pc207-lgart VALUE '3112',
               meal   TYPE pc207-lgart VALUE '3102',
               saldf  TYPE pc207-lgart VALUE '4103',
               sipps  TYPE pc207-lgart VALUE '/090',
               sipps2 TYPE pc207-lgart VALUE '1121',
               subs   TYPE pc207-lgart VALUE '3101',
               hzard  TYPE pc207-lgart VALUE '1602',
               lallw  TYPE pc207-lgart VALUE '3103',
               medps  TYPE pc207-lgart VALUE '/313',
               medgs  TYPE pc207-lgart VALUE '/314',
               pcontps  TYPE pc207-lgart VALUE '/093',
               pcontps2 TYPE pc207-lgart VALUE '1327',
               pcontps3 TYPE pc207-lgart VALUE '1120',
               pagibps  TYPE pc207-lgart VALUE '/326',
               pagibps2 TYPE pc207-lgart VALUE '1326',
               lwop   TYPE pc207-lgart VALUE '1102',
               otime  TYPE pc207-lgart VALUE '0101',
               otime2 TYPE pc207-lgart VALUE '0102',
               otime3 TYPE pc207-lgart VALUE '0103',
               otime4 TYPE pc207-lgart VALUE '0104',
               npay   TYPE pc207-lgart VALUE '/559'.
       DATA DECLARATION
    DATA: BEGIN OF COMMON PART buffer.
    INCLUDE: rpppxd10.
    DATA: END OF COMMON PART buffer.
    *Table data containing directory to PCL2 payroll results file DATA:
    DATA: BEGIN OF rgdir OCCURS 100.
            INCLUDE STRUCTURE pc261.
    DATA: END OF rgdir.
    DATA: BEGIN OF evpdir OCCURS 100.
            INCLUDE STRUCTURE pc261.
    DATA: END OF evpdir.
    DATA: country LIKE t001p-molga,
          lname LIKE t527x-orgtx,
          filename2(128),
          p_date LIKE pc261-inper,
          w_basic  LIKE pc207-lgart,
          w_basic2 LIKE pc207-lgart,
          w_basic3 LIKE pc207-lgart,
          w_pera LIKE pc207-lgart,
          w_pera2 LIKE pc207-lgart,
          w_longp LIKE pc207-lgart,
          w_longp2 LIKE pc207-lgart,
          w_trall LIKE pc207-lgart,
          w_srvaw LIKE pc207-lgart,
          w_leave LIKE pc207-lgart,
          w_chall LIKE pc207-lgart,
          w_chall2 LIKE pc207-lgart,
          w_chall3 LIKE pc207-lgart,
          w_meal LIKE pc207-lgart,
          w_saldf LIKE pc207-lgart,
          w_sipps LIKE pc207-lgart,
          w_sipps2 LIKE pc207-lgart,
          w_subs LIKE pc207-lgart,
          w_hzard LIKE pc207-lgart,
          w_lallw LIKE pc207-lgart,
          w_medps LIKE pc207-lgart,
          w_medgs LIKE pc207-lgart,
          w_pcontps LIKE pc207-lgart,
          w_pcontps2 LIKE pc207-lgart,
          w_pcontps3 LIKE pc207-lgart,
          w_pagibps LIKE pc207-lgart,
          w_pagibps2 LIKE pc207-lgart,
          w_lwop LIKE pc207-lgart,
          w_otime LIKE pc207-lgart,
          w_otime2 LIKE pc207-lgart,
          w_otime3 LIKE pc207-lgart,
          w_otime4 LIKE pc207-lgart,
          w_npay LIKE pc207-lgart,
          tempgs(7) TYPE p DECIMALS 2,
          ctr-basic(7) TYPE p DECIMALS 2,
          ctr-pera(7) TYPE p DECIMALS 2,
          ctr-longp(7) TYPE p DECIMALS 2,
          ctr-trall(6) TYPE p DECIMALS 2,
          ctr-srvaw(6) TYPE p DECIMALS 2,
          ctr-leave(7) TYPE p DECIMALS 2,
          ctr-chall(7) TYPE p DECIMALS 2,
          ctr-meal(7) TYPE p DECIMALS 2,
          ctr-saldf(7) TYPE p DECIMALS 2,
          ctr-sipps(7) TYPE p DECIMALS 2,
          ctr-sipgs(7) TYPE p DECIMALS 2,
          ctr-subs(7) TYPE p DECIMALS 2,
          ctr-hzard(7) TYPE p DECIMALS 2,
          ctr-lallw(7) TYPE p DECIMALS 2,
          ctr-medps(7) TYPE p DECIMALS 2,
          ctr-medgs(7) TYPE p DECIMALS 2,
          ctr-pcontps(7) TYPE p DECIMALS 2,
          ctr-pcontgs(7) TYPE p DECIMALS 2,
          ctr-pagibps(6) TYPE p DECIMALS 2,
          ctr-pagibgs(6) TYPE p DECIMALS 2,
          ctr-lwop(7) TYPE p DECIMALS 2,
          ctr-otime(7) TYPE p DECIMALS 2,
          ctr-npay(7) TYPE p DECIMALS 2,
          ctr-ec(7) TYPE p DECIMALS 2.
    DATA: BEGIN OF  ph-version.
            INCLUDE STRUCTURE pc201_pay.   "XTWPH9K008656
    DATA: END OF  ph-version.
    DATA: fr_date LIKE sy-datum,
          to_date LIKE sy-datum.
       SELECT-OPTIONS and PARAMETERS
    SELECT-OPTIONS: p_status FOR rgdir-srtza DEFAULT 'A'.
    DATA: DATE1(15),
          mon(9).
       DEFINITION
    DEFINE rp-imp-c2-rx2.
      clear:
        orx-version,                       "OBJECTS_FOR_CLEAR
        rt, rt[].
      import
        ph-version to orx-version          "OBJECTS_FOR_IMPORT
        rt
      from database pcl2(ph) id rx-key using pcl2_exp_imp.
      rp-imp-rx-subrc = sy-subrc.
      if sy-subrc eq 0 and orx-version-number ne ph-version-number.
        rp-imp-rx-subrc = 8.
      endif.
    END-OF-DEFINITION.
    TYPE-POOLS: slis.
    DATA: g_repid LIKE sy-repid,
          gt_fieldcat TYPE slis_t_fieldcat_alv,
          gt_events TYPE slis_t_event,
          gt_top TYPE slis_t_listheader,
          gt_eol TYPE slis_t_listheader,
          gt_list_top_of_page TYPE slis_t_listheader,
          gt_list_end_of_list TYPE slis_t_listheader,
          gs_layout TYPE slis_layout_alv,
          d_f2code LIKE sy-ucomm              VALUE  '&ETA'.
    CONSTANTS: fn_top TYPE slis_formname VALUE 'TOP_OF_PAGE',
               fn_eol TYPE slis_formname VALUE 'END_OF_LIST'.
    DATA: it_alv_out TYPE STANDARD TABLE OF itab WITH HEADER LINE.
    INITIALIZATION.
    g_repid = sy-repid.
    PERFORM f_fieldcat_init USING gt_fieldcat[].
    PERFORM eventtab_build USING gt_events[].
       START-OF-SELECTION.
    START-OF-SELECTION.
    fr_date = to_date = pn-endda.
    fr_date+6(2) = '01'.
      SELECT SINGLE * FROM t549a
         WHERE abkrs = pnpxabkr.
      GET PERNR.
        CLEAR: itab, lname.
        PERFORM get_rt_tab.
    END-OF-SELECTION.
      PERFORM display_grid.
      INCLUDE rpppxm00.
    USING DATM
          FORM get_rt_tab                                               *
    FORM get_rt_tab.
      rp_provide_from_last p0001 space pn-begda pn-endda.
      rp_provide_from_last p0002 space pn-begda pn-endda.
      CALL FUNCTION 'CU_READ_RGDIR'
           EXPORTING
                persnr          = p0001-pernr
           IMPORTING
                molga           = country
           TABLES
                in_rgdir        = rgdir
           EXCEPTIONS
                no_record_found = 1
                OTHERS          = 2.
      IF sy-subrc = 0.
      SELECT single ltext FROM cskt
        INTO itab-ltext
        WHERE kostl = p0001-kostl
          AND datbi = '99991231'.
      SELECT SINGLE * FROM csks
        WHERE kostl = p0001-kostl
          AND kokrs = 'GSIS'
          AND datbi = '99991231'.
      IF sy-subrc = 0.
        MOVE: csks-kostl TO itab-kostl,
              csks-khinr TO itab-khinr.
      ENDIF.
        p_date = pn-paper.
      regular payroll run.
        CALL FUNCTION 'CD_EVALUATION_PERIODS'
             EXPORTING
                  bonus_date      = '00000000'
                  inper_modif     = t549a-permo
                  inper           = p_date
                  pay_type        = ' '
                  pay_ident       = ' '
             TABLES
                  rgdir           = rgdir
                  evpdir          = evpdir
             EXCEPTIONS
                  no_record_found = 1
                  OTHERS          = 2.
        IF sy-subrc = 0.
          LOOP AT evpdir WHERE srtza IN p_status and FPPER eq pn-begda+(6).
            rx-key-pernr = p0001-pernr.
            rx-key-seqno = evpdir-seqnr.
            rp-imp-c2-rx2.
            IF rp-imp-rx-subrc = 0.
              PERFORM rt_to_itab.
            ENDIF.
          ENDLOOP.
        ENDIF.
      ENDIF.
    ENDFORM.
          FORM PRINT_RX                                                 *
    FORM print_rx.
      LOOP AT rt.
        PERFORM re512t USING country rt-lgart.
      ENDLOOP.
    ENDFORM.
          FORM RE512T                                                   *
    -->  VALUE(COUNTRY_GROUPING)                                       *
    -->  VALUE(WTYPE)                                                  *
    FORM re512t USING value(country_grouping)
                      value(wtype).
      CHECK t512t-sprsl NE sy-langu
         OR t512t-molga NE country_grouping
         OR t512t-lgart NE wtype.
      SELECT SINGLE * FROM t512t
           WHERE sprsl EQ sy-langu
           AND molga EQ country_grouping
           AND lgart EQ wtype.
      IF sy-subrc NE 0.
        CLEAR t512t.
      ENDIF.
    ENDFORM.
          FORM rt_to_itab                                               *
    FORM rt_to_itab.
      MOVE: basic TO w_basic,
            basic2 TO w_basic2,
            basic3 TO w_basic3,
            pera  TO w_pera,
            pera2 TO w_pera2,
            longp TO w_longp,
            longp2 TO w_longp2,
            srvaw TO w_srvaw,
            leave TO w_leave,
            trall TO w_trall,
            chall TO w_chall,
            chall2 TO w_chall2,
            chall3 TO w_chall3,
            meal  TO w_meal,
            saldf TO w_saldf,
            sipps TO w_sipps,
            sipps2 TO w_sipps2,
            subs  TO w_subs,
            hzard TO w_hzard,
            lallw TO w_lallw,
            medps TO w_medps,
            medgs TO w_medgs,
            pcontps TO w_pcontps,
            pcontps2 TO w_pcontps2,
            pcontps3 TO w_pcontps3,
            pagibps TO w_pagibps,
            pagibps2 TO w_pagibps2,
            LWOP  TO w_lwop,
            otime TO w_otime,
            otime2 TO w_otime2,
            otime3 TO w_otime3,
            otime4 TO w_otime4,
            npay  TO w_npay.
      LOOP AT rt WHERE lgart = w_basic or lgart = w_basic2
                                        or lgart = w_basic3.
        IF rt-betrg < 0.
          rt-betrg = abs( rt-betrg ).
        ENDIF.
        ADD: rt-betrg TO itab-basic.
        itab-ec = rt-betrg / 100.
        if itab-ec > 100.
            itab-ec = 100.
        ENDIF.
      ENDLOOP.
      LOOP AT rt WHERE lgart = w_pera.
        IF rt-betrg < 0.
          rt-betrg = abs( rt-betrg ).
        ENDIF.
        ADD: rt-betrg TO itab-pera.
      ENDLOOP.
      LOOP AT rt WHERE lgart = w_pera2.
        IF rt-betrg < 0.
          rt-betrg = abs( rt-betrg ).
        ENDIF.
        ADD: rt-betrg TO itab-pera.
      ENDLOOP.
      LOOP AT rt WHERE lgart = w_longp or lgart = w_longp2.
        IF rt-betrg < 0.
          rt-betrg = abs( rt-betrg ).
        ENDIF.
        ADD: rt-betrg TO itab-longp.
      ENDLOOP.
      LOOP AT rt WHERE lgart = w_trall.
        if rt-betrg < 0.
          rt-betrg = abs( rt-betrg ).
        endif.
        ADD: rt-betrg TO itab-trall.
      ENDLOOP.
      LOOP AT rt WHERE lgart = w_srvaw.
        IF rt-betrg < 0.
          rt-betrg = abs( rt-betrg ).
        ENDIF.
        ADD: rt-betrg TO itab-srvaw.
      ENDLOOP.
      LOOP AT rt WHERE lgart = w_leave.
        IF rt-betrg < 0.
          rt-betrg = abs( rt-betrg ).
        ENDIF.
        ADD: rt-betrg TO itab-leave.
      ENDLOOP.
      LOOP AT rt WHERE lgart = w_chall or
                       lgart = w_chall2 or
                       lgart = w_chall3.
        IF rt-betrg < 0.
          rt-betrg = abs( rt-betrg ).
        ENDIF.
        ADD: rt-betrg TO itab-chall.
      ENDLOOP.
      LOOP AT rt WHERE lgart = w_meal.
        IF rt-betrg < 0.
          rt-betrg = abs( rt-betrg ).
        ENDIF.
        ADD: rt-betrg TO itab-meal.
      ENDLOOP.
      LOOP AT rt WHERE lgart = w_saldf.
        IF rt-betrg < 0.
          rt-betrg = abs( rt-betrg ).
        ENDIF.
        ADD: rt-betrg TO itab-saldf.
      ENDLOOP.
      LOOP AT rt WHERE lgart = w_sipps or
                       lgart = w_sipps2.
        IF rt-betrg < 0.
          rt-betrg = abs( rt-betrg ).
        ENDIF.
        ADD: rt-betrg TO itab-sipps.
        itab-sipgs = itab-sipps / 9 * 12.
      ENDLOOP.
      LOOP AT rt WHERE lgart = w_subs.
        IF rt-betrg < 0.
          rt-betrg = abs( rt-betrg ).
        ENDIF.
        ADD: rt-betrg TO itab-subs.
      ENDLOOP.
      LOOP AT rt WHERE lgart = w_hzard.
        IF rt-betrg < 0.
          rt-betrg = abs( rt-betrg ).
        ENDIF.
        ADD: rt-betrg TO itab-hzard.
      ENDLOOP.
      LOOP AT rt WHERE lgart = w_lallw.
        IF rt-betrg < 0.
          rt-betrg = abs( rt-betrg ).
        ENDIF.
        ADD: rt-betrg TO itab-lallw.
      ENDLOOP.
      LOOP AT rt WHERE lgart = w_medps.
        IF rt-betrg < 0.
          rt-betrg = abs( rt-betrg ).
        ENDIF.
        ADD: rt-betrg TO itab-medps.
      ENDLOOP.
      LOOP AT rt WHERE lgart = w_medgs.
          IF rt-betrg < 0.
            rt-betrg = abs( rt-betrg ).
          ENDIF.
          MOVE: rt-betrg TO tempgs.
          itab-medgs = itab-medps.
      ENDLOOP.
      LOOP AT rt WHERE lgart = w_pcontps OR
                       lgart = w_pcontps2 OR
                       lgart = w_pcontps3.
        IF rt-betrg < 0.
          rt-betrg = abs( rt-betrg ).
        ENDIF.
        ADD: rt-betrg TO itab-pcontps.
      ENDLOOP.
      itab-pcontgs = itab-pcontps * 9.
      LOOP AT rt WHERE lgart = w_pagibps OR
                       lgart = w_pagibps2.
        IF rt-betrg < 0.
          rt-betrg = abs( rt-betrg ).
        ENDIF.
        ADD: rt-betrg TO itab-pagibps.
      ENDLOOP.
      LOOP AT rt WHERE lgart = w_pagibps.
        IF rt-betrg < 0.
          rt-betrg = abs( rt-betrg ).
        ENDIF.
        ADD: rt-betrg TO itab-pagibgs.
      ENDLOOP.
      LOOP AT rt WHERE lgart = w_lwop.
        IF rt-betrg < 0.
          rt-betrg = abs( rt-betrg ).
        ENDIF.
        ADD: rt-betrg TO itab-lwop.
      ENDLOOP.
      LOOP AT rt WHERE lgart = w_otime or
                       lgart = w_otime2 or
                       lgart = w_otime3 or
                       lgart = w_otime4.
        IF rt-betrg < 0.
          rt-betrg = abs( rt-betrg ).
        ENDIF.
        ADD: rt-betrg TO itab-otime.
      ENDLOOP.
      LOOP AT rt WHERE lgart = w_npay.
        IF rt-betrg < 0.
          rt-betrg = abs( rt-betrg ).
        ENDIF.
        ADD: rt-betrg TO itab-npay.
      ENDLOOP.
      COLLECT itab.
      CLEAR: itab.
      REFRESH rt.
    ENDFORM.                               " rt_to_itab
    *&      Form  f_fieldcat_init
          text
         -->P_GT_FIELDCAT[]  text
    FORM f_fieldcat_init USING rt_fieldcat TYPE slis_t_fieldcat_alv.
      DATA: ls_fieldcat TYPE slis_fieldcat_alv.
      CLEAR ls_fieldcat.
      ls_fieldcat-col_pos         =   1.
      ls_fieldcat-reptext_ddic    =  ' FXNAL Group'.
      ls_fieldcat-fieldname       =  'KHINR'.
      ls_fieldcat-ref_tabname     =  'ITAB'.
      ls_fieldcat-outputlen       =  12.
      APPEND ls_fieldcat TO rt_fieldcat.
      CLEAR ls_fieldcat.
      ls_fieldcat-col_pos         =   2.
      ls_fieldcat-reptext_ddic    =  ' OFFICE'.
      ls_fieldcat-fieldname       =  'LTEXT'.
      ls_fieldcat-ref_tabname     =  'ITAB'.
      ls_fieldcat-outputlen       =  40.
      APPEND ls_fieldcat TO rt_fieldcat.
      CLEAR ls_fieldcat.
      ls_fieldcat-col_pos         =   3.
      ls_fieldcat-reptext_ddic    =  ' RC #'.
      ls_fieldcat-fieldname       =  'KOSTL'.
      ls_fieldcat-ref_tabname     =  'ITAB'.
      ls_fieldcat-outputlen       =  5.
      APPEND ls_fieldcat TO rt_fieldcat.
      CLEAR ls_fieldcat.
      ls_fieldcat-col_pos           =   4.
      ls_fieldcat-reptext_ddic      =  'Basic Salary'.
      ls_fieldcat-tabname           =  'ITAB'.
      ls_fieldcat-fieldname         =  'BASIC'.
      ls_fieldcat-datatype          = 'CURR'.
      ls_fieldcat-outputlen       =  15.
      APPEND ls_fieldcat TO rt_fieldcat.
      CLEAR ls_fieldcat.
      ls_fieldcat-col_pos         =   5.
      ls_fieldcat-reptext_ddic      =  'PERA Allow'.
      ls_fieldcat-tabname           =  'ITAB'.
      ls_fieldcat-fieldname         =  'PERA'.
      ls_fieldcat-datatype          =  'CURR'.
      ls_fieldcat-outputlen       =  15.
      APPEND ls_fieldcat TO rt_fieldcat.
      CLEAR ls_fieldcat.
      ls_fieldcat-col_pos         =   6.
      ls_fieldcat-reptext_ddic    =  'Longevity Pay'.
      ls_fieldcat-tabname         =  'ITAB'.
      ls_fieldcat-fieldname       =  'LONGP'.
      ls_fieldcat-datatype        = 'CURR'.
      ls_fieldcat-outputlen       =  15.
      APPEND ls_fieldcat TO rt_fieldcat.
      CLEAR ls_fieldcat.
      ls_fieldcat-col_pos         =   7.
      ls_fieldcat-reptext_ddic    =  'Service Award'.
      ls_fieldcat-tabname         =  'ITAB'.
      ls_fieldcat-fieldname       =  'SRVAW'.
      ls_fieldcat-datatype        = 'CURR'.
      ls_fieldcat-outputlen       =  15.
      APPEND ls_fieldcat TO rt_fieldcat.
      CLEAR ls_fieldcat.
      ls_fieldcat-col_pos         =   8.
      ls_fieldcat-reptext_ddic    =  'Child Allowance'.
      ls_fieldcat-tabname         =  'ITAB'.
      ls_fieldcat-fieldname       =  'CHALL'.
      ls_fieldcat-datatype        = 'CURR'.
      ls_fieldcat-outputlen       =  15.
      APPEND ls_fieldcat TO rt_fieldcat.
      CLEAR ls_fieldcat.
      ls_fieldcat-col_pos         =   9.
      ls_fieldcat-reptext_ddic    =  'Leave Mone'.
      ls_fieldcat-tabname         =  'ITAB'.
      ls_fieldcat-fieldname       =  'LEAVE'.
      ls_fieldcat-datatype        = 'CURR'.
      ls_fieldcat-outputlen       =  15.
      APPEND ls_fieldcat TO rt_fieldcat.
      CLEAR ls_fieldcat.
      ls_fieldcat-col_pos         =   10.
      ls_fieldcat-reptext_ddic    =  'Over-time'.
      ls_fieldcat-tabname         =  'ITAB'.
      ls_fieldcat-fieldname       =  'OTIME'.
      ls_fieldcat-datatype        =  'CURR'.
      ls_fieldcat-outputlen       =  15.
      APPEND ls_fieldcat TO rt_fieldcat.
      CLEAR ls_fieldcat.
      ls_fieldcat-col_pos         =   11.
      ls_fieldcat-reptext_ddic    =  'Meal Subsidy'.
      ls_fieldcat-tabname         =  'ITAB'.
      ls_fieldcat-fieldname       =  'MEAL'.
      ls_fieldcat-datatype        =  'CURR'.
      ls_fieldcat-outputlen       =  15.
      APPEND ls_fieldcat TO rt_fieldcat.
      CLEAR ls_fieldcat.
      ls_fieldcat-col_pos         =   12.
      ls_fieldcat-reptext_ddic    =  'Salary Diff.'.
      ls_fieldcat-tabname         =  'ITAB'.
      ls_fieldcat-fieldname       =  'SALDF'.
      ls_fieldcat-datatype        =  'CURR'.
      ls_fieldcat-outputlen       =  15.
      APPEND ls_fieldcat TO rt_fieldcat.
      CLEAR ls_fieldcat.
      ls_fieldcat-col_pos         =   13.
      ls_fieldcat-reptext_ddic    =  'Subsistence'.
      ls_fieldcat-tabname         =  'ITAB'.
      ls_fieldcat-fieldname       =  'SUBS'.
      ls_fieldcat-datatype        =  'CURR'.
      ls_fieldcat-outputlen       =  15.
      APPEND ls_fieldcat TO rt_fieldcat.
      CLEAR ls_fieldcat.
      ls_fieldcat-col_pos         =   14.
      ls_fieldcat-reptext_ddic    =  'Hazard Pay'.
      ls_fieldcat-tabname         =  'ITAB'.
      ls_fieldcat-fieldname       =  'HZARD'.
      ls_fieldcat-datatype        =  'CURR'.
      ls_fieldcat-outputlen       =  15.
      APPEND ls_fieldcat TO rt_fieldcat.
      CLEAR ls_fieldcat.
      ls_fieldcat-col_pos         =   15.
      ls_fieldcat-reptext_ddic    =  'Laundry Allow'.
      ls_fieldcat-tabname         =  'ITAB'.
      ls_fieldcat-fieldname       =  'LALLW'.
      ls_fieldcat-datatype        =  'CURR'.
      ls_fieldcat-outputlen       =  15.
      APPEND ls_fieldcat TO rt_fieldcat.
    ENDFORM.                    " f_fieldcat_init
    *&      Form  display_grid
          text
    -->  p1        text
    <--  p2        text
    FORM display_grid.
      SORT itab BY kostl khinr.
      LOOP AT itab.
        AT NEW khinr.
          MOVE-CORRESPONDING itab TO jtab.
          APPEND jtab.
        ENDAT.
      ENDLOOP.
      PERFORM my_top USING gt_top[].
      PERFORM build_layout USING gs_layout.
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
          i_callback_program = g_repid
          is_layout          = gs_layout
          it_fieldcat        = gt_fieldcat[]
          it_events          = gt_events[]
        TABLES
          t_outtab           = itab.
    ENDFORM.                    " display_grid
    *&      Form  eventtab_build
          text
         -->P_GT_EVENTS[]  text
    FORM EVENTTAB_BUILD USING my_events TYPE SLIS_T_EVENT.
      DATA: ls_event TYPE slis_alv_event.
      CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
           EXPORTING
                i_list_type = 1
           IMPORTING
                et_events   = my_events.
    *TOP OF PAGE
      READ TABLE my_events
           WITH KEY NAME = slis_ev_top_of_page
           INTO LS_EVENT.
      IF SY-SUBRC = 0.
        MOVE fn_top TO ls_event-form.
        APPEND ls_event TO my_events.
      ENDIF.
      CLEAR ls_event.
    *END OF LIST
      READ TABLE my_events
            WITH KEY name = slis_ev_end_of_list
            INTO ls_event.
      IF sy-subrc = 0.
        MOVE   fn_eol TO ls_event-form.
        APPEND ls_event TO my_events.
      ENDIF. " SY-SUBRC for READ TABLE
    ENDFORM.                    " eventtab_build
    *&      Form  top_comment
          text
         -->P_MYTOP[]  text
    FORM top_comment USING my_top_of_page TYPE slis_t_listheader.
      DATA: it_t247 LIKE t247 OCCURS 0 WITH HEADER LINE.
      DATA: ls_line     TYPE slis_listheader,
            li_recs     TYPE i,
            lc_name(60) TYPE c,
            lc_from(30) TYPE c,
            lc_to(30) TYPE c.
      CALL FUNCTION 'MONTH_NAMES_GET'
           TABLES
                month_names = it_t247.
    Company Name
      CLEAR ls_line.
      ls_line-typ  = 'H'.
      ls_line-info = TEXT-001.
      APPEND ls_line TO my_top_of_page.
      CLEAR ls_line.
      ls_line-typ  = 'S'.
      ls_line-info  = TEXT-002.
      APPEND ls_line TO my_top_of_page.
    Date
      CLEAR lc_name.
      CONCATENATE sy-datum+6(2) ',' INTO lc_name.
      READ TABLE it_t247 WITH KEY mnr = sy-datum+4(2).
      CONCATENATE text-003 it_t247-ltx lc_name sy-datum(4)
             INTO lc_name SEPARATED BY space.
      CLEAR ls_line.
      ls_line-typ  = 'H'.
      ls_line-info = lc_name.
      APPEND ls_line TO my_top_of_page.
    ENDFORM.                    " top_comment
    *&      Form  build_layout
          text
         -->P_GS_LAYOUT  text
    FORM build_layout USING my_layout TYPE slis_layout_alv.
      my_layout-f2code              = d_f2code.
      my_layout-reprep              = 'X'.
      my_layout-confirmation_prompt = 'X'.
      my_layout-flexible_key        = 'X'.
    ENDFORM.                    " build_layout
    *&      Form  TOP_OF_PAGE
          Writes comments on top of page
    FORM top_of_page.
      DATA: ls_line     TYPE slis_listheader,
            lc_name(60) TYPE c.
      IF sy-ucomm = '&RNT_PREV'.
        READ TABLE gt_top INTO ls_line INDEX 2.
        lc_name = ls_line-info.
        WRITE 'Page:' TO lc_name+45(5).
        WRITE sy-pagno TO lc_name+52(5).
        ls_line-typ  = 'H'.
        ls_line-info = lc_name.
        MODIFY  gt_top FROM ls_line INDEX 2.
      ENDIF.
      CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
           EXPORTING
                it_list_commentary = gt_top.
    ENDFORM. " TOP_OF_PAGE
    *&      Form  my_top
          text
         -->P_GT_TOP[]  text
    FORM my_top USING top TYPE slis_t_listheader.
      DATA: it_t247 LIKE t247 OCCURS 0 WITH HEADER LINE.
      DATA: ls_line     TYPE slis_listheader,
            li_recs     TYPE i,
            lc_name(60) TYPE c,
            lc_from(30) TYPE c,
            lc_to(30) TYPE c.
      CALL FUNCTION 'MONTH_NAMES_GET'
           TABLES
                month_names = it_t247.
    Company Name
      CLEAR lc_name.
      WRITE text-001 TO lc_name.
      CLEAR ls_line.
      ls_line-typ  = 'H'.
      ls_line-info = lc_name.
      APPEND ls_line TO top.
    **Report Name
      CLEAR lc_name.
      WRITE text-002 TO lc_name.
      CLEAR ls_line.
      ls_line-typ  = 'H'.
      ls_line-info = lc_name.
      APPEND ls_line TO top.
    Range of date
      CLEAR lc_name.
      lc_name = p_date+4(2).
      READ TABLE it_t247 WITH KEY mnr = p_date+4(2).
      CONCATENATE: text-003 it_t247-ltx sy-datum(4)
                   INTO lc_name SEPARATED BY SPACE.
      ls_line-typ = 'H'.
      ls_line-info = lc_name.
      APPEND ls_line TO top.
    ENDFORM.                    " my_top
    *&      Form  END_OF_LIST
          Writes signature line at end of list
    FORM end_of_list.
      IF sy-ucomm = '&RNT_PREV' OR sy-ucomm = 'AUSW'.
        REFRESH gt_eol.
        PERFORM my_eol USING gt_eol[].
      ELSE.
        REFRESH gt_eol.
      ENDIF.
      CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
           EXPORTING
                it_list_commentary = gt_eol
                i_end_of_list_grid = 'X'.
    ENDFORM. " END_OF_LIST
    *&      Form  my_eol
          text
         -->P_GT_EOL[]  text
    FORM my_eol USING eol TYPE slis_t_listheader.
      DATA: ls_line     TYPE slis_listheader,
            lc_name(60) TYPE c.
    Signature Line
      CLEAR lc_name.
      lc_name = '.'.
      ls_line-typ  = 'H'.
      ls_line-info = lc_name.
      APPEND ls_line TO eol.
      CLEAR lc_name.
      ls_line-typ  = 'H'.
      ls_line-info = lc_name.
      APPEND ls_line TO eol.
      CLEAR ls_line.
      ls_line-typ  = 'H'.
      WRITE 'Submitted By:' TO lc_name(28).
      WRITE 'Noted By:' TO lc_name+30(28).
      ls_line-info = lc_name.
      APPEND ls_line TO eol.
      CLEAR: lc_name, ls_line-key.
      lc_name = '.'.
      ls_line-typ  = 'H'.
      ls_line-info = lc_name.
      APPEND ls_line TO eol.
      CLEAR lc_name.   CLEAR ls_line.
      WRITE sy-uline(28) TO lc_name(28).
      WRITE sy-uline(28) TO lc_name+30(28).
      ls_line-typ  = 'H'.
      ls_line-info = lc_name.
      APPEND ls_line TO eol.
    ENDFORM.                    " my_eol

    1.U are not getting the data into Excel when u client Excel Buttton from the ALV display ?
    2.if yes then u will get one message stating that templet is Missing like this ?
    Regards
    prabhu

  • In aperture 3.4.5, I get unsupported file error when exporting version of photo I've edited using plugins?

    In aperture 3.4.5, I get unsupported file error when exporting version of photo I've edited using plugins. I have try reinstalling aperture three times, deleting plists a few times, reinstalling plugins, restarting my MacBook Pro many times. Everything I've tried may fix the problem for a very short while and I can export a few photos before it returns. The problem happens with topaz and photomatrix pro plugins after I edited and try to export version.

    I had the same problem with the Photomatix plug-in and this solved it for me. I realised it only happened with Photomatix and not other plug-ins so I checked where the plug-ins were installed. The Photomatix plug-in was installed in
    ~/Library/Application Support/Aperture/Plug-Ins/
    where ~ is the home location for the current user account. All the other plug-ins however were installed in
    Macintosh HD/Library/Application Support/Aperture/Plug-Ins/
    which is the location that makes them available to all user accounts on your Mac. Moving the Photomatix plug-in to this location solved the problem for me.
    Note that the Library directory under the first location is normally hidden, to get to it hold down the Option (Alt) key and select it from the Finder Go menu.

  • Error when exporting to flat file in ODI 11g

    This works ok in ODI 10g. I'm using IKM SQL to File Append on Windows Server 2008 R2
    Getting the following error when exporting to a flat file in ODI 11g: ODI-40406: Bytes are too big for array
    I've seen a couple of threads like this on the forum, but I've never seen an answer to the problem.

    Problem is with the difference in behaviour for the IKM SQL to File Append KM between 10g and 11g.
    Our 10g target file datastore had a mixture of fixed string and numeric columns. Mapping from the source to target was simple one to one column mapping. It generated the desired fixed format flat file; numerics were right adjusted with embedded decimal point and leading spaces. Each numeric column in the generated flat file occupied the exact space allocated to it in the layout. This gave the desired results, even though documentation for the 10g IKM states that all columns in the target must be string.
    When we converted to 11g and tried to run this interface, it generated an error on the "numeric" columns because it was wrapping them in quotation marks. The result column was being treated as string, and it was larger than the defined target once it acquired those quotation marks.
    In order to get 11g to work, I had to change all the numeric columns in the target data store to fixedstring 30. I then had to change the mapping for these numeric columns to convert them to right adjusted character strings (i.e. RIGHT(SPACE(30) + RTRIM(MyNumericColumn),30).
    Now it works.

  • SSRS XML Errors when exporting to .xlsx from Dynamics NAV Database

    We use Dynamics NAV for our ERP and have many SSRS reports.  We get xml Errors when exporting to Excel .xlsx.  I've seen this happen since SQL 2008 R2 and have posted in many places trying to find an answer, but was hoping MS would solve the
    issue.  The numeric data types in the Dynamics NAV database are all decimal(38,20) and when the value is zero the Excel renderer throws the errors. 
    We now have over 400 reports and we export them to Excel 2003 format. I'm starting to feel like this is my new Y2K issue when Excel 2003 is set to sunset.  I'm fearing that I'll have to do conversions on all numeric data types for all reports. 
    Both of these are Microsoft products so I'm wondering is this even on their radar.
    We're running SQL Server 2012 SP2, and just rolled out CRM 2015 on SQL Server 2014.  I get the errors in SSRS 2008R2, 2012, and 2014.  Has anyone seen this before?   
    Timothy Kruse

    Hi Skywalker73,
    According to your description, when you export the report to Excel, the error “Excel was able to open the file by repairing or removing the unreadable content.” throws out when opening the Excel file.
    Based on my research, it has reported the same issue when exporting to Excel. The issue could cause by numeric columns has  a precision of 16 or higher. To fix the issue, we could change data type in the table to a support lower precision, or convert
    the numbers in the stored procedure that populates the report. For more information, please refer to this article:
    SSRS 2012 Bug – “Excel found unreadable content”. Besides, please refer to this
    article to check if non-printing characters exist in the report.
    If you have any question, please feel free to ask.
    Best regards,
    Qiuyun Yu
    Qiuyun Yu
    TechNet Community Support

  • Help me, I have a problem with font when export report to PDF?

    Hi everyone! Help me
    I have a problem with font when export report to PDF
    My report uses template .rtf with font Times New Roman (Unicode), language is VietNamese.
    when desige template no problem, error only happen when view report by PDF.
    Edited by: user10236405 on Oct 15, 2008 11:23 PM

    give it time to boot. the time depends on yr memory size n data. soon a process bar will appear indicating the boot process. if still this doesnt work. try formating the phone. but this ways u lose all data on the phone (unless u backed it). relax! the data on the memory card is safe.

  • Float4() causes "error saving Pixel Bender Byte Code file" error when exporting for flash player

    Simple test
    <languageVersion : 1.0;>
    kernel untitled
    <   namespace : "Your Namespace";
        vendor : "Your Vendor";
        version : 1;
    >
        input image4 src;
        output pixel4 dst;
        void
        evaluatePixel()
            dst = float4(sampleNearest(src, outCoord()));
    The above code will produce a "error saving Pixel Bender Byte Code file" error when exporting for flash player in Pixel Bender Toolkit 2.5.449694.
    "dst = (sampleNearest(src, outCoord()));" works fine. And anything like "float4 a= float4(b);" will give same error.

    Thank you for the error report.  I'll put it into our bug database.  We're bottling things up for the current version.  Gven the workaround, it is unlikely we'll be addressing this bug soon.  Please accept my apologies for the annoyance this will cause.
    In your second example, float4 a = float4(b), does it return an error if b is only a float4 or regardless of what b is?  If b is a scalar float, for example, is the conversion performed correctly? If so, this could be an error that only crops up when using constructor/conversion syntax when the thing being converted is already the correct type.
    Thanks,
    Chuck.

  • Error while Exporting report

    hi,
      i get an error when exporting my report. below is the stacktrace of it. please help me to sort it out.
    This happens only when i export the report as editable word...
    JRCAgent21 detected an exception: java.lang.NullPointerException
         at com.crystaldecisions.reports.formatter.formatter.e.m.if(Unknown Source)
         at com.crystaldecisions.reports.formatter.formatter.objectformatter.cd.do(Unknown Source)
         at com.crystaldecisions.reports.formatter.formatter.objectformatter.b3.do(Unknown Source)
         at com.crystaldecisions.reports.formatter.formatter.objectformatter.ak.do(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.aB(Unknown Source)
         at com.businessobjects.reports.sdk.b.b.byte(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.getPage(Unknown Source)
         at com.crystaldecisions.sdk.occa.report.application.AdvancedReportSource.getPage(Unknown Source)
         at com.crystaldecisions.sdk.occa.report.application.NonDCPAdvancedReportSource.getPage(Unknown Source)
         at com.crystaldecisions.reports.reportengineinterface.JPEReportSource.getPage(Unknown Source)
         at com.crystaldecisions.report.web.event.ac.a(Unknown Source)
         at com.crystaldecisions.report.web.event.ac.a(Unknown Source)
         at com.crystaldecisions.report.web.event.b2.a(Unknown Source)
         at com.crystaldecisions.report.web.event.b7.broadcast(Unknown Source)
         at com.crystaldecisions.report.web.event.av.a(Unknown Source)
         at com.crystaldecisions.report.web.WorkflowController.do(Unknown Source)
         at com.crystaldecisions.report.web.WorkflowController.doLifecycle(Unknown Source)
         at com.crystaldecisions.report.web.ServerControl.a(Unknown Source)
         at com.crystaldecisions.report.web.ServerControl.processHttpRequest(Unknown Source)
         at com.dnb.asip.report.viewer.ReportViewerTag.doEndTag(ReportViewerTag.java:92)
         at org.apache.jsp.Reports.JSP.VIPReport_jsp._jspService(VIPReport_jsp.java:251)
         at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
         at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
         at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
         at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
         at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
         at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
         at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
         at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
         at java.lang.Thread.run(Thread.java:534)
    regards,
    prem

    To find out what version of Eclipse you have, open the .eclipseproduct file.
    To find out what version of the JRC you are on, you can look at the <eclipse home>\plugins\com.businessobjects.sdks.jrc.11.8.x to see what your latest version is.
    This stack trace on it's own doesn't indicate why you are having a problem.  It could be a problem with something in the report.... or it could be something wrong in the code.  To ensure your code is correct, you should verify it against the sample code in the Developer Library and the JRC sample downloads.
    Does the file get exported even though you have the error or is there no file or a zero byte file?

  • Error when sending report output to printer from Forms 10g

    Hi,
    I have a simple report that I am running from a form using run_report_object built-in. I can successfully send the report output to a file but when I send the report output to a printer my report is
    terminated with report status of 'TERMINATED_WITH_ERROR'. I am using the default forms service and reports server that comes with the forms builder. How do I specify the reports server to user my default network printer ?Following is the code that runs my report.
    Thanks,
    Anna
    PROCEDURE SEND_TO_PRINTER IS
    repid REPORT_OBJECT;
    v_rep VARCHAR2(100);
    rep_status VARCHAR2(50);
    rep_server system_variables.reports_server%type;
    alldone          exception;
    BEGIN
         select reports_server
         into rep_server
         from system_variables;
         if rep_server is null then
              msg_alert('Error getting the reports server name', 'I', FALSE);                
              raise alldone;
         end if;
         :ctrl.run_report_errors := 'N';                    
         repid := find_report_object('REP_OBJ1');
         SET_REPORT_OBJECT_PROPERTY(repid,REPORT_SERVER,rep_server);
         SET_REPORT_OBJECT_PROPERTY(repid,REPORT_EXECUTION_MODE,BATCH);
         SET_REPORT_OBJECT_PROPERTY(repid,REPORT_COMM_MODE,SYNCHRONOUS);
         IF :ctrl.rg_print = 'P' THEN
              --Send the output to printer.
              SET_REPORT_OBJECT_PROPERTY(repid,REPORT_DESTYPE,PRINTER);
              SET_REPORT_OBJECT_PROPERTY(repid,REPORT_DESFORMAT,'dflt');
         ELSIF :ctrl.rg_print = 'R' THEN
              --Rich Text Format
              SET_REPORT_OBJECT_PROPERTY(repid,REPORT_DESTYPE,FILE);
              SET_REPORT_OBJECT_PROPERTY(repid,REPORT_DESFORMAT,'rtf');
              SET_REPORT_OBJECT_PROPERTY(repid,REPORT_DESNAME,:ctrl.filename);
         END IF;
         v_rep := RUN_REPORT_OBJECT(repid);
         rep_status := REPORT_OBJECT_STATUS(v_rep);
         WHILE rep_status in ('RUNNING','OPENING_REPORT','ENQUEUED')
         LOOP
              rep_status := report_object_status(v_rep);
         END LOOP;
         IF rep_status = 'FINISHED' THEN
              null;
         ELSE
              :ctrl.run_report_errors := 'Y';
              msg_alert('Error when running report.' || rep_status, 'I', FALSE);           
         END IF;
    EXCEPTION
         when no_data_found then
              msg_alert('Error getting the reports server name', 'I', FALSE);      
         when alldone then
              null;     
    END;

    If you use Windows the user that runs the reports server is usually LocalSystem. Check this in the Windows Services panel.
    LocalSystem has no printer access. To be able to print, you have to use a real domain user that has access to the printer. So, change the Log on properties in the Services panel.

  • 'file could not be written due to an error' when exporting jpg

    I'm working with an Illustrator file in CS2 and after a certain point it has started saying 'the file could not be written due to an error' when exporting to a jpg.
    i've tried a couple things like deleting layers and although the file is much smaller, it still says the same error when exporting.
    at its highest it was 130mb as an illustrator file and jpgs were 2-5mb.
    i''ve tried copying some of the layers into a new file but the error report still comes when i'm exporting.
    i have vector and raster based data in the file and tried turning off/deleting either of the layers and there is no difference.
    i don't understand why it's started doing this because before it had no problem at all exporting before.
    ANY IDEAS ANYONE?  I'm trying not to have to reproduce days of work to remake the file.
    many thanks,
    P

    Mylenium,
    Sounds like you know a good deal about this product.  Is there any way to restore a color profile/setting to an earlier point?
    I don't recall changing it and to tell you the truth, wouldn't be able to say which it may have been set to before - if different.
    Thanks,
    Paul

  • Error when linking report to stored procedure defined with one input parm

    Error when linking report to stored procedure defined with one input parameter
    The report will work ok, when the parameter is removed from the stpred procedure
    An unhandled win32 exception occurred in crw32.exe[4480]
    Stored Proc (sql server 2005)
    USE [Allegro]
    GO
    /****** Object:  StoredProcedure [dbo].[SP_Test]    Script Date: 07/08/2009 10:42:14 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    ALTER procedure [dbo].[SP_Test](@valuationmode VARCHAR(55)) as
    Begin
    select
         valuation,
         valuationtime,
         valuationmode
    from valuation
    where valuationmode = @valuationmode;
    End;

    This is an example of a stored procedure that is trying to be linked to a new report as the only datasource.
    If I remove the parameter I can create a report, however this will return all of the results of thw query to the report, rather than the desired results. If I add the parameter on the Crystal Report, the stored procedure then has to return all of the results to Crystal and then perform the filtering of records. By using a parameter in the stored procedure, you should be able to do all of the filtering as part of the query on the databse server, making this more efficient.

  • Error when export application from navigator bar

    hello, i had this error when export one application.
    Error: ORA-06502: PL/SQL: numeric or value error (WWV-11230)
    Unexpected error encountered: ORA-06502: PL/SQL: numeric or value error (WWV-15200)

    Which version of portal you are using?
    And what is the language installed ?

  • Unknown error when exporting 32-bit 5.1 wav audio

    I get the ever useful "Unknown error" when exporting the audio from Premiere Pro CS6 to a 32-bit, 5.1 channel uncompressed WAV file most of the time. I was able to get it to work just fine by pasting the audio to a new project, but that isn't working anymore. I get the same error when I change it to 24-bit audio. However, when I change to 16-bit sound it works fine.
    First, is there a real audible difference between 16- and 32-bit when it's all going through a WAV to AC3 converter? The AC3 files get dumped into Encore as the audio track so that I can get 5.1 sound on blu-rays instead of Encore re-encoding things.
    Second, what would cause it suddenly not work, and how can I get it working again?

    That error can happen for many reasons...one of the reasons that I occassionaly get it is because I try exporting a movie to an external drive that has been formated in the old FAT32 instead of the NTSF standard.  FAT32 only allows for file sizes up to 2 gigs.  And as soon as it reaches that...I would get that error.  I don't know if that is why you are getting that error...but it would be easy to check.  1) are you generating a file that is over 2 gigs?  2) is your drive that you are exporting to FAT 32 (just right click the drive in My Computer and select "properties" then just look for what it says next to "file system".

Maybe you are looking for

  • I SOLVED UPDATER AND ITUNES PROB

    Ight what you have to do is uninstall any itunes and ipod updater progams then restart pc. then simply install ipod disc again and it should work now hear me out ITS NOT ITUNES FIVE PUT THAT IN RECYCLE BIN. it worked for me. you think you dont have y

  • Navigation bar not working

    The menu works in iWeb, but not when I publish my site. I have some dummy blog, about me, and photo pages uploaded. I can't seem to use the nav bar to get to them though: web.mac.com/nickyanez/iWeb/ThatNickGuy PB G4 17 Mac OS X (10.4.4) PB G4 17    

  • Unable to see the SSL port in the Oracle Enterprise Manager

    Hi, I followed the step for SSL setup in the given link Re: Tech Note : SSL Setup for Oracle AS B2B When I open the Oracle Enterprise Manager console, I am not able to see the SSL port. I found that Accessibility Mode is Disabled. Please help me to e

  • Problem installing garageband jampacks potential virus in new macbook pro

    infinate software update windows saying need to install rosetta plistbuddy during garageband jampack installation. i have official apple jampacks. it's not bootleg software. i have other macs and never had a virus like issue like this. just spent 194

  • [SOLVED]Apache File Management Looks

    Anyone know of an app that will make the file management in Apache cleaner, or pretty? I bookmarked something a long time ago that had the name "Tiny" in it, but am not at that pc at the moment. I have perused Freshmeat(Quickly, I am at work) and can