How to insert new record or update existing record using a complex view?

Currently I created this screen, there is no problems on display data, only on the update funtionality (it means insert / update / delete on the table for which the view is based on).
I have a table and a complex view in order to display the information from the table in a tabellar form (i.e up to 70 record in same "record" in the form, one for each item)
The view is like this
select a.f1, a.f2, get_value(a.pk1,1) a1, get_value(a.pk1,2) a2, get_value(a.pk1,3) a3............
from my_table a
where a.proj_id = user
and I want to permit the update of the field a1, a2, a3 in a multiposition canvas (tabellar).
I created an INSTEAD-OF trigger.
But it not work only in the form. I receive the error FRM-40654 when I try to change the existing value in the running form based on that view.
The view is woking and updatable using sql-plus.
If I query
select * from ALL_UPDATABLE_COLUMNS where table_name = 'SPV_BOQ_BOM_POS_ACTIVITIES';
in which 'SPV_BOQ_BOM_POS_ACTIVITIES' is the name of my view.
The question is: why if the view is updatable using SQL*Plus, is not updatable using Oracle Form 10gR2 ?
Someone could help me asap?
Thanks

I removed on the datablock three items that are not showed, one of this is the Sysdate of update on the table for which the view is based.
I removed also the on-lock trigger and the update from the form is NOT working fine.
But for now I can still mantaing the ON-LOCK trigger.
Is not a priority to remove this trigger.
I still have the problem when the field is null, it mean that in the table SP_BOQ_BOM_POS_ACTIVITIES the record not exist.
I try now to explayn better.
SPV_BOQ_BOM_POS_ACTIVITIES is the name of the view.
SP_BOQ_BOM_POS_ACTIVITIES is the name of the table.
This are the desc
desc SPV_BOQ_BOM_POS_ACTIVITIES
Describing SPV_BOQ_BOM_POS_ACTIVITIES....
NAME Null? Type
BOQ_HEADER_ID NOT NULL NUMBER(12,0)
BB_ID NOT NULL NUMBER(12,0)
BOQ_ID NOT NULL NUMBER(12,0)
PROJ_ID NOT NULL VARCHAR2(10)
ACT_GROUP_CODE VARCHAR2(30)
TOTAL_QTY NUMBER
ACT_CODE_1 VARCHAR2(4000)
QTY_1 NUMBER
ACT_CODE_2 VARCHAR2(4000)
QTY_2 NUMBER
ACT_CODE_3 VARCHAR2(4000)
QTY_3 NUMBER
ACT_CODE_4 VARCHAR2(4000)
QTY_4 NUMBER
ACT_CODE_5 VARCHAR2(4000)
QTY_5 NUMBER
ACT_CODE_6 VARCHAR2(4000)
QTY_6 NUMBER
USR_ID NOT NULL VARCHAR2(10)
LMOD NOT NULL DATE
INT_REV NOT NULL NUMBER(6,0)
The field QTY_1, QTY_2.... QTY_6 are calculated with a customer stored function from the table SP_BOQ_BOM_POS_ACTIVITIES.
Also the field ACT_CODE_1, ACT_CODE_2, .... ACT_CODE_6 are calculated with a customer stored function from the table SP_BOQ_BOM_POS_ACTIVITIES.
desc SP_BOQ_BOM_POS_ACTIVITIES
Describing SP_BOQ_BOM_POS_ACTIVITIES....
NAME Null? Type
BBPA_ID NOT NULL NUMBER(12,0)
BOQ_HEADER_ID NOT NULL NUMBER(12,0)
BB_ID NOT NULL NUMBER(12,0)
BOQ_ID NOT NULL NUMBER(12,0)
PROJ_ID NOT NULL VARCHAR2(10)
ACT_GROUP_CODE NOT NULL VARCHAR2(30)
ACT_CODE NOT NULL VARCHAR2(30)
QTY NUMBER(12,0)
FLG_MANUAL_CHANGE VARCHAR2(1)
USR_ID NOT NULL VARCHAR2(10)
LMOD NOT NULL DATE
INT_REV NOT NULL NUMBER(6,0)
If I use SQL Navigator this insert working fine
insert into SPV_BOQ_BOM_POS_ACTIVITIES
(BOQ_HEADER_ID, BB_ID, BOQ_ID, PROJ_ID, ACT_GROUP_CODE, ACT_CODE_1, QTY_1)
values (5050, 5015, 30486, 'B39368', 'TEST', '0101010101010101', 1709)
1 row(s) inserted
Instead using the Screen, at runtime, I receive the message:
FRM-40400 Transation Complete: 1 records applied and saved
but nothing is saved in the table SP_BOQ_BOM_POS_ACTIVITIES, and the view SPV_BOQ_BOM_POS_ACTIVITIES contain the calculated QTY_1 for the 'key', with null value.
Moreover If in the field QTY_1 (NUMBER) I put a character, instead a Number, just to see if the Screen attempts or not an UPDATE or AN INSERT, the message is FRM-40509: Oracle Error. UNABLE TO UPDATE RECORD. Why happen an Update and not an INSERT using the Screen?
In effect, the trial using SQL navigator of the following statement
insert into SPV_BOQ_BOM_POS_ACTIVITIES
(BOQ_HEADER_ID, BB_ID, BOQ_ID, PROJ_ID, ACT_GROUP_CODE, ACT_CODE_1, QTY_1)
values (5050, 5015, 30486, 'B39368', 'TEST', '0101010101010101', 'r');
I got Invalid Number and it's ok as answer from the database.
Edited by: fmariani on 30-apr-2009 1.51

