Need Information on Transformation routine .

Hi ALL,
      I want to know how the routine executes while transformation of data from source
to cube/ODS . I mean, will the routine execute for each record in the source or it will execute
only once .
I have 10 records in source system & i need to create surrrogate key for these records using
routine .So want to know how many times the routine executes is it 10 times or only once.
Please suggest on this .
Thanks & Regards
Sameer Khan

Hi Sameer...
Go through the link below ...
https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/6090a621-c170-2910-c1ab-d9203321ee19
Reagrds
Sudheer

Similar Messages

  • How to know infopackage request ID in transformation routine ?

    Hi All,
    I'm looking for the ABAP code to know the infopackage request ID in transformation start or end routine
    I can see this ID when I clic on "manage" on a PSA (looks like for instance REQU_D706H24SFFUIGNKMQMPPAIJLM)
    I need it in transformation routine
    Thanks for your help
    Sebastien Lepeltier

    Sorry Sat but again with the code :
    field-symbols: <l_requnr> type any.
    data: l_requnr_fieldnm type string value 'l_requnr'.
    assign (l_requnr_fieldnm) to <l_requnr>.
    I have this error message in debug mode : Field symbol <L_REQUNR> is not yet assigned
    Thanks Joe for the answer but in
    IMPORTING
    request TYPE rsrequest
    datapackid TYPE rsdatapid
    request and datapackid are filled with information of the current DTP not infopackage source
    Sebastien

  • Need clarification to write transformation routine for my requirement

    Hi all,
    I have a requirement as mentioned below...
    I have a keyfigure amount which will hold the amount value..now i have been asked to add amount_2000 key figure...it has been done..
    But the real problem is that
    They will give a filter value in DTP selection for the field "area".
    now if they give area as 1000 then the amount field should populat with the respective amount value
    but whereas amount_2000 should populate with only the amount of the area 2000 irrespective of the filter condition given...
    i need to write the routine in the transformation...But the problem is that when we give the filter value in DTP i coudnt get value for amount_2000 as only it gets the value for 1000.
    I hope the requirement is clear...
    can any one help me in this.
    Thanks & Regards,
    Hari.

    Write a routine for the InfoObject amount_2000.
    Use amount and area as source fields.
    Now the coding should look like:
    IF source_fields-area = '2000'.
      RESULT = source_fields-amount.
    ELSE.
      RESULT = 0.
    ENDIF.
    This is independent of the filter values in the DTP.
    Best regards
    Dirk

  • Table Declaration in Transformation Routine

    Hi all,
    I have declared a table in transformation routine as follows :
    DATA : BEGIN OF VACATIONS OCCURS 0,
           DATE TYPE D,
           END OF VACATIONS.
    System is giving following error on this :
    ' E:Tables with headers are no longer supported in the OO context.'
    What should I do now?
    Regards,
    Aisha Ishrat
    ICI Pakistan Ltd.

    Hi Al,
       Let me explain here ... because you are doing what is being told to do without actually understanding your purpose. Let me take a scenario. You want to read a database table for sales orders populate it into the internal table. Then you wnat to loop at the internal table you populated and print the output. For this what you need is an internal table where your data will be stored - simply put its a 2 dimentional array. so your data once put into the internal table would look like:
    Sales_Order  Sold_To_Party
    1                        1
    2                        3
    3                        5
    4                        1
    Now what you do is read it - which means you are going to read one line at a time, which means a structure not an internal table, which was the purpose of the header line. but since header lines are not supported you need a different work area (structure). So that when you read the first line your structure contains as follows:
    1                       1
    When you read the second line your structure or work area contains the second line:
    2                        3
    so on.....
    From the explaination above you must be clear that you need an internal table to store data temporarily and a structure to manipulate a single record. Now the cod would look like:
    DATA: it_vbak type table of VBAK.
    DATA: wa_vbak type vbak.
    Notice above that one is using a "table" while declaring and the other is not.
    Select * from VBAK into table it_vbak.
    loop at it_vbak into wa_vbak.
    note above that you are looping at the internal table and populating one record
    into the work area.
       write:/ wa_vbak-vbeln.
    endloop.
    Hope this helps. Ask if you have any more concerns.
    Best regards,
    Kazmi

  • CX_SY_NO_HANDLER triggered when call FM in Transformation Routine in BI

    Hi,
    Currently we are encountering an error whereby the Exception 'CX_SY_NO_HANDLER' will be triggered whenever we call a Function Module inside a Transformation Routine in BI.
    Previously, this FM was a Custom FM, but even after changing to a standard FM this error still happens.
    The process does not even enter into the FM, but immediately jumps to a 'Try - Catch' block of standard SAP, with the message "an exception (CX_SY_NO_HANDLER) occured".
    Hence, we need to confirm:
    does SAP/BI allow calling an FM inside a Transformation Routine?
    if yes to above, how do we avoid encountering this error when calling a FM inside a Transformation Routine.
    Your help is very much appreciated.
    Thanks you.

    Yes, you can call a FM from function module.
    Make sure your import and export parameters are of same type as defined in FM when passing values to FM from transformation.
    For example:
    in function module
    xyz type i.
    transformation
    abc type char.
    CALL FUNCTION 'dsjfh'
    EXPORT
    xyz = abc.
    Regards,
    San!

  • REGEX statement not working in transformation routine?

    hi,
    I need to include the REGEX ABAP key word in transformation routine for one of the fields--
    FIND all OCCURRENCEs OF REGEX
    But when i include this statement it says:
    E: statement "REGEX" is not defined.check your spelling--
    but same statement when i copy in SE38 ABAP editor it works very fine--
    May i know what is the reason?
    i had tried with all possible single quotes before posting here

    Is that the entire statement?  It looks like it is interpeting REGEX as a variable.  It should look something like this:
    FIND all OCCURRENCEs OF REGEX '(\b\S+\b)(-?)' IN g_result

  • Coding in transformation routine

    Hi,
    As per the design there will be two DSO in the data transformtion layer. One is right optimized DSO (for correct data) and another with a ERROR DSO which will contain the erronious records.
    In the transformation routine if the check fails the record needs to go to the error dso and a messge need to be updated in the monitor.
    Please let me know how to code this. Whether to do this by raising any exception and setting the return code.. or any other mechanism is there.
    thanks,
    Jugal.

    As per the reqirement there are two DSO, One is for the correct data and the other one for the error records, which will be send to business later for reconcilation. In the record master data attribute will also be there. For certain condition we need to update/ insert record into master data table as well. I found some function modules to update the master data.
    1  RSBCTSRM_UPDATE_MASTER_DATA
    2  RSDMD_WRITE_ATTRIBUTES_TEXTS (this is working fine).
    Question 2: Let me know is there any way to update the error DSO from error stack through configuration or through coding.
    Edited by: jugal behera on Feb 5, 2008 11:50 PM

  • Need Information on an Application (intel) called Java VisualVM.

    Need Information on an Application (intel) called Java VisualVM. I dont know where it came from, whats it's for and why it is there? More importantly, how to get rid of it?
    Thanks guys.

    Hello Ram
    regarding "environment parameters" there might be one "disadvantage". If you would have the need to change the parameter you need a transport. May be there are other useful options which could be of interest:
    As you may be now you can store user dependent parameters on the level of the SAP user. One example is:
    You (as the user) can select  a property tree. This selection of a property tree can be stored on userid level (therefore if you log off and log on once again the selection property is your "default" one,)l. Regarding this option you do not need a customizing parameter. The "cons" of this options are:
    a.) you must prepare this "parameter" like a constant in your program to be read from user profile
    b.) you should make sure that the user can only select from a number of values or if the user is using a value which is not allowed you need some "error" handling routine
    So may be this option is not so "robust" but is used very often in SAP and in SAP EH&S.
    With best regards
    C.B.

  • Transformation routine: delete 4 first characters..

    Hi dear experts,
    i need a transformation routine which deletes the first 4 characters from a field type CHAR.
    Exemple: "VKIA1000000000" -> "1000000000"
    do you know how it should look like?
    thanks for your time!
    j.

    Hi,
    You can try this in you routine:
          Select single FieldXXX from /bic/aABC00 into t_Field
          where
          KEYFIELD = e_t_result-KEYFIELD. (condition)
          SHIFT t_Field LEFT DELETING LEADING space.
          if t_Field is NOT INITIAL.
            E_T_RESULT-/bic/XXX = t_Field+4(10).
         else.
            E_T_RESULT-/bic/ycrtime = 0.
          endif.
    Rgs,
    I.R.K

  • Transformation Routine for checking condition only once

    Hello,
    I would like to perform he calculations based on certain criteria which goes like this...
          LOOP AT ITab WHERE EMPno  = ITAB Empno AND
                            ATYPE = ITAB-stype .
            IF ITAB-LTYP = '1000'.
              CHECK ITab-ABEGIN GE YR_BEGDT AND ITab-ABEGIN LE YR_ENDDT.
              CHECK FLAG_ST <> 1.
              ITAB-PENDING_ST = ITAB-PENDING_ST + ( ( ITab-BAL / 825 ) * 100 ).
            ELSEIF ITAB-STPE = '2000'.
              CHECK FLAG_SL <> 1.
              ITAB-PENDING_SL = ITAB-PENDING_ST + ( ( ITab-BAL  / 825 ) * 100 ).
              ENDLOOP.
          IF ITAB-stype  = '1000'.
            FLAG_ST = 1.
          ENDIF.
          IF ITAB-stype  = '2000'.
            FLAG_SL = 1.
          ENDIF.
          MODIFY ITAB.
    How to implement this logic in Transformation roles ... as this flag checks only once.... to perform the calculation.
    Thanks
        ENDLOOP.

    Hi there,
    You must be aware of start and end routine in a transformation.
    Assumin that you would like to modify the code before sending it to individual( field wise transormation) transformation , you can write your code in start routine tab of the transformations.
    Code written in Start routine in a transformation can manipulate the data data package wise..
    say for eg if u need to fill the values in indivual routine  then u can save all  the values in an internal table ( say for eg ur itab) in the start routine and this data is available for u in the transformation routines.. so anything written in start rotuine shall work as global modification for the transformation routines.
    Similarly code written in end rotuine shall work for chunk of data which is modified individually in transformation routine.
    you ca go thr this link for more clarification
    http://www.sdn.sap.com/irj/scn/index;jsessionid=(J2EE3417700)ID2067718350DB10090875593766856688End?rid=/library/uuid/609eea32-455e-2c10-c08a-c23adf8c934e&overridelayout=true
    http://help.sap.com/saphelp_nw04/helpdata/en/4f/a9ea964a86b04dbe4df20af6e598cf/frameset.htm
    Regards,
    kk

  • Transformation Routine to convert single record into multiple

    All,
    I need your help with ABAP Syntax.  My requirement is to take a single record and convert it to multiple records into a DSO with a condition to not create a record if a KF value is 0.
    R/3 Data Record:
    Employee | Date | Char1 | KF1 | Char2 | KF2 | Char3 | KF3 | Char4 | KF4
    Conversion Result into DSO:
    Employee | Date | Char1 | KF1
    Employee | Date | Char2 | KF2
    Employee | Date | Char3 | KF3
    Employee | Date | Char4 | KF4 (This record will not be written if no value is in KF4)
    I have read about the result table in update rules, however within BI 7.0 Transformations I am unfamiliar as to where the RESULT_TABLE function applies.  Has this been replaced by the Expert Routine?
    Could any ABAP expert provide sample code as to how I would perform this conversion in a Transformation Routine?
    Thanks,
    David

    Thanks Alex for your response.
    I did find a solution to this as it turns out to be fairly simple, however I executed the routine as an Expert Routine instead of a Start Routine.  I was advised to do the transformation here.
    The basic concept is defined below:
    Loop at source_package assigning -kf2.
              Append result_fields to result_package.
           Endif.
    -- Kf3u2026  and so on
    Endloop.
    Basically the APPEND statement is used to create the additional records.

  • Transformation routine used for GR as at posting date (0GR_VAL_PD KF)

    HI all,
              I have problem in 2lis_02_scl transformation Routine where i am not getting corect data for GR as at posting date (0GR_Val_pd) KF.
    Can anyone tell me what routine shall i try to use.
    Thanks n Regards,
    Gaurav Sekhri

    HI Gaurav,
    The code which you have given does not specify the desired result which you want. Also one more thing you have written a code as follows:
    IF ( SOURCE_FIELDS-PROCESSKEY = '002' or  "WE-Wert
    SOURCE_FIELDS-PROCESSKEY = '012' or
    SOURCE_FIELDS-PROCESSKEY = '022' )
    AND SOURCE_FIELDS-BWAPPLNM EQ 'MM'.
    RESULT = SOURCE_FIELDS-CPPVLC.
    endif.
    What is the above condition does not satisfy. you need to specify a RESULT if the above condition is not met like.
    IF ( SOURCE_FIELDS-PROCESSKEY = '002' or "WE-Wert
    SOURCE_FIELDS-PROCESSKEY = '012' or
    SOURCE_FIELDS-PROCESSKEY = '022' )
    AND SOURCE_FIELDS-BWAPPLNM EQ 'MM'.
    RESULT = SOURCE_FIELDS-CPPVLC.
    ELSE.
    REULT  = " Your desired result if condition is not met".
    endif.
    Hope it helps.
    Regards,
    Satyam

  • Transformation routine problem - changing 2 infoobjects in 1 routine

    Dear all,
    i have coded a transformation routine which gets data from 4 infoobjects and writes into 1 infoobject.
    routine is like that:
    startdate-starttime-enddate-endtime
    routine  converts data into :  time difference / 0calmonth
    however i need to update also 0calmonth with that routine? how can i do that?
    when i define a rule, i guess it always update only one infoobject?
    thanks in advance.

    Hi John,
    sure you can. It is the same procedure as in update rules, but a start routine will only work if all your required fields are contained in the communication structure and so in the infosource. Otherwise you need to stay with the second routine.
    regards
    Siggi

  • Help with Transformation routine

    Hi,
    I have a transformation routine from a DSO to a cube. The DSO contains two infoobjects ( Form, Brand ) which are mapped to infoobject Material in the cube. My requirement is that i need to populate the material number based on the brand and form available in the DSO. Can you please help me with the routine to be written for material ?
    Regards
    Snehith.

    Hi,
    perform below steps in start routine .
    create one internal  as t_material having 3 fields
    and then write select query as :
    SELECT material
               brand
              form
         FROM /BIC/PGPUMATL
         INTO TABLE t_material
          FOR ALL ENTRIES IN SOURCE_PACKAGE
        WHERE brand EQ SOURCE_PACKAGE-brand
      form EQ SOURCE_PACKAGE-  form
    In transformation routine of material:
    write below logic :
    FIELD-SYMBOLS  :<fs_ t_material >    TYPE y_ t_material .
    *" Get material class value from table /bic/agpud009900
        READ TABLE  t_material
          ASSIGNING <fs_ t_material >
          WITH KEY brand = SOURCE_FIELDS-brand
                             form = SOURCE_FIELDS- form
        IF  sy-subrc EQ 0
        AND <fs_ t_material >  IS ASSIGNED.
          MOVE <fs_ t_material >material  TO RESULT.
        ENDIF.
    Hope this helps you
    Thanks .

  • Transformation Routine Help

    Hello Guys,
    I need your help in transformation routine.
    I have  source fields like 0DOC_NO(Sales Document no), 0CREATEDON(Created on), 0DLV_STS (Delivery status), 0DLVQLESC (Delivery Date Acc to scheduline date). i have 4 keyfigures like Late Incomplete (ZLI), Late Complete (ZLC), Ontime Complete (ZOC), Ontime In Complete (ZOI). i want to count no of sales order as ZLI, ZLC, ZOC, ZOI.
    I  have four conditions which i have to write for each keyfigures with above source fields in transformation routine.
    1) For Late Incomplete : -  if (0DLV_STS nt Eq C) and (0DLVQLSEC >0) then add1
    2) For Late Complete  : -  if (0DLV_STS  Eq C) and (0DLVQLSEC >0) then add1
    3) For On-Time Complete :- if (0DLV_STS  Eq C) and (0DLVQLSEC =0) then add1
    4) For On-TIme Incomplete :- if (0DLV_STS nt Eq C) and (0DLVQLSEC >0) then add1
    Can anyone tell me how to write it ?
    Thanks in advance
    Regards,
    Komik Shah
    Edited by: komik shah on Nov 14, 2009 1:24 AM

    Hi,
    Try this code...
    For Late Incomplete
    IF ( SOURCEFIELD-0DLV_STS NE 'C' ) AND ( SOURCEFIELD-0DLVQLSEC GE '0' ).
    IF ( SOURCEPACKAGE IS INITAL ).
    RESULT = 1.
    ELSE.
    RESULT = RESULT + 1.
    ENDIF.
    For Late Complete
    IF ( SOURCEFIELD-0DLV_STS EQ 'C' ) AND ( SOURCEFIELD-0DLVQLSEC GE '0' ).
    IF ( SOURCEPACKAGE IS INITAL ).
    RESULT = 1.
    ELSE.
    RESULT = RESULT + 1.
    ENDIF.
    For On-Time Complete
    IF ( SOURCEFIELD-0DLV_STS EQ 'C' ) AND ( SOURCEFIELD-0DLVQLSEC EQ '0' ).
    IF ( SOURCEPACKAGE IS INITAL ).
    RESULT = 1.
    ELSE.
    RESULT = RESULT + 1.
    ENDIF.
    For On-TIme Incomplete
    IF ( SOURCEFIELD-0DLV_STS NE 'C' ) AND ( SOURCEFIELD-0DLVQLSEC GE '0' ).
    IF ( SOURCEPACKAGE IS INITAL ).
    RESULT = 1.
    ELSE.
    RESULT = RESULT + 1.
    ENDIF.

