What data is available through SAP JCo - sap

Correct me if i am wrong
SAP JCo provides SAP system, process and OS related data.
Is there any document or any place where all the data is enlisted?
and What BAPi tables are required to access this data?

JCo is used to call some functions in SAP. Those functions must be prepared for this kind of call (remote enabled).
You can get an idea of the functions available via the answers to the following questions :
how to search for available functions on sap
sap and jco3 : print a list of BAPI

You don't access data directly through JCo, you usually call remote-enabled function modules to get your data from the system. There are also function modules that can read table data and return the column values.
There is no complete list of all available function modules. The available function modules depend on the system you're running (4.6, 4.7, mySAP ERP 2005, ECC 6.0 with or without Enhancement Packages). For an (incomplete) overview have a look at the BAPI transaction.

Related

Does the SAP B1 Service Layer require HANA backend?

In the available documentation about the Service Layer I have read, that there is a requirement to run a HANA backend, if the Service Layer is to be used. This info can be found e.g. here:
https://help.sap.com/doc/0d2533ad95ba4ad7a702e83570a21c32/9.3/en-US/Working_with_SAP_Business_One_Service_Layer.pdf (the document is labelled for SAP HANA as well, I am not finding one without such a descriptor)
However in a different StackOverflow question I have seen a similar comment, referring to the HANA requirement, which was later crossed out:
The Business One installer has an option to install an SDK component. This contains a CHM format help file containing information on DI-API, DI-Server and UI-API (but not Service Layer which is for Hana version only) as well as database schema.
There is however no further explanation as to why. So my question then is:
Does the Service Layer for SAP B1 require a HANA backend or is that not a valid requirement (anymore)?
From This Document regarding features and upgrades for SAP b1 Version 10
https://help.sap.com/doc/1e149715909a4d8ea8920df5513eb64c/10.0/en-US/SAP_Business_One_10.0_Highlights.pdf
on page 5 under Platform | Extensibility it says:
Service Layer Enable for Microsoft SQL Server
There is also an Updated Version of the Document you posted, which contains multiple examples for Microsoft Sql Server.
Working with SAP Business One Service Layer
version 1.23:
https://help.sap.com/doc/6ab840ef2e8140f3af9eeb7d8fef9f06/10.0/en-US/Working_with_SAP_Business_One_Service_Layer.pdf
so HANA is no longer a requirement.

How can i use some SAP scripting from windev?

I have a windev programm that needs to access some SAP data.
Because of my company's restrictions, i cannot use the SAP native access provided with WinDev.
So, How can I use vba code that uses SAP from windev?
This is for a .exe programm for Windows. I need to go through the SAP GUI, so SAP GUI scripting is used.
Unfortunately, due to my company's restrictions, i do not have any code to show.
I finally found an answer !
To use SAP Scripting without using the native access, you can use a Batch file to run your SAP Scripting file.
That is one way of doing it. You can also use an excel file, with macros, and analyze your data there before using those in Windev.
Sure it is a complicated way to do things, but if your company does not allow you to directly read SAP database's tables, you can do it using this method.

Generic ODBC remote source in SAP HANA SDI/SDA

Has anyone been able to create in SAP HANA a Generic ODBC remote source for a database other than MSSQL/Oracle/Netezza/ASE -- in other words, where you'd have to select a datasource "Generic ODBC" and then likely implement your own property/configuration file.
I'm trying to configure this on top of an Apache Drill ODNBC driver. I am able to successfully test System DSN using iSQL utility, but Remote Source creation fails with an error message citing problems loading the driver file -- a rather cryptic one.
I'm in the middle of an exchange with OSS, but so far they seem to be reluctant to accept it as a product fault. I'd like to see if there are successful cases for Generic ODBC in HANA at all.
I don't think it's supported.
Every ODBC source type must have all its capabilities described.
This is required to map datatypes, functions and features.
What you can do is replace an existing odbc source.
For instance you can change the file config/property_ntz.ini to create a valid description of the capabilities of apache drill. From the HANA side, just declare it as a netezza.
If it makes sense to support Apache drill, as an SAP employee myself I could trigger a discussion internally.

How do I access netsuite data using SQL language

