Quantcast
Channel: SCN : All Content - SAP HANA Developer Center
Viewing all 6745 articles
Browse latest View live

How to call HANA store procedure in XS?

$
0
0

Dear all,

 

I am developing a application using HANA XS and UI5.

 

I created a web interface with a table view and connected the JSON model to SAP HANA via OData.

 

I would like to run a stored procedure on HANA which is triggered before Data are loaded.

What would be the best way to call this stored procedure from XS?

 

Thank you in advance.

 

Regards,

Matthias


SAP Hana - Data Preview of Attribute View fails

$
0
0

Hello,

 

I have an Attribute View created in my package, and it uses tables from my schema. I was able to Validate and Activate the Attribute view after using the following SQL:

 

GRANT SELECT ON SCHEMA "<SCHEMA_NAME>" to _SYS_REPO WITH GRANT OPTION;

 

But when I do a Data Preview of this Attribute View, and click on Raw Data, I get the following error:

 

Error: SAP DBTech JDBC: [258]: insufficient privilege: Not authorized

 

(I'm doing this in SAP Hana Modeler in Eclipse)

 

How can I fix this error?

SFDC lightning connect with HANA

$
0
0

Hello,

 

  Does any one know how SAP HANA OData services works with SFDC lightning connector.  I don't have any luck to find information related to this.

 

Thanks

Mohan

"Transport" catalog objects like triggers, virtual tables ...

$
0
0

Current Situation

In different projects there is almost always the need to create some catalog objects which cannot be transported by the lifecycle management tools like it is possible for repository objects. Such catalog objects are for example:

  • Virtual Tables
  • Triggers
  • Indices and Full Text Indices on Catalog Tables
  • ...

 

Because of the lack of corresponding repository objects or a transport mechanism, by default the creation of the objects has to be done on each target system manually. In many project set ups the development team is not allowed to create the objects by their own on test, quality and production systems. So other services like e.g. application operation has to do the manual steps. But in big landscapes with automatic deployments and several system copies/system set ups, it is not really an option to do the things manually because it is to error-prone and time consuming.

 

Solution Approach

In that space the question how to deliver such objects automatically was discussed already several times, so I wanted to share how I solved that issue in our projects for almost all situations (there are still some gaps regarding special object dependency situations which require some manual effort, but 90% are running automatically now). Consider that the following approach is just one approach of several possible ones.

 

The idea behind the "transport" of catalog objects like triggers is, to deliver the create statements for the objects in transportable repository objects like procedures (.hdbprocedure). So in a first step I started to create repository procedures containing the create statements for the required objects. That was already an improvement because the "complexity" of the create statements was encapsulated in a procedure which just had to be executed by the responsible team on the target systems. But because the procedures still had to be executed manually in the required target systems, I searched for an option to automatize the execution.. The answer was a thing that HANA XS provides out of the box. It was an XSJOB. So I started to implement an XSJOB which calls an XSJS function. The XSJS function then calls the procedures which create the catalog objects. On the target systems the XSJOB than could be scheduled in the required time intervals (in my case hourly right after the hourly deployment of new builds). All objects, the XSJOB definition, the XSJS file and the procedures, are repository objects which can be transported by the standard lifecycle management tool (e.g. transport of changes via CTS+).

Maybe someone asks now why the XSJS function is necessary, cause a XSJOB can directly call a procedure. The answer is that XSJS provides the better options for logic orchestration, better error handling and SMTP usage for mail notifications in case of errors.

 

Following picture gives a brief overview about the used objects/services:

overview_xsjob.JPG

One point which has to be considered for the procedure implementation is, that the procedures have to check if the object which has to be created already exists. That is necessary, cause of the scheduling. Each time the procedure is called after the object is created, the procedure would result in an error, cause of the already existing object. There are two options to react on that situation. The first option is to avoid the execution of the create functionality. That makes sense for cases for which no changes are expected in the created objects. The second option is to drop the object and to create it new. So changes are also reflected by the re-creation on target systems. But for that option dependencies to other objects should be analyzed/considered upfront.

 

Example

With a simple example I wanna describe the necessary steps and how they could look like. In that example a trigger will be created which inserts a log entry into a log table after each insert into a specific table.

 

So we have these two tables. eTest01 for which the insert trigger should be created and eTest01Log in which the trigger should insert an entry after each insert on eTest01 (the id value of eTest01 and a time stamp).

01_data_hdbdd.png

 

First we define the procedure which creates the insert trigger for table eTest01. It is a very simple case where the procedure checks if the trigger is already existing. If not the trigger is created.

02_hdbprocedure.png

 

Next the XSJS function is displayed which executes the procedure. Consider that the schema, package and procedure name is defined in a JSON object which can be enhanced by further procedures. So not for each new procedure an own call has to be implemented.

03_xsjs.png

 

After the XSJS function is defined an XSJOB definition is created which calls the XSJS function.

04_xsjob.png

 

In the XSJOB scheduler the XSJOB has to be activated then. The XSJOB scheduler is available in the HANA XS Admin tool which can be reached via URL http(s)://<host>:<port>/sap/hana/xs/admin.

For the activation following information has to be supplied:

  • User name (and password) which is used to execute the job.
  • Language
  • Start/End time interval in which the job will be executed
  • Active flag has to be set to true

05_xsjob_scheduler.png

 

If everything worked fine in the job log a schedule entry and entries for the executed runs should be found.

06_xsjob_scheduler_log.png

 

Finally in the catalog the working trigger can be found.

07_catalog.png

 

Hints

If you maybe wanna try out the approach by yourself I wanna give you following hints:

  • The user used in the XSJOB scheduler for the job execution must have the privileges to create (and if necessary drop) the objects in the defined schemas. Consider also that the used user is the owner of the objects which are created. So please use a dedicated user which is never removed from the system, otherwise also your objects will be lost. I would also not recommend to use DEFINER MODE procedures which are executed by _SYS_REPO.
  • In the XSJS file I added a comment that an exception handling has to be done in case the exeuction of a procedure raises an exception. For my case I implemented a logic which collects the errors and sends it then to a defined pool mail address using the SMTP XSJS library.
  • In case it is necessary to define system specific things for the execution of a job (e.g. the ABAP schema name which has in most cases a different name on each system following the template SAP<system id>), this can be done by parameters. Parameters can be entered in the XSJOB file directly, but also in the XSJOB scheduler to define them system specific.
  • To activate the XSJOB scheduler itself role sap.hana.xs.admin.roles::JobSchedulerAdministrator is necessary.
  • To schedule a XSJOB role sap.hana.xs.admin.roles::JobAdministrator is necessary.
  • The XSDS Procedures is available with HANA SPS09. In earlier releases you can call the procedure by the legacy DB interface $.db.

 

References

Database Triggers VS Procedures performance for specific column updates in HANA.

$
0
0

hi all,

 

wanted to know that which method between triggers and procedures will be more suitable for below requirement so please share your views:

 

 

Requirement: To capture the specific column update or insert in a table(main table) into another table(log table).

Information to be captured is old value ,new value,username ,date and time of update or insert.

 

 

Important Note:The table is going to be huge table may have approx 10 to 20 million records after one year.

Segmentation Fault

$
0
0

Hi,

 

I try to load documents into HANA with a Python script. The document should be saved in a BLOB field of a table.

The Python script works fine, if I start it locally from a PC or notebook or from a remote Linux Server. The source documents are then either stored in a local file folder or in a directory of the Linux Server.

 

However, if I start the same Python script (in the Linux Version of course) from the HANA Server itself, it throws a segmentation fault at the insert statement of the Python script, i.e. when it comes to

 

cursor.execute("INSERT INTO <table> VALUES ...

Has anybody an idea how to solve this?

 

Regards,

Ingo

Request execution failed due to missing privileges in accessing SHINE demo app

$
0
0

Hi  guys,

 

I am a newbie to HANA. I am now playing with SHINE demo application to learn HANA.

 

I created an  instance in HANA cloud, and register a trial user. 

 

I  configured the HANA studio environment, made it connected to the HANA cloud, and imported the SHINE demo app into the HANA studio.


All  configuration are done except the roles needed for the end user to access the SHINE demo app.

 

I add the role to the user using sql: call "HCP"."HCP_GRANT_ROLE_TO_USER" ('i076318trial.opensap.shine.data::model_admin','i076318')

 

and aftering excuting this sql sentence, it shows success in the log.

 

However, when I access the SHINE app from front end, it shows the "Request execution failed due to missing privileges"  error

.

the following are the screen shots in case you need more information.

 

Capture2.PNG

 

Capture1.PNG

Schema names hard coded into procedures

$
0
0

Hi All,

I have 4 ECC systems coming in via SLT to four target schemas. Lets call them schema A, B, C and D. I have the same table..lets say VBAK in all of them.

Now I have a stored procedure which takes an input parameter called schemaName


The procedure has logic like:

 

if schemaName  = 'A'

{

select from A.VBAK

 

}

 

elseif schemaName  = 'B'

{

select from B.VBAK

 

}

 

elseif schemaName  = 'C'

{

select from C.VBAK

 

}

 

elseif schemaName  = 'D'

{

select from D.VBAK

 

}

 

Now the problem is that A,B,C,D map to M,N,O,P in the Quality environment and W,X,Y,Z in the prod.

Hard coded values won't undergo schema mapping upon transport and mentioning a default schema doesn't help since I have multiple schemas.

 

Confused on what to do.. How do i make the schema names switch in the If condition and in the select statement?

 

Let me know your thoughts on this.

 

 

Thanks,

Shyam


Fuzzy Search for alphanumeric content

$
0
0

Hi Experts,

 

I have implemented fuzzy search in HANA on the material short and long description texts. There is a scenario where if we search alphanumeric content it splits the entered search text and then searches individually for those.

Eg: I search for 25MM but it fetches 25 separately and MM separately instead of searching for 25MM as a single word.

 

Please suggest how can I resolve this issue.

 

 

Regards,

Sakshi

Is it possible to create a synonym in a procedure?

$
0
0

Hi all,

 

I have a scenario for UOM conversion. I have imported all the tables required. But for my requirements, I had to again create these tables using '.hdbti'.

When I create these using .hdbti, as per HANA convention, the table is created along with a namespace(I have attached a screenshot - Capture1).

 

Capture.PNG

 

For the UOM conversions to happen, HANA expects these tables to be present without the namespace in the schema (Like T006 and not sap..... :: T006). Hence, i need synonyms for these tables, and I need these synonyms in any system where the related DU is going to be imported.

 

Is these any possible means of achieving this?

 

I thought of creating a procedure which on execution will create the required synonyms, but I get the following error in the procedure?

 

Syntax error in procedure object: feature not supported; ddl statement 'CREATE SYNONYM "SAP_AAA"."T006" FOR "SAP_AAA"."sap.rsm.xs.db.erptable::T006"' is not supported in procedure/function: line 12 col 2 (at pos 202)

 

Thank you in advance for your responses.

SAP HANA DMO Optional Index error

$
0
0

Dear experts

 

We are encountering the following issue during MSSQL -> Hana DMO

 

# Z:\SUM\abap\log\RSDB02EN.TM1:
   4 ETG036 Module name....: "RSDB02CK"
   4 ETG038 Log name .: "RSDB02EN.TM1"
   4 ETG040 Start time.....: "16.07.2015" "08:58:05"
   4 ETG011 " "
   4 ETG039 -------------------------------------------------------------------------
   2EETG008 Optional index "SWFXICACHE-001" exists in the database
   2EETG008 Optional index "SWFXICACHE-002" exists in the database
   2EETG008 Optional index "SWFXIDISPATCH-IB0" exists in the database
   2EETG008 Optional index "SWFXIDISPATCH-ST0" exists in the database
  

 

In SE11 I can indeed see these indexes, can I just delete them or is there another way to solve this issue?

 

Kind regards

Lucas

Can not delete .hdbdd file after my Eclipse crashed

$
0
0

My Eclipse crashed when I was modifying .hdbdd file and activate it. Now it crashes every time I try to start workspace.

 

I tried to delete .hdbdd file in web ide editor but I get error:

Error while activating deletion of file: "s0015145715trial.development.machines.data:Machines.__DT_CATALOG_OBJECT__": runtime object not found

 

When try to open it:

Error while loading file: File inconsistent, could not load: s0015145715trial/development/machines/data/Machines.hdbdd

 

 

But on left side the file is still there and in schema the tables are also still there.

 

 

Eclipse .log file:

 

!SESSION 2015-10-19 09:59:32.604 -----------------------------------------------
eclipse.buildId=4.5.0.I20150603-2000
java.version=1.8.0_40
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US
Framework arguments:  -product org.eclipse.epp.package.jee.product -product org.eclipse.epp.package.jee.product
Command-line arguments:  -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product -data C:\Users\Matej\sap-hana -product org.eclipse.epp.package.jee.product

 

!ENTRY org.eclipse.equinox.ds 1 0 2015-10-19 09:59:34.461
!MESSAGE Could not bind a reference of component com.sap.it.cmd.handler. The reference is: Reference[name = ICMDContributor, interface = com.sap.it.cmd.provider.ICMDContributor, policy = dynamic, cardinality = 0..n, target = null, bind = bindCMDFeature, unbind = null]

 

!ENTRY org.eclipse.equinox.ds 1 0 2015-10-19 09:59:34.466
!MESSAGE Could not bind a reference of component com.sap.it.cmd.handler. The reference is: Reference[name = CapabilityCMDProvider, interface = com.sap.it.cmd.provider.CapabilityCMDProvider, policy = dynamic, cardinality = 0..1, target = null, bind = bindCapabilityCMDProvider, unbind = null]

 

!ENTRY org.eclipse.equinox.ds 1 0 2015-10-19 09:59:34.542
!MESSAGE Could not bind a reference of component com.sap.it.ds.intrsp.md.api. The reference is: Reference[name = IConnectionProperties, interface = com.sap.it.ds.intrsp.md.api.IConnectionProperties, policy = dynamic, cardinality = 0..n, target = null, bind = bindConnectionProperties, unbind = unbindConnectionProperties]

 

!ENTRY org.eclipse.equinox.ds 1 0 2015-10-19 09:59:34.546
!MESSAGE Could not bind a reference of component com.sap.it.ds.intrsp.md.api. The reference is: Reference[name = IDataSource, interface = com.sap.it.ds.intrsp.md.api.IDataSource, policy = dynamic, cardinality = 0..n, target = null, bind = bindDataSource, unbind = unbindDataSource]

 

!ENTRY org.eclipse.equinox.ds 1 0 2015-10-19 09:59:34.549
!MESSAGE Could not bind a reference of component com.sap.it.ds.intrsp.md.api. The reference is: Reference[name = IQueryBuilder, interface = com.sap.it.ds.intrsp.md.api.service.IQueryBuilderService, policy = dynamic, cardinality = 0..n, target = null, bind = bindQueryBuilder, unbind = unbindQueryBuilder]

 

!ENTRY org.eclipse.equinox.ds 1 0 2015-10-19 09:59:34.551
!MESSAGE Could not bind a reference of component com.sap.it.ds.intrsp.md.api. The reference is: Reference[name = IMetadataService, interface = com.sap.it.ds.intrsp.md.api.service.IMetadataService, policy = dynamic, cardinality = 0..n, target = null, bind = bindMetadataService, unbind = unbindMetadataService]

 

!ENTRY org.eclipse.equinox.ds 1 0 2015-10-19 09:59:34.554
!MESSAGE Could not bind a reference of component com.sap.it.ds.intrsp.md.api. The reference is: Reference[name = ICertManagerFacade, interface = com.sap.it.ds.intrsp.md.api.ICertManagerFacade, policy = dynamic, cardinality = 0..n, target = null, bind = bindCertManager, unbind = unbindCertManager]

 

!ENTRY org.eclipse.equinox.ds 1 0 2015-10-19 09:59:34.624
!MESSAGE Could not bind a reference of component com.sap.it.ifl.common.core.generation.manager. The reference is: Reference[name = IPostGeneratorHandler, interface = com.sap.it.gnb.ifl.common.gen.pluggability.api.IPostGeneratorHandler, policy = dynamic, cardinality = 0..n, target = null, bind = bindPostGenerationHandler, unbind = null]

 

!ENTRY org.eclipse.equinox.ds 1 0 2015-10-19 09:59:34.627
!MESSAGE Could not bind a reference of component com.sap.it.ifl.common.core.generation.manager. The reference is: Reference[name = IFlowReferenceResolverImpl, interface = com.sap.it.gnb.ifl.common.gen.pluggability.api.IResourceProvider, policy = dynamic, cardinality = 0..1, target = null, bind = bindIFlowReferenceResolver, unbind = null]

 

!ENTRY org.eclipse.equinox.ds 1 0 2015-10-19 09:59:34.654
!MESSAGE Could not bind a reference of component com.sap.it.core.ifl.common.ssc.nodeprofile. The reference is: Reference[name = NodeStackProfileAccess, interface = com.sap.it.nm.profile.NodeStackProfileAccess, policy = dynamic, cardinality = 0..1, target = null, bind = bindNodeStackProfileAccess, unbind = unbindNodeStackProfileAccess]

 

!ENTRY org.eclipse.equinox.ds 1 0 2015-10-19 09:59:34.661
!MESSAGE Could not bind a reference of component com.sap.it.gnb.ifl.common.checks. The reference is: Reference[name = IComponentCheck, interface = com.sap.it.gnb.ifl.common.validation.api.IComponentCheck, policy = dynamic, cardinality = 0..n, target = null, bind = bindComponentCheck, unbind = null]

 

!ENTRY org.eclipse.equinox.ds 1 0 2015-10-19 09:59:34.752
!MESSAGE Could not bind a reference of component com.sap.it.gnb.ifl.common.manifest.manager. The reference is: Reference[name = IManifestHandler, interface = com.sap.it.gnb.ifl.common.manifest.IManifestHandler, policy = dynamic, cardinality = 0..1, target = null, bind = bindContributors, unbind = null]

 

!ENTRY org.eclipse.equinox.ds 1 0 2015-10-19 09:59:34.788
!MESSAGE Could not bind a reference of component com.sap.it.gnb.ifl.common. The reference is: Reference[name = IExternalPropertySource, interface = com.sap.it.ifl.core.common.param.IExternalPropertySource, policy = dynamic, cardinality = 0..1, target = null, bind = bindExternalPropertySource, unbind = null]

 

!ENTRY org.eclipse.equinox.ds 1 0 2015-10-19 09:59:34.965
!MESSAGE Could not bind a reference of component com.sap.it.ide.ifl.avatar.runtime.load.WsdlGenerator. The reference is: Reference[name = WsdlGeneratorReference, interface = com.sap.it.gnb.ifl.wsdl.generator.api.IWsdlGenerator, policy = dynamic, cardinality = 0..1, target = null, bind = setWsdlGenerator, unbind = unsetWsdlGenerator]

 

!ENTRY org.eclipse.core.resources 2 10035 2015-10-19 09:59:35.786
!MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes.

 

!ENTRY org.eclipse.equinox.ds 1 0 2015-10-19 09:59:36.047
!MESSAGE Could not bind a reference of component com.sap.it.mapping.mm.serializer.factory. The reference is: Reference[name = Serializer, interface = com.sap.it.mapping.mm.serializer.Serializer, policy = dynamic, cardinality = 0..n, target = null, bind = addSerializer, unbind = removeSerializer]

 

!ENTRY org.eclipse.emf.ecore 2 0 2015-10-19 09:59:36.495
!MESSAGE Both 'com.sap.adt.datapreview.core.model' and 'com.sap.adt.datapreview.core.model' register an extension parser for 'model'

 

!ENTRY org.eclipse.emf.ecore 2 0 2015-10-19 09:59:36.512
!MESSAGE Both 'com.sap.adt.ddic.view' and 'com.sap.ndb.studio.view.model' register an extension parser for 'view'

 

!ENTRY org.eclipse.emf.ecore 2 0 2015-10-19 09:59:36.519
!MESSAGE Both 'com.sap.ndb.studio.model.data' and 'com.sap.ide.ui5.ctrl.metamodel' register an extension parser for 'type'

 

!ENTRY org.eclipse.ui 2 0 2015-10-19 09:59:37.593
!MESSAGE Warnings while parsing the commands from the 'org.eclipse.ui.commands' and 'org.eclipse.ui.actionDefinitions' extension points.
!SUBENTRY 1 org.eclipse.ui 2 0 2015-10-19 09:59:37.594
!MESSAGE Commands should really have a category: plug-in='com.sap.ndb.studio.view.ui',
id='com.sap.ndb.studio.ui.commands.copyColumnViewName', categoryId='com.sap.ndb.studio.ui.category'

 

!ENTRY org.eclipse.ui 2 0 2015-10-19 09:59:38.451
!MESSAGE Warnings while parsing the commands from the 'org.eclipse.ui.commands' and 'org.eclipse.ui.actionDefinitions' extension points.
!SUBENTRY 1 org.eclipse.ui 2 0 2015-10-19 09:59:38.451
!MESSAGE Commands should really have a category: plug-in='com.sap.ndb.studio.view.ui', id='com.sap.ndb.studio.ui.commands.copyColumnViewName', categoryId='com.sap.ndb.studio.ui.category'

 

!ENTRY org.eclipse.equinox.preferences 4 2 2015-10-19 09:59:40.832
!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.equinox.preferences".
!STACK 0
org.eclipse.swt.SWTException: Invalid thread access at org.eclipse.swt.SWT.error(SWT.java:4491) at org.eclipse.swt.SWT.error(SWT.java:4406) at org.eclipse.swt.SWT.error(SWT.java:4377) at org.eclipse.swt.widgets.Display.error(Display.java:1258) at org.eclipse.swt.widgets.Display.checkDevice(Display.java:764) at org.eclipse.swt.widgets.Display.disposeExec(Display.java:1203) at org.eclipse.jface.resource.ColorRegistry.hookDisplayDispose(ColorRegistry.java:261) at org.eclipse.jface.resource.ColorRegistry.(ColorRegistry.java:124) at org.eclipse.jface.resource.ColorRegistry.(ColorRegistry.java:107) at org.eclipse.ui.internal.themes.WorkbenchThemeManager.init(WorkbenchThemeManager.java:135) at org.eclipse.ui.internal.themes.WorkbenchThemeManager.getCurrentTheme(WorkbenchThemeManager.java:259) at org.eclipse.ui.internal.editors.text.EditorsPluginPreferenceInitializer.setThemeBasedPreferences(EditorsPluginPreferenceInitializer.java:50) at org.eclipse.ui.texteditor.AbstractDecoratedTextEditorPreferenceConstants.initializeDefaultValues(AbstractDecoratedTextEditorPreferenceConstants.java:751) at org.eclipse.ui.editors.text.TextEditorPreferenceConstants.initializeDefaultValues(TextEditorPreferenceConstants.java:259) at org.eclipse.ui.internal.editors.text.EditorsPluginPreferenceInitializer.initializeDefaultPreferences(EditorsPluginPreferenceInitializer.java:43) at org.eclipse.core.internal.preferences.PreferenceServiceRegistryHelper$1.run(PreferenceServiceRegistryHelper.java:300) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.core.internal.preferences.PreferenceServiceRegistryHelper.runInitializer(PreferenceServiceRegistryHelper.java:303) at org.eclipse.core.internal.preferences.PreferenceServiceRegistryHelper.applyRuntimeDefaults(PreferenceServiceRegistryHelper.java:131) at org.eclipse.core.internal.preferences.PreferencesService.applyRuntimeDefaults(PreferencesService.java:368) at org.eclipse.core.internal.preferences.DefaultPreferences.applyRuntimeDefaults(DefaultPreferences.java:221) at org.eclipse.core.internal.preferences.DefaultPreferences.load(DefaultPreferences.java:274) at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:409) at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:670) at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:812) at org.eclipse.core.internal.preferences.AbstractScope.getNode(AbstractScope.java:38) at org.eclipse.core.runtime.preferences.DefaultScope.getNode(DefaultScope.java:76) at org.eclipse.ui.preferences.ScopedPreferenceStore.getDefaultPreferences(ScopedPreferenceStore.java:238) at org.eclipse.ui.preferences.ScopedPreferenceStore.getPreferenceNodes(ScopedPreferenceStore.java:269) at org.eclipse.ui.preferences.ScopedPreferenceStore.contains(ScopedPreferenceStore.java:331) at org.eclipse.ui.texteditor.ChainedPreferenceStore.getVisibleStore(ChainedPreferenceStore.java:529) at org.eclipse.ui.texteditor.ChainedPreferenceStore.contains(ChainedPreferenceStore.java:146) at org.eclipse.xtext.builder.EclipseOutputConfigurationProvider.getBoolean(EclipseOutputConfigurationProvider.java:171) at org.eclipse.xtext.builder.EclipseOutputConfigurationProvider.createAndOverlayOutputConfiguration(EclipseOutputConfigurationProvider.java:142) at org.eclipse.xtext.builder.EclipseOutputConfigurationProvider.createAndOverlayOutputConfiguration(EclipseOutputConfigurationProvider.java:151) at org.eclipse.xtext.builder.EclipseOutputConfigurationProvider.getOutputConfigurations(EclipseOutputConfigurationProvider.java:110) at org.eclipse.xtext.builder.BuilderParticipant.getOutputConfigurations(BuilderParticipant.java:580) at org.eclipse.xtext.builder.BuilderParticipant.build(BuilderParticipant.java:203) at org.eclipse.xtext.builder.impl.RegistryBuilderParticipant$DeferredBuilderParticipant.build(RegistryBuilderParticipant.java:161) at org.eclipse.xtext.builder.impl.RegistryBuilderParticipant.build(RegistryBuilderParticipant.java:69) at org.eclipse.xtext.builder.impl.XtextBuilder.doBuild(XtextBuilder.java:252) at org.eclipse.xtext.builder.impl.XtextBuilder.fullBuild(XtextBuilder.java:280) at org.eclipse.xtext.builder.impl.XtextBuilder.build(XtextBuilder.java:117) at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:734) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:205) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:245) at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:300) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:303) at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:359) at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:382) at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:144) at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:235) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

 

