Database updation problem from textbox input

Hi everybody
I am new to java technology .. Plz help me out ...
I am having a problem with this code in one JSP page ..
I am not able to retrive value stored in text box with request.getParameter method whose initial value is assigned by retriving value from database ...
Also Not able to update these values back to database ...
Here is the code ...
<%@ page language="java" import="java.sql.*" import="java.lang.*" %> <%@page contentType="text/html" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"   "http://www.w3.org/TR/html4/loose.dtd"> <% String Susername; Susername = session.getAttribute( "theUsername" ).toString(); %> <html>     <head>         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">         <title>Edit details</title>     </head>     <body>     <table border="0" cellspacing="10" > <thead> <tr>     <%@ include file = "Logtab.jsp" %> </tr> </thead>     <% String Empname,EmpID,Address; Empname = request.getParameter("Empname");   EmpID = request.getParameter("EmpID");   Address = request.getParameter("Address"); Connection connection = null; PreparedStatement statement = null; ResultSet rs = null; response.setContentType("text/html");   try { Class.forName("com.mysql.jdbc.Driver"); connection = DriverManager.getConnection ("jdbc:mysql://localhost:3306/fts","root","admin");                                               statement = connection.prepareStatement("SELECT empname,empid,address FROM emp Where empid='admin'");                                    rs = statement.executeQuery();                                   while(rs.next()){                 %>                 <tbody><form name="DetailsForm" action="AdminHome.jsp" method="POST"> <tr>     <table width="80%" border="0">   <tr>     <td>Name</td>     <td><input name="Empname" type="text" value="<%= rs.getString(1) %>"></td>   </tr>   <tr>     <td>Employee ID</td>     <td><input name="EmpID" type="text" readonly="true" value="<%= rs.getString(2) %>"></td>   </tr>   <tr>     <td>Address</td>     <td><input name="Address" type="text"  value="<%= rs.getString(3) %>"></td>   </tr>   <tr>   <td><input type="submit" value="Submit" name="Submit" /></td>   <td><input type="reset" value="Reset" name="Reset" /></td>   </tr> </table> <%                }                       rs.close();                   Statement s = connection.createStatement();                                  String q = "UPDATE emp SET empname='"+ request.getParameter("Empname") +"' , address ='" +request.getParameter("Address") +"' WHERE empid ='admin'";                                 s.executeUpdate(q);                                                       statement.close();                 s.close();                 }                 catch(SQLException se ) { System.out.println("SQL Exception generated "); }                 %> </tr> </form> </tbody> </table>     </body> </html>

