Oops-how to make full use of it?

Hi guys my question is,
I have used oops in abap mainly in alv, and for some other functions like downloading to an excel and stuff like that.
But how do I harness the real power of oops. How can i make my day to day coding better by using say global classes and already existing objects.
For example are there classes out there with methods to say calculate the accounts recievables? Get all the attributes of an inbound/outbound delivery. Get the details of a purchase order without me having to select from the PO headers and items and so forth. I have tried to study some standard code as well but I didnt get any hint from it.
Can anyone throw some light on it?
Regards
Sameer

Hi Sameer,
As u said u have worked on OOPS in ABAP. U will be having the Basic concept of the OOABAP.
The Only way to enhance the Knowledge on OOABAP is to practice more and more examples.
Here are some of the step by step Examples. these are very Basic Examples
Please check this Link
http://www.erpgenie.com/sap/abap/OO/eg.htm
http://www.erpgenie.com/sap/abap/OO/eg1.htm
Here are some more examples
http://www.erpgenie.com/abaptips/content/blogcategory/32/54/
Wiki on OOABAP
[Wiki OOABAP|https://www.sdn.sap.com/irj/sdn/advancedsearch?cat=sdn_wiki&query=oo+abap&adv=false&sortby=cm_rnd_rankvalue#]
Some SAP Documents
[ALV Gird Control (BC-SRV-ALE)|http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCSRVALV/BCSRVALV.pdf]
[SAP Container|http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCCIDOCK/BCCIDOCK.pdf]
[SAP Control Framework|http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCCIGOF/BCCIGOF.pdf]
[SAP Picture (BC-CI)|http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCCIIMAGE/BCCIIMAGE.pdf]
[SAP Textedit|http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCCITEXTEDIT/BCCITEXTEDIT.pdf]
And you can find a lot of information at SDN Blogs
/people/dirk.feeken/blog/2007/07/06/abap-trial-version-for-newbies-part-17--your-first-abap-object, https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/0a33479c-0b01-0010-7485-dc8c09d6bc69, https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/3e59b790-0201-0010-88aa-bc8a7f95f6fb and https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/3412d190-0201-0010-aaaa-ff5a315ae5fe.
Some of the .PDFs and .PPTs
http://esnips.com/doc/5c65b0dd-eddf-4512-8e32-ecd26735f0f2/prefinalppt.ppt
http://esnips.com/doc/2c76dc57-e74a-4539-a20e-29383317e804/OO-abap.pdf
http://esnips.com/doc/0ef39d4b-586a-4637-abbb-e4f69d2d9307/SAP-CONTROLS-WORKSHOP.pdf
http://esnips.com/doc/92be4457-1b6e-4061-92e5-8e4b3a6e3239/Object-Oriented-ABAP.ppt
http://esnips.com/doc/448e8302-68b1-4046-9fef-8fa8808caee0/abap-objects-by-helen.pdf
http://esnips.com/doc/39fdc647-1aed-4b40-a476-4d3042b6ec28/class_builder.ppt
reward if help
raam

Similar Messages

  • How to make full use of Apple iCloud

    As a MacOS X 10.7 (Lion) and iOS 5 user, I have free access to Apple's iCloud services.  I have used iCloud successfully in rural Georgia under Windstream DSL but I find no mention of iCloud in my search of the Verizon support forums.  As I plan to move to Florida and have arranged for Verizon FiOS Internet, I'd really like to get a better handle on whether and how Verizon supports iCloud.  I have 30 days to cancel the Verizon account and make other arrangements if necessary.  Thanks in advance for any information on this topic.
    It appears that I will not be able to use Apple's authenticated SMTP server (smtp.me.com) and that I must instead use outgoing.verizon.net.  Is that correct or is there a way to use yje iCloud SMTP servers?  

    flowney wrote:
    So are you saying that Verizon blocks port 25?  If so, I can use port 587 according to Apple's iCloud support document on this subject: http://support.apple.com/kb/TS4002  I'll try that.
    Short answer, yes.
    If a forum member gives an answer you like, give them the Kudos they deserve. If a member gives you the answer to your question, mark the answer as Accepted Solution so others can see the solution to the problem.
    "All knowledge is worth having."

  • I have a $10 gift card balance on my Apple ID but when I try to rent a movie it wants me to use my debit card. How can Make it use the iTunes credit?

    I have a $10 gift card balance on my Apple ID but when I try to rent a movie it wants me to use my debit card. How can Make it use the iTunes credit?

    Hi ...
    Select None for payment method > iTunes Store: Changing account information
    Be aware, an auto renewing subsciption by require a credit card.

  • How to make full screen on safari

    how to make full screen on safari

    One way is to download and install Saft - MacUpdate or CNET Downloads.
    Or you can click on the green expland gadget in the top right of Safari's titlebar.  However, this will not expand Safari to a true full-screen view as will Saft.

  • How to make OLAPDATAGRID use AS3

    How to make OLAPDATAGRID use AS3? I make like this and have a
    problem lease halp me type simple example!
    [Attach Code]
    package My
    import mx.collections.ArrayCollection;
    import mx.collections.IList;
    import mx.controls.Alert;
    import mx.controls.OLAPDataGrid;
    import mx.olap.IOLAPCube;
    import mx.olap.IOLAPDimension;
    import mx.olap.IOLAPQuery;
    import mx.olap.IOLAPQueryAxis;
    import mx.olap.OLAPAttribute;
    import mx.olap.OLAPCube;
    import mx.olap.OLAPDimension;
    import mx.olap.OLAPHierarchy;
    import mx.olap.OLAPLevel;
    import mx.olap.OLAPMeasure;
    import mx.olap.OLAPQuery;
    import mx.olap.OLAPResult;
    import mx.olap.OLAPSet;
    import mx.rpc.AsyncResponder;
    import mx.rpc.AsyncToken;
    public class OlapDGCreator
    [Bindable]
    private var flatData:ArrayCollection = new ArrayCollection(
    {otd:"div1",pos:"programmer",year:2007,quarter:"q1",zp:20000},
    {otd:"div1",pos:"manager",year:2007,quarter:"q1",zp:15000},
    {otd:"div2",pos:"programmer",year:2007,quarter:"q1",zp:25000},
    {otd:"div2",pos:"manager",year:2007,quarter:"q1",zp:23000},
    {otd:"div1",pos:"programmer",year:2007,quarter:"q2",zp:21000},
    {otd:"div1",pos:"manager",year:2007,quarter:"q2",zp:16000},
    {otd:"div2",pos:"programmer",year:2007,quarter:"q2",zp:27000},
    {otd:"div2",pos:"manager",year:2007,quarter:"q2",zp:24000},
    public var str:String = "";
    public var ODG:OLAPDataGrid = new OLAPDataGrid();
    public var MyCube:OLAPCube = new OLAPCube("otchet");
    public function OlapDGCreator()
    MyCube.dataProvider=flatData;
    var m:OLAPMeasure = new OLAPMeasure("ZP");
    m.aggregator="SUM";
    m.dataField="zp";
    var a:IList = new ArrayCollection();
    a.addItem(m);
    var dimDateTime:OLAPDimension = new
    OLAPDimension("DateTime","DateTime");
    dimDateTime.cube=MyCube;
    dimDateTime.name="DateTime";
    var hierDataTime:OLAPHierarchy = new
    OLAPHierarchy("hierDataTime","displayHierDataTime");
    var l1:OLAPLevel = new OLAPLevel("Year","Year")
    var l2:OLAPLevel = new OLAPLevel("Quarter","Quarter")
    hierDataTime.levels.addItem(l1);
    hierDataTime.levels.addItem(l2);
    var att1:OLAPAttribute = new OLAPAttribute("Year","Year")
    att1.dataField="year";
    att1.name="Year";
    var att2:OLAPAttribute = new
    OLAPAttribute("Quarter","quarter")
    att2.dataField="quarter";
    att2.name="Quarter";
    dimDateTime.attributes.addItem(att1)
    dimDateTime.attributes.addItem(att2)
    dimDateTime.hierarchies.addItem(hierDataTime);
    var dimDivDim:OLAPDimension = new
    OLAPDimension("DivDim","DivDim");
    dimDivDim.cube=MyCube;
    dimDivDim.name="DivDim";
    var hierDivDim:OLAPHierarchy = new
    OLAPHierarchy("hierDivDim","displayHierDivDim");
    var dd_l1:OLAPLevel = new OLAPLevel("Otd","Otd")
    var dd_l2:OLAPLevel = new OLAPLevel("Pos","Pos")
    hierDivDim.levels.addItem(dd_l1);
    hierDivDim.levels.addItem(dd_l2);
    var dd_att1:OLAPAttribute = new OLAPAttribute("Otd","Otd")
    dd_att1.dataField="otd";
    dd_att1.dimension=dimDivDim;
    var dd_att2:OLAPAttribute = new OLAPAttribute("Pos","Pos")
    dd_att2.dataField="pos";
    dd_att2.dimension=dimDivDim;
    dimDivDim.attributes.addItem(dd_att1);
    dimDivDim.attributes.addItem(dd_att2);
    dimDivDim.hierarchies.addItem(hierDivDim);
    MyCube.dimensions.addItem(dimDateTime);
    MyCube.dimensions.addItem(dimDivDim);
    MyCube.measures = a
    MyCube.refresh();
    //MyCube.measures.addEventListener("www",test);
    //MyCube.addEventListener(CubeEvent.CUBE_COMPLETE,runQuery)
    runQuery();
    //запустили
    выражение
    // Create the OLAP query.
    private function getQuery(cube:IOLAPCube):IOLAPQuery {
    // Create an instance of OLAPQuery to represent the query.
    var query:OLAPQuery = new OLAPQuery;
    // Get the row axis from the query instance.
    var rowQueryAxis:IOLAPQueryAxis =
    query.getAxis(OLAPQuery.ROW_AXIS);
    // Create an OLAPSet instance to configure the axis.
    var otdSet:OLAPSet = new OLAPSet;
    // Add the Product to the row to aggregate data
    // by the Product dimension.
    var tmp:IOLAPDimension = cube.findDimension("DivDim");
    var tmp2:OLAPDimension = cube.dimensions[0];
    otdSet.addElements(OLAPAttribute(OLAPDimension(cube.dimensions[1]).attributes[0]).childre n);//zah
    otdSet.addElements(cube.findDimension("DivDim").findAttribute("Otd").children);
    // Add the OLAPSet instance to the axis.
    var posSet:OLAPSet = new OLAPSet;
    // Add the Product to the row to aggregate data
    // by the Product dimension.
    posSet.addElements(OLAPAttribute(OLAPDimension(cube.dimensions[1]).attributes[1]).childre n);//zah
    posSet.addElements(cube.findDimension("DivDim").findAttribute("Pos").children);
    // Add the OLAPSet instance to the axis.
    rowQueryAxis.addSet(otdSet.crossJoin(posSet));
    // Get the column axis from the query instance, and
    configure it
    // to aggregate the columns by the Quarter dimension.
    var colQueryAxis:IOLAPQueryAxis =
    query.getAxis(OLAPQuery.COLUMN_AXIS);
    var yearSet:OLAPSet= new OLAPSet;
    yearSet.addElements(OLAPAttribute(OLAPDimension(cube.dimensions[0]).attributes[0]).childr en);//zah
    yearSet.addElements(cube.findDimension("DateTime").findAttribute("Year").children);
    var quarterSet:OLAPSet= new OLAPSet;
    quarterSet.addElements(OLAPAttribute(OLAPDimension(cube.dimensions[0]).attributes[1]).chi ldren);//zah
    //quarterSet.addElements(cube.findDimension("DateTime").findAttribute("Quarter").children );
    colQueryAxis.addSet(yearSet.crossJoin(quarterSet));
    return query;
    // Event handler to execute the OLAP query
    // after the cube completes initialization.
    // private function runQuery(event:CubeEvent):void {
    private function runQuery():void {
    // Get cube.
    //var cube:IOLAPCube = IOLAPCube(event.currentTarget);
    var cube:IOLAPCube = IOLAPCube(this.MyCube);
    // Create a query instance.
    var query:IOLAPQuery = getQuery(cube);
    // Execute the query.
    var token:AsyncToken = cube.execute(query);
    // Setup handlers for the query results.
    token.addResponder(new AsyncResponder(showResult,
    showFault));
    // Handle a query fault.
    private function showFault(result:Object, token:Object):void
    Alert.show("Error in query.");
    // Handle a successful query by passing the query results to
    // the OLAPDataGrid control..
    private function showResult(result:Object,
    token:Object):void {
    if (!result) {
    Alert.show("No results from query.");
    return;
    ODG.dataProvider= result as OLAPResult;
    [/Attach Code]

    Here is the fixed code. I would have loved to re-organize the
    code but left it as is so that you can diff the files and make a
    note of the differences.
    package
    import mx.collections.ArrayCollection;
    import mx.controls.Alert;
    import mx.controls.OLAPDataGrid;
    import mx.events.CubeEvent;
    import mx.olap.IOLAPCube;
    import mx.olap.IOLAPDimension;
    import mx.olap.IOLAPQuery;
    import mx.olap.IOLAPQueryAxis;
    import mx.olap.OLAPAttribute;
    import mx.olap.OLAPCube;
    import mx.olap.OLAPDimension;
    import mx.olap.OLAPHierarchy;
    import mx.olap.OLAPLevel;
    import mx.olap.OLAPMeasure;
    import mx.olap.OLAPQuery;
    import mx.olap.OLAPResult;
    import mx.olap.OLAPSet;
    import mx.rpc.AsyncResponder;
    import mx.rpc.AsyncToken;
    public class OlapDGCreator
    [Bindable]
    private var flatData:ArrayCollection = new ArrayCollection(
    {otd:"div1",pos:"programmer",year:2007,quarter:"q1",zp:20000},
    {otd:"div1",pos:"manager",year:2007,quarter:"q1",zp:15000},
    {otd:"div2",pos:"programmer",year:2007,quarter:"q1",zp:25000},
    {otd:"div2",pos:"manager",year:2007,quarter:"q1",zp:23000},
    {otd:"div1",pos:"programmer",year:2007,quarter:"q2",zp:21000},
    {otd:"div1",pos:"manager",year:2007,quarter:"q2",zp:16000},
    {otd:"div2",pos:"programmer",year:2007,quarter:"q2",zp:27000},
    {otd:"div2",pos:"manager",year:2007,quarter:"q2",zp:24000},
    public var str:String = "";
    public var ODG:OLAPDataGrid = new OLAPDataGrid();
    public var MyCube:OLAPCube = new OLAPCube("otchet");
    public function OlapDGCreator()
    MyCube.dataProvider=flatData;
    var m:OLAPMeasure = new OLAPMeasure("ZP");
    m.aggregator="SUM";
    m.dataField="zp";
    //var a:IList = new ArrayCollection();
    //a.addItem(m);
    var dimDateTime:OLAPDimension = new
    OLAPDimension("DateTime","DateTime");
    //dimDateTime.cube=MyCube;
    //dimDateTime.name="DateTime";
    var hierDataTime:OLAPHierarchy = new
    OLAPHierarchy("hierDataTime","displayHierDataTime");
    var l1:OLAPLevel = new OLAPLevel("Year","Year")
    l1.attributeName = "Year";
    var l2:OLAPLevel = new OLAPLevel("Quarter","Quarter")
    l2.attributeName = "Quarter";
    //hierDataTime.levels.addItem(l1);
    //hierDataTime.levels.addItem(l2);
    hierDataTime.levels = new ArrayCollection([l1, l2]);
    var att1:OLAPAttribute = new OLAPAttribute("Year","Year")
    att1.dataField="year";
    //att1.name="Year";
    var att2:OLAPAttribute = new
    OLAPAttribute("Quarter","quarter")
    att2.dataField="quarter";
    //att2.name="Quarter";
    //dimDateTime.attributes.addItem(att1)
    //dimDateTime.attributes.addItem(att2)
    dimDateTime.attributes = new ArrayCollection([att1, att2]);
    //dimDateTime.hierarchies.addItem(hierDataTime);
    dimDateTime.hierarchies = new
    ArrayCollection([hierDataTime]);
    var dimDivDim:OLAPDimension = new
    OLAPDimension("DivDim","DivDim");
    //dimDivDim.cube=MyCube;
    //dimDivDim.name="DivDim";
    var hierDivDim:OLAPHierarchy = new
    OLAPHierarchy("hierDivDim","displayHierDivDim");
    var dd_l1:OLAPLevel = new OLAPLevel("Otd","Otd")
    dd_l1.attributeName = "Otd";
    var dd_l2:OLAPLevel = new OLAPLevel("Pos","Pos")
    dd_l2.attributeName = "Pos";
    //hierDivDim.levels.addItem(dd_l1);
    //hierDivDim.levels.addItem(dd_l2);
    hierDivDim.levels = new ArrayCollection([dd_l1, dd_l2]);
    var dd_att1:OLAPAttribute = new OLAPAttribute("Otd","Otd")
    dd_att1.dataField="otd";
    //dd_att1.dimension=dimDivDim;
    var dd_att2:OLAPAttribute = new OLAPAttribute("Pos","Pos")
    dd_att2.dataField="pos";
    //dd_att2.dimension=dimDivDim;
    //dimDivDim.attributes.addItem(dd_att1);
    //dimDivDim.attributes.addItem(dd_att2);
    //dimDivDim.hierarchies.addItem(hierDivDim);
    dimDivDim.attributes = new ArrayCollection([dd_att1,
    dd_att2]);
    dimDivDim.hierarchies = new ArrayCollection([hierDivDim]);
    //MyCube.dimensions.addItem(dimDateTime);
    //MyCube.dimensions.addItem(dimDivDim);
    //MyCube.measures = a
    MyCube.elements = [dimDateTime, dimDivDim, m];
    MyCube.refresh();
    //MyCube.measures.addEventListener("www",test);
    MyCube.addEventListener(CubeEvent.CUBE_COMPLETE,runQuery)
    // Create the OLAP query.
    private function getQuery(cube:IOLAPCube):IOLAPQuery {
    // Create an instance of OLAPQuery to represent the query.
    var query:OLAPQuery = new OLAPQuery;
    // Get the row axis from the query instance.
    var rowQueryAxis:IOLAPQueryAxis =
    query.getAxis(OLAPQuery.ROW_AXIS);
    // Create an OLAPSet instance to configure the axis.
    var otdSet:OLAPSet = new OLAPSet;
    // Add the Product to the row to aggregate data
    // by the Product dimension.
    var tmp:IOLAPDimension = cube.findDimension("DivDim");
    var tmp2:OLAPDimension = cube.dimensions[0];
    otdSet.addElements(OLAPAttribute(OLAPDimension(cube.dimensions[1]).attributes[0]).children );//zah
    otdSet.addElements(cube.findDimension("DivDim").findAttribute("Otd").children);
    // Add the OLAPSet instance to the axis.
    var posSet:OLAPSet = new OLAPSet;
    // Add the Product to the row to aggregate data
    // by the Product dimension.
    posSet.addElements(OLAPAttribute(OLAPDimension(cube.dimensions[1]).attributes[1]).children );//zah
    posSet.addElements(cube.findDimension("DivDim").findAttribute("Pos").children);
    // Add the OLAPSet instance to the axis.
    rowQueryAxis.addSet(otdSet.crossJoin(posSet));
    // Get the column axis from the query instance, and configure
    it
    // to aggregate the columns by the Quarter dimension.
    var colQueryAxis:IOLAPQueryAxis =
    query.getAxis(OLAPQuery.COLUMN_AXIS);
    var yearSet:OLAPSet= new OLAPSet;
    yearSet.addElements(OLAPAttribute(OLAPDimension(cube.dimensions[0]).attributes[0]).childre n);//zah
    yearSet.addElements(cube.findDimension("DateTime").findAttribute("Year").children);
    var quarterSet:OLAPSet= new OLAPSet;
    quarterSet.addElements(OLAPAttribute(OLAPDimension(cube.dimensions[0]).attributes[1]).chil dren);//zah
    //quarterSet.addElements(cube.findDimension("DateTime").findAttribute("Quarter").children) ;
    colQueryAxis.addSet(yearSet.crossJoin(quarterSet));
    return query;
    // Event handler to execute the OLAP query
    // after the cube completes initialization.
    // private function runQuery(event:CubeEvent):void {
    private function runQuery(event:Event):void {
    // Get cube.
    //var cube:IOLAPCube = IOLAPCube(event.currentTarget);
    var cube:IOLAPCube = IOLAPCube(this.MyCube);
    // Create a query instance.
    var query:IOLAPQuery = getQuery(cube);
    // Execute the query.
    var token:AsyncToken = cube.execute(query);
    // Setup handlers for the query results.
    token.addResponder(new AsyncResponder(showResult,
    showFault));
    // Handle a query fault.
    private function showFault(result:Object, token:Object):void
    Alert.show("Error in query.");
    // Handle a successful query by passing the query results to
    // the OLAPDataGrid control..
    private function showResult(result:Object, token:Object):void
    if (!result) {
    Alert.show("No results from query.");
    return;
    ODG.dataProvider= result as OLAPResult;

  • Hi!  I just updated to Mountain Lion to make full use of iCloud, and I am attempting to turn on Photo Stream.  I currently have iPhoto '09, version 8.12, and think I need to update to iPhoto'11, but I'm reluctant to do this due to very bad reviews.

    Hi!  I just updated to Mountain Lion to make full use of iCloud and am attempting to turn on PhotoStream.  I have iPhoto '09, version 8.12, so I think I need to upgrade to iPhoto '11.  I'm reluctant to do this as I've read a ton of bad reviews written by people who have purchased the new version.  Any suggestions?  Is it worth it?

    Obviously only you can decide what is "worth it".  Millions and millions and millions of people use and like iPhoto '11.  Some don't. If you want PhotoStream then you must upgrade to the minimum software levels
    LN

  • I have Acrobat X. Do I have to have Acrobat XI to make full use of FormsCentral?

    I have Acrobat X. Do I have to have Acrobat XI to make full use of FormsCentral?

    Thank you Gen!
    We are a school district  (Township High School District 211) at d211.org.
    We have one domain with 7 subdomains. Will we be able to use one account? We are thinking of the Plus account, but we are on a tight budget, being a school district in Illinois. We have a district site and each school has a subdomain (i.e. Fremd High school has fhs.d211.org.).
    TIA

  • How to create executable to run in application and how to make full screen

    I am developing an application for running in Desktop.
    How should I make a executable so that I can launch application directly ?
    Additionally, how to make the stage/scene to full screen throught the code (without explicitly mentioning height and width), because the monitor/display size might vary from model to model.

    I don't know if you can make a standalone executable, although there are packagers for Java doing that. I don't know if they are usable with JavaFX. License prohibits to package the runtime, so it must be downloaded on each computer from Sun servers. That's what the JNLP does, I think.
    You can also create a shortcut on the desktop with a setting in the JNLP: inside the <information> tag, you can put:
            <shortcut>
                <desktop/>
            </shortcut>to create a shortcut (user is prompted and can decline).

  • How to make and use distribution list?

    How do I make and use a distrubition list in mail?
    I know how to do it on a PC but cannot find it on the MAC?

    You create a Group in AddressBook.

  • How to make and use customised DataSource

    Hi Gurus. If we are not making cubes for Inventory etc for which DS is already available, how can we create data sources in order to load the desired data in BW.means if Database fields are entirely different
    kind regards
    rajesh

    Hi,
    Customised extractors are called Generic extracters.
    Usage:
    1. When the standard extractors are not supporting the extraction what you need. If SAP does not have a standard extractor for your need to get data from R3, you would have to go for generic extractor.
    2. If you create a custom object say by combining certain base tables in R3 say custom tables ZTAB1 and ZTAB2. These two tables are not SAP provided tables and there will not be any standard extractors. So cases like this you will have to go for generic extractors.
    3. FI-SL requires generic extractors.
    How:
    You have to use RSO2 transaction and you can also set delta based on, one of the three characteristics such as timestamp, calday or pointer (a sequence no).
    once you create it and activate it. The extractor will be available in ROOSOURCE - (table in R3 where all the data sources are available).
    Steps
    Log on sap R/3.
    Step 1. create a table or view for generic extraction in se11.
    Step 2. Goto  t-code RSO2
    Step 3. Here u have to decide whether to extract transaction data or master data attributes or texts.
    Step 4. suppose if u have opted for transaction data,then give name in the column ex:ztd_m(data source name)
    Step 5. select create button,this will take u to another screen.
    Step 6. Here u have to decide from which application component u r extacting data.Ex: SD,MM,..
    Step 7. in this screen u have to fill short disciption,medium,long( these r mandatory).
    Step 8. then U have to Table name or view name which u have created in se11.
    Step 9. I f u want to maintain generic delta then u can select generic delta in top left hand side corner.
    Step 10. in next screen u have to give some field which is primary key.
    step 11. here u to specify whether time stamp or cal day or numeric pointer depending on u r requirement.
    step 12. then u have to specify  whether new status for changed records or additive delta.
            If u choose additive delta ,then u have to load data to infocube or ods object.
            If u choose new status for changed records, then u to load data  to ods object only.
    Step 13. then save it.
    Step 14. then logon to sap bw ,then replicate the data source then as usuall.
    Refer:
    /people/siegfried.szameitat/blog/2005/09/29/generic-extraction-via-function-module
    Generic Extraction with Table, View, FM & Infoset
    Creating a datasource for generic extraction
    Generic Extraction
    Customer and Generic extraction difference ?
    generic extraction
    Re: Generic extractors
    generic extraction
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/d3219af2-0c01-0010-71ac-db
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/84bf4d68-0601-0010-13b5-b0
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/84bf4d68-0601-0010-13b5-b0
    http://help.sap.com/saphelp_nw04/helpdata/en/3f/548c9ec754ee4d90188a4f108e0121/content.h
    http://help.sap.com/saphelp_nw04/helpdata/en/3f/548c9ec754ee4d90188a4f108e0121/content.htm
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/84bf4d68-0601-0010-13b5-b062adbb3e33
    Re: Generic Extractor - Delta
    Thanks,
    JituK

  • How to (make best) use external js library from html object (need help from dev)

    Ok, on another discussion about rotating full screen backgrounds slideshows, i was orientated to try a small lib named "backstrech"
    I throw myself in, and i really like what we can do with it.
    To use it simply, just make an html object and paste this in :
    <script src="http://musecdn2.businesscatalyst.com/scripts/4.0/jquery-1.8.3.min.js" type="text/javascript"></script>
    <script src="assets/jquery.backstretch.min.js" type="text/javascript"></script>
    <script>
      $.backstretch([
          "http://dl.dropbox.com/u/515046/www/outside.jpg"
        , "http://dl.dropbox.com/u/515046/www/garfield-interior.jpg"
        , "http://dl.dropbox.com/u/515046/www/cheers.jpg"
      ], {duration: 3000, fade: 750});
    </script>
    then add the jquery.backstretch.min.js to your "downloaded files" (file menu > files to download)
    And you’re done.
    Now, i need some help from better developers.
    As you can see, my first line is a call to jquery, the same that we find later in Muse exported code.
    Reason 1 : without this line, jquery is not defined and the plugin won’t work.
    This raises 2 issues :
    - We load twice the same ressource which is useless (100k)
    - loading js is all about having the page hangs while it loads, hence, they are put at the end of the body.
    Does anybody know a way to load this particular html script AFTER we are sure the muse scripts (esp. jquery) have been loaded ?
    (in the Edge Animate world, i’d go for the yepnope, and put it at the right place in the code, though, here i have no access to page load structure except head)
    PS : in addition to that, i made an exported page/excluded from navigation where i put all the images i wanted for the background, i could then simply change the images lines :
    , "http://dl.dropbox.com/u/515046/www/garfield-interior.jpg"
    to
    , "images/my_image_name_as_in_ressources.jpg"

    Got it, there was a bug in my code. Here is what you do:
    1. Download the js file https://raw.github.com/srobbin/jquery-backstretch/master/jquery.backstretch.min.js
    2. In Muse: Go to File -> Add Files for Upload and add the script file
    3. Open Page Properties -> Metadata -> HTML for <Head>
    Paste this code in:
    <script>
    window.onload = function() {
    var loaded = function() {
      $.backstretch([
          "http://dl.dropbox.com/u/515046/www/outside.jpg"
        , "http://dl.dropbox.com/u/515046/www/garfield-interior.jpg"
        , "http://dl.dropbox.com/u/515046/www/cheers.jpg"
      ], {duration: 3000, fade: 750});
    //Load the plugin:
    var head= document.getElementsByTagName('head')[0];
    var script= document.createElement('script');
    script.type= 'text/javascript';
    script.onreadystatechange = loaded;
    script.onload = loaded;
    script.src= 'assets/jquery.backstretch.min.js';
    head.appendChild(script);
    }; //Window OnLoad
    </script>
    4. Preview or Publish = Done!
    Example: http://musebackstretch.businesscatalyst.com/index.html

  • How to make Weather use my system language

    Hi all,
    My situation is kind of uncommon, but I would like to try to post here to see if anyone happens to know a solution. If I should not post this question (which is about sync between iPhone and Macbook) here, please let me know.
    Background:
    iPhone 6 plus (language is Chinese)
    Macbook Pro (language is English)
    The problem:
    If I add a new city in Weather on my iPhone in Chinese ( I had to add it using Chinese, btw), it shows as it is on my Mac. See picture below.
    I also noticed that I can add that city again on my Mac again, in English of course. See picture below.
    This happens in the other direction too. Adding a city on my mac in English, then it shows in English on my iPhone, and I can still add a Chinese version of that city.
    This is weird to me, because usually this should be designed as the same model with two different views (same thing in different languages), not two separated models.
    Please let me know if you know how Weather syncs data and/or how to solve this issue.
    === more: ===
    The behavior becomes even weirder if I add a city in one language on one device and then add the same city in another language on another device. Take the capital of France for example, I added '巴黎' (Paris in Chinese) on my iPhone (and it is synced to Mac), then I added 'Paris' on my Mac. To my surprise, the second entry shows as '巴黎' on my iPhone, not as 'Paris' (I now have two exactly same entries on my iPhone).
    And after I add another city on my iPhone, the second capital-of-France entry on my Mac becomes '巴黎' too. ( I think this is normal, as things are synced to another device when updated on one device).
    notes:
    - This also happens on the other direction.
    - This is not happening every time. Sometimes this bug shows up, sometimes not.
    - I found this behavior long ago. I'm pretty sure this is not only for the latest versions of iOS and Mac OS.

    Move the entire iTunes folder from <User's Music> to the root of the other drive. Press and hold down shift as you launch iTunes and keep holding until asked to choose or create a library. Click choose and browse to X:\iTunes\iTunes Library.itl where X:\ is the drive letter.
    You should also consider making a backup of your library to an external drive.
    iTunes will still want to store iOS backup data on the system drive unless you use the following process to relocate it.
    Moving the iOS device backup location
    Open a command prompt by hitting the start button and typing CMD<Enter> in the search box that opens up, or with Start > Run on older Windows.
    To move the current backup folder from C: to X: (for example) type in this command and press <Enter>
    Move "C:\Users\<User>\AppData\Roaming\Apple Computer\MobileSync\Backup" "X:\Backup"
    Where <User> is your Windows user name.
    To make iTunes look for the data in the new location type in this command and press <Enter>
    MkLink /J "C:\Users\<User>\AppData\Roaming\Apple Computer\MobileSync\Backup" "X:\Backup"
    If your preferred drive has a different letter or you already have a folder called "Backup" then edit "X:\Backup" accordingly in both commands.
    If you have Windows XP then you'll need a third-party tool such as Junction to link the two locations together instead of the MkLink command. The source folder is C:\Documents and Settings\<User>\Application Data\Apple Computer\MobileSync\Backup
    tt2

  • How to make Aperture use new drive

    Hi
    I recently bought a new 3TB HDD to replace my 1TB drive which was nearly full. How do I copy my existing files across and make Aperture continue to read them from its database?
    Regards
    Mark

    Thanks, Matthew, but I don't think I gave enough details. I have my aperture library file on the main drive under ~/Pictures. The raw files from my camera are on the external 1TB drive called Elements, as referenced files. On the external drive is a system of folders like this /Volumes/Elements/Photos/Aperture/2012/06, and within that the raw files downloaded from my camera for that day.
    So the issue is how to harmonize the library on the iMac with the referenced files on the external drive.

  • How to make full screen upload to youtube

    I shoot in 16:9 on the canon t3i, however when I upload my videos to YouTube there is a black bar on the left and right. The canon team said there should be a setting in premiere to make my videos full screen. please help! than

    If your sequence matches your footage  eg  16:9 HD and you export using the Youtube preset H264... it should be full screen in all displays.
    Please select scale to fill option in the source scaling option in Export window.
    Maybe... but I am not sure if thats a solution for a Sequence mismatch or not.
    Best to set up correctly first and then see.

  • How I make TM use an existing backup set?

    I had to get my MBP serviced due to the graphics chip recall. When it came back TM stopped backing me up. I turned it back on and it wants to create a new backup. It uses the same name for the backup but calls it #2 (e.g. My Laptop #2).
    How can I force TM to use the existing backup? It goes back to March and I don't want to lose them. It wont let me copy the backups into the new folder either. Says I don't have permission. I've added myself to the permissions for the folder but no go.
    Thanks in advance.
    Jeff

    *_Full Backup After Hardware Change_*
    Actually, this is normal. Anytime your hardware has been repaired, replaced, Time Machine will perform a new full backup and you will not be able to resume backing up with the same history as the previous backups. Time Machine will resume incremental backups after the full backup has completed.
    To view previous backups, Control-click or right-click the Time Machine icon in your Dock or Option-click the Time Machine menu and choose "Browse Other Time Machine Disks," then select your previous backup volume. You will enter Time Machine and be able to browse your previous back ups and restore files.
    While there may be ways to fool/hack Time Machine into recognizing previous backups without performing another full backup, they are rather elaborate, and for the average user are simply not worth it. Ultimately, in a couple of months, all the effort to preserve old backups may seem pointless. After all, Time Machine will eventually purge away that data anyways as it replaces it with new files.
    It may simply be easier to begin a fresh series of backups while saving the previous backups until your satisfied that you have enough history built up. Then delete the old backups.
    *Why Can’t I Resume Backups?*
    You see, Time Machine was designed to restore your Macs’ immediate environment in case of system crashes or accidental deletion of user files. As a result, getting a new Mac, or changing your existing hardware requires a fresh set of backups since older backups would not accurately represent the current state of your Mac.
    Furthermore, maintaining backups that were started with an older Mac, introduces the possibility of restoring system files that were never intended for the new Mac.
    Finally, if backups were NOT linked to a specific Mac, imagine the confusion for Time Machine in households with multiple Macs backing up to the same Time Machine device. Backups from one Mac could unintentionally be added to the backup set of another Mac. In that event, any attempt at ‘restoring’ files/folders specific to that Mac would be impossible. As a result, each backup set must be unique for each Mac.
    Fortunately, it appears that new full backups are not required after a user performs an “Archive and Install”, a “Restore System From Backup...”, or an “Erase and Install” with their Mac OS Leopard install DVD. At least this appears to be the case since the Mac OS 10.5.5 update. Nevertheless, even if Time Machine does continue using the existing backup set following these re-installation methods, then at the very least expect Time Machine to perform a "Deep Traversal" and possibly a very large incremental backup (many GBs) because of the massive differences in the FSEvents log.
    If, however, a user chooses to perform a Full Restore back to a version of Mac OS X prior to 10.5.5, then Time Machine is likely to abandon the previous backup sets and perform a new full backup. [http://support.apple.com/kb/TS1338]
    If you require long-term archival storage of files, however, then you need another backup strategy.
    Hope this clarifies some things.
    Cheers!

Maybe you are looking for