LocalStorage not storing between sessions

Hi,
When I load panel whitch conteining below HTML code:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<script src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
   $('#saveButton').click(function(){
   if(window.localStorage){
     var s = $('#text1').val();
     localStorage.setItem("key1", s);
          $('#readButton').click(function(){
     if(window.localStorage){
         window.alert( localStorage.getItem("key1") );
</script>
</head>
<body>
<h3>Web Storage</h3>
<h4>Save data to localstrage</h4>
<div>
<input type="text" id="text1">
<button type="button" id="saveButton">Save</button>
</div>
<h4>Read from localstrage</h4>
<div>
<button type="button" id="readButton">Read</button>
</div>
</body>
</html>
It works properly. But once the panel closed or host application closed, stored values are cleared. It seems to localstrage not keep across sessions.
Web DB also work fine in single transaction, but not keep Database.
Is there any way to keep storages?
Thanks,

Hi,
I'm happy to found localstrage work fine. indexedDB and WebDB also work in CC HTML extensions.
Below images are some test shots:
Ten.

Similar Messages

  • History not retrained between sessions, tho set to do so !?

    Browsing several sites 3 x wk'ly to read commentary,but this history is not retained between sessions tho set to do so as far as I can see after perusing Firefox repeatedly over several wks....not browsing privately , etc....recent trovi malware infestation seems negligible,???, tho I still see it in IE. Any suggestions , Thanks....L F

    In case you are using "Clear history when Firefox closes":
    *do not clear the Browsing History
    *Tools > Options > Privacy > Firefox will: "Use custom settings for history": [X] "Clear history when Firefox closes" > Settings
    *https://support.mozilla.org/kb/remove-browsing-search-and-download-history
    Note that clearing "Site Preferences" clears all exceptions for cookies, images, pop-up windows, software installation, passwords, and other website specific data.
    There is software like Advanced SystemCare with its Surfing Protection feature that can protect files in the Firefox profile folder against changes.
    If you have such software then check the settings or uninstall this software.
    Your System Details list shows that you have a user.js file in the profile folder to initialize prefs each time Firefox starts.
    The user.js file is only present if you or other software has created this file and normally it wouldn't be there.
    You can check its content with a plain text editor (right-click: Open with) if you didn't create this file yourself.
    The user.js file is read each time Firefox is started and initializes preferences to the value specified in this file, so preferences set via user.js can only be changed temporarily for the current session.
    You can use this button to go to the currently used Firefox profile folder:
    *Help > Troubleshooting Information > Profile Directory: Show Folder (Linux: Open Directory; Mac: Show in Finder)
    Delete a possible user.js file and numbered prefs-##.js files and rename (or delete) the prefs.js file to reset all prefs to the default value including prefs set via user.js and prefs that are no longer supported in the current Firefox release.
    *http://kb.mozillazine.org/Preferences_not_saved

  • Session variable not storing in custom trigger

    I have a custom trigger in which I want to store a session variable , so i can use the value in the insert transaction which happens after. But for some reason the session variable is not stored, resulting in the data not being stored.
    any clues would help.
    rudi
    here are the relevant code:
    //start Trigger_Custom_Subject_Mentor trigger
    function Trigger_Custom_Subject_Mentor(&$tNG) {
    //Check subject exists
    @session_start();
    $_SESSION['sb_id'] = $subject_id;
    //end Trigger_Custom_Subject_Mentor trigger
    // Make an insert transaction instance
    $ins_share = new tNG_insert($conn_smart);
    $tNGs->addTransaction($ins_share);
    // Register triggers
    $ins_share->registerTrigger("STARTER", "Trigger_Default_Starter", 1, "POST", "KT_Insert1");
    $ins_share->registerTrigger("END", "Trigger_Redirect", 90);
    // Add columns
    $ins_share->setTable("`share`");
    $ins_share->addColumn("share_item", "NUMERIC_TYPE", "POST", "share_item");
    $ins_share->addColumn("share_subject", "NUMERIC_TYPE", "SESSION", "sb_id");
    $ins_share->setPrimaryKey("share_id", "NUMERIC_TYPE");
    // Register triggers
    $ins_share->registerTrigger("STARTER", "Trigger_Default_Starter", 1, "POST", "KT_Insert1");
    $ins_share->registerTrigger("BEFORE", "Trigger_Custom_Subject_Mentor", 50);
    $ins_share->registerTrigger("END", "Trigger_Default_Redirect", 99, "share.php?item_id={share_item}");

    hi User,
    1) Pull a dummy column in Fx use the Session variable --->(Variable -->session )
    2) Next, goto narrative view in Narrative view section use @1
    3) If u want you can hide the column that we created in criteria section

  • TOC does not retain bookmarking between sessions

    Hello,
    One of my complete courses developed in Captivate for SumTotal LMS is not retaining bookmarking between sessions.
    When you re-enter the course, some of the bookmarking is lost.
    Does anyone know of a fix for this issue?
    Thank you ahead of time.
    Chuck

    Hello Lilybiri,
    Yes, Self Paced Learning is selected in TOC settings.
    The individual that was testing the functionality was viewing the content linear.
    He left the course after viewing about 10 slides out of 85.
    When he returned to the course, the first 10 slides did not have a checkmark.
    It did return him to the spot that he left off, and started placing checkmarks from their.
    No issues with the knowledge checks  or final quiz not working.
    Only issue is that the checkmarks were no longer present for previously viewed section.
    He stated that this is an issue.
    I do not see it as such as long as performance is not compromised.

  • Saving settings between sessions

    I've tried to break this post up into sections for your reading ease.
    The question is relatively simple, but I have a feeling the solution won't be so pleasant.
    Question:
    I have a Java Application that I wish to save various settings from between sessions, so that the next time I start it up, those settings are restored. What would be the best way to do this?
    Solution Ideas:
    If I were programming for windows, the solution would be simple: the registry. But this is a cross-platform application. The obvious alternative would be to store the settings in a file. I can do that, but to have 2 files, one being probably just 2 bytes in size, is not terribly appealing, especially if the user wishes to store the program on the desktop. The third and most appealing option that I thought up would be to store these settings within the Jar file itself, but I have yet to figure out how.
    If anyone has any better suggestions, I would be more than happy to hear them.
    Storing In Jar - What I know and don't know
    As for storing the settings in the JAR, I've been trying various methods to get to the JAR, but have yet to even figure out how to get the JAR's File Location. I know I'm on the right track with the JarFile, JarInputStream, and JarOutputStream classes, but they offer no way to get the current Jar. I've tryed getting the source's location path with this ugly thing:
    getClass().getProtectionDomain().getCodeSource().getLocation().getPath()
    but that just returns the parent folder - not the Jar file
    I've also seen getClass().getResourceAsStream(from) but that's only an InputStream, where there is no desired OutputStream counterpart.
    Much Thanks in advance,
    -IsmAvatar

    That's perfect. Thanks a bunch.
    Does it matter that Preferences and most of the
    methods are Abstract, or is that just there in case
    some class wishes to overwrite those methods or
    something?No it doesn't matter. It's like that because there are many different implementations. The default behaviour on windows is to store the data in the registry.
    Kaj

  • Difference between Session method and call transaction

    Hi,
    please give me the differences between session method and call transaction,
    briefly explaining synchronus , asynchronus, process, update.
    Thanks in advance

    Hi Vijay Kumar
    CLASSICAL BATCH INPUT (Session Method)
    CALL TRANSACTION
    BATCH INPUT METHOD:
    This method is also called as ‘CLASSICAL METHOD’.
    Features:
    Asynchronous processing.
    Synchronous Processing in database update.
    Transfer data for more than one transaction.
    Batch input processing log will be generated.
    During processing, no transaction is started until the previous transaction has been written to the database.
    CALL TRANSACTION METHOD :
    This is another method to transfer data from the legacy system.
    Features:
    Synchronous processing. The system performs a database commit immediately before and after the CALL TRANSACTION USING statement.
    Updating the database can be either synchronous or asynchronous. The program specifies the update type.
    Transfer data for a single transaction.
    Transfers data for a sequence of dialog screens.
    No batch input processing log is generated.
    http://www.sap-img.com/abap/difference-between-batch-input-and-call-transaction-in-bdc.htm
    Among the two methods call transaction is better compared to session bcoz data transfer is faster in it.
    Differences between call transaction and session.
    Session Method:
    1) Data is not updated in the database table until the session is processed.
    2) No sy-subrc is returned.
    3) Error log is created for error records.
    4) Updation is always synchronous.
    Call Transaction Method:
    1) Immediate updation in the database table.
    2) sy-subrc is returned.
    3)Error need to be handled explicitly.
    4) updation can be synchronous as well as asynchronous.
    2) ya u can use using the N mode no screen.
    3)u can't handle multiple transaction in call transaction.
    4) u can handle multiple transaction in session using the BDC_INSERT fm.
    5)When u go to SM35 u can able to see the error records.
    Which is best?
    That depends on your requirement. Both of them have there advantages.
    According to the situation u can choose any one of these.
    difference between batch input and call transaction in BDC Session method.
    1) synchronous processing.
    2) can tranfer large amount of data.
    3) processing is slower.
    4) error log is created
    5) data is not updated until session is processed.
    Call transaction.
    1) asynchronous processing
    2) can transfer small amount of data
    3) processing is faster.
    4) errors need to be handled explicitly
    5) data is updated automatically
    For session method,these are the function modules to b used.
    BDC_OPEN_GROUP
    BDC_INSERT
    BDC_CLOSE_GROUP
    For call transaction,this is the syntax.
    CALL TRANSACTION TCODE USING BDCDATA
    MODE A or E or N
    UPDATE A or S
    MESSAGES INTO MESSTAB.
    Take a scenario where we need to post documents in FB01 and the input file has say 2000 records (2000 documents, not line items in FB01 but 2000 records)
    In the BDC call transaction method
    We call the transaction FB01 2000 times (once for each record posting) and if the processing fails in record no 3 it can be captured and start with reocord 4.
    Eg: Loop at itab.
    call transaction FB01
    capture errors
    endloop.
    In the session method.
    We do not explicity call the transaction 2000 times, but all the records are appeneded into a session and this session is stored. The processinf of the session is done wwhenever the user wants it to be done. Hence the errors cannot be captured in the program itself
    Check these link:
    http://www.sap-img.com/abap/difference-between-batch-input-and-call-transaction-in-bdc.htm
    http://www.sap-img.com/abap/question-about-bdc-program.htm
    http://www.itcserver.com/blog/2006/06/30/batch-input-vs-call-transaction/
    http://www.planetsap.com/bdc_main_page.htm
    Batch Input Session method is asynchronous as told by others here. But the advantage of this is that you have all the error messages and the data for each transaction held persistantly. You don't have to code anything for processing them or writing the logs.
    But at the same time, the same feature can be disadvantageous if you need to react to an error or if there are too many errors to manually correct in a session. Since the session are created in the program and its execution is done seperately, you loose the trackability of such transactions.
    With a call transaction, what was a disadvantage above will become an advantage. Call transaction immediately gives you messages back and you can react to it in your program. But the disadvantage is that, if you have several hundreds of transactions to run, running them from within the program can be resource crunching affair. It will hamper the system performance and you cannot really distribute the load. Of course, you have some mechanisms with which you can overcome this, but you will have to code for it. Also, storing the messages and storing the errored transaction data etc will have to be handled by you in the program. Whereas, in batch input session, your program's job is to just create the session, after that everything is standard SAP system's responsibility.
    Ideally, you should do a call transaction if the resources are not a problem and if it fails, put the errored transaction into a session.
    You can decide based on the data volume that your BDC is processing. If data volume is high go for session else call transaction will do.The call transaction updates will be instantaneous where as session needs to be processed explictly after creation.
    Session Method
    1) Session method supports both small amount of data aswell as large amount of data
    2) data processing is asynchronus and data updation is synchronus.
    3) it process multiple apllication while perfomaning validations.
    4) in session method data will be updated in data base only after processing session only.
    5) system provide by default logfile for handling error records.
    6) it supports both foreground aswell as background process
    in bdc we use FM ...
    bdc_open_group " for creating Session
    bdc_insert " adding transaction and bdcdata table for updating database
    bdc_close_group " for closing Session
    Call Transaction
    1) Call transaction exclusively for small amout of data
    2) it supports only one apllication while perfoming validations
    3) there is no default logfile, We can explicitly provide logic for creating logfile for handling error records.
    we can create logfile by using structure....BDCMSGCOLL
    4) it doesn't support background processing.
    5) data processing is synchronous and Data updation is Synchronous( default), in
    this method also supports daya updation in asynchronus process also.
    syntax:
    Call transaction <transaction-name> using BDCDATA
    mode <A/N/E>
    update <L/A/S>
    messages into BDCMSGCOLL.
    BDC:
    Batch Data Communication (BDC) is the process of transferring data from one SAP System to another SAP system or from a non-SAP system to SAP System.
    Features :
    BDC is an automatic procedure.
    This method is used to transfer large amount of data that is available in electronic medium.
    BDC can be used primarily when installing the SAP system and when transferring data from a legacy system (external system).
    BDC uses normal transaction codes to transfer data.
    Types of BDC :
    CLASSICAL BATCH INPUT (Session Method)
    CALL TRANSACTION
    BATCH INPUT METHOD:
    This method is also called as ‘CLASSICAL METHOD’.
    Features:
    Asynchronous processing.
    Synchronous Processing in database update.
    Transfer data for more than one transaction.
    Batch input processing log will be generated.
    During processing, no transaction is started until the previous transaction has been written to the database.
    CALL TRANSACTION METHOD :
    This is another method to transfer data from the legacy system.
    Features:
    Synchronous processing. The system performs a database commit immediately before and after the CALL TRANSACTION USING statement.
    Updating the database can be either synchronous or asynchronous. The program specifies the update type.
    Transfer data for a single transaction.
    Transfers data for a sequence of dialog screens.
    No batch input processing log is generated.
    For BDC:
    http://myweb.dal.ca/hchinni/sap/bdc_home.htm
    https://www.sdn.sap.com/irj/sdn/wiki?path=/display/home/bdc&
    http://www.sap-img.com/abap/learning-bdc-programming.htm
    http://www.sapdevelopment.co.uk/bdc/bdchome.htm
    http://www.sap-img.com/abap/difference-between-batch-input-and-call-transaction-in-bdc.htm
    http://help.sap.com/saphelp_47x200/helpdata/en/69/c250684ba111d189750000e8322d00/frameset.htm
    http://www.sapbrain.com/TUTORIALS/TECHNICAL/BDC_tutorial.html
    Check these link:
    http://www.sap-img.com/abap/difference-between-batch-input-and-call-transaction-in-bdc.htm
    http://www.sap-img.com/abap/question-about-bdc-program.htm
    http://www.itcserver.com/blog/2006/06/30/batch-input-vs-call-transaction/
    http://www.planetsap.com/bdc_main_page.htm
    call Transaction or session method ?
    Check the following links:
    http://www.sap-img.com/bdc.htm
    See below example code :
    Call three FM : BDC_OPEN_GROUP,BDC_INSERT and BDC_CLOSE_GROUP.
    Once you execute the program and it creates the session at SM35 Transaction.
    Report : ZMPPC011
    Type : Data upload
    Author : Chetan Shah
    Date : 05/05/2005
    Transport : DV3K919557
    Transaction: ??
    Description: This ABAP/4 Program creates new Production Versions
    (C223). It accepts tab-delimited spreadsheet input and
    creates BDC sessions.
    Modification Log
    Date Programmer Request # Description
    06/10/2005 Chetan Shah DV3K919557 Initial coding
    report zmppc011 no standard page heading line-size 120 line-count 55
    message-id zz.
    pool of form routines
    include zmppn001.
    Define BDC Table Structure
    data: begin of itab_bdc_tab occurs 0.
    include structure bdcdata.
    data: end of itab_bdc_tab.
    Input record layout of Leagcy File
    data: begin of itab_xcel occurs 0,
    matnr(18) type c,
    werks(4) type c,
    alnag(2) type c,
    verid(4) type c,
    text1(40) type c,
    bstmi like mkal-bstmi,
    bstma like mkal-bstma,
    adatu(10) type c,
    bdatu(10) type c,
    stlal(2) type c,
    stlan(1) type c,
    serkz(1) type c,
    mdv01(8) type c,
    elpro(4) type c,
    alort(4) type c,
    end of itab_xcel.
    data: begin of lt_pp04_cache occurs 0,
    matnr like itab_xcel-matnr,
    werks like itab_xcel-werks,
    alnag like itab_xcel-alnag,
    plnnr like mapl-plnnr,
    arbpl like crhd-arbpl,
    ktext like crtx-ktext,
    end of lt_pp04_cache.
    data: v_ssnnr(4) type n,
    v_lines_in_xcel like sy-tabix,
    v_ssnname like apqi-groupid,
    v_trans_in_ssn type i,
    wa_xcel LIKE itab_xcel,
    l_tabix like sy-tabix,
    v_matnr like rc27m-matnr,
    v_plnnr like mapl-plnnr,
    v_plnal like mapl-plnal,
    v_tcode like sy-tcode value 'C223',
    v_plnty like plas-plnty value 'R',
    v_objty like crhd-objty value 'A',
    v_plpo_steus like plpo-steus value 'PP04',
    v_verwe like crhd-verwe value '0007'.
    Parameters
    selection-screen: skip 3.
    selection-screen: begin of block 1 with frame.
    parameters: p_name like rlgrap-filename
    default 'C:\My Documents\InputFile.txt'
    obligatory,
    bdc session name prefix
    p_bdcpfx(6) default 'ZPVCRT'
    obligatory,
    number for transction per BDC session
    p_trnssn type i
    default 2000 obligatory,
    retain the BDC session after successfull execution
    p_keep like apqi-qerase
    default 'X',
    user who will be executing BDC session
    p_uname like apqi-userid
    default sy-uname
    obligatory.
    selection-screen: end of block 1.
    possible entry list (F4 dropdown) for input file name
    at selection-screen on value-request for p_name.
    *-SELECT FILE FROM USERS LOCAL PC
    call function 'WS_FILENAME_GET'
    exporting
    DEF_FILENAME = ' '
    def_path = 'C:\Temp\'
    mask = ',.,..'
    mode = 'O'
    title = 'Select File '(007)
    importing
    filename = p_name
    RC =
    exceptions
    inv_winsys = 1
    no_batch = 2
    selection_cancel = 3
    selection_error = 4
    others = 5.
    if sy-subrc 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
    WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    endif.
    begin the show
    start-of-selection.
    read data from input file
    perform transfer_xcel_to_itab.
    loop at itab_xcel.
    hang on to xcel line num
    l_tabix = sy-tabix.
    each line in the xcel file marks begining of new prod.version defn
    if num-of-trnas-in-session = 0, create new BDC session
    if v_trans_in_ssn is initial.
    perform bdc_session_open.
    endif.
    begin new bdc script for rtg create trans
    fill in bdc-data for prod.version maintenance screens
    perform bdc_build_script.
    insert the bdc script as a BDC transaction
    perform bdc_submit_transaction.
    keep track of how many BDC transactions were inserted in the BDC
    session
    add 1 to v_trans_in_ssn.
    if the user-specified num of trans in BDC session is reached OR
    if end of input file is reached, close the BDC session
    if v_trans_in_ssn = p_trnssn or
    l_tabix = v_lines_in_xcel.
    perform bdc_session_close.
    clear v_trans_in_ssn.
    endif.
    endloop.
    top-of-page.
    call function 'Z_HEADER'
    EXPORTING
    FLEX_TEXT1 =
    FLEX_TEXT2 =
    FLEX_TEXT3 =
    FORM TRANSFER_XCEL_TO_ITAB *
    Transfer Xcel Spreadsheet to SAP Internal Table *
    form transfer_xcel_to_itab.
    Read the tab-delimited file into itab
    call function 'WS_UPLOAD'
    exporting
    filename = p_name
    filetype = 'DAT'
    IMPORTING
    filelength = flength
    tables
    data_tab = itab_xcel
    exceptions
    conversion_error = 1
    file_open_error = 2
    file_read_error = 3
    invalid_table_width = 4
    invalid_type = 5
    no_batch = 6
    unknown_error = 7
    others = 8.
    if sy-subrc = 0.
    sort the data
    sort itab_xcel by matnr werks.
    clear v_lines_in_xcel.
    if no data in the file - error out
    describe table itab_xcel lines v_lines_in_xcel.
    if v_lines_in_xcel is initial.
    write: / 'No data in input file'.
    stop.
    endif.
    else.
    if file upload failed - error out
    write: / 'Error reading input file'.
    stop.
    endif.
    endform.
    FORM BDC_SESSION_OPEN *
    Open BDC Session *
    form bdc_session_open.
    create bdc session name = prefix-from-selectn-screen + nnnn
    add 1 to v_ssnnr.
    concatenate p_bdcpfx v_ssnnr into v_ssnname.
    open new bdc session
    call function 'BDC_OPEN_GROUP'
    exporting
    client = sy-mandt
    group = v_ssnname
    keep = p_keep
    user = p_uname
    exceptions
    client_invalid = 1
    destination_invalid = 2
    group_invalid = 3
    group_is_locked = 4
    holddate_invalid = 5
    internal_error = 6
    queue_error = 7
    running = 8
    system_lock_error = 9
    user_invalid = 10
    others = 11.
    endform.
    FORM BDC_BUILD_SCRIPT *
    Build BDC *
    form bdc_build_script.
    data: l_arbpl like crhd-arbpl,
    l_text1 like mkal-text1,
    l_mdv01 like mkal-mdv01,
    l_mapl like mapl.
    clear bdc-data itab - begin of new bdc transaction
    clear itab_bdc_tab.
    refresh itab_bdc_tab.
    read material cross reference tables to determine sap part#
    clear : v_matnr, v_plnnr, v_plnal.
    perform read_matnr_cross_ref using itab_xcel-matnr
    itab_xcel-werks
    changing v_matnr.
    determine the version description to use
    if itab_xcel-text1 is initial.
    l_text1 = itab_xcel-verid.
    else.
    l_text1 = itab_xcel-text1.
    endif.
    determine the routing group# and group ctr# to use
    perform read_routing .
    determine the production line to use
    if itab_xcel-mdv01 is initial.
    if not provided in the file then:
    prod line = work ctr on the last PP04 op of the rtg determined above
    perform read_wc_on_last_pp04 using v_plnnr v_plnal
    changing l_mdv01.
    NOTE: when executing the above form\routine, if v_plnnr is initial
    or v_plnal is initial, THEN l_mdv01 will automatically be
    returned blank (ie initial)
    else.
    l_mdv01 = itab_xcel-mdv01.
    endif.
    build bdc script
    perform bdc_build_script_record
    fill in initial screen
    using: 'X' 'SAPLCMFV' '1000',
    ' ' 'BDC_OKCODE' '=ENTE',
    ' ' 'MKAL-WERKS' itab_xcel-werks,
    ' ' 'MKAL-MATNR' v_matnr,
    ' ' 'MKAL_ADMIN-DISPO' space,
    ' ' 'MKAL-PLNNR' space,
    ' ' 'MKAL_ADMIN-STTAG' space,
    ' ' 'MKAL-PLNNG' space,
    ' ' 'MKAL-MDV01' space,
    ' ' 'MKAL-PLNNM' space,
    click create button on initial screen and go to detail screen
    'X' 'SAPLCMFV' '1000',
    ' ' 'BDC_OKCODE' '=CREA',
    fill in the detail screen and go back to initial screen
    'X' 'SAPLCMFV' '2000',
    ' ' 'BDC_OKCODE' '=CLOS',
    ' ' 'MKAL_EXPAND-MATNR' v_matnr,
    ' ' 'MKAL_EXPAND-VERID' itab_xcel-verid,
    ' ' 'MKAL_EXPAND-TEXT1' l_text1,
    ' ' 'MKAL_EXPAND-BSTMI' itab_xcel-bstmi,
    ' ' 'MKAL_EXPAND-BSTMA' itab_xcel-bstma,
    ' ' 'MKAL_EXPAND-ADATU' itab_xcel-adatu,
    ' ' 'MKAL_EXPAND-BDATU' itab_xcel-bdatu,
    ' ' 'MKAL_EXPAND-PLTYG' v_plnty,
    ' ' 'MKAL_EXPAND-PLNNG' v_plnnr,
    ' ' 'MKAL_EXPAND-ALNAG' v_plnal,
    ' ' 'MKAL_EXPAND-STLAL' itab_xcel-stlal,
    ' ' 'MKAL_EXPAND-STLAN' itab_xcel-stlan,
    ' ' 'MKAL_EXPAND-SERKZ' itab_xcel-serkz,
    ' ' 'MKAL_EXPAND-MDV01' l_mdv01,
    ' ' 'MKAL_EXPAND-ELPRO' itab_xcel-elpro,
    ' ' 'MKAL_EXPAND-ALORT' itab_xcel-alort,
    save the production version from initial screen
    'X' 'SAPLCMFV' '1000',
    ' ' 'BDC_OKCODE' '=SAVE'.
    endform.
    FORM BDC_SUBMIT_TRANSACTION *
    Submit BDC Session *
    form bdc_submit_transaction.
    Load BDC script as a trqansction in BDC session
    call function 'BDC_INSERT'
    exporting
    tcode = v_tcode
    tables
    dynprotab = itab_bdc_tab
    exceptions
    internal_error = 01
    not_open = 02
    queue_error = 03
    tcode_invalid = 04.
    endform.
    FORM BDC_BUILD_SCRIPT_RECORD *
    form bdc_build_script_record using dynbegin name value.
    clear itab_bdc_tab.
    if dynbegin = 'X'.
    move: name to itab_bdc_tab-program,
    value to itab_bdc_tab-dynpro,
    'X' to itab_bdc_tab-dynbegin.
    else.
    move: name to itab_bdc_tab-fnam,
    value to itab_bdc_tab-fval.
    shift itab_bdc_tab-fval left deleting leading space.
    endif.
    append itab_bdc_tab.
    endform.
    FORM BDC_SESSION_CLOSE *
    Close BDC Session *
    form bdc_session_close.
    close the session
    call function 'BDC_CLOSE_GROUP'
    exceptions
    not_open = 1
    queue_error = 2
    others = 3.
    skip 2.
    if sy-subrc ne 0.
    write: / 'Error Closing BDC Session ' , 'RETURN CODE: ', sy-subrc.
    else.
    write : / 'Session created:', v_ssnname,
    50 '# of transactions:', v_trans_in_ssn.
    endif.
    endform.
    *& Form read_routing_cache
    *FORM read_routing_cache USING pi_matnr
    pi_werks
    pi_alnag
    pi_verid
    pi_mdv01.
    DATA: BEGIN OF lt_plpo OCCURS 0,
    vornr LIKE plpo-vornr,
    objty LIKE crhd-objty,
    objid LIKE crhd-objid,
    arbpl LIKE crhd-arbpl,
    END OF lt_plpo,
    l_mapl_plnnr LIKE mapl-plnnr.
    determine the routing group#
    CLEAR lt_pp04_cache.
    chk if its in the cache first, if not then get it from MAPL table
    and put it in the cache
    READ TABLE lt_pp04_cache WITH KEY matnr = pi_matnr
    werks = pi_werks
    alnag = pi_alnag.
    IF sy-subrc = 0.
    do nothing - lt_pp04_cache header line has rtg#
    ELSE.
    get the routing group # from MAPL
    SELECT plnnr INTO l_mapl_plnnr
    FROM mapl UP TO 1 ROWS
    WHERE matnr = pi_matnr AND
    werks = pi_werks AND
    plnty = 'R' AND
    plnal = pi_alnag AND
    loekz = space.
    ENDSELECT.
    put it in the cache internal table
    IF NOT l_mapl_plnnr IS INITIAL.
    lt_pp04_cache-matnr = pi_matnr.
    lt_pp04_cache-werks = pi_werks.
    lt_pp04_cache-alnag = pi_alnag.
    lt_pp04_cache-plnnr = l_mapl_plnnr.
    APPEND lt_pp04_cache.
    ENDIF.
    ENDIF.
    if the rtg# was determined AND
    -- the work center was not determined yet AND
    -- work center was really needed for this line in the input file
    then
    -- read the work center from last PP04 operation on the routing
    -- update the cache accordingly
    IF NOT lt_pp04_cache-plnnr IS INITIAL AND
    lt_pp04_cache-arbpl IS INITIAL AND
    ( pi_verid IS INITIAL OR
    pi_mdv01 IS INITIAL ).
    read the last PP04 operation
    CLEAR lt_plpo.
    REFRESH lt_plpo.
    SELECT vornr eobjty eobjid e~arbpl
    INTO CORRESPONDING FIELDS OF TABLE lt_plpo
    FROM plas AS b
    INNER JOIN plpo AS c
    ON bplnty = cplnty AND
    bplnnr = cplnnr AND
    bzaehl = czaehl
    INNER JOIN crhd AS e
    ON carbid = eobjid
    WHERE b~plnty = v_plnty AND
    b~plnnr = lt_pp04_cache-plnnr AND
    b~plnal = lt_pp04_cache-alnag AND
    c~loekz = space AND
    c~steus = v_plpo_steus AND
    e~objty = v_objty AND
    e~werks = lt_pp04_cache-werks AND
    e~verwe = v_verwe.
    SORT lt_plpo BY vornr DESCENDING.
    READ TABLE lt_plpo INDEX 1.
    IF NOT lt_plpo-arbpl IS INITIAL.
    lt_pp04_cache-arbpl = lt_plpo-arbpl.
    read work center description
    SELECT SINGLE ktext INTO lt_pp04_cache-ktext
    FROM crtx WHERE objty = lt_plpo-objty AND
    objid = lt_plpo-objid AND
    spras = sy-langu.
    the following read will get the index of the correct record to be
    updated in the cache
    READ TABLE lt_pp04_cache
    WITH KEY matnr = pi_matnr
    werks = pi_werks
    alnag = pi_alnag.
    MODIFY lt_pp04_cache
    INDEX sy-tabix
    TRANSPORTING arbpl ktext.
    ENDIF.
    ENDIF.
    *ENDFORM. " read_last_pp04_operation_cache
    *& Form read_routing
    form read_routing.
    data: begin of lt_mapl occurs 0,
    plnnr like mapl-plnnr,
    plnal like mapl-plnal,
    end of lt_mapl,
    l_arbpl like crhd-arbpl.
    get all the rtg# and grp ctr# from MAPL
    select plnnr plnal
    into corresponding fields of table lt_mapl
    from mapl
    where matnr = v_matnr and
    werks = itab_xcel-werks and
    plnty = v_plnty and "Rate Routing
    loekz = space. "with del flag = OFF
    sort lt_mapl by plnal.
    if not itab_xcel-verid is initial.
    if the verid=0001 then use the 1st good rtg-grp# and grp-ctr#
    if itab_xcel-verid = '0001'.
    read table lt_mapl index 1.
    v_plnnr = lt_mapl-plnnr.
    v_plnal = lt_mapl-plnal.
    else.
    if the verid0001 then use the rtg-grp# and grp-ctr# of the routing
    whose work center on the last PP04 operation matches the given verid
    loop at lt_mapl.
    clear l_arbpl.
    get the work center from the last PP04 operation
    perform read_wc_on_last_pp04 using lt_mapl-plnnr
    lt_mapl-plnal
    changing l_arbpl.
    if itab_xcel-verid = l_arbpl.
    v_plnnr = lt_mapl-plnnr.
    v_plnal = lt_mapl-plnal.
    exit.
    endif.
    endloop.
    endif.
    else.
    do nothing
    endif.
    For version IDs that are other then '0000' or 'ZWIP' :--
    if itab_xcel-verid NE '0000' and
    itab_xcel-verid NE 'ZWIP'.
    if routing group# or group counter was not determined, make the
    valid-to date 99/99/9999 so that the BDC, on execution, errors out.
    if v_plnnr is initial or
    v_plnal is initial.
    itab_xcel-bdatu = '99/99/9999'.
    endif.
    endif.
    determine the routing group#
    CLEAR lt_pp04_cache.
    chk if its in the cache first, if not then get it from MAPL table
    and put it in the cache
    READ TABLE lt_pp04_cache WITH KEY matnr = pi_matnr
    werks = pi_werks
    alnag = pi_alnag.
    IF sy-subrc = 0.
    do nothing - lt_pp04_cache header line has rtg#
    ELSE.
    get the routing group # from MAPL
    put it in the cache internal table
    IF NOT l_mapl_plnnr IS INITIAL.
    lt_pp04_cache-matnr = pi_matnr.
    lt_pp04_cache-werks = pi_werks.
    lt_pp04_cache-alnag = pi_alnag.
    lt_pp04_cache-plnnr = l_mapl_plnnr.
    APPEND lt_pp04_cache.
    ENDIF.
    ENDIF.
    if the rtg# was determined AND
    -- the work center was not determined yet AND
    -- work center was really needed for this line in the input file
    then
    -- read the work center from last PP04 operation on the routing
    -- update the cache accordingly
    IF NOT lt_pp04_cache-plnnr IS INITIAL AND
    lt_pp04_cache-arbpl IS INITIAL AND
    ( pi_verid IS INITIAL OR
    pi_mdv01 IS INITIAL ).
    read the last PP04 operation
    CLEAR lt_plpo.
    REFRESH lt_plpo.
    SELECT vornr eobjty eobjid e~arbpl
    INTO CORRESPONDING FIELDS OF TABLE lt_plpo
    FROM plas AS b
    INNER JOIN plpo AS c
    ON bplnty = cplnty AND
    bplnnr = cplnnr AND
    bzaehl = czaehl
    INNER JOIN crhd AS e
    ON carbid = eobjid
    WHERE b~plnty = v_plnty AND
    b~plnnr = lt_pp04_cache-plnnr AND
    b~plnal = lt_pp04_cache-alnag AND
    c~loekz = space AND
    c~steus = v_plpo_steus AND
    e~objty = v_objty AND
    e~werks = lt_pp04_cache-werks AND
    e~verwe = v_verwe.
    SORT lt_plpo BY vornr DESCENDING.
    READ TABLE lt_plpo INDEX 1.
    IF NOT lt_plpo-arbpl IS INITIAL.
    lt_pp04_cache-arbpl = lt_plpo-arbpl.
    read work center description
    SELECT SINGLE ktext INTO lt_pp04_cache-ktext
    FROM crtx WHERE objty = lt_plpo-objty AND
    objid = lt_plpo-objid AND
    spras = sy-langu.
    the following read will get the index of the correct record to be
    updated in the cache
    READ TABLE lt_pp04_cache
    WITH KEY matnr = pi_matnr
    werks = pi_werks
    alnag = pi_alnag.
    MODIFY lt_pp04_cache
    INDEX sy-tabix
    TRANSPORTING arbpl ktext.
    ENDIF.
    ENDIF.
    endform. " read_last_pp04_operation_cache
    *& Form read_wc_on_last_pp04
    form read_wc_on_last_pp04 using pi_plnnr
    pi_plnal
    changing pe_arbpl.
    data: begin of lt_plpo occurs 0,
    vornr like plpo-vornr,
    objty like crhd-objty,
    objid like crhd-objid,
    arbpl like crhd-arbpl,
    end of lt_plpo.
    get all the PP04 operations for the given rtg# & grp-ctr#
    select vornr eobjty eobjid e~arbpl
    into corresponding fields of table lt_plpo
    from plas as b
    inner join plpo as c
    on bplnty = cplnty and
    bplnnr = cplnnr and
    bzaehl = czaehl
    inner join crhd as e
    on carbid = eobjid
    where b~plnty = v_plnty and "Rate Routing
    b~plnnr = pi_plnnr and
    b~plnal = pi_plnal and
    c~loekz = space and "Oper Del Flag = OFF
    c~steus = v_plpo_steus and "PP04
    e~objty = v_objty. "WC Obj Type = 'A'
    read the last operation
    sort lt_plpo by vornr descending.
    read table lt_plpo index 1.
    pe_arbpl = lt_plpo-arbpl.
    endform. " read_wc_on_last_pp04
    Goto LSMW-> Select Direct Input method in 1st step. These are the standard programs for data transfer.
    Otherwise goto SPRO->SAP Reference IMG-> Under this you'll find standard data transfer programs module wise.
    Reward points,
    Shakir

  • Call PL/SQL Procedure (not stored) from SQLPLUS

    Hello,
    the following code creates a stored procedure and allows to call the procedure from SQLPLUS using EXEC.
    CREATE or REPLACE PROCEDURE welcome IS
    BEGIN
        dbms_output.put_line('Welcome user ' || user);
    END;
    exec welcome;I would like to do the same without storing the procedure. The procedure should be defined in an PL/SQL-Script and called in a SQLPLUS loop. On the one hand I do not have the privileges to create stored procdures. On the other hand I want to use put_line in the loop. Without passing control to SQLPLUS (e.g. the loop-master) all output is kept in the buffer and no information are shown during processing the data.
    Regards, Rainer

    netaktiv wrote:
    There should be a repair job updating many hundredthousends records. A script should be created and called only once and the calling user should be informed about the processing status. There is no need for heavy output, but after 5000 or 10000 records I would like to display a message saying nnnnn records processed.Then you need another mechanism to report the current status to the user.
    You cannot use the current session to do that. Sessions are serialised. That means they can do only service a single request at a time. So if the session executes procedure foo that updates 100's of 1000's of rows - then that is what the process will be doing. The procedure can only report back to the client after it has completed. It cannot interact directly with the client during the executing of that procedure.
    This means that if you want to actually send a notification to the client, you need to do that via a separate session. E.g. the 1st session executes procedure foo that performs the update. That procedure sends a notification (using DBMS_ALERT or DBMS_PIPE for example) to the 2nd session - where the 2nd session receives the asynchronous notification and reports that to the user.
    Another method would be for the update procedure to register a long operation using DBMS_APPLICATION_INFO. This enables another session to view the status and progress of the update procedure via virtual (v$) performance views.
    Another method would be for the client session not to start the update procedure itself. Instead it can schedule a background job (using DBMS_JPB or DBMS_SCHEDULER interfaces) - and then monitor the status of the job.
    Also suggest that you spend some time familiarising yourself with application developer fundamentals and concepts for Oracle. There are guides for both at http://tahiti.orcacle.com for the Oracle version you use. You cannot correctly use Oracle if you do not understand how Oracle works and what the application development features are. And your current approach using DBMS_OUTPUT is pretty much flawed and not how Oracle sessions should report their processing status to a client.

  • Problem - Values are not stored into Tables when value are accepted from us

    // jsp code
    <%@ page import="java.util.Enumeration" %>
    <%@ page import="java.util.Vector" %>
    <%@ page import="java.util.*" %>
    <%@ page import="java.lang.*" %>
    <%@ page import="java.sql.*" %>
    <%@ page import="beans.register2" %>
    <jsp:useBean id="registerbn" scope= "session" class="beans.register2" />
    <% String base = (String) session.getAttribute("base");
    registerbn.setDburl((String)session.getAttribute("dbUrl"));
    registerbn.setDbuser((String)session.getAttribute("dbUserName"));
    registerbn.setDbpasswd((String)session.getAttribute("dbPassword"));
    System.out.println("Inside jsp - setMembers of promotion successful");
    // registerbn.setMembers1();
    System.out.println("after setting");
    %>
    <%
    String action=request.getParameter("action");
    %>
    <HTML>
    <HEAD>
    <TITLE> TIFR INTRANET </TITLE>
    </HEAD>
    <HEAD>
    <script language="JavaScript1.2">
    //some validations functions
    </script>
    </head>
    <body>
    <table valign="top" align="top">
    <TR>
    <TD COLSPAN="100%"><jsp:include page="Header.jsp" flush="true"/></TD>
    </TR>
    <TR>
    <TD align="top" valign="top"><jsp:include page="menu.jsp" flush="true"/>
    <font face="arial" size="1">
    site developed by ADPCell TIFR
    </font>
    </td>
    <td>
    <table cellpadding="2" cellspacing="3" width="40%">
    <form method="post" action="./beans.register2">
    <td width="40" align="center"
    <font face="arial" size="5" align="right">
    <b>
    Registration <hr> </hr>
    </b>
    </font>
    <br>
    </td>
    <tr valign="center" width="80%">
    <td width="40%">
    <b><font face="Arial" size="2">IdCode </b> </font>
    </td>
    <td width="40%">
    <b><font face="Arial" size="2">
    <input type="text" name="idcode" size="6" style="border-style:solid" value="">
    </font></b>
    </td>
    </tr>
    <tr width="80%">
    <td width="40%">
    <b><font face="Arial" size="2">User </font></B></td>
    <td width="40%">
    <input type="text" name="user" size="12" style="border-style: solid" value="">
    </font></b></td>
    </tr>
    <tr width="80%">
    <td width="40%">
    <b><font face="Arial" size="2">Password </font></B></td>
    <td width="40%">
    <input type="password" name="password" size="25" tabindex="20" style="border-style: solid" width="12" value="">
    </font></b></td>
    </tr>
    <tr width="80%">
    <td width="40%">
    <b><font face="Arial" size="2">Section code </font></b></td>
    <td width="40%">
    <select size="1" name="section_code" tabindex="9"
    style="border-style: solid">
    <%@ include file="section.txt" %>
    <!-- left for password -->
    1)
    <tr width="80%">
    <td width="40%">
    <b><font face="Arial" size="2">Category </font> </b></td>
    <td width="80%">
    <font face="arial" size="2"> <b>
    <input type="radio" name="Category" value="General">General
    <input type="radio" name="Category" Value="Operators">Operators
    <input type="radio" name="Category" Value="Heads">Heads<BR>
    </b> </font>
    </td>
    </tr>
    <tr width="80%">
    <td width="40%">
    <b><font face="Arial" size="2">Budget Category </font> <b> </td>
    <td width="40%">
    <font face="Arial" size="2"> <b>
    <input type="radio" name="BCategory" value="General">BGeneral
    <input type="radio" name="BCategory" Value="Operators">Operators
    <input type="radio" name="BCategory" Value="Head">Head
    </td>
    </tr>
    <tr width="80%">
    <td width="40%">
    <b><font face="Arial" size="2">Budget Heads
    </font></b></td>
    <td width="40%">
    <b><font face="Arial" size="4">
    <textarea rows="2" name="Bheads" cols="20" size="100"
    style="border-style: solid">
    </textarea></font></b></td></tr>
    <tr width="80%">
    <td width="40%">
    <b><font face="Arial" size="2">Other Category</font></b></td>
    <td width="40%">
    <b><font face="Arial" size="2">
    <select size="1" name="OtherCategory" tabindex="20" style="border-style:
    solid" size="2"><OPTION value="EH">EH
    <OPTION value="EO">EO
    <OPTION value="FH">FH
    <OPTION value="FO">FO
    <OPTION value="AO">AO
    <OPTION value="AH">AH
    </select></font></b></td>
    </tr>
    <tr width="80%">
    <td width="40%">
    <b><font face="Arial" size="2">email </font></b></td>
    <td width="40%">
    <b><font face="Arial" size="2">
    <input type="text" name="email" size="20" style="border-style:
    solid" width="6">
    </font></b></td>
    </tr>
    <tr width="80%">
    <td width="40%">
    <font face="Arial" size="2"><b>Dob </font></b></td>
    <td width="40%">
    <font face="Arial" size="2"><b>
    <select size="1" name="day" style="border-style: solid"><OPTION value="0">Day
    <% int i;
    for(i=1;i<=31;i++)
    out.print("<OPTION VALUE=\""+i+"\">"+i+"</option>");
    %>
    </select>  
    <select size="1" name="month" style="border-style: solid" ><OPTION value="0">Month
    <OPTION value="1" >January
    <OPTION value="2" >February
    <OPTION value="3" >March
    <OPTION value="4" >April
    <OPTION value="5" >May
    <OPTION value="6" >June
    <OPTION value="7" >July
    <OPTION value="8" >August
    <OPTION value="9" >September
    <OPTION value="10">October
    <OPTION value="11">November
    <OPTION value="12">December
    </select>
    <select size="1" name="year" style="border-style: solid">
    <% int j;
    for(j=1950;j<=2000;j++)
    out.print("<option value=\""+j+"\">"+j+"</option>");
    %>
    </select></b></font></td>
    </tr>
    <br> <br>
    <tr width="80%">
    <td width="40%">
    <b><font face="Arial" size="2">Date of Join
    </font></b></td>
    <td width="40%">
    <b><font face="Arial" size="2">
    <select size="1" name="day1" style="border-style: solid"><OPTION value="0">Day
    <% int k;
    for(k=1;k<=31;k++)
    out.print("<OPTION VALUE=\""+k+"\">"+k+"</option>");
    %>
    </select>
    <select size="1" name="month1" style="border-style: solid" ><OPTION value="0">Month
    <OPTION value="1" >January
    <OPTION value="2" >February
    <OPTION value="3" >March
    <OPTION value="4" >April
    <OPTION value="5" >May
    <OPTION value="6" >June
    <OPTION value="7" >July
    <OPTION value="8" >August
    <OPTION value="9" >September
    <OPTION value="10" >October
    <OPTION value="11" >November
    <OPTION value="12" >December
    </select> 
    <select size="1" name="year1" style="border-style: solid">
    <% int l;
    for(l=1950;l<=2000;l++)
    out.print("<OPTION VALUE=\""+l+"\">"+l+"</option>");
    %>
    </select>
    </b></font></td>
    </tr>
    </table>
    <table cellpadding="2" cellspacing="3" width="40%" >
    <tr width="100%">
    <td width="30%">
    <input type="Submit" value="Submit" name="B1" > </td>
    <td width="40%">
    <input type="reset" value="Reset" name="B2"></td>
    <%
    //String action=request.getParameter("Submit1");
    if(action!=null && action.equals("Submit"))
    try{
    String idcode=request.getParameter("idcode");
    String user=request.getParameter("user");
    String password=request.getParameter("password");
    String seccode=request.getParameter("section_code");
    String Category=request.getParameter("Category");
    String BCategory=request.getParameter("BCategory");
    String Bheads=request.getParameter("Bheads");
    String OtherCategory=request.getParameter("OtherCategory");
    String email=request.getParameter("email");
    String day=request.getParameter("day");
    String month=request.getParameter("month");
    String year=request.getParameter("year");
    String Dob=day+"/"+month+"/"+year;
    String day1=request.getParameter("day1");
    String month1=request.getParameter("month1");
    String year1=request.getParameter("year1");
    String Doj=day1+"/"+month1+"/"+year1;
    registerbn.setIdcode("idcode");
    registerbn.setUser("user");
    registerbn.setPasswd("password");
    registerbn.setSec_code("seccode");
    registerbn.setCategory("Category");
    registerbn.setBut_cat("BCategory");
    registerbn.setBut_heads("Bheads");
    registerbn.setOther_Category("OtherCategory");
    registerbn.setEmail("email");
    registerbn.setDob("Dob");
    registerbn.setDoj("Doj");
    registerbn.saveData();
    }catch(Exception ex)
    out.println("ERROR :has occured ");
    %>
    </table>
    </table>
    </table>
    </form>
    </td>
    </tr>
    <jsp include page="Footer.jsp" flush="true"/>
    ------------------ End of JSP Programs ----------------
    // Beans Code
    package beans;
    import java.util.*;
    import java.util.Date;
    import java.util.Vector;
    import java.sql.*;
    public class register
    private String idcode;
    private String user;
    private String passwd;
    private String sec_code;
    private Vector sec_names;
    private String category;
    private String bud_cat;
    private String bud_heads;
    private String other_category;
    private String email;
    private String dob;
    private String doj;
    private String ent_dt;
    private String act_dt;
    private String dbUrl=null;
    private String dbUser=null;
    private String dbPassword=null;
    public void setDburl(String u)
    dbUrl=u;
    public void setDbuser(String us)
    dbUser=us;
    public void setDbpasswd(String Pass)
    dbPassword=Pass;
    public String getIdcode()
    return idcode;
    public void setIdcode(String i)
    idcode=i;
    public String getUser()
    return user;
    public void setUser(String u)
    user=u;
    public String getPasswd()
    return passwd;
    public void setPasswd(String p)
    passwd=p;
    public Vector getSec_names()
    return sec_names;
    public void setSec_names()
    // This function should select valid section code from the database and then populate the sec_names vector.
    public String getSec_code()
    return sec_code;
    public void setSec_code(String s)
    sec_code=s;
    public String getCategory()
    return category;
    public void setCategory(String c)
    category=c;
    public String getBud_cat()
    return bud_cat;
    public void setBud_cat(String b)
    bud_cat=b;
    public String getBud_heads()
    return bud_heads;
    public void setBud_heads(String b)
    bud_heads=b;
    public String getOther_Category()
    return other_category;
    public void setOther_category(String o)
    other_category=o;
    public String getEmail()
    return email;
    public void setEmail(String s)
    email=s;
    public String getDob()
    return dob;
    public void setDob(String d)
    dob=d;
    public String getDoj()
    return doj;
    public void setDoj(String d)
    doj=d;
    public String getAct_dt()
    return act_dt;
    public void setAct_dt(String d)
    act_dt=d;
    public void setMembers()
    Connection conn;
    Statement stmt;
    String query="Select sec_code from web.section";
    sec_details=new Vector();
    try
    conn=DriverManager.getConnection(dbUrl, dbUser, dbPassword);
    System.out.println("connected");
    stmt=conn.createStatement();
    System.out.println("Statement Created");
    ResultSet rs=stmt.executeQuery(query);
    do
    String seccode=rs.getString(1);
    sec_details.addElement(seccode);
    }while(rs.next());
    rs.close();
    stmt.close();
    conn.close();
    }catch(SQLException e)
    System.out.println("Execution Occured" +e);
    catch(Exception e)
    System.out.println("Execution Occured" +e);
    public void saveData()
    Connection conn;
    Statement stmt;
    String id=getIdcode();
    String use=getUser();
    String pass=getPasswd();
    String mail=getEmail();
    String sec=getSec_code();
    String cat=getCategory();
    String oth=getOther_Category();
    String bud=getBud_cat();
    String dob1=getDob();
    String doj1=getDoj();
    String budh=getBud_heads();
    String query="insert into wb_register " + "(idcode, user, passwd, sec_code, category, bud_cat, bud_heads, other_category, email , dob, doj, ent_dt)" + " values('"+id+"','"+use+"','"+pass+"','"+sec+"','"+cat+"','"+bud+"','" budh"','" oth"','"+mail+"','"+dob1+"','"+doj1+"','"+"Sysdate"+"')";
    try
    conn=DriverManager.getConnection(dbUrl,dbUser,dbPassword);
    System.out.println("connected");
    stmt=conn.createStatement();
    stmt.executeUpdate(query);
    stmt.close();
    conn.close();
    catch(SQLException e)
    System.out.println("Exception occured" +e);
    catch(Exception er)
    System.out.println("Exception occured" +er);
    ------------------------End of Beans Program ---------------
    Questions:-
    1) when we are submitting values to form it is not stored into backend (Oracle 9i)
    2) please send some source code for how to fetch values from backend and wants stored into Combo box /select Box
    3) We have faced problem of How call methods of Bean program into JSP programs

    The code to get the values from the database and store them in the combo box or select box would be as follows:
    <%
    zSQL = "select id, name from Users"
    rs = Con.ExecuteQuery(zSQL);
    if(!rs.next()) {
    %>
    <select name="id">
    <option value="0">select the name</option>
    <%
    do {
    %>
    <option value="<%= rs.getString(1) %>"><%= rs.getString(2) %></option>
    <%
    while (rs.next());
    %>
    </select>
    <%
    else {
    out.println("No Record Found");
    %>
    This would help you better.
    and for your first question, please check whether u are able to connect database with your connection method. if you are able to connect to the database, then please check the values (print them on the browser) which are posted from form, if it is also correct then check you r insert statement.
    and for your last question the best tutorial is JAVA API.
    Cheers!
    Rambee

  • How to create 'NOT in between' dashboard prompt on a column

    Hello Guys,
    I have a simple request where the dashboard prompt has to send in data for 'NOT in between'. OBIEE does not give this option by default..
    Any one who tried this .. can you please help with some pointers on this.
    Column1 less than 100 or greater than 2000 --> This condition has to be sent from the dashboard. So my option in SQL is to use NOT in between 100 and 2000.
    Thanks in advance
    Kris

    Hi kris,
    in the prompts you will have not between condition check out....if not write a SQL like this for the prompt
    SELECT FROM table_name WHERE column_name not between 100 and 2000*
    (OR)
    SELECT FROM table_name WHERE column_name >= 100 AND column_name<= 2000*
    you want values in that range then the SQL should be
    SELECT FROM table_name WHERE column_name between 100 and 2000*
    check this article
    http://oraclebizint.wordpress.com/2008/02/26/oracle-bi-ee-101332-between-prompts-for-date-columns-using-presentation-variables
    UPDATED POST
    in place of constant values play with your session variables or Presentation variables by writing this above SQL according to your requirment and you would get your solution.Give a try then comment is it working or not.
    Hope answers your question.
    Cheers,
    KK
    Edited by: Kranthi on Jan 24, 2011 10:43 PM

  • Toplink Optimistic Locking not working with Session Bean facade.

    I am working on Oracle JDeveloper v 10.1.2 and connecting to an Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit
    The application is based on J2EE architecture and the technology stack uses Struts for presentation/controller framework, Stateless Session EJBs as session facade for custom business services, Simple java classes for the business services, Toplink implementation of DAO layer, Domain objects are mapped to database tables using Toplink Workbench that ships with JDeveloper. The transaction is managed by the session bean and hence the toplink session is configured to use external transaction controller and a named datasource as follows.
    <session xsi:type="server-session">
    <name>DBSession</name>
    <server-platform xsi:type="oc4j-1012-platform"/>
    <event-listener-classes/>
    <logging xsi:type="toplink-log">
    <log-level>fine</log-level>
    <file-name>D:/ToplinkLog.log</file-name>
    </logging>
    <primary-project xsi:type="xml">META-INF/toplink-descriptor.xml</primary-project>
    <login xsi:type="database-login">
    <platform-class>oracle.toplink.platform.database.oracle.Oracle10Platform</platform-class>
    <external-connection-pooling>true</external-connection-pooling>
    <external-transaction-controller>true</external-transaction-controller>
    <sequencing>
    <default-sequence xsi:type="native-sequence">
    <name>Native</name>
    <preallocation-size>1</preallocation-size>
    </default-sequence>
    </sequencing>
    <datasource>jdbc/ORADS</datasource>
    </login>
    </session>
    We intend to use Optimistic Locking based on Timestamp-version locking through an audit field "last_modification_date" of type java.sql.Timestamp. The corresponding database field is also of type Timestamp(6). We are not storing the version in cache.
    The problem we are facing is as follows.. we have an edit screen from where user can edit values for a domain object which are then persisted using Toplink...we expect Toplink to check the database record version (modification_date timestamp) before it applies the update. In DAO implementation, we register the object in a unitOfWork, then set the modified values, however we leave the modification_date (version field) unedited. Now when the application is running, on edit, an exception is thrown by the Session bean before ending the transaction.
    com.evermind.server.rmi.OrionRemoteException: Transaction was rolled back: Error in transaction: java.lang.NullPointerException
         at TrackingMediator_StatelessSessionBeanWrapper2.editOverheadExpenditure(TrackingMediator_StatelessSessionBeanWrapper2.java:1597)
         at com.enbridge.dsm.web.action.TrackingPortfolioAction.editOverheadExpenditure(TrackingPortfolioAction.java:264)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java)
         at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:278)
         at com.enbridge.dsm.web.shared.BaseAction.execute(BaseAction.java:90)
         at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:465)
         at com.enbridge.dsm.web.shared.DSMPojoRequestProcessor.process(DSMPojoRequestProcessor.java:182)
         at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1425)
         at com.sourcebeat.strutslive.common.SLActionServlet.process(SLActionServlet.java:44)
         at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
         at oracle.security.jazn.oc4j.JAZNFilter.doFilter(Unknown Source)
         at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:16)
         at com.enbridge.dsm.web.shared.security.SecurityFilter.doFilter(SecurityFilter.java:142)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:645)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:322)
         at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:790)
         at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:270)
         at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:112)
         at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:192)
         at java.lang.Thread.run(Thread.java:534)
         Nested exception is:
    java.lang.NullPointerException
         at oracle.jdbc.driver.PhysicalConnection.commit(PhysicalConnection.java:1190)
         at com.evermind.sql.FilterConnection.commit(FilterConnection.java:209)
         at com.evermind.sql.DriverManagerXAConnection.commit(DriverManagerXAConnection.java:203)
         at com.evermind.server.TransactionEnlistment.commit(TransactionEnlistment.java:251)
         at com.evermind.server.ApplicationServerTransaction.singlePhaseCommit(ApplicationServerTransaction.java:745)
         at com.evermind.server.ApplicationServerTransaction.commit(ApplicationServerTransaction.java:690)
         at com.evermind.server.ApplicationServerTransaction.end(ApplicationServerTransaction.java:1035)
         at TrackingMediator_StatelessSessionBeanWrapper2.editOverheadExpenditure(TrackingMediator_StatelessSessionBeanWrapper2.java:1593)
         at com.enbridge.dsm.web.action.TrackingPortfolioAction.editOverheadExpenditure(TrackingPortfolioAction.java:264)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java)
         at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:278)
         at com.enbridge.dsm.web.shared.BaseAction.execute(BaseAction.java:90)
         at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:465)
         at com.enbridge.dsm.web.shared.DSMPojoRequestProcessor.process(DSMPojoRequestProcessor.java:182)
         at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1425)
         at com.sourcebeat.strutslive.common.SLActionServlet.process(SLActionServlet.java:44)
         at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
         at oracle.security.jazn.oc4j.JAZNFilter.doFilter(Unknown Source)
         at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:16)
         at com.enbridge.dsm.web.shared.security.SecurityFilter.doFilter(SecurityFilter.java:142)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:645)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:322)
         at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:790)
         at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:270)
         at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:112)
         at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:192)
         at java.lang.Thread.run(Thread.java:534)
    Note that the exception is thrown at the time when the session bean is about to commit the transaction. i.e. the DAO code did not throw any exception and was able to check the optimistic locking and submit the update transaction.
    I am not able to understand why is the the EJB throwing this weird error with Optimistic locking implementation. The application is working fine when the optimistic locking is disabled.
    I am facing another problem due to this problem... since the session bean throws this exception after exiting the bean implemented method, when trying to commit the transaction, I am not able to mark the session context to setRollbackOnly. Hence if I continue on to another transaction by navigating to another screen in the application, mysteriously the previous transaction gets committed!!... again... weird...

    I am using JDBC driver version 10.1.2.
    I saw this additional error message in JDeveloper console, which for some reason was not logged to my log4j log file... if it helps...
    06/09/22 18:32:10 Thr[thread 6]-TransactionEnlistment.TransactionEnlistment.Caught forgetandRollback XAException e null
    Here are the logs from my Toplink log file....
    [TopLink Info]: 2006.09.22 06:31:46.546--ServerSession(989)--Thread(Thread[HttpRequestHandler-86,5,main])--TopLink, version: Oracle TopLink - 10g Release 3 (10.1.3.0.0) (Build 060118)
    [TopLink Info]: 2006.09.22 06:31:46.578--ServerSession(989)--Thread(Thread[HttpRequestHandler-86,5,main])--Server: Oracle Application Server Containers for J2EE 10g (10.1.2.0.0)
    [TopLink Config]: 2006.09.22 06:31:46.593--ServerSession(989)--Connection(991)--Thread(Thread[HttpRequestHandler-86,5,main])--connecting(DatabaseLogin(
         platform=>Oracle10Platform
         user name=> ""
         connector=>JNDIConnector datasource name=>jdbc/ORADS
    [TopLink Config]: 2006.09.22 06:31:47.484--ServerSession(989)--Connection(1432)--Thread(Thread[HttpRequestHandler-86,5,main])--Connected: jdbc:oracle:thin:@10.210.16.37:1521:orabld
         User: APP_USR
         Database: Oracle Version: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
    With the Partitioning, OLAP and Data Mining options
         Driver: Oracle JDBC driver Version: 10.1.0.3.0
    [TopLink Config]: 2006.09.22 06:31:47.500--ServerSession(989)--Connection(1433)--Thread(Thread[HttpRequestHandler-86,5,main])--connecting(DatabaseLogin(
         platform=>Oracle10Platform
         user name=> ""
         connector=>JNDIConnector datasource name=>jdbc/ORADS
    [TopLink Config]: 2006.09.22 06:31:47.500--ServerSession(989)--Connection(1434)--Thread(Thread[HttpRequestHandler-86,5,main])--Connected: jdbc:oracle:thin:@10.210.16.37:1521:orabld
         User: APP_USR
         Database: Oracle Version: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
    With the Partitioning, OLAP and Data Mining options
         Driver: Oracle JDBC driver Version: 10.1.0.3.0
    [TopLink Info]: 2006.09.22 06:31:47.671--ServerSession(989)--Thread(Thread[HttpRequestHandler-86,5,main])--DBSession login successful
    [TopLink Fine]: 2006.09.22 06:31:47.703--ServerSession(989)--Connection(1554)--Thread(Thread[HttpRequestHandler-86,5,main])--select * from user_role ur, app_resource ar, role_resource rr where rr.APP_RESOURCE_ID = ar.APP_RESOURCE_ID and rr.USER_ROLE_ID = ur.USER_ROLE_ID
    [TopLink Fine]: 2006.09.22 06:31:49.937--ServerSession(989)--Connection(10245)--Thread(Thread[HttpRequestHandler-86,5,main])--SELECT * FROM PROGRAM_SUB_CAT
    [TopLink Fine]: 2006.09.22 06:31:50.015--ServerSession(989)--Connection(10332)--Thread(Thread[HttpRequestHandler-86,5,main])--SELECT PROGRAM_ID, CREATED_BY_USERID FROM (SELECT CREATED_BY_USERID, ROWNUM PROGRAM_ID FROM (SELECT DISTINCT(CREATED_BY_USERID) CREATED_BY_USERID, 1 AS PROGRAM_ID FROM PROGRAM))
    (I only see my application specific queries after this... no exceptions or debug logs)... as I said before.. the application gives exception in the session bean at the time of commit, and there's no exception raised from Toplink code in DAO...

  • Created searchBean map and stored on session fail!

    Hi :
    I met a problem while entering a jsp page , seems like its "Created searchBean map and stored on session" was missing , and not every time I can produce this error , it happened dynamically.
    Any idea about this ?
    =======================================================
    if the jsp page run success , it will be produce debug log like these:
    Storing JhsAuthorizationProxy object on session to allow EL access to request.isUserInRole() and/or
    JhsUser.hasAccess()
    19:09:06 DEBUG (JhsActionServlet) -Request class: com.evermind.server.http.AJPHttpServletRequest
    19:09:06 DEBUG (JhsActionServlet) -Request URI: /BIL/StartBIL3060MBaseGroup.do
    19:09:06 DEBUG (JhsActionServlet) -Request Character Encoding: ISO-8859-1
    19:09:06 DEBUG (JhsActionServlet) -Parameter ArgUser: 0438
    19:09:06 DEBUG (JhsActionServlet) -Request class: com.evermind.server.http.AJPHttpServletRequest
    19:09:06 DEBUG (JhsActionServlet) -Request URI: /BIL/BIL3060MBaseGroup.do
    19:09:06 DEBUG (JhsActionServlet) -Request Character Encoding: ISO-8859-1
    19:09:06 DEBUG (JhsActionServlet) -Parameter ArgUser: 0438
    19:09:07 DEBUG (JhsDataAction) -Executing action /BIL3060MBaseGroup
    19:09:07 DEBUG (JhsDataAction) -Created searchBean map and stored on session
    19:09:07 DEBUG (JhsDataAction) -Created new searchBean for BIL3060MBaseGroupUIModel and added to quick search bean map
    19:09:07 DEBUG (JhsDataAction) -Stored searchBean for BIL3060MBaseGroupUIModel on request
    19:09:07 DEBUG (JhsDataAction) -Setting findMode to true for iterator binding BIL3060MBaseGroupIterator
    19:09:07 DEBUG (JhsDataAction) -Setting max fetch size -1 temporarily to 0 for ViewObject BIL3060MBaseView1
    19:09:07 DEBUG (JhsDataAction) -ViewObject BilPAID_FLAGView1: value of bind param 0 set to PAID_FLAG
    19:09:07 DEBUG (JhsDataAction) -
    ========================================================
    and if the jsp page failure, the debug log will be like folling content:
    07/09/20 19:07:42 0422crhin-jrung
    07/09/20 19:07:53 0433crhin-jrung
    07/09/20 19:07:53 [B@f55759
    07/09/20 19:07:53 [B@6fd560
    07/09/20 19:07:53 userPwd1:s_user_name:Johnson
    07/09/20 19:07:53 null
    19:07:53 DEBUG (JhsActionServlet) -Storing JhsAuthorizationProxy object on session to allow EL access to request.isUserInRole() and/or
      JhsUser.hasAccess()
    19:07:53 DEBUG (JhsActionServlet) -Request class: com.evermind.server.http.AJPHttpServletRequest
    19:07:53 DEBUG (JhsActionServlet) -Request URI: /BIL/StartBIL3060MBaseGroup.do
    19:07:53 DEBUG (JhsActionServlet) -Request Character Encoding: Big5
    19:07:53 DEBUG (JhsActionServlet) -Parameter ArgUser: 0422
    19:07:53 DEBUG (JhsActionServlet) -Request class: com.evermind.server.http.AJPHttpServletRequest
    19:07:53 DEBUG (JhsActionServlet) -Request URI: /BIL/BIL3060MBaseGroup.do
    19:07:53 DEBUG (JhsActionServlet) -Request Character Encoding: Big5
    19:07:53 DEBUG (JhsActionServlet) -Parameter ArgUser: 0438
    19:07:53 DEBUG (JhsDataAction) -Executing action /BIL3060MBaseGroup
    [b] 07/09/20 19:07:53 java.lang.NullPointerException
    07/09/20 19:07:53 at oracle.jheadstart.util.BindingUtils.findIterBinding(BindingUtils.java:116)
    07/09/20 19:07:53 at oracle.jheadstart.controller.strutsadf.action.JhsDataAction.applyIterBindParams(JhsDataAction.java:3450)
    07/09/20 19:07:53 at oracle.jheadstart.controller.strutsadf.action.JhsDataAction.prepareModel(JhsDataAction.java:3875)
    07/09/20 19:07:53 at oracle.adf.controller.struts.actions.DataAction.prepareModel(DataAction.java:486)
    07/09/20 19:07:53 at oracle.adf.controller.lifecycle.PageLifecycle.handleLifecycle(PageLifecycle.java:105)
    07/09/20 19:07:53 at oracle.adf.controller.struts.actions.DataAction.handleLifecycle(DataAction.java:222)
    07/09/20 19:07:53 at oracle.jheadstart.controller.strutsadf.action.JhsDataAction.handleLifecycle(JhsDataAction.java:506)
    07/09/20 19:07:53 at oracle.adf.controller.struts.actions.DataAction.execute(DataAction.java:153)
    07/09/20 19:07:53 at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
    07/09/20 19:07:53 at oracle.jheadstart.controller.strutsadf.JhsRequestProcessor.processActionPerform(JhsRequestProcessor.java:118)
    07/09/20 19:07:53 at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
    07/09/20 19:07:53 at oracle.jheadstart.controller.strutsadf.JhsRequestProcessor.process(JhsRequestProcessor.java:385)
    07/09/20 19:07:53 at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
    07/09/20 19:07:53 at oracle.jheadstart.controller.strutsadf.JhsActionServlet.process(JhsActionServlet.java:130)
    07/09/20 19:07:53 at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
    07/09/20 19:07:53 at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
    07/09/20 19:07:53 at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    07/09/20 19:07:53 at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:824)
    07/09/20 19:07:53 at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:330)
    07/09/20 19:07:53 at com.evermind.server.http.ServletRequestDispatcher.forward(ServletRequestDispatcher.java:222)
    07/09/20 19:07:53 at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1069)
    07/09/20 19:07:53 at org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:274)
    07/09/20 19:07:53 at org.apache.struts.action.RequestProcessor.internalModuleRelativeForward(RequestProcessor.java:1012)
    07/09/20 19:07:53 at org.apache.struts.tiles.TilesRequestProcessor.internalModuleRelativeForward(TilesRequestProcessor.java:345)
    07/09/20 19:07:53 at org.apache.struts.action.RequestProcessor.processForward(RequestProcessor.java:582)
    07/09/20 19:07:53 at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:260)
    07/09/20 19:07:53 at oracle.jheadstart.controller.strutsadf.JhsRequestProcessor.process(JhsRequestProcessor.java:385)
    07/09/20 19:07:53 at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
    07/09/20 19:07:53 at oracle.jheadstart.controller.strutsadf.JhsActionServlet.process(JhsActionServlet.java:130)
    07/09/20 19:07:53 at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
    07/09/20 19:07:53 at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
    07/09/20 19:07:53 at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    07/09/20 19:07:53 at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
    07/09/20 19:07:53 at oracle.jheadstart.controller.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:176)
    07/09/20 19:07:53 at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:16)
    07/09/20 19:07:53 at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:239)
    07/09/20 19:07:53 at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:659)
    07/09/20 19:07:53 at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:330)
    07/09/20 19:07:53 at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:830)
    07/09/20 19:07:53 at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:224)
    07/09/20 19:07:53 at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:133)
    07/09/20 19:07:53 at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:192)
    07/09/20 19:07:53 at java.lang.Thread.run(Thread.java:534)
    19:07:53 DEBUG (JhsDataAction) -Executing findForward
    19:07:53 DEBUG (JhsDataAction) -Forward set by parameter property
    19:07:53 DEBUG (JhsDataAction) -Forwarding to: /WEB-INF/page/BIL3060MBaseGroup.jsp
    19:07:53 WARN (RequestProcessor) -Unhandled Exception thrown: class java.lang.NullPointerException

    Eron,
    It looks like there is something wrong with the runtime representation of the pagedef that is not passed to ADF correctly.
    It could be a JDeveloper/ADF issue that is not related to JHeadstart. To simplify the test case, you could create a simple drag-and-drop ADF application without JHeadstart and see if the same problem occurs there. If so, can you please log a TAR at MetaLink ( http://metalink.oracle.com/ ), or ask this question at the JDeveloper forum at http://otn.oracle.com/discussionforums/jdev.html ?
    Thanks,
    Sandra Muller
    JHeadstart Team
    Oracle Consulting

  • Aperture & iPhoto metadata when images NOT stored in iPhoto

    Thinking of "upgrading" to Aperture from iPhoto '11 - still want to use iPhoto for organization but Aperture for hopefully better editing capabilities, etc.
    Have 30,000+ images with keywords, etc. in iPhoto; the image files are NOT stored IN iPhoto, i.e., they are organized in folders external to iPhoto's library. The iPhoto library file best I can tell stores thumbnails and keyword metadata, etc.
    I'd like to use Aperture and have access to all of iPhoto's keywords, etc. but to use the original photo files.
    Can Aperture be setup to work this way? i.e., to pull in the 30,000+ photos' keywords yet reference the same originals that iPhoto is referencing?
    I don't want to duplicate the 30,000+ originals... In all likelihood I'd only ever want to manipulate a small percentage of the total image library in Aperture.
    Any suggestions appreciated!
    Alex

    Alexander Mcleod wrote:
    Thank you for taking the time to reply...
    re: "Basically to edit an image, stored in iPhoto, in Aperture you would have to export the image from iPhoto import into Aperture modify it export it out of Aperture and import it back into iPhoto."
    My point is that in my case the images are NOT *stored* IN iPhoto...
    Yes I understand, your iPhoto library is setup using referenced masters, the termed used when the master file is stored outside of the programs database. And you could setup Aperture in the same way and they would both be pointing to the same master file, external to both programs databases.
    But here's here's the kicker: The master file *is never modified* by either program. I believe iPhoto makes a copy of the master when you apply adjustments (someone with a greater understanding of iPhoto can correct me here) how it does it isn't important what is important is that he master isn't modified; Aperture also leaves the master alone. It records the adjustments you make as a stream on instructions and applies those to the master when you want to create an adjusted image. What you see (normally) in Aperture's views are previews of the adjusted image. So changes you make in Aperture won't be seen in iPhoto because iPhoto is looking at the original master file, not Aperture's adjusted version.
    Now you can share the preview from Aperture with iPhoto, but at this point you basically have the adjusted image in two places.
    And in reference to the other response that suggests that iPhoto and Aperture use different databases, I'd completely expect that to be the case. What I'm wondering about is can Aperture initialize its database from iPhoto's database; i.e., create its equivalent to iPhoto's "library" file (where all the iPhoto metadata is stored) from iPhoto's AND like iPhoto reference the original files in their original location.
    Yes Aperture can initialize a database of its own based on the iPhoto library and that library can be setup to use referenced masters, see above.
    I don't see why I'd need to 'export' any image from iPhoto (unless of course I'd "edited" it in iPhoto - in which case the *modified* file IS I think stored IN iPhoto's library) but that's my point... I don't WANT to edit the files with iPhoto... I want to edit the files with Aperture.
    You're right you won't need to export from iPhoto if you setup both with referenced masters. But like I said above to get back to iPhoto you will have to export from Aperture unless you can live with using the previews in iPhoto. But again you will basically have two identical library structures, at least at start, as time goes on they will diverge.
    I hope this better clarifies what I'm trying to explain.
    It does, I hope my reply also helps explain the difficulties with this setup and why it's not as cut and dry as it first appears.
    I have read *many* other posts that point out what you're pointing out but they all seem to make assumptions about wanting to modify files in Aperture which were previously *modified* in iPhoto. The unmodified "original" photos (assuming both iPhoto and Aperture have the ability that iPhoto has to reference the original files from a location *external* to iPhoto) are then by definition are already shared between iPhoto and Aperture so there's no need to 'export' from one to the other, no?
    As I've said whats shared is the original unmodified master image. Once either program modifies it it is no longer shared.

  • Firefox 24 - options not remembered from session to session

    When I upgraded to Firefox 24, all of the option settings from v23 reset to the defaults. I put them back the way I had them before, but after restarting the browser, everything defaulted as before. I am running NoScript, and any changes to its rules are also lost when I restart the browser. I've restarted several times. with and without system restarts, and the results are always the same.
    History and passwords seem to be updated and maintained across sessions. The problem is with configuration data for Firefox and NoScript.
    I am running XP SP3 with 2 user accounts. One is an administrator account that I use only for system maintenance, and the other is a limited account where I do most of my work. The admin account, where I installed v24, remembers configuration changes between sessions; the problem is with the limited account, which is the one I care about.
    I've checked the profile in use for the limited account, and the files have current update stamps in the \limited user\application data\mozilla folders, so it doesn't look like an authorization problem. This folder now contains 86 numbered prefs- files of which all but 3 have today's maintenance date, but the prefs.js file shows yesterday's date, before I upgraded versions.
    There are also 25 numbered sessionstore- files, all of which have old dates, but the sessionstore.js and sessionstore.bak files show as current.
    Any suggestions?

    After posting the question, I found this thread in the support forum - https://support.mozilla.org/en-US/kb/how-to-fix-preferences-wont-save?esab=a&s=firefox+24+-+options+not+remembered&r=1&as=s#w_reset-firefox-to-fix-the-problem.
    Following the instructions, it looks like the prefs file for the limited account was corrupted in the upgrade to Version 24. I have deleted it, and the problem is solved.

  • Why APO transaction data is not stored in tables

    Hi All,
    Why APO transaction data is not stored in tables.
    can u explain me.
    Babu

    Good question Babu,
    There indeed are tables for master data in APO database whereas the transaction data (qty, amount, dates and document numbers) are stored in a denormalized data base called livecache. But the master data too is identified with GUID's.. a cryptic and unique number given to e.g. a location, prodcuct, t/lane, customer and documents. This is because of speed of access if e.g. an external system is to fetch an information from APO using a unique session ID, instead of making a sequential read in APO tables, it read the live cache by called the GUID's that the calling characterics of the event. If one or more ECC system or an external execution system is connected to APO and one of the system collapses and rebuild again or if a system is assigned to a new business system group etc.. then its likely that systems can be out of sync and its where the live cache syncs up the data with APO tables again. If you still want to see tables in human readable format.. there are views available e..g the tables for locations LOCID and table for products MATLOC would take only GUID as inputs but the view V_MATLOC will show you the materials and locations by the numbers you know.
    Hope I was able to explain. But yes the why part is still something of a mystery to me.. becasue with transparent tables it is easier to create local reports in APO and thats what probably SAP doesnt want. SAP can answer best as to what were the initial user and commercial considerations when developing APO
    Regards,
    Loknath

  • User Inputs Not Stored In External File

    I'm using the following code to store marks
    if (courseCode.compareToIgnoreCase(cCodeTerminate) != 0)
              System.out.print("Enter your exam marks for " + courseCode + ": ");
              examMarks = Integer.parseInt(in.readLine());
              //Loop to check if marks are within 0 and 100
              while ((examMarks < 0) || (examMarks > 100))
                   if ((examMarks < 0) || (examMarks> 100))
                        System.out.println("Your exam marks cannot be less than 0 or more than 100.");
                        System.out.print("Enter your exam marks for " + courseCode + ": ");
                                  examMarks = Integer.parseInt(in.readLine());
                   else
                        examMarks = Integer.parseInt(in.readLine());
                        toFile.print(examMarks);
                        toFile.print("\t");
              }//End of loopHowever, the marks are not stored in the file. Is there something wrong with my coding?
    The courseCode is stored only.

    Also how do you plan to break out of this loop?
    If the examMarks are less than zero or more than a
    hundred you print out a error message and ask for the
    marks again, and if they are between zero and a
    hundred you print the results... but then the loop
    keeps repeating until the marks go below zero or over
    a hundred.
    Confusing... maybe you should post more of the code?Thanks for the question. I got it working.
    The while loop was totally extra and I got so many of the same input (examMarks) in my file.

Maybe you are looking for

  • How can I make everyone have the same head?

    In one of the scenes in a video I'm making, I have some people marching down the street, I want to give them all the same head so it looks like an army of clones. How can I do that in Final Cut Pro?

  • How to create ADF selectManyChoice dynamically using arrayList?

    Hi, I am using JDEVADF_11.1.1.3.PS2_GENERIC_100408.2356.5660. I want to dynamically create selectManyChoice through my backing using and populating the same using ArrayList. Can anyone provide me sample code for the same? Thanks, Vikas

  • Add Exists filter into Reporting Services MDX

    Hi, I have a piece of auto generated MDX which I need to filter. This was a generated by Reporting Services when I added a parameter to a report reading from a cube. WITH MEMBER [Measures].[ParameterCaption] AS [Dept].[DeptName].CURRENTMEMBER.MEMBER_

  • Smooth render/new to after effects plz help

    Hey everyone, Hope you guys can help me out. Im so fed up with my situation. I have older 720 x 576 video avi clips that I wanna use. I use the same source fps to render it, same size(best settings) and after it's rendered, the video doesn't look tha

  • MBP Frozen on Startup-Was reinstalling OS, lost power during a storm :(

    Hey everyone, I have a 2007 Macbook Pro that's giving me some trouble. BACKGROUND 1. The battery on this thing is dead—in fact, it became bloated and no longer fit into the casing. Before this issue, I was using it without a battery and simply pluggi