Have you tried adding single quote (') before and after %
cmdSearch.Parameters.Add("@search",
SqlDbType.VarChar).Value
= "\'%" + txtContactFirstName.Text
+ "%\'";
cmdSearch.Parameters.Add("@StId",
SqlDbType.VarChar).Value
= "\'%" + txtContactID.Text
+ "%\'";

Similar Messages

  • Update problem from a dataset

    I'm having a problem updating a row on a backend database using a dataset which contains the datacolumns as parameters with a TableMapping object. I'm using this in conjunction with the ODT.net tool.
    I've used this technique hundreds of times with a SQL Server backend, with no problems whatsoever. I'm not doing anything different.
    Here is the SQL I'm executing:
    <code>
    PROCEDURE proc_prUpdate
              p_CALLID IN CALL.CALLID%TYPE,
              p_STARTTIME IN CALL.STARTTIME%TYPE,
              p_STANDARD IN CALL.STANDARD%TYPE,
              p_DURATION IN CALL.DURATION%TYPE,
              p_VOYCALLID IN CALL.VOYCALLID%TYPE,
              p_LESID IN CALL.LESID%TYPE,
              p_SERVICETYPE IN CALL.SERVICETYPE%TYPE,
              p_MESCATEGORY IN CALL.MESCATEGORY%TYPE,
              p_MOBILE IN CALL.MOBILE%TYPE,
              p_REGIONID IN CALL.REGIONID%TYPE,
              p_TXCHANNEL IN CALL.TXCHANNEL%TYPE,
              p_RXCHANNEL IN CALL.RXCHANNEL%TYPE,
              p_SPOTBEAM IN CALL.SPOTBEAM%TYPE,
              p_TERMINALID IN CALL.TERMINALID%TYPE,
              p_RETURNID IN CALL.RETURNID%TYPE,
              p_TELEPHONENUMBER IN CALL.TELEPHONENUMBER%TYPE,
              p_PID IN CALL.PID%TYPE,
              p_TIMEDURATION IN CALL.TIMEDURATION%TYPE,
              p_LESNAME IN CALL.LESNAME%TYPE,
              p_MESNAME IN CALL.MESNAME%TYPE,
              p_CITY IN CALL.CITY%TYPE,
              p_COUNTRY IN CALL.COUNTRY%TYPE,
              p_TARGETID IN CALL.TARGETID%TYPE,
              p_MESID IN CALL.MESID%TYPE,
              p_DBSERVERID IN CALL.DBSERVERID%TYPE
         AS
         BEGIN
              update CALL set      
              STARTTIME = p_STARTTIME, STANDARD = p_STANDARD, DURATION = p_DURATION, VOYCALLID = p_VOYCALLID, LESID = p_LESID, SERVICETYPE = p_SERVICETYPE, MESCATEGORY = p_MESCATEGORY, MOBILE = p_MOBILE, REGIONID = p_REGIONID, TXCHANNEL = p_TXCHANNEL, RXCHANNEL = p_RXCHANNEL, SPOTBEAM = p_SPOTBEAM, TERMINALID = p_TERMINALID, RETURNID = p_RETURNID, TELEPHONENUMBER = p_TELEPHONENUMBER, PID = p_PID, TIMEDURATION = p_TIMEDURATION, LESNAME = p_LESNAME, MESNAME = p_MESNAME, CITY = p_CITY, COUNTRY = p_COUNTRY, TARGETID = p_TARGETID, MESID = p_MESID, DBSERVERID = p_DBSERVERID
              where CALLID = p_CALLID;
         END;
    </code>
    The following is in the generated code for the DataAdapter. Here are all the parameters for the update command:
    <code>
    Dim OracleParameter29 As Oracle.DataAccess.Client.OracleParameter = New Oracle.DataAccess.Client.OracleParameter
    Dim OracleParameter30 As Oracle.DataAccess.Client.OracleParameter = New Oracle.DataAccess.Client.OracleParameter
    Dim OracleParameter31 As Oracle.DataAccess.Client.OracleParameter = New Oracle.DataAccess.Client.OracleParameter
    Dim OracleParameter32 As Oracle.DataAccess.Client.OracleParameter = New Oracle.DataAccess.Client.OracleParameter
    Dim OracleParameter33 As Oracle.DataAccess.Client.OracleParameter = New Oracle.DataAccess.Client.OracleParameter
    Dim OracleParameter34 As Oracle.DataAccess.Client.OracleParameter = New Oracle.DataAccess.Client.OracleParameter
    Dim OracleParameter35 As Oracle.DataAccess.Client.OracleParameter = New Oracle.DataAccess.Client.OracleParameter
    Dim OracleParameter36 As Oracle.DataAccess.Client.OracleParameter = New Oracle.DataAccess.Client.OracleParameter
    Dim OracleParameter37 As Oracle.DataAccess.Client.OracleParameter = New Oracle.DataAccess.Client.OracleParameter
    Dim OracleParameter38 As Oracle.DataAccess.Client.OracleParameter = New Oracle.DataAccess.Client.OracleParameter
    Dim OracleParameter39 As Oracle.DataAccess.Client.OracleParameter = New Oracle.DataAccess.Client.OracleParameter
    Dim OracleParameter40 As Oracle.DataAccess.Client.OracleParameter = New Oracle.DataAccess.Client.OracleParameter
    Dim OracleParameter41 As Oracle.DataAccess.Client.OracleParameter = New Oracle.DataAccess.Client.OracleParameter
    Dim OracleParameter42 As Oracle.DataAccess.Client.OracleParameter = New Oracle.DataAccess.Client.OracleParameter
    Dim OracleParameter43 As Oracle.DataAccess.Client.OracleParameter = New Oracle.DataAccess.Client.OracleParameter
    Dim OracleParameter44 As Oracle.DataAccess.Client.OracleParameter = New Oracle.DataAccess.Client.OracleParameter
    Dim OracleParameter45 As Oracle.DataAccess.Client.OracleParameter = New Oracle.DataAccess.Client.OracleParameter
    Dim OracleParameter46 As Oracle.DataAccess.Client.OracleParameter = New Oracle.DataAccess.Client.OracleParameter
    Dim OracleParameter47 As Oracle.DataAccess.Client.OracleParameter = New Oracle.DataAccess.Client.OracleParameter
    Dim OracleParameter48 As Oracle.DataAccess.Client.OracleParameter = New Oracle.DataAccess.Client.OracleParameter
    Dim OracleParameter49 As Oracle.DataAccess.Client.OracleParameter = New Oracle.DataAccess.Client.OracleParameter
    Dim OracleParameter50 As Oracle.DataAccess.Client.OracleParameter = New Oracle.DataAccess.Client.OracleParameter
    Dim OracleParameter51 As Oracle.DataAccess.Client.OracleParameter = New Oracle.DataAccess.Client.OracleParameter
    Dim OracleParameter52 As Oracle.DataAccess.Client.OracleParameter = New Oracle.DataAccess.Client.OracleParameter
    Dim OracleParameter53 As Oracle.DataAccess.Client.OracleParameter = New Oracle.DataAccess.Client.OracleParamete
    </code>
    The following is the code for the parameter list in the generated code:
    <code>
    Me.updateOracleCommand1.CommandText = "CALL_PKG.PROC_PRUPDATE"
    Me.updateOracleCommand1.CommandType = System.Data.CommandType.StoredProcedure
    Me.updateOracleCommand1.Connection = Me.oracleConnection1
    OracleParameter29.OracleDbType = Oracle.DataAccess.Client.OracleDbType.Decimal
    OracleParameter29.ParameterName = "P_CALLID"
    OracleParameter29.SourceColumn = "P_CALLID"
    OracleParameter30.OracleDbType = Oracle.DataAccess.Client.OracleDbType.Date
    OracleParameter30.ParameterName = "P_STARTTIME"
    OracleParameter30.SourceColumn = "P_STARTTIME"
    OracleParameter31.OracleDbType = Oracle.DataAccess.Client.OracleDbType.Varchar2
    OracleParameter31.ParameterName = "P_STANDARD"
    OracleParameter31.SourceColumn = "P_STANDARD"
    OracleParameter32.OracleDbType = Oracle.DataAccess.Client.OracleDbType.Decimal
    OracleParameter32.ParameterName = "P_DURATION"
    OracleParameter32.SourceColumn = "P_DURATION"
    OracleParameter33.OracleDbType = Oracle.DataAccess.Client.OracleDbType.Decimal
    OracleParameter33.ParameterName = "P_VOYCALLID"
    OracleParameter33.SourceColumn = "P_VOYCALLID"
    OracleParameter34.OracleDbType = Oracle.DataAccess.Client.OracleDbType.Char
    OracleParameter34.ParameterName = "P_LESID"
    OracleParameter34.SourceColumn = "P_LESID"
    OracleParameter35.OracleDbType = Oracle.DataAccess.Client.OracleDbType.Varchar2
    OracleParameter35.ParameterName = "P_SERVICETYPE"
    OracleParameter35.SourceColumn = "P_SERVICETYPE"
    OracleParameter36.OracleDbType = Oracle.DataAccess.Client.OracleDbType.Decimal
    OracleParameter36.ParameterName = "P_MESCATEGORY"
    OracleParameter36.SourceColumn = "P_MESCATEGORY"
    OracleParameter37.OracleDbType = Oracle.DataAccess.Client.OracleDbType.Varchar2
    OracleParameter37.ParameterName = "P_MOBILE"
    OracleParameter37.SourceColumn = "P_MOBILE"
    OracleParameter38.OracleDbType = Oracle.DataAccess.Client.OracleDbType.Varchar2
    OracleParameter38.ParameterName = "P_REGIONID"
    OracleParameter38.SourceColumn = "P_REGIONID"
    OracleParameter39.OracleDbType = Oracle.DataAccess.Client.OracleDbType.Char
    OracleParameter39.ParameterName = "P_TXCHANNEL"
    OracleParameter39.SourceColumn = "P_TXCHANNEL"
    OracleParameter40.OracleDbType = Oracle.DataAccess.Client.OracleDbType.Char
    OracleParameter40.ParameterName = "P_RXCHANNEL"
    OracleParameter40.SourceColumn = "P_RXCHANNEL"
    OracleParameter41.OracleDbType = Oracle.DataAccess.Client.OracleDbType.Decimal
    OracleParameter41.ParameterName = "P_SPOTBEAM"
    OracleParameter41.SourceColumn = "P_SPOTBEAM"
    OracleParameter42.OracleDbType = Oracle.DataAccess.Client.OracleDbType.Decimal
    OracleParameter42.ParameterName = "P_TERMINALID"
    OracleParameter42.SourceColumn = "P_TERMINALID"
    OracleParameter43.OracleDbType = Oracle.DataAccess.Client.OracleDbType.Char
    OracleParameter43.ParameterName = "P_RETURNID"
    OracleParameter43.SourceColumn = "P_RETURNID"
    OracleParameter44.OracleDbType = Oracle.DataAccess.Client.OracleDbType.Varchar2
    OracleParameter44.ParameterName = "P_TELEPHONENUMBER"
    OracleParameter44.SourceColumn = "P_TELEPHONENUMBER"
    OracleParameter45.OracleDbType = Oracle.DataAccess.Client.OracleDbType.Char
    OracleParameter45.ParameterName = "P_PID"
    OracleParameter45.SourceColumn = "P_PID"
    OracleParameter46.OracleDbType = Oracle.DataAccess.Client.OracleDbType.Varchar2
    OracleParameter46.ParameterName = "P_TIMEDURATION"
    OracleParameter46.SourceColumn = "P_TIMEDURATION"
    OracleParameter47.OracleDbType = Oracle.DataAccess.Client.OracleDbType.Varchar2
    OracleParameter47.ParameterName = "P_LESNAME"
    OracleParameter47.SourceColumn = "P_LESNAME"
    OracleParameter48.OracleDbType = Oracle.DataAccess.Client.OracleDbType.Varchar2
    OracleParameter48.ParameterName = "P_MESNAME"
    OracleParameter48.SourceColumn = "P_MESNAME"
    OracleParameter49.OracleDbType = Oracle.DataAccess.Client.OracleDbType.Varchar2
    OracleParameter49.ParameterName = "P_CITY"
    OracleParameter49.SourceColumn = "P_CITY"
    OracleParameter50.OracleDbType = Oracle.DataAccess.Client.OracleDbType.Varchar2
    OracleParameter50.ParameterName = "P_COUNTRY"
    OracleParameter50.SourceColumn = "P_COUNTRY"
    OracleParameter51.OracleDbType = Oracle.DataAccess.Client.OracleDbType.Decimal
    OracleParameter51.ParameterName = "P_TARGETID"
    OracleParameter51.SourceColumn = "P_TARGETID"
    OracleParameter52.OracleDbType = Oracle.DataAccess.Client.OracleDbType.Char
    OracleParameter52.ParameterName = "P_MESID"
    OracleParameter52.SourceColumn = "P_MESID"
    OracleParameter53.OracleDbType = Oracle.DataAccess.Client.OracleDbType.Decimal
    OracleParameter53.ParameterName = "P_DBSERVERID"
    OracleParameter53.SourceColumn = "P_DBSERVERID"
    Me.updateOracleCommand1.Parameters.Add(OracleParameter29)
    Me.updateOracleCommand1.Parameters.Add(OracleParameter30)
    Me.updateOracleCommand1.Parameters.Add(OracleParameter31)
    Me.updateOracleCommand1.Parameters.Add(OracleParameter32)
    Me.updateOracleCommand1.Parameters.Add(OracleParameter33)
    Me.updateOracleCommand1.Parameters.Add(OracleParameter34)
    Me.updateOracleCommand1.Parameters.Add(OracleParameter35)
    Me.updateOracleCommand1.Parameters.Add(OracleParameter36)
    Me.updateOracleCommand1.Parameters.Add(OracleParameter37)
    Me.updateOracleCommand1.Parameters.Add(OracleParameter38)
    Me.updateOracleCommand1.Parameters.Add(OracleParameter39)
    Me.updateOracleCommand1.Parameters.Add(OracleParameter40)
    Me.updateOracleCommand1.Parameters.Add(OracleParameter41)
    Me.updateOracleCommand1.Parameters.Add(OracleParameter42)
    Me.updateOracleCommand1.Parameters.Add(OracleParameter43)
    Me.updateOracleCommand1.Parameters.Add(OracleParameter44)
    Me.updateOracleCommand1.Parameters.Add(OracleParameter45)
    Me.updateOracleCommand1.Parameters.Add(OracleParameter46)
    Me.updateOracleCommand1.Parameters.Add(OracleParameter47)
    Me.updateOracleCommand1.Parameters.Add(OracleParameter48)
    Me.updateOracleCommand1.Parameters.Add(OracleParameter49)
    Me.updateOracleCommand1.Parameters.Add(OracleParameter50)
    Me.updateOracleCommand1.Parameters.Add(OracleParameter51)
    Me.updateOracleCommand1.Parameters.Add(OracleParameter52)
    Me.updateOracleCommand1.Parameters.Add(OracleParameter53)
    </code>
    Here is the code I'm running to try the update:
    <code>
    OracleDataAdapter1.TableMappings.Add("Table", "CALL")
    OracleDataAdapter1.UpdateCommand.Parameters.Item(0).Value = Call11._Call.Item(0).CALLID
    OracleDataAdapter1.UpdateCommand.Parameters.Item(2).Value = Call11._Call.Item(0).STANDARD
    Call11._Call.Item(0).STARTTIME = DataGrid1.Item(0, 1)
    Call11._Call.Item(0).STANDARD = DataGrid1.Item(0, 2)
    Call11._Call.Item(0).DURATION = DataGrid1.Item(0, 3)
    Call11._Call.Item(0).LESID = DataGrid1.Item(0, 4)
    Call11._Call.Item(0).SERVICETYPE = DataGrid1.Item(0, 5)
    Call11._Call.Item(0).MESCATEGORY = DataGrid1.Item(0, 6)
    Call11._Call.Item(0).MOBILE = DataGrid1.Item(0, 7)
    Call11._Call.Item(0).REGIONID = DataGrid1.Item(0, 8)
    Call11._Call.Item(0).MESID = DataGrid1.Item(0, 22)
    Call11._Call.Item(0).CALLID = Convert.ToInt32(TextBox1.Text)
    OracleDataAdapter1.Update(Call11)
    </code>
    I shouldn't need to add the above lines:
    <code>
    OracleDataAdapter1.UpdateCommand.Parameters.Item(0).Value = Call11._Call.Item(0).CALLID
    OracleDataAdapter1.UpdateCommand.Parameters.Item(2).Value = Call11._Call.Item(0).STANDARD
    </code>
    , but I added them to show you the value of the parms going in.
    When debugging, the following is my output:
    ?Call11._Call.Item(0).RowState
    Modified
    ?Call11._Call.Rows.Count
    1
    You can see that the rowstate is set to "Modified" and the rowcount is 1
    ?OracleDataAdapter1.UpdateCommand.Parameters.Item(0).Value
    8612967 {Long}
    [Long]: 8612967 {Long}
    ?OracleDataAdapter1.UpdateCommand.Parameters.Item(2).Value
    "B" {String}
    String: "B"
    The above, are the values of the first & third parms before the "Update" statement is executed.
    ?OracleDataAdapter1.UpdateCommand.Parameters.Item(0).Value
    {System.DBNull}
    [System.DBNull]: {System.DBNull}
    ?OracleDataAdapter1.UpdateCommand.Parameters.Item(2).Value
    {System.DBNull}
    [System.DBNull]: {System.DBNull}
    The above are the values of the first & third parms after the "Update" statement is executed.
    <code>
    OracleDataAdapter1.Update(Call11)
    </code>
    Notice the values are NULL. why???
    Below, is the value of my TableMapping object:
    ?OracleDataAdapter1.TableMappings.Count
    1
    ?OracleDataAdapter1.TableMappings.Item(0)
    {System.Data.Common.DataTableMapping}
    ColumnMappings: {System.Data.Common.DataColumnMappingCollection}
    DataSetTable: "CALL"
    SourceTable: "Table"
    The datatable name of the strongly typed dataset I am using is "CALL".
    When I change the update statement from:
    <code>
    OracleDataAdapter1.Update(Call11)
    </code>
    to
    <code>
    OracleDataAdapter1.UpdateCommand.ExecuteNonQuery()
    </code>
    the update works (using the latter), but returns a -1 for the records affected (-1 typically means the command can't decipher the action of the command that just took place).
    I might add that I successfully executed a similiar "update" the same way via a dataset prior to what I'm trying to do here.
    Why isn't the backend datasource being updated? I do not get any errors during the update statement execpt for the -1 for the records affected?

    I shortened the package spec to the following:
    <code>
    PROCEDURE proc_prUpdate
              p_CALLID IN CALL.CALLID%TYPE,
              p_STANDARD IN CALL.STANDARD%TYPE
    </code>
    I shortened the package body to the following:
    <code>
    PROCEDURE proc_prUpdate
              p_CALLID IN CALL.CALLID%TYPE,
              p_STANDARD IN CALL.STANDARD%TYPE
         AS
         BEGIN
              update CALL set      
              STANDARD = p_STANDARD
              where CALLID = p_CALLID;
         END;
    </code>
    When I execute the update statement from the associated data adapter, it updates the db correctly, but still gives me a -1 for the records affected.
    When I execute the exact same sql with the record inside a strongly typed dataset, it doesn't update and I still get the -1 for the records affected.
    While debugging, the following output is shown for the parameter list:
    ?daORA.UpdateCommand.Parameters.Item(0)
    {Oracle.DataAccess.Client.OracleParameter}
    ArrayBindSize: Nothing
    ArrayBindStatus: Nothing
    CollectionType: None
    DbType: Decimal
    Direction: Input
    IsNullable: False
    Offset: 0
    OracleDbType: Decimal
    ParameterName: "P_CALLID"
    Precision: 0
    Scale: 0
    Size: 0
    SourceColumn: "P_CALLID"
    SourceVersion: Original
    Status: Success
    Value: 8612967 {Long}
    ?daORA.UpdateCommand.Parameters.Item(1)
    {Oracle.DataAccess.Client.OracleParameter}
    ArrayBindSize: Nothing
    ArrayBindStatus: Nothing
    CollectionType: None
    DbType: String
    Direction: Input
    IsNullable: False
    Offset: 0
    OracleDbType: Varchar2
    ParameterName: "P_STANDARD"
    Precision: 0
    Scale: 0
    Size: 0
    SourceColumn: "P_STANDARD"
    SourceVersion: Current
    Status: Success
    Value: "c" {String}
    ?ds.Tables(0).Rows(0).RowState
    Modified
    Two questions:
    Even though it updates successfully in the first iteration, how come I get the -1 for the records affected?
    In the second iteration, how come it is not updating the backend datasource and how come I still get the -1 for the records affected? You can see that the rowstate is set to modified.
    Is there a problem with the ODP.Net data provider not being able to update a backend datasource with values inside of a datatable during a "da.update" statement?
    With MS SQL Server data provider, it updates the data flawlessly when I put the tables inside of a MS SQL Server.

  • Update problem from a dataset with ODT.

    I'm having a problem updating a row on a backend database using a dataset which contains the datacolumns as parameters with a TableMapping object. I'm using this in conjunction with the ODT.net tool.
    I've used this technique hundreds of times with a SQL Server backend, with no problems whatsoever. I'm not doing anything different.
    Here is the SQL I'm executing:
    <code>
    PROCEDURE proc_prUpdate
              p_CALLID IN CALL.CALLID%TYPE,
              p_STARTTIME IN CALL.STARTTIME%TYPE,
              p_STANDARD IN CALL.STANDARD%TYPE,
              p_DURATION IN CALL.DURATION%TYPE,
              p_VOYCALLID IN CALL.VOYCALLID%TYPE,
              p_LESID IN CALL.LESID%TYPE,
              p_SERVICETYPE IN CALL.SERVICETYPE%TYPE,
              p_MESCATEGORY IN CALL.MESCATEGORY%TYPE,
              p_MOBILE IN CALL.MOBILE%TYPE,
              p_REGIONID IN CALL.REGIONID%TYPE,
              p_TXCHANNEL IN CALL.TXCHANNEL%TYPE,
              p_RXCHANNEL IN CALL.RXCHANNEL%TYPE,
              p_SPOTBEAM IN CALL.SPOTBEAM%TYPE,
              p_TERMINALID IN CALL.TERMINALID%TYPE,
              p_RETURNID IN CALL.RETURNID%TYPE,
              p_TELEPHONENUMBER IN CALL.TELEPHONENUMBER%TYPE,
              p_PID IN CALL.PID%TYPE,
              p_TIMEDURATION IN CALL.TIMEDURATION%TYPE,
              p_LESNAME IN CALL.LESNAME%TYPE,
              p_MESNAME IN CALL.MESNAME%TYPE,
              p_CITY IN CALL.CITY%TYPE,
              p_COUNTRY IN CALL.COUNTRY%TYPE,
              p_TARGETID IN CALL.TARGETID%TYPE,
              p_MESID IN CALL.MESID%TYPE,
              p_DBSERVERID IN CALL.DBSERVERID%TYPE
         AS
         BEGIN
              update CALL set      
              STARTTIME = p_STARTTIME, STANDARD = p_STANDARD, DURATION = p_DURATION, VOYCALLID = p_VOYCALLID, LESID = p_LESID, SERVICETYPE = p_SERVICETYPE, MESCATEGORY = p_MESCATEGORY, MOBILE = p_MOBILE, REGIONID = p_REGIONID, TXCHANNEL = p_TXCHANNEL, RXCHANNEL = p_RXCHANNEL, SPOTBEAM = p_SPOTBEAM, TERMINALID = p_TERMINALID, RETURNID = p_RETURNID, TELEPHONENUMBER = p_TELEPHONENUMBER, PID = p_PID, TIMEDURATION = p_TIMEDURATION, LESNAME = p_LESNAME, MESNAME = p_MESNAME, CITY = p_CITY, COUNTRY = p_COUNTRY, TARGETID = p_TARGETID, MESID = p_MESID, DBSERVERID = p_DBSERVERID
              where CALLID = p_CALLID;
         END;
    </code>
    The following is in the generated code for the DataAdapter. Here are all the parameters for the update command:
    <code>
    Dim OracleParameter29 As Oracle.DataAccess.Client.OracleParameter = New Oracle.DataAccess.Client.OracleParameter
    Dim OracleParameter30 As Oracle.DataAccess.Client.OracleParameter = New Oracle.DataAccess.Client.OracleParameter
    Dim OracleParameter31 As Oracle.DataAccess.Client.OracleParameter = New Oracle.DataAccess.Client.OracleParameter
    Dim OracleParameter32 As Oracle.DataAccess.Client.OracleParameter = New Oracle.DataAccess.Client.OracleParameter
    Dim OracleParameter33 As Oracle.DataAccess.Client.OracleParameter = New Oracle.DataAccess.Client.OracleParameter
    Dim OracleParameter34 As Oracle.DataAccess.Client.OracleParameter = New Oracle.DataAccess.Client.OracleParameter
    Dim OracleParameter35 As Oracle.DataAccess.Client.OracleParameter = New Oracle.DataAccess.Client.OracleParameter
    Dim OracleParameter36 As Oracle.DataAccess.Client.OracleParameter = New Oracle.DataAccess.Client.OracleParameter
    Dim OracleParameter37 As Oracle.DataAccess.Client.OracleParameter = New Oracle.DataAccess.Client.OracleParameter
    Dim OracleParameter38 As Oracle.DataAccess.Client.OracleParameter = New Oracle.DataAccess.Client.OracleParameter
    Dim OracleParameter39 As Oracle.DataAccess.Client.OracleParameter = New Oracle.DataAccess.Client.OracleParameter
    Dim OracleParameter40 As Oracle.DataAccess.Client.OracleParameter = New Oracle.DataAccess.Client.OracleParameter
    Dim OracleParameter41 As Oracle.DataAccess.Client.OracleParameter = New Oracle.DataAccess.Client.OracleParameter
    Dim OracleParameter42 As Oracle.DataAccess.Client.OracleParameter = New Oracle.DataAccess.Client.OracleParameter
    Dim OracleParameter43 As Oracle.DataAccess.Client.OracleParameter = New Oracle.DataAccess.Client.OracleParameter
    Dim OracleParameter44 As Oracle.DataAccess.Client.OracleParameter = New Oracle.DataAccess.Client.OracleParameter
    Dim OracleParameter45 As Oracle.DataAccess.Client.OracleParameter = New Oracle.DataAccess.Client.OracleParameter
    Dim OracleParameter46 As Oracle.DataAccess.Client.OracleParameter = New Oracle.DataAccess.Client.OracleParameter
    Dim OracleParameter47 As Oracle.DataAccess.Client.OracleParameter = New Oracle.DataAccess.Client.OracleParameter
    Dim OracleParameter48 As Oracle.DataAccess.Client.OracleParameter = New Oracle.DataAccess.Client.OracleParameter
    Dim OracleParameter49 As Oracle.DataAccess.Client.OracleParameter = New Oracle.DataAccess.Client.OracleParameter
    Dim OracleParameter50 As Oracle.DataAccess.Client.OracleParameter = New Oracle.DataAccess.Client.OracleParameter
    Dim OracleParameter51 As Oracle.DataAccess.Client.OracleParameter = New Oracle.DataAccess.Client.OracleParameter
    Dim OracleParameter52 As Oracle.DataAccess.Client.OracleParameter = New Oracle.DataAccess.Client.OracleParameter
    Dim OracleParameter53 As Oracle.DataAccess.Client.OracleParameter = New Oracle.DataAccess.Client.OracleParamete
    </code>
    The following is the code for the parameter list in the generated code:
    <code>
    Me.updateOracleCommand1.CommandText = "CALL_PKG.PROC_PRUPDATE"
    Me.updateOracleCommand1.CommandType = System.Data.CommandType.StoredProcedure
    Me.updateOracleCommand1.Connection = Me.oracleConnection1
    OracleParameter29.OracleDbType = Oracle.DataAccess.Client.OracleDbType.Decimal
    OracleParameter29.ParameterName = "P_CALLID"
    OracleParameter29.SourceColumn = "P_CALLID"
    OracleParameter30.OracleDbType = Oracle.DataAccess.Client.OracleDbType.Date
    OracleParameter30.ParameterName = "P_STARTTIME"
    OracleParameter30.SourceColumn = "P_STARTTIME"
    OracleParameter31.OracleDbType = Oracle.DataAccess.Client.OracleDbType.Varchar2
    OracleParameter31.ParameterName = "P_STANDARD"
    OracleParameter31.SourceColumn = "P_STANDARD"
    OracleParameter32.OracleDbType = Oracle.DataAccess.Client.OracleDbType.Decimal
    OracleParameter32.ParameterName = "P_DURATION"
    OracleParameter32.SourceColumn = "P_DURATION"
    OracleParameter33.OracleDbType = Oracle.DataAccess.Client.OracleDbType.Decimal
    OracleParameter33.ParameterName = "P_VOYCALLID"
    OracleParameter33.SourceColumn = "P_VOYCALLID"
    OracleParameter34.OracleDbType = Oracle.DataAccess.Client.OracleDbType.Char
    OracleParameter34.ParameterName = "P_LESID"
    OracleParameter34.SourceColumn = "P_LESID"
    OracleParameter35.OracleDbType = Oracle.DataAccess.Client.OracleDbType.Varchar2
    OracleParameter35.ParameterName = "P_SERVICETYPE"
    OracleParameter35.SourceColumn = "P_SERVICETYPE"
    OracleParameter36.OracleDbType = Oracle.DataAccess.Client.OracleDbType.Decimal
    OracleParameter36.ParameterName = "P_MESCATEGORY"
    OracleParameter36.SourceColumn = "P_MESCATEGORY"
    OracleParameter37.OracleDbType = Oracle.DataAccess.Client.OracleDbType.Varchar2
    OracleParameter37.ParameterName = "P_MOBILE"
    OracleParameter37.SourceColumn = "P_MOBILE"
    OracleParameter38.OracleDbType = Oracle.DataAccess.Client.OracleDbType.Varchar2
    OracleParameter38.ParameterName = "P_REGIONID"
    OracleParameter38.SourceColumn = "P_REGIONID"
    OracleParameter39.OracleDbType = Oracle.DataAccess.Client.OracleDbType.Char
    OracleParameter39.ParameterName = "P_TXCHANNEL"
    OracleParameter39.SourceColumn = "P_TXCHANNEL"
    OracleParameter40.OracleDbType = Oracle.DataAccess.Client.OracleDbType.Char
    OracleParameter40.ParameterName = "P_RXCHANNEL"
    OracleParameter40.SourceColumn = "P_RXCHANNEL"
    OracleParameter41.OracleDbType = Oracle.DataAccess.Client.OracleDbType.Decimal
    OracleParameter41.ParameterName = "P_SPOTBEAM"
    OracleParameter41.SourceColumn = "P_SPOTBEAM"
    OracleParameter42.OracleDbType = Oracle.DataAccess.Client.OracleDbType.Decimal
    OracleParameter42.ParameterName = "P_TERMINALID"
    OracleParameter42.SourceColumn = "P_TERMINALID"
    OracleParameter43.OracleDbType = Oracle.DataAccess.Client.OracleDbType.Char
    OracleParameter43.ParameterName = "P_RETURNID"
    OracleParameter43.SourceColumn = "P_RETURNID"
    OracleParameter44.OracleDbType = Oracle.DataAccess.Client.OracleDbType.Varchar2
    OracleParameter44.ParameterName = "P_TELEPHONENUMBER"
    OracleParameter44.SourceColumn = "P_TELEPHONENUMBER"
    OracleParameter45.OracleDbType = Oracle.DataAccess.Client.OracleDbType.Char
    OracleParameter45.ParameterName = "P_PID"
    OracleParameter45.SourceColumn = "P_PID"
    OracleParameter46.OracleDbType = Oracle.DataAccess.Client.OracleDbType.Varchar2
    OracleParameter46.ParameterName = "P_TIMEDURATION"
    OracleParameter46.SourceColumn = "P_TIMEDURATION"
    OracleParameter47.OracleDbType = Oracle.DataAccess.Client.OracleDbType.Varchar2
    OracleParameter47.ParameterName = "P_LESNAME"
    OracleParameter47.SourceColumn = "P_LESNAME"
    OracleParameter48.OracleDbType = Oracle.DataAccess.Client.OracleDbType.Varchar2
    OracleParameter48.ParameterName = "P_MESNAME"
    OracleParameter48.SourceColumn = "P_MESNAME"
    OracleParameter49.OracleDbType = Oracle.DataAccess.Client.OracleDbType.Varchar2
    OracleParameter49.ParameterName = "P_CITY"
    OracleParameter49.SourceColumn = "P_CITY"
    OracleParameter50.OracleDbType = Oracle.DataAccess.Client.OracleDbType.Varchar2
    OracleParameter50.ParameterName = "P_COUNTRY"
    OracleParameter50.SourceColumn = "P_COUNTRY"
    OracleParameter51.OracleDbType = Oracle.DataAccess.Client.OracleDbType.Decimal
    OracleParameter51.ParameterName = "P_TARGETID"
    OracleParameter51.SourceColumn = "P_TARGETID"
    OracleParameter52.OracleDbType = Oracle.DataAccess.Client.OracleDbType.Char
    OracleParameter52.ParameterName = "P_MESID"
    OracleParameter52.SourceColumn = "P_MESID"
    OracleParameter53.OracleDbType = Oracle.DataAccess.Client.OracleDbType.Decimal
    OracleParameter53.ParameterName = "P_DBSERVERID"
    OracleParameter53.SourceColumn = "P_DBSERVERID"
    Me.updateOracleCommand1.Parameters.Add(OracleParameter29)
    Me.updateOracleCommand1.Parameters.Add(OracleParameter30)
    Me.updateOracleCommand1.Parameters.Add(OracleParameter31)
    Me.updateOracleCommand1.Parameters.Add(OracleParameter32)
    Me.updateOracleCommand1.Parameters.Add(OracleParameter33)
    Me.updateOracleCommand1.Parameters.Add(OracleParameter34)
    Me.updateOracleCommand1.Parameters.Add(OracleParameter35)
    Me.updateOracleCommand1.Parameters.Add(OracleParameter36)
    Me.updateOracleCommand1.Parameters.Add(OracleParameter37)
    Me.updateOracleCommand1.Parameters.Add(OracleParameter38)
    Me.updateOracleCommand1.Parameters.Add(OracleParameter39)
    Me.updateOracleCommand1.Parameters.Add(OracleParameter40)
    Me.updateOracleCommand1.Parameters.Add(OracleParameter41)
    Me.updateOracleCommand1.Parameters.Add(OracleParameter42)
    Me.updateOracleCommand1.Parameters.Add(OracleParameter43)
    Me.updateOracleCommand1.Parameters.Add(OracleParameter44)
    Me.updateOracleCommand1.Parameters.Add(OracleParameter45)
    Me.updateOracleCommand1.Parameters.Add(OracleParameter46)
    Me.updateOracleCommand1.Parameters.Add(OracleParameter47)
    Me.updateOracleCommand1.Parameters.Add(OracleParameter48)
    Me.updateOracleCommand1.Parameters.Add(OracleParameter49)
    Me.updateOracleCommand1.Parameters.Add(OracleParameter50)
    Me.updateOracleCommand1.Parameters.Add(OracleParameter51)
    Me.updateOracleCommand1.Parameters.Add(OracleParameter52)
    Me.updateOracleCommand1.Parameters.Add(OracleParameter53)
    </code>
    Here is the code I'm running to try the update:
    <code>
    OracleDataAdapter1.TableMappings.Add("Table", "CALL")
    OracleDataAdapter1.UpdateCommand.Parameters.Item(0).Value = Call11._Call.Item(0).CALLID
    OracleDataAdapter1.UpdateCommand.Parameters.Item(2).Value = Call11._Call.Item(0).STANDARD
    Call11._Call.Item(0).STARTTIME = DataGrid1.Item(0, 1)
    Call11._Call.Item(0).STANDARD = DataGrid1.Item(0, 2)
    Call11._Call.Item(0).DURATION = DataGrid1.Item(0, 3)
    Call11._Call.Item(0).LESID = DataGrid1.Item(0, 4)
    Call11._Call.Item(0).SERVICETYPE = DataGrid1.Item(0, 5)
    Call11._Call.Item(0).MESCATEGORY = DataGrid1.Item(0, 6)
    Call11._Call.Item(0).MOBILE = DataGrid1.Item(0, 7)
    Call11._Call.Item(0).REGIONID = DataGrid1.Item(0, 8)
    Call11._Call.Item(0).MESID = DataGrid1.Item(0, 22)
    Call11._Call.Item(0).CALLID = Convert.ToInt32(TextBox1.Text)
    OracleDataAdapter1.Update(Call11)
    </code>
    I shouldn't need to add the above lines:
    <code>
    OracleDataAdapter1.UpdateCommand.Parameters.Item(0).Value = Call11._Call.Item(0).CALLID
    OracleDataAdapter1.UpdateCommand.Parameters.Item(2).Value = Call11._Call.Item(0).STANDARD
    </code>
    , but I added them to show you the value of the parms going in.
    When debugging, the following is my output:
    ?Call11._Call.Item(0).RowState
    Modified
    ?Call11._Call.Rows.Count
    1
    You can see that the rowstate is set to "Modified" and the rowcount is 1
    ?OracleDataAdapter1.UpdateCommand.Parameters.Item(0).Value
    8612967 {Long}
    [Long]: 8612967 {Long}
    ?OracleDataAdapter1.UpdateCommand.Parameters.Item(2).Value
    "B" {String}
    String: "B"
    The above, are the values of the first & third parms before the "Update" statement is executed.
    ?OracleDataAdapter1.UpdateCommand.Parameters.Item(0).Value
    {System.DBNull}
    [System.DBNull]: {System.DBNull}
    ?OracleDataAdapter1.UpdateCommand.Parameters.Item(2).Value
    {System.DBNull}
    [System.DBNull]: {System.DBNull}
    The above are the values of the first & third parms after the "Update" statement is executed.
    <code>
    OracleDataAdapter1.Update(Call11)
    </code>
    Notice the values are NULL. why???
    Below, is the value of my TableMapping object:
    ?OracleDataAdapter1.TableMappings.Count
    1
    ?OracleDataAdapter1.TableMappings.Item(0)
    {System.Data.Common.DataTableMapping}
    ColumnMappings: {System.Data.Common.DataColumnMappingCollection}
    DataSetTable: "CALL"
    SourceTable: "Table"
    The datatable name of the strongly typed dataset I am using is "CALL".
    When I change the update statement from:
    <code>
    OracleDataAdapter1.Update(Call11)
    </code>
    to
    <code>
    OracleDataAdapter1.UpdateCommand.ExecuteNonQuery()
    </code>
    the update works (using the latter), but returns a -1 for the records affected (-1 typically means the command can't decipher the action of the command that just took place).
    I might add that I successfully executed a similiar "update" the same way via a dataset prior to what I'm trying to do here.
    Why isn't the backend datasource being updated? I do not get any errors during the update statement execpt for the -1 for the records affected?

    I shortened the package spec to the following:
    <code>
    PROCEDURE proc_prUpdate
              p_CALLID IN CALL.CALLID%TYPE,
              p_STANDARD IN CALL.STANDARD%TYPE
    </code>
    I shortened the package body to the following:
    <code>
    PROCEDURE proc_prUpdate
              p_CALLID IN CALL.CALLID%TYPE,
              p_STANDARD IN CALL.STANDARD%TYPE
         AS
         BEGIN
              update CALL set      
              STANDARD = p_STANDARD
              where CALLID = p_CALLID;
         END;
    </code>
    When I execute the update statement from the associated data adapter, it updates the db correctly, but still gives me a -1 for the records affected.
    When I execute the exact same sql with the record inside a strongly typed dataset, it doesn't update and I still get the -1 for the records affected.
    While debugging, the following output is shown for the parameter list:
    ?daORA.UpdateCommand.Parameters.Item(0)
    {Oracle.DataAccess.Client.OracleParameter}
    ArrayBindSize: Nothing
    ArrayBindStatus: Nothing
    CollectionType: None
    DbType: Decimal
    Direction: Input
    IsNullable: False
    Offset: 0
    OracleDbType: Decimal
    ParameterName: "P_CALLID"
    Precision: 0
    Scale: 0
    Size: 0
    SourceColumn: "P_CALLID"
    SourceVersion: Original
    Status: Success
    Value: 8612967 {Long}
    ?daORA.UpdateCommand.Parameters.Item(1)
    {Oracle.DataAccess.Client.OracleParameter}
    ArrayBindSize: Nothing
    ArrayBindStatus: Nothing
    CollectionType: None
    DbType: String
    Direction: Input
    IsNullable: False
    Offset: 0
    OracleDbType: Varchar2
    ParameterName: "P_STANDARD"
    Precision: 0
    Scale: 0
    Size: 0
    SourceColumn: "P_STANDARD"
    SourceVersion: Current
    Status: Success
    Value: "c" {String}
    ?ds.Tables(0).Rows(0).RowState
    Modified
    Two questions:
    Even though it updates successfully in the first iteration, how come I get the -1 for the records affected?
    In the second iteration, how come it is not updating the backend datasource and how come I still get the -1 for the records affected? You can see that the rowstate is set to modified.
    Is there a problem with the ODP.Net data provider not being able to update a backend datasource with values inside of a datatable during a "da.update" statement?
    With MS SQL Server data provider, it updates the data flawlessly when I put the tables inside of a MS SQL Server.

  • How to update jTable from user input?

    I create one jTable with 2 rows and 3 columns. the jtable colums contains deviceIP and Status. I am getting device IP from user input through jTextfield. so, when user enter IP and click add button, it must added in the jTable rows one by one.
    how can I add it by user enter the IP. Also, I want to update the status column value by "UP" or "DOWN" by just getting string value from other function.
    but, my problem is i need to update the correct IP status value to correct column (ie., I want to put IP 1(row 1) status to column 1 in status column list.
    I don't know about jTable .
    If any one have any examples please give me.

    use
    ((DefaultTableModel)jTable.getModel()).addRow(Object[]);
    Object[] is the array of row data values you want to insert;

  • Updating problems from Lightroom 5.5 to 5.6

    i tried to update Lightroom from 5.5 to 5.6 but when it says "updating component registration" I keep getting the error message "Key not valid for use in specified state."  To make matters worse, the updater has already removed Lighroom 5.5 so I don't even have the program on my computer at all!  I tried to re-download it and re-install Lightroom 5.0, but I get the same error message, and I don't even have a chance to put in my product key.  this is very frustrating and I have no idea why this would have happened.

    I don't know for sure, but I imagine it has to do with Adobe's method of gradually notifying people of the upgrade to keep their servers from getting flooded. If all the hundreds of thousands of accounts where constantly checking to see if new programs where available every minute of every day, that would be some serious overhead. They probably do something like "check once daily at midnight to see if new versions of PS, LR, IL, DW, etc are available and notify the user".

  • IPod Touch 2G Update Problem from 2.2.1 to 4.2.1

    Hi @ all
    and at the first, sorry for my bad english.
    I have a strange problem with my iPod Touch 2G 32GB.
    At the moment there is the version 2.2.1 installed.
    When i connect it to the pc, there pop's up a Message,
    that there is a new version (4.2.1) available.
    Wenn i confirm this, the update process is running,
    but after some time, it pop's up an error message.
    (Mostly error 1601 or 1604).
    AND the iPod is complete dark (only black screen).
    No apple logo or itunes connect image, only black.
    With some time i get 'blind' in the DFU mode and so
    i can recover the Version 2.2.1. All other firmwares
    3.x or 4.x do not work. Alway's the same Problems.
    I have tested this on different pc systems with the newes
    iTunse version and in Recover and DFU Modes with the same
    bad results.
    What can i do, to install the firmware 4.2.1 on my device ?
    I hope someone can help me.
    Best regards,
    AttNet

    Yes, i have do all the things, but with the same result.
    I have update a second ipod touch 2g 32GB (from my girlfriend) from
    2.2.1 to 4.2.1 without problems.
    Only my device have this problem.
    I have the newest itunes installed on two different pc systems also with
    the same bad results.
    I found the following. Before the update is started, the device is
    in by example DFU mode. I can see it with usbview on the port.
    When an update is running normal, this descriptor is canceld and the
    device coms up with an other one (by example iBoot Device)
    Then the update start. The first USB connection is ok, and then, this
    one is canceld but the second on, don't come up.
    itunes wait a long time for it and the ist pop up error 160x message.
    For my bad device it work's, when i use an firmware file with version
    2.x.x but for all others (3.x and 4.x) the update do not work
    (while the second usb descriptor don't comes up).
    But this is not an hardware Problem of the device and not from the
    pc side. 2.x Versions are running .....
    I hope someone has an other idea for me :-(
    Best regards and thank you for your reply !
    AttNet

  • LSMW updating problem with direct input method

    Hi!
    Using version 4.0.0 of the LSM Workbench from 2001-07-01 on SAP R/3 4.7, I need to update the purchase order text and wanted to use the direct input method.  I found a tutorial on SAPTechnical which I followed.  All went well, the input data was converted and at last I got the message:
    "Long Texts in Total : 2
    Successfully Transferred Long Texts : 2
    Non-Transferred Long Texts : 0"
    My trials are recorded in table STXH with date and time and also in the material master change history.  However, the result in the material master is that the purchase order text is NOT updated.
    Can anyone tell me why this might be?

    Hi Santosh!
    First of all, thank you very much for posting an answer.  But unfortunately it was of no help.  I want to update the purchase order text on a material that already has the purchasing and purchase order text views. When I compare the PO text before and after my "Successfuly Transferred Long Texts" there is no change.  I hope that this make it more clear but it is still a mystery to me.

  • Update problems from 10.3.7.to 10.3.9

    Because problems I was encountering with my CoreMidi, CoreAudio plug in, I was force to re-install the system. I used the system disk that came with my Mac Mini (10.3.7), and by accident I cleaned out the drive. Not a problem. The thing is I was running 10.3.9 before the re-install and a few of my programs I cannot install because I need to be running 10.3.9 but I’m now back on 10.3.7.
    I downloaded updates from the Apple site to install but during the 2nd step of the installation process, when you assign the drive in which to install to, it does not allow it due to insufficient disk space. I have 43GB of available space on my hard drive and the OS X 10.3.9 is only 37MB.
    I tried updating to 10.4.1 but a window popup said that it could not be installed on my computer.
    Any help/insight will be deeply appreciated.
    Willie Bruno

    I tried updating to 10.4.1 but a window popup said that it could not be installed on my computer.
    If you are saying you tried to use a downloaded updater for 10.4.1, that won't work because you currently have 10.3 installed. You would need to buy a retail copy of 10.4 and install it before being able to use any 10.4.x updater.
    If you are using the downloaded updater for 10.3.9, make sure you are using the "combo" updater. There is also an updater that updates from 10.3.8 to 10.3.9, but since you are trying to go from 10.3.7 to 10.3.9, you need the combo updater. This one...
    http://docs.info.apple.com/article.html?artnum=300967

  • Database Update Problem

    Hi All,
    I am having a table control on a screen, I am updating the table control rows and then saving , I want all the rows in the table should get modified in the database table, for this I am using the code below  but it is giving a runtime error 'SAPSQL_ARRAy_INSERT_DUPREC.
    Please Suggest.
    form update_database.
      data: lt_del_rows type table of ZEXC_REC,
            lt_ins_keys type g_verifier->zexc_rec_keys,
            l_ins_key type g_verifier->ZEXC_REC_key,
            ls_ZEXC_REC type ZEXC_REC,
            ls_outtab like line of gt_outtab,
            lt_instab type table of ZEXC_REC.
    §8.When all values are valid, use your internal tables
       to update your table on the database.
    First delete lines in data base according to the
    keys you remembered within 'g_verifier'.
    Imagine a user deleted a row and then entered one with
    the same key fields like the deleted ones.
    Then both tables (deleted_rows, inserted_rows) have got
    an entry of this row.
    So if you first inserted the new rows in the data base
    and then deleted rows according to 'deleted_rows'
    The reentered rows would be lost.
    1.Delete Lines:
      call method g_verifier->get_deleted_rows
              importing deleted_rows = lt_del_rows.
      delete ZEXC_REC from table lt_del_rows.
    2.Insert Lines:
      call method g_verifier->get_inserted_rows
              importing inserted_rows = lt_ins_keys.
      loop at lt_ins_keys into l_ins_key.
        read table gt_outtab into ls_outtab
         with key LIFNR = l_ins_key-LIFNR
                  DOCNO = l_ins_key-DOCNO
                  DOCTYP = l_ins_key-DOCTYP
                  HIERNO = l_ins_key-HIERNO
                  matnr = l_ins_key-matnr.
        if sy-subrc eq 0.
          move-corresponding ls_outtab to ls_ZEXC_REC.
          append ls_ZEXC_REC to lt_instab.
        endif.
      endloop.
      insert ZEXC_REC from table lt_instab.
      commit work.
    Insert first default row for ARE1 document
    §9.Refresh your internal tables.
      call method g_verifier->refresh_delta_tables.
    endform.
    Thanks.

    You have to write like this
    INCLUDE <icon>.
    * Predefine a local class for event handling to allow the
    * declaration of a reference variable before the class is defined.
    CLASS lcl_event_receiver DEFINITION DEFERRED.
    CLASS cl_gui_container DEFINITION LOAD.
    DATA : o_alvgrid          TYPE REF TO cl_gui_alv_grid,
           i_selected_rows TYPE lvc_t_row.
    CLASS lcl_event_receiver DEFINITION.
    *   event receiver definitions for ALV actions
      PUBLIC SECTION.
        CLASS-METHODS:
    * Status bar
           handle_user_command
            FOR EVENT user_command OF cl_gui_alv_grid
                IMPORTING e_ucomm,
    ENDCLASS.
    CLASS lcl_event_receiver IMPLEMENTATION.
      METHOD handle_user_command.
    * In event handler method for event USER_COMMAND: Query your
    *   function codes defined in step 2 and react accordingly.
        CASE e_ucomm.
          WHEN 'FCODE'.
            CALL METHOD o_alvgrid->get_selected_rows
              IMPORTING
                et_index_rows = i_selected_rows
            IF i_selected_rows[] IS INITIAL.
              MESSAGE i153 WITH text-009.
              LEAVE LIST-PROCESSING.
            ENDIF.
      WHEN OTHERS.
        ENDCASE.
      ENDMETHOD.
    Have you tried similar to this.
    Check for the parameters in get_deleted_rows.
    The function should retrieve teh deleted rows when you press a delete button.
    So write the code in the user_command for delete functionality.
    Make sure all these are there in ur program.
    Also SET HANDLER FOR user command should be there.
    Verify whether get_deleted_rows is available in the method.

  • Update problems from 10.7.5 upwards

    Hi, i have an Imac 27inch, Mid 2011.
    processor: 3.4 GHz intel core i7
    memory: 8GB
    Storage: 2TB
    Currently on operating system Mac OS x Lion 10.7.5.
    i have a big issue from where when i try to do a software update it says "software update can't check for updates because of a network problem. software update can't connect to update server."
    i do not understand this as my internet connection is faultless and works perfectly and i can use the internet on my imac.
    So i cannot do an update from 10.7.5 and also the app store says "cannot connect to app store" im guessing these two problems must be linked.
    i have tried doing it over wired connection, wireless stil no luck.
    if anyone can help me solve this i'll be eternally grateful.
    thanks, abu.

    Hi abu-bakr khan,
    I'm sorry to hear you are having connection issues with your iMac. If you are having multiple issues connecting to Apple update or app download servers/stores, you may find the troubleshooting steps outlined in the following articles helpful. In particular, you may want to verify with your ISP or network administrator that the listed ports and server addresses are not blocked, especially if your Internet connection otherwise works fine, and that they have not been added to any local or network firewalls.
    Can't connect to the iTunes Store - Apple Support
    Well known TCP and UDP ports used by Apple software products - Apple Support
    OS X: Server addresses used by Software Update - Apple Support
    Regards,
    - Brenden

  • Kernel update problem from 7.00 pl 57 to 75

    Hi
    We've installed ECC 6.0 unicode system on i5/os V5R4. Our kernel patch level is 7.00 57. Now we want to  apply pl 75. We've downloaded SAPEXE.SAR and SAPEXEDB.SAR from SAP Service Marketplace. And we've copied this files to a directory named "kern75" at root of our SAP server. And also we create a file named PART under the directory "kern75" and the content of the file PART is:
    SAPEXE.SAR,
    SAPEXEDB.SAR,
    after this we logon to server with KNPADM and we tried the execute this command:
    LODSAPKRN DEV(STMF) MNTPNT ('/kern75') KRNLIB(SAPKNPUC) USERDEF(YES) LIST('/kern75/PART')
    But this command ended with error. We could not know which is wrong with this command?
    On the other hand, we could not sure kernel library name is true or not...
    We are waiting for your suggestion.

    Hi Thomas,
    Thank you very much for your suggestion about authorization.
    We can run APYR3FIX succesfully, after giving necessary authorization for object RSTOBJ.
    But now, we have a new problem...
    We think that we should run APYSAP after running AYPR3FIX. So we run the command below:
    APYSAP TYPE(KERNEL) SID(KNP) DSTLIB(SAPKNPUC) MODE(INCR)                
    But we get an error with this command.
    We gave the current kernel library as DSTLIB parameter. Is this correct?
    And also we run both APYR3FIX and APSAP command as user KNPADM not KNPOFR, Does this cause any problem?
    Best Regards...
    Summary of log is:
    Display All Messages                                                                               
    Sistem:   KNCPRD  
    Job . . :   QPADEV0002    User . . :   KNPADM        Number . . . :   009613                                                                               
    3>> APYSAP TYPE(KERNEL) SID(KNP) DSTLIB(SAPKNPUC) MODE(INCR)                
         QTEMP kitapl&#305;&#287;&#305;nda yer alan *USRSPC tipindeki GETOBJINF nesnesinin iyesi  
           de&#287;i&#351;tirildi.                                                           
         QTEMP kitapl&#305;&#287;&#305;nda yer alan *USRSPC tipindeki GETOBJINF nesnesinin iyesi  
           de&#287;i&#351;tirildi.                                                           
         APYSAP startet at Wed Dec 13 13:35:08 2006                                
         *INCR Mode                                                                
         Ignoring IFS part cleanipc - no update needed.                            
         Ignoring IFS part ar_AA.ISO8859-6 - no update needed.                     
         Ignoring IFS part ar_AA.ISO8859-6__64 - no update needed.                 
         Ignoring IFS part cs_CZ.ISO8859-2 - no update needed.                     
         Ignoring IFS part cs_CZ.ISO8859-2__64 - no update needed.                 
         Ignoring IFS part da_DK.ISO8859-1 - no update needed.                     
        Ignoring IFS part R3load - no update needed.                              
         Ignoring IFS part R3szchk - no update needed.                             
         QTEMP kitapl&#305;&#287;&#305;nda yer alan *USRSPC tipindeki GETOBJINF nesnesinin iyesi  
           de&#287;i&#351;tirildi.                                                           
         QTEMP kitapl&#305;&#287;&#305;nda yer alan *USRSPC tipindeki GETOBJINF nesnesinin iyesi  
           de&#287;i&#351;tirildi.                                                           
         QTEMP kitapl&#305;&#287;&#305;nda yer alan *USRSPC tipindeki GETOBJINF nesnesinin iyesi  
           de&#287;i&#351;tirildi.                                                           
         QTEMP kitapl&#305;&#287;&#305;nda yer alan *USRSPC tipindeki GETOBJINF nesnesinin iyesi  
           de&#287;i&#351;tirildi.                  
         QTEMP kitapl&#305;&#287;&#305;nda yer alan *USRSPC tipindeki GETOBJINF nesnesinin iyesi  
           de&#287;i&#351;tirildi.                                                           
         IFS part updated: /usr/sap/KNP/sys/exe/run/IGSEXE.SAR.                    
         QTEMP kitapl&#305;&#287;&#305;nda yer alan *USRSPC tipindeki GETOBJINF nesnesinin iyesi  
           de&#287;i&#351;tirildi.                                                           
         Directory created.                                                        
         Object changed.                                                           
         Object changed.                                                           
         Object changed.                                                           
         Object changed.                                                           
         Object changed.                                                                               
    Link added.                                                               
         Object changed.                                                           
         Object changed.                                                           
         Link added.                                                               
         Object changed.                                                           
         Object changed.                                                           
         Link added.                                                               
         Link added.                                                               
         Object changed.                                                           
         Object changed.                                                           
         R3KNP400 kitapl&#305;&#287;&#305;nda yer alan *PGM tipindeki R3INLPGM nesnesi silindi.   
         R3KNP400 kitapl&#305;&#287;&#305;nda yer alan *PGM tipindeki R3INLPGM nesnesinin iyesi   
           de&#287;i&#351;tirildi.                                                           
         Object R3INLPGM in R3KNP400 type *PGM created.                            
         1 objects duplicated.                                                     
         R3KNP400 kitapl&#305;&#287;&#305;nda yer alan *PGM tipindeki R3INLPGM nesnesinin iyesi   
           de&#287;i&#351;tirildi.                                                           
         R3SYS kitapl&#305;&#287;&#305;nda yer alan *PGM tipindeki SAPINITX nesnesinin iyesi      
           de&#287;i&#351;tirildi.                                                           
         Object SAPINITX in R3SYS type *PGM created.                               
         1 objects duplicated.                                                                               
    R3SYS kitapl&#305;&#287;&#305;nda yer alan *PGM tipindeki SAPINITX nesnesi silindi.      
         QTEMP kitapl&#305;&#287;&#305;nda yer alan *USRSPC tipindeki GETOBJINF nesnesinin iyesi  
           de&#287;i&#351;tirildi.                                                           
         collectSystemInfo: could not open profile directory                       
           Ü/usr/sap/KNP/put/KNP/SYS/profileÜ.                                     
         Current library changed to R3KNPDATA.                                     
         User class and special authorities do not match system supplied values.   
         User profile KNPOFR changed.                                              
         User class and special authorities do not match system supplied values.   
         User profile KNPOPR changed.                                              
         User class and special authorities do not match system supplied values.   
         User profile KNPADM changed.                                              
         QTEMP kitapl&#305;&#287;&#305;nda yer alan *USRSPC tipindeki GETOBJINF nesnesinin iyesi  
           de&#287;i&#351;tirildi.                                                                               
    collectSystemInfo: could not open profile directory                       
           Ü/usr/sap/KNP/put/KNP/SYS/profileÜ.                                     
         JDBC exit programs for system KNP registered successfully.                
         APYSAP: 2 parts failed, 1 parts succeeded.                                
         APYSAP finished with errors at Wed Dec 13 13:38:18 2006._                 
         Errors occurred in command.                                               
         Errors occurred in command.

  • Aperture App Store Update Problem (from 3.4.1)

    i am trying to find out if i have a problem with updates.
    i am on 3.4.1 on a mac pro using lion and it appears to me there are updates available for Aperture. when i go into the App Store and login under my CURRENT apple ID it shows Aperture (along with Lion and Mountain Lion and a couple other items. however, when i click on "Update" it says that "to update you must sign in to the account you used to purchase it."
    if i log in using an old App Store (?) ID it shows that i have Skitch and Mactracker purchased under this account.
    unless i am missing something this has been a source of endless problems over here and i cannot figure out if it is due to my originally having another account, if there is something amiss with my Aperture d/l or if there is soemthing going on with my switch from MobileMe to iCloud (very hairy problems with this indeed).
    in any event can anyone offer advice as to whether i am just misunderstanding something here or if this is a bona fide problem? is there a way now to merge these two accounts?
    TIA

    Hi,
    Try resetting your iPod:  http://support.apple.com/kb/HT1430. 
    Hope this helps! 
    ---likeabird---

  • Database connection problem from RDBMSRealm

    Hi Everyone,
    I am implementing an application with Weblogic5.1, RDBMSRealm, Merant type 4 JDBC driver and SQL server 7.0. When I am starting
    the Weblogic server, I am getting an error as described as follows. Can anyone there give me a clue?
    As you see, I am using Merant Spy JDBC driver (for debugging).
    With this kind of driver, any JDBC calls to database server
    in the code will be displayed.
    As you know, there are a quite number of "prepareStatement" from RDBMSRealm. When the weblogic server is starting, they have to be initialized. I don't understand why it needs to make a connection for each "prepareStatement"?, and why it is still in connection mode after it is initialized?
    Thanks a lot.
    -John
    Thu Jan 18 16:01:00 EST 2001:<I> <System Props> weblogic.system.home = Ppg
    Thu Jan 18 16:01:00 EST 2001:<I> <System Props> weblogic.system.name = PpgServer
    Thu Jan 18 16:01:00 EST 2001:<I> <WebLogicServer> Loaded License : D:/weblogic/license/WebLogicLicense.xml
    Thu Jan 18 16:01:00 EST 2001:<I> <WebLogicServer> Server loading from weblogic.class.path. EJB redeployment enabled.
    registerDriver: driver[className=com.merant.datadirect.jdbc.sqlserver.SQLServerDriver,com.merant.datadirect.jdbc.sqlserver.SQLServerDriver@d071d920]
    skipping: driver[className=weblogic.jdbc.pool.Driver,weblogic.jdbc.pool.Driver@fdd92d]
    spy>> Connection accepted by SQLServer
    spy>> OK (Connection[1])
    getConnection returning driver[className=com.merant.jdbcspy.SpyDriver,com.merant.jdbcspy.SpyDriver@cee1d920]
    spy>> Connection[1].prepareStatement(String sql)
    spy>> sql = SELECT U_NAME, U_PASSWORD FROM users WHERE U_NAME = ?
    spy>> OK (PreparedStatement[1])
    spy>> Connection[1].prepareStatement(String sql)
    spy>> sql = SELECT A_NAME, A_PRINCIPAL, A_PERMISSION FROM aclentries WHERE A_NA..
    spy>> OK (PreparedStatement[2])
    spy>> Connection[1].prepareStatement(String sql)
    spy>> sql = SELECT U_NAME, U_PASSWORD FROM users
    spy>> OK (PreparedStatement[3])
    spy>> Connection[1].prepareStatement(String sql)
    spy>> sql = SELECT GM_GROUP, GM_MEMBER FROM groupmembers ORDER BY GM_GROUP
    spy>> OK (PreparedStatement[4])
    spy>> Connection[1].prepareStatement(String sql)
    spy>> sql = SELECT A_NAME, A_PRINCIPAL, A_PERMISSION FROM aclentries ORDER BY A..
    spy>> java.sql.SQLException: [MERANT][SQLServer JDBC Driver][SQLServer]Login fa..
    java.sql.SQLException: [MERANT][SQLServer JDBC Driver][SQLServer]Login failed. The maximum simultaneous user count of 5 licenses for this 'Standard Edition' server has been exceeded. Additional licenses should be ob
    tained and installed or you should upgrade to a full version.
    at com.merant.datadirect.jdbc.base.BaseExceptions.getException(BaseExceptions.java:72)
    at com.merant.datadirect.jdbc.sqlserver.tds.TDSRequest.processErrorToken(TDSRequest.java:401)
    at com.merant.datadirect.jdbc.sqlserver.tds.TDSRequest.processReplyToken(TDSRequest.java:1571)
    at com.merant.datadirect.jdbc.sqlserver.tds.TDSLoginRequest.processReplyToken(TDSLoginRequest.java:549)
    at com.merant.datadirect.jdbc.sqlserver.tds.TDSRequest.processTokensInReply(TDSRequest.java, Compiled Code)
    at com.merant.datadirect.jdbc.sqlserver.tds.TDSRequest.processReply(TDSRequest.java:1661)
    at com.merant.datadirect.jdbc.sqlserver.SQLServerImplConnection.open(SQLServerImplConnection.java:98)
    at com.merant.datadirect.jdbc.base.BaseConnection.getNewImplConnection(BaseConnection.java:405)
    at com.merant.datadirect.jdbc.base.BaseConnection.getImplConnection(BaseConnection.java:333)
    at com.merant.datadirect.jdbc.base.BaseStatement.getImplConnection(BaseStatement.java:1223)
    at com.merant.datadirect.jdbc.base.BaseStatement.getImplStatement(BaseStatement.java:1241)
    at com.merant.datadirect.jdbc.base.BasePreparedStatement.<init>(BasePreparedStatement.java:63)
    at com.merant.datadirect.jdbc.base.BaseConnection.prepareStatement(BaseConnection.java:960)
    at com.merant.jdbcspy.SpyConnection.prepareStatement(Unknown Source)
    at com.bea.ppg.rdbmsrealm.RDBMSDelegate.prepare(RDBMSDelegate.java:116)
    at com.bea.ppg.rdbmsrealm.RDBMSDelegate.<init>(RDBMSDelegate.java:187)
    at com.bea.ppg.rdbmsrealm.RDBMSDelegate$DFactory.newInstance(RDBMSDelegate.java:912)
    at weblogic.utils.reuse.Pool.getInstance(Pool.java:57)
    at com.bea.ppg.rdbmsrealm.RDBMSRealm.getDelegate(RDBMSRealm.java:115)
    at com.bea.ppg.rdbmsrealm.RDBMSRealm.getPermission(RDBMSRealm.java:515)
    at weblogic.security.acl.CachingRealm.getPermission(CachingRealm.java:1698)
    at weblogic.security.acl.CachingRealm.setupAcls(CachingRealm.java, Compiled Code)
    at weblogic.security.acl.CachingRealm.<init>(CachingRealm.java:706)
    at weblogic.security.acl.CachingRealm.<init>(CachingRealm.java:564)
    at weblogic.t3.srvr.T3Srvr.initializeSecurity(T3Srvr.java:1750)
    at weblogic.t3.srvr.T3Srvr.start(T3Srvr.java, Compiled Code)
    at weblogic.t3.srvr.T3Srvr.main(T3Srvr.java:827)
    at java.lang.reflect.Method.invoke(Native Method)
    at weblogic.Server.startServerDynamically(Server.java:99)
    at weblogic.Server.main(Server.java:65)
    at weblogic.Server.main(Server.java:55)
    Unable to initialize server: com.bea.ppg.rdbmsrealm.RDBMSException: realm initialization failed, Connection.prepareStatement() failed on statement "SELECT A_NAME, A_PRINCIPAL, A_PERMISSION FROM aclentries ORDER BY A
    _NAME, A_PRINCIPAL", - with nested exception:
    [java.sql.SQLException: [MERANT][SQLServer JDBC Driver][SQLServer]Login failed. The maximum simultaneous user count of 5 licenses for this 'Standard Edition' server has been exceeded. Additional licenses should be o
    btained and installed or you should upgrade to a full version.]
    fatal initialization exception
    com.bea.ppg.rdbmsrealm.RDBMSException: realm initialization failed, Connection.prepareStatement() failed on statement "SELECT A_NAME, A_PRINCIPAL, A_PERMISSION FROM aclentries ORDER BY A_NAME, A_PRINCIPAL", - with
    nested exception:
    [java.sql.SQLException: [MERANT][SQLServer JDBC Driver][SQLServer]Login failed. The maximum simultaneous user count of 5 licenses for this 'Standard Edition' server has been exceeded. Additional licenses should be o
    btained and installed or you should upgrade to a full version.]
    at com.bea.ppg.rdbmsrealm.RDBMSDelegate.<init>(RDBMSDelegate.java:210)
    at com.bea.ppg.rdbmsrealm.RDBMSDelegate$DFactory.newInstance(RDBMSDelegate.java:912)
    at weblogic.utils.reuse.Pool.getInstance(Pool.java:57)
    at com.bea.ppg.rdbmsrealm.RDBMSRealm.getDelegate(RDBMSRealm.java:115)
    at com.bea.ppg.rdbmsrealm.RDBMSRealm.getPermission(RDBMSRealm.java:515)
    at weblogic.security.acl.CachingRealm.getPermission(CachingRealm.java:1698)
    at weblogic.security.acl.CachingRealm.setupAcls(CachingRealm.java, Compiled Code)
    at weblogic.security.acl.CachingRealm.<init>(CachingRealm.java:706)
    at weblogic.security.acl.CachingRealm.<init>(CachingRealm.java:564)
    at weblogic.t3.srvr.T3Srvr.initializeSecurity(T3Srvr.java:1750)
    at weblogic.t3.srvr.T3Srvr.start(T3Srvr.java, Compiled Code)
    at weblogic.t3.srvr.T3Srvr.main(T3Srvr.java:827)
    at java.lang.reflect.Method.invoke(Native Method)
    at weblogic.Server.startServerDynamically(Server.java:99)
    at weblogic.Server.main(Server.java:65)
    at weblogic.Server.main(Server.java:55)
    D:\weblogic>goto finish
    D:\weblogic>cd Ppg
    D:\weblogic\Ppg>ENDLOCAL
    D:\weblogic\Ppg>

    John, this should be fairly easy to correct. Make sure that you are closing
    your prepared statements after you finish with then. Even if you have 3
    connections open and you don't close your statements, more connections will
    be opened to take care of need.
    Hope that this helps.
    Paul
    "John Wang" <[email protected]> wrote in message
    news:[email protected]...
    >
    All SQL server connections come from the code itself. As you see in themessage output, everytime when the server is initalizing a
    "prepareStatement(String sql)" which comes from RDBMSRealm, it is making a
    connection. When it starts the sixth, it is broken. In other words, to make
    the server start with RDMBSRealm, I have to have the number of SQL server
    licence at least the same as the number of "prepareStatement(String sql)" in
    RDBMSRrealm realm. Is my understanding correct here? Why is it still in
    connection mode after one "prepareStatement" is initialized? Any ideas?
    >
    Thanks.
    -John
    "Pete Cressman" <[email protected]> wrote:
    The same error? Hmm... the trace says:
    java.sql.SQLException: [MERANT][SQLServer JDBC Driver][SQLServer]Login
    failed. The maximum simultaneous user count of 5 licenses for this 'Standard
    Edition' server has been exceeded. Additional licenses should be obtained
    and installed or you should upgrade to a full version.
    >>
    Find out who is making so many connections. Sorry, that's the best I cansuggest. Good luck.
    >>
    "John Wang" <[email protected]> wrote:
    Hi Pete,
    Thanks for your help.
    As you suggested, I modified the value DEFAULT_POOL_SIZE = 2 or 1 and
    compiled it again. When I run, it still gave me the same error message. What
    could it be wrong?
    >>>
    -John
    "Pete Cressman" <[email protected]> wrote:
    RDBMSDelegates are pooled by RDBMSRealm. The connection in each
    RDBMSDelegate is held open until the class is disposed. the default pool
    size is 6. Your license is limited to 5 connections total. Modify the code
    in RDBMSRealm so DEFAULT_POOL_SIZE = 2 or 3.
    >>>>
    "John Wang" <[email protected]> wrote:
    Hi Everyone,
    I am implementing an application with Weblogic5.1, RDBMSRealm, Merant
    type 4 JDBC driver and SQL server 7.0. When I am starting
    the Weblogic server, I am getting an error as described as follows.Can anyone there give me a clue?
    >>>>>
    As you see, I am using Merant Spy JDBC driver (for debugging).
    With this kind of driver, any JDBC calls to database server
    in the code will be displayed.
    As you know, there are a quite number of "prepareStatement" fromRDBMSRealm. When the weblogic server is starting, they have to be
    initialized. I don't understand why it needs to make a connection for each
    "prepareStatement"?, and why it is still in connection mode after it is
    initialized?
    >>>>>
    Thanks a lot.
    -John
    Thu Jan 18 16:01:00 EST 2001:<I> <System Props> weblogic.system.home =Ppg
    Thu Jan 18 16:01:00 EST 2001:<I> <System Props> weblogic.system.name =PpgServer
    Thu Jan 18 16:01:00 EST 2001:<I> <WebLogicServer> Loaded License :D:/weblogic/license/WebLogicLicense.xml
    Thu Jan 18 16:01:00 EST 2001:<I> <WebLogicServer> Server loading fromweblogic.class.path. EJB redeployment enabled.
    registerDriver:driver[className=com.merant.datadirect.jdbc.sqlserver.SQLServerDriver,com.me
    rant.datadirect.jdbc.sqlserver.SQLServerDriver@d071d920]
    skipping:driver[className=weblogic.jdbc.pool.Driver,weblogic.jdbc.pool.Driver@fdd92d]
    spy>> Connection accepted by SQLServer
    spy>> OK (Connection[1])
    getConnection returningdriver[className=com.merant.jdbcspy.SpyDriver,com.merant.jdbcspy.SpyDriver@c
    ee1d920]
    >>>>>
    spy>> Connection[1].prepareStatement(String sql)
    spy>> sql = SELECT U_NAME, U_PASSWORD FROM users WHERE U_NAME = ?
    spy>> OK (PreparedStatement[1])
    spy>> Connection[1].prepareStatement(String sql)
    spy>> sql = SELECT A_NAME, A_PRINCIPAL, A_PERMISSION FROM aclentriesWHERE A_NA..
    spy>> OK (PreparedStatement[2])
    spy>> Connection[1].prepareStatement(String sql)
    spy>> sql = SELECT U_NAME, U_PASSWORD FROM users
    spy>> OK (PreparedStatement[3])
    spy>> Connection[1].prepareStatement(String sql)
    spy>> sql = SELECT GM_GROUP, GM_MEMBER FROM groupmembers ORDER BYGM_GROUP
    spy>> OK (PreparedStatement[4])
    spy>> Connection[1].prepareStatement(String sql)
    spy>> sql = SELECT A_NAME, A_PRINCIPAL, A_PERMISSION FROM aclentriesORDER BY A..
    spy>> java.sql.SQLException: [MERANT][SQLServer JDBCDriver[SQLServer]Login fa..
    java.sql.SQLException: [MERANT][SQLServer JDBC Driver][SQLServer]Login
    failed. The maximum simultaneous user count of 5 licenses for this 'Standard
    Edition' server has been exceeded. Additional licenses should be ob
    tained and installed or you should upgrade to a full version.
    atcom.merant.datadirect.jdbc.base.BaseExceptions.getException(BaseExceptions.j
    ava:72)
    atcom.merant.datadirect.jdbc.sqlserver.tds.TDSRequest.processErrorToken(TDSReq
    uest.java:401)
    atcom.merant.datadirect.jdbc.sqlserver.tds.TDSRequest.processReplyToken(TDSReq
    uest.java:1571)
    atcom.merant.datadirect.jdbc.sqlserver.tds.TDSLoginRequest.processReplyToken(T
    DSLoginRequest.java:549)
    atcom.merant.datadirect.jdbc.sqlserver.tds.TDSRequest.processTokensInReply(TDS
    Request.java, Compiled Code)
    atcom.merant.datadirect.jdbc.sqlserver.tds.TDSRequest.processReply(TDSRequest.
    java:1661)
    atcom.merant.datadirect.jdbc.sqlserver.SQLServerImplConnection.open(SQLServerI
    mplConnection.java:98)
    atcom.merant.datadirect.jdbc.base.BaseConnection.getNewImplConnection(BaseConn
    ection.java:405)
    atcom.merant.datadirect.jdbc.base.BaseConnection.getImplConnection(BaseConnect
    ion.java:333)
    atcom.merant.datadirect.jdbc.base.BaseStatement.getImplConnection(BaseStatemen
    t.java:1223)
    atcom.merant.datadirect.jdbc.base.BaseStatement.getImplStatement(BaseStatement
    .java:1241)
    atcom.merant.datadirect.jdbc.base.BasePreparedStatement.<init>(BasePreparedSta
    tement.java:63)
    atcom.merant.datadirect.jdbc.base.BaseConnection.prepareStatement(BaseConnecti
    on.java:960)
    at com.merant.jdbcspy.SpyConnection.prepareStatement(UnknownSource)
    atcom.bea.ppg.rdbmsrealm.RDBMSDelegate.prepare(RDBMSDelegate.java:116)
    atcom.bea.ppg.rdbmsrealm.RDBMSDelegate.<init>(RDBMSDelegate.java:187)
    atcom.bea.ppg.rdbmsrealm.RDBMSDelegate$DFactory.newInstance(RDBMSDelegate.java
    :912)
    at weblogic.utils.reuse.Pool.getInstance(Pool.java:57)
    atcom.bea.ppg.rdbmsrealm.RDBMSRealm.getDelegate(RDBMSRealm.java:115)
    atcom.bea.ppg.rdbmsrealm.RDBMSRealm.getPermission(RDBMSRealm.java:515)
    atweblogic.security.acl.CachingRealm.getPermission(CachingRealm.java:1698)
    atweblogic.security.acl.CachingRealm.setupAcls(CachingRealm.java, Compiled
    Code)
    atweblogic.security.acl.CachingRealm.<init>(CachingRealm.java:706)
    atweblogic.security.acl.CachingRealm.<init>(CachingRealm.java:564)
    atweblogic.t3.srvr.T3Srvr.initializeSecurity(T3Srvr.java:1750)
    at weblogic.t3.srvr.T3Srvr.start(T3Srvr.java, Compiled Code)
    at weblogic.t3.srvr.T3Srvr.main(T3Srvr.java:827)
    at java.lang.reflect.Method.invoke(Native Method)
    at weblogic.Server.startServerDynamically(Server.java:99)
    at weblogic.Server.main(Server.java:65)
    at weblogic.Server.main(Server.java:55)
    Unable to initialize server: com.bea.ppg.rdbmsrealm.RDBMSException:realm initialization failed, Connection.prepareStatement() failed on
    statement "SELECT A_NAME, A_PRINCIPAL, A_PERMISSION FROM aclentries ORDER BY
    A
    _NAME, A_PRINCIPAL", - with nested exception:
    [java.sql.SQLException: [MERANT][SQLServer JDBCDriver[SQLServer]Login failed. The maximum simultaneous user count of 5licenses for this 'Standard Edition' server has been exceeded. Additional
    licenses should be o
    btained and installed or you should upgrade to a full version.]
    fatal initialization exception
    com.bea.ppg.rdbmsrealm.RDBMSException: realm initialization failed,Connection.prepareStatement() failed on statement "SELECT A_NAME,
    A_PRINCIPAL, A_PERMISSION FROM aclentries ORDER BY A_NAME, A_PRINCIPAL", -
    with
    nested exception:
    [java.sql.SQLException: [MERANT][SQLServer JDBCDriver[SQLServer]Login failed. The maximum simultaneous user count of 5licenses for this 'Standard Edition' server has been exceeded. Additional
    licenses should be o
    btained and installed or you should upgrade to a full version.]
    atcom.bea.ppg.rdbmsrealm.RDBMSDelegate.<init>(RDBMSDelegate.java:210)
    atcom.bea.ppg.rdbmsrealm.RDBMSDelegate$DFactory.newInstance(RDBMSDelegate.java
    :912)
    at weblogic.utils.reuse.Pool.getInstance(Pool.java:57)
    atcom.bea.ppg.rdbmsrealm.RDBMSRealm.getDelegate(RDBMSRealm.java:115)
    atcom.bea.ppg.rdbmsrealm.RDBMSRealm.getPermission(RDBMSRealm.java:515)
    atweblogic.security.acl.CachingRealm.getPermission(CachingRealm.java:1698)
    atweblogic.security.acl.CachingRealm.setupAcls(CachingRealm.java, Compiled
    Code)
    atweblogic.security.acl.CachingRealm.<init>(CachingRealm.java:706)
    atweblogic.security.acl.CachingRealm.<init>(CachingRealm.java:564)
    atweblogic.t3.srvr.T3Srvr.initializeSecurity(T3Srvr.java:1750)
    at weblogic.t3.srvr.T3Srvr.start(T3Srvr.java, Compiled Code)
    at weblogic.t3.srvr.T3Srvr.main(T3Srvr.java:827)
    at java.lang.reflect.Method.invoke(Native Method)
    at weblogic.Server.startServerDynamically(Server.java:99)
    at weblogic.Server.main(Server.java:65)
    at weblogic.Server.main(Server.java:55)
    D:\weblogic>goto finish
    D:\weblogic>cd Ppg
    D:\weblogic\Ppg>ENDLOCAL
    D:\weblogic\Ppg>

  • Problem with direct input program while uploading data into database

    TABLES:  BGR00,                        " Mappensatz
             BMM00,                        " MM01/MM02  BTCI-Kopfdaten
             BMMH1,                        " MM01/MM02 Hauptdaten
             BMMH2,                        " Länderdaten (Steuern)
             BMMH3,                        " Prognosewerte
             BMMH4,                        " Verbrauchswerte
             BMMH5,                        " Kurztexte
             BMMH6,                        " Mengeneinheiten
             BMMH7,                        " Langtexte
             BMMH8.                        " Referentielle EAN's
           Satztypen
    DATA:    MAPPENSATZ  LIKE BMM00-STYPE VALUE '0',
             KOPFSATZ    LIKE BMM00-STYPE VALUE '1',
             HAUPTSATZ   LIKE BMM00-STYPE VALUE '2',
             KUN_SATZ    LIKE BMM00-STYPE VALUE 'Z',
             LANDSATZ    LIKE BMM00-STYPE VALUE '3',
             PROGSATZ    LIKE BMM00-STYPE VALUE '4',
             VERBSATZ    LIKE BMM00-STYPE VALUE '5',
             KTEXTSATZ   LIKE BMM00-STYPE VALUE '6',
             MESATZ      LIKE BMM00-STYPE VALUE '7',
             TEXTSATZ    LIKE BMM00-STYPE VALUE '8',
             EANSATZ     LIKE BMM00-STYPE VALUE '9'.
    Common Data Bereich fuer die extern aufgerufenen Routinen
           Initialstrukturen
    DATA:  BEGIN OF COMMON PART RMMMBIMY.
    DATA:    BEGIN OF I_BMM00.
               INCLUDE STRUCTURE BMM00.    " Kopfdaten
    DATA:    END OF I_BMM00.
    DATA:    BEGIN OF I_BMMH1.
               INCLUDE STRUCTURE BMMH1.    " Haupdaten
    DATA:    END OF I_BMMH1.
    DATA:    BEGIN OF I_BMMH2.
               INCLUDE STRUCTURE BMMH2.    " Länderdaten
    DATA:    END OF I_BMMH2.
    DATA:    BEGIN OF I_BMMH3.
               INCLUDE STRUCTURE BMMH3.    " Prognosewerte
    DATA:    END OF I_BMMH3.
    DATA:    BEGIN OF I_BMMH4.
               INCLUDE STRUCTURE BMMH4.    " Verbrauchswerte
    DATA:    END OF I_BMMH4.
    DATA:    BEGIN OF I_BMMH5.
               INCLUDE STRUCTURE BMMH5.    " Kurztexte
    DATA:    END OF I_BMMH5.
    DATA:    BEGIN OF I_BMMH6.
               INCLUDE STRUCTURE BMMH6.    " Mengeneinheiten
    DATA:    END OF I_BMMH6.
    DATA:    BEGIN OF I_BMMH7.
               INCLUDE STRUCTURE BMMH7.    " Textzeilen
    DATA:    END OF I_BMMH7.
    DATA:    BEGIN OF I_BMMH8.
               INCLUDE STRUCTURE BMMH8.    " Referentielle EAN's
    DATA:    END OF I_BMMH8.
    DATA:  END OF COMMON PART.
    DATA: WA LIKE TEDATA-DATA.
           Einzelfelder
    DATA:    GROUP_COUNT(6) TYPE C,    " Anzahl Mappen
             TRANS_COUNT(6) TYPE C,    " alte Definition für rmmmbim0
             SATZ_COUNT  LIKE MUEB_REST-TRANC, " Trans.zähler neu
             H_IND_COUNT LIKE MUEB_REST-D_IND, " Index welches Feld zurücks.
             SATZ2_COUNT(6) TYPE C.    " Anz. Sätze je Trans. ohne Kopfsatz
    DATA:    XEOF(1)          TYPE C,  " X=End of File erreicht
             XHAUPTSATZ_EXIST TYPE C,  " X=Hauptsatz zum Kopf exi.
             NODATA(1)        TYPE C.  " kein BI für dieses Feld
    mk/15.08.94:
    DATA:    GROUP_OPEN(1)  TYPE C.             " X=Mappe schon geöffnet
    *eject
           Konstanten
    DATA:    C_NODATA(1)    TYPE C VALUE '/'.   " Default für NODATA
    DATA:    MATNR_ERW     LIKE MARA-MATNR  VALUE '0                 '.
    DATA:    MATNR_ERW_INT LIKE MARA-MATNR.  "internal sight of '0      '
    DATA:    MATNR_LAST    LIKE MARA-MATNR.  "Material number
    mk/11.08.94 2.1H:
    If this flag is initial, the database updates will be done directly
    during background maintenance instead of using a separate update
    task. (no usage of this flag in dialogue mode!)
    DATA: DBUPDATE_VB(1) VALUE ' '.       "note 306628
    data: matsync type mat_sync. "wk/99a no update in dialog if called
    ***INCLUDE ZMUSD070.
    TABLES: MARA,                          "Material Master: General Data
            MARC,                          "Material Master: C Segment
            MARD,                          "Material Master: St Loc/Batch
            MBEW,                          "Material Valuation
            MVKE,                          "Material Master: Sales Data
            MLGN,                          "Material Data per Whse Number
            MLAN,                          "Tax Classification: Material
            T001W,                         "Plants/Branches
            TBICU.
    DATA: BEGIN OF VALUTAB OCCURS 0.
            INCLUDE STRUCTURE RSPARAMS.
    DATA: END OF VALUTAB.
    DATA: BEGIN OF VARTECH.
            INCLUDE STRUCTURE VARID.
    DATA: END OF VARTECH.
    DATA: PARMS LIKE ZXXDCONV.
    DATA: REC_COUNT      TYPE  I,
          REC_COUNT_BAD  TYPE  I,
          ZJOBID         LIKE  TBIZU-JOBID,
          ZJOBCOUNT      LIKE  TBIZU-JOBCOUNT,
          ZMATNR         LIKE  MARA-MATNR,
          ZTEXT(80)      TYPE  C.
    CONSTANTS: LIT_ZERO(18)  TYPE  C            VALUE '000000000000000000',
               LIT_CHAR      TYPE  C            VALUE '_',
               LIT_CREATE    LIKE  BMM00-TCODE  VALUE 'MM01',
               LIT_CHANGE    LIKE  BMM00-TCODE  VALUE 'MM02',
               LIT_CHECK(1)  TYPE  C            VALUE 'X'.
    DATA:  BEGIN OF INP_DATA OCCURS 0,
             MATNR(18)  TYPE C,            " Material code
             UMREN(6)   TYPE C,            " Denominator
             MEINH(3)   TYPE C,            " Alternate UOM
             UMREZ(6)   TYPE C,            " Numerator
           END OF INP_DATA.
    *eject
    SELECTION-SCREEN BEGIN OF BLOCK INOUT WITH FRAME TITLE TEXT-001.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT (13) TEXT-004.
    PARAMETERS:     P_PC        RADIOBUTTON GROUP SRC DEFAULT 'X'.
    SELECTION-SCREEN COMMENT (6) TEXT-005.
    PARAMETERS:     P_UNIX      RADIOBUTTON GROUP SRC.
    SELECTION-SCREEN COMMENT (6) TEXT-006.
    PARAMETERS:     P_DS_TYP    LIKE     ZXXDCONV-DS_TYP
                                   DEFAULT 'ASC'.
    SELECTION-SCREEN END OF LINE.
    *SELECT-OPTIONS: S_PATH      FOR      PARMS-PATH
                                  NO INTERVALS
                                  LOWER CASE.
    PARAMETERS:  P_PATH TYPE RLGRAP-FILENAME.
    PARAMETERS:     P_HDRLIN   LIKE     ZXXDCONV-HDR_LINES
                                   DEFAULT 0,
                    P_JOBNAM   LIKE     TBICU_S-JOBNAME
                                   MEMORY ID BM1,
                    P_DI_EXE    AS       CHECKBOX
                                   DEFAULT  LIT_CHECK,
                    P_MAPPE     LIKE     BGR00-GROUP
                                   DEFAULT  'MRP_UOM_LOAD'
                                   NO-DISPLAY.
    SELECTION-SCREEN END OF BLOCK INOUT.
    *eject
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_PATH.
      CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
           EXPORTING
                PROGRAM_NAME  = SYST-REPID
                DYNPRO_NUMBER = SYST-DYNNR
                FIELD_NAME    = 'P_PATH'
           CHANGING
               FILE_NAME     = S_PATH-LOW
                FILE_NAME     = P_PATH
           EXCEPTIONS
                MASK_TOO_LONG = 1
                OTHERS        = 2.
    AT SELECTION-SCREEN.
    Set up parameter record
      PARMS-UNIX      = P_UNIX.
      PARMS-PC        = P_PC.
      PARMS-DS_TYP    = P_DS_TYP.
      PARMS-JOBNAME   = P_JOBNAM.
      PARMS-MAPPE     = P_MAPPE.
      PARMS-HDR_LINES = P_HDRLIN.
    *eject
           Main Processing Routine                                       *
    START-OF-SELECTION.
    Initialization
      PERFORM 0000_HOUSEKEEPING.
    Initialize transaction data in I_BM00
    PERFORM 0500_INIT_BMM00.
    Process input files
    SORT S_PATH BY SIGN OPTION LOW.
         MOVE S_PATH-LOW TO PARMS-PATH.
          MOVE P_PATH TO PARMS-PATH.
    LOOP AT S_PATH.
       AT NEW LOW.
          CLEAR   INP_DATA.
         REFRESH INP_DATA.
    Read source data into internal table
          PERFORM 1000_GET_SOURCE_DATA TABLES INP_DATA.
    Processs each record in internal table
          ZTEXT    = TEXT-007.
          ZTEXT+13 = PARMS-DS_NAME.
          PERFORM 4000_PROGRESS_INDICATOR USING ZTEXT.
    Initialize transaction data in I_BM00
      PERFORM 0500_INIT_BMM00.
          LOOP AT INP_DATA.
    Reset tables for each record
            BMM00              = I_BMM00.
            BMMH1              = I_BMMH1.
            BMMH6              = I_BMMH6.
    Load structures with data
            MOVE-CORRESPONDING INP_DATA TO BMM00.
            PERFORM 2000_WRITE_OUTPUT USING BMM00.
            MOVE-CORRESPONDING INP_DATA TO BMMH1.
            PERFORM 2000_WRITE_OUTPUT USING BMMH1.
            MOVE-CORRESPONDING INP_DATA TO BMMH6.
            PERFORM 2000_WRITE_OUTPUT USING BMMH6.
            REC_COUNT = REC_COUNT + 1.
          ENDLOOP.
       ENDAT.
    ENDLOOP.
      IF  REC_COUNT GT 0
      AND P_DI_EXE  EQ LIT_CHECK.
        PERFORM 3000_START_DI_JOB.
      ENDIF.
    WRITE: / TEXT-008,
               REC_COUNT.
      PERFORM 9000_END_OF_JOB.
    *eject
    Include containing common routines used by direct input programs
      INCLUDE ZMUSD071.
    *eject
          FORM 0500_INIT_BMM00                                          *
          Initialize I_BMM00 with transaction code and views selected   *
    FORM 0500_INIT_BMM00.
    ***this changes done by samson**
    if not inp_data[] is initial.
    select single matnr from mara INTO ZMATNR where matnr = inp_data-matnr.
    if sy-subrc = 0.
      I_BMM00-TCODE = LIT_CHANGE.
    Basic data
      I_BMM00-XEIK1  = LIT_CHECK.
    else.
      I_BMM00-TCODE = LIT_CREATE.
    Basic data
      I_BMM00-XEIK1 = LIT_CHECK.
    endif.
    endif.
    **this changes above done by samson**
    Transaction code
    I_BMM00-TCODE = LIT_CHANGE.
    Basic data
    I_BMM00-XEIK1  = LIT_CHECK.
    ENDFORM.
    INCLUDE ZMUSD069.
    *eject
          FORM 0000_HOUSEKEEPING                                        *
          Initialization routines                                       *
    FORM 0000_HOUSEKEEPING.
      PERFORM 0010_LDS_NAME.
      PERFORM 0020_DS_NAME.
      PERFORM 0030_OPEN_FILE.
      PERFORM 0040_INIT_STRUCTS.
    ENDFORM.
    *eject
          FORM 0010_LDS_NAME                                            *
          Obtain logical file name from DI job details                  *
    FORM 0010_LDS_NAME.
    Check valid job name
      SELECT SINGLE * FROM  TBICU
                      WHERE JOBNAME EQ PARMS-JOBNAME.
      IF SY-SUBRC EQ 0.
        CALL FUNCTION 'RS_VARIANT_VALUES_TECH_DATA'
             EXPORTING
                  REPORT               = TBICU-REPNAME
                  VARIANT              = TBICU-VARIANT
             IMPORTING
                  TECHN_DATA           = VARTECH
             TABLES
                  VARIANT_VALUES       = VALUTAB
             EXCEPTIONS
                  VARIANT_NON_EXISTENT = 1
                  VARIANT_OBSOLETE     = 2
                  OTHERS               = 3.
        IF SY-SUBRC EQ 0.
          READ TABLE VALUTAB WITH KEY 'LDS_NAME'.
          MOVE VALUTAB-LOW TO PARMS-LDS_NAME.
        ELSE.
          MESSAGE I001 WITH PARMS-JOBNAME.
          MESSAGE A099.
        ENDIF.
      ELSE.
        MESSAGE I000 WITH PARMS-JOBNAME.
        MESSAGE A099.
      ENDIF.
    ENDFORM.
    *eject
          FORM 0040_INIT_STRUCTS                                        *
          Initialize structures for direct input records                *
    FORM 0040_INIT_STRUCTS.
    Start of standard SAP initialization from example program RMMMBIME
    *------- Write session record -
      CLEAR BGR00.
      BGR00-STYPE  = MAPPENSATZ.
      BGR00-GROUP  = PARMS-MAPPE.
      BGR00-NODATA = C_NODATA.
      BGR00-MANDT  = SY-MANDT.
      BGR00-USNAM  = SY-UNAME.
      BGR00-START  = BGR00-NODATA.
      BGR00-XKEEP  = BGR00-NODATA.
      PERFORM 2000_WRITE_OUTPUT USING BGR00.
    *----- Initialize structures -
      NODATA = BGR00-NODATA.
      PERFORM INIT_STRUKTUREN_ERZEUGEN(RMMMBIMI) USING NODATA.
    End of standard SAP initialization from example program RMMMBIME
    ENDFORM.
    *eject.
          FORM 3000_START_DI_JOB                                        *
          Start direct input job                                        *
    FORM 3000_START_DI_JOB.
      ZTEXT = 'Starting '(021).
      ZTEXT+9 = TBICU-JOBNAME.
      PERFORM 4000_PROGRESS_INDICATOR USING ZTEXT.
      CALL FUNCTION 'BI_START_JOB'
           EXPORTING
                JOBID                 = ' '
                JOBTEXT               = TBICU-JOBNAME
                REPNAME               = TBICU-REPNAME
                SERVER                = TBICU-EXECSERVER
                VARIANT               = TBICU-VARIANT
                NEW_JOB               = 'X'
                CONTINUE_JOB          = ' '
                START_IMMEDIATE       = 'X'
                DO_NOT_PRINT          = 'X'
                USERNAME              = SY-UNAME
           IMPORTING
                JOBID                 = ZJOBID
                JOBCOUNT              = ZJOBCOUNT
           EXCEPTIONS
                JOB_OPEN_FAILED       = 1
                JOB_CLOSE_FAILED      = 2
                JOB_SUBMIT_FAILED     = 3
                WRONG_PARAMETERS      = 4
                JOB_DOES_NOT_EXIST    = 5
                WRONG_STARTTIME_GIVEN = 6
                JOB_NOT_RELEASED      = 7
                WRONG_VARIANT         = 8
                NO_AUTHORITY          = 9
                DIALOG_CANCELLED      = 10
                JOB_ALREADY_EXISTS    = 11
                PERIODIC_NOT_ALLOWED  = 12
                ERROR_NUMBER_GET_NEXT = 13
                OTHERS                = 14.
      IF SY-SUBRC EQ 0.
        WRITE: / 'Direct input job'(022), TBICU-JOBNAME, 'started'.
      ELSE.
        WRITE: / 'Direct input failed with return code'(023), SY-SUBRC.
      ENDIF.
    FORM 0020_DS_NAME.
      CALL FUNCTION 'FILE_GET_NAME'
           EXPORTING
                CLIENT           = SY-MANDT
                LOGICAL_FILENAME = PARMS-LDS_NAME
                OPERATING_SYSTEM = SY-OPSYS
           IMPORTING
                FILE_NAME        = PARMS-DS_NAME
           EXCEPTIONS
                FILE_NOT_FOUND   = 1
                OTHERS           = 2.
      IF SY-SUBRC NE 0.
        MESSAGE E002 WITH PARMS-LDS_NAME.
        MESSAGE A099.
      ENDIF.
    ENDFORM.
    *eject
          FORM 0030_OPEN_FILE                                           *
          Open physical file for output                                 *
    FORM 0030_OPEN_FILE.
    OPEN DATASET PARMS-DS_NAME FOR OUTPUT IN TEXT MODE. "thg191105
      OPEN DATASET PARMS-DS_NAME FOR OUTPUT IN TEXT MODE
                                     encoding default. "thg191105
      IF SY-SUBRC NE 0.
        MESSAGE E003 WITH PARMS-DS_NAME.
        MESSAGE A099.
      ENDIF.
    ENDFORM.
    *eject
          FORM 1000_GET_SOURCE_DATA                                     *
          Read source data into internal table                          *
    -->  INP_DATA   " Name of internal table passed as parameter       *
    FORM 1000_GET_SOURCE_DATA TABLES INP_DATA.
      CALL FUNCTION 'Z_FILE_UPLOAD'
           EXPORTING
                UNIX                = PARMS-UNIX
                PC                  = PARMS-PC
                FILETYPE            = PARMS-DS_TYP
                FILENAME            = PARMS-PATH
                HDR_LINES           = PARMS-HDR_LINES
           TABLES
                DATA_TAB            = INP_DATA
           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
                INVALID_SOURCE      = 8
                OTHERS              = 9.
    ENDFORM.
    *eject
          FORM 2000_WRITE_OUTPUT                                        *
          Write record in standard SAP structure to UNIX file           *
    -->  I_STRUCT   " Name of record passed as parameter               *
    *FORM 2000_WRITE_OUTPUT USING I_STRUCT."SRY28NOV05
    FORM 2000_WRITE_OUTPUT USING I_STRUCT TYPE ANY.      "SRY28NOV05
       TRANSFER I_STRUCT TO PARMS-DS_NAME.
      IF SY-SUBRC NE 0.
        MESSAGE E004 WITH PARMS-DS_NAME.
        MESSAGE A099.
      ENDIF.
    ENDFORM.
    *eject
    *&      Form  2100_WS_DOWNLOAD
          text                                                           *
    -->  p1        text
    <--  p2        text
    FORM 2100_WS_DOWNLOAD TABLES INP_DATA.
    DATA: FILENAME LIKE RLGRAP-FILENAME.   "SRY28NOV05
      DATA: W_FILENAME TYPE STRING.             "SRY28NOV05
      DATA: W_FTYP(10) TYPE C VALUE 'DAT'.      "SRY28NOV05
    MOVE PARMS-DS_NAME TO FILENAME.       "SRY28NOV05
      MOVE PARMS-DS_NAME TO W_FILENAME.      "SRY28NOV05
    *BEGIN OF BLOCK COMMENT BY SRY28NOV05
    CALL FUNCTION 'WS_DOWNLOAD'
          EXPORTING
            BIN_FILESIZE        = ' '
            CODEPAGE            = ' '
               FILENAME            = FILENAME
               FILETYPE            = 'DAT'
            MODE                = ' '
            WK1_N_FORMAT        = ' '
            WK1_N_SIZE          = ' '
            WK1_T_FORMAT        = ' '
            WK1_T_SIZE          = ' '
            COL_SELECT          = ' '
            COL_SELECTMASK      = ' '
       importing
            filelength          =
          TABLES
               DATA_TAB            = INP_DATA
            FIELDNAMES          =
          EXCEPTIONS
               FILE_OPEN_ERROR     = 1
               FILE_WRITE_ERROR    = 2
               INVALID_FILESIZE    = 3
               INVALID_TABLE_WIDTH = 4
               INVALID_TYPE        = 5
               NO_BATCH            = 6
               UNKNOWN_ERROR       = 7
               OTHERS              = 8.
    *END OF BLOCK COMMENT BY SRY28NOV05
    *BEGIN OF BLOCK ADDED BY SRY28NOV05
      CALL FUNCTION 'GUI_DOWNLOAD'
        EXPORTING
          FILENAME                        = W_FILENAME
          FILETYPE                        = W_FTYP
        TABLES
          DATA_TAB                        = INP_DATA
       EXCEPTIONS
         FILE_WRITE_ERROR                = 1
         NO_BATCH                        = 2
         GUI_REFUSE_FILETRANSFER         = 3
         INVALID_TYPE                    = 4
         NO_AUTHORITY                    = 5
         UNKNOWN_ERROR                   = 6
         HEADER_NOT_ALLOWED              = 7
         SEPARATOR_NOT_ALLOWED           = 8
         FILESIZE_NOT_ALLOWED            = 9
         HEADER_TOO_LONG                 = 10
         DP_ERROR_CREATE                 = 11
         DP_ERROR_SEND                   = 12
         DP_ERROR_WRITE                  = 13
         UNKNOWN_DP_ERROR                = 14
         ACCESS_DENIED                   = 15
         DP_OUT_OF_MEMORY                = 16
         DISK_FULL                       = 17
         DP_TIMEOUT                      = 18
         FILE_NOT_FOUND                  = 19
         DATAPROVIDER_EXCEPTION          = 20
         CONTROL_FLUSH_ERROR             = 21
         OTHERS                          = 22.
      IF SY-SUBRC NE 0.
         MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
               WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    *END OF BLOCK ADDED BY SRY28NOV05
    ENDFORM.                               " 2100_WS_DOWNLOAD
    *eject
          FORM 4000_PROGRESS_INDICATOR                                  *
          Write progress text to status bar                             *
    -->  TEXT   " Text passed as parameter                             *
    FORM 4000_PROGRESS_INDICATOR USING TEXT.
      CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
           EXPORTING
                PERCENTAGE = 0
                TEXT       = TEXT
           EXCEPTIONS
                OTHERS     = 1.
    ENDFORM.
    *eject.
          FORM 9000_END_OF_JOB                                          *
          Close files on UNIX                                           *
    FORM 9000_END_OF_JOB.
      CLOSE DATASET PARMS-DS_NAME.
    ENDFORM.
    FORM 1000_GET_SOURCE_DATA TABLES INP_DATA.
      CALL FUNCTION 'Z_FILE_UPLOAD'
           EXPORTING
                UNIX                = PARMS-UNIX
                PC                  = PARMS-PC
                FILETYPE            = PARMS-DS_TYP
                FILENAME            = PARMS-PATH
                HDR_LINES           = PARMS-HDR_LINES
           TABLES
                DATA_TAB            = INP_DATA
           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
                INVALID_SOURCE      = 8
                OTHERS              = 9.
    ENDFORM.
    *eject
          FORM 2000_WRITE_OUTPUT                                        *
          Write record in standard SAP structure to UNIX file           *
    -->  I_STRUCT   " Name of record passed as parameter               *
    *FORM 2000_WRITE_OUTPUT USING I_STRUCT."SRY28NOV05
    FORM 2000_WRITE_OUTPUT USING I_STRUCT TYPE ANY.      "SRY28NOV05
       TRANSFER I_STRUCT TO PARMS-DS_NAME.
      IF SY-SUBRC NE 0.
        MESSAGE E004 WITH PARMS-DS_NAME.
        MESSAGE A099.
      ENDIF.
    ENDFORM.
    *eject
    *&      Form  2100_WS_DOWNLOAD
          text                                                           *
    -->  p1        text
    <--  p2        text
    FORM 2100_WS_DOWNLOAD TABLES INP_DATA.

    Hi,
    Thnaks for your reply, This is my requirement.
    Here my problem is i am trying to upload the data from flatfile which contain materil number, denominator, Actual UOM, Nominator field values.
    Which is the data i need to upload into MM02 and MM01, if material number is new then it has to create the material, if material is already existing it has to update the UOM values.
    here i am getting data into my internal table INP_DATA, from that i am trying to upload the data to database by using job name MRP_MATERIAL_MASTER_DATA_UPLOAD with direct input program RMDATIND.
    when i execute my program i am getting success message all the records writtin from flatfile to application server. and job started message.
    then if i go into sm37 screen there i execute the job it is also giving active message. if i refresh it it is showing job completed message.
    then i look at job log status. there i found that for existing material it is expecting material type, for new material it is giving some gravity error.
    So could u help me in this it will be gr8.
    Thanks & Regards,
    RamNV

  • Image reclaim from database ,facing problem

    I am very much new in Flex development.........
    I am facing a problem from  quite a few days to  reclaim  a image from the database with the help of servlet to a flex application .  I am  using HttpRequest Object not  Blaze Ds.
    Actually image byte stream is comming back from Servlet to Flex   End  , but when I want to display it , then it shows the place of the image as black .I think image pixel's are not combining togather ..........Have you any Idea?
    I am trying in  the following way.......... this is in the result handler method................
    private function getPhotoResultHandler(event:ResultEvent):void{
                   try{                     
                              xmldata1=event.result as XML;   
                              mx.control.alert.show(xmldata1.toString);        //  Here I can see the  byte stream  in the browser                                                          
                              var byteData : ByteArray;                                                                                            
                              var dec : Base64Decoder  = new Base64Decoder();              
                              dec.decode(xmldata1.toString());                 
                              byteData = dec.toByteArray();                     
                              imggetPhoto.source=byteData;  
                catch( ex : Error )
              Alert.show( ex.message );

    Hi,
    I use Forms 6i to save and retrieve image in BLOB column without problems.
    Some weeks ago, my column was long raw and I update it without problems. Nothing to do in Forms and juste modifiy query and recompile in Reports.

Maybe you are looking for

  • Intermittent Bug when saving pdf files in Illustrator CS6

    I save a pdf file in Illustrator CS6 with a specific art board size. When I open it in Acrobat the size is off. When our print's RIP's the file, it is off the same amount. I will re-open it in Illustrator and re-save it and just change the name, the

  • Create Oauth signituare for twitter in as3?

    Hi, Since twitter locked down the api, im finding it really hard to grab the data I want.I need to use Oauth. Because I dont actually need to link a twitter users account to my application (only the applications twitter account) it makes things a lit

  • Idoc Coniguration and Working

    Hi all Iam new to Abap. Can any one help me in learning the configuration of IDOC and working with Idoc like sending, receving, re-sending the same idoc etc.. Waiting for your reply. Thank You

  • ON GOING PROBLEM

    every time i plug my ipod up to the computer itunes comes up and it says "The software required for comminicating with the iPod is not installed correctly. Please reinstall iTunes to install the iPod's software". when i go to preferences and go under

  • Cannot access Printer Properties

    I have quite a few users who are having a problem when they try to print from FF 22.0. When they try to print a webpage, email, document, etc. and go into the Properties for the printer to change it from Letter to Legal, or Legal to Letter, the item