How to execute a mapping in sql plus?

hi,
OWB generate a package code from the mapping, for example if I have a package named map1, what is the request to execute ,in SQL
PLUS, map1.main() which is the function main of this package?
Thank you

Hi
There is a MAIN procedure you can use, if you have no mapping input parameters defined it will be like;
PROCEDURE Main(p_status OUT VARCHAR2,
p_max_no_of_errors IN VARCHAR2 DEFAULT NULL,
p_commit_frequency IN VARCHAR2 DEFAULT NULL,
p_operating_mode IN VARCHAR2 DEFAULT NULL,
p_bulk_size IN VARCHAR2 DEFAULT NULL,
p_audit_level IN VARCHAR2 DEFAULT NULL,
p_purge_group IN VARCHAR2 DEFAULT NULL,
p_job_audit IN VARCHAR2 DEFAULT 'TRUE');
If you define mapping input parameters they will also be included in the signature of this procedure.
See this post here for some details;
http://blogs.oracle.com/warehousebuilder/2008/11/using_3rd_party_schedulers_with_owb_1.html
Cheers
David

Similar Messages

  • How to invoke multiple sessions of sql*plus thru pl/sql program

    Hi
    How to invoke multiple sessions of sql*plus thru pl/sql program.
    Thanks

    How to invoke sql*plus in a procedure?????
    I have to invoke more pl/sql sessions?????No you don't "have to".
    Look at what you are trying to do.
    You have a program running inside the PL/SQL engine. This is running nicely inside the Oracle database and is perfectly capable of issuing other SQL statements, PL/SQL programs etc. inside it's nice cosy Oracle environment.
    You are asking for this PL/SQL to shell out to the operating system, run an external application, for which it will have to supply a username and password (are you planning on hard coding those into your PL/SQL?), and then that external application is supposed to run more SQL or PL/SQL against the database.
    a) Why hold all this code external to the database when it can quite happily reside on the database itself and be executed through jobs or whatever.
    b) Consider what would happen if someone were to replace the external application with their own program of the same file name... they'd be able to capture the username and password for connecting to the database, therefore a major security flaw.
    The whole idea of doing what you want through external calls to SQL*Plus is ridiculous.

  • Execute (or re-execute) commands in the SQL*Plus buffer

    I feel confused about sql plus / command. by defination, it Execute (or re-execute) commands in the SQL*Plus buffer. how do I know whether it execete or re-execute a command?
    for example, I run a select statement, seems I have to type / to get result. when I run a create table statement, it seems run twice with / and I got table exists error.
    Could someone clearify when should / be used and when not to use it.

    jz2 wrote:
    I feel confused about sql plus / command. by defination, it Execute (or re-execute) commands in the SQL*Plus buffer. how do I know whether it execete or re-execute a command?
    for example, I run a select statement, seems I have to type / to get result. when I run a create table statement, it seems run twice with / and I got table exists error.
    Could someone clearify when should / be used and when not to use it.I guess you are looking at things in the other way round. The / does what it says, it executes the command in the buffer. Don't think it "reexecutes". It simply executes the command. Be it already run or for the first time. For example,
    Running the code for 1st time.
    SQL> begin
      2  dbms_output.put_line('hi');
      3  end;
      4  .
    SQL> set serveroutput on
    SQL> /
    hi
    PL/SQL procedure successfully completed.
    Running again....
    SQL> l
      1  begin
      2  dbms_output.put_line('hi');
      3* end;
    SQL> /
    hi
    PL/SQL procedure successfully completed.
    SQL>So / simply executes. Now when you should use it and when not, that depends upon the kind of command you are trying to execute. Like you mentioned, for a select, it works by again giving the output. But for a DDL, its not the / which gives error but its the very nature of DDL that once issued, its committed so surely enough , next execution would throw an error only.
    HTH
    Aman....

  • How to retreive this file in SQL*Plus

    If I upload files which name is KOREAN, name of files is invisible.
    I dont't know cause of this problem.
    How is keeping korean name of file from breaking?
    Also, answer how to retreive this file in SQL*Plus
    Thanks
    silverbell

    To access ifs data from SQL, you need to (officially) setup a 'user view'. Refer to the Java API documentation on how to do this. Once you have created the user view, then you may access this view using any SQL tool.

  • How to Generate Trace Files in SQL*Plus

    Hi Friends ,
    How to Generate Trace Files in SQL*Plus ?
    i have no idea
    thanks
    raj

    What trace files would you like to generate?
    Are we talking SQL trace files?
    ALTER SESSION SET sql_trace = TRUE;This will be generated in the user_dump_dest on the server.
    show parameter dump

  • How to find session information in sql plus

    Can someone please tell me how to find session information in sql plus? I specifically want to know my privileges for the current session. Thanks in advance.

    SELECT * FROM session_privs;
    SELECT * FROM session_roles;

  • ERRORs executing CWM commands in SQL Plus

    Hi,
    I tried to execute following command in SQL Plus:
    execute cwm_olap_dimension.set_plural_name('olapdata', 'OLAP_APARAT_DIM', 'OLAP_APARAT_DIM');
    And in response I got following result:
    BEGIN cwm_olap_dimension.set_plural_name('olapdata', 'OLAP_APARAT_DIM', 'OLAP_APARAT_DIM'); END;
    ERROR at line 1:
    ORA-06510: PL/SQL: unhandled user-defined exception
    ORA-06512: at "OLAPSYS.CWM$UTIL", line 535
    ORA-06512: at "OLAPSYS.CWM$OLAP$DIMENSION", line 17
    ORA-06512: at line 1
    Can anyone explane me what am i doing wrong ?
    I would really appreciate any help!
    Thanks

    check SQL*Plus user's guide
    e.g column REMARK format a30
    set linesize 2243
    etc etc etc

  • How to execute a mapping based on an event

    Hi
    I am on OWB 10.2.0.3. and Oracle 10.2.0.2. I have a mapping which is fine, deploys well, I can execute using the control manager.
    I also created a schedule module in OWB, created a schedule for a specific date and time and also an interval, configured the mapping to this schedule. The mapping gets executed successfully at the scheduled time.
    The requirement is this mapping needs to be executed by an external process (oracle but a different application in a different machine). The team owning this process is ready to insert a record in a table. Which I want to sense and execute this mapping.
    I already have created a procedure so that this mapping can also be run from pl/sql. I can create an after-insert trigger in this table so call this procedure, but that will make the whole think synchronous and the external process will have to wait for this mapping to complete to proceed further which is not acceptable by them.
    Is there a way I can check for the record in this table and exec the mapping from OWB?
    Can somebody please help and provide me pointers how I can schedule a mapping based on an event (insertion of the record) without (preferably) or with Oracle Workflow.
    Thanks a lot in advance!
    Maruthi

    Thanks Detlef,
    The problem I have is the trigger will make it actually synchronous with the process that inserts the record in the table.
    Even if I define the trigger as AUTONOMIUS_TRANSACTION, both the process will not parellel. setting this I can have commits and rollbacks in triggers but they will be synchronous. I want this mapping to run asynchronously so that the main process inserts the record and continues with the rest of the process while the mapping can be executed independently.
    For this reason I am looking for something which will allow me to do this without a trigger on the table.
    As mentioned in your refereed post, I can use CDC, but not sure how good is CDC and will this be an overkill to implement and use CDC for this purpose. Any simpler solution available?
    Any inputs please?
    Thanks once again!
    Regards,
    Maruthi

  • How to run multiple scripts in sql*plus?

    I would like to run 2 scripts in sql*plus, how do I do this? I tried the following, but it won't run.
    create table student_new
    AS
    select *
    from student
    insert into student_new
    (last_name, first_name
    values
    (Crop, Jenny)
    The above are the two scripts I want to run, what am I doing wrong.
    Thanks

    Do you have a solution to run multiple scripts continuosly, one after the other as one script.
    Say I have file1.sql file2.sql, file3.sql.
    I want to create a script run.sql, where this will run file1.sql,file2.sql,file3.sql one after other without any one running one after the other like follows:
    run.sql should have
    begin
    @file1.sql
    @file2.sql
    @file3.sql
    dbms_output.put_line(select sysdate from dual);
    end;
    If I run run.sql all the three scripts should be executed successfully and then display the current time . All these files have update statements(50,000 updates each file).
    Very urgetn. Can some one hlpe, please.
    Thanks in advance.

  • How to return a value from sql plus activity

    Hi,
    I want to return a value from sqlplus activity to a processflow variable.
    SQL PLUS activity has a property :"RESULT_CODE", whenever i run the process flow this value is always reurned as 0.
    in sqlplus activity i have written some pl/sql block....
    for example
    begin
    end;
    exit
    i want to do something like
    begin
    if v=100 then
    return 1
    else
    return 0;
    end if;
    end;
    exit
    can some please tell me how can i return value from this pl/sql block to proessflow.
    Regards,
    RD_RBS

    table ==> function
    input param from table to function. ==> input mapping paramter to store the output from the mapping.
    Will this now work.

  • How to control logic flow in SQL Plus script

    Hi
    I have the requirement below:
    Before I start running an SQL script, I need to ensure that I am connecting as a particular user. If I am not that user, then the script should show a msg "Error - Invalid User - Log in as <<username>>"
    Let's say i am executing a script A.sql.
    SQL > @<path>a.sql
    But before this script is executed -- i shall check for the user:
    block begins...
    select user into var1 from dual
    if upper(var1) != 'ABCUSER' then
    -- display the error message and stop execution of this script
    else
    @<path>a.sql (*it executes what i want :) )
    end if;
    block ends...
    How do I write this code using an SQL script ? Pls sugges

    Hi,
    As Centinul said, SQL*Plus is poorly equipped to deal with problems like this. If possible, try to do what you want outside of SQL*Plus.
    If you really have to do it in SQL*Plus, here are two ideas:
    (1) run a script conditionally
    (2) deliberately raise an error
    (1) Using SQL*Plus substitution variables, you can decide which of several scripts to run as a sub-script, based on the results of some query.
    For example, if a.sql is the script that only user ABCUSER is allowed to run, then write two other very short scripts:
    (a) warning.sql, such as the following:
    --  warning.sql
    PROMPT  You are not authorized to do this.
    QUIT(b) step_1.sql, which decides whether a.sql or warning.sql should be run, and does it:
    --     step_1.sql - Decide whether a.sql or warning.sql is to be run next, and do it.
    --     (a) decide:
    COLUMN  script_name_col     NEW_VALUE     script_name
    SELECT     CASE
              WHEN  USER = 'ABCUSER'
              THEN  'a.sql'
              ELSE  'warning.sql'
         END     AS script_name_col
    FROM     dual;
    --     do:
    @&script_nameYou may want to use @@, or specify a complete path name.
    (2) Deliberately raise an error, either in a separate script or in a.sql itself, like this:
    WHENEVER     SQLERROR     EXIT
    SELECT     CASE
              WHEN  USER = 'ABCUSER'
              THEN  NULL
              ELSE  TO_NUMBER ('This will raise ORA-01722')
         END     AS "Welcome!"
    FROM     dual;
    WHENEVER     SQLERROR     NONE
    -- continue with the original a.sql

  • How to execute a mapping or workflow in a job?

    hi all:
    I want to write a procedure use pl/sql,
    and how to execute mapping or workflow in procedure ?
    then I write a job use script ,the job schedule execute
    procedure.
    please give me a sample.

    Hi,
    You can write a procedure something on these lines -
    CREATE OR REPLACE PROCEDURE Test_Proc(p_task_name IN VARCHAR2, p_task_type IN VARCHAR2, p_loc IN VARCHAR2 ) AS
    lv_rt_code NUMBER(1) DEFAULT 0;
    lv_repo VARCHAR2(64) DEFAULT NULL;
    lv_loc VARCHAR2(64) DEFAULT 'LOC_EDW_PROCESS_FLOWS';
    lv_task_type VARCHAR2(64) DEFAULT 'PROCESS';
    lv_task_name VARCHAR2(64) DEFAULT 'ETL_FIXED_RATE';
    lv_sys_par VARCHAR2(64) DEFAULT ',';
    lv_cust_par VARCHAR2(64) DEFAULT ',';
    lv_oem NUMBER(1) DEFAULT 0;
    lv_fnc_call VARCHAR2(4000) DEFAULT NULL;
    BEGIN
         IF ( p_task_name IS NOT NULL AND p_task_type IS NOT NULL AND p_loc IS NOT NULL) THEN
         lv_task_name := p_task_name;
         lv_task_type := p_task_type;
         lv_loc := p_loc;
         END IF;
         SELECT Wb_Rt_Platform_Repository INTO lv_repo FROM dual;
    lv_fnc_call := 'BEGIN '
    ||':lv_rt_code'
    || ' := '
    || lv_repo
    ||'.fnc_exec_owb_process(p_repos_owner => :lv_repo'
    ||', p_location_name => :lv_loc'
    ||', p_task_type => :lv_task_type'
    ||', p_task_name => :lv_task_name'
    ||', p_system_params => :lv_sys_par'
    ||', p_custom_params => :lv_cust_par'
    ||', p_oem_friendly => :lv_oem'
              ||'); END;'
    --dbms_output.put_line(lv_fnc_call);
    EXECUTE IMMEDIATE lv_fnc_call USING OUT lv_rt_code, IN lv_repo, lv_loc, lv_task_type, lv_task_name, lv_sys_par, lv_cust_par, lv_oem;
    DBMS_OUTPUT.PUT_LINE('RETURN CODE IS '|| lv_rt_code);
    EXCEPTION
    WHEN OTHERS THEN
    dbms_output.put_line(SUBSTR(SQLERRM,1,255) );
    END;
    and use DBMS_JOB to schedule the above.
    HOpe this helps.
    Thanks
    Mahesh

  • How to get Arabic dates in SQL*Plus?

    I want to do a very simple thing.
    I want to type in Arabic and Display dates in Arabic.
    Instead i get ????? ??????? ????? ??????? ? ? ???????, ????? for this?
    Why is this?
    I then changed my Windows XP "Regional and Language Options" all to Arabic. Now, I get AR (Arabic) in my language selection bar at the bottom of the Desktop. When I choose AR I can type Arabic in Notepad. ُ
    Even HERE I can type in Arabic: فغحث غخعق ةثسسشلث اثقث
    But in Sql*PLus I get ????? ??????? ????? ??????? ? ? ???????, ?????
    If I choose AR in SQL Plus and type in Arabic I get garbage characters?
    How to get Arabic in Sql*Plus?
    SQL> SHOW USER
    USER is "ARABDTEST"
    SQL> SELECT * FROM v$version;
    BANNER
    Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
    PL/SQL Release 11.1.0.6.0 - Production
    CORE    11.1.0.6.0      Production
    TNS for 32-bit Windows: Version 11.1.0.6.0 - Production
    NLSRTL Version 11.1.0.6.0 - Production
    SQL> SELECT * FROM nls_session_parameters;
    PARAMETER                      VALUE
    NLS_LANGUAGE                   AMERICAN
    NLS_TERRITORY                  AMERICA
    NLS_CURRENCY                   $
    NLS_ISO_CURRENCY               AMERICA
    NLS_NUMERIC_CHARACTERS         .,
    NLS_CALENDAR                   GREGORIAN
    NLS_DATE_FORMAT                DD-MON-RR
    NLS_DATE_LANGUAGE              AMERICAN
    NLS_SORT                       BINARY
    NLS_TIME_FORMAT                HH.MI.SSXFF AM
    NLS_TIMESTAMP_FORMAT           DD-MON-RR HH.MI.SSXFF AM
    NLS_TIME_TZ_FORMAT             HH.MI.SSXFF AM TZR
    NLS_TIMESTAMP_TZ_FORMAT        DD-MON-RR HH.MI.SSXFF AM TZR
    NLS_DUAL_CURRENCY              $
    NLS_COMP                       BINARY
    NLS_LENGTH_SEMANTICS           BYTE
    NLS_NCHAR_CONV_EXCP            FALSE
    17 rows selected.
    SQL> ALTER SESSION set NLS_DATE_LANGUAGE = 'ARABIC';
    Session altered.
    SQL> SELECT TO_CHAR(SYSDATE, 'RRRR/MM/DD YEAR MONTH DAY MON DY AM PM DL') FROM dual;
    TO_CHAR(SYSDATE,'RRRR/MM/DDYEARMONTHDAYMONDYAMPMDL')
    2013/04/08 TWENTY THIRTEEN ?????  ???????  ?????  ???????  ? ? ???????, ????? 08, 2013
    SQL> ALTER SESSION set NLS_DATE_LANGUAGE = 'AMERICAN';
    Session altered.
    SQL>  SELECT TO_CHAR(SYSDATE, 'RRRR/MM/DD YEAR MONTH DAY MON DY AM PM DL') FROM dual;
    TO_CHAR(SYSDATE,'RRRR/MM/DDYEARMONTHDAYMONDYAMPMDL')
    2013/04/08 TWENTY THIRTEEN APRIL     MONDAY    APR MON PM PM Monday, April 08, 2013
    SQL> SELECT * FROM nls_database_parameters;
    PARAMETER                      VALUE
    NLS_LANGUAGE                   AMERICAN
    NLS_TERRITORY                  AMERICA
    NLS_CURRENCY                   $
    NLS_ISO_CURRENCY               AMERICA
    NLS_NUMERIC_CHARACTERS         .,
    NLS_CHARACTERSET               WE8MSWIN1252
    NLS_CALENDAR                   GREGORIAN
    NLS_DATE_FORMAT                DD-MON-RR
    NLS_DATE_LANGUAGE              AMERICAN
    NLS_SORT                       BINARY
    NLS_TIME_FORMAT                HH.MI.SSXFF AM
    NLS_TIMESTAMP_FORMAT           DD-MON-RR HH.MI.SSXFF AM
    NLS_TIME_TZ_FORMAT             HH.MI.SSXFF AM TZR
    NLS_TIMESTAMP_TZ_FORMAT        DD-MON-RR HH.MI.SSXFF AM TZR
    NLS_DUAL_CURRENCY              $
    NLS_COMP                       BINARY
    NLS_LENGTH_SEMANTICS           BYTE
    NLS_NCHAR_CONV_EXCP            FALSE
    NLS_NCHAR_CHARACTERSET         AL16UTF16
    NLS_RDBMS_VERSION              11.1.0.6.0
    20 rows selected.

    I am not sure SQL*Plus in character mode can display Arabic characters on Windows. OTN NLS_LANG FAQ http://www.oracle.com/technetwork/products/globalization/nls-lang-099431.html#_Toc105389288 says:
    >
    if you are testing with "special" characters please DO use the GUI and not the "DOS box" sqlplus.exe !
    >
    SQL*Plus GUI is not available with 11G: you should use SQL Developer.

  • How to detect client OS from SQL*Plus script

    Sometimes in a SQL*Plus script I need to execute OS commands e.g.
    host rm tempfile.bufHowever of course Windows has no "rm" command by default, so I have to edit the script to use
    host del tempfile.bufNow if I could define &DELETE (for example, "cat"/"type" is another) as a substitution variable, I could just use
    host &DELETE tempfile.bufMaybe I need more coffee but all I could come up with was something like this:
    def rm=rm
    def cat=cat
    spool sqlplus_windows_defs.cmd
    prompt echo def rm=del
    prompt echo def cat=type
    spool off
    host .\sqlplus_windows_defs > sqlplus_windows_defs.sql
    @sqlplus_windows_defs.sql
    host &rm sqlplus_windows_defs.cmd
    host &rm sqlplus_windows_defs.sqlthe idea being that you first define the variables for nix ("rm" and "cat"), then attempt to create and execute a Windows command file containing DOS versions ("dele" and "type"), which does not run under nix. Unfortunately the OS failure message (".sqlplus_windows_defs: not found" in Unix) appears on the screen despite SET TERM OFF, so I'm back where I started.
    I know there are various ways to get the server OS, and you can get the SQL*Plus version with &_SQLPLUS_RELEASE and so on, but I can't see a way to determine the client OS. Any suggestions?

    Thanks guys. This seems to work in Windows XP - will try on Unix when I get a chance:
    col DELETE_COMMAND new_value DELETE_COMMAND
    col LIST_COMMAND new_value LIST_COMMAND
    def list_command = TYPE
    def delete_command = DEL
    SELECT DECODE(os,'MSWIN','TYPE','cat') AS list_command
         , DECODE(os,'MSWIN','DEL','rm')   AS delete_command
    FROM   ( SELECT CASE WHEN UPPER(program) LIKE '%.EXE' THEN 'MSWIN' END AS os
             FROM   v$session
             WHERE  audsid = SYS_CONTEXT('userenv','sessionid') );
    host &LIST_COMMAND xplan_errors.lst
    host &DELETE_COMMAND xplan_errors.lstIf the user doesn't have access to v$session it will just default to the Windows commands.
    http://www.williamrobertson.net/code/xplan.sql

  • How to cancel a search in SQL*Plus

    Once a search is initiated in SQL*Plus Worksheet, how can you stop it? I am on Windows NT. The normal Ctrl-C, Ctrl-Break, Esc don't work. I found an obscure reference in the SQL*Plus documentation about a cancel function, but it didn't give the keystrokes.

    I actually managed to crash an 8.0.5 database by hitting Ctrl-C in the middle of a query.
    Oracle Support advised me that this was a known bug. The solution?
    Don't hit Ctrl-C in the middle of a query!
    null

