cancel
Showing results for 
Search instead for 
Did you mean: 

Crystal report 10 error - Help required

02-11-2011 5:52 PM
831 views 7 comments Go to solution
0 Likes
SAP Managed Tags
Subscribe

I am using crystal report 10.0.0.533 - Crystal report developer edition.

All of my reports are working fine without any issue, except one report.

It throws the below error message:

Crystal Reports ActiveX Designer error '80047cbd'

*You are attempting to use functionality that falls under the Crystal Decisions Report Creation API license. This system does not have a valid license, or the evaluation copy of the license has expired. Please contact Crystal Decisions to obtain a Report Creation API license.*

/egads/Reports/EventDataRep.asp, line 68

At line number 68 we have below code:

Tables.Add "", , Session("oRecRep"), , "p2smon.dll"

This report was earlier used for Crystal 8.5. However Crystal 10 no longer uses p2smon.dll.

Alternative dll in Crystal report 10 is crdb_ado.dll, I replaced it in the code, however still it is not working.

Could anyone please help me with this issue?

0 Likes

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Likes

As you are not using .NET I moved your thread to the Legacy SDKs - SAP Crystal Reports forum.

The error means that somewhere in your app, you are using what is considered a report creation API. These require extra licensing in CR 10.

Which brings us to:

Alternative dll in Crystal report 10 is crdb_ado.dll, I replaced it in the code, however still it is not working.

How did you replace the dll? What's the code?

Ludek

Former Member
0 Likes

I used it In the below code :

Tables.Add "", , Session("oRecRep"), , "p2smon.dll" --- This code works fine for crystal 8.5 without any issues.

Instead of using 'p2smon.dll' , I used crdb_ado.dll.

For report Creation API , If I need to have extra license for this report to work. Could you please let me know which crystal report I need to use ? I am using Crystal Report 10 Developer version.

Is this facility available in crystal Enterprise Embedded edition 10 ?

Thanks!

Anbu

Former Member
0 Likes

Tables.Add is part of the report creation APIs.

If you want to use those, you will have to contact sales re. details of licensing (866-681-3435)

You mention that the report used P2SMON.DLL. This tells me that the report is based off of ttx files. This should work in CR 10. The dll is now named crdb_cdo.dll. I believe all yo should need to do is run the report and it will automatically use the dll. At worst, all you's need to do, is open the report in the CR designer, point it at the ttx file, verify database and the report should start to work. If not, let me know what happens.

- Ludek

Former Member
0 Likes

I replaced with crdb_cdo.dll.....still no luck. This Crystal report doesn't use ttx files

Below is the complete code.

<<http://rapidshare.com/files/447946647/EventDataRep.asp>>

Please help me to resolve this issue...

Thanks in Advance..

Anbu

Former Member
0 Likes

Sorry, but I will not be downloading your code. You can paste the pertinent snippet of code here and I'll take a quick peek, see if I see anything obvious.

Re.:

"I replaced with crdb_cdo.dll.....still no luck. This Crystal report doesn't use ttx files"

1) no luck = what? Same error? Or what happens? You'll have to take the time to put in some details in here...

2) P2SMon.dll was used to create ttx files. It was not a database driver as such. So, what is the database? How is the data being passed top the report?

- Ludek

Former Member
0 Likes

Even after replacing with crdb_cdo.dll...I am getting same error..

Below is the code:

Set oConn = Server.CreateObject("ADODB.Connection")

Set oRec = Server.CreateObject("ADODB.Recordset")

Set oRecRep = Server.CreateObject("ADODB.Recordset")

oConn.Open strEGadsUIDConn

strSQL = "SELECT CRYSTAL_XML_STRING, CRYSTAL_QUERY_STRING FROM TEMP_CRYSTAL_REPORT WHERE USER_ID = '" & strUserId & "' "

Set oRec = oConn.Execute(strSQL)

If Not oRec.EOF Then

strXMLString = oRec("CRYSTAL_XML_STRING")

strSQLQuery = oRec("CRYSTAL_QUERY_STRING")

End If

strSQLQuery = Replace(strSQLQuery, "%", "'", 1)

Set Session("oRecRep") = oConn.Execute(strSQLQuery)

If Not Session("oRecRep").EOF Then

Session("oRecRep").MoveFirst

End If

' CREATE THE APPLICATION OBJECT

If Not IsObject (session("oApp")) Then

Set session("oApp") = Server.CreateObject("CrystalRuntime.Application.10")

'Set session("oApp") = Server.CreateObject("Crystal.CRPE.Application")

End If

Path = Request.ServerVariables("PATH_TRANSLATED")

While (Right(Path, 1) <> "\" And Len(Path) <> 0)

iLen = Len(Path) - 1

Path = Left(Path, iLen)

Wend

'This "While/Wend" loop is used to determine the physical path (eg: C:\) to the

'Crystal Report file by translating the URL virtual path (eg: http://Domain/Dir)

'OPEN THE REPORT (but destroy any previous one first)

If IsObject(session("oRpt")) then

Set session("oRpt") = nothing

End if

'Set session("oRpt") = session("oApp").NewReport

reportname = "rptEventDataTemplate.rpt"

Set session("oRpt") = session("oApp").OpenReport(path & reportname, 1)

'Set oRptOptions = Session("oRpt").Options

session("oRpt").MorePrintEngineErrorMessages = 0

session("oRpt").DiscardSavedData

'session("oRpt").MorePrintEngineErrorMessages = False

session("oRpt").EnableParameterPrompting = 0

session("oRpt").PaperOrientation = 2

Set Database = session("oRpt").Database

'Instantiate the Database Collection

Set Tables = Database.Tables

'Instantiate the Tables Collection

Tables.Add "", , Session("oRecRep"), , "crdb_cdo.dll"

Set FirstTable = Tables.Item(1)

Set Fields = FirstTable.Fields

'Set Group Name

GroupField = "{ado.UNIT_NAME}"

For i = 1 to Fields.Count

result = strcomp(Fields.Item(cint(i)).Name,cstr(GroupField))

If cint(result) = 0 then

Set GroupFieldIs = Fields.Item(cint(i))

end if

next

Select Case cstr(SortDirection)

Case "Ascending" intsortdirection = 0

Case "Descending" intsortdirection = 1

Case "Original Order" intsortdirection = 2

Former Member
0 Likes

Ok. So you're passing in a recordset. This means that the report was more than likely created off of a TTX file which was in turn - more than likely - created by using the P2SMON.DLL

Do you still have the TTX file the report was created off of?

If not, you will have to create one using the CR 10 designer, or you can create one manually using notepad. The TTX file must match what the report is expecting as far as the format is concerned. Then point the report at the TTX file and map the fields. Enable the option "verify database..." and try that in your app. Also, make sure you have the latest updates for your version of CR. Updates can be found [here|http://service.sap.com/sap/bc/bsp/spn/bobj_download/main.htm].

Also see KB [SAP Note 1477408 - Report displays sample data instead of rdoResultSet passed using DatabaseTable.SetDataSource with the RDC|http://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/oss_notes_boj/sdn_oss_boj_bi/sap(bD1lbiZjPTAwMQ==)/bc/bsp/spn/scn_bosap/notes%7B6163636573733d36393736354636443646363436353344333933393338323636393736354637333631373036453646373436353733354636453735364436323635373233443330333033303331333433373337333433303338%7D.do]

I'd also recommend you search the KBase. Use the search box at the top right of this web page. Enter the term "RDC TTX" (without the quotes), then select BI-RA-CR as the component. You should get about 17 KBases.

- Ludek

Answers (0)