A company uses netsuites to make purchase orders and store sales information. The only way this company is able to access this information at the moment is through building netsuites reports
Is there a way SQL language could be written to access the netsuites data as some of the questions asked by the business need something a bit more complex than what netsuites reporting provides - and sound very easy using SQL language
I have experience in Oracle, mysql, and many other SQL languages so I would like to know how to set up a connection to the companies netsuites data so I can help write custom queries
Netsuite has SuiteAnalytics Connect, which is ODBC. It can be downloaded from a link at the very bottom the home screen of your Netsuite account.
After installation of the application bundle and connecting it to your Netsuite, you can write ORACLE SQL queries via Excel, Access, etc. My experience is that Netsuite uses Oracle SQL in ODBC queries and in Saved Search custom queries.
The way I understand it, the ODBC driver is a separately priced item from NetSuite. Once you have that, you could use Excel, Access, Crystal Reports or anything else that can use the ODBC driver to read the data and write queries against it.
The normal way to access NetSuite data is with SuiteScript -- javascript code that uses the nlapi* calls to get to the data.
You can access Netsuite backend using a number of different tools and it allows running Oracle SQL directly.
Netsuite provides JDBC, ADO.NET and ODBC if it was included in your licensing purchase. You can find the downloads from the main menu - lower left hand of the screen in Settings - Set Up SuiteAnalytics Connect.
ADO.net however is pretty worthless in SSIS as it doesn't allow parameter mapping or SQL from a variable value. I have yet to get the ODBC driver to work correctly - it can connect and show columns of a table but it won't validate saying "The ODBC Source.Outputs[ODBC Source Error Output].Columns[...] on the error output has properties that do not match the properties of its corresponding data source column."
The other options I'm looking into are Cozyroc and Kinsgwaysoft adapters for Netsuite. You could also do SOAP or REST connections if desired.
I've not used this, but there should as of 2014.2 there is an ODBC driver available for read access.
http://www.netsuite.com/portal/landing/2014-2/suiteanalytics.shtml
As previously mentioned, if you have it licensed you can download the ODBC driver from the Netsuite application. I tested some other adapters but found Netsuite's at least as good as the competitors and they provide timely security updates to the drivers as well as both 64 and 32 bit versions.
There are also metadata browsers that are on the net (example is URL below), the type of browser being based on which kind of access you are looking at (web services, verses ODBC, etc).
https://system.sandbox.netsuite.com/help/helpcenter/en_US/srbrowser/Browser2017_2/odbc/record/account.html
Within the application GUI there is information you need to connect using their ODBC connection (you need the account id and the role id). The URL is just odbcserver.xxxx.netsuite.com where xxx is specific to your environment you are accessing. Note that other adapters such as Cozyroc, etc. require the admin to setup connections in Netsuite for those.
Here is a list of the main metadata tables:
OA_FKEYS
OA_TABLES
OA_COLUMNS
In addition, note that the URL above does NOT include customization. Plus its not easily consumed by automation tools. But Netsuite provides a set of metadata views within the repository which you can use ODBC to pull from which includes all keys - foreign and primary. AND it does include customizations! I built simple set of ETL jobs that use standard ADO.NET driver within SSIS and the ODBC DSN to pull all the metadata and then use BIML to automatically generate all the extract ETL and related staging tables. You can also easily then use the metadata to detect changes in the underlying database.
Let me know if I can be any help with doing any of this.
There are 3rd party tools, like CData ODBC Adapter for NetSuite: http://www.cdata.com/drivers/netsuite/odbc/ . This tool allows you to run standard SQL against the NetSuite API. Note that the NetSuite API presents a very different data model from that of the native NetSuite ODBC.
With this tool, you install in onto your machine (Win in my case) and then after you configure the driver, you can run SQL against it (the driver config is where you specify your NS credentials, etc.).
It revolutionizes access to NetSuite data IMHO.
Download the Netsuite ODBC drivers, set up your DSN locally with server/credentials, Use SSIS pkgs to automate data extract and load onto you local DB. Use ADO.NET drivers if preferred. Then utilize those tables to create/deliver your complex reports using SQL (stored procedures) and Reporting Services. This will require SQL Standard license at minimum though.
Only API call can access the NetSuite data
You can't access to Netsuite data using sql language.
The only way to gain access to Netsuite from third party systems is to use SOAP request or PHP toolkit.

How to load data from SQL Server to SAP BW using SSIS

I would like to load data from SQL server to SAP BW using SSIS. Could some one help me on it how can i do it. Currently i am using sql server 2005.
Why would you use SSIS for that?
I would recommend either load using SAP BW standard anyDB source system or using BO Data Services.
Both do it natively and well.
If you insist, look at:
https://theobald-software.com/en/xtract-is-productinfo.html
They have the following feature:
Xtract IS BW Loader
With the Xtract IS BW Loader data target, you can reroute data streams within your SSIS data flow directly in your SAP BW system.
The corresponding BW InfoPackage is automatically triggered and filled in.
Of course, the component is based exclusively on the required SAP standard (staging BAPIs for third-party vendors).
The following screenshot shows how the pipeline elements can be linked within the Integration Services with the transfer structure.