Similar Messages

  • How to add new row and update existing rows at a time form the upload file

    hi
    How to add new row and update existing rows at a time form the upload file
    example:ztable(existing table)
    bcent                      smh            nsmh         valid date
    0001112465      7.4                       26.06.2007
    0001112466      7.5                       26.06.2007
    000111801                      7.6                       26.06.2007
    1982                      7.8                       26.06.2007
    Flat file structure
    bcent                       nsmh         valid date
    0001112465     7.8     26.06.2007  ( update into above table in nsmh)
    0001112466     7.9     26.06.2007  ( update into above table in nsmh) 
    000111801                     7.6      26.06.2007 ( update into above table in nsmh
    1985                      11              26.06.2007   new row it should insert in table
    thanks,
    Sivagopal R

    Hi,
    First upload the file into an internal table. If you are using a file that is on application server. Use open dataset and close dataset.
    Then :
    Loop at it.
    *insert or modify as per your requirement.
    Endloop.
    Regards,
    Srilatha.

  • Inserting new line item into existing delivery using BAPI

    Hi
    can you send me the code for inserting new line item into existing delivery either using BAPI or
    Function module.
    We are using SAP 4.7 version

    Hi Sreekanth,
    Refer to this links
    New item for outbound delivery via FM/BAPI?
    /message/3976349#3976349 [original link is broken]
    BAPI_OUTB_DELIVERY_CHANGE Help - Add new line item
    hope it is useful to you.
    Regards!

  • How to insert new schedule line in Sales order using BAPI

    Hi All,
    I am using the below code to add a new line in the schedules line of a existing sales order.But i am not getting the extra line after running the report.
    Kindly guide me in how to achieve this.
    thanks and regards
    shilpa
    REPORT  Z_VA32_EDI1.
    data: v_vbeln type BAPIVBELN-VBELN,
          wa_order_header type BAPISDH1X,
          i_sch_line type standard table of BAPISCHDL with header line,
          i_sch  type standard table of BAPISCHDLX with header line,
          i_return type standard table of BAPIRET2 with header line.
    v_vbeln = '0030001227'.
    wa_order_header-UPDATEFLAG = 'U'.
    i_sch-ITM_NUMBER = '000010'.
    i_sch-UPDATEFLAG  = 'I'.
    i_sch-REQ_DATE  = 'X'.
    i_sch-REL_TYPE = 'X'.
    i_sch-PLAN_SCHED_TYPE = 'X'.
    i_sch-REQ_QTY     = 'X'.
    append i_Sch.
    i_sch_line-ITM_NUMBER = '000010'.
    i_sch_line-REQ_DATE  = '20080127'.
    i_sch_line-REL_TYPE = '2'.
    i_sch_line-PLAN_SCHED_TYPE = '2'.
    i_sch_line-REQ_QTY     = '65'.
    append i_Sch_line.
    CALL FUNCTION 'BAPI_SALESORDER_CHANGE'
      EXPORTING
        salesdocument               = v_vbeln
      ORDER_HEADER_IN             =
        order_header_inx            = wa_order_header
      SIMULATION                  =
      BEHAVE_WHEN_ERROR           = ' '
      INT_NUMBER_ASSIGNMENT       = ' '
      LOGIC_SWITCH                =
      NO_STATUS_BUF_INIT          = ' '
      tables
        return                      = i_Return
      ORDER_ITEM_IN               =
      ORDER_ITEM_INX              =
      PARTNERS                    =
      PARTNERCHANGES              =
      PARTNERADDRESSES            =
      ORDER_CFGS_REF              =
      ORDER_CFGS_INST             =
      ORDER_CFGS_PART_OF          =
      ORDER_CFGS_VALUE            =
      ORDER_CFGS_BLOB             =
      ORDER_CFGS_VK               =
      ORDER_CFGS_REFINST          =
       SCHEDULE_LINES              = i_sch_line[]
       SCHEDULE_LINESX             = i_sch[]
      ORDER_TEXT                  =
      ORDER_KEYS                  =
      CONDITIONS_IN               =
      CONDITIONS_INX              =
      EXTENSIONIN                 =
      NFMETALLITMS                =
    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
    EXPORTING
    wait = 'X'.
    write: 'Done'.

    hi,
    pass the values 'x' to the bellow structure for all the fields that u want use and provide the item no ,schedule line no.
    SCHEDULE_LINESX

  • 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

  • (Administration - Marketing - Import), you can set a parameter value "Import mode" for what to do in case of duplication as "update existing records", "Import new records". The final report of this import is presented as a text file that can be viewed in

    Administration - Marketing -> Import, you can set a parameter value "Import mode" for what to do in case of duplication as "update existing records", "Import new records". The final report of this import is presented as a text file that can be viewed in Business Administration - Marketing -> Import -> Exceptions. Whatever the exception, including duplication import occurs during import and recorded in a text file.   What are the fields that determine the duplicity? How I can I can change those?

    You will be returned anything that is in the option's value parameter. What is displayed in the dropdown and what is put in the value attribute do NOT need to be the same, so maybe you should start there.

  • How to only update existing records when loading master data ?

    Hello experts, I need your lights one more time.
    Here is my need :
    I have created an infoobject (IO) which is a very simple version of 0material, let's call it Znewmat --> Znewmat has material type and trademark as attributes, those two fields are available in 2 different datasources :
    - 0MATERIAL_ATTR for material type (field MTART)
    - 0MAT_SALES_ATTR for trademark (field MVGR2)
    When loading my new IO from 0MATERIAL_ATTR I use a filter (at DTP level) to get only a few material types (I get something like 1000 records),
    here is my issue : when I load from 0MAT_SALES_ATTR the field "material type" is not available to keep the same filter as for 0MATERIAL_ATTR and existing records are updated with the trademark, but I also get 5000 records I don't need, and my master data is "polluated" with useless lines.
    *and my question : is there a way while performing the second loading to ONLY UPDATE EXISTING RECORDS AND NOT ADD ANY
    NEW RECORDS ? (i didn't find anything in main options of my DTP)*
    (I'd like to avoid the solution to update the 0MAT_SALES_ATTR datasource to add the missing field)
    Thanks in advance for any help, points will be distributed.
    Guillaume P.
    Still no idea ?

    in the start routine of transformation from 0MAT_SALES_ATTR to znewmat do the following:
    select materials from /BIC/PZNEWMAT into i_mat
    for all entries in source_package where material eq source_package-material.
    loop at source_package.
    p_ind = sy-tabix.
    read table i_mat with key material = source_package-material.
    if sy-subrc ne 0.
    delete i_mat index p_ind.
    endif.
    this way you'll only update records that have previously been loaded by 0MATERIAL_ATTR DS
    loading sequence:
    first load ZNEWMAT from 0MATERIAL_ATTR. then activate ZNEWMAT. then load 0MAT_SALES_ATTR to ZNEWMAT.
    M.

  • How to insert new line break in XSLT mapping

    Hi experts,
    I am doing file to mail scenario, i am sending the text file as an attachment using reciever mail adapter.
    I did everything, i can able to send the mail with text file attachment, but with in the file i got multiple rows, i need to put line break in XSLT mapping.
    I did use following statement but it is inserting small rectangle between the records, the records are not separating with new lines, all are in one line.
    <xsl:text>*#xA;</xsl:text>   
    note: in real coding replace * with &
    Can anyone suggest me how to insert new line in XSLT mapping.
    My XSLT mapping as look like:
    <?xml version='1.0'?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:ns0="http://www.Coj.co.za/SapIsuToABSA/DirectDebitFile">
    <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
    <xsl:variable name="break">&lt;br/&gt;</xsl:variable>
    <xsl:variable name="space"> </xsl:variable>
    <xsl:variable name="newline"><xsl:text></xsl:text></xsl:variable>
    <xsl:template match="/">
    <ns1:Mail xmlns:ns1="http://sap.com/xi/XI/Mail/30">
    <Subject>Please Check Attached Direct Debit File</Subject>
    <From>S@za</From>
    <To>P@za</To>
    <Content_Type>text/plain</Content_Type>
    <Content>
    <xsl:for-each select="MT_SapIsuToABSA_DirectDebitFile/DirectDebitRec/Body">
    <xsl:value-of select="Space1"/>
    <xsl:value-of select="Cust_AccNo"/>
    <xsl:value-of select="Reserve_1"/>
    <xsl:value-of select="Cust_Name"/>
    <xsl:value-of select="Cust_Name1"/>
    <xsl:value-of select="Cust_Bank_AccNo"/>
    <xsl:value-of select="Space2"/>
    <xsl:value-of select="Cust_Bank_BranchNo"/>
    <xsl:value-of select="Reserve_2"/>
    <xsl:value-of select="Space3"/>
    <xsl:value-of select="Cust_AccNo_1"/>
    <xsl:value-of select="Space4"/>
    <xsl:value-of select="Reserve_3"/>
    <xsl:value-of select="Deduction_Amnt"/>
    <xsl:value-of select="Space5"/>
    <xsl:value-of select="Reserve_4"/>
    <xsl:value-of select="Space6"/>
    <xsl:value-of select="Action_Date"/>
    <xsl:value-of select="Space7"/>
    <xsl:value-of select="Reserve_5"/>
    <xsl:text>*#xA;</xsl:text>   
    note: in real coding replace * with &
    </xsl:for-each>
    </Content>
      </ns1:Mail>
      </xsl:template>
      </xsl:stylesheet>
    Kind regards,
    Praveen

    Hi,
    I think <xsl:text>#xa;</xsl:text> should do the trick, but depending on which OS (ux or win), the "new line" chars sequence is different (win would require a CRLF like <xsl:text>#xd;*#xa;</xsl:text>)
    Chris
    -> &
    Edited by: Christophe PFERTZEL on Apr 14, 2010 2:16 PM

  • How to create new or delete the existing row in the grid....

    hi my friends...
    i am developing report using Reuse_alv_grid_display...
    my requirement is... At runtime
              1.  i may create new row on the grid (empty row inwhich  i may enter the data).
              2.  i may delete a existing row in the grid
              3.  i may edit the existing data...
    then i have to trace the modification in the grid in one internal table...
    how can i get into this.....
    note:
    i have some idea to edit the existing record in the grid and trace those modification,
    but i don't know abt how to create new or delete the existing row....
    can you give me some idea...

    Hi deva,
    write a class which implemets these methods
    CLASS lcl_event_receiver DEFINITION.
      PUBLIC SECTION.
        METHODS:
    To handle the toolbar on alv
         handle_toolbar
           FOR EVENT toolbar OF cl_gui_alv_grid
              IMPORTING e_object e_interactive,
    To handle the buttons on the alv grid
         handle_user_command
           FOR EVENT user_command OF cl_gui_alv_grid
           IMPORTING e_ucomm.
    endclass.
    Now Implement these methods.
    CLASS lcl_event_receiver IMPLEMENTATION.
    To handle the toolbar on alv
      METHOD handle_toolbar.
       DATA ls_toolbar  TYPE stb_button.
        CLEAR gs_toolbar.
        MOVE 3 TO gs_toolbar-butn_type.
        APPEND gs_toolbar TO e_object->mt_toolbar.
        CLEAR gs_toolbar.
        PERFORM icon_create USING 'ICON_INSERT_ROW' gs_toolbar-icon.
        MOVE text-010 TO gs_toolbar-function.
        MOVE text-012 TO gs_toolbar-quickinfo.
        MOVE ' ' TO gs_toolbar-disabled.
        APPEND gs_toolbar TO e_object->mt_toolbar.
        CLEAR gs_toolbar.
        PERFORM icon_create USING 'ICON_DELETE_ROW' gs_toolbar-icon.
        MOVE text-011 TO gs_toolbar-function.
        MOVE text-013 TO gs_toolbar-quickinfo.
        MOVE ' ' TO gs_toolbar-disabled.
        APPEND gs_toolbar TO e_object->mt_toolbar.
      ENDMETHOD.
       METHOD handle_user_command.
    In this form, check the function code(e_ucomm has the function code), based on that do the required action.
    as i said yesterday(i.e for appending a row, deleting a row, modifying a row)
        PERFORM user_command USING e_ucomm.
      ENDMETHOD
    endclass.
    Before calling the alv method, create a object of this class.
    DATA :
          gref_event_receiver  TYPE REF TO lcl_event_receiver,
          gv_tables_alv          TYPE REF TO cl_gui_alv_grid.
          CREATE OBJECT gref_event_receiver.
          SET HANDLER   gref_event_receiver->handle_user_command
                        FOR gv_tables_alv.
          SET HANDLER   gref_event_receiver->handle_toolbar
                        FOR gv_tables_alv.
    check this program for event handling, it is the similar way
    demo_abap_objects_events
    Hope u understood this.
    Regards,
    Prasant
    reward if helpful

  • How to insert new line in the copied schema with transaction code PE01?

    Dear Experts,
             I have copied HKT0 to ZKT0 , i want to insert new line between  line 150 and line 160 in ZKT0, I don't know how to insert new line 160, who can tell me ?
             Looking forward to your reply.
    Best Regards,
    Merry

    Hi,
    1. Open your schema,
    2. In first colume "Line" select line where you want to add new line,
    3. Replace first value in the column field (that indicates number of line) with character I (means insert),
    4. Press enter
    The line will be added. The same way you can add lines to PCR.
    To delete use character D.
    Cheers

  • How to insert new Item in JCombox through setEditable?

    Hey guys,
    Is there somebody who can help me on how to insert new Item in the JComboBox through setEditable?
    JComboBox box  = new JComboBox();
    box.addItem("");box.addItem("a");
    box.addItem("b");
    box.setEditable(true);
    When I run it and selected the index 0 which the one which color red, I want to edit it and when I press enter key it will add a new item, but preserving this " box.addItem(""); , what I want is to add like this one, box.addItem("The new text entered"); "
    Can you help me with this one... Thanks

    hello,
    the following demo may help,
    import java.awt.BorderLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import javax.swing.DefaultComboBoxModel;
    import javax.swing.JButton;
    import javax.swing.JComboBox;
    import javax.swing.JFrame;
    * comobo.java
    * Version 1.0
    * Date Jan 3, 2006
    * Copyright spatika
    public class comobo extends JFrame implements ActionListener{
         JComboBox jc = new JComboBox();
         DefaultComboBoxModel lm = new DefaultComboBoxModel();
         JButton jb = new JButton("add");
         public comobo(){
              lm.addElement("");
              lm.addElement("1");
              lm.addElement("2");
              lm.addElement("3");
              jc.setModel(lm);
              jc.setEditable(true);
              jb.addActionListener(this);
              getContentPane().add(jb,BorderLayout.NORTH);
              getContentPane().add(jc,BorderLayout.SOUTH);
              pack();
              setVisible(true);
              setDefaultCloseOperation(EXIT_ON_CLOSE);
         public void actionPerformed(ActionEvent i){
              Object text = jc.getSelectedItem();
              jc.setSelectedItem(null);
              lm.addElement(text);
         public static void main(String artgs[]){
              new comobo();
    }thanks
    daya

  • How to insert new line character?

    Hi all,
    I have two lines to print.
    out.println("Available number of columns="+cols);
    out.println("Number of columns must be present=10");My problem is:
    i want both the lines to be printed one below the other. But, it is displayed in one single line.....
    Can anyone please tell me how to insert new line character?
    I tried with \n, '\n' and \r\n but, in vain......
    Thanks for your time.
    Regards,
    Ashvini

    You should never use "\n" directly.
    The line separator character is different on different operating systems.
    And putting quotes around it in your string will make absolutely no difference in the JSP.
    To find out what the line separator is you should use System.getProperty("line.separator");
    The JSPWriter and PrintWriter classes will automatically use this property with a println statement, so a println will always finish with a line separator.
    The issue here was that HTML by default ignores all whitespace.
    The solutions provided
    - use a <br> tag instead of a carriage return
    - use <pre> tags, which tells the browser not to ignore whitespace. That can be troublesome in JSP which generates a lot of extraneous carriage returns into the code.
    Cheers,
    evnafets

  • When I insert new data on an existing graph, the graph deletes

    When I insert new data on an existing graph (for example, just adding a new year of data) and press insert, it just deletes the graph entirely. My only option is to recreate the entire graph which is frustrating because I lose its format and colors. Any suggestions?

    Here I opened the existing chart, with the old data. I need to remove the oldest year and add a new year. Which I do below:
    When I press the check mark, or enter, the graph details all delete.

  • How to Insert Sharepoint 2013 Person or Group Field using VBA

    Hello,
    How to Insert Sharepoint 2013 Person or Group Field using VBA , I tried set the field with ID / ID;Name / Name
    but all failed, Please advice 
    Function SetSP_Field(F_Yer As Single, F_WekNo As Single, F_ProjectNum As String, strField As Variant, strFieldValue As Variant) As String
    ' test code
        Dim rst         As Recordset
        Dim strSQL      As String
        Dim SP_RecSet   As ADODB.Recordset
        Set SP_RecSet = New ADODB.Recordset
        SetSP_Field = False
        strSQL = "Status Report"
        On Error Resume Next
        Call SP_Connect(2)
        strSQL = "select " & SP_List & ".* From  " & SP_List _
               & " Where [Year] = " & CInt(F_Yer) _
               & "   and [WeekNo] = " & CInt(F_WekNo) _
               & "   and [Compass_Code] = '" & F_ProjectNum & "' ; " _
    '           & " Set " & strField & " = " & strFieldValue
        'Debug.Print strSQL
        'Debug.Print SP_CN
        SP_RecSet.Open strSQL, SP_CN, adOpenStatic, adLockOptimistic
        If SP_RecSet.RecordCount = 0 Then
            Debug.Print "Record for project: " & F_ProjectNum & " not found"
            LogFile.WriteLine ("Record " & strID & " not found")
        End If
        If Not SP_RecSet.EOF Then
            'SP_RecSet.Edit
            SP_RecSet.Fields(strField) = strFieldValue
            SP_RecSet.Update
            If Err.Number <> 0 Then
                MsgBox ("SP Update Error: " & Err.Description)
                GoTo Exit_Fun
            End If
            SetSP_Field = True
        End If
    Exit_Fun:
        SP_RecSet.Close
        Set SP_RecSet = Nothing
    End Function

    Hi Tim,
    Let’s verify the followings:
    Whether this issue occurred for other lists in the same site.
    Whether this issue occurred for all users who don’t have full control.
    Whether this issue occurred on other sites.
    When you created the people & group column, which show field did you used? Please try to use a different show field for the people & group column, compare the result.
    In addition, please check if the link is useful:
    http://www.learningsharepoint.com/2013/08/21/empty-value-in-people-picker-after-saving-the-list-form-in-sharepoint/
    Best Regards,
    Wendy
    Wendy Li
    TechNet Community Support

  • How does one add tables to an existing universe using COM designer SDK.

    Morning All
    How does one add tables to an existing universe using COM designer SDK. I have tried:
    objUniverse.Tables.Add (strTable_Name)
    but get "Cannot create Table" error.
    Any ideas?
    Thanks in advance.
    Anita

    Hi Anita,
    -Use the Add method to add classes and objects to an existing universe using a VB 6 application.
    Adding a Class
    Definition: Function Add(Name As String) As Class
    Syntax: NameOfClassesVariable.Add
    Adding an Object Instance
    Definition:  Function Add(Name As String, [ClassName As String]) As Object
    Syntax: NameOfObjectsVariable.Add(name, [class])
    - name is the name of the object.
    - class is the name of the class containing the object. This parameter should be used in cases where more than one objects exist with the same name.
    Sample Visual Basic 6 Code
    Dim DesApp As Designer.Application
    'MODIFY AND EXPORT CLASSES AND OBJECTS OF AN EXISTING UNIVERSE
    Sub modify_and_export_universe()
    Dim DesUnv As Designer.Universe
    Dim DesCls As Designer.Class
    Dim DesObj As Designer.Object
    Dim DesDBCol As Designer.DBColumn
    Dim DBColName As String
    Set DesApp = New Designer.Application
    'Login to designer
    Call DesApp.LogonDialog
    'Make sure to log on with your administrator profile
    'e.g : "hostname","username", "password","Enterprise"
    'Make Designer application visible
    DesApp.Visible = True
    'This line disable warning messages from Designer
    DesApp.Interactive = False
    'to Open  locally  the universe you want to modify
    'Set DesUnv = DesApp.Universes.Open("club_uni")
    'Use OpenFromEnterprise method (Universes Class) to import a universe from the repository and opens it
    Set DesUnv = DesApp.Universes.OpenFromEnterprise("Universes", "club_uni", False)
    'Add a valid connection which already exists
    DesUnv.Connection = "club"
    'open the universe
    'Call DesApp.Universes.Open("club_universe")
    'Add the table Account and refresh the view in the main window
    Set DesTab = DesUnv.DBTables.Item("Customer").Insert
    DesUnv.ArrangeTables
    'Add a class
    Set DesCls = DesUnv.Classes.Add("Class MyCustomer")
    'Looping through all the fields of the DB Table Account
    For Each DesDBCol In DesUnv.DBTables.Item("Customer").DBColumns
    'Store name of the column
        DBColName = DesDBCol.Name 
         'Add an object to the class
        Set DesObj = DesCls.Objects.Add("Obj " & DBColName)
         'Affect a field to the object
        DesObj.Select = "Customer" & "." & DBColName
    Next
    'Save the existing universe with the same name club_uni or you can change
    DesUnv.SaveAs "club_uni"
    MsgBox "Universe created and saved Class MyCustomer has been added!!"
    'Close the universe
    UnvFullName = DesUnv.FullName
    MsgBox "The UniverseFilePath is " & UnvFullName
    'Close the universe
    DesUnv.Close
    'This line disable warning messages from Designer
    DesApp.Interactive = False
    'Export the universe to the CMS DB (to the last universe folder)
    'Make sure you save the universe before exporting it
    Call DesApp.Universes.Export("Universes", UnvFullName)
    MsgBox "This document has been exported successfully !!"
    'Close designer
    DesApp.Quit
    Set DesApp = Nothing
    End Sub
    Hope this helps.
    Regards,
    Deepti Bajpai

Maybe you are looking for