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
-
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,
AttNetYes, 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 BrunoI 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 -
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ığında yer alan *USRSPC tipindeki GETOBJINF nesnesinin iyesi
değiştirildi.
QTEMP kitaplığında yer alan *USRSPC tipindeki GETOBJINF nesnesinin iyesi
değiş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ığında yer alan *USRSPC tipindeki GETOBJINF nesnesinin iyesi
değiştirildi.
QTEMP kitaplığında yer alan *USRSPC tipindeki GETOBJINF nesnesinin iyesi
değiştirildi.
QTEMP kitaplığında yer alan *USRSPC tipindeki GETOBJINF nesnesinin iyesi
değiştirildi.
QTEMP kitaplığında yer alan *USRSPC tipindeki GETOBJINF nesnesinin iyesi
değiştirildi.
QTEMP kitaplığında yer alan *USRSPC tipindeki GETOBJINF nesnesinin iyesi
değiştirildi.
IFS part updated: /usr/sap/KNP/sys/exe/run/IGSEXE.SAR.
QTEMP kitaplığında yer alan *USRSPC tipindeki GETOBJINF nesnesinin iyesi
değiş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ığında yer alan *PGM tipindeki R3INLPGM nesnesi silindi.
R3KNP400 kitaplığında yer alan *PGM tipindeki R3INLPGM nesnesinin iyesi
değiştirildi.
Object R3INLPGM in R3KNP400 type *PGM created.
1 objects duplicated.
R3KNP400 kitaplığında yer alan *PGM tipindeki R3INLPGM nesnesinin iyesi
değiştirildi.
R3SYS kitaplığında yer alan *PGM tipindeki SAPINITX nesnesinin iyesi
değiştirildi.
Object SAPINITX in R3SYS type *PGM created.
1 objects duplicated.
R3SYS kitaplığında yer alan *PGM tipindeki SAPINITX nesnesi silindi.
QTEMP kitaplığında yer alan *USRSPC tipindeki GETOBJINF nesnesinin iyesi
değiş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ığında yer alan *USRSPC tipindeki GETOBJINF nesnesinin iyesi
değiş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?
TIAHi,
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
-
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
-
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