What is Data source? How to create a datasource?
Hi All,
anybody could you explain me What is Data source and how to create data source?
How it is related to BW.
Points will be rewarded for all the useful answers.
Priya.
Hi Priya,
You can Create DataSource for Different Source systems.
Chech these URLs.
http://help.sap.com/saphelp_nw04s/helpdata/en/43/01ed2fe3811a77e10000000a422035/content.htm
http://help.sap.com/saphelp_nw04s/helpdata/en/43/00153831035167e10000000a1553f6/content.htm
http://help.sap.com/saphelp_nw04s/helpdata/en/42/fdccb72aa95277e10000000a1553f7/content.htm
http://help.sap.com/saphelp_nw04s/helpdata/en/43/93dbdbff0b274ee10000000a422035/content.htm
http://help.sap.com/saphelp_nw04s/helpdata/en/43/03b1f4dc636e72e10000000a422035/content.htm
steps in 'how to delta generic datasource'
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/84bf4d68-0601-0010-13b5-b062adbb3e33
/message/3471234#3471234 [original link is broken]
Re: How to create datasource
<b>Reward points for helpful answers</b>
Satish
Similar Messages
-
How to do Enhancements in Reporting & What is Role and How to create Roles
Hi All,
Can any one tell How to do Enhancements in Reporting, and also What is Role and How to create Roles in Reporting?
Plz reply back me on [email protected]
Regards,
KiranReporting Enhancement - RSR00001 - BW: Enhancements for global variables in reporting
And using the SAP Exit - EXIT_SAPLRRS0_001
RSR00001- With this enhancement to global variables in reporting you have the option of determining your default values for variables. You can use this enhancement for variables, for which 'Processing by Customer-Exit' has been selected in the variable maintenance. This is valid for all variable types (characteristic value, node, hierarchy, formula and text variables). You use the Exit EXIT_SAPLRRS0_001 for this.
The Enhancement component (RSR00001) must be assigned to a Project Created using the Transaction CMOD. On activating the Project, the Exit would become active and in turn the logic written inside the Exit.
To ensure that the data warehousing soultion reflects your company's structure and business needs it is critical that you establish who is authorized to access the data.With SAP BW, Authorizations can be defined and maintained by object and can also be applied to hierarchies and these authorizations can be inserted into roles that are used to determine what type of content is available to specific users or user groups.
T-code for Role maintainence -PFCG.
Please assign points if it is useful.
Regards
Pavan Prakhya -
How to create a datasource for 0COSTCENTER to load data in csv file in BI
how to create a datasource for 0COSTCENTER to load data in csv file in BI 7.0 system
can you emil me the picture of the step about how to loaded individual values of the hierarchy using CSV file
thank you very much
my emil is <Removed>
allenStep 1: Load Required Master Data for 0CostCenter in to BI system
Step 2: Enable Characteristics to support Hierarchy for this 0Cost Center and specify the External Characteristic(In the Lowest Node or Last Node) while creation of this Characteristic InfoObject
Step 3: On Last Node of Hierarchy Structure in the InfoObject, Right Click and then Create Hierarchy MANUALLY by Inserting the Master Data Value as BI dosent Support the Hierarchy load directly you need to do it manually....
Step 4: Mapping
Create Text Node thats the first node (Root Node)
Insert Characteristic Nodes
Insert the Last Node of the Hierarchy
Then you need to create a Open hub Destination for extracting data into the .csv file...
Step1 : Create the Open Hub Destination give the Master Data table name and enter all the fields required....and create the transformations for this Open Hub connecting to the External file or excel file source...then give the location on to your local disk or path of the server in the first tab and request for the data...It should work alright let me know if you need anything else...
Thanks,
Sandhya -
Data source cannot be created : MAPVIEWER-00011: Error creating a map data
Hi everyone,
i am getting an error meaasge while creating datasource
" Data source cannot be created : MAPVIEWER-00011: Error creating a map data source."
pls helpYou should assign only one value to jdbc_sid. Try with this
<map_data_source name="mvdemo"
jdbc_host="localhost"
jdbc_sid="orcl"
jdbc_port="1521"
jdbc_user="mvdemo"
jdbc_password="!mvdemo"
jdbc_mode="thin"
number_of_mappers="3"
allow_jdbc_theme_based_foi="false"
/>
Make sure that oracle sid is 'ORCL'
Sujnan -
Error on clicking "Report Data Source" in library created using power pivot template
Hi,
On clicking on "Report Data Source" in library created using power pivot template i am getting below exception. Can some one help me in understanding the root cause / fix it.
Error being shown: Microsoft.ReportingServices.SharePoint.SharedService.Client.RecoverableCommunicationException: The content type text/html; charset=utf-8 of the response message does not match the content type of the binding (application/soap+msbin1).
If using a custom encoder, be sure that the IsContentTypeSupported method is implemented properly. The first 1024 bytes of the response were: '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>IIS 8.0 Detailed Error - 500.19 - Internal Server Error</title> <style type="text/css"> <!-- body{margin:0;font-size:.7em;font-family:Verdana,Arial,Helvetica,sans-serif;}
code{margin:0;color:#006600;font-size:1.1em;font-weight:bold;} .config_source code{font-size:.8em;color:#000000;} pre{margin:0;font-size:1.4em;word-wrap:break-word;} ul,ol{margin:10px 0 10px 5px;} ul.first,ol.first{margin-top:5px;}
fieldset{padding:0 15px 10px 15px;word-break:break-all;} .summary-container fieldset{padding-bottom:5px;margin-top:4px;} legend.no-expand-all{padding:2px 15px 4px 10px;margin:0 0 0 -12px;} legend{color:#333333;;margin:4px 0 8px -12px;_margin-top:0px;
font-weight:bold;font-size:1em;} a:link,a:visited{color:#007EFF;font-weight:bold;} a:hover{text-decoration:none;} h1{font-size:2.4em;margin:0;color:#FFF;} h2{font-size:1.7em;margin:0'. ---> System.ServiceModel.ProtocolException:
The content type text/html; charset=utf-8 of the response message does not match the content type of the binding (application/soap+msbin1). If using a custom encoder, be sure that the IsContentTypeSupported method is implemented properly. The first 1024
bytes of the response were: '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>IIS
8.0 Detailed Error - 500.19 - Internal Server Error</title> <style type="text/css"> <!-- body{margin:0;font-size:.7em;font-family:Verdana,Arial,Helvetica,sans-serif;} code{margin:0;color:#006600;font-size:1.1em;font-weight:bold;}
.config_source code{font-size:.8em;color:#000000;} pre{margin:0;font-size:1.4em;word-wrap:break-word;} ul,ol{margin:10px 0 10px 5px;} ul.first,ol.first{margin-top:5px;} fieldset{padding:0 15px 10px 15px;word-break:break-all;}
.summary-container fieldset{padding-bottom:5px;margin-top:4px;} legend.no-expand-all{padding:2px 15px 4px 10px;margin:0 0 0 -12px;} legend{color:#333333;;margin:4px 0 8px -12px;_margin-top:0px; font-weight:bold;font-size:1em;} a:link,a:visited{color:#007EFF;font-weight:bold;}
a:hover{text-decoration:none;} h1{font-size:2.4em;margin:0;color:#FFF;} h2{font-size:1.7em;margin:0'. ---> System.Net.WebException: The remote server returned an error: (500) Internal Server Error.
at System.Net.HttpWebRequest.GetResponse()
at System.ServiceModel.Channels.HttpChannelFactory`1.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout) -
-- End of inner exception stack trace --- Server stack trace:
at System.ServiceModel.Channels.HttpChannelUtilities.ValidateRequestReplyResponse(HttpWebRequest request, HttpWebResponse response, HttpChannelFactory`1 factory, WebException responseException, ChannelBinding channelBinding)
at System.ServiceModel.Channels.HttpChannelFactory`1.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout)
at System.ServiceModel.Channels.RequestChannel.Request(Message message, TimeSpan timeout)
at System.ServiceModel.Channels.SecurityChannelFactory`1.SecurityRequestChannel.Request(Message message, TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message) Exception rethrown
at [0]:
at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
at Microsoft.ReportingServices.ServiceContract.IReportServiceManagement.get_IsWebServiceEnabled()
at Microsoft.ReportingServices.SharePoint.SharedService.Client.ReportingWebServiceApplicationProxy.<>c__DisplayClass8`1.<ExecuteOnApplication>b__6(IReportServiceManagement proxy, Int32 dummy)
at Microsoft.ReportingServices.SharePoint.SharedService.Client.ReportingWebServiceApplicationProxy.ExecuteOnChannel[T](String siteUrl, String xmlNamespace, Action`2 method, IChannel channel, Int32 maxFaultSize)
at Microsoft.ReportingServices.SharePoint.SharedService.Client.ReportingWebServiceApplicationProxy.HandleExecuteOnChannel[T](String siteUrl, String xmlNamespace, Action`2 method, SPServiceLoadBalancerContext loadBalancerContext) -
-- End of inner exception stack trace ---
at Microsoft.ReportingServices.SharePoint.SharedService.Client.ReportingWebServiceApplicationProxy.HandleExecuteOnChannel[T](String siteUrl, String xmlNamespace, Action`2 method, SPServiceLoadBalancerContext loadBalancerContext)
at Microsoft.ReportingServices.SharePoint.SharedService.Client.ReportingWebServiceApplicationProxy.ExecuteOnApplication[T](String operationName, String siteUrl, String xmlNamespace, Action`2 method)
at Microsoft.ReportingServices.SharePoint.SharedService.Client.ReportingWebServiceApplicationProxy.Invoke[T](SPServiceContext serviceContext, String operationName, String siteUrl, String xmlNamespace, Guid serviceInstanceId, Action`2 method)
at Microsoft.ReportingServices.SharePoint.SharedService.Client.ReportingWebServiceClient.Execute[TResult](String methodName, Func`2 action)
at Microsoft.ReportingServices.SharePoint.UI.BaseRSLayoutPage.ValidateReportServerConnection(SrvProxy rsProxy)
Followed steps from below link :
http://www.mssqltips.com/sqlservertip/3004/getting-started-with-power-view-reports-with-sharepoint-excel-and-sql-server/
Thanks,
VenugopalHi Venugopal,
Please refer to the blogs below and see if it works for your case:
http://sharepointerthilosh.blogspot.com/2013/10/sharepoint-2013-reports-unexpected.html
http://badalratra.wordpress.com/2014/03/13/error-the-content-type-texthtml/
To create a Power View report, start Power View from a
data model file in SharePoint Server 2010 or 2013. Models, or connections to models, can be in a SharePoint Server document library or in a
Power Pivot Gallery, a special purpose SharePoint Server document library that provides rich preview and document management for published Microsoft Excel workbooks that contain data models.
Please refer to the links below to get report in Power View in SharePoint server:
http://office.microsoft.com/en-in/excel-help/power-view-in-sharepoint-server-create-save-and-print-reports-HA102834736.aspx
http://office.microsoft.com/en-in/excel-help/create-a-connection-to-a-data-model-for-power-view-HA102835737.aspx
Regards,
Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Subscriber Support, contact
[email protected] .
Rebecca Tu
TechNet Community Support -
What to do? how to create?this iphone activated limit the number of free accounts icloud
Thanks for the help!
Unfortunately, the proposed option does not help you, as before when trying to check in icloud you see the same. Just not when you try to turn on Face Time the message "Waiting for activation" and all, Face Time icon on the desktop is not ...
Please help!
Thank you in advance!! -
HELP "Data source cannot be created : t2cGetCharSet"
HELP "Data source cannot be created : t2cGetCharSet" in OracleAS MapViewer Version: Ver10131_B061023
HELP "Data source cannot be created : [MapperConfig] no se puede agregar el origen de datos de mapa."
-
What is meaning of Labels, what is their purpose, how we create labels
what is meaning of Labels, what is their purpose, how we create labels.
To create labels in SAPSCRIPT, you will have to define multiple MAIN WINDOWS in the Page Window.. try the following steps..
Main windows in page windows allow you to format text in multiple columns. Define an area in the page window, in which to position the main windows.
1. Create a page window and assign it to a page.
2. Choose Edit --> Main windows.
A dialog box appears.
3. Enter values in the fields Area width and Area height in accordance with the input guidelines for main windows.
4. Enter values in the fields Spacing and Number in the Horizontal group if you want to use multiple columns. You can ignore the fields in the Vertical group.
5. Determine how many columns and line areas are required for label printing. Then enter the corresponding values in the fields in the Horizontal and Vertical groups. -
What is Infoset and How to create
HI Experts
Can any one please explain me what is the purpose of INFOSET in BW
and how to create a info Set between A Info Object and Cube
ThanksDear bw user,
Check the below link
http://help.sap.com/saphelp_nw04s/helpdata/en/ed/084e3ce0f9fe3fe10000000a114084/content.htm
Purpose is,
1.To join required data from basic InfoProviders
2.This allows building a relational BI data model with unified views for reporting (seeveral InfoProviders,but only one view). Therefore, we recommend keeping data in smaller, basic InfoProviders that can be flexibly joined for reporting purposes.
3. To allow BEx Reporting on a DataStore object without turning the BEx Reporting indicator on
4. To evaluate time dependencies (for example, join time dependent master data InfoObjects)
5. To be able to create self joins and left outer joins
Creatind in simple steps
Infoset is a Virtual Infoprovider.
Click on InfoProvider under modeling in RSA1 > Select InfoArea > right click Create Infoset > give name and description.
Select the ODS / Master Data Object or more than one ODS and maintain the link.
Infoset works on Join operation.
you can include Infocube if it is BI 7.
chk this link...
http://help.sap.com/saphelp_nw70/helpdata/en/a3/96663bd194a978e10000000a11402f/frameset.htm
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/2f5aa43f-0c01-0010-a990-9641d3d4eef7
Aslo see this link contents
Creating InfoSets
Prerequisites
Make sure that the objects for which you want to define the InfoSet are active. Create any required InfoObjects that do not
exist already and activate them.
Instead of creating a new InfoSet, you can transfer one of the InfoSets that are delivered with SAP Business Content.
Procedure
1. You are in the InfoProvider tree of the Modeling function area in the Administrator Workbench.
Choose the Create InfoSet function from the context menu (right mouse-click) of the InfoArea in which you want to create an
InfoSet. You get to the Create InfoSet dialog box.
2. Type in the following information for your new InfoSet:
¡ technical name
¡ long description
¡ short description
3. In the Start with InfoProvider section, you determine which InfoProvider you want to use to start defining the InfoSet.
¡ Select one of the object types that the system offers you:
ODS Object
InfoObject
Choose an object.
If you want to choose an InfoObject, it must be a characteristic with master data. The system provides you with the
corresponding input help.
4. Choose Continue. You get to the Change InfoSet screen. For more information on editing InfoSets see Editing InfoSets.
When you create an InfoSet, the system generates a corresponding entry for this InfoSet in the subtree of the InfoArea. The
following functions are available from the context menu (right mouse-click) of this entry:
Change
Delete
Object overview
Editing InfoSets
Prerequisites
Before you can get to the screen where you edit InfoSets, the following prerequisites have to be met:
You have created a new InfoSet.
You have selected the Change function from the context menu of an InfoSet entry in the InfoProvider tree of the Modeling
function area in the Administrator Workbench.
You have called the InfoSet Builder transaction, and selected the Change function. You can find additional information
under Additional Functions in the InfoSet Builder .
Procedure
1. You are in the Change InfoSet screen.
Choose a layout for the InfoProvider tree:
InfoArea
InfoProviders Used
All ODS Objects
All InfoObjects
For more information on the screen layout, particularly the layout of the InfoProvider tree, see Screen Layout: Changing
InfoSets.
2. Use the function Where-Used List via AWB to determine which BW objects use the InfoSet that you have selected. You get to
the Administrator Workbench: Where-Used List screen. You are able to work out what would happen in the system if you made
changes to the InfoSet. This helps you to decide whether or not it is sensible to make these changes at this particular point
in time.
3. You define the InfoSet by inserting one or more InfoProviders into the join.
There are several ways of inserting an InfoProvider into the join control:
¡ From the InfoProvider tree:
§ In the InfoProvider tree, double-click on the entry that corresponds to the InfoProvider that you want to add to the join
control.
§ Use the drag-and-drop function to move the InfoProvider into position.
¡ Choose the Add InfoProvider function, to add a particular ODS object or a particular InfoObject independently of the
current layout of the InfoProvider tree. You get to the dialog box of the same name. Enter the data that the system asks you
for.
If you know the technical name of the InfoProvider that you want to add, this method is quicker than switching the layout of
the InfoProvider tree.
When this function is complete, the InfoProvider that you selected is displayed in the join control. For more information on
the structure of the join control, see Join Control.
4. Define the join conditions. For more information see Defining Join Conditions.
5. You can get general information such as object version, date created and date changed via Goto ® Global Settings. You can
also set the indicator Most recent Reporting for InfoObjects from here. You can find additional information under Most recent
Reporting for InfoObjects.
6. Via the button Documents, which appears on the pushbutton bar, you can access document editing for this InfoSet.
7. You can use Check to check the correctness of the InfoSet definition. The log display is shown in the screen area under
the join control.
8. Save the InfoSet. The log display is shown in the screen area under the join control.
9. Activate the InfoSet. After activation, the system executes the checks. The result of the activation is displayed in the
log in the screen area under the join control.
Additional Functions in the InfoSet Builder
You can also use transaction RSISET to call up the InfoSet Builder when you want to edit an InfoSet. Select the InfoSet that
you want to edit. Value help is available for this. Additional functions are also available to help you edit and manage your
InfoSet.
Compare
You use this function from the main menu to check if the InfoProviders used in the InfoSet have been changed and the InfoSet
needs to be adjusted as a result. For more information, see Matching InfoSets.
Jump to object maintenance
You use the InfoObjects and ODS Objects functions to jump to the maintenance screen for the InfoProviders included in the
InfoSet definition.
Info functions
There are various info functions on the status of the InfoSets:
The Object Catalog Entry
The log display for the save, activate, and delete runs of the InfoSet.
Display in tree
You use this function to display in a tree structure all the properties of the A version (active) of the selected InfoSet.
Header data
InfoProvider and its fields
On condition
Wherecondition
The display is empty, if no active version is available.
Version comparison
You use this function to compare the following InfoSet versions:
The active (A version) and modified (M version) versions of an InfoSet
The active (A version) and content (D version) versions of an InfoSet
The modified (M version) and content (D version) versions of an InfoSet
The Display InfoSet screen appears. Depending on which option you choose, the system displays either all of the differences
between the two versions of the selected InfoSet or all of the properties of both versions in a tree structure.
Transport connection using AWB
You use this function to transport an InfoSet into another system.
The Administrator Workbench: Transport Connection screen appears.
The system has already collected all the BW objects that are needed to guarantee the consistency of the target system.
InfoSet data display
You use this function to access the data target browser. If you have already loaded data into the InfoProviders included in
the InfoSet, you can display this data.
Delete
You use this function to delete an existing InfoSet.
Copy
You use this function to copy an existing InfoSet and, if necessary, edit it further.
Show/hide technical names
You can use this function to show alias names for fields. These alias names are necessary in InfoSets, for example to be able
to map self joins. Field alias names start with F, followed by a five-digit number.
Defining Join Conditions
Use
A join condition determines the combination of records from the individual objects that are included in the resulting set.
Before an InfoSet can be activated, the join conditions have to be defined in such a way (as equal join condition) that all
the available objects are connected to one another either directly or indirectly.
Usually, however, only rows containing a common InfoObject or rows containing InfoObjects that share the same basic
characteristic are connected to one another.
Connect tables T1 and T2 using a join and set as a join condition that the F1 field from T1 must have the same value as F2
from T2. For a record from table T1, the system determines all records from T2 for which F2(T2) = F1(T1) is true. In
principle, as many records from T2 can be found as required. If one or more records are found, the corresponding number of
records is included in the result set, whereby the fields from T1 contain the values from the record from T1 under
consideration, and the fields from T2 contain the values of the records found from T2.
Procedure
There are various ways of defining join conditions:
Using a mouse-click
Position the cursor over a row in an InfoObject. Press the left mouse-button and, keeping the left mouse-button pressed down,
trace a line between this row and a row in another object. Providing that the join condition between the two rows that you
have indicated is a valid join condition, the system confirms the join condition by displaying a connecting line between the
two rows.
Using the Link Maintenance pushbutton
You get to the Link Maintenance dialog box.
In a tree structure on the left-hand side of the screen, all of the InfoProviders that are already included in the join are
displayed along with their fields or attributes. If you double-click on one of these fields or attributes, the system
displays on the right-hand side of the screen all of the fields or attributes with which you are able to create a join
condition.
In the Selection column, set one or more of the indicators for the fields or attributes for which you want to create a join
condition. The system generates valid join conditions between the fields or attributes that you specify.
You use the Delete Links pushbutton to undo all of the join conditions.
You use the All Characteristics or the Basic Characteristics Only pushbutton to choose between the corresponding display
variants.
We recommend that you use the Basic Characteristics Only option. The All Characteristics setting displays all of the
technical options involved in a join. If you are not able to find a join condition on the basic characteristic level, then
the All Characteristics setting is useful, but this is an exceptional case.
When you have finished making your settings, click on the Continue icon.
We recommend this method, because the system searches for all the possible join conditions for any field or attribute that
the user specifies, ensuring that the join conditions are defined without errors.
Using the Context Menu Left Outer Join Inner Join
Usually inner-join operators connect all the objects in a join to one another. You can also connect each object with any of
the many other objects by using a left outer join operator.
You can find additional information about usage and special features under Left Outer Join.
If you want to use a left-outer join operator to connect an object, select the object and choose the corresponding function
from the context menu.
The system displays all of the valid join conditions that originate from this object. The connecting lines that represent
these join conditions are labeled as Left Outer Join . InfoProviders, on which a left outer join condition is affixed, are
differentiated by color from the InfoProviders that are connected using an inner join operator.
If you used a left outer join operator to connect two objects, you have to make sure that all on conditions are linked except
for these two objects with the formulation of join conditions.
Note that you cannot add an object, which you have already connected by using the left outer join operator, to another
object.
If you want to use an inner-join operator instead of the left-outer join operator, select the object that you want to
connect, and choose the Inner Join option from the context menu. Again the system displays all the valid join conditions that
originate from this object, and labels the connecting lines accordingly.
Result
Once the join conditions have been defined in such a way as to connect all the available objects to one another, either
directly or indirectly, the InfoSet is ready to be activated.
You click on the Check pushbutton in the pushbutton toolbar to find out if these preconditions for the activation have been
met.
For objects that are joined by a left-outer join operator, there is one extra condition that has to be met, namely that all
the other objects have to be connected to one another either directly or indirectly.
http://help.sap.com/saphelp_erp2004/helpdata/en/ed/084e3ce0f9fe3fe10000000a114084/content.htm
http://help.sap.com/saphelp_nw04/helpdata/en/ed/084e3ce0f9fe3fe10000000a114084/content.htm
http://help.sap.com/saphelp_nw70/helpdata/en/a3/96663bd194a978e10000000a11402f/frameset.htm
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/2f5aa43f-0c01-0010-a990-9641d3d4eef7
Hope itr helps
Regards
Bala
Also -
What is BAPI?How to create a BAPI? Difference b/w BAPI and BDC
Hi all,
Can some one help me regarding...
What is an BAPI?where it is used?
How to create a BAPI?
What is the difference between BAPI and BDC Program?
Iam in Initial stage regarding BAPI concept.
Please respond me soon.
Thanks,
LeeHI,
Here it is:
BAPI Programming Guide
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/CABFABAPIREF/CABFABAPIPG.pdf
BAPI User Guide
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCMIDAPII/CABFAAPIINTRO.pdf
http://techrepublic.com.com/5100-6329-1051160.html#
http://www.sap-img.com/bapi.htm
http://www.sap-img.com/abap/bapi-conventions.htm
http://www.sappoint.com/abap/bapiintro.pdf
http://ifr.sap.com/catalog/query.asp
STEP BY STEP for BAPI
http://sap-img.com/abap/bapi-step-by-step-guidance.htm
<b>DIFFERENCE between BAPI and BDC</b>
BDC is traditional way of coding the transactions for uploading the legacy data, Sap is changing all transactions to Object oriented programming. Since BAPI is Object based and supports all the new transactions it is preffered over BDC. More over BAPI's process data faster than BDC.
BAPI is a SAP-supplied function module with a defined interface, which allows you to interact with various business objects. SAP guarantees the integrity of your database for anything updated using a BAPI. BDC is a method of driving screens programatically, for updating SAP data. BAPIs are generally faster than BDCs.
A BAPI is faster because it is updating the DB "directly". Whereas BDC with call
transaction goes through the whole screen sequence like any user would do, simply put, fills screens.
However - there is not always a BAPI for a particular transaction and not all functions that are performed by a transaction can be done by a BAPI. BDCs produce error sessions which can be processed by the user, while BAPIs don't.
First choose the BAPI ,if there is no BAPI go for BDC.
why BAPI first not BDC.
SAP comes up with Change in Version, so each and every time they will change the screens/number etc.
so you have to change your BDC programs accordingly.
and also Most of the Latest versions transactions are Enjoy Transaction. they will not support BDC's in Background.
But Using BAPI's No such disadvantages.
A BAPI is faster because it is updating the DB "directly" through ABAP code.
A BDC with call transaction goes through the whole screen sequence like any user would do, simply put, it is filling screens.
Actually it depends on your requirement but BAPI is more effective as it is standard function module to update SAP databases rather than BDC.
using bdc over bapi has advantages and also disadvantages
advantages:
1. using bdc we can upload data into database tables using 2 ways
1. foreground -
means that user interaction is there for each and every record.
2. back ground -
no user interaction and tasks are done automatically.
using these two options is one of the greatest advantage over bapi.
2. in bdc call transaction method we can control the display of screen resolution which is not possible with bapi's
3. bdc is generally used for transferring of large amount of data than bapi's
4.session method of bdc allows us to place data directly in application server and then finally transfered into sap database tables
disadvantages:
1.bdc is only used for sap to sap system data transferring
2. bapis's generally works more faster than bdc's
3. using bapis we can connect to remote systems and also to non sap systems.
if useful reward some points.
A BAPI is a method of a SAP Business Object. BAPI enables SAP and third party applications to interact and integrate
with each other at the Business Object / Process level.
Check this link to know more about BAPI.
http://www.sapgenie.com/abap/bapi/example.htm
http://sappoint.com/abap/
Batch Data Communication (BDC) is the oldest batch interfacing technique that SAP provided since the early versions of R/3. BDC is not a
typical integration tool, in the sense that, it can be only be used for uploading data into R/3 and so it is not bi-directional.
BDC works on the principle of simulating user input for transactional screen, via an ABAP program. Typically the input comes in the form
of a flat file. The ABAP program reads this file and formats the input data screen by screen into an internal table (BDCDATA). The
transaction is then started using this internal table as the input and executed in the background.
In Call Transaction, the transactions are triggered at the time of processing itself and so the ABAP program must do the error handling.
It can also be used for real-time interfaces and custom error handling & logging features. .
To know more about BDC,
check the link.
http://sappoint.com/abap/
Main differences are...
In case of bdc data transfer takes place from flat file into sap system ie the file existing in sap system to sap sytem
where is bapi's r remotly enabled function modules which are assigned to some business objects n used to transfer the data between different business partners who are using different systems other than sap.
not only that...
when you plan to upgrade your system version then bdc willnot support those upgradations where as bapi's will support.
<b><REMOVED BY MODERATOR></b>
Manish
Message was edited by:
Alvaro Tejada Galindo -
Z data source issue for creating packets
Hi I have created a Z data source (function module) .
My issue is I am not able to create data record packets all the data is coming in one packet only.
The is code is as show below is some one can please assist me how can I change the code so that is can create multiple packets for the option given in Tcode RSA3.
FUNCTION ZBW_MATERIAL_GROUP_HIE.
""Local Interface:
*" IMPORTING
*" VALUE(I_REQUNR) TYPE SRSC_S_IF_SIMPLE-REQUNR
*" VALUE(I_DSOURCE) TYPE SRSC_S_IF_SIMPLE-DSOURCE OPTIONAL
*" VALUE(I_MAXSIZE) TYPE SRSC_S_IF_SIMPLE-MAXSIZE OPTIONAL
*" VALUE(I_INITFLAG) TYPE SRSC_S_IF_SIMPLE-INITFLAG OPTIONAL
*" VALUE(I_READ_ONLY) TYPE SRSC_S_IF_SIMPLE-READONLY OPTIONAL
*" VALUE(I_REMOTE_CALL) TYPE SBIWA_FLAG DEFAULT SBIWA_C_FLAG_OFF
*" TABLES
*" I_T_SELECT TYPE SRSC_S_IF_SIMPLE-T_SELECT OPTIONAL
*" I_T_FIELDS TYPE SRSC_S_IF_SIMPLE-T_FIELDS OPTIONAL
*" E_T_DATA STRUCTURE ZBW_MAT_GRP_HIER OPTIONAL
*" EXCEPTIONS
*" NO_MORE_DATA
*" ERROR_PASSED_TO_MESS_HANDLER
TABLES : /BI0/HMATL_GROUP.
DATA : BEGIN OF t_hmat OCCURS 0,
hieid LIKE /BI0/HMATL_GROUP-hieid,
objvers LIKE /BI0/HMATL_GROUP-objvers,
iobjnm LIKE /BI0/HMATL_GROUP-iobjnm,
nodeid LIKE /BI0/HMATL_GROUP-nodeid,
nodename LIKE /BI0/HMATL_GROUP-nodename,
tlevel LIKE /BI0/HMATL_GROUP-tlevel,
parentid LIKE /BI0/HMATL_GROUP-parentid,
END OF t_hmat.
DATA : BEGIN OF t_flathier,
hieid LIKE /BI0/HMATL_GROUP-hieid,
lv2_id LIKE /BI0/HMATL_GROUP-nodeid,
lv2_name LIKE /BI0/HMATL_GROUP-nodename,
lv3_id LIKE /BI0/HMATL_GROUP-nodeid,
lv3_name LIKE /BI0/HMATL_GROUP-nodename,
lv4_id LIKE /BI0/HMATL_GROUP-nodeid,
lv4_name LIKE /BI0/HMATL_GROUP-nodename,
lv5_id LIKE /BI0/HMATL_GROUP-nodeid,
lv5_name LIKE /BI0/HMATL_GROUP-nodename,
lv6_id LIKE /BI0/HMATL_GROUP-nodeid,
lv6_name LIKE /BI0/HMATL_GROUP-nodename,
lv7_id LIKE /BI0/HMATL_GROUP-nodeid,
lv7_name LIKE /BI0/HMATL_GROUP-nodename,
lv8_id LIKE /BI0/HMATL_GROUP-nodeid,
lv8_name LIKE /BI0/HMATL_GROUP-nodename,
lv9_id LIKE /BI0/HMATL_GROUP-nodeid,
lv9_name LIKE /BI0/HMATL_GROUP-nodename,
lv10_id LIKE /BI0/HMATL_GROUP-nodeid,
lv10_name LIKE /BI0/HMATL_GROUP-nodename,
lv11_id LIKE /BI0/HMATL_GROUP-nodeid,
lv11_name LIKE /BI0/HMATL_GROUP-nodename,
material LIKE /BI0/HMATL_GROUP-nodename,
END OF t_flathier.
FIELD-SYMBOLS: <f> LIKE LINE OF t_hmat,
<Level> TYPE ANY.
data : count(2) type c,
lv_level(20) type c.
DATA : lv_count TYPE n.
DATA : lv_id LIKE /BI0/HMATL_GROUP-nodeid,
lv_hieid LIKE /BI0/HMATL_GROUP-hieid.
Auxiliary Selection criteria structure
DATA: l_s_select TYPE srsc_s_select.
Maximum number of lines for DB table
STATICS: s_s_if TYPE srsc_s_if_simple,
counter
s_counter_datapakid LIKE sy-tabix,
cursor
s_cursor TYPE cursor.
Select ranges
RANGES: l_r_nodename FOR /BI0/HMATL_GROUP-nodename,
l_r_hieid FOR /BI0/HMATL_GROUP-hieid.
Initialization mode (first call by SAPI) or data transfer mode
(following calls) ?
IF i_initflag = sbiwa_c_flag_on.
Initialization: check input parameters
buffer input parameters
prepare data selection
Check DataSource validity
CASE i_dsource.
WHEN 'ZMATERIAL_GROUP_HIE'.
WHEN OTHERS.
IF 1 = 2. MESSAGE e009(r3). ENDIF.
this is a typical log call. Please write every error message like this
log_write 'E' "message type
'R3' "message class
'009' "message number
i_dsource "message variable 1
' '. "message variable 2
RAISE error_passed_to_mess_handler.
ENDCASE.
APPEND LINES OF i_t_select TO s_s_if-t_select.
Fill parameter buffer for data extraction calls
s_s_if-requnr = i_requnr.
s_s_if-dsource = i_dsource.
s_s_if-maxsize = i_maxsize.
Fill field list table for an optimized select statement
(in case that there is no 1:1 relation between InfoSource fields
and database table fields this may be far from beeing trivial)
APPEND LINES OF i_t_fields TO s_s_if-t_fields.
ELSE. "Initialization mode or data extraction ?
Data transfer: First Call OPEN CURSOR + FETCH
Following Calls FETCH only
First data package -> OPEN CURSOR
IF s_counter_datapakid = 0.
Fill range tables BW will only pass down simple selection criteria
of the type SIGN = 'I' and OPTION = 'EQ' or OPTION = 'BT'.
LOOP AT s_s_if-t_select INTO l_s_select WHERE fieldnm = '0MATERIAL'.
MOVE-CORRESPONDING l_s_select TO l_r_nodename.
APPEND l_r_nodename.
ENDLOOP.
LOOP AT s_s_if-t_select INTO l_s_select WHERE fieldnm = 'HIEID'.
MOVE-CORRESPONDING l_s_select TO l_r_hieid.
APPEND l_r_hieid.
ENDLOOP.
Get the data from Hierarchy table
SELECT * FROM /BI0/HMATL_GROUP INTO CORRESPONDING FIELDS OF
TABLE t_hmat
WHERE hieid IN l_r_hieid
AND objvers = 'A' .
ENDIF.
loop through all the 0MATERIAL entries to get all the hirarchy levels.
Start of change.
LOOP AT t_hmat ASSIGNING <f>
WHERE iobjnm = '0MATL_GROUP'
AND nodename IN l_r_nodename.
LOOP AT t_hmat ASSIGNING <f>
WHERE nodename IN l_r_nodename.
End of change
lv_count = <f>-tlevel.
"refresh t_flathier.
CLEAR: t_flathier. ", lv_level, count.
MOVE :
<f>-hieid TO lv_hieid ,
<f>-nodename TO t_flathier-material,
<f>-parentid TO lv_id.
if <f>-iobjnm <> '0MATL_GROUP' .
move <f>-nodename+3 to t_flathier-material .
else.
move <f>-nodename to t_flathier-material .
endif.
Added for Last level.
if lv_count = '1' .
*t_flathier-lv1_name = t_flathier-material .
elseif lv_count = '2' .
t_flathier-lv2_name = t_flathier-material .
elseif lv_count = '3' .
t_flathier-lv3_name = t_flathier-material .
elseif lv_count = '4' .
t_flathier-lv4_name = t_flathier-material .
elseif lv_count = '5' .
t_flathier-lv5_name = t_flathier-material .
elseif lv_count = '6' .
t_flathier-lv6_name = t_flathier-material .
elseif lv_count = '7' .
t_flathier-lv7_name = t_flathier-material .
elseif lv_count = '8' .
t_flathier-lv8_name = t_flathier-material .
elseif lv_count = '9' .
t_flathier-lv9_name = t_flathier-material .
elseif lv_count = '10' .
t_flathier-lv10_name = t_flathier-material .
endif.
DO lv_count TIMES .
lv_count = lv_count - 1.
IF lv_count = 1.
EXIT.
ENDIF.
READ TABLE t_hmat WITH KEY
hieid = lv_hieid
nodeid = lv_id.
IF sy-subrc = 0.
CLEAR lv_id.
CASE lv_count.
WHEN '11' .
MOVE : t_hmat-nodename+3 TO t_flathier-lv11_name,
t_hmat-parentid TO lv_id.
WHEN '10' .
MOVE : t_hmat-nodename+3 TO t_flathier-lv10_name,
t_hmat-parentid TO lv_id.
WHEN '9' .
MOVE : t_hmat-nodename+3 TO t_flathier-lv9_name,
t_hmat-parentid TO lv_id.
WHEN '8' .
MOVE : t_hmat-nodename+3 TO t_flathier-lv8_name,
t_hmat-parentid TO lv_id.
WHEN '7' .
MOVE : t_hmat-nodename+3 TO t_flathier-lv7_name,
t_hmat-parentid TO lv_id.
WHEN '6' .
MOVE : t_hmat-nodename+3 TO t_flathier-lv6_name,
t_hmat-parentid TO lv_id.
WHEN '5' .
MOVE : t_hmat-nodename+3 TO t_flathier-lv5_name,
t_hmat-parentid TO lv_id.
WHEN '4' .
MOVE : t_hmat-nodename+3 TO t_flathier-lv4_name,
t_hmat-parentid TO lv_id.
WHEN '3' .
MOVE : t_hmat-nodename+3 TO t_flathier-lv3_name,
t_hmat-parentid TO lv_id.
WHEN '2' .
MOVE : t_hmat-nodename+3 TO t_flathier-lv2_name.
ENDCASE.
ENDIF.
ENDDO.
Populate data for level 1 (Class Type)
READ TABLE t_hmat WITH KEY
hieid = lv_hieid
tlevel = 1.
IF sy-subrc = 0.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
EXPORTING
input = t_hmat-nodename
IMPORTING
output = e_t_data-0class_type.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = e_t_data-0class_type
IMPORTING
output = e_t_data-0class_type.
ENDIF.
populate data to extraction structure ( removing prefixe 'class type')
MOVE : lv_hieid TO e_t_data-hieid,
t_flathier-lv2_name TO e_t_data-xhier_lv1,
t_flathier-lv3_name TO e_t_data-xhier_lv2,
t_flathier-lv4_name TO e_t_data-xhier_lv3,
t_flathier-lv5_name TO e_t_data-xhier_lv4,
t_flathier-lv6_name TO e_t_data-xhier_lv5,
t_flathier-lv7_name TO e_t_data-xhier_lv6,
t_flathier-lv8_name TO e_t_data-xhier_lv7,
t_flathier-lv9_name TO e_t_data-xhier_lv8,
t_flathier-lv10_name TO e_t_data-xhier_lv9,
t_flathier-lv11_name TO e_t_data-xhie_lv10,
t_flathier-material TO e_t_data-0MATL_GROUP.
APPEND e_t_data.
CLEAR e_t_data.
ENDLOOP.
s_counter_datapakid = s_counter_datapakid + 1.
IF s_counter_datapakid > 1 .
RAISE no_more_data.
ENDIF.
ENDIF. "Initialization mode or data extraction ?
ENDFUNCTION.
As now when I run it in Tcode RSA3 it give only one data packet of some 5k to 6k records.
Thanks in advance for your help.
Pawan.Hi PS,
Instead of
SELECT * FROM /BI0/HMATL_GROUP INTO CORRESPONDING FIELDS OF
TABLE t_hmat
WHERE hieid IN l_r_hieid
AND objvers = 'A' .
code should look like this .
OPEN CURSOR WITH HOLD S_CURSOR FOR
SELECT (S_S_IF-T_FIELDS) FROM /BI0/HMATL_GROUP
FETCH NEXT CURSOR S_CURSOR
APPENDING CORRESPONDING FIELDS
OF TABLE E_T_DATA
PACKAGE SIZE S_S_IF-MAXSIZE.
For more information refer to sample code of fm "RSAX_BIW_GET_DATA_SIMPLE"
Hope that helps.
Regards
Mr Kapadia
***Assigning points is the way to say thanks in SDN.*** -
Data source to be created on CDPOS table in CRM.
Hi
I have to create a data source on CDPOS table in CRM. I would like to know is it necessary
for me to include or join it in infoset query with CDHDR table.
In my case I do not want to extract all the records from CDPOS , only the ones with the
date fields changed and which has tab_key as *zdtcvn(say). The valid records matching this criteria
won't be too much. So still do i need to take into consideration the CDHDR table to improve the
index thing...
Please advise.
Thanks in advance
Regards,
kate.Hi Kate,
This will be depend upon your requirement , if u need to extract header level info also like who changed this document what is the time...e.t.c..THEN u need to add CDHDR also..Otherwise CDPOS is enough....
Assign points , If useful... -
BI Admin Tool and XSLT transformation for XML data source - How it works ?
Hello,
There is a possibility to import data from XML data source using BI Admin Tool.
In the import window we can point XSLT file. What is the purpose of that XSLT field?
Why I am asking ?
I thought it is smth like XSLT processor, but simply it doesnt work.
What I did:
- I pointed XML data source file
- I pointed XSLT transformation file
- Click OK, and still get the message that the XML file structure is not supported
After that I transformed that XML file with some desktop XSLT processor using the same XSLT file, and I tried to connect that file directly using BI Admin tool.Then it works. So it means that the transformation is ok.
So basically one question comes to my mind in that situation:
What is the purpose of XSLT field in BI Admin Tool when it comes to XML data source ?
(it doesnt look like XSLT processor)
Greetings
/MichalHi Mariano
Why you need to use XSLT for transforming XML file into ABAP table
Code is a part of some ABAP report. Looks like it is reading a file from file system and updating table after transformation
If you have requirement like you need to read XML file and then insert the data into a SAP table
You can use
File to RFC
File to Proxy scenario using SAP PI.
Please provide more inputs on requirement to help
Thanks
Gaurav -
Q: what is NAFO and how to create it?
Dear;
Please to help me to answer the following:
What is NAFO group?
How to create it?
Because i have two nodes cluster (sc3.0 and Solaris8) system and one node generates and alarm about nafo
Feb 22 09:37:22 SMCP01 SC[SUNW.LogicalHostname,scp_rg,scpshare_ip,hafoip_stop]: Failed to validate NAFO group name <nafo0> nafo errorcode <4>.
Feb 22 09:37:22 SMCP01 Cluster.RGM.rgmd: Method <hafoip_stop> failed on resource <scpshare_ip> in resource group <scp_rg>, exit code <1>
Feb 22 09:37:22 SMCP01 Cluster.RGM.rgmd: fatal: Aborting this node because method <hafoip_stop> failed on resource <scpshare_ip> and Failover_mode is set to HARD
rebooting...
Thanks in advanceI hope you have a good reason to still use Sun Cluster 3.0. Since you run Solaris 8, you could consider upgrading at least to Sun Cluster 3.1 08/05. NAFO groups got replaced by IPMP on SC 3.1.
The procedure on how to configure a NAFO group is described at http://docs.sun.com/app/docs/doc/816-2022/6m8db9hcl?a=view#cbhgdjfc
Greets
Thorsten -
What is partition ? how to create partition ? how to maintain indexes ?
HI experts,
What is the use of peartion table
how to create partition ?
how to create index ? how to maintain ?
Thanks in Advance!
VijayRead
Partitioned Tables and Indexes
Create Partitioned Tables and Indexes
SQL Server Index and Statistics Maintenance
Many Thanks & Best Regards, Hua Min
Maybe you are looking for
-
Regular drop outs and slow speed, likely to be noi...
Hello, I'm hoping this works, I've had some success on other forums. When I signed up, I was quoted a speed of 11mb, for info, I'm near the centre of Worcester city, so hardly the middle of nowhere, but I'm aware I'm open to exchange usage and attenu
-
I just can't figure out how to keep itunes going. It plays one song at a time and will not go on to the next. Do I need to change a setting or something?
-
I have windows Vista 32 bit, and am having problems downloading Adobe. I have read that the only Adobe version that will work with Vista is Adobe 7; what is the reality, Thx, Jim
-
Windows phone Nokia lumia 530 can't download any apps error code 80070490
I have a new windows phone Nokia lumia 530. In trying to set it up I accidentally put a typo in my email address.I have done a use a different address as your primary alias, yesterday by making a new outlook account. However, I can't get the security
-
Rule not working in workflow but works in simulation mode
Hi guys i have one more strange issue. I have a rule assigned to one of my task to dtermine the agnet based on a z table which is executed by a z function module in the rule. The rule works fine and gets the desired agent when run in the simulation m