Bulk Loading vs Ingest Record Adding(Updating)

Hi
We are integrating Oracle Endeca Server with our application. We already have set of interfaces which extracts record definitions and records from our database.
I created necessary classes to create record definitions in Oracle Endeca DataSource, but I have difficulties with selection of right approach with loading of records into DataSource. I wonder that is better to use Ingest or Bulk Loading.
We have constantly changing data in our application and time to time we had to update existing records in DataRecords. From point of view of our API there is no difference between adding new records and updating existing records. As I learned from documentation Oracle Endeca Server performs updating multivalued properties by adding new data to them and by ignoring changes in single-valued properties. In our case we need a replacement existing values. I figured out that I will need to use addAssignments and deleteRecords in ingestRecords operation. In this case existing record will be deleted and new will be created. However what happens if record is not exist? I guess deleteRecords will fail, but will engine still execute addAssignments?
Considering usage of Bulk Loading I also have some questions.
What Bulk Loading will do if record it's trying to insert is already exist?
If I have attribute definition of type boolean could I use
// entryCur.getKey() is String
// entryCur.getValue() is String
assignmentBuilder.setName(entryCur.getKey()).setDataType(Data.Assignment.DataType.STRING).setStringValue(entryCur.getValue()) instead of setting to BOOLEAN?
I guess Builder.set<Type>Value allows to set up multivalued attributes with multi calls?
Thanks
Eugene.

Hi Eugene,
I am an Endeca developer working on ingest. The situation you describe is perfectly suited by bulk ingest; it is exactly this use pattern that bulk ingest was designed for. If the record to put duplicates the spec of an already-existing record, the record currently in the data store is replaced by the incoming record.
If you still wish to use the data ingest web service (DIWS), this is still an option. The pattern you describe is correct. If you attempt to delete the record that does not exist, Endeca Server will do nothing; again, this is the use case it is designed for.
Hope this helps,
Dave