!ENTRY org.apache.log4j 2 0 2015-10-19 09:59:41.151
!MESSAGE com.sap.i18n.cp.ConvertSimpleBase  - Load shortcut failed. RscpInfo: Load shortcut failed.
InCp: 0100 OutCp: 0000
Rscp return code: 2048
Rscp error info:
.------------------------------============----------------------------. |                              RSCP - Error                            | | Error from:             Codepage handling (RSCP)                     | | code: 2048  RSCPENOCONV  Wanted conversion not available.            | | no shortcut conversion table                                         | | module: rscpc    no:  259 line: 22257                    T100: TS012 | | TSL01: CP9  p3: len=1,data=00                                        | |             p4: (0100->4103): kind of T1 entry 536870912             | `----------------------------------------------------------------------'

 

!ENTRY org.eclipse.ui 4 0 2015-10-19 09:59:41.549
!MESSAGE Unhandled event loop exception
!STACK 0
java.lang.NullPointerException at org.eclipse.ui.internal.themes.Theme.(Theme.java:94) at org.eclipse.ui.internal.themes.WorkbenchThemeManager.getTheme(WorkbenchThemeManager.java:307) at org.eclipse.ui.internal.themes.WorkbenchThemeManager.getTheme(WorkbenchThemeManager.java:317) at org.eclipse.ui.internal.themes.WorkbenchThemeManager.doSetCurrentTheme(WorkbenchThemeManager.java:232) at org.eclipse.ui.internal.themes.WorkbenchThemeManager.setCurrentTheme(WorkbenchThemeManager.java:346) at org.eclipse.ui.internal.themes.WorkbenchThemeManager.getCurrentTheme(WorkbenchThemeManager.java:270) at org.eclipse.ui.internal.Workbench$29.runWithException(Workbench.java:1803) at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:32) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4155) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3772) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2949) at org.eclipse.ui.internal.Workbench.access$8(Workbench.java:2854) at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:651) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:598) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:139) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:669) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:608) at org.eclipse.equinox.launcher.Main.run(Main.java:1515)

Scheduling stored procedures via XS jobs

$
0
0

Hi,

I have a stored procedure that accepts a parameter. Like ProcedureExample('<SchemaName>').

Now I need it become schedulable via an XS job through the XS dashboard.

Unfortunately, I don't have a clue on how to start on this.

I found some links but no examples of how to do this but none of them explain how I can make the job pass parameters.

 

It would be a great help if someone could post an example.

 

Thanks,

SHyam

Association in XSDS with Unmanged Mode

$
0
0

Hi Experts,

 

Thomas Jung

 

I am trying to build an associations for two table VBRK and VBRP. Below is the syntax but we are not seeing the items in the output.

Please let me know anything wrong in the syntax.

 

var oDocItems = XSDS.$defineEntity("oDocsItems", '"SAPRHE"."VBRP"');

var oDocs = XSDS.$defineEntity("oDocs", '"SAPRHE"."VBRK"', {

  items: {

 

  $association:{

  $entity: oDocItems,

     $on: "$SOURCE.\"items\".\"VBELN\" == $SOURCE.\"VBELN\""

            }

         }

  });

  var oResult = oDocs.$query().$execute();

 

 

Thanks,

Naga

My Hana Trial landscape account does not have System Privileges

$
0
0

I've recently created a new Hana Trial account (Developer license, p***....trial), and do not have System Privileges. I'm unable to :

1. Open the Administration Console after adding my Cloud System

2. Do not see _SYS_BIC schema, and cannot even grant privileges to view that schema

3. Unable to do a Data Preview of my views (it throws an unauthorized user error), and it won't let me grant privileges as I don;t have a System ID login.

 

My understanding is that I should be the Admin on this trial account (I'm the only user, and have installed Hana Tools on Eclipse Mars on Mac OSX).

 

How can I get the Admin access?

 

Thanks in advance for any help on this.


Parallel processing

$
0
0

Hello All

 

I have a requirement to call 3 different stored procedure/views from XSJS. All 3 objects are similar (input params, columns).

I am trying to understand, if i can make a call to HANA DB (paralelly, all 3 calls together). so that, the time to get results will be 1/3 if we call the objects serially.

 

I have seen, something about the scheduling feature. But, this does not suit my requirement.

 

Any help/guidance in this regard would be very much appreciated.

 

btw, I am on SPS 10

 

Regards

Giri

Calling parameterized Cal View, from HANA Stored Procedure

$
0
0

Hi All

 

I have a requirement to call a parameterized view from a Stored Procedure. This is the first time that, I am writing a stored procedure.

Hence need your help, to get me the syntax.

 

This was my sql script (before converting the view to parameterized)

 

OUT_TT_INVENTORY = SELECT "Material" as "material", "Location" as "location", "InventoryCategory" as "inventoryCategory",

  "Value" as "value" FROM "_SYS_BIC"."getInventory" p, :IN_MATERIAL m, :IN_LOCATION l

  WHERE LOWER(p."Material") = LOWER(LPAD(m."paramValue", 18, 0)) AND LOWER(p."Location") = LOWER(LPAD(l."paramValue", 10, '0'))

  ORDER BY "material", "location", "inventoryCategory";

 

Can someone suggest me how to modify this SQL script? (to include PLACEHOLDER for getInventory view, in the above script)

 

I am on SPS10

 

Thanks for your replies

 

Regards

Giri

How to call HANA store procedure in XS?

$
0
0

Dear all,

 

I am developing a application using HANA XS and UI5.

 

I created a web interface with a table view and connected the JSON model to SAP HANA via OData.

 

I would like to run a stored procedure on HANA which is triggered before Data are loaded.

What would be the best way to call this stored procedure from XS?

 

Thank you in advance.

 

Regards,

Matthias

SAP HANA Smart Data Access - realtime replication

$
0
0

Hello,

 

I tried to setup a realtime data replication like in the video: SAP HANA Academy - Smart Data Integration/Quality : SAP ECC Replication [SPS09] - YouTube

I have connected an Micrsosoft SQL Server as Remote Resouce with the Smart Data Access and added a virtual table for replication.

Now I would like to create a Flowgraph Model for realtime data replication.

I have selected Flowgraph for Activation as Task Plan and selected the virtual table as data source. The target is a Data Sink (template table).

I have selected realtime behaviour in the containerNode as well as in the data source. The activation of the flowgraph model was successful.

If I try to call the created procedure to start the task plan I get to error:

Could not execute 'call "MSSQL"."MSSQL::realtime_SP"' in 262 ms 426 µs .

[129]: transaction rolled back by an internal error:  [129] "MSSQL"."MSSQL::realtime_SP": line 5 col 1 (at pos 98): [129] (range 3): transaction rolled back by an internal error: sql processing error: QUEUE: MSSQL::realtime_RS: Failed to add subscription for remote subscription MSSQL::realtime_RS.Error: exception 151050: CDC add subscription failed: Unable to obtain agent name where remote source id = 153481

 

Is it possible to solve this issue?

Or is a running SAP Hana Data Provisioning Agent necessary for the realtime replication?

 

Best regards,

Marc

AMDP SQL dump with code : 314 (Numeric Overflow)

$
0
0

Hi All,

 

I seek an help here from the experts.

 

For my AMDP i get an error with SQL code : 314 which is for NUMERIC OVERFLOW.

 

For one of my SQL queries : select ( A * B ) as "C", amdp dumps with SQL code 314.

 

sometimes : A might be as big as 259303135 and B might be as big as 259303135. Thus, C might get very big.

 

I have tried declaring C as double as well, still i get the dump.

 

Kindly suggest.

 

Regards,

Sushmita

Viewing all 6745 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>