Maybe you are looking for

  • How to setup a company code for material management

    Hi, While creating material in MM01, in sales org tab, when I gave plant XXXX, it is giving an error "Company code YYYY is not setup for material management". So can you help me , how to setup a company code for material management Help is appreciate

  • Visio 2013 Drawing pages do not open

    Hi, I have a .vsdx file with 13 pages - there are two modified stencils in it.  when the drawing opens it opens these two modified stencils first then opens the main drawing with the pages. Now the drawing opens to the first stencil and does not open

  • Updating a Partitioned Table

    Hi I have a partitioned table with 1000 million records with avg 20 million records in each partition and I want to update the entire table. The way I am updating the table is for e.g. UPDATE /*+ PARALLEL(A,8) BKG_FAC A SET A.BKG_FLAG = DECODE(A.BKG_

  • Beans On A Web Page - Linking via custom events

    I've written a pair of Beans and I need to link them up on a web page to run in IE. Have tested in the BDK BeanBox and they work OK there. Unfortunately they don't in IE. Hope someone out there can help. (Environment: IE6 on Win2000, Java Plug-In 1.3

  • Jmf video capture in an Applet

    Hello I use netBeans 6.9.1 and would like to use JMF and the webcam capture JMF function in my applet but Iget a no permission error see below How can I get out of that? Thank you Fred Public class SourceCam extends java.applet.Applet implements Runn