Handling errors in Reports.
Hi.
I wonder how can one handle errors raised during report execution. Suppose I have a report and it's stopping execution due to some Oracle error. I need to log the error in a table. Oracle Reports do not, however, contains any trigger similar to ON-ERROR in Oracle Forms. What to do with this?
Thanks in advance,
JackK
P.s. We're still using Oracle Reports/2000, unfortunately. Then we migrate to 10g.
Edited by: JackK on Apr 5, 2012 6:49 AM
No one can help me? :(
Same for 10g: the is no such thing in Reports as a general on-error trigger.
However, in 10g the error is visible in the Reports job queue. You can see the job queue via the URL:
http://<host>:<port>/reports/rwservlet/showjobs?server=<repserver>
You would see an error like this:
Error
Terminated with error: <br>REP-300: : invalid identifier
etc.
Similar Messages
-
How to handle errors in data templates
Hi
What is the recommended way to handle errors for example if one of your SQL statement in a data template returned no data how and where would you be able to create an error message for the user to find and read.
Thanks,
MarkThe closest I have come to doing this is to put conditional statements into the format template. If a value matches an expected (ex. is null) you can return a message (in the report) via the format template (ex. "No Data Found").
I am not sure this really answers your question as this is in the format template, but I generally view them as a matched pair that work together. I try to stick with data extraction in the data define, and do all my conditional stuff in the format templates.
Scott -
What are the reasons for following Javascript error in Report Viewer
Post Author: dhuka
CA Forum: Crystal Reports
Hello Everybody!
I am using Crystal Reports 10 in my web application. But unfortunately I am surrounded with strange problem related to it because of which I have been unable to deploy is on client-side. In my application the error given below is displayed as javascript error in Report Viewer and report is not displayed. But more frustrating part is that I am getting the same error due to different problem with reporting and I am stuck with it as I am unable to figure out what's causing the error now. Earlier this error appeared due to problem with parameter passing to stored procedure which I resolved it and error vanished but once again it has shown up. Moreover this error now appears less frequently and randomly therefore it is even difficult to trace the cause.
Problem with this Web page might prevent it from being displayed properly or functioning properly. In the future, you can display this message by double-clicking the warning icon displayed in the status bar.
Line: 40Char: 12Error: Expected ')'Code: 0URL: http://myServer/myApp/myForms/myReports/ReportViewer.aspx
So can anybody tell me what factors might be causing this errors as the error text is very vague in nature and gives no idea about the actual error.
Guys, I hope for your kind co-operation.
Regards,Post Author: dhuka
CA Forum: Crystal Reports
Thanks for you reply Krishna.
But this syntax error is the one that is creating problem for me as I cannot trace it. The form ReportViewer.aspx contains only a report viewer object which remains un-binded to any ReportDocument even at runtime.
At code behind ReportViewer.aspx I have code below that associates SQL Stored Procedure Parameter and Report Filter along with report name. Once all above is associated with ReportDocument, I export ReportDocument to PDF file format and display the report. Here I dont' even bind ReportDocument with my ReportViewer. Moreover, as I mentioned previously this error is encountered randomly (with no reasonable explanation so far) on client PC (while browsing through application).
I hope below code give you good idea of the way I am implementing my reporting.
Looking forward to you solution. Please note that I am only passing the ReportFileName and Parameter and Filter Criteria to this form while dataTable by itself using the connection information.
<<<<<<<<<<<<<<<<<CODE BEHIND of REPORTVIEWER.ASPX>>>>>>>>>>>
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim strKeys() As String
Dim strReportFilter As String
Dim strReportName As String
Dim strError As structError
Try
ReDim strKeys(0)
If strReportName = "" Then
strReportName = Context.Session("ReportName").ToString()
If Not Session("ReportParameters") = Nothing Then
Dim char_Delimiter() As Char = ";".ToCharArray()
strKeys = Session("ReportParameters").ToString().Split(char_Delimiter)
End If
If Not Session("ReportFilter") = Nothing Then
strReportFilter = Session("ReportFilter").ToString()
End If
Else
Session("DataTable") = Nothing
End If
If Not ViewParameterReport(strReportName, strKeys, strReportFilter, strError) Then
ASPNET_DisplayErrorMessageBox(strError.strMsg, Me)
Exit Sub
End If
Catch ex As Exception
strError.strMsg = Err.Description
ASPNET_DisplayErrorMessageBox(strError.strMsg, Me)
Finally
End Try
End Sub
Private Function ViewParameterReport(ByVal str_ReportName As String, ByVal str_ReportParameters() As String, ByVal strReportFilter As String, ByRef strError As structError) As Boolean
Dim str_ReportPath As String = CStr(ConfigurationSettings.AppSettings.Get("ReportPath"))
Dim crLogInfo As TableLogOnInfo
Dim crConnectionInfo As ConnectionInfo
Try
str_ReportPath = CStr(ConfigurationSettings.AppSettings.Get("ReportPath"))
o_Rpt = New CrystalDecisions.CrystalReports.Engine.ReportDocument
o_Rpt.Load(str_ReportPath & "\rpts\" & str_ReportName)
If Context.Session("DataTable") = "" Then
crLogInfo = New TableLogOnInfo()
crConnectionInfo = New ConnectionInfo()
crLogInfo = o_Rpt.Database.Tables(0).LogOnInfo
crConnectionInfo = o_Rpt.Database.Tables(0).LogOnInfo.ConnectionInfo
clsDbCnn.SetDBProperties()
crConnectionInfo.ServerName = clsDbCnn.Server
crConnectionInfo.DatabaseName = clsDbCnn.Database
crConnectionInfo.UserID = clsDbCnn.UserID
crConnectionInfo.Password = clsDbCnn.Password
crLogInfo.ConnectionInfo = crConnectionInfo
o_Rpt.Database.Tables(0).ApplyLogOnInfo(crLogInfo)
Else
ds_MISReports = New DataSet()
ds_MISReports = CType(Session("DataTable"), DataSet)
o_Rpt.SetDataSource(ds_MISReports)
End If
If Not IsPostBack Then
Dim param_Fields As CrystalDecisions.Shared.ParameterFields = New ParameterFields()
Dim iCount As Integer
If str_ReportParameters.GetUpperBound(0) <> 0 Then
For iCount = 0 To str_ReportParameters.Length - 1 Step 2
o_Rpt.SetParameterValue(CStr(str_ReportParameters(iCount).ToString()), CStr(str_ReportParameters(iCount + 1).ToString()))
Next
o_Rpt.RecordSelectionFormula = strReportFilter
End If
End If
'crViewer.DisplayGroupTree = False
'crViewer.ReportSource = o_Rpt
SetDBLogonForReport(crConnectionInfo, o_Rpt)
Dim TargetFileName As String
Dim fs As System.IO.FileStream
Dim FileSize As Long
Dim GenDS As DataSet
'Dim oRD As New ReportDocument()
Dim crReportObject As CrystalDecisions.CrystalReports.Engine.ReportObject()
Dim oExO As ExportOptions
Dim oExDo As New DiskFileDestinationOptions()
'Build Target Filename
TargetFileName = str_ReportPath & "\Pdfs\" & Session.SessionID & ".pdf"
'Export to PDF
oExDo.DiskFileName = TargetFileName
oExO = o_Rpt.ExportOptions
oExO.ExportDestinationType = ExportDestinationType.DiskFile
oExO.ExportFormatType = ExportFormatType.PortableDocFormat
oExO.DestinationOptions = oExDo
o_Rpt.Export()
o_Rpt.Close()
'Send the file to the user that made the request
Response.Clear()
Response.Buffer = True
Response.AddHeader("Content-Type", "application/pdf")
Response.AddHeader("Content-Disposition", "attachment;filename=MyReport.pdf;")
fs = New System.IO.FileStream(TargetFileName, IO.FileMode.Open)
FileSize = fs.Length
Dim bBuffer(CInt(FileSize)) As Byte
fs.Read(bBuffer, 0, CInt(FileSize))
fs.Close()
Response.BinaryWrite(bBuffer)
Response.Flush()
Response.Close()
o_Rpt = Nothing
Return True
Catch ex As Exception
strError.strMsg = Err.Description
Return False
Finally
crConnectionInfo = Nothing
crLogInfo = Nothing
End Try
End Function
Private Sub SetDBLogonForReport(ByVal myConnectionInfo As ConnectionInfo, _
ByVal myReportDocument As ReportDocument)
Dim myTables As Tables = myReportDocument.Database.Tables
Dim count As Integer
For count = 0 To myTables.Count - 1
Dim myTableLogonInfo As TableLogOnInfo = myTables(count).LogOnInfo
myTableLogonInfo.ConnectionInfo = myConnectionInfo
myTables(count).ApplyLogOnInfo(myTableLogonInfo)
myTables(count).Location = myConnectionInfo.DatabaseName & ".dbo." & myTables(count).Location.Substring(myTables(count).Location.LastIndexOf(".") + 1)
myTables(count).LogOnInfo.ConnectionInfo.ServerName = myConnectionInfo.ServerName()
Next
End Sub -
Exception handling in ORA REPORT
hi,
can any one tell about exception handling in oracle reports 10g if I wanna raise a message where data is no not present for example I select one value from LOV when I press mouse button and if data is not present then
report show numeric or value error but I want here raise a message box I use this [ in before_report_trigger exception no_data_found then srw.message(10,'data not found') ] after use this value or numeric error is vanished but my message box is not raise I also use dbms_output.put_line('data not found') or srw.message(10,'data not found') srw.message(10,'data not found') but message box not show any please tell me about this.thanks
Regards,
shaz khandbms_output.put_lineYou can only use this in sqlplus.
srw.messageThis writes a message to the log file (see traceopts in the online help).
report show numeric or value errorThat means there is something wrong in one of your procedures. You should never get an error like that.
When exactly do you get this error? -
In the past few days I have been getting the following popup when I use firefox as my browser: Exc in ev handl: Error: Bad NPObject as private data!
I assume it came from your latest update. I have windows vista with a 64 bit processor, and I am using the latest version of firefox. I checked to see if I was getting the same error message with explorer and I am not. It appears to be some sort of conflict with java script. Can this be corrected?re: recommendation -- "Remove McAfee Site Advisor and other extensions/plugins reported in the following lists of Blocked/Problematic extension: "
NO -- I use it to protect my surfing! Why must FireFox insist on constantly breaking 3-rd party vendor apps!?! Even IE doesn't do this.
For all the ballyhoo about FF and how great it is -- it ISN'T when it comes to how it supports other companies apps. (RealPlayer, Google, McAfee, etc.)
Shame on them. I shouldn't have to give up functionality, and in this case protection -- just to use FF -
Hi guys please give me sample code for call transaction that handles error
hi guys, please give me sample code for call transaction that handles error,
please send me the sample code in which there should be all decleration part and everything, based on the sample code i will develop my code.
please do help me as it is urgent.
thanks and regards.
prasadnn.Hi Prasad,
Check this code.
Source Code for BDC using Call Transaction
*Code used to create BDC
*& Report ZBDC_EXAMPLE *
*& Example BDC program, which updates net price of item 00010 of a *
*& particular Purchase order(EBELN). *
REPORT ZBDC_EXAMPLE NO STANDARD PAGE HEADING
LINE-SIZE 132.
Data declaration
TABLES: ekko, ekpo.
TYPES: BEGIN OF t_ekko,
ebeln TYPE ekko-ebeln,
waers TYPE ekko-waers,
netpr TYPE ekpo-netpr,
err_msg(73) TYPE c,
END OF t_ekko.
DATA: it_ekko TYPE STANDARD TABLE OF t_ekko INITIAL SIZE 0,
wa_ekko TYPE t_ekko,
it_error TYPE STANDARD TABLE OF t_ekko INITIAL SIZE 0,
wa_error TYPE t_ekko,
it_success TYPE STANDARD TABLE OF t_ekko INITIAL SIZE 0,
wa_success TYPE t_ekko.
DATA: w_textout LIKE t100-text.
DATA: gd_update TYPE i,
gd_lines TYPE i.
*Used to store BDC data
DATA: BEGIN OF bdc_tab OCCURS 0.
INCLUDE STRUCTURE bdcdata.
DATA: END OF bdc_tab.
*Used to stores error information from CALL TRANSACTION Function Module
DATA: BEGIN OF messtab OCCURS 0.
INCLUDE STRUCTURE bdcmsgcoll.
DATA: END OF messtab.
*Screen declaration
SELECTION-SCREEN BEGIN OF BLOCK block1 WITH FRAME
TITLE text-001. "Purchase order Num
SELECT-OPTIONS: so_ebeln FOR ekko-ebeln OBLIGATORY.
SELECTION-SCREEN END OF BLOCK block1.
SELECTION-SCREEN BEGIN OF BLOCK block2 WITH FRAME
TITLE text-002. "New NETPR value
PARAMETERS: p_newpr(14) TYPE c obligatory. "LIKE ekpo-netpr.
SELECTION-SCREEN END OF BLOCK block2.
*START-OF-SELECTION
START-OF-SELECTION.
Retrieve data from Purchase order table(EKKO)
SELECT ekkoebeln ekkowaers ekpo~netpr
INTO TABLE it_ekko
FROM ekko AS ekko INNER JOIN ekpo AS ekpo
ON ekpoebeln EQ ekkoebeln
WHERE ekko~ebeln IN so_ebeln AND
ekpo~ebelp EQ '10'.
*END-OF-SELECTION
END-OF-SELECTION.
Check data has been retrieved ready for processing
DESCRIBE TABLE it_ekko LINES gd_lines.
IF gd_lines LE 0.
Display message if no data has been retrieved
MESSAGE i003(zp) WITH 'No Records Found'(001).
LEAVE TO SCREEN 0.
ELSE.
Update Customer master data (instalment text)
LOOP AT it_ekko INTO wa_ekko.
PERFORM bdc_update.
ENDLOOP.
Display message confirming number of records updated
IF gd_update GT 1.
MESSAGE i003(zp) WITH gd_update 'Records updated'(002).
ELSE.
MESSAGE i003(zp) WITH gd_update 'Record updated'(003).
ENDIF.
Display Success Report
Check Success table
DESCRIBE TABLE it_success LINES gd_lines.
IF gd_lines GT 0.
Display result report column headings
PERFORM display_column_headings.
Display result report
PERFORM display_report.
ENDIF.
Display Error Report
Check errors table
DESCRIBE TABLE it_error LINES gd_lines.
If errors exist then display errors report
IF gd_lines GT 0.
Display errors report
PERFORM display_error_headings.
PERFORM display_error_report.
ENDIF.
ENDIF.
*& Form DISPLAY_COLUMN_HEADINGS
Display column headings
FORM display_column_headings.
WRITE:2 ' Success Report '(014) COLOR COL_POSITIVE.
SKIP.
WRITE:2 'The following records updated successfully:'(013).
WRITE:/ sy-uline(42).
FORMAT COLOR COL_HEADING.
WRITE:/ sy-vline,
(10) 'Purchase Order'(004), sy-vline,
(11) 'Old Netpr'(005), sy-vline,
(11) 'New Netpr'(006), sy-vline.
WRITE:/ sy-uline(42).
ENDFORM. " DISPLAY_COLUMN_HEADINGS
*& Form BDC_UPDATE
Populate BDC table and call transaction ME22
FORM bdc_update.
PERFORM dynpro USING:
'X' 'SAPMM06E' '0105',
' ' 'BDC_CURSOR' 'RM06E-BSTNR',
' ' 'RM06E-BSTNR' wa_ekko-ebeln,
' ' 'BDC_OKCODE' '/00', "OK code
'X' 'SAPMM06E' '0120',
' ' 'BDC_CURSOR' 'EKPO-NETPR(01)',
' ' 'EKPO-NETPR(01)' p_newpr,
' ' 'BDC_OKCODE' '=BU'. "OK code
Call transaction to update customer instalment text
CALL TRANSACTION 'ME22' USING bdc_tab MODE 'N' UPDATE 'S'
MESSAGES INTO messtab.
Check if update was succesful
IF sy-subrc EQ 0.
ADD 1 TO gd_update.
APPEND wa_ekko TO it_success.
ELSE.
Retrieve error messages displayed during BDC update
LOOP AT messtab WHERE msgtyp = 'E'.
Builds actual message based on info returned from Call transaction
CALL FUNCTION 'MESSAGE_TEXT_BUILD'
EXPORTING
msgid = messtab-msgid
msgnr = messtab-msgnr
msgv1 = messtab-msgv1
msgv2 = messtab-msgv2
msgv3 = messtab-msgv3
msgv4 = messtab-msgv4
IMPORTING
message_text_output = w_textout.
ENDLOOP.
Build error table ready for output
wa_error = wa_ekko.
wa_error-err_msg = w_textout.
APPEND wa_error TO it_error.
CLEAR: wa_error.
ENDIF.
Clear bdc date table
CLEAR: bdc_tab.
REFRESH: bdc_tab.
ENDFORM. " BDC_UPDATE
FORM DYNPRO *
stores values to bdc table *
--> DYNBEGIN *
--> NAME *
--> VALUE *
FORM dynpro USING dynbegin name value.
IF dynbegin = 'X'.
CLEAR bdc_tab.
MOVE: name TO bdc_tab-program,
value TO bdc_tab-dynpro,
'X' TO bdc_tab-dynbegin.
APPEND bdc_tab.
ELSE.
CLEAR bdc_tab.
MOVE: name TO bdc_tab-fnam,
value TO bdc_tab-fval.
APPEND bdc_tab.
ENDIF.
ENDFORM. " DYNPRO
*& Form DISPLAY_REPORT
Display Report
FORM display_report.
FORMAT COLOR COL_NORMAL.
Loop at data table
LOOP AT it_success INTO wa_success.
WRITE:/ sy-vline,
(10) wa_success-ebeln, sy-vline,
(11) wa_success-netpr CURRENCY wa_success-waers, sy-vline,
(11) p_newpr, sy-vline.
CLEAR: wa_success.
ENDLOOP.
WRITE:/ sy-uline(42).
REFRESH: it_success.
FORMAT COLOR COL_BACKGROUND.
ENDFORM. " DISPLAY_REPORT
*& Form DISPLAY_ERROR_REPORT
Display error report data
FORM display_error_report.
LOOP AT it_error INTO wa_error.
WRITE:/ sy-vline,
(10) wa_error-ebeln, sy-vline,
(11) wa_error-netpr CURRENCY wa_error-waers, sy-vline,
(73) wa_error-err_msg, sy-vline.
ENDLOOP.
WRITE:/ sy-uline(104).
REFRESH: it_error.
ENDFORM. " DISPLAY_ERROR_REPORT
*& Form DISPLAY_ERROR_HEADINGS
Display error report headings
FORM display_error_headings.
SKIP.
WRITE:2 ' Error Report '(007) COLOR COL_NEGATIVE.
SKIP.
WRITE:2 'The following records failed during update:'(008).
WRITE:/ sy-uline(104).
FORMAT COLOR COL_HEADING.
WRITE:/ sy-vline,
(10) 'Purchase Order'(009), sy-vline,
(11) 'Netpr'(010), sy-vline,
(73) 'Error Message'(012), sy-vline.
WRITE:/ sy-uline(104).
FORMAT COLOR COL_NORMAL.
ENDFORM. " DISPLAY_ERROR_HEADINGS
Hope this resolves your query.
Reward all the helpful answers.
Regards -
What will get rid of "EXC in EV handl: error bad NP object as private data"?
I am taking some online classes and whenever I am trying to do homework or send in my assignments or take a test this error report comes up: EXC in EV handl: error bad NP object as private data. What does this mean and how do I get rid of it? I need to be able to do my college work online and know that it is getting to the instructor. How can I know if my assignments and test and any other communication with my college are getting to the right place?
Please see solution in http://kb.mozillazine.org/Problematic_extensions
for "McAfee Site Advisor".
(Windows): For best results you should uninstall '''McAfee Site Advisor''' from Control Panel > add/change programs (Programs and Features). Reboot the system. Then Reinstall from http://www.siteadvisor.com/ and reboot the system. When installing refuse other suggested (crapware) applications.
<br><small>Please mark "Solved" one answer that will best help others with a similar problem -- hope this was it.</small> -
Hi, if tr r 100 records to be updated, if 3, 52 and 99 records are failed ,what happens in case of session and calltransaction method, how we can correct the errors in both cases and what happens they will update remaining fields or not.
hi,
if you use session u can check unprocessed records using SM35 tcode.In sm35 after processing the session you can check error log for unprocessed records depending up on the error message we can modify that particular record.
In the call transaction method we have to explicitly catch errors using BDCMSGCOLL and FORMAT_messages.
just check the below coding.
Handling errors in calltransaction using XK01 tcode.
REPORT ZSR_BDC_CT_ERROR1.
TABLES : RF02K,LFA1.
DATA: BEGIN OF ITAB OCCURS 0,
LIFNR LIKE RF02K-LIFNR,
KTOKK LIKE RF02K-KTOKK,
NAME1 LIKE LFA1-NAME1,
SORTL LIKE LFA1-SORTL,
LAND1 LIKE LFA1-LAND1,
SPRAS LIKE LFA1-SPRAS,
END OF ITAB.
DATA : BDCTAB LIKE BDCDATA OCCURS 0 WITH HEADER LINE,
BDCMSG LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.
INCLUDE BDCRECX1.
START-OF-SELECTION.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = 'z:\flatfiles\sr1.txt'
FILETYPE = 'ASC'
HAS_FIELD_SEPARATOR = 'X'
HEADER_LENGTH = 0
READ_BY_LINE = 'X'
DAT_MODE = ' '
CODEPAGE = ' '
IGNORE_CERR = ABAP_TRUE
REPLACEMENT = '#'
CHECK_BOM = ' '
IMPORTING
FILELENGTH =
HEADER =
TABLES
DATA_TAB = ITAB
EXCEPTIONS
FILE_OPEN_ERROR = 1
FILE_READ_ERROR = 2
NO_BATCH = 3
GUI_REFUSE_FILETRANSFER = 4
INVALID_TYPE = 5
NO_AUTHORITY = 6
UNKNOWN_ERROR = 7
BAD_DATA_FORMAT = 8
HEADER_NOT_ALLOWED = 9
SEPARATOR_NOT_ALLOWED = 10
HEADER_TOO_LONG = 11
UNKNOWN_DP_ERROR = 12
ACCESS_DENIED = 13
DP_OUT_OF_MEMORY = 14
DISK_FULL = 15
DP_TIMEOUT = 16
OTHERS = 17
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
*perform open_group.
LOOP AT ITAB.
PERFORM BDC_DYNPRO USING 'SAPMF02K' '0100'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RF02K-KTOKK'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_FIELD USING 'RF02K-LIFNR'
ITAB-LIFNR.
PERFORM BDC_FIELD USING 'RF02K-KTOKK'
ITAB-KTOKK.
PERFORM BDC_DYNPRO USING 'SAPMF02K' '0110'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'LFA1-SPRAS'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_FIELD USING 'LFA1-NAME1'
ITAB-NAME1.
PERFORM BDC_FIELD USING 'LFA1-SORTL'
ITAB-SORTL.
PERFORM BDC_FIELD USING 'LFA1-LAND1'
ITAB-LAND1.
PERFORM BDC_FIELD USING 'LFA1-SPRAS'
ITAB-SPRAS.
PERFORM BDC_DYNPRO USING 'SAPMF02K' '0120'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'LFA1-KUNNR'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_DYNPRO USING 'SAPMF02K' '0130'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'LFBK-BANKS(01)'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=ENTR'.
PERFORM BDC_DYNPRO USING 'SAPLSPO1' '0300'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=YES'.
PERFORM BDC_TRANSACTION USING 'XK01'.
IF SY-SUBRC <> 0.
*LOOP AT bdcmsg.
*WRITE: bdcmsg-DYNAME,
bdcmsg-DYNUMB,
bdcmsg-MSGTYP,
bdcmsg-MSGSPRA,
bdcmsg-MSGID,
bdcmsg-MSGNR,
bdcmsg-MSGV1,
bdcmsg-MSGV2,
bdcmsg-MSGV3,
bdcmsg-MSGV4.
*ENDLOOP.
READ TABLE BDCMSG WITH KEY MSGTYP = 'E'.
CALL FUNCTION 'FORMAT_MESSAGE'
EXPORTING
ID = BDCMSG-MSGID
LANG = SY-LANGU
NO = BDCMSG-MSGNR
V1 = BDCMSG-MSGV1
V2 = BDCMSG-MSGV2
V3 = BDCMSG-MSGV3
V4 = BDCMSG-MSGV4
IMPORTING
MSG = BDCMSG-MSGV1
EXCEPTIONS
NOT_FOUND = 1
OTHERS = 2
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
WRITE : / BDCMSG-MSGV1.
ENDIF.
ENDLOOP.
*perform close_group. -
Hi,
How to handle errors in bdc call transaction method.
what is the steps to download errors from bdcmsgcoll into flat file in call transaction method
udayHi friend,
Here is a beautiful example which explains how to trap erroreneous records ..if help full then please give me max reward point.
REPORT zgopi_report
NO STANDARD PAGE HEADING
LINE-SIZE 255
MESSAGE-ID ZRASH.
Internal Table Declarations *
*--Internal Table for Data Uploading.
DATA : BEGIN OF IT_FFCUST OCCURS 0,
KUNNR(10),
BUKRS(4),
KTOKD(4),
ANRED(15),
NAME1(35),
SORTL(10),
STRAS(35),
ORT01(35),
PSTLZ(10),
LAND1(3),
SPRAS(2),
AKONT(10),
END OF IT_FFCUST.
*--Internal Table to Store Error Records.
DATA : BEGIN OF IT_ERRCUST OCCURS 0,
KUNNR(10),
EMSG(255),
END OF IT_ERRCUST.
*--Internal Table to Store Successful Records.
DATA : BEGIN OF IT_SUCCUST OCCURS 0,
KUNNR(10),
SMSG(255),
END OF IT_SUCCUST.
*--Internal Table for Storing the BDC data.
DATA : IT_CUSTBDC LIKE BDCDATA OCCURS 0 WITH HEADER LINE.
*--Internal Table for storing the messages.
DATA : IT_CUSTMSG LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.
DATA : V_FLAG1(1) VALUE ' ',
"Flag used for opening session.
V_TLINES LIKE SY-TABIX,
"For storing total records processed.
V_ELINES LIKE SY-TABIX,
"For storing the no of error records.
V_SLINES LIKE SY-TABIX.
"For storing the no of success records.
Selection screen *
SELECTION-SCREEN BEGIN OF BLOCK B1.
PARAMETERS : V_FNAME LIKE RLGRAP-FILENAME,
V_SESNAM LIKE RLGRAP-FILENAME.
SELECTION-SCREEN END OF BLOCK B1.
Start-of-selection *
START-OF-SELECTION.
*-- Form to upload flatfile data into the internal table.
PERFORM FORM_UPLOADFF.
TOP-OF-PAGE *
TOP-OF-PAGE.
WRITE:/ 'Details of the error and success records for the transaction'
ULINE.
SKIP.
End of Selection *
END-OF-SELECTION.
*-- Form to Generate a BDC from the Uploaded Internal table
PERFORM FORM_BDCGENERATE.
*--To write the totals and the session name.
PERFORM FORM_WRITEOP.
*& Form form_uploadff
Form to upload flatfile data into the internal table.
FORM FORM_UPLOADFF .
*--Variable to change the type of the parameter file name.
DATA : LV_FILE TYPE STRING.
LV_FILE = V_FNAME.
*--Function to upload the flat file to the internal table.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = LV_FILE
FILETYPE = 'ASC'
HAS_FIELD_SEPARATOR = 'X'
HEADER_LENGTH = 0
READ_BY_LINE = 'X'
DAT_MODE = ' '
IMPORTING
FILELENGTH =
HEADER =
TABLES
DATA_TAB = IT_FFCUST
EXCEPTIONS
FILE_OPEN_ERROR = 1
FILE_READ_ERROR = 2
NO_BATCH = 3
GUI_REFUSE_FILETRANSFER = 4
INVALID_TYPE = 5
NO_AUTHORITY = 6
UNKNOWN_ERROR = 7
BAD_DATA_FORMAT = 8
HEADER_NOT_ALLOWED = 9
SEPARATOR_NOT_ALLOWED = 10
HEADER_TOO_LONG = 11
UNKNOWN_DP_ERROR = 12
ACCESS_DENIED = 13
DP_OUT_OF_MEMORY = 14
DISK_FULL = 15
DP_TIMEOUT = 16
OTHERS = 17
IF SY-SUBRC = 0.
*--Deleting the headings from the internal table.
DELETE IT_FFCUST INDEX 1.
*--Getting the total number of records uploaded.
DESCRIBE TABLE IT_FFCUST LINES V_TLINES.
ENDIF.
ENDFORM. " form_uploadff
*& Form Form_bdcgenerate
Form to Generate a BDC from the Uploaded Internal table
FORM FORM_BDCGENERATE .
*--Generating the BDC table for the fields of the internal table.
LOOP AT IT_FFCUST.
PERFORM POPULATEBDC USING :
'X' 'SAPMF02D' '0105',
' ' 'BDC_OKCODE' '/00' ,
' ' 'RF02D-KUNNR' IT_FFCUST-KUNNR,
' ' 'RF02D-BUKRS' IT_FFCUST-BUKRS,
' ' 'RF02D-KTOKD' IT_FFCUST-KTOKD,
'X' 'SAPMF02D' '0110' ,
' ' 'BDC_OKCODE' '/00',
' ' 'KNA1-ANRED' IT_FFCUST-ANRED,
' ' 'KNA1-NAME1' IT_FFCUST-NAME1,
' ' 'KNA1-SORTL' IT_FFCUST-SORTL,
' ' 'KNA1-STRAS' IT_FFCUST-STRAS,
' ' 'KNA1-ORT01' IT_FFCUST-ORT01,
' ' 'KNA1-PSTLZ' IT_FFCUST-PSTLZ,
' ' 'KNA1-LAND1' IT_FFCUST-LAND1,
' ' 'KNA1-SPRAS' IT_FFCUST-SPRAS,
'X' 'SAPMFO2D' '0120',
' ' 'BDC_OKCODE' '/00',
'X' 'SAPMF02D' '0125',
' ' 'BDC_OKCODE' '/00',
'X' 'SAPMF02D' '0130',
' ' 'BDC_OKCODE' '=ENTR',
'X' 'SAPMF02D' '0340',
' ' 'BDC_OKCODE' '=ENTR',
'X' 'SAPMF02D' '0360',
' ' 'BDC_OKCODE' '=ENTR',
'X' 'SAPMF02D' '0210',
' ' 'KNB1-AKONT' IT_FFCUST-AKONT,
' ' 'BDC_OKCODE' '/00',
'X' 'SAPMF02D' '0215',
' ' 'BDC_OKCODE' '/00',
'X' 'SAPMF02D' '0220',
' ' 'BDC_OKCODE' '/00',
'X' 'SAPMF02D' '0230',
' ' 'BDC_OKCODE' '=UPDA'.
*--Calling the transaction 'fd01'.
CALL TRANSACTION 'FD01' USING IT_CUSTBDC MODE 'N' UPDATE 'S'
MESSAGES INTO IT_CUSTMSG.
IF SY-SUBRC <> 0.
*--Populating the error records internal table.
IT_ERRCUST-KUNNR = IT_FFCUST-KUNNR.
APPEND IT_ERRCUST.
CLEAR IT_ERRCUST.
*--Opening a session if there is an error record.
IF V_FLAG1 = ' '.
PERFORM FORM_OPENSESSION.
V_FLAG1 = 'X'.
ENDIF.
*--Inserting the error records into already open session.
IF V_FLAG1 = 'X'.
PERFORM FORM_INSERT.
ENDIF.
*--Populating the Success records internal table.
ELSE.
IT_SUCCUST-KUNNR = IT_FFCUST-KUNNR.
APPEND IT_SUCCUST.
CLEAR IT_SUCCUST.
ENDIF.
*--Displaying the messages.
IF NOT IT_CUSTMSG[] IS INITIAL.
PERFORM FORM_FORMATMSG.
ENDIF.
*--Clearing the message and bdc tables.
CLEAR : IT_CUSTBDC[],IT_CUSTMSG[].
ENDLOOP.
*--Getting the total no of error records.
DESCRIBE TABLE IT_ERRCUST LINES V_ELINES.
*--Getting the total no of successful records.
DESCRIBE TABLE IT_SUCCUST LINES V_SLINES.
*--Closing the session only if it is open.
IF V_FLAG1 = 'X'.
PERFORM FORM_CLOSESESS.
ENDIF.
ENDFORM. " Form_bdcgenerate
*& Form populatebdc
FOrm to Populate the BDC table.
FORM POPULATEBDC USING VALUE(P_0178)
VALUE(P_0179)
VALUE(P_0180).
IF P_0178 = 'X'.
IT_CUSTBDC-PROGRAM = P_0179.
IT_CUSTBDC-DYNPRO = P_0180.
IT_CUSTBDC-DYNBEGIN = 'X'.
ELSE.
IT_CUSTBDC-FNAM = P_0179.
IT_CUSTBDC-FVAL = P_0180.
ENDIF.
APPEND IT_CUSTBDC.
CLEAR IT_CUSTBDC.
ENDFORM. " populatebdc
*& Form FORM_OPENSESSION
Form to Open a session.
FORM FORM_OPENSESSION .
*--Variable to convert the given session name into reqd type.
DATA : LV_SESNAM(12).
LV_SESNAM = V_SESNAM.
*--Opening a session.
CALL FUNCTION 'BDC_OPEN_GROUP'
EXPORTING
CLIENT = SY-MANDT
GROUP = LV_SESNAM
HOLDDATE = '20040805'
KEEP = 'X'
USER = SY-UNAME
PROG = SY-CPROG
IMPORTING
QID =
EXCEPTIONS
CLIENT_INVALID = 1
DESTINATION_INVALID = 2
GROUP_INVALID = 3
GROUP_IS_LOCKED = 4
HOLDDATE_INVALID = 5
INTERNAL_ERROR = 6
QUEUE_ERROR = 7
RUNNING = 8
SYSTEM_LOCK_ERROR = 9
USER_INVALID = 10
OTHERS = 11
IF SY-SUBRC <> 0.
WRITE :/ 'Session not open'.
ENDIF.
ENDFORM. " FORM_OPENSESSION
*& Form FORM_INSERT
fORM TO INSERT ERROR RECOED INTO A SESSION.
FORM FORM_INSERT .
*--Inserting the record into session.
CALL FUNCTION 'BDC_INSERT'
EXPORTING
TCODE = 'FD01'
POST_LOCAL = NOVBLOCAL
PRINTING = NOPRINT
SIMUBATCH = ' '
CTUPARAMS = ' '
TABLES
DYNPROTAB = IT_CUSTBDC
EXCEPTIONS
INTERNAL_ERROR = 1
NOT_OPEN = 2
QUEUE_ERROR = 3
TCODE_INVALID = 4
PRINTING_INVALID = 5
POSTING_INVALID = 6
OTHERS = 7
IF SY-SUBRC <> 0.
WRITE :/ 'Unable to insert the record'.
ENDIF.
ENDFORM. " FORM_INSERT
*& Form FORM_CLOSESESS
Form to Close the Open Session.
FORM FORM_CLOSESESS .
CALL FUNCTION 'BDC_CLOSE_GROUP'
EXCEPTIONS
NOT_OPEN = 1
QUEUE_ERROR = 2
OTHERS = 3.
IF SY-SUBRC <> 0.
ENDIF.
ENDFORM. " FORM_CLOSESESS
*& Form FORM_FORMATMSG
Form to format messages.
FORM FORM_FORMATMSG .
*--Var to store the formatted msg.
DATA : LV_MSG(255).
CALL FUNCTION 'FORMAT_MESSAGE'
EXPORTING
ID = SY-MSGID
LANG = SY-LANGU
NO = SY-MSGNO
V1 = SY-MSGV1
V2 = SY-MSGV2
V3 = SY-MSGV3
V4 = SY-MSGV4
IMPORTING
MSG = LV_MSG
EXCEPTIONS
NOT_FOUND = 1
OTHERS = 2.
IF SY-SUBRC = 0.
WRITE :/ LV_MSG.
ENDIF.
ULINE.
ENDFORM. " FORM_FORMATMSG
*& Form form_writeop
To write the totals and the session name.
FORM FORM_WRITEOP .
WRITE :/ 'Total Records Uploaded :',V_TLINES,
/ 'No of Error Records :',V_ELINES,
/ 'No of Success Records :',V_SLINES,
/ 'Name of the Session :',V_SESNAM.
ULINE.
ENDFORM. " form_writeop -
Error in report generation-Load report failed
I have installed crystal reports for VS2005 runtime in my live environment.When i try to load the report file from a .Net page i am getting the error'Error in Report generation-Load report failed'.
This works fine in development and testing but when moved to production we are having issues.
I believe i have a workaround i.e i need to open the rpt in a VS 2005 environment and re-write the connection string again.This fix had worked in development and testing when we had the same issue.
But not sure if this is a known issue with crystal reports and if so do we have any hot fixes for the same.
Please help.Hi Don,
The reason why i posted the item on 'data Connectivity issues' is because i suspect the problem is with the connection string.Though i had provided the correct connection string,re-writing the connection string with the same info might help to fix the issue with loading the report.
Does it mean that there is a problem in the connectivity?
I have a risk here that i cant re-write the connection string..i.e to open the RPT file in VS2005 and bind it.The production web server & database server sits in a third party environment and it is not in the company network.So i cant connect to this server to re-write from any other severs in the network.
Is there any fix which can applied to the server to get this issue resolved?
Cheers
Nithya. -
I just noticed today that any Graph or PDF report I try to view I get the
following error - Error from reports from ZAM - File does not begin with
'%PDF-'. I tried to just save the file and then open it, but get the same
error. I can open other pdf files I have downloaded from other sites ok.
Anyone have any idea? I haven't done anything to that server that I am
aware of in quite a while.
Thanks
BillI took a closer look at the files it downloaded, opened them with notepad,
haer is what it says:
XSL Transform or subsequent processing failedThe document has no pages.
"Bill" <[email protected]> wrote in message
news:2bBtk.2164$[email protected]..
>I just noticed today that any Graph or PDF report I try to view I get the
>following error - Error from reports from ZAM - File does not begin with
>'%PDF-'. I tried to just save the file and then open it, but get the same
>error. I can open other pdf files I have downloaded from other sites ok.
>Anyone have any idea? I haven't done anything to that server that I am
>aware of in quite a while.
>
> Thanks
>
> Bill
> -
Restricting the pl/sql error in report region(sql report)
Hi,
Is there any way to hiding pl/sql error in report region when we use generic column names*(Use Generic Column Names (parse query at runtime only)*
). and type is sql query else displaying alternative error message on that particular report region
I am using apex 4.1 and 11g database
Thanks
Sagar.What kind of pl/sql error you are talking about?
-
Error is "Report Contents No data
error is "Report Contents No data
Hi Godavari,
Firstly, make sure there are some events happened in the day you selected and mathcing with the options you set.
I could reproduce your issue if I don't do any events in the day I set in the custom report.
So, please try to do some actions based on the options in the custom report you set, then go to Audit log report to run a custom report based on the current day, compare the result.
Note: Audit log reports only log the events which are happened after you enable Audit log reports.
If the report still doesn't contain data, please check the log file to find more information base on the Correlation ID.
Best Regards,
Wendy
Wendy Li
TechNet Community Support -
I am using SQL Server 2005. I run a report which runs and renders perfectly. But I am unable to export it into any format. It fails with the following error:
Server Error in '/Reports' Application.
The file exists.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.IO.IOException: The file exists.
Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
Stack Trace:
[IOException: The file exists.
Microsoft.Reporting.WebForms.ServerReport.ServerUrlRequest(Boolean isAbortable, String url, Stream outputStream, String& mimeType, String& fileNameExtension) +489
Microsoft.Reporting.WebForms.ServerReport.InternalRender(Boolean isAbortable, String format, String deviceInfo, NameValueCollection urlAccessParameters, Stream reportStream, String& mimeType, String& fileNameExtension) +924
Microsoft.Reporting.WebForms.ServerReportControlSource.RenderReport(String format, String deviceInfo, NameValueCollection additionalParams, String& mimeType, String& fileExtension) +84
Microsoft.Reporting.WebForms.ExportOperation.PerformOperation(NameValueCollection urlQuery, HttpResponse response) +153
Microsoft.Reporting.WebForms.HttpHandler.ProcessRequest(HttpContext context) +75
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +303
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +64
I have seen this question asked several years ago, but have never seen a response that suggests what the issue may be.
I would really appreciate any help in resolving this problem.\
The application has been running from quite some time and this problem started just recently.
Thank You.
-RickHi Rick,
According to your description, the exception “System.IO.IOException: The file exists.” is thrown out when you export the report on report manager.
Generally, the exception is thrown out because there are more than 65535 files without deleting previous temporary files in our temporary directory. Based on my research, it has reported the same issue when exporting the report on report manager, and deleting all
temp files from C:\Windows\Temp could resolve the issue. I would also suggest you remove the temporary files from C:\Users\<username>\AppData\Local\Temp. Please refer to the first comment at this link:
System.IO.IOException: The file exists
Reference:
Path.GetTempFileName Method
If you have any question, please feel free to ask.
Best regards,
Qiuyun Yu
Qiuyun Yu
TechNet Community Support -
BI Publisher - PO_DISPATCH Error generating report output
Hi everyone,
Sorry for my bad english... having said that...
I need to modify the Purchase Order print. First, I wanted to see the standard version to get an idea of how much different it was. Well, I don't know because it doesn't work.
Error:
Error generating report output: (235,2309)
Error occurred during the process of generating the output file from template file, XML data file, and translation XLIFF file.
I know there are several topics on the web, but all of them are about new or custom reports, this is a standard one. When I preview the report on the report definition it works fine, so I assume there's a problem with the XML file generated. When I preview the report specifying an alternative XML I get the same error. The XML file I choose was the one generated by PeopleSoft when trying to view the printable version of the PO online.
So, I start cutting portions of the XML File. I started leaving only de Header Data and it works OK, when I add the Lines it failed. I add the Line Fields one by one to detect what was the problem... And finally it failed when I add AMT_LINE_MAX. Why? No idea, is it because its value is '0,000' instead of '0.000'? I don't think that should be the problem since there are other numeric fields on the header, all with ',' as a decimal separator...
Am I missing some configuration?
Thanks in advance.
Regards,
Veronica.Have a look at the following doc:
"Error generating report output. (235,2309)" When Running the "PO XMLP Dispatch" XML Publisher Report (PO_DISPATCH) for a Purchase Order with a Ship To Location with Special Characters in the Address [ID 1299876.1]
https://support.oracle.com/epmos/faces/DocContentDisplay?id=1299876.1
Stating this happens for example when there is a location with special characters.
Maybe you are looking for
-
How SAP Risk Management may be interfaced with SAP Strategy Management?
Hello, Any document, any customer experience around integration between SAP BusinessObjects Strategy Management and SAP BusinessObjects Risk Management would be very appreciated. Best regards Jean-Luc
-
Error 420 "Can't call builtin routines remotely" while compiling a proc
I get the message above when I try to compile a Forms procedure with a call to specific functions in the DBMS_UTILITY package. I am using Forms 10.1.2.2.0 and 10g DB (10.2.0.4.0). I want to trace the PL/SQL path that my Forms application is taking an
-
Can I connect an iphone 3gs to my tv to watch videos in apps, ie ActiveChannel?
Can I connect an iphone 3gs to my tv to watch videos in apps, ie ActiveChannel or Niek Training Club? TV is Samsung LED.
-
How to create transport request with Transaction Code
hi, i have made a Report and then i have transport it to QAS server but mistakenly i transport the request without T-Code. Now i want to make a new transport request with T-Code but can't understand where i can make this new request because when i go
-
How do I download a complete version of PSE12 and activate with a serial number from a CD
i do not have a CD reader on my laptop. I have already activated the Redemption code and have the serial number sitting in my account - but I cannot download PSE12. I do not want to download the trial version if I can avoid it. Thank you!