HOW DELTA WORKS IN FI MODULE?FI_AR,FI_AP

HOW DELTA WORKS IN FI MODULE?FI_AR,FI_AP

Hi
See the links in the thread
delta handling in FI
delta handling in FI
Assign points if useful
Cheers
N Ganesh

Similar Messages

  • How delta works in HANA

    Hi All
    Can anybody explain how the delta mechanism works in HANA,to be precise if there are any changes to the existing records how they are handled .How HANA classifies the current information and past information.
    Thanks for your inputs.
    Santosh

    varada santosh wrote:
    Hi Lars
    >
    >   My question is not about loading the delta loading mechanism which is at the application level ,I am more concern about the database layer , once the data is loaded how the existing records will be modified if the same record was already there and some changes  happened to the existing data, how it differentiates which one to consider
    >
    >   Also whether it overwrites the existing data or it keeps both records with time factors to differntiate past and current information.
    >
    > Thanks
    Hello Santosh,
    in the column store all modifications of data are written to the delta log of the table first.
    If rows from the main storage (called "main index") have been changed or deleted, then these main index entries are made invisible to other transactions (the multiversion concurrency does this visibility handling of data) and the data from the delta log is used thereof.
    Once the delta and main indexes get merged, the old main index entry will be removed and only the current version of the row will be present.
    This is out it works for common column tables.
    If you use "history"-tables, then the old versions of the rows are never actually removed but made (in-)visible depending on the timestamp from when these rows have been inserted first.
    This is as much as I can tell about this. For more information on this topic, please consider joining the HANA core development team
    regards,
    Lars

  • How delta work in BI

    Hi
    Can anyone help on how the logic  handle of delta in BI?
    Example:
    1) Create Purchase Order with PO qty 10 on 01/11/2008 in R3.
        Result: Purchase Order with PO qty 10 send to BI
    2) On 10/11/2008, there is change on PO qty from 10 to 9 in R3.
        Result-1: Will BI delete the record for PO with qty 10 that was send to BI previously? Follow by insert the latest change for PO with qty 9 to BI?
    <OR>   Result-2: Purchase order with PO qty 10 is remain in BI. Besides, there is delta send to BI for Purchase order with PO qty = 1?
    What is the possible result. Please advice.
    Thanks,
    Kang Ring

    Hi.....
    There are two record modes for Delta.....After image(new records) and Before image(Old records)....
    1) Create Purchase Order with PO qty 10 on 01/11/2008 in R3.
    Result: Purchase Order with PO qty 10 send to BI
    2) On 10/11/2008, there is change on PO qty from 10 to 9 in R3
    If its a Infocube . i.e it is additive so we can send the before image and the after image together......additive image (A)....where old record is added with KF inverted, and new records added as it is.
    then....
    PO qty
    10
    -9
    If its a ODS.......we can send the after image(' ').......since overwrite optionis there.......
    then..
    PO qty
    9
    Another type is New image (N).........it only sends the new records........so data can loaded to ODS only.........in the type of delta.....
    Another is Reverse image (R).......The content of this record is the same as the content of a before image. The only difference is with an ODS object update: Existing records with the same key are deleted.
    You can find all the details in the table RODELTAM....just go to that table through se16......there you will get all the details.....just press F1 in any fields......
    Hope this helps.....
    Regards,
    Debjani......
    Edited by: Debjani  Mukherjee on Nov 6, 2008 11:29 PM

  • As a end user how to work in a " Training & Event Management Module'"

    Dear Gurus,
    As a end user how to work in a " Training & Event Management Module'"
    Please advised
    Regards
    MHPO

    Dear MHP,
                     there are lots of things you can do as an end user in TEM.   You could create new events (not events types), book peoples, fix the date of the event, then create califications of the event (about the event or about the atendee).  Please, read sap help issues:  (in Training and Event Management)  day-to-day activities, Recurring Activities and Reporting.
    I hope this help you.
    Santiago

  • How to do delta management for fi module?

    how to do delta management for fi module?

    Hi,
    Take a look on the following help site,It has all most all information about FI extraction:
    http://help.sap.com/saphelp_bw32/helpdata/en/af/16533bbb15b762e10000000a114084/frameset.htm
    With rgds,
    Anil Kumar Sharma .P

  • How Delta mechanism works for the datasource 0CRM_SALES_ACT_1 in CRM .

    Hi all,
    How Delta mechanism works for the datasource 0CRM_SALES_ACT_1 in CRM .
    I mean timestamp, date etc? And how I can check that
    Appreciate u r response.
    Thanks
    Pramod

    Hi,
    in your system, goto rsa1->tools->assign source system id....
    regards
    Siggi
    PS: I strongly recommend to use the search functionality. This has been asked already a few times.

  • How does the Generic Delta Works

    Hi All,
    Please let me know how the different types of Generic Delta works i.e. Numeric Pointer, 0Calday and Timestamp with one simple example for each.
    Thanks & Regards,
    Sunny

    Hi........
    There are three options for the type of the field determining the delta in a DataSource:
    1. Time stamp - The field is a DEC15 field which always contains the time stamp of the last change to a record in the local time format.
    2. Calendar day - The field is a DATS8 field which always contains the day of the last change.
    3. Numerical pointer - The field contains another numerical pointer that appears with each new record.
    Safety Interval Upper Limit of Delta Selection
    This field is used by DataSources that determine their delta generically using a repetitively-increasing field in the extract structure.
    The field contains the discrepancy between the current maximum when the delta or delta init extraction took place and the data that has actually been read.
    Leaving the value blank increases the risk that the system could not extract records arising during extraction.
    Example: A time stamp is used to determine the delta. The time stamp that was last read is 12:00:00. The next delta extraction begins at 12:30:00. In this case, the selection interval is 12:00:00 to 12:30:00. At the end of extraction, the pointer is set to 12:30:00.
    A record - for example, a document- is created at 12:25 but not saved until 12:35. It is not contained in the extracted data but, because of its time stamp, is not extracted the next time either.
    For this reason, the safety margin between read and transferred data must always be larger than the maximum length of time that it takes to create a record for this DataSource (with a time stamp delta), or it must display an interval that is sufficiently large (for determining delta using a serial number).
    Safety Interval Lower Limit
    This field contains the value taken from the highest value of the previous delta extraction to determine the lowest value of the time stamp for the next delta extraction.
    For example: A time stamp is used to determine a delta. The extracted data is master data: The system only transfers after-images that overwrite the status in the BW. Therefore, a record can be extracted into the BW for such data without any problems.
    Taking this into account, the current time stamp can always be used as the upper limit when extracting: The lower limit of the next extraction is not seamlessly joined to the upper limit of the last extraction. Instead, its value is the same as this upper limit minus a safety margin. This safety margin needs to be big enough to contain all values in the extraction which already had a time stamp when the last extraction was carried out but which were not read. Not surprisingly, records can be transferred twice. However, for the reasons above, this is unavoidable.
    Extracted Data Delta Type
    The system uses the delta type to determine how extracted data is to be interpreted in BW, and into which data targets it can be posted.
    A distinction is made between the following:
    1. Additive delta
    The key figures for extracted data are added up in BW. DataSources with this delta type can supply data to ODS objects and InfoCubes.
    2. New status for changed records
    Each record to be loaded delivers the new status for the key figures and characteristics. DataSources with this delta type can write to ODS objects or master data tables.
    Check this link :
    http://help.sap.com/saphelp_nw2004s/helpdata/en/37/4f3ca8b672a34082ab3085d3c22145/content.htm
    generic delta
    Hope this helps you..........
    Regards,
    Debjani.............

  • How delta load works ?

    Hi Experts ,
    Could any-one please tell me -
    1. How delta load actually works ? actually i want to know how the request from BW side reads the RSA7 and how the next time it reads the next records?
    On what basis it checks the new set of records?
    Regards,
    RG

    Hi.....
    RSA7 is nothing but the delta queue :
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sapportals.km.docs/library/business-intelligence/a-c/faq-around%20sap%20bw%20deltaqueue%20-%20rsa7.faq
    For delta loads :
    1) First you have to run the full update (after filling the set up table)
    2) After that run init without datatransfer.........this will set the init flag......after this any changes will go to the delta queue......ie new records.......now extraction will picks records from the delta queue.....
    3) then run delta upload...........which picks records from delta queue.......
    Hope this helps you.......
    Regards,
    Debjani.........

  • Generic Delta extraction by Function module issue

    Hello Experts,
    Please help !!!
    I have problem for delta extraction by Function module.  For the full load, I wrote function module based on RSAX_BIW_GET_DATA_SIMPLE. It works fine.
    But I would like to have the delta load enabled. Therefore, I modified the datasource, add a delta specific field u2018ztimestampu2019, which type is calendar day.
    Then I create a function module based on template u2018RSAX_BIW_GET_DATAu2019, as this support the upload mode. But when I test this datasource in RSA3, no matter itu2019s full load or initial delta load, it always send me an error, u201CErrors occurred during the extractionu201D.
    I had some debug, and found that there is no value  for i_isource when my function module is called. Therefore it raised the exception.
    But I do not have the chance to debug my code for the delta logic, can somebody help to check?
    I also check the entries in ROOSOURCE,
    For my datasource ZTRNREC_FM_DELTA, The DELTA value is u2018AIEu2019, and extraction method is u2018F2u2019, should I change them to DELTA= u2018Du2019 and extraction method to u2018F1u2019? Where to change?
    FUNCTION ZRSAX_TRAININGREC_DELTA.
    ""Local Interface:
    *"  IMPORTING
    *"     VALUE(I_REQUNR) TYPE  SBIWA_S_INTERFACE-REQUNR
    *"     VALUE(I_ISOURCE) TYPE  SBIWA_S_INTERFACE-ISOURCE OPTIONAL
    *"     VALUE(I_MAXSIZE) TYPE  SBIWA_S_INTERFACE-MAXSIZE OPTIONAL
    *"     VALUE(I_INITFLAG) TYPE  SBIWA_S_INTERFACE-INITFLAG OPTIONAL
    *"     VALUE(I_UPDMODE) TYPE  SBIWA_S_INTERFACE-UPDMODE OPTIONAL
    *"     VALUE(I_DATAPAKID) TYPE  SBIWA_S_INTERFACE-DATAPAKID OPTIONAL
    *"     VALUE(I_PRIVATE_MODE) OPTIONAL
    *"     VALUE(I_CALLMODE) LIKE  ROARCHD200-CALLMODE OPTIONAL
    *"     VALUE(I_REMOTE_CALL) TYPE  SBIWA_FLAG DEFAULT SBIWA_C_FLAG_OFF
    *"  TABLES
    *"      I_T_SELECT TYPE  SBIWA_T_SELECT OPTIONAL
    *"      I_T_FIELDS TYPE  SBIWA_T_FIELDS OPTIONAL
    *"      E_T_DATA STRUCTURE  ZTRN_REC_TIME OPTIONAL
    *"      E_T_SOURCE_STRUCTURE_NAME OPTIONAL
    *"  EXCEPTIONS
    *"      NO_MORE_DATA
    *"      ERROR_PASSED_TO_MESS_HANDLER
    The input parameter I_DATAPAKID is not supported yet !
    Example: InfoSource containing TADIR objects
    Auxiliary Selection criteria structure
      DATA: l_s_select TYPE sbiwa_s_select.
    Maximum number of lines for DB table
      STATICS: l_maxsize TYPE sbiwa_s_interface-maxsize,
              S_S_IF TYPE SRSC_S_IF_SIMPLE,
              S_COUNTER_DATAPAKID LIKE SY-TABIX.
    Parameter I_PRIVATE_MODE:
    Some applications might want to use this function module for other
    purposes as well (e.g. data supply for OLTP reporting tools). If the
    processing logic has to be different in this case, use the optional
    parameter I_PRIVATE_MODE (not supplied by BIW !) to distinguish
    between BIW calls (I_PRIVATE_MODE = SPACE) and other calls
    (I_PRIVATE_MODE = X).
    If the message handling has to be different as well, define Your own
    messaging macro which interprets parameter I_PRIVATE_MODE. When
    called by BIW, it should use the LOG_WRITE macro, otherwise do what
    You want.
    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
    The input parameter I_DATAPAKID is not supported yet !
    Invalid second initialization call -> error exit
        IF NOT g_flag_interface_initialized IS INITIAL.
          IF 1 = 2. MESSAGE e008(r3). ENDIF.
          log_write 'E'                    "message type
                    'R3'                   "message class
                    '008'                  "message number
                    ' '                    "message variable 1
                    ' '.                   "message variable 2
          RAISE error_passed_to_mess_handler.
        ENDIF.
    Check InfoSource validity
        CASE i_isource.
          WHEN 'ZTRNREC_FM_DELTA'.
          WHEN OTHERS.
            IF 1 = 2. MESSAGE e009(r3). ENDIF.
            log_write 'E'                  "message type
                      'R3'                 "message class
                      '009'                "message number
                      i_isource            "message variable 1
                      ' '.                 "message variable 2
            RAISE error_passed_to_mess_handler.
        ENDCASE.
    Check for supported update mode
        CASE i_updmode.
          WHEN 'F'.
          WHEN 'D'.
          WHEN 'R'.
          WHEN OTHERS.
            IF 1 = 2. MESSAGE e011(r3). ENDIF.
            log_write 'E'                  "message type
                      'R3'                 "message class
                      '011'                "message number
                      i_updmode            "message variable 1
                      ' '.                 "message variable 2
            RAISE error_passed_to_mess_handler.
        ENDCASE.
    Check for obligatory selection criteria
        APPEND LINES OF i_t_select TO g_t_select.
    Fill parameter buffer for data extraction calls
        g_s_interface-requnr    = i_requnr.
        g_s_interface-isource   = i_isource.
        g_s_interface-maxsize   = i_maxsize.
        g_s_interface-initflag  = i_initflag.
        g_s_interface-updmode   = i_updmode.
        g_s_interface-datapakid = i_datapakid.
        g_flag_interface_initialized = sbiwa_c_flag_on.
    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 g_t_segfields.
      ELSE.                 "Initialization mode or data extraction ?
    Data transfer: First Call      OPEN CURSOR + FETCH
                   Following Calls FETCH only
      LOOP AT G_T_SELECT INTO L_S_SELECT
            WHERE FIELDNM = 'ZTIMESTAMP'.
      ENDLOOP.
          IF G_COUNTER_DATAPAKID = 0.
            IF L_S_SELECT-LOW = '' AND L_S_SELECT-HIGH = ''.
            OPEN CURSOR WITH HOLD G_CURSOR FOR
                SELECT (g_t_fields)
                FROM ZTRN_REC_TIME.
            ELSE.
              OPEN CURSOR WITH HOLD G_CURSOR FOR
                SELECT (g_t_fields)
                FROM ZTRN_REC_TIME
                WHERE ZTIMESTAMP >= L_S_SELECT-LOW
                  AND ZTIMESTAMP  <= L_S_SELECT-HIGH.
            ENDIF.
          ENDIF.
      FETCH NEXT CURSOR G_CURSOR
                   APPENDING CORRESPONDING FIELDS
                   OF TABLE E_T_DATA
                   PACKAGE SIZE S_S_IF-MAXSIZE.
        IF SY-SUBRC <> 0.
          CLOSE CURSOR G_CURSOR.
          RAISE NO_MORE_DATA.
        ENDIF.
        S_COUNTER_DATAPAKID = S_COUNTER_DATAPAKID + 1.
      ENDIF.
    ENDFUNCTION.
    I found some similar issue in this forum by link
    Generic Extractor Delta Function Module code, but still I could not get clear answer.
    Can you please help me:
    1)     why there is no value for i_source , how to fix it?
    2)     For the delta logic for ztimestemp, is it correct?
    3)     Need I modify the entries in ROOSOURCE ?
    Thanks a lot !!!

    Hello Andre,
            Thanks a lot for your help. I did some change , but still does not work. Could you please help check.
    Now the source code are the following, It's based on the RSAX_BIW_GET_DATA_SIMPLE, as you confirm that this also supply the update mode (full, initial delta, delta).
    FUNCTION RSAX_BIW_GET_DATA_TRAININGREC1.
    ""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  ZTRN_REC_TIME OPTIONAL
    *"  EXCEPTIONS
    *"      NO_MORE_DATA
    *"      ERROR_PASSED_TO_MESS_HANDLER
    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_ZTIMESTAMP FOR ZTRN_REC_TIME-ZTIMESTAMP.
    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 'ZTRNREC_FM'.
          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.
          LOOP AT S_S_IF-T_SELECT INTO L_S_SELECT WHERE FIELDNM = 'ZTIMESTAMP'.
          MOVE-CORRESPONDING L_S_SELECT TO L_R_ZTIMESTAMP.
          APPEND L_R_ZTIMESTAMP.
          ENDLOOP.
    Determine number of database records to be read per FETCH statement
    from input parameter I_MAXSIZE. If there is a one to one relation
    between DataSource table lines and database entries, this is trivial.
    In other cases, it may be impossible and some estimated value has to
    be determined.
         IF L_S_SELECT-LOW = '' AND L_S_SELECT-HIGH = ''.
            OPEN CURSOR WITH HOLD S_CURSOR FOR
            SELECT (S_S_IF-T_FIELDS)
            FROM ZTRN_REC_TIME.
            ELSE.
            OPEN CURSOR WITH HOLD G_CURSOR FOR
            SELECT (S_S_IF-T_FIELDS)
            FROM ZTRN_REC_TIME
            WHERE ZTIMESTAMP >= L_S_SELECT-LOW
            AND ZTIMESTAMP <= L_S_SELECT-HIGH.
         ENDIF.
        ENDIF.                             "First data package ?
    Fetch records into interface table.
      named E_T_'Name of extract structure'.
        FETCH NEXT CURSOR S_CURSOR
                   APPENDING CORRESPONDING FIELDS
                   OF TABLE E_T_DATA
                   PACKAGE SIZE S_S_IF-MAXSIZE.
        IF SY-SUBRC <> 0.
          CLOSE CURSOR S_CURSOR.
          RAISE NO_MORE_DATA.
        ENDIF.
        S_COUNTER_DATAPAKID = S_COUNTER_DATAPAKID + 1.
      ENDIF.              "Initialization mode or data extraction ?
    ENDFUNCTION.
    I think it already includes the important statements you suggested.
    I test this FM in RSA3, for the Full load mode, it works fine. Also if I checked the debug mode in execution , it will stop in the code and let me debug.
    But when I choose other mode, like 'initializion of the delta transfer'  or simulation of initial delta, I always get error 'error occurs  during the extraction' .. even I choose debug mode, but it could not enter the code for debug..
    Till now I did not see any parameter or value for the upload mode..
    Another questions is that, in RSO2, I define Ztimestamp as my delta field.. But , can I add other field as selection condition in the datasource definition, and has its range table in this function module ?
    Should I change the entries in ROOSOURCE for this datasource ??
    Please let me know your feedback, do you have some concret example for generic delta extraction ?
    Thanks a lot !

  • Code For Delta Extraction Using Function Module

    Dear Experts,
    I want a sample code for Delta Extraction using Function Module ( If it is customized already working code very helpful ), I have already created Function Module but Full update is happening. If I give delta update again it is retrieving all records. It is very urgent, if you have please send me to the following mail ID.
    [email protected]
    Best Regards,
    SGK.

    Dear KJ,
    Thank for your response. I saw the code that you sent, you have used some ztables like ZSC_DELTA_IP, ZSC_SAFETY_DELTA, ZSC_SET_EXT_TIME
    What are the fields that you have created in these tables , what is use of these tables, can you send the fields that you have used in these tables.
    Thanks & Regards,
    SGK

  • I need help understanding how this works. AS 2.0

    Its my first time here and i only started learning flash today. I aint too great with maths and i was showed this piece of code that makes a triangles point follow the cursor. It involved mathimatical things ( which i aint so great at) and the guy said "You dont need to know how it works, just how to use it." well i copied his code and it worked, but i have no idea how to use it in other rotation apart from the one he taught us. I dont even understand how to redo his code i saved it to a word document and anytime i wanted to make something rotate something in that fashion i would refer to that. But i dont want to have to do that, i want to know how to use it, dont have to understand it, but use it for other rotation matters. If you are going to help, please try to be a bit simmple i explaining it, cause im new. Dont get me wrong i aint thick but i can find it a bit hard to follow some things, that is i my current problem.
    here is the rotation code:
    onEnterFrame = function()
    hero._rotation = getmouse(hero);
    getmouse = function(mc:MovieClip):Number
    dy = _ymouse-mc._y;
    dx = _xmouse-mc._x;
    rad = Math.atan2(dy,dx);
    rotate = rad*180/Math.PI
    return rotate+90
    also if it helps, here is the video i was watching: http://www.youtube.com/watch?v=w3OfrpbNhHs
    please if you can, explain how the entire thing works.
    thanks for any help given in advance.

    Hi,
    Here's a short primer.  It may not be sufficient but here goes.
    1st, move the closing bracket at the end and put it on the third line.  This makes the code more efficient
    onEnterFrame = function(){                               // this causes Flash to repeatedly
                                                                              execute the next line at the
                                                                              frame rate you selected
                                                                              for your document
           hero._rotation = getmouse(hero);               // this tells Flash to rotate a
                                                                              movie clip (named hero) based
                                                                              on the function getmouse()
    };                                                                     // putting the }; here makes the
                                                                              code more efficient and readable
    getmouse = function(mc:MovieClip):Number{   // This is the function called with
                                                                             mc referring to hero that was
                                                                             passed from the second line.
         dy = _ymouse-mc._y;                                // dy means delta y which subtracts
                                                                            the y position of the movieclip
                                                                            from the mouses y position
         dx = _xmouse-mc._x;                               // dx = delta x (same as above line
                                                                            but on the x axis)
                                                                         // once you have the x and y sides
                                                                            you male a triangle.
                                                                            Now use trig to find the angle
         rad = Math.atan2(dy,dx);                           // the computer works in radians
                                                                            the arc tangent atan2 will give the
                                                                            angle in radians
         rotate = rad*180/Math.PI                            // you want to convert the radians to
                                                                            degrees, that's what this line does
         return rotate+90                                         // this returns the value of rotate back
                                                                            to the calling function in line 2.
                                                                            the +90 determines which part
                                                                        // of the hero movie clip is facing the
                                                                           mouse.
    If you put the mouse cursor over any of the green reserved words above in the Actions panel you will get a desctription of what these do.
    hope that helps.

  • How to DEBUG a function module running in background mode? Please help!

    Hi Experts,
       I am calling a function module in my ABAP code in background module using the following syntax:
      CALL FUNCTION 'YBBC2_CREATE_SNAPSHOT' IN BACKGROUND TASK
              TABLES
                itab_std_format_inv = itab_std_format_inv
                itab_snapshot_inv = itab_snapshot_inv.
            COMMIT WORK.
    If I put the breakpoint in the CALL FUNCTION line and execute the program, the debugger does not take me to the valled function module. This may be because I am running the function module as background task.
    I cannot comment this  "IN BACKGROUND TASK" statement as well since i am debugging in Quality system where I don't have change access.
    So how to DEBUG a function module running in background mode? Please help!
    Thanks
    Gopal

    Hi,
    You could try to use the following trick:
    (1) Put an endless loop into the coding of your function module where you want to start debugging, e.g.
      DATA:
        lx_exit_loop(1)     TYPE c.
      lx_exit_loop = ' '.
      DO.
        IF ( lx_exit_loop = 'X' ).
          EXIT.
        ENDIF.
      ENDDO.
    (2) Call your function module in background task
    (3) Call transaction SM50 and search for the background process.
    (3) Choose from menu Program/Mode -> Program -> Debugging
    Now you the debugger should bring you right to your endless loop. Set lx_loop_exit = 'X' in the debugger and continue (F5 or F6).
    <b>Reward points</b>
    Regards

  • How to expert in function modules

    Hello,
    Can anybody tell me how to start working on functional modules...pls provide me a simple documentation.
    Thnx in advance.
    sreenivas.

    Sreenivasulu M
    Go through the following Document
    1) ction modules are special external
    subroutines stored in a central library.
    SAP has provided a good number of pre
    defined function modules and also we can
    create our own function modules.
    We can call any of these function
    modules from ABAP/4 programs.
    2) We group function modules in to function groups.
    The main advantage of grouping function modules into function groups is that, global data of a group can be shared by all function modules in that group.
    3) FMs are stored in central library and Subroutines are confined to a particular program.
    FMs return values while Subroutines can’t return.
    FMs can raise and handle exceptions while Subroutines can’t.
    4) There is a difference in passing parameters to the function modules.
    Declaring data as common parts is not possible for function modules.
    The calling program and the called function module have different work areas in ABAP/4 dictionary tables.
    5) Parameters
    Communication with FM’s is done through Parameters like
    Import Parameters
    Export Parameters
    Changing Parameters
    Tables Parameters
    Exceptions
    6) Import Parameters
    FM’s  import certain values from the main program in order to generate some logical data and these values are exported from main program.
    Export Parameters
    FM’s  can export certain calculated values  that are useful to the main program. These exported values are to be imported  in the main program.
    Changing Parameters
    This is a Call by Reference procedure.
    7) Table Parameters
    FM’s  can import internal tables and work areas from the main program and the changes are reflected back. This is also done through “Call by Reference” procedure.
    Exceptions
    FM’s  can raise and handle exceptions. Exceptions are such situations where error cant be dealt by the program logic, say like trying to access network resources when the network is not there
    8) Ex.
    CALL FUNCTION 'GUI_UPLOAD'
    EXPORTING
       FILENAME             = ’C:\TEST.TXT '
       FILETYPE                 = ’ASC'
    IMPORTING
       FILESIZE             = V_SIZE
    TABLES
        DATA_TAB            = ITAB
    EXCEPTIONS
       CONVERSION_ERROR      = 1
       INVALID_TABLE_WIDTH       = 2
       INVALID_TYPE                = 3.
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
             WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    Thanks & regards
    Sreenivasulu P
    Message was edited by: Sreenivasulu Ponnadi

  • Can any one tell me how to work with field exit????

    Hi
    Can any one tell me how to work with field exit I know how to create them. I want to know how it works. Actually I want to create a field exit for T-CODE MIRO. Where I want to put the value ebeln of the PO Reference tab into the Assignment of details tab and make Assignment field disable.
    Thanks in advance

    Hi,
    Follow the Steps,
    1. Go to CMOD transaction
    2. From the menu "GOTO->TEXT ENHANCEMENTS->DATA ELEMENTS-   ->NEW DE CUST DOCU".
    3. In the displayed box specify the data element and
       press either "CHANGE" or " Ref to screen" button
    4. CHANGE button is for defining the documentation
    5. "Ref. to screen" if for assigning the screen in which
       a field has the this type data element.
       Note: You should have used this data element for a   
             field in that screen.
    6. Now it will ask for Function Module name, specify the
       FM name and double click it. It will go to the editor.
    7. Now using the Import parameters code accordingly
    8. Activate and go back
    9. Now "Assign the created program ( that is FM) to the
       screen by specifying the Program name and Screen
       number.
    10. Now save and activate.
    Note: No need to create a separate project for creating field exit through transaction CMOD.
    I hope this is suffice.
    Regs,
    Venkat Ramanan

  • Can u explain me how to work with OOPs ABAP

    Hi,
    Can u explain me how to work with OOPS Abap,  If possible pls send me some sample programs regarding OOps concept used in Realtime.
    Thanks.

    hii,
    Please check this online document (starting page 1291).
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCABA/BCABA.pdf
    Also check this links as well.
    http://help.sap.com/saphelp_nw2004s/helpdata/en/ce/b518b6513611d194a50000e8353423/frameset.htm
    http://www.sapgenie.com/abap/OO/
    http://www.futureobjects.de/content/intro_oo_e.html
    http://www.sap-img.com/abap/business-add-in-you-need-to-understand-abap-oo-interface-concept.htm
    /people/ravikumar.allampallam/blog/2005/02/11/abap-oo-in-action
    What is Object Orientation?
    Object orientation (OO), or to be more precise, object-oriented programming, is a problem-solving method in which the software solution reflects objects in the real world.
    A comprehensive introduction to object orientation as a whole would go far beyond the limits of this introduction to ABAP Objects. This documentation introduces a selection of terms that are used universally in object orientation and also occur in ABAP Objects. In subsequent sections, it goes on to discuss in more detail how these terms are used in ABAP Objects. The end of this section contains a list of further reading, with a selection of titles about object orientation.
    Objects
    An object is a section of source code that contains data and provides services. The data forms the attributes of the object. The services are known as methods (also known as operations or functions). Typically, methods operate on private data (the attributes, or state of the object), which is only visible to the methods of the object. Thus the attributes of an object cannot be changed directly by the user, but only by the methods of the object. This guarantees the internal consistency of the object.
    Classes
    Classes describe objects. From a technical point of view, objects are runtime instances of a class. In theory, you can create any number of objects based on a single class. Each instance (object) of a class has a unique identity and its own set of values for its attributes.
    Object References
    In a program, you identify and address objects using unique object references. Object references allow you to access the attributes and methods of an object.
    In object-oriented programming, objects usually have the following properties:
    Encapsulation
    Objects restrict the visibility of their resources (attributes and methods) to other users. Every object has an interface, which determines how other objects can interact with it. The implementation of the object is encapsulated, that is, invisible outside the object itself.
    Polymorphism
    Identical (identically-named) methods behave differently in different classes. Object-oriented programming contains constructions called interfaces. They enable you to address methods with the same name in different objects. Although the form of address is always the same, the implementation of the method is specific to a particular class.
    Inheritance
    You can use an existing class to derive a new class. Derived classes inherit the data and methods of the superclass. However, they can overwrite existing methods, and also add new ones.
    Uses of Object Orientation
    Below are some of the advantages of object-oriented programming:
    Complex software systems become easier to understand, since object-oriented structuring provides a closer representation of reality than other programming techniques.
    In a well-designed object-oriented system, it should be possible to implement changes at class level, without having to make alterations at other points in the system. This reduces the overall amount of maintenance required.
    Through polymorphism and inheritance, object-oriented programming allows you to reuse individual components.
    In an object-oriented system, the amount of work involved in revising and maintaining the system is reduced, since many problems can be detected and corrected in the design phase.
    Achieving these goals requires:
    Object-oriented programming languages
    Object-oriented programming techniques do not necessarily depend on object-oriented programming languages. However, the efficiency of object-oriented programming depends directly on how object-oriented language techniques are implemented in the system kernel.
    Object-oriented tools
    Object-oriented tools allow you to create object-oriented programs in object-oriented languages. They allow you to model and store development objects and the relationships between them.
    Object-oriented modeling
    The object-orientation modeling of a software system is the most important, most time-consuming, and most difficult requirement for attaining the above goals. Object-oriented design involves more than just object-oriented programming, and provides logical advantages that are independent of the actual implementation
    http://www.sapgenie.com/abap/OO/index.htm
    http://www.geocities.com/victorav15/sapr3/abap_ood.html
    http://www.brabandt.de/html/abap_oo.html
    Check this cool weblog:
    /people/thomas.jung3/blog/2004/12/08/abap-persistent-classes-coding-without-sql
    /people/thomas.jung3/blog/2004/12/08/abap-persistent-classes-coding-without-sql
    /people/sap.user72/blog/2005/05/10/a-small-tip-for-the-beginners-in-oo-abap
    /people/ravikumar.allampallam/blog/2005/02/11/abap-oo-in-action
    /people/thomas.jung3/blog/2005/09/08/oo-abap-dynpro-programming
    http://help.sap.com/saphelp_nw04/helpdata/en/c3/225b6254f411d194a60000e8353423/frameset.htm
    http://www.sapgenie.com/abap/OO/
    http://www.sapgenie.com/abap/OO/index.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/c3/225b5654f411d194a60000e8353423/content.htm
    http://www.esnips.com/doc/375fff1b-5a62-444d-8ec1-55508c308b17/prefinalppt.ppt
    http://www.esnips.com/doc/2c76dc57-e74a-4539-a20e-29383317e804/OO-abap.pdf
    http://www.esnips.com/doc/5c65b0dd-eddf-4512-8e32-ecd26735f0f2/prefinalppt.ppt
    http://www.allsaplinks.com/
    http://www.sap-img.com/
    http://www.sapgenie.com/
    http://help.sap.com
    http://www.sapgenie.com/abap/OO/
    http://www.sapgenie.com/abap/OO/index.htm
    http://www.sapgenie.com/abap/controls/index.htm
    http://www.esnips.com/doc/2c76dc57-e74a-4539-a20e-29383317e804/OO-abap.pdf
    http://www.esnips.com/doc/0ef39d4b-586a-4637-abbb-e4f69d2d9307/SAP-CONTROLS-WORKSHOP.pdf
    http://www.sapgenie.com/abap/OO/index.htm
    http://help.sap.com/saphelp_erp2005/helpdata/en/ce/b518b6513611d194a50000e8353423/frameset.htm
    http://www.sapgenie.com/abap/OO/
    these links
    http://help.sap.com/saphelp_47x200/helpdata/en/ce/b518b6513611d194a50000e8353423/content.htm
    For funtion module to class
    http://help.sap.com/saphelp_47x200/helpdata/en/c3/225b5954f411d194a60000e8353423/content.htm
    for classes
    http://help.sap.com/saphelp_47x200/helpdata/en/c3/225b5c54f411d194a60000e8353423/content.htm
    for methods
    http://help.sap.com/saphelp_47x200/helpdata/en/08/d27c03b81011d194f60000e8353423/content.htm
    for inheritance
    http://help.sap.com/saphelp_47x200/helpdata/en/dd/4049c40f4611d3b9380000e8353423/content.htm
    for interfaces
    http://help.sap.com/saphelp_47x200/helpdata/en/c3/225b6254f411d194a60000e8353423/content.htm
    For basic stuff......
    abap oops
    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
    http://help.sap.com/saphelp_nw04/helpdata/en/c3/225b5654f411d194a60000e8353423/frameset.htm
    ABAP Business Development and Service Provisioning/ABAP Objects
    General information
    What is Object Orientation?
    some blogs
    A small tip for the beginners in OO ABAP
    Object Oriented ABAP (OO-ABAP)
    and others wiki OO Abap
    cheers,
    sharad
    Edited by: sharad narayan on Apr 29, 2008 12:19 PM

Maybe you are looking for