Maybe you are looking for

  • I have lost songs from HD, and want to re-download them. iTunes won't let me as they have already been downloaded to this computer. How can I do this?

    I have lost songs from my HD (iTunes shows them as missing and although the artist folder and album name are on teh HD the songs aren't) If I go into iTunes I can see I have bought them, and previously downloaded them, but I cannot 're-download them'

  • List item problem in Forms 6i

    Hi, I have two table columns that should appear as list items in the application. The items are placed in a data block is filled by a master-detail-relation. The table columns have the type varchar2(60). If I create text items of that size for the tw

  • Unable to create an Developer app under Company profile

    Hi, Have created an account under development center  to upload the mobile application for company use. But when i go to payment option and enter the credit card details able to see the deduction amount of 2 INR only, but as in website it has been me

  • Control over the Additional Names

    The setting of Additional Names is confusing.  Where does Logic pull the information from when Automatic is selected The only way that I have found to get rid of the name in the setting box, for example in the screen shot above, was to Click and choo

  • Reg Simple Web Dynpro Application

    Hello Gurus, I am developing a simple Web Dynpro Application that displays just Purchase Header Details. It says the runtime Error, "The exception CX_WD_CONTEXT" was raised but was not caught at any stage in Call Hierarchy. Any Suggestions would be r