Language used in Knowledge Module

Hi all,
Can you please tell me what is the language used in the code for all the knowledge modules
reagrds,
Sourav

Hi Sourav,
Basically Java.
odiRef is the class and followed by the method with parameters.
Example,
<%=odiRef.getSession("SESS_NAME")%>
Where,
odiRef is the class.
getSession is a method/fuction which accept one parameter "SESS_NAME".
The <%= and %> is the tag which will be interpreted by Agent and converted in to SQL codes at run time.
Thanks,
Guru

Similar Messages

  • Knowledge module performance

    Hi
    I am facing an issue on knowledge module performance.
    Source DB is Oracle 11g and Target DB is Oralce 11g, and Iam using below knowledge module and my interface execution taking 34 seconds to perform 27868 records transfermation from source to target
    ODI 11g (11.1.1.6.0)
    OS: Windows XP
    CKM Oracle
    LKM Oracle to Oracle (Merge)
    IKM Oracle Incremental Update(DBLINK)
    I have created DBLINK and it is working fine.
    My requirement is,
    I need to reduce the interface execution time of 34 to 10 seconds.
    Please help me on performance tuning on IKM Oracle Incremental Update(DBLINK) KM
    Thanks in advance
    Regards,
    Phanikanth

    Hi
    Thank you for your response.
    I have tried with removed with flow control true and test
    with minus and flow control: my inter face taking 33 seconds to transfer 31658 records and now without minus and with flow control: true it is taking 27 seconds to transfer same amount of count
    I have tried with without minus and with flow control: flase and it is taking 23 seconds to do the same job
    I have removed the minus and added one duplicate record at source DB but it is not moving to E$ table and getting failes at Merge Row step with error mention above.e removed minu from
    I have removed minus clause from load data into flow table I$ step in KM and while testing it is giving same issue.
    with out minus, the KM will throw the duplicated records into E$ table (flow control is true)
    In target DB, we have added B-Tree indexs, I have checked before that
    Regards,
    Phanikanth

  • How to use read_text function module

    Hi how to use read_text function module to read purchase order header text .what are all tht things to pass in ID,Name and Object
    thanks,
    Mahe

    Dear,
    Use below code.
    DATA:IT_LINE LIKE TLINE OCCURS 0 WITH HEADER LINE,
    V_TDNAME LIKE THEAD-TDNAME.
    V_TDNAME = PO_NUMBER.
    CALL FUNCTION 'READ_TEXT'
      EXPORTING
    *   CLIENT                        = SY-MANDT
        ID                            = 'F01'
        LANGUAGE                      = 'EN'
        NAME                          = V_TDNAME
        OBJECT                        = 'EKKO'
      TABLES
        LINES                         = IT_LINE.
    Thanks and Regards,

  • Custom IKM Knowledge Modules are not working with Group By Clause

    Hi All,
       I am facing an issue with custom IKM knowledge modules. Those are IKM Sql Incremental Update and IKM Sql Control Append.
    My Scenario is
    1. Created an interface with table on source and temporary datastore with some columns in target.
    2. In the Interface on the target i defined one column as UD1 and other column as UD2  for which group by to be implemented .
    3. Customized  IKM Sql Incremental Update  with " Group by " by making  modification in my IKM Sql Incremental Update
    detail step "Insert flow into I$ table"  i.e., i replaced like this whereever i find this <%=odiRef.getGrpBy()%> API
    Group By
    <%=snpRef.getColList("","[EXPRESSION]","","","UD1")%>,
    <%=snpRef.getColList("","[EXPRESSION]","","","UD2")%>
    Up to UD5.
    . Here in the place of [EXPRESSION] i passed column names for UD1 similarly other column name for [EXPRESSION] of UD2.
    4.Made all the proper mappings and also selected the KM's needed for that interface like CKM Sql ,IKM Sql Incremental Update.
    5. Executed the Interface with global context.
    Error i am getting in this case is :
    Caused By: java.sql.SQLSyntaxErrorException: ORA-00979: not a GROUP BY expression
      at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:462)
      at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:405)
      at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:931)
      at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:481)
      at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:205)
      at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:548)
      at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:217)
      at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:1115)
    Here the columns in the select clause are there in Group By also.
    I did the same scenario using IKM Sql to file append .In that case i am able to do it. But not with the above mentioned KM's. Please let me know if any one know it or tried with this, as it is
    high priority for me.
    Please help me out.
    Thanks,
    keerthi

    Hi Keerthi,
    If your are transfering data from Oracle to Oracle (I means source is oracle Db and target is also oracle DB) then use below KM's and group by will come automatically based on the key values you selected on interface target datastore
    1) CKM Oracle
    2) LKM Oracle to Oracle (DBLINK)
    3) IKM Oracle Incremental Update (MERGE)
    Hope this will helps to resolve your issue
    Regards,
    Phanikanth

  • How to use the text module in script

    hi,
            i script how to use the text modules and how to write the code  in layout of the script?

    Hi,
    You canr use text modules in script. You have to use standard texts .
    Standard text are maintained in SO10 transaction.
    you can create translation text for other languages also . So based on logon language it will print translation text.
    go to SO10
    give textname it say Ztextname  id as ST and language as EN
    say create, then you will get editor there maintain your text and save it . then come back . Now change language (say for german DE) say create and eneter translation text and save it.
    so now you have created a text called ztextname which you can use in your script.
    Inorder to insert the texts in your script do as below
    go to any window editor and   select path
    Insert->texts->symbols->standard symbols
    then you will get popup  in which you have to mention all the parameters that you have created earlier.
    after inserting just change language EN to sy-langu
    Reward points if useful
    About text elements Sravan already given some informatiomn
    Regards,
    Nageswar

  • Need help in creating Knowledge module to aggregrate source data.

    Hi Guys,
    I am new to ODI and I am trying to create a Knowledge module. I went through the docs relating to Knowledge modules and APIs, so hopefully did my home work, I still find writing KM to be very challenging for the scenario, I have.
    The following is my scenario.
    I have two tables Employee and Department. Employee is the source and Department is the target. I need to sum salaries of all the employees belonging to a given department. And then insert the data into Department table.
    Structure of the tables is as follows:
    Employee(Source Table name)
    Employee_id
    Salary
    Dept_id
    Department(Target table name)
    id
    total_salary
    Both target and source are on the same server. The user of this KM would drag and drop both source and target tables into interface and then map the columns. In the above case, Dept_id to id and salary to total_salary and then use this IKM. And off-course the user would indicate what columns would be aggregated on and what would be used as group by. One way to tag that, would be to use those UD1,UD2 tags in target column properties. (If there is another way to tag a column to indicate a column to be used for aggregation and a given column to be used in group by during run time in source, please let me know)
    I choose to write IKM for this.
    The challenging part is that I am having hard time figuring out the columns of source table as to what column should be used as group by and what column to be aggregated on. Since the tags are defined on Target columns and not on source columns. So have to figure out the appropriate columns through the mapping at run time.
    The following is what I am planning to write in (Insert new rows ) command. And the part where I need help is how to compose select statement.
    iinsert into <%=odiRef.getTable("L","TARG_NAME","A")%>
    <%=odiRef.getColList("", "[COL_NAME]", ",\n\t", "", "((INS and !TRG) and REW)")%>
    <%=odiRef.getColList(",", "[COL_NAME]", ",\n\t", "", "((INS and TRG) and REW)")%>
    Select
    source.column1,sum(source.column2) from <%=odiRef.getFrom()%> GROUP BY source.column1
    Thanks.

    I did try as per your advise.
    Filter is not making a difference. Irrespective of me adding a filter or not, ODI generates a sql that has GROUP BY , just by looking at SUM(SALARY).
    Coming back to the main issue, this does do what I wanted to do. I was planning on using a custom KM. But I guess, this is as good as custom KM, since the work done in an interface (assuming a custom KM exists) by going through either route is the same, so I can live with this approach.
    Thanks for the help.

  • How to use SO_OBJECT_SEND function module

    Hi friends,
       how to use SO_OBJECT_SEND function module in 4.0B Server .

    hi
    good
    check this code
    REPORT ZTSAPMAIL.
    DATA: X_OBJECT_TYPE LIKE SOOD-OBJTP.
    DATA: BEGIN OF X_OBJECT_HD_CHANGE.
    INCLUDE STRUCTURE SOOD1.
    DATA: END OF X_OBJECT_HD_CHANGE.
    DATA: BEGIN OF X_OBJCONT OCCURS 10.
    INCLUDE STRUCTURE SOLI.
    DATA: END OF X_OBJCONT.
    DATA: BEGIN OF X_OBJHEAD OCCURS 0.
    INCLUDE STRUCTURE SOLI.
    DATA: END OF X_OBJHEAD.
    DATA: BEGIN OF RAW_HEAD.
    INCLUDE STRUCTURE SORH.
    DATA: END OF RAW_HEAD.
    DATA: BEGIN OF X_RECEIVERS OCCURS 0.
    INCLUDE STRUCTURE SOOS1.
    DATA: END OF X_RECEIVERS.
    PARAMETERS: RECEIVER LIKE X_RECEIVERS-RECNAM. " Name
    *BUILD MESSAGE HEADER
    MOVE 'Sort field goes here' TO X_OBJECT_HD_CHANGE-OBJSRT. " Sort field
    MOVE 'Name of the object goes here' TO X_OBJECT_HD_CHANGE-OBJNAM. " Name
    MOVE 'Document title goes here' TO X_OBJECT_HD_CHANGE-OBJDES. " Title
    MOVE 'F' TO X_OBJECT_HD_CHANGE-OBJSNS. " Functional OBJECT
    MOVE 'E' TO X_OBJECT_HD_CHANGE-OBJLA. " Language
    Object type of the new document
    MOVE 'RAW' TO X_OBJECT_TYPE.
    CLEAR X_OBJCONT.
    MOVE 'Contents of mail' TO X_OBJCONT-LINE.
    APPEND X_OBJCONT.
    CLEAR X_OBJCONT-LINE. APPEND X_OBJCONT.
    MOVE 'More contents' TO X_OBJCONT-LINE.
    APPEND X_OBJCONT.
    MOVE 'Still more contents'
    to x_objcont-line.
    APPEND X_OBJCONT.
    MOVE ' ' TO X_OBJCONT-LINE.
    APPEND X_OBJCONT.
    Specific header (Dependent on the object type, here RAW)
    REFRESH X_OBJHEAD.
    DESCRIBE TABLE X_OBJCONT LINES RAW_HEAD-RAWSIZ.
    MOVE RAW_HEAD TO X_OBJHEAD.
    APPEND X_OBJHEAD.
    *RECEIVERS table
    CLEAR X_RECEIVERS.
    REFRESH X_RECEIVERS.
    MOVE RECEIVER TO X_RECEIVERS-RECNAM. " Name
    MOVE 'B' TO X_RECEIVERS-RECESC. " Receiver type
    MOVE 'X' TO X_RECEIVERS-SNDCP. " Send as a copy
    MOVE 'X' TO X_RECEIVERS-SNDEX. " EXPRESS DOCUMENT
    APPEND X_RECEIVERS.
    CALL FUNCTION 'SO_OBJECT_SEND'
    EXPORTING
    folder_id = 'OUTBOX'
    forwarder = x_forwarder
    object_fl_change = x_object_fl_change
    OBJECT_HD_CHANGE = X_OBJECT_HD_CHANGE
    object_id = x_object_id
    OBJECT_TYPE = X_OBJECT_TYPE
    OUTBOX_FLAG = 'X'
    OWNER = SY-UNAME
    store_flag = x_store_flag
    importing
    object_id_new = x_object_id_new
    sent_to_all = x_sent_to_all "May need to use
    TABLES
    OBJCONT = X_OBJCONT
    OBJHEAD = X_OBJHEAD
    objpara = x_objpara
    objparb = x_objparb
    RECEIVERS = X_RECEIVERS.
    reward point if hlepful.
    thanks
    mrutyun^

  • Get purchase order doc date using BAPI function module

    Hi,
    I have a .net windows application that uses BAPI_PO_GETDETAIL function module to get particular details of a PO in SAP. But i am not able to get the "Doc Date" for a particular PO. I am able to get all the details of items from the table "PO_ITEMS ". I used only 1 input parameter "PURCHASEORDER".
    Please help me to get this thing done
    .netframework : 4.0
    Language: C#
    Visual Studio: vs 2010
    Regards,
    Manosh Jacob

    Absolutely hynek petrak..
    Manosh Jacob You can go with the above technique.

  • How to refresh ODI variable as part of a Knowledge Module?

    Hi,
    I want to know how can i refresh a ODI varaible in a knowledge module using oracle Technology. EX: i have created a variable called VAR_TEST in ODI.
    In one of the knowledge module steps, i want to refresh as mentioned below:
    begin
    select colname into #VAR_TEST from tablename;
    end;
    Many thanks ....

    Hi Martin,
    Put the query in the refresh tab into the variable, generate a scenario from the variable and call the scenario thru "OdiStartScen" (Sunopsis API technology) from KM.
    In this case the variable needs to be "Last Value"
    An alternative is to use a Java variable instead.... Works better to KM's.
    Does it help you?
    Cezar Santos
    http://odiexperts.com

  • Regarding how to use the function module *control_form* in scripts

    HI friends,
    Can any one tell why and where do we use the function module control_form in scripts. Can you give me a small scenario how to use in scripts.

    hi satish,
    by using this function module we can pass the control
    commands to FORM THROUGH ABAP/4 PROGRAM.
    see the following example:
    TABLES: kna1.
    DATA: BEGIN OF it_kna1 OCCURS 0,
          kunnr LIKE kna1-kunnr,
          name1 LIKE kna1-name1,
          ort01 LIKE kna1-ort01,
          land1 LIKE kna1-land1,
          END OF it_kna1.
    DATA:records TYPE i,
         window TYPE i value 1.
    select-options:s_kunnr for kna1-kunnr.
    SELECT kunnr name1 ort01 land1 FROM kna1 INTO TABLE it_kna1
    where kunnr in s_kunnr.
    CALL FUNCTION 'OPEN_FORM'
      EXPORTING
        form     = 'ZSCRIPT4'
        language = sy-langu.
    LOOP AT it_kna1.
      CALL FUNCTION 'WRITE_FORM'
        EXPORTING
          element  = 'ELE1'
          function = 'SET'
          type     = 'BODY'
          window   = 'MAIN'.
      DESCRIBE TABLE it_kna1 LINES records.
      IF window lt records.
        window = window + 1.
      CALL FUNCTION 'CONTROL_FORM'
       EXPORTING
            command         = 'NEW-WINDOW'
    EXCEPTIONS
      UNOPENED        = 1
    UNSTARTED       = 2
    OTHERS          = 3
      ENDIF.
    ENDLOOP.
    CALL FUNCTION 'CLOSE_FORM'
    IMPORTING
      RESULT                         =
      RDI_RESULT                     =
    TABLES
      OTFDATA                        =
    EXCEPTIONS
      UNOPENED                       = 1
      BAD_PAGEFORMAT_FOR_PRINT       = 2
      SEND_ERROR                     = 3
      SPOOL_ERROR                    = 4
      CODEPAGE                       = 5
      OTHERS                         = 6
    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,
    raji

  • What is the Use of Text Module Radio buton in Smartforms

    Hi all,
    What is the Use of Text Module Radio buton in Smartforms T - code ? How can we link this to our form ?
    Thanks in advance
    KR

    Text modules
    Text modules are used to centrally store texts that are used frequently in forms in the system.
    Text modules are included in forms using texts nodes. The text node can either refer to the text module or take its text. You can then change the text or add to it to suit the form.
    Text modules have the following attributes:
    They are client-independent
    They are connected to the transport system
    They are connected to the translation tools in the system
    The third attribute means that a text module can be uniquely assigned to a language using the logon language. When including a text module, you can also access translations of the text module, for example, to include an English text module in a German form.
    Reward Points if useful.

  • Reg : Doubts on Knowledge Modules

    hi all,
    Please give brief idea about knowledge modules. please dont give links .
    KNOWLEDGE MODULES
    REVERSE ENGINEERING
    LKM
    CKM
    IKM
    JKM
    SKM
    Thanks a lot in advance ,
    -Chinnu.

    LKM - Loading
    The LKM - Loading Knowledge Modules - load (or extract data) from one data server to another.
    They are named as follows:
    LKM <source server technology> to <target server technology> (<module specificity>)
    JKM - Journalizing
    The JKM - Journalizing Knowledge Modules - setup journalizing on a datastore in a data model.
    They are named as follows:
    JKM <technology to journalize>
    Note: Journalizing uses triggers and views. Therefore technologies that do not support these functions generally do not have an associated JKM.
    IKM - Integration
    The IKM - Integration Knowledge Modules - integrate data in a target data server from a Staging Area. Frequently, the Staging Area and target space are on the same data server. The IKM can manage options such as data insertion (Append), or update (Incremental Update), etc.
    They are named as follows:
    IKM <Staging Area data server technology> to <target data server technology> <option managed in the module> (<module specificity>)
    IKM <Staging Area and target data server technology> <option managed in the module> (<module specificity>)
    Note: The option managed by the module frequently indicate the more complex option supported in this knowledge module. For instance, a module Incremental Update (update) should also be able to manage the option append, which is data insertion, and suppression of data in the target..
    CKM - Check
    The CKM - Check Knowledge Modules - manage the data quality and cleansing, on static data and on data flows.
    They are named as follows:
    CKM <Checked Technology> (<module specificity>)
    RKM - Reverse-engineering
    The RKM - Reverse Knowledge Module - reverse-engineer a data model stored in a given technology. As default, the standard reverse allows to reverse all the information and meta-data in most models. It is required for certain technologies (files for instance) to use a personalized reverse and therefore a RKM. They are named specifically.
    SKM - Services
    SKM (Service Knowledge Modules) are used to generate the code required for creating data services. This code (typically Java) can be automatically compiled and deployed to a web service container.
    You can get more information about various KMs from
    http://www.oracle.com/technology/products/oracle-data-integrator/10.1.3/htdocs/documentation/oracledi_km_reference.pdf
    There is no escape from URL :)

  • Teradata SQL multiple statements (not multistmt) in Knowledge Module Step??

    In a Knowledge Module Step using Teradata Technology, I have the following statements
    statement 1 ;
    statement 2 ;
    statement 3 ;
    Since the semicolons are at the end of each statement, I expect that these statements will be executed in sequential order
    and not in parallel as in a multistatement. Can someone confirm this ?
    I ask this question, because I observe that if statement 2 fails (say for e.g because it is an insert statement and there is no space on the database) then statement 1
    is not commited either (or perhaps it is rolled back ). This behaviour is expected in multistatements (i.e. where statements run in parallel).
    Thanking you all in great anticipation
    Amer (Newbie!)

    Hi Amer,
    This is obvious that in one step you have included
    statement 1 ;
    statement 2 ;
    statement 3 ;
    So any of the statement fails means this step is not going to work unless until you use AUTOCOMMIT STATMENT (drop or truncate).
    If your 1st statement will be " drop table xyz"
    2nd statement will be " truncate table abc""
    3rd statement will be " delete from def"
    if 3rd statement fails , then 1st two are auto committed and will be reflected in your database. But if 1st statement fails means its the end for this step.
    If your requirement is like to do this in step of a KM better use one procedure.
    Hope its helps.
    Thanks

  • Knowledge module usage

    Hi folks
    can you please suggest me what type of loading and integration knowledge modules can i use for my requirement
    source->AS/400
    Target->oracle
    Thanks
    Raj

    If you only need to Append, then use IKM SQL Control Append, if you need to update, then use IKM Oracle Incremental Update. If using the IKM Oracle Incremental update, make sure you use the latest version, and make sure you select the appropriate options ( COMPATIBLE- 0 Oracle 9/10, and DETECTION_STRATEGY)

  • Knowledge Module info in repository

    In which tables is Knowledge Module information held in the repository?
    My specific issue is as follows:
    I want to find all interfaces that have a particular option to a particular value in the IKM Oracle Merge.
    Thanks
    Uli
    www.bi-q.ie
    Edited by: ubet on Oct 2, 2009 10:18 AM

    Uli,
    SELECT st.trt_name, sp.pop_name, sue.ue_name, sue.short_value
    FROM snp_trt st, snp_user_exit sue, snp_pop sp
    WHERE st.i_trt = sue.i_trt
    AND sp.i_trt_kim = sue.i_trt
    AND st.trt_name LIKE '%Oracle%MERGE%'
    will give you a list of all the interfaces that are using Oracle MERGE KM and their respective Option and its corresponding value.
    You can filter on UE_NAME and SHORT_VALUE columns to find the interfaces that you need.

Maybe you are looking for