Similar Messages

  • Sql query to Load only new records,or update old records

    Hi,
    I need a query (not stored procedure) to insert only new records otherwise update existing records.
    I tried by creating "Merge statement in SQl", but the sql query is wrong,it is not updating,always inserting records(replicating..1,2,4,8,16,32..).
    below is my sample query,
    Here "FACT_mytbl -FCT" is my fact table.(which need to update if already records found ,otherwise insert as new records).
    *Inside select ---the table   E_tbl1,E_tbl2  is the business logic table ,using this two table only ,"FACT_mytbl" was created  .So the "S" alias will be the source
    table and "FCT" will be target table. based on this we have to insert or update records.   
      ---Query starts-------------------------------------                    
     MERGE INTO [FACT_mytbl]  FCT
     USING  (
           SELECT 
           FCT1.ID
          ,FCT1.PKcol1
          ,FCT1.FKcol1
          ,FCT1.col1
          ,FCT1.col2
         , FCT1.col3     
       FROM  [FACT_mytbl] FCT1 WITH(NOLOCK)        
       LEFT JOIN dbo.E_tbl1 CT WITH(NOLOCK)
    ON CT.PKcol1=FCT1.PKcol1
       LEFT JOIN dbo.E_tbl2 CT1 WITH(NOLOCK)
    ON CT1.PKcol1=FCT1.PKcol1
       ) S  
       ON FCT.PKcol1 = S.PKcol1 
     WHEN MATCHED AND (FCT.PKcol1 ! = S.PKcol1 ) THEN
     UPDATE SET       
           FCT.col1
          ,FCT.col2
          ,FCT.col3     
     WHEN NOT MATCHED THEN 
     INSERT VALUES
           S.ID
          ,S.PKcol1
          ,S.FKcol1
          ,S.col1
          ,S.col2
         , S.col3     
    --query ends----------------
    any suggestions,
    Thanks,
    R.B

    Hi Bhupesh_Rajasekaran,
    According to your description, if you want to insert only new records which does not exist in destination and update existing records which does exist in destination. We usually accomplish these in two statement.
    1.A join statement to update records.
    2.A insert statement for new records.
    Also we can use MERGE in SQL Server to insert, update at the same time. You specify a "Source" record set and a "Target" table, and the join between the two. You then specify the type of data modification that is to occur when the records between the two
    data are matched or are not matched. For more information, there is an similar example about merge in SQL Server, you can review the following article.
    http://www.codeproject.com/Tips/590085/Merge-in-SQL-Server
    Regards,
    Sofiya Li
    Sofiya Li
    TechNet Community Support

  • Bulk Load FIM/Powershell - Extra account updated

    Hi ~
    I'm doing a test bulk upload using a file that contains only one record.  After running PS script successfully, I check my search requests and see that two records files have actually been changed by the script.  I've reviewed the script for any
    mentions of the second record ~ nothing there.  Has this happened to anyone else?  How can I troubleshoot this?
    Thanks,
    Kim

    I think you need to post your script and maybe the content of the input file to get more qualified help
    Regards, Soren Granfeldt
    blog is at http://blog.goverco.com | facebook https://www.facebook.com/TheIdentityManagementExplorer | twitter at https://twitter.com/#!/MrGranfeldt

  • How to UPDATE a big table in Oracle via Bulk Load

    Hi all,
    in a datastore target as Oracle 11g, I have a big table having 300milions of record; the structure is One integer key + 10 columns attributes .
    In IQ Source i have the same table with the same size ; the structure is One integer key + 1 column attributes .
    What i need to do is to UPDATE that single field in Oracle from the values stored in IQ .
    Any idea on how to organize efficiently the dataflow and the target writing mode ? bulk load ? api ?
    thank you
    Maurizio

    Hi,
    You cannot do bulk load when you need to UPDATE a field. Because all a bulk load does is add records to your table.
    Since you have to UPDATE a field, i would suggest to go for SCD with
    source > TC > MO > KG >target
    Arun

  • OIM Bulk Load utility(Process Form Updates)

    Hi All,
    I am wondering whether OIM bulk laod Utitly is capable of Updating the Accounts(Targer Recon) in OIM(Updates in Process form)?... I was checking the oracle doucment and it doe not say anything about Updating the records in OIM it says of creating the accounts. Please guide me.
    Thanks in advance
    Saravani
    Edited by: 918661 on Mar 4, 2012 7:47 PM

    Don't worry. Utility support both feature
    1. Trusted recon - reconcile from trusted source(csv, databse.etc.) to OIM user profile
    2. Target recon - reconcile target account to OIM Process Form . for this you must have their coressponding user exist in OIM.
    For further details go through below doc.
    http://docs.oracle.com/cd/E14899_01/doc.9102/e14763/bulkload.htm#CHDCGGDA
    Section "15.5 Loading Account Data" will clarify your doubt
    --nayan                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • Delta update data error. Can we do a full load with bad records?

    Hello,
    We are working with SAP BW 7.0. And we had a problem with a delta update. It has made the delta update correctly, however, a register is loaded incorrectly, when this register was correct in the source system.
    We just made a load of that record and now we have it right in the master data. But we must now update the InfoCube. The data came up with a delta load, and now to load only this record we must make a full load (with only 1 register), then in the infocube make a delete selection of the wrong record.
    The problem is that we have doubts about how this would affect the load delta, because loads are scheduled for each day and then lost as the source of where to start the next load and we have problems with delta loads the next few days.
    Thank you.

    hi,
    What is your delta extractor (LIS or not LIS), What is you target (DSO or cube).
    depending on your soruce and target procedure is not the same but you can do it in every cases :
    in case of not LIS
    just reload with full IP to PSA
    in case of LIS
    delete setup tables
    do a restructuration for your record (if you can with selection condition)
    in case of cube in BW
    do a simple full upload
    in case of DSO
    do a full upload in repair mode (if dataflow is 3.x) else just use DTP.
    But if your target is DSO and DSO load other infocube after be sure that they are not corrupted
    Cyril

  • Error in endeca search module-bulk load error

    i have added product-catalog-output-config.xml and category-dim-output-config.xml to my project in respective paths as in DCS...the XMLs are combining when i see them in dyn/admin.
    but while running baseline index, pre-indexing is getting succeeded but RepositoryTypeDimensionExporter is failing and the errors showing in command prompt are these..
    11:14:48,710 INFO [ProductCatalogOutputConfig] Starting bulk load
    11:14:48,710 WARN [ProductCatalogSimpleIndexingAdmin] signalShouldCancel() yet implemented.
    11:14:48,710 INFO [CategoryToDimensionOutputConfig] Failed to cancel incremental load of /atg/endeca/index/commerce/CategoryToDimensionOutputConfig, probably because no bulk load was run
    ning.
    11:14:48,710 WARN [ProductCatalogSimpleIndexingAdmin] signalShouldCancel() yet implemented.
    11:14:48,710 INFO [ProductCatalogOutputConfig] Failed to cancel incremental load of /atg/commerce/search/ProductCatalogOutputConfig, probably because no bulk load was running.
    11:14:48,710 WARN [ProductCatalogSimpleIndexingAdmin] signalShouldCancel() yet implemented.
    11:14:55,222 INFO [CategoryToDimensionOutputConfig] Bulk load completed with "false" result in 10,081 milliseconds.
    11:14:58,724 INFO [ProductCatalogOutputConfig] Bulk load completed with "false" result in 10,014 milliseconds.
    11:14:58,726 INFO [SchemaDocumentSubmitter] Rolling back session for record store Discover_en_schema with transactionId 59
    11:14:58,827 INFO [LoggingOutInterceptor] Outbound Message
    it is also saying that
    "WARN [IndexingPeriodicService] No configuration registered for "/atg/endeca/index/commerce/CategoryToDimensionOutputConfig" so skipping check for incremental update." prior to indexing.
    please help me up..
    thanks

    i am also getting this error..
    Exception in thread "index-/atg/endeca/index/commerce/ProductCatalogSimpleIndexingAdmin" java.lang.NullPointerException: Property value cannot be null (dimval.display_name)
    when i run baseline index...
    please suggest the solution

  • Bulk Load question for an insert statement.

    I'm looking to put the following statement into a FORALL statement using BULK COLLLECT and I need some guidance.
    Am I going to be putting the SELECT statement into a cursor and then load the cursor values into a defined Nested Table type defined variable?
    INSERT INTO TEMP_ASSOC_CURRENT_WEEK_IDS
    SELECT aor.associate_office_record_id ,
    sched.get_assoc_sched_rotation_week(aor.associate_office_record_id, v_weekType.start_date) week_id
    FROM ASSOCIATE_OFFICE_RECORDS aor
    WHERE aor.OFFICE_ID = v_office_id
    AND (
    (aor.lt_assoc_stage_result_id in (4,8)
    AND v_officeWeekType.start_date >= trunc(aor.schedule_start_date)
    OR aor.lt_assoc_stage_result_id in (1, 2)
    ));

    I see people are reading this so for the insanely curious here's how I did it.
    Type AOR_REC is RECORD(
    associate_office_record_id dbms_sql.number_table,
    week_id dbms_sql.number_table); --RJS.***Setting up Type for use with Bulk Collect FORALL statements.
    v_a_rec AOR_REC; -- RJS. *** defining variable of defined Type to use with Bulk Collect FORALL statements.
    CURSOR cur_aor_ids -- RJS *** Cursor for BULK COLLECT.
    IS
    SELECT aor.associate_office_record_id associate_office_record_id,
    sched.get_assoc_sched_rotation_week(aor.associate_office_record_id, v_weekType.start_date) week_id
    FROM ASSOCIATE_OFFICE_RECORDS aor
    WHERE aor.OFFICE_ID = v_office_id
    AND (
    (aor.lt_assoc_stage_result_id in (4,8)
    AND v_officeWeekType.start_date >= trunc(aor.schedule_start_date)
    OR aor.lt_assoc_stage_result_id in (1, 2)
    FOR UPDATE NOWAIT;
    BEGIN
    BEGIN
    OPEN cur_aor_ids;
    LOOP
    FETCH cur_aor_ids BULK COLLECT into
    v_a_rec.associate_office_record_id, v_a_rec.week_id; --RJS. *** Bulk Load your cursor data into a buffer to do the Delete all at once.
    FORALL i IN 1..v_a_rec.associate_office_record_id.COUNT SAVE EXCEPTIONS
    INSERT INTO TEMP_ASSOC_CURRENT_WEEK_IDS
    (associate_office_record_id,week_id)
    VALUES
    (v_a_rec.associate_office_record_id(i), v_a_rec.week_id(i)); --RJS. *** Single FORALL BULK DELETE statement.
    EXIT WHEN cur_aor_ids%NOTFOUND;
    END LOOP;
    CLOSE cur_aor_ids;
    EXCEPTION
    WHEN OTHERS THEN
    dbms_output.put_line('ERROR ENCOUNTERED IS SQLCODE = '|| SQLCODE ||' AND SQLERRM = ' || SQLERRM);
    dbms_output.put_line('Number of INSERT statements that
    failed: ' || SQL%BULK_EXCEPTIONS.COUNT);
    End;
    Easy right?

  • Error in Add/Replace Bulk Load component - illegal character in XML

    Has anyone ever seen the bulk load component complain about some illegal character in xml? I see this error and not sure what exactly the problem is:
    ERROR [SocketReader] - Received error message from server: Character is not legal in XML 1.0
    It's a very simple graph - reading data from clover data file and ingesting it straight into Endeca using the out of the box bulk load component.
    Thanks for your help!
    Edited by: 935345 on May 18, 2012 11:48 AM

    Assuming you are on EID 2.3, this transformation will apply the fix to all your string fields and print on your console the fields that had non-compliant XML 1.0 characters.
    //#CTL2
    string[] fields;
    // Transforms input record into output record.
    function integer transform() {
         $out.0.* = $in.0.*;
         for(integer i = $in.0.length() - 1; i >=0 ; i--) {
              if (getFieldType($in.0.*, i) == "string" && getFieldType($out.0.*, i) == "string") {
                   if (!isNull($in.0.*, i)) {
                        string originalValue = getStringValue($in.0.*, i);
                        string newValue = originalValue.replace("([^\\u0009\\u000a\\u000d\\u0020-\\uD7FF\\uE000-\\uFFFD]|[\\u0092\\u007F]+)","");
                        if (originalValue != newValue) {
                             fields[i] = getFieldName($in.0, i);
                        setStringValue($out.0.*, i, newValue);
         return OK;
    // Called during component initialization.
    // function boolean init() {}
    // Called during each graph run before the transform is executed. May be used to allocate and initialize resources
    // required by the transform. All resources allocated within this method should be released
    // by the postExecute() method.
    // function void preExecute() {}
    // Called only if transform() throws an exception.
    // function integer transformOnError(string errorMessage, string stackTrace) {}
    // Called during each graph run after the entire transform was executed. Should be used to free any resources
    // allocated within the preExecute() method.
    function void postExecute() {
         printErr("Fields with non-compliant XML 1.0 characters");
         for(integer i = 0; i < fields.length(); i++) {
              if (fields[i] != null) {
                   printErr(fields);
    // Called to return a user-defined error message when an error occurs.
    // function string getMessage() {}
    -- Alex                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • Bulk Load API Status

    Hi,
    I'm using Oracle Endeca 2.3.
    I encountered a problem in data integrator, Some batch of records were missing in the Front end and when I checked the status of Graph , It Showed "Graph Executed sucessfully".
    So, I've connected the Bulk loader to "Universal data writer" to see the data domain status of the bulk load.
    I've listed the results below, However I'm not able to interpret the information from the status and I've looked up the documentation but I found nothing useful.
    0|10000|0|In progress
    0|11556|0|In progress
    0|20000|0|In progress
    0|30000|0|In progress
    0|39891|0|In progress
    0|39891|0|In progress
    0|39891|0|In progress
    0|39891|0|In progress
    0|39891|0|In progress
    0|39891|0|In progress
    40009|-9|0|In progress
    40009|9991|0|In progress
    40009|19991|0|In progress
    40009|20846|0|In progress
    Could anyone enlighten me more about this status.
    Also,Since these messages are a part of "Post load", I'm wondering why is it still showing "In-Progress".
    Cheers,
    Khurshid

    I assume there was nothing of note in the dgraph.log?
    The other option is to see what happens when you either:
    A) filter your data down to the records that are missing prior to the load and see what happens
    Or
    B) use the regular data ingest API rather than the bulk.
    Option b will definitely perform much worse on 2.3 so it may not be feasible.
    The other thing to check is that your record spec is truly unique.  The only time I can remember seeing an issue like this was loading a record, then loading a different record with the same spec value.  The first record would get in and then be overwritten by the second record making it seem like the first record was dropped.  Figured it would be worth checking.
    Patrick Rafferty
    Branchbird

  • How to return to record after updating (ie add a url with variable)

    I want to put a link in to return to the page displaying the record after updating.  I followed the Dreamweaver insrtuctio an added this after the page url in the update behaviours:
    ?recordID=<?php echo $row_recordsetName['fieldName']; ?>
    However the page does not load but gives this error:
    Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:\UwAmp\www\testmypms\update_spec_rx.php on line 77
    Here's the page code:
    <?php require_once('Connections/testmypms.php'); ?>
    <?php
    function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
      $theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;
      switch ($theType) {
        case "text":
          $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
          break;   
        case "long":
        case "int":
          $theValue = ($theValue != "") ? intval($theValue) : "NULL";
          break;
        case "double":
          $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
          break;
        case "date":
          $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
          break;
        case "defined":
          $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
          break;
      return $theValue;
    $editFormAction = $_SERVER['PHP_SELF'];
    if (isset($_SERVER['QUERY_STRING'])) {
      $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
    if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "updateSpecRx")) {
      $updateSQL = sprintf("UPDATE spec_rx SET spec_rx_date=%s, FK_user_id=%s, spec_rx_rsph=%s, spec_rx_rcyl=%s, spec_rx_raxis=%s, spec_rx_rhprism=%s, spec_rx_rhprismbase=%s, spec_rx_rvprism=%s, spec_rx_rvprismbase=%s, spec_rx_rnadd=%s, spec_rx_rnhprism=%s, spec_rx_rnhprismbase=%s, spec_rx_rnvprism=%s, spec_rx_rnvprismbase=%s, spec_rx_rintadd=%s, spec_rx_rinthprism=%s, spec_rx_rinthprismbase=%s, spec_rx_rintvprism=%s, spec_rx_rintvprismbase=%s, spec_rx_lsph=%s, spec_rx_lcyl=%s, spec_rx_laxis=%s, spec_rx_lhprism=%s, spec_rx_lhprismbase=%s, spec_rx_lvprism=%s, spec_rx_lvprismbase=%s, spec_rx_lintadd=%s, spec_rx_linthprism=%s, spec_rx_linthprismbase=%s, spec_rx_lintvprism=%s, spec_rx_lintvprismbase=%s, spec_rx_lnadd=%s, spec_rx_lnhprism=%s, spec_rx_lnhprismbase=%s, spec_rx_lnvprism=%s, spec_rx_lnvprismbase=%s, ext_rx=%s WHERE spec_rx_id=%s",
                           GetSQLValueString($_POST['rHprism'], "date"),
                           GetSQLValueString($_POST['userID'], "int"),
                           GetSQLValueString($_POST['rsph'], "double"),
                           GetSQLValueString($_POST['rcyl'], "double"),
                           GetSQLValueString($_POST['raxis'], "double"),
                           GetSQLValueString($_POST['rHprism'], "double"),
                           GetSQLValueString($_POST['rHprismbase'], "text"),
                           GetSQLValueString($_POST['rVprism'], "double"),
                           GetSQLValueString($_POST['rVprismbase'], "text"),
                           GetSQLValueString($_POST['rNradd'], "double"),
                           GetSQLValueString($_POST['rNrHprism'], "double"),
                           GetSQLValueString($_POST['rNrHprismbase'], "text"),
                           GetSQLValueString($_POST['rNrVprism'], "double"),
                           GetSQLValueString($_POST['rNrVprismbase'], "text"),
                           GetSQLValueString($_POST['rIntadd'], "double"),
                           GetSQLValueString($_POST['rIntHprism'], "double"),
                           GetSQLValueString($_POST['rIntHprismbase'], "text"),
                           GetSQLValueString($_POST['rIntVprism'], "double"),
                           GetSQLValueString($_POST['rIntVprismbase'], "text"),
                           GetSQLValueString($_POST['lsph'], "double"),
                           GetSQLValueString($_POST['lcyl'], "double"),
                           GetSQLValueString($_POST['laxis'], "double"),
                           GetSQLValueString($_POST['lHprism'], "double"),
                           GetSQLValueString($_POST['lHprismbase'], "text"),
                           GetSQLValueString($_POST['lVprism'], "double"),
                           GetSQLValueString($_POST['lVprismbase'], "text"),
                           GetSQLValueString($_POST['lIntadd'], "double"),
                           GetSQLValueString($_POST['lIntHprism'], "double"),
                           GetSQLValueString($_POST['lIntHprismbase'], "text"),
                           GetSQLValueString($_POST['lIntVprism'], "double"),
                           GetSQLValueString($_POST['lIntVprismbase'], "text"),
                           GetSQLValueString($_POST['lNradd'], "double"),
                           GetSQLValueString($_POST['lNrHprism'], "double"),
                           GetSQLValueString($_POST['lNrHprismbase'], "text"),
                           GetSQLValueString($_POST['lNrVprism'], "double"),
                           GetSQLValueString($_POST['rNrVprismbase'], "text"),
                           GetSQLValueString(isset($_POST['extRx']) ? "true" : "", "defined","1","0"),
                           GetSQLValueString($_POST['SpecRxID'], "int"));
      mysql_select_db($database_testmypms, $testmypms);
      $Result1 = mysql_query($updateSQL, $testmypms) or die(mysql_error());
      $updateGoTo = "spec_rx4.php";
      if (isset($_SERVER['QUERY_STRING'])) {
        $updateGoTo .= (strpos($updateGoTo, '?')) ? "&" : "?";
        $updateGoTo .= $_SERVER['QUERY_STRING'];
      header(sprintf("Location: %s", $updateGoTo));
    /*   date_default_timezone_set('Europe/London');
    $date = strtotime($_POST['specRxDate']);
         $_POST['specRxDate'] = date("Y-m-d",$date); */
    $currentPage = $_SERVER["PHP_SELF"];
    $maxRows_spec_rx = 1;
    $pageNum_spec_rx = 0;
    if (isset($_GET['pageNum_spec_rx'])) {
      $pageNum_spec_rx = $_GET['pageNum_spec_rx'];
    $startRow_spec_rx = $pageNum_spec_rx * $maxRows_spec_rx;
    $colname_spec_rx = "1";
    if (isset($_GET['spec_RxID'])) {
      $colname_spec_rx = (get_magic_quotes_gpc()) ? $_GET['spec_RxID'] : addslashes($_GET['spec_RxID']);
    mysql_select_db($database_testmypms, $testmypms);
    $query_spec_rx = sprintf("SELECT demographics.px_id, demographics.FK_title_id, demographics.firstname, demographics.surname, title.title, title.title_id, spec_rx.spec_rx_id, spec_rx.FK_px_id, DATE_FORMAT(spec_rx.spec_rx_date, '%%d-%%m-%%Y') as formatted_rx_date, spec_rx.FK_user_id, spec_rx.spec_rx_rsph, spec_rx.spec_rx_rcyl, spec_rx.spec_rx_raxis, spec_rx.spec_rx_rhprism, spec_rx.spec_rx_rhprismbase, spec_rx.spec_rx_rvprism, spec_rx.spec_rx_rvprismbase, spec_rx.spec_rx_rnadd, spec_rx.spec_rx_rnhprism, spec_rx.spec_rx_rnhprismbase, spec_rx.spec_rx_rnvprism, spec_rx.spec_rx_rnvprismbase, spec_rx.spec_rx_rintadd, spec_rx.spec_rx_rinthprism, spec_rx.spec_rx_rinthprismbase, spec_rx.spec_rx_rintvprism, spec_rx.spec_rx_rintvprismbase, spec_rx.spec_rx_lsph, spec_rx.spec_rx_lcyl, spec_rx.spec_rx_laxis, spec_rx.spec_rx_lhprism, spec_rx.spec_rx_lhprismbase, spec_rx.spec_rx_lvprism, spec_rx.spec_rx_lvprismbase, spec_rx.spec_rx_lintadd, spec_rx.spec_rx_linthprism, spec_rx.spec_rx_linthprismbase, spec_rx.spec_rx_lintvprism, spec_rx.spec_rx_lintvprismbase, spec_rx.spec_rx_lnadd, spec_rx.spec_rx_lnhprism, spec_rx.spec_rx_lnhprismbase, spec_rx.spec_rx_lnvprism, spec_rx.spec_rx_lnvprismbase, spec_rx.ext_rx FROM spec_rx, demographics, title WHERE spec_rx.spec_rx_id = %s AND spec_rx.FK_px_id = demographics.px_id AND demographics.FK_title_id = title.title_id", $colname_spec_rx);
    $query_limit_spec_rx = sprintf("%s LIMIT %d, %d", $query_spec_rx, $startRow_spec_rx, $maxRows_spec_rx);
    $spec_rx = mysql_query($query_limit_spec_rx, $testmypms) or die(mysql_error());
    $row_spec_rx = mysql_fetch_assoc($spec_rx);
    if (isset($_GET['totalRows_spec_rx'])) {
      $totalRows_spec_rx = $_GET['totalRows_spec_rx'];
    } else {
      $all_spec_rx = mysql_query($query_spec_rx);
      $totalRows_spec_rx = mysql_num_rows($all_spec_rx);
    $totalPages_spec_rx = ceil($totalRows_spec_rx/$maxRows_spec_rx)-1;
    mysql_select_db($database_testmypms, $testmypms);
    $query_users = "SELECT users.user_id, users.username FROM users";
    $users = mysql_query($query_users, $testmypms) or die(mysql_error());
    $row_users = mysql_fetch_assoc($users);
    $totalRows_users = mysql_num_rows($users);
    $queryString_spec_rx = "";
    if (!empty($_SERVER['QUERY_STRING'])) {
      $params = explode("&", $_SERVER['QUERY_STRING']);
      $newParams = array();
      foreach ($params as $param) {
        if (stristr($param, "pageNum_spec_rx") == false &&
            stristr($param, "totalRows_spec_rx") == false) {
          array_push($newParams, $param);
      if (count($newParams) != 0) {
        $queryString_spec_rx = "&" . htmlentities(implode("&", $newParams));
    $queryString_spec_rx = sprintf("&totalRows_spec_rx=%d%s", $totalRows_spec_rx, $queryString_spec_rx);
    ?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>Amend Spec Rx</title>
    </head>
    <body>
    <p>Amend Spec Rx</p>
    <p><?php echo $row_spec_rx['px_id']; ?></p>
    <p><?php echo $row_spec_rx['title']; ?><?php echo $row_spec_rx['firstname']; ?><?php echo $row_spec_rx['surname']; ?> </p>
    <form action="<?php echo $editFormAction; ?>" method="POST" name="updateSpecRx" id="updateSpecRx">
      <table border="1" cellpadding="5" cellspacing="1">
        <tr>
          <td> </td>
          <td>
         <td><?php date_default_timezone_set('Europe/London'); ?>
        <input name="specRxDate" type="text" id="specRxDate" value="<?php echo $row_spec_rx['formatted_rx_date']; ?>" size="10" maxlength="10" <?php echo 'value="'.date("d-m-Y").'"'; ?>></td>
          <td><input name="SpecRxID" type="text" id="SpecRxID" value="<?php echo $row_spec_rx['spec_rx_id']; ?>" size="2" maxlength="2"></td>
          <td> </td>
          <td> </td>
          <td> </td>
          <td> </td>
          <td> </td>
          <td> </td>
          <td> </td>
          <td> </td>
          <td> </td>
          <td> </td>
          <td> </td>
          <td> </td>
          <td> </td>
          <td> </td>
          <td> </td>
        </tr>
        <tr>
          <td> </td>
          <td>Sph</td>
          <td>Cyl</td>
          <td>Axis</td>
          <td>HPrism</td>
          <td>HPrismBase</td>
          <td>VPrism</td>
          <td>VPrismBase</td>
          <td>NrAdd</td>
          <td>NrHPrism </td>
          <td>NrHPrismBase</td>
          <td>NrVPrism</td>
          <td>NrVPrismBase</td>
          <td>IntAdd</td>
          <td>IntHPrism</td>
          <td>IntHPrismBase</td>
          <td>IntVPrism</td>
          <td>IntVPrismBase</td>
        </tr>
        <tr>
          <td>R</td>
          <td><input name="rsph" type="text" id="rsph" value="<?php echo $row_spec_rx['spec_rx_rsph']; ?>" size="6" maxlength="6">
          </td>
          <td><input name="rcyl" type="text" id="rcyl" value="<?php echo $row_spec_rx['spec_rx_rcyl']; ?>" size="6" maxlength="6">
          </td>
          <td><input name="raxis" type="text" id="raxis" value="<?php echo $row_spec_rx['spec_rx_raxis']; ?>" size="5" maxlength="5"></td>
          <td><input name="rHprism" type="text" id="rHprism" value="<?php echo $row_spec_rx['spec_rx_rhprism']; ?>" size="5" maxlength="5"></td>
          <td>        <select name="rHprismbase" id="rHprismbase">
            <option value="" <?php if (!(strcmp("", $row_spec_rx['spec_rx_rhprismbase']))) {echo "SELECTED";} ?>> </option>
            <option value="OUT" <?php if (!(strcmp("OUT", $row_spec_rx['spec_rx_rhprismbase']))) {echo "SELECTED";} ?>>OUT</option>
            <option value="IN" <?php if (!(strcmp("IN", $row_spec_rx['spec_rx_rhprismbase']))) {echo "SELECTED";} ?>>IN</option>
            </select></td>
          <td><input name="rVprism" type="text" id="rVprism" value="<?php echo $row_spec_rx['spec_rx_rvprism']; ?>" size="5" maxlength="5">
          </td>
          <td><select name="rVprismbase" id="rVprismbase">
            <option value="" <?php if (!(strcmp("", $row_spec_rx['spec_rx_rnvprismbase']))) {echo "SELECTED";} ?>> </option>
            <option value="UP" <?php if (!(strcmp("UP", $row_spec_rx['spec_rx_rnvprismbase']))) {echo "SELECTED";} ?>>UP</option>
            <option value="DN" <?php if (!(strcmp("DN", $row_spec_rx['spec_rx_rnvprismbase']))) {echo "SELECTED";} ?>>DN</option>
          </select></td>
          <td><input name="rNradd" type="text" id="rNradd" value="<?php echo $row_spec_rx['spec_rx_rnadd']; ?>" size="6" maxlength="6"></td>
          <td><input name="rNrHprism" type="text" id="rNrHprism" value="<?php echo $row_spec_rx['spec_rx_rnhprism']; ?>" size="5" maxlength="5"></td>
          <td><select name="rNrHprismbase" id="rNrHprismbase">
            <option value="" <?php if (!(strcmp("", $row_spec_rx['spec_rx_rnhprismbase']))) {echo "SELECTED";} ?>> </option>
            <option value="OUT" <?php if (!(strcmp("OUT", $row_spec_rx['spec_rx_rnhprismbase']))) {echo "SELECTED";} ?>>OUT</option>
            <option value="IN" <?php if (!(strcmp("IN", $row_spec_rx['spec_rx_rnhprismbase']))) {echo "SELECTED";} ?>>IN</option>
          </select></td>
          <td><input name="rNrVprism" type="text" id="rNrVprism" value="<?php echo $row_spec_rx['spec_rx_rnvprism']; ?>" size="5" maxlength="5"></td>
          <td><select name="rNrVprismbase" id="rNrVprismbase">
            <option value="" <?php if (!(strcmp("", $row_spec_rx['spec_rx_rnvprismbase']))) {echo "SELECTED";} ?>> </option>
            <option value="UP" <?php if (!(strcmp("UP", $row_spec_rx['spec_rx_rnvprismbase']))) {echo "SELECTED";} ?>>UP</option>
            <option value="DN" <?php if (!(strcmp("DN", $row_spec_rx['spec_rx_rnvprismbase']))) {echo "SELECTED";} ?>>DN</option>
          </select></td>
          <td><input name="rIntadd" type="text" id="rIntadd" value="<?php echo $row_spec_rx['spec_rx_rintadd']; ?>" size="6" maxlength="6"></td>
          <td><input name="rIntHprism" type="text" id="rIntHprism" value="<?php echo $row_spec_rx['spec_rx_rinthprism']; ?>" size="5" maxlength="5"></td>
          <td><select name="rIntHprismbase" id="rIntHprismbase">
            <option value="" <?php if (!(strcmp("", $row_spec_rx['spec_rx_rinthprismbase']))) {echo "SELECTED";} ?>> </option>
            <option value="OUT" <?php if (!(strcmp("OUT", $row_spec_rx['spec_rx_rinthprismbase']))) {echo "SELECTED";} ?>>OUT</option>
            <option value="IN" <?php if (!(strcmp("IN", $row_spec_rx['spec_rx_rinthprismbase']))) {echo "SELECTED";} ?>>IN</option>
          </select></td>
          <td><input name="rIntVprism" type="text" id="rIntVprism" value="<?php echo $row_spec_rx['spec_rx_rintvprism']; ?>" size="5" maxlength="5"></td>
          <td><select name="rIntVprismbase" id="rIntVprismbase">
            <option value="" <?php if (!(strcmp("", $row_spec_rx['spec_rx_rintvprismbase']))) {echo "SELECTED";} ?>> </option>
            <option value="UP" <?php if (!(strcmp("UP", $row_spec_rx['spec_rx_rintvprismbase']))) {echo "SELECTED";} ?>>UP</option>
            <option value="DN" <?php if (!(strcmp("DN", $row_spec_rx['spec_rx_rintvprismbase']))) {echo "SELECTED";} ?>>DN</option>
          </select></td>
        </tr>
        <tr>
          <td>L</td>
          <td><input name="lsph" type="text" id="lsph" value="<?php echo $row_spec_rx['spec_rx_lsph']; ?>" size="6" maxlength="6">
          </td>
          <td><input name="lcyl" type="text" id="lcyl" value="<?php echo $row_spec_rx['spec_rx_lcyl']; ?>" size="6" maxlength="6">
          </td>
          <td><input name="laxis" type="text" id="laxis" value="<?php echo $row_spec_rx['spec_rx_laxis']; ?>" size="5" maxlength="5"></td>
          <td><input name="lHprism" type="text" id="lHprism" value="<?php echo $row_spec_rx['spec_rx_lhprism']; ?>" size="5" maxlength="5"></td>
          <td><select name="lHprismbase" id="lHprismbase">
            <option value="" <?php if (!(strcmp("", $row_spec_rx['spec_rx_lhprismbase']))) {echo "SELECTED";} ?>> </option>
            <option value="OUT" <?php if (!(strcmp("OUT", $row_spec_rx['spec_rx_lhprismbase']))) {echo "SELECTED";} ?>>OUT</option>
            <option value="IN" <?php if (!(strcmp("IN", $row_spec_rx['spec_rx_lhprismbase']))) {echo "SELECTED";} ?>>IN</option>
          </select></td>
          <td><input name="lVprism" type="text" id="lVprism" value="<?php echo $row_spec_rx['spec_rx_lvprism']; ?>" size="5" maxlength="5">
          </td>
          <td><select name="lVprismbase" id="lVprismbase">
            <option value="" <?php if (!(strcmp("", $row_spec_rx['spec_rx_rvprismbase']))) {echo "SELECTED";} ?>> </option>
            <option value="UP" <?php if (!(strcmp("UP", $row_spec_rx['spec_rx_rvprismbase']))) {echo "SELECTED";} ?>>UP</option>
            <option value="DN" <?php if (!(strcmp("DN", $row_spec_rx['spec_rx_rvprismbase']))) {echo "SELECTED";} ?>>DN</option>
          </select></td>
          <td><input name="lNradd" type="text" id="lNradd" value="<?php echo $row_spec_rx['spec_rx_lnadd']; ?>" size="6" maxlength="6"></td>
          <td><input name="lNrHprism" type="text" id="lNrHprism" value="<?php echo $row_spec_rx['spec_rx_lnhprism']; ?>" size="5" maxlength="5"></td>
          <td><select name="lNrHprismbase" id="lNrHprismbase">
            <option value="" <?php if (!(strcmp("", $row_spec_rx['spec_rx_lnhprismbase']))) {echo "SELECTED";} ?>> </option>
            <option value="OUT" <?php if (!(strcmp("OUT", $row_spec_rx['spec_rx_lnhprismbase']))) {echo "SELECTED";} ?>>OUT</option>
            <option value="IN" <?php if (!(strcmp("IN", $row_spec_rx['spec_rx_lnhprismbase']))) {echo "SELECTED";} ?>>IN</option>
          </select></td>
          <td><input name="lNrVprism" type="text" id="lNrVprism" value="<?php echo $row_spec_rx['spec_rx_lnvprism']; ?>" size="5" maxlength="5"></td>
          <td><select name="rNrVprismbase" id="rNrVprismbase">
            <option value="" <?php if (!(strcmp("", $row_spec_rx['spec_rx_lnvprismbase']))) {echo "SELECTED";} ?>> </option>
            <option value="UP" <?php if (!(strcmp("UP", $row_spec_rx['spec_rx_lnvprismbase']))) {echo "SELECTED";} ?>>UP</option>
            <option value="DN" <?php if (!(strcmp("DN", $row_spec_rx['spec_rx_lnvprismbase']))) {echo "SELECTED";} ?>>DN</option>
          </select></td>
          <td><input name="lIntadd" type="text" id="lIntadd" value="<?php echo $row_spec_rx['spec_rx_lintadd']; ?>" size="6" maxlength="6"></td>
          <td><input name="lIntHprism" type="text" id="lIntHprism" value="<?php echo $row_spec_rx['spec_rx_linthprism']; ?>" size="5" maxlength="5"></td>
          <td><select name="lIntHprismbase" id="lIntHprismbase">
            <option value=""> </option>
            <option value="OUT">OUT</option>
            <option value="IN">IN</option>
          </select></td>
          <td><input name="lIntVprism" type="text" id="lIntVprism" value="<?php echo $row_spec_rx['spec_rx_lintvprism']; ?>" size="5" maxlength="5"></td>
          <td><select name="lIntVprismbase" id="lIntVprismbase">
            <option value="" <?php if (!(strcmp("", $row_spec_rx['spec_rx_lintvprismbase']))) {echo "SELECTED";} ?>> </option>
            <option value="UP" <?php if (!(strcmp("UP", $row_spec_rx['spec_rx_lintvprismbase']))) {echo "SELECTED";} ?>>UP</option>
            <option value="DN" <?php if (!(strcmp("DN", $row_spec_rx['spec_rx_lintvprismbase']))) {echo "SELECTED";} ?>>DN</option>
          </select></td>
        </tr>
        <tr>
          <td> </td>
          <td><input name="pxID" type="text" id="pxID" value="<?php echo $row_spec_rx['px_id']; ?>" size="3" maxlength="3"></td>
          <td colspan="4"><input name="Update" type="submit" id="Update" value="Update"></td>
          <td><select name="userID" id="userID">
            <?php
    do { 
    ?>
            <option value="<?php echo $row_users['user_id']?>"><?php echo $row_users['username']?></option>
            <?php
    } while ($row_users = mysql_fetch_assoc($users));
      $rows = mysql_num_rows($users);
      if($rows > 0) {
          mysql_data_seek($users, 0);
          $row_users = mysql_fetch_assoc($users);
    ?>
          </select></td>
          <td>External
          <input <?php if (!(strcmp($row_spec_rx['ext_rx'],1))) {echo "checked";} ?> name="extRx" type="checkbox" id="extRx" value="checkbox"></td>
          <td> </td>
          <td> </td>
          <td> </td>
          <td> </td>
          <td> </td>
          <td> </td>
          <td> </td>
          <td> </td>
          <td> </td>
          <td> </td>
        </tr>
      </table>
        <input type="hidden" name="MM_update" value="updateSpecRx">
    </form>
    <p> </p>
    </body>
    </html>
    <?php
    mysql_free_result($spec_rx);
    mysql_free_result($users);
    ?>
    Thanks for any help

    This post solves it:
    How do I pass URL parameter after Update record?

  • Facing issue in Bulk Load Post Process in case of blank fields in csv file

    Hi,
    I ran command line bulk utility to create users in OIM through CSV file. I left few columns as blank which were not mandatory. After executing the bulk utility, user got successfully created in OIM but after that when i ran "Bulk Load Post Process" for LDAP sync then it changed the user's organisation to default organisation "Xellerate User" which is a major issue. It is happening only when i am leaving some column blank. Any idea why it is happening and how to resolve this problem? Need some urgent help!!

    Hi ,
    Thanks for your reply, the issue was we can not use DOD=Y due to the dependency of the Standard Version where other program fetches data from the same XML structure,
    Any way we resolved this issue by re doing below post installation steps. And used a new schema with updated DTD and point that with the same logical schema.
    1) Created a new schema for XML external database
    2) Change the DTD file, keep it in the same location
    3) Change properties file with new schema name
    4) Test with the new schema for XML connection
    5) Reverse engineer the BaseModel ITEMBRANCH only (Where we added additional XML Tags)
    6) Bounce back ODI agent and Client
    Thanks,
    Pc

  • Problem Enhancing 2LIS_03_BX and BF  - no records added

    Problem Enhancing 2LIS_03_BX and BF
    Hi, i am enhancing 2LIS_03_BX and 2LIS_03_BF
    as i added to the cube 0MAT_PLANT.
    In order to get the value i update the UPDR (3.x)
    with formula: RIGHT( 11, 0Material )
    which is correct.
    So far is fine.
    The UPDR get activated.
    And if i load the cube gets fine.
    But i face an issue when transporting it to QAS as, despite the Transport going fine and the UPDR being fine, when i load data using BX or BF it does not add records.
    I already set up all necessary stuff in RC, MCNB, LBW, OLI1Bw...
    I tested it with and without such little enhancement and without enhancement works perfect.
    With enhancement described here does not add records.
    Did any face a similar situation ?
    thanks a million
    alex

    Thank you all for your input.
    Points awarded.
    Though here is the case:
    alright.
    is all a bit weird.
    The scenario is as follows. having a cube copy
    from 0IC_C03 fed from 2LIS_03_Bx and 2LIS_03_BF.
    I enhanced the cube with 0DISMM and 0MAT_PLANT
    on UPDR from 2LIS_03_BX I included
      0DISMM is updated with a small rotine
      0MAT_PLANt updated with brief formula
    I saved + activated.
    Was working on DEV.
    But once transported to QAS all was fine (activated and so on).
    All preliminary steps were done on ECC side (tnx BF11,... LBWG, then mCNB,load...)
    But when loading data was transfering records but not adding them
    I went through all the custo on R3 side.
    Loaded and delted several times from cube and loaded again.
    I finally tried to undo the changes in DEV thus leaving the flow to its original status.
    Then loading again -in DEV.
    All went fine but in DEV even with the changes all was fine.
    I decided to move the flow that put it to its original status to QAS.
    Loaded BX  => went fine
    added records to cube.
    So basically i removed the changes (a formula plus a little routine)
    Transported to QAS.
    Then added the changes again.
    Transported including changes to QAS.
    All is working fine now.
    Just lost few days going through the entire pieces Stocks is entailed of.
    Hope this weird solution comes to someone´s mind if in a similar scenario as a last resort.

  • Slow bulk load

    I have a IOT table and am trying to bulk load 500M rows into it. Using sqlldr it looks like it will take a week while I was able to load MySQL in 3 hours. If anyone has any helpful advice to speed up the load it would be greatly appreciated.
    My control file contains
    OPTIONS (DIRECT=TRUE, ERRORS=5000000)
    UNRECOVERABLE LOAD DATA
    APPEND
    into table applications
    fields terminated by "|"
    TRAILING NULLCOLS
    ( list of my 37 columns... )
    And I run the command
    sqlldr mydatabase control=loader.ctl skip_index_maintenance=true log=log.out data=mydata.dat
    I tried using SORTED INDEXES in the control file however sqlldr would complain records were not in sorted order though they are. I read the error is caused by crossing extents. Should I just set the table to have a 200GB extent?

    The following may be of assistance:
    HW enqueue contention with LOB
    As a workaround is it possible to reduce the number of concurrent updates to the LOBs (say reduce 8 to 4)? Also with a PCTVERSION of 0 there is a possibility you may get a snapshot too old error unless you've set RETENTION to some value (really depends on workload).
    You've probably seen this although not much help for your problem:
    LOB Performance Guidelines

  • Bulk Loader in Tuxedo/Jolt 8.0

    Hello,
    I have installed Tuxedo 8.0 under D:\tuxedo on a Win2000 test-server, using the
    "Full install" option. In production, running Tuxedo 6.5/Jolt 1.1 on NT 4.0, we
    have a catalog D:\tuxedo\udataobj\jolt\client .
    This catalog is no longer present in version 8.0 - is this correct?
    If yes: How do I run the bulk loader, whose class file "jbld.class" lies under
    D:\tuxedo\udataobj\jolt\client\classes\bea\joltadm in version 1.1? I cannot find
    this class file anywhere in the 8.0 install tree!
    regards,
    Simen R.

    This was added to Tuxedo 8.0 as a performance enhancement.
    This ubb option(or equivalent mib and environment attributes)
    sets the cache size for the number of service or interface
    entries that you expect to need to maintain locally.
    Without this cache, all the service/interface information
    must be gotten from the bulletin board process. With this
    cache, the information is immediately available.
    The cache is on by default and the default cache size is
    500 entries. The cache is updated everytime the bulletin
    board is changed so the usefulness of the cache decreases
    when the bulletin board is changing frequently.
    As with any performance tuning, you should test with
    your application to see what size cache(if any) works
    best. Hope this helps.
    Bob Finan
    "°í°æÇÐ" wrote:
    Hi.
    I wonder about SICACHEENTRIESMAX(Service Cache Entry), in Tuxedo Version 8.0
    ubbconfig's SERVERS section.
    Please tell me about its function.
    Thanks in advance.
    Best Regards.

Maybe you are looking for

  • Error after CU2 (11.5.10.2) patch applied

    Hi, we installed 11.5.10 and applied CU2. after running the .env file in application side and if you run any command at command prompt it is displying the following error "error while loading shared libraries: librt.so.1: cannot open shared object" P

  • Need help in IDOC...?

    Moved to correct forum, please use a meaningful subject in future Hi Abapers,                 I have created a model view and after generatin partner profile when i am distributing the model i am getting an error: Model view MATNR_NV has not been upd

  • [SD] Third party with Ship-to different to Sold-to

    Dear all, >> In sales order third-party, I change the partner Ship-to different to Sold-to. When making good receipts for the relavant Purchase order (created for this sales order), the system outputs the Error Message no. KE396: Inconsistency betwee

  • Hi, my phone is stuck "searching..." I deleted all content and date and now it won't activate again, please help?

    Title explains it all, please help My bill is paid I noticed this when I couldnt make calls. When I clicked the call button it did nothing.

  • User defined table usage

    Dear Experts, I would appriciate your advice on the sales budget screen that I am currently woking on. the screen contains a matrix with a cfl on the product group column and a couple of columns stand for  sale figures for each  month. this screen wi