Literature for learning PL/SQL

Hi all
Can someone advise me about good books to learn PL/SQL. I am newbie.

Oracle PL/SQL Programming by Steven Feuerstein & Bill Pribyl is very good.
I also liked Mastering Oracle PL/SQL: Practical Solutions by Connor McDonald.
I haven't read the Tim Hall one but I'm sure it's worth a look if you are not put off by the publisher's fondness for annoying marketing phrases phrases like "Expert Secrets" and "High Performance Programming".
Avoid Oracle Database 10g PL/SQL Programming (Oracle Press), Urman/Hardman/Mclaughlin, it's terrible.
Edited by: William Robertson on Nov 29, 2008 3:44 PM
Turns out links can't contain quote characters.

Similar Messages

  • Good book for learning pl/sql quickly

    Please suggest me a good book that covers all aspects of pl/sql in depth.
    Thanks in advance. :-)

    A good book for learning PL/SQL quickly?
    That is not a function of the book. That is a function of your ability to learn and understand new concepts. No book can make you learn "faster".
    Also, even before trying to learn PL/SQL, there are concepts and fundamentals to understand. Specifically:
    - [url http://download.oracle.com/docs/cd/B19306_01/server.102/b14220/toc.htm]Oracle® Database Concepts
    - [url http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14251/toc.htm]Oracle® Database Application Developer's Guide - Fundamentals
    - [url http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14261/toc.htm]Oracle® Database PL/SQL User's Guide and Reference
    And after that, also have a look at Application Developer's Guide - Large Objects, Application Developer's Guide - Object-Relational Features. Not to mention the SQL Reference and the PL/SQL Packages and Types Reference guides.
    All available via http://tahiti.oracle.com

  • Suggested books/video series for learning oracle sql?

    What are some good books/ videos for a beginner to learn oracle sql?
    I learn best by being able to go through exercises.
    I am using Oracle 11g express edition and sql developer. In sql developer I have only one connection to the HR schema.
    Also, can I connect to the SCOTT schema in oracle 11g?

    Hi,
    The SQL Language reference is a great book, but its a bit dry for a beginner.
    How about starting with the Getting Started and 2 Day guides here
    http://docs.oracle.com/cd/E17781_01/index.htm
    There are a lot of tutorials here as well
    https://apex.oracle.com/pls/apex/f?p=44785:1:0::NO
    google will also bring up lots of hits as well
    Regards
    Andre

  • Recommened book for learning PL/SQL

    I've been trying to learn PL/SQL from Oracle's documentation, and I'm a bit tired of it.
    All the information is there, but you really need to scan back and forth to collect all the bits you need. It is rather difficult.
    Can you recommend a good book? I want to learn all the idea and concepts, not just the syntax. So please don't direct me to "Learn PL/SQL in 21 days".
    Thanks.

    It may be true that one can get away with documentation. However, it greatly depends on your background. If you learn language X, and this is your very first exposure to programming, you won't find documentation inspirational. You will suffer with badly chosen textbook too. As you progress, the matter of a good book becomes less and less important. You may find that for learning your second language you don't need a book, and this is especially true in the era of internet, when there is a great competition among web tutorials.
    My apology for not being specific, but the matter of finding a good book is easy -- you just go to amazon, find several with high ASR, and chose the one based upon readers reviews. You will unlikely to expect better feedback to your question here.

  • Good Books for  learning PL/SQL

    Hello,
    Any information regarding a good book to help me learn pl/sql is most appreciated.
    Thanks

    The best: http://www.amazon.com/Oracle-PL-SQL-Programming-4th/dp/0596009771/ref=pd_bbs_sr_1/104-3233311-7887103?ie=UTF8&s=books&qid=1190300018&sr=8-1
    others that are good:
    http://www.amazon.com/Oracle-Database-10g-SQL-Programming/dp/0072230665/ref=pd_bbs_sr_2/104-3233311-7887103?ie=UTF8&s=books&qid=1190300018&sr=8-2
    http://www.amazon.com/Oracle-SQL-Dummies-Michael-Rosenblum/dp/0764599577/ref=pd_bbs_sr_3/104-3233311-7887103?ie=UTF8&s=books&qid=1190300018&sr=8-3
    You can just watch this Forum too, lots of good info here!
    Jim P.

  • Good source for learning - SQL Stored Proceedures using Dreamweaver

    I am looking for a good source for learning how to integrate
    Stored
    Proceedures using Dreamweaver?
    Is there a book or something online?
    Thanks

    Hey Lee,
    You find yourself in that position, I find myself in that
    position, every
    damn developer/programer in the world find themselves in that
    position. It
    may be on different levels, but everyones in the same boat.
    Here is my suggestion. Take the existing knowledge you have,
    pick a
    technology that is a bit more futureproof (if the one you
    have is getting
    outdated) and one that isn't too far removed from the one you
    know and put
    it all into that one area.
    Databases are really important if you want to be a decent web
    developer. If
    you're serious and want to be good then devote time to a
    particular database
    and get to know it well. I would suggest SQL Server. You
    don't have to be
    DBA standard but get as much knowledge on it as you can.
    Never underestimate
    your required knowledge of databases.
    Set yourself goals. Say to yourself "In 6 months I want to be
    a proficient
    developer in this language" and go for it. Don't get
    side-tracked into
    something else just keep focused on one area and get good at
    it. Yes, that
    language will become outdated in time but you will be all the
    more ready to
    take on the next because of your past experiences.
    I try to look at it like this; It is better to a master of
    one technology
    and know enough to get by in others than a Jack of all
    technologies but a
    master of none.
    Pat.
    "lee" <[email protected]> wrote in message
    news:[email protected]...
    > Thanks Pat...I only looked at it briefly but it looks
    like what I needed.
    >
    > The biggest problem that I have is that I don't have
    enough time to look
    > into some of this stuff...
    >
    > Over the years, I've gotten to a certain level of
    proficiency in certain
    > things, I can do quite a bit but there always seems to
    be yet another
    > technology to master as the Old Ways go away.
    >
    > To be honest, I really just want to be an artist with
    some programming
    > skills but the nature of this position demands that I
    "learn It all."
    >
    > Meanwhile, all those other skills have to be put
    asside...I really should
    > master flash...I really should work on my illustration
    skills...I really
    > should master CSS. I really should master...I don't
    know, name it. And if
    > I really wanted to abandon my ...LIFE...I could,
    perhaps, figure it all
    > out.
    >
    > What is so tiring is that my skill set is stretched SO
    f-ing thin that I
    > can never, possibly catch up. The only cure is time but
    often even that
    > goes against me.
    >
    > Anyways, thanks for the link. I'll probably be back
    later with questions.
    >
    > Thanks Pat.
    >
    > If anyone else finds a good source, let me know.
    >
    >

  • Please give good for learning sql and pl/sql site

    Hi All,
    please give good reference site for learning sql and pl/sql, your suggestion would be appreciated.

    http://tahiti.oracle.com/
    http://www.oracle.com/pls/db112/homepage?remark=tahiti
    http://download.oracle.com/docs/cd/E11882_01/appdev.112/e10766/toc.htm
    http://download.oracle.com/docs/cd/E11882_01/server.112/e17118/toc.htm
    http://download.oracle.com/docs/cd/E11882_01/appdev.112/e17126/toc.htm

  • Learning PL/SQL ... a query

    hi all,
    i v jus started learning pl/sql. i v a question
    the following is my pl/sql block
    set serveroutput on;
    declare
    name varchar(50);
    empid number := &emp;
    begin
    select last_name into
    name
    from hr.employees
    where employee_id=empid;
    dbms_output.put_line('name of employee is '||name);
    exception
    when no_data_found
    then
    dbms_output.put_line('no data for employee with the id:'||empid);
    when others
    then
    dbms_output.put_line('error');
    end;when i run this code i m asked to enter emp. if i type the emp no. which exists in the db then i get the name of the employee and if that emp_id is not present in the database i get a output saying "no data for employee with the id:<empid>".
    now my question is ... when asked to enter the emp_id if i just hit enter i.e. i enter a null value, the exception block does not catch the error.
    it throws an error
    Enter value for emp:
    old   3: empid number := &emp;
    new   3: empid number := ;
    empid number := ;
    ERROR at line 3:
    ORA-06550: line 3, column 17:
    PLS-00103: Encountered the symbol ";" when expecting one of the following:
    ( - + case mod new not null <an identifier>
    <a double-quoted delimited-identifier> <a bind variable> avg
    count current exists max min prior sql stddev sum variance
    execute forall merge time timestamp interval date
    <a string literal with character set specification>
    <a number> <a single-quoted SQL string> pipe
    The symbol "null" was substituted for ";" to continue.what am i missing??

    are we dependent on the front end so that a null value is not sent to the db??Your example used simple substitution variables directly in a sql (or pl/sql) statement. When you entered nothing and hit enter, SQL Plus basically did nothing and sent the block to the db for execution. That's just the way SQL Plus works.
    Your application will not behave in this manner.
    Ideally, your program (Java or whatever) will use bind variables (I hope). In that case, the statement sent to the database will not have the syntax error you saw above. (however, it will not return any results because of the null variable).

  • Learning Pl/SQL here: Help creating a trigger

    Hello everyone.
    I am just learning PL/SQL here and have tasked with creating at trigger. The trigger basically needs to fire off a email when any records are updated on a specific table.
    So far, I was going to use the built in procedure utl_smtp. I have that part configured, but where I am struggly is how to tell the trigger work when the table is updated with new data.
    I am a little lost here so any help is greatly appreciated.
    Thanks,
    JW

    Hello! I have following code for a trigger that fires when some record inserted in the table. However I got following error. Like this for example "ERROR at line 38: PL/SQL: Statement ignored". What is wrong whith the code?
    CREATE OR REPLACE TRIGGER "SPEAKERS_T2"
    AFTER
    insert on "SPEAKERS"
    for each row
    declare
    sender varchar2(80) := '[email protected]';
    recipient varchar2(80) := '[email protected]';
    smtpHost varchar2(80) := 'smtp.hotmail.com';
    smtpUser varchar2(256) := 'someusername';
    smtpPassword varchar2(256) := '<password>';
    mail_conn utl_smtp.connection;
    separator varchar2(1) := ' ';
    content_charset varchar2(8) := 'utf8';
    procedure send_header(name in varchar2, header in varchar2) as
    begin
    utl_smtp.write_raw_data(mail_conn, UTL_RAW.cast_to_raw(name||': '||header||utl_tcp.CRLF));
    end;
    begin
    mail_conn := utl_smtp.open_connection(smtpHost, 25);
    utl_smtp.helo(mail_conn, smtpHost);
    -- If Authentication required for SMTP
    -- After upgrade to Oracle 9i, replace demo_base64.encode
    -- with the native utl_encode.base64_encode for better performance.
    utl_smtp.command(mail_conn, 'AUTH LOGIN');
    utl_smtp.command(
    mail_conn, utl_raw.cast_to_varchar2(
    utl_encode.base64_encode(utl_raw.cast_to_raw(smtpUser))
    utl_smtp.command(
    mail_conn, utl_raw.cast_to_varchar2(
    utl_encode.base64_encode(utl_raw.cast_to_raw(smtpPassword))
    utl_smtp.mail(mail_conn, sender);
    utl_smtp.rcpt(mail_conn, recipient);
    utl_smtp.open_data(mail_conn);
    send_header('From', sender);
    send_header('To', recipient);
    send_header('CC', recipient);
    send_header('Subject', 'Test');
    send_header('MIME-Version', '1.0');
    send_header('Content-Type', 'text/plain; charset="utf8"');
    utl_smtp.write_raw_data(
    mail_conn, utl_raw.cast_to_raw(utl_tcp.CRLF||' ')
    utl_smtp.close_data(mail_conn);
    utl_smtp.quit(mail_conn);
    end;

  • Configuring Oracle for learning purpose in Laptop

    Hi all,
    I would like to configure Oracle11g in my laptop for learning purpose. Basically i would like to learn PL-SQL by creating some stored procedures and playing around that. Could you just tell me as to how to simulate a pl-sql development environment in home laptop?
    Thanks in advance

    Please clarify what you are referring to as OEM and Rapid Sql.
    If by OEM you mean Oracle Enterprise Manager Database Control, a database management console, then you would need one of the "full" editions not XE. I believe you may install and use even Enterprise Edition with a for-free license, as long as it is for pure learning purposes/self-education. See what it says about the OTN license in the top of the [url http://www.oracle.com/technetwork/indexes/downloads/index.html]downloads index page.
    For SQL development tools in general, XE should do fine as long as you build apps within its feature set.

  • Guidance for learning ABAP

    Hi All,
    Iam working presently in SAP XI. I would like to learn ABAP. Can anyone of u suggest some useful tutorials or material for learning ABAP.Knowledge of ABAP along with XI would be helpful for me.
    Thanks
    Hemalatha

    Hi
    go through the links
    Start with this.Refer this
    http://www.sapbrain.com/FAQs/TECHNICAL/SAP_ABAP_DATADICTIONARY_FAQ.html
    http://www.****************/InterviewQ/interviewQ.htm
    http://help.sap.com/saphelp_46c/helpdata/en/35/2cd77bd7705394e10000009b387c12/frameset.htm
    Reports
    http://www.sapgenie.com/abap/reports.htm
    http://www.allsaplinks.com/material.html
    http://www.sapdevelopment.co.uk/reporting/reportinghome.htm
    http://www.sapfans.com/forums/viewtopic.php?t=58286
    http://www.sapfans.com/forums/viewtopic.php?t=76490
    http://www.sapfans.com/forums/viewtopic.php?t=20591
    http://www.sapfans.com/forums/viewtopic.php?t=66305 - this one discusses which way should you use - ABAP Objects calls or simple function modules.
    ALE/ IDOC
    http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
    http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
    http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
    http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
    http://www.sapgenie.com/sapedi/index.htm
    http://www.sappoint.com/abap/ale.pdf
    http://www.sappoint.com/abap/ale2.pdf
    http://www.sapgenie.com/sapedi/idoc_abap.htm
    http://help.sap.com/saphelp_erp2005/helpdata/en/0b/2a60bb507d11d18ee90000e8366fc2/frameset.htm
    http://help.sap.com/saphelp_erp2005/helpdata/en/78/217da751ce11d189570000e829fbbd/frameset.htm
    http://www.allsaplinks.com/idoc_sample.html
    http://www.sappoint.com/abap.html
    http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
    http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
    http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
    http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
    http://www.sapgenie.com/sapedi/index.htm
    http://www.allsaplinks.com/idoc_sample.html
    Check these step-by-step links
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/uuid/ccab6730-0501-0010-ee84-de050a6cc287
    https://sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/uuid/8fd773b3-0301-0010-eabe-82149bcc292e
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/uuid/3c5d9ae3-0501-0010-0090-bdfb2d458985
    for Smartforms material
    http://www.sap-basis-abap.com/sapsf001.htm
    http://www.sap-press.com/downloads/h955_preview.pdf
    http://www.ossincorp.com/Black_Box/Black_Box_2.htm
    http://www.sap-img.com/smartforms/sap-smart-forms.htm
    http://www.sap-img.com/smartforms/smartform-tutorial.htm
    http://www.sapgenie.com/abap/smartforms.htm
    How to trace smartform
    http://help.sap.com/saphelp_47x200/helpdata/en/49/c3d8a4a05b11d5b6ef006094192fe3/frameset.htm
    http://www.help.sap.com/bp_presmartformsv1500/DOCU/OVIEW_EN.PDF
    http://www.sap-img.com/smartforms/smart-006.htm
    http://www.sap-img.com/smartforms/smartforms-faq-part-two.htm
    Re: Need FAQ's
    check most imp link
    http://www.sapbrain.com/ARTICLES/TECHNICAL/SMARTFORMS/smartforms.html
    step by step good ex link is....
    http://smoschid.tripod.com/How_to_do_things_in_SAP/How_To_Build_SMARTFORMS/How_To_Build_SMARTFORMS.html
    SAPScripts
    Link for SAP Scripts (step by step procedure)
    http://smoschid.tripod.com/How_to_do_things_in_SAP/How_To_Create_A_SAPSCRIPT_Form/How_to_Create_SAPSCRIPT.html
    http://esnips.com/doc/1ff9f8e8-0a4c-42a7-8819-6e3ff9e7ab44/sapscripts.pdf
    http://esnips.com/doc/1e487f0c-8009-4ae1-9f9c-c07bd953dbfa/script-command.pdf
    http://esnips.com/doc/64d4eccb-e09b-48e1-9be9-e2818d73f074/faqss.pdf
    http://esnips.com/doc/cb7e39b4-3161-437f-bfc6-21e6a50e1b39/sscript.pdf
    http://esnips.com/doc/fced4d36-ba52-4df9-ab35-b3d194830bbf/symbols-in-scripts.pdf
    http://esnips.com/doc/b57e8989-ccf0-40d0-8992-8183be831030/sapscript-how-to-calculate-totals-and-subtotals.htm
    SAP SCRIPT FIELDS
    http://help.sap.com/saphelp_erp2005vp/helpdata/en/d1/8033ea454211d189710000e8322d00/content.htm
    scripts easy material
    http://www.allsaplinks.com/sap_script_made_easy.html
    Debugging Document.
    http://www.cba.nau.edu/haney-j/CIS497/Assignments/Debugging.doc
    http://help.sap.com/saphelp_47x200/helpdata/en/c6/617ca9e68c11d2b2ab080009b43351/content.htm
    http://www.cba.nau.edu/haney-j/CIS497/Assignments/Debugging.doc
    http://help.sap.com/saphelp_erp2005/helpdata/en/b3/d322540c3beb4ba53795784eebb680/frameset.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/84/1f624f4505144199e3d570cf7a9225/frameset.htm
    http://help.sap.com/saphelp_bw30b/helpdata/en/c6/617ca9e68c11d2b2ab080009b43351/content.htm
    http://help.sap.com/saphelp_erp2005/helpdata/en/b3/d322540c3beb4ba53795784eebb680/frameset.htm
    ABAP HELP
    If you check these links, you can find many example programs.
    http://www.sap-img.com/abap.htm
    http://www.sapdevelopment.co.uk/tips/tipshome.htm
    http://help.sap.com/printdocu/core/Print46c/en/Data/Index_en.htm
    http://sap.ittoolbox.com/nav/t.asp?t=322&p=322&h1=322
    http://sappoint.com/abap/
    FAQs in ABAP
    http://www.sap-img.com/abap/more-than-100-abap-interview-faqs.htm
    Smart forms
    http://www.sap-basis-abap.com/sapsf001.htm
    Workflow
    <http://www.sap-img.com/workflow/sap-workflow.htm>
    ALV
    http://www.geocities.com/mpioud/Abap_programs.html
    Mail
    http://www.geocities.com/mpioud/Z_EMAIL_ABAP_REPORT.html
    http://www.thespot4sap.com/Articles/SAP_Mail_SO_Object_Send.asp
    Table control in BDC
    http://www.sap-img.com/abap/bdc-example-using-table-control-in-bdc.htm
    SAP Scripts:
    http://sappoint.com/abap/
    http://www.henrikfrank.dk/abapuk.html
    Some useful ABAP Links for learning:
    http://cma.zdnet.com/book/abap/index.htm
    http://www.sapdevelopment.co.uk/
    http://www.sap-img.com/
    http://juliet.stfx.ca/people/fac/infosys/abap.htm
    http://help.sap.com/saphelp_46c/helpdata/en/d3/2e974d35c511d1829f0000e829fbfe/frameset.htm
    http://help.sap.com/saphelp_46c/helpdata/en/d6/0db357494511d182b70000e829fbfe/frameset.htm
    http://www.henrikfrank.dk/abapexamples/SapScript/sapscript.htm
    http://www.sapgenie.com/abap/example_code.htm
    http://www.geocities.com/SiliconValley/Campus/6345/abapindx.htm
    http://help.sap.com/printdocu/core/Print46c/en/Data/Index_en.htm
    http://help.sap.com/saphelp_40b/helpdata/en/4f/991f82446d11d189700000e8322d00/applet.htm
    http://www.sap-img.com/abap-function.htm
    http://www.sapgenie.com/abap/code/abap19.htm
    http://www.sap-img.com/abap/more-than-100-abap-interview-faqs.htm
    http://www.planetsap.com/Tips_and_Tricks.htm
    http://help.sap.com/saphelp_40b/helpdata/ru/d6/0dc169494511d182b70000e829fbfe/applet.htm
    http://www.henrikfrank.dk/abapexamples/SapScript/symbols.htm
    http://www.henrikfrank.dk/abapexamples/index.html
    http://sap.ittoolbox.com/documents/document.asp?i=752
    http://members.aol.com/_ht_a/skarkada/sap/
    http://sappoint.com/abap/
    http://members.tripod.com/abap4/SAP_Functions.html
    http://members.ozemail.com.au/~anmari/sap/index.html
    http://www.planetsap.com/Userexit_List.htm
    http://www.planetsap.com/Tips_and_Tricks.htm
    http://www.kabai.com/abaps/q.htm
    http://www.planetsap.com/Userexit_List.htm
    http://help.sap.com/saphelp_bw21c/helpdata/en/c4/3a8090505211d189550000e829fbbd/frameset.htm
    http://www.sapgenie.com/abap/bapi/example.htm
    http://help.sap.com/saphelp_45b/helpdata/en/65/897415dc4ad111950d0060b03c6b76/content.htm
    http://www.sap-basis-abap.com/index.htm
    http://help.sap.com/saphelp_40b/helpdata/en/fc/eb2c46358411d1829f0000e829fbfe/frameset.htm
    http://help.sap.com/saphelp_46c/helpdata/en/aa/aeb23789e95378e10000009b38f8cf/frameset.htm
    http://www.geocities.com/ResearchTriangle/1635/system.html
    http://www.sapdesignguild.org/resources/MiniSG/3_Managing/3_Functions_Table_Control.htm
    http://help.sap.com/saphelp_45b/helpdata/en/d1/801bdf454211d189710000e8322d00/content.htm
    http://www.sapfans.com/sapfans/repos/saprep.htm
    http://www.planetsap.com/howdo_a.htm
    http://help.sap.com/saphelp_util464/helpdata/en/69/c2516e4ba111d189750000e8322d00/content.htm
    http://www.sapgenie.com/abap/smartforms_detail.htm
    http://www.sap-img.com/abap.htm
    http://help.sap.com/saphelp_46c/helpdata/en/fc/eb2d67358411d1829f0000e829fbfe/content.htm
    http://www.geocities.com/victorav15/sapr3/abap.html
    http://www.henrikfrank.dk/abapexamples/SapScript/sapscript.htm
    http://abap4.tripod.com/Other_Useful_Tips.html
    http://help.sap.com/saphelp_45b/helpdata/en/cf/21ee2b446011d189700000e8322d00/content.htm
    http://www.sap-basis-abap.com/sapmm.htm
    http://sap.ittoolbox.com/nav/t.asp?t=303&p=448&h1=303&h2=322&h3=448
    http://sapfans.com/
    http://cma.zdnet.com/book/abap/ch03/ch03.htm
    http://help.sap.com/saphelp_40b/helpdata/en/4f/991f82446d11d189700000e8322d00/applet.htm
    http://sappoint.com/abap/
    http://www.henrikfrank.dk/abapuk.html
    http://www.sts.tu-harburg.de/teaching/sap_r3/ABAP4/abapindx.htm
    http://www.sapgenie.com/abap/index.htm
    http://www.sap-img.com/abap.htm
    http://www.sapdevelopment.co.uk/tips/tipshome.htm
    http://help.sap.com/printdocu/core/Print46c/en/Data/Index_en.htm
    http://sap.ittoolbox.com/nav/t.asp?t=322&p=322&h1=322
    http://sap.ittoolbox.com/nav/t.asp?t=448&p=448&h1=448
    http://www.thespot4sap.com/
    http://www.kabai.com/abaps/q.htm
    http://www.geocities.com/mpioud/Abap_programs.html
    http://www.sapgenie.com/abap/tips_and_tricks.htm
    http://www.sapassist.com/code/d.asp?whichpage=1&pagesize=10&i=10&a=c&o=&t=&q=&qt=
    For FAQ
    http://www.sap-img.com/abap/more-than-100-abap-interview-faqs.htm
    http://www.sapgenie.com/faq/abap.htm
    BAPI-step by step
    http://www.sapgenie.com/abap/bapi/example.htm
    http://www.sapgenie.com/abap/bapi/example.htm
    Web log for receive email and processing it through ABAP
    /people/thomas.jung3/blog/2004/09/09/receiving-e-mail-and-processing-it-with-abap--version-610-and-higher
    For Logical database
    http://help.sap.com/saphelp_46c/helpdata/en/9f/db9bed35c111d1829f0000e829fbfe/frameset.htm
    http://help.sap.com/saphelp_46c/helpdata/EN/35/2cd77bd7705394e10000009b387c12/frameset.htm
    Useful link to websites
    http://www.hernangn.com.ar/sap.htm
    Useful for background
    http://www.sappoint.com/basis/bckprsng.pdf
    http://help.sap.com/saphelp_nw04/helpdata/en/6f/08703713bf277ee10000009b38f8cf/frameset.htm
    http://publib.boulder.ibm.com/infocenter/wbihelp/index.jsp?topic=/com.ibm.wbix_adapters.doc/doc/mysap4/sap4x41.htm
    Table control in BDC
    http://www.sap-img.com/abap/bdc-example-using-table-control-in-bdc.htm
    For posting web log,
    /people/sap.user72/blog/2005/06/28/sdn-weblogs-making-it-easier
    Dynamic Internal table -web log in sdn
    /people/subramanian.venkateswaran2/blog/2004/11/19/dynamic-internal-table
    Smart forms
    http://www.sap-basis-abap.com/sapsf001.htm
    http://www.sap-press.com/downloads/h955_preview.pdf
    http://www.ossincorp.com/Black_Box/Black_Box_2.htm
    http://www.sap-img.com/smartforms/sap-smart-forms.htm
    How to trace smart form
    http://help.sap.com/saphelp_47x200/helpdata/en/49/c3d8a4a05b11d5b6ef006094192fe3/frameset.htm
    Workflow
    http://www.sap-img.com/workflow/sap-workflow.htm
    http://help.sap.com/saphelp_47x200/helpdata/en/a5/172437130e0d09e10000009b38f839/frameset.htm
    For examples on WorkFlow...check the below link..
    http://help.sap.com/saphelp_47x200/helpdata/en/3d/6a9b3c874da309e10000000a114027/frameset.htm
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/PSWFL/PSWFL.pdf
    http://help.sap.com/saphelp_47x200/helpdata/en/4a/dac507002f11d295340000e82dec10/frameset.htm
    http://www.workflowing.com/id18.htm
    http://www.e-workflow.org/
    http://web.mit.edu/sapr3/dev/newdevstand.html
    ALV
    http://www.geocities.com/mpioud/Abap_programs.html
    Mail
    http://www.geocities.com/mpioud/Z_EMAIL_ABAP_REPORT.html
    http://www.thespot4sap.com/Articles/SAP_Mail_SO_Object_Send.asp
    http://www.sapdevelopment.co.uk/reporting/email/attach_xls.htm
    BOM Explosion
    /people/prakash.singh4/blog/2005/05/15/explode-boms-in-enterprise-portal-using-htmlb-tree--part-1-abap
    BOM
    http://help.sap.com/saphelp_erp2005/helpdata/en/ea/e9b7234c7211d189520000e829fbbd/frameset.htm
    http://help.sap.com/saphelp_erp2005/helpdata/en/d1/2e4114a61711d2b423006094b9d648/frameset.htm
    http://www.sap-img.com/sap-sd/sales-bom-implementation.htm
    http://www.sap-basis-abap.com/sappp007.htm
    OLE
    http://www.sapgenie.com/abap/ole.htm
    http://help.sap.com/saphelp_46c/helpdata/en/59/ae3f2e488f11d189490000e829fbbd/frameset.htm
    ALVGRID with refresh
    http://www.geocities.com/mpioud/Z_DEMO_ALV_REFRESH_BUTTON.html
    For language setting and decimal separator
    /people/horst.keller/blog/2004/11/16/abap-geek-7-150-babylonian-confusion
    Oracle queries
    http://sqlzoo.net/
    To format SQL
    http://www.sqlinform.com/
    SCOT settings
    http://www.sap-img.com/basis/basis-faq.htm
    Status Icon [ALV,Table Control,Tab Strip]
    http://www.sapdesignguild.org/resources/MiniSG-old/from_develop/norm_status_icons.htm#positioning_4
    ALV Group Heading
    http://www.sap-img.com/fu037.htm
    For multiMedia
    /people/thomas.jung3/blog/2005/05/11/using-classic-activex-controls-in-the-abap-control-framework
    Uploading LOGO in SAP
    http://www.sap-img.com/ts001.htm
    LSMW
    http://www.sap-img.com/sap-data-migration.htm
    http://www.sapgenie.com/saptech/lsmw.htm
    http://sapabap.iespana.es/sapabap/manuales/pdf/lsmw.pdf
    http://www.sap.info/public/INT/int/glossary/int/glossaryletter/Word-17643ed1d6d658821_glossary/L#Word-17643ed1d6d658821_glossary
    Here are the two links which contains lots of PDFS:
    http://www.easymarketplace.de/online-pdfs-q-s.php
    http://www.consolut.de/saphelp/sap_online_help.html
    http://www.sap-img.com/
    http://www.sappoint.com/
    http://www.sapdevelopment.co.uk/
    http://www.allsaplinks.com/idoc_search.html
    Regards
    Anji

  • Is there an equivalent statement in Java for this PL/SQL stmt?

    Hi,
    I want to know if there is an equivalent statement
    in java for this PL/SQL statement:
    IF strTok IN('COM-1','COM-2','COM-3') Then
    /* Do Something */
    End If;
    I tried using : // This is giving me errors..
    if (strTok.equals(("COM-1") || ("COM-2") || ("COM-3") ) )
    /* Do Something */
    The above Java code is giving me errors.
    Any Help to reduce the number of steps for comparison
    is appreciated.
    thanks in adv
    Sharath

    Something like
    if (strTok.equals("COM-1") ||
        strTok.equals("COM-2") ||
        strTok.equals("COM-3") )Justin
    Distributed Database Consulting, Inc.
    http://www.ddbcinc.com/askDDBC

  • URGENT HELP Required: Solution to avoid Full table scan for a PL/SQL query

    Hi Everyone,
    When I checked the EXPLAIN PLAN for the below SQL query, I saw that Full table scans is going on both the tables TABLE_A and TABLE_B
    UPDATE TABLE_A a
    SET a.current_commit_date =
    (SELECT MAX (b.loading_date)
    FROM TABLE_B b
    WHERE a.sales_order_id = b.sales_order_id
    AND a.sales_order_line_id = b.sales_order_line_id
    AND b.confirmed_qty > 0
    AND b.data_flag IS NULL
    OR b.schedule_line_delivery_date >= '23 NOV 2008')
    Though the TABLE_A is a small table having nearly 1 lakh records, the TABLE_B is a huge table, having nearly 2 and a half crore records.
    I created an Index on the TABLE_B having all its fields used in the WHERE clause. But, still the explain plan is showing FULL TABLE SCAN only.
    When I run the query, it is taking long long time to execute (more than 1 day) and each time I have to kill the session.
    Please please help me in optimizing this.
    Thanks,
    Sudhindra

    Check the instruction again, you're leaving out information we need in order to help you, like optimizer information.
    - Post your exact database version, that is: the result of select * from v$version;
    - Don't use TOAD's execution plan, but use
    SQL> explain plan for <your_query>;
    SQL> select * from table(dbms_xplan.display);(You can execute that in TOAD as well).
    Don't forget you need to use the {noformat}{noformat} tag in order to post formatted code/output/execution plans etc.
    It's also explained in the instruction.
    When was the last time statistics were gathered for table_a and table_b?
    You can find out by issuing the following query:select table_name
    , last_analyzed
    , num_rows
    from user_tables
    where table_name in ('TABLE_A', 'TABLE_B');
    Can you also post the results of these counts;select count(*)
    from table_b
    where confirmed_qty > 0;
    select count(*)
    from table_b
    where data_flag is null;
    select count(*)
    from table_b
    where schedule_line_delivery_date >= /* assuming you're using a date, and not a string*/ to_date('23 NOV 2008', 'dd mon yyyy');

  • Java API for running entire ".sql" files on a remote DB ( mySQL or Oracle)?

    Hi,
    Would anyone happen to know if there's a java API for executing entire ".sql" files (containing several different SQL commands), on a remote database server ?
    It's enough if the API works with MySQL and/or Oracle.
    Just to demonstrate what i'm looking for:
    Suppose you've created sql file "c:/test.sql" with several script lines:
    -- test.sql:
    insert into TABLE1 values(3,3);
    insert into TABLE1 values(5,5);
    create table TABLE2 (name VARCHER) ENGINE innoDB; -- MYSQL specific
    Then the java API should look something like:
    // Dummy java code:
    String driver="com.mysql.jdbc.Driver";
    String url= "jdbc:mysql://localhost:3306/myDb";
    SomeAPI.executeScriptFile( "c:/test.sql", driver, url);
    Thanks.

    No such a API, but it's easy to parse all sqls in a file, then run those command:
    For instance:
    import java.sql.*;
    import java.util.Properties;
    /* A demo show how to load some sql statements. */
    public class testSQL {
    private final static Object[] getSQLStatements(java.util.Vector v) {
    Object[] statements = new Object[v.size()];
    Object temp;
    for (int i = 0; i < v.size(); i++) {
    temp = v.elementAt(i);
    if (temp instanceof java.util.Vector)
    statements[i] = getSQLStatements( (java.util.Vector) temp);
    else
    statements[i] = temp;
    return statements;
    public final static Object[] getSQLStatements(String sqlFile) throws java.
    io.IOException {
    java.util.Vector v = new java.util.Vector(1000);
    try {
    java.io.BufferedReader br = new java.io.BufferedReader(new java.io.
    FileReader(sqlFile));
    java.util.Vector batchs = new java.util.Vector(10);
    String temp;
    while ( (temp = br.readLine()) != null) {
    temp = temp.trim();
    if (temp.length() == 0)
    continue;
    switch (temp.charAt(0)) {
    case '*':
    case '"':
    case '\'':
    // System.out.println(temp);
    break; //Ignore any line which begin with the above character
    case '#': //Used to begin a new sql statement
    if (batchs.size() > 0) {
    v.addElement(getSQLStatements(batchs));
    batchs.removeAllElements();
    break;
    case 'S':
    case 's':
    case '?':
    if (batchs.size() > 0) {
    v.addElement(getSQLStatements(batchs));
    batchs.removeAllElements();
    v.addElement(temp);
    break;
    case '!': //Use it to get a large number of simple update statements
    if (batchs.size() > 0) {
    v.addElement(getSQLStatements(batchs));
    batchs.removeAllElements();
    String part1 = temp.substring(1);
    String part2 = br.readLine();
    for (int i = -2890; i < 1388; i += 39)
    batchs.addElement(part1 + i + part2);
    for (int i = 1890; i < 2388; i += 53) {
    batchs.addElement(part1 + i + part2);
    batchs.addElement(part1 + i + part2);
    for (int i = 4320; i > 4268; i--) {
    batchs.addElement(part1 + i + part2);
    batchs.addElement(part1 + i + part2);
    for (int i = 9389; i > 7388; i -= 83)
    batchs.addElement(part1 + i + part2);
    v.addElement(getSQLStatements(batchs));
    batchs.removeAllElements();
    break;
    default:
    batchs.addElement(temp);
    break;
    if (batchs.size() > 0) {
    v.addElement(getSQLStatements(batchs));
    batchs.removeAllElements();
    br.close();
    br = null;
    catch (java.io.FileNotFoundException fnfe) {
    v.addElement(sqlFile); //sqlFile is a sql command, not a file Name
    Object[] statements = new Object[v.size()];
    for (int i = 0; i < v.size(); i++)
    statements[i] = v.elementAt(i);
    return statements;
    public static void main(String argv[]) {
    try {
    String url;
    Object[] statements;
    switch (argv.length) {
    case 0: //Use it for the simplest test
    case 1:
    url = "jdbc:dbf:/.";
    if (argv.length == 0) {
    statements = new String[1];
    statements[0] = "select * from test";
    else
    statements = argv;
    break;
    case 2:
    url = argv[0];
    statements = getSQLStatements(argv[1]);
    break;
    default:
    throw new Exception(
    "Syntax Error: java testSQL url sqlfile");
    Class.forName("com.hxtt.sql.dbf.DBFDriver").newInstance();
    //Please see Connecting to the Database section of Chapter 2. Installation in Development Document
    Properties properties = new Properties();
    Connection con = DriverManager.getConnection(url, properties);
    Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
    ResultSet.CONCUR_READ_ONLY);
    //Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
    // stmt.setMaxRows(0);
    stmt.setFetchSize(10);
    final boolean serializeFlag = false;//A test switch to serialize/deserialize the resultSet
    ResultSet rs;
    for (int i = 0; i < statements.length; i++) {
    if (statements[i] instanceof java.lang.String) {
    String temp = (java.lang.String) statements;
    switch (temp.charAt(0)) {
    case 'S':
    case 's':
    case '?':
    System.out.println(temp);
    rs = stmt.executeQuery(temp);
    if (serializeFlag) {
    // serialize the resultSet
    try {
    java.io.FileOutputStream fileOutputStream = new
    java.io.FileOutputStream("testrs.tmp");
    java.io.ObjectOutputStream
    objectOutputStream = new java.io.
    ObjectOutputStream(fileOutputStream);
    objectOutputStream.writeObject(rs);
    objectOutputStream.flush();
    objectOutputStream.close();
    fileOutputStream.close();
    catch (Exception e) {
    System.out.println(e);
    e.printStackTrace();
    System.exit(1);
    rs.close(); //Let the CONCUR_UPDATABLE resultSet release its open files at once.
    rs = null;
    // deserialize the resultSet
    try {
    java.io.FileInputStream fileInputStream = new
    java.io.FileInputStream("testrs.tmp");
    java.io.ObjectInputStream objectInputStream = new
    java.io.ObjectInputStream(
    fileInputStream);
    rs = (ResultSet) objectInputStream.
    readObject();
    objectInputStream.close();
    fileInputStream.close();
    catch (Exception e) {
    System.out.println(e);
    e.printStackTrace();
    System.exit(1);
    ResultSetMetaData resultSetMetaData = rs.
    getMetaData();
    int iNumCols = resultSetMetaData.getColumnCount();
    for (int j = 1; j <= iNumCols; j++) {
    // System.out.println(resultSetMetaData.getColumnName(j));
    /* System.out.println(resultSetMetaData.getColumnType(j));
    System.out.println(resultSetMetaData.getColumnDisplaySize(j));
    System.out.println(resultSetMetaData.getPrecision(j));
    System.out.println(resultSetMetaData.getScale(j));
    System.out.println(resultSetMetaData.
    getColumnLabel(j)
    + " " +
    resultSetMetaData.getColumnTypeName(j));
    Object colval;
    rs.beforeFirst();
    long ncount = 0;
    while (rs.next()) {
    // System.out.print(rs.rowDeleted()+" ");
    ncount++;
    for (int j = 1; j <= iNumCols; j++) {
    colval = rs.getObject(j);
    System.out.print(colval + " ");
    System.out.println();
    rs.close(); //Let the resultSet release its open tables at once.
    rs = null;
    System.out.println(
    "The total row number of resultset: " + ncount);
    System.out.println();
    break;
    default:
    int updateCount = stmt.executeUpdate(temp);
    System.out.println(temp + " : " + updateCount);
    System.out.println();
    else if (statements[i] instanceof java.lang.Object[]) {
    int[] updateCounts;
    Object[] temp = (java.lang.Object[]) statements[i];
    try {
    for (int j = 0; j < temp.length; j++){
    System.out.println( temp[j]);
    stmt.addBatch( (java.lang.String) temp[j]);
    updateCounts = stmt.executeBatch();
    for (int j = 0; j < temp.length; j++)
    System.out.println((j+1)+":"+temp[j]);
    for (int j = 0; j < updateCounts.length; j++)
    System.out.println((j+1)+":" +updateCounts[j]);
    catch (java.sql.BatchUpdateException e) {
    updateCounts = e.getUpdateCounts();
    for (int j = 0; j < updateCounts.length; j++)
    System.out.println((j+1)+":"+updateCounts[j]);
    java.sql.SQLException sqle = e;
    do {
    System.out.println(sqle.getMessage());
    System.out.println("Error Code:" +
    sqle.getErrorCode());
    System.out.println("SQL State:" + sqle.getSQLState());
    sqle.printStackTrace();
    while ( (sqle = sqle.getNextException()) != null);
    catch (java.sql.SQLException sqle) {
    do {
    System.out.println(sqle.getMessage());
    System.out.println("Error Code:" +
    sqle.getErrorCode());
    System.out.println("SQL State:" + sqle.getSQLState());
    sqle.printStackTrace();
    while ( (sqle = sqle.getNextException()) != null);
    stmt.clearBatch();
    System.out.println();
    stmt.close();
    con.close();
    catch (SQLException sqle) {
    do {
    System.out.println(sqle.getMessage());
    System.out.println("Error Code:" + sqle.getErrorCode());
    System.out.println("SQL State:" + sqle.getSQLState());
    sqle.printStackTrace();
    while ( (sqle = sqle.getNextException()) != null);
    catch (Exception e) {
    System.out.println(e.getMessage());
    e.printStackTrace();

  • CDC for Oracle in SQL 2012 not writing updates

    Hello...
    I have set up a CDC for Oracle Service and Instance for use with SQL 2012.  After the instance was started, I inserted six rows of data into my Oracle table and a few minutes later, it looks like the changes were picked up by the service.
    The instance status page contains the following information:
    Status = Green Checkmark
    Detailed Status = PROCESSING
    Last Transaction Timestamp = 7/22/2014 12:11:56 PM
    Last Change Timestamp = 7/22/2014 11:58:35 AM
    Transaction Log Head Change Number = 0x0A2C1C...
    Transaction Log Tail Change Number = 0x0A2C1C... (not the same value as the head)
    Current Change Number = 0x0A2C1C...
    Active Transactions = 1
    Staged Transactions = 0
    Completed Transactions = 0
    Written Changes = 0
    Read Changes = 6
    It looks like the six rows have been read, but they are not being written to cdc.CDC_TEST_TABLE_CT on my SQL 2012 database.
    I exported the diagnostic data using the "Collect Diagnostics" link, but there are no errors in the log.  Is there a primer for how to read the results of the diagnostics?
    I had the following error earlier today:
    "ORACDC517E:Oracle Call Intreface (OCI) method failed: ORA-01291: missing logfile 
    ORA-06512: at "SYS.DBMS_LOGMNR"
    But that error was resolved when my Oracle account was granted DBA and "execute_catalog_role" permissions.
    The account being used for the CDC Service and Instance has dbo rights on the SQL Server.
    Does anyone have an idea what the problem could be?
    Any help would be greatly appreciated.
    Thanks!

    Arthur, thank you for responding.  I appreciate it! :)
    I followed the instructions from Rakesh Parida's video on Technet.  Below are the individual steps I followed for creating the CDC Service and Instance.
    CDC Service Setup:
    I made sure that supplemental logging was enabled on my Oracle server.  I also made sure that my Windows account had DBA and "execute_catalog_role" permissions on the Oracle database.
    From the CDC Service Config MMC I ran Action>Prepare SQL Server which created the MSXDBCDC database.
    I then ran Action>New Service and entered the following information:
    Service name: OracleCDCService1
    Service Account: "This Account" radio button with my Windows username and password information
    Associated SQL Server: <My SQL 2012 Server>
    Authentication: Windows authentication
    I also provided a CDC Service master password.
    CDC Instance Setup:
    Connected to <My SQL 2012 Server> using the CDC Designer MMC
    Went through the steps of creating the Oracle CDC Instance
    Oracle CDC Instance Name = CDC_TEST_SOURCE
    Connected to my Oracle DB using Windows authentication
    Selected a single table that I wanted to try CDC on and left CDC Gating Role blank
    Ran the Oracle Logging script that enables table logging and supplemental log groups on the Oracle DB
    Ran the Status Check step and all passed
    Finished the wizard and started the instance
    A few minutes after the instance was started I added six records to the table in Oracle.
    Please let me know if you need more info.
    Thanks!

Maybe you are looking for

  • How to send multiple attachment s with a mail??

    Hi, How to send multiple attachments  with a mail?? Situation:: In my case i have 5 internal tables populated dynamically in the report. I want to send them in .TXT format as attachment with 1 mail. Can anybody tell me in 'SO_NEW_DOCUMENT_ATT_SEND_AP

  • Populating error message based on search help

    Hi team, How can we populate error message in a shopping cart account assignment "order " field for the bellow two senarios. I am adding a custom field called "Operational Activity" in account assignment. based on which search help has to be done the

  • Error with boot

    Hi all, i get an error when I start a Sun v240 server. i took this server over from someone else, but can not seem to install the OS. I get the following error when booting : "Boot device: disk File and args: WARNING: unknown command 'B' on line 87 o

  • Starting managed servers from admin console vs. command line

    Will the arguments I enter in the "Arguments" section of the "Server start" admin console page also be used if I start the managed server from the command line using startManagedWeblogic.sh? And conversely, will changes I make to the scripts take eff

  • Lenovo Thinkpad S1 Yoga shutting down automatically near magnetic fields

    Hi, We have a problem with several units of Thinkpad S1 machines 20CD-0038SP, they need to be used near strong magnetic fields, and it seems that they are affecting one or more sensors so the machines are shutting down immediately. Changing the power