Inserting String in a Table
Hi all
i have to insert the String Value ( the user doesn't login) in a varchar Field in the table
the Apastphi is in between the String,
How to insert these kind of values in the Insert Statement
please Help
thanks a lot
Are you looking out for this:
C:\>sqlplus /nolog
SQL*Plus: Release 9.2.0.1.0 - Production on Tue Jul 21 19:10:13 2009
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
SQL> conn sys@dbbsl as sysdba
Enter password:
Connected.
SQL> drop table test;
Table dropped.
SQL> create table test (name varchar2(45));
Table created.
SQL> insert into test values('Santosh'||chr(39)||'s Demo.');
1 row created.
SQL> commit;
Commit complete.
SQL> select * from test;
NAME
Santosh's Demo.
SQL>Regards,
S.K.
Similar Messages
-
Oracle table(s) data to INSERT(String) statements with JAVA
Hi,
How can I get sql inserts from a oracle table with JAVA?
Is there a Oracle API for it?
I need to store it in a file, the result file should have these examples lines:
-- INSERTING into TEST
Insert into "TEST" ("CODE","FAMILY","SUB_FAMILY","SEVERITY","STATUS","ANOMALY_DATE","DESCRIPTION",
"COMMENTS","VALUE0","VALUE1","VALUE2","VALUE3","VALUE4","VALUE5","VALUE6","VALUE7","VALUE8",
"VALUE9") values (1,'family1','subFamily11','bad','initial',to_date('0005-11-21','DD/MM/RR'),'someDescription',
'someComment','someValue','someValue','someValue','uselessValue','uselessValue',null,null,null,null,null);
the example line was created with the export tool from Oracle SQl developer
Thks.
Franciscouser9046632 wrote:
Hi Guys, this is me Francisco that wrote the first question, but now I've an NEW account. I'll try to explain it. For a Job I need a .txt file that contains the SQl string inserts from an Oracle Table. I can't use a Software because I need to do it with Java Code. I'm not trying to get the inserts's logging , I need a to export it from a table.I read One way to do it is using DataPump utility, but using this tools, will I get a text file? I read that DataPump works with binaries files. using Java JDBC and metadata, I need to convert all in String file, ok for it I'm agree, but I have to write a lot of code to know what kind of type I get from the Table to parse it. One example is with Date types, oracle softwares parse it as to_date('0005-11-21','DD/MM/RR') and java toTostrig will do it something like '2009-1-25 13:00:00'. Java toString method will truncate some Number types So I need to know if someone did it or give or can help me.
Thank you very much. Francisco
Again, explain the business problem you are trying to solve, not the technical one. WHY do you need a text file that contains "SQL string inserts"? It sounds very much like you are looking at your problem "through the wrong end of the telescope" and thus finding a poorly designed solution. But unless we know the real problem to be solved, it's hard to say any more than that this smells bad.
Sorry about my English, it's not my natural language -
Using variables to insert data in the table
I want to insert datas in the table. I use constants,
all the constants are stored properly in the table. But,
when I use variables I get the error message
"Too few parameters. expected 6".
(I declared all the fields of the table as text only.)
My program is "newt.jsp"
<%@ page language="java" import="java.sql.*" %>
<html>
<head>
<title>storing customer information in the database</title>
</head>
<body>
<%
String cno1 = request.getParameter("cno");
String n1 = request.getParameter("n");
String add11 = request.getParameter("add1");
String add21 = request.getParameter("add2");
String phone1 = request.getParameter("phone");
String email1 = request.getParameter("email");
Connection con = null;
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con = DriverManager.getConnection("jdbc:odbc:customer"," "," ");
Statement statement1 = con.createStatement();
Statement statement2 = con.createStatement();
statement2.executeUpdate("create table cust1 (cno varchar(20),n varchar(20),add1 varchar(20),add2 varchar(20),phone varchar(20),email varchar(20))");
statement1.executeUpdate("insert into cust1 (cno,n,add1,add2,phone,email) values(cno1,n1,add11,add21,phone1,email1)");
catch(SQLException sqle) {
System.err.println(sqle.getMessage());
catch(ClassNotFoundException cnfe) {
System.err.println(cnfe.getMessage());
catch(Exception e) {
System.err.println(e.getMessage());
finally {
try {
if(con!=null) {
con.close();
catch(SQLException sqle) {
System.err.println(sqle.getMessage());
%>
<br><br>
Mr./Ms. <%=n1 %> <br>
Your datas have been stored.<br>
</body>
</html>
Those who know answer please reply.
My thanks in advance.I would expect your insert statement to be this:
statement1.executeUpdate("insert into cust1 (cno,n,add1,add2,phone,email) values('"+cno1+"','"+n1+"','"+add11+"','"+add21+"','"+phone1+"','"+email1+"')");
If you just create a string, it's not going to fill in variables into the string by magic. -
Inserting data in a table and checking
create or replace procedure testpara1( p_IN in VARCHAR2,p_result out varchar2)
Is
CURSOR cur_key IS
SELECT * FROM object_keywords;
TYPE objkey_tab_type IS TABLE OF OBJECT_KEYWORDS%ROWTYPE;
v_keywords objkey_tab_type;
v_keepwords varchar2(100);
Begin
INSERT INTO TEMP_TABLE
VALUES(p_IN);
COMMIT;
OPEN cur_key;
FETCH cur_key BULK COLLECT INTO v_keywords;
CLOSE cur_key;
FOR i IN v_keywords.FIRST .. v_keywords.LAST
LOOP
v_keepwords := '%'||v_keywords(i).KEYWORDS||'%';
select STOREVAL into p_result from TEMP_TABLE
where CONTAINS(STOREVAL,'ahole') > 0;
END LOOP;
delete from TEMP_TABLE;
commit;
End testpara1;here i m inserting a string a string in a table and trying to check that the present in object_keywords tabe is present in this string or not but showing error no data faound if also the desired data is present plz help me
thanks in advance..
Edited by: BluShadow on 24-May-2011 08:45
added {noformat}{noformat} tags to keep formatting. please read {message:id=9360002}hmm.. i did some search on this. issue is probably due to index not sync with the table.
Here is my test case
SQL> drop table temp_table purge;
Table dropped.
SQL> create table temp_table
2 (storeval varchar2(50));
Table created.
SQL> insert into temp_table
2 values
3 ('ahole is the word');
1 row created.
SQL> commit;
Commit complete.
SQL> CREATE INDEX temp1_idx ON temp_table
2 (storeval
3 ) indextype IS ctxsys.context;
Index created.
SQL> select * from temp_table where
2 contains(storeval,'ahole') >0;
STOREVAL
ahole is the word
SQL> delete from temp_table;
1 row deleted.
SQL> insert into temp_table
2 values
3 ('ahole is the word');
1 row created.
SQL> commit;
Commit complete.
SQL> select * from temp_table where
2 contains(storeval,'ahole') >0;
no rows selectedYou might need to sync the index using ctx_ddl.SYNC_INDEX(<index_name>)
SQL> exec ctx_ddl.SYNC_INDEX('temp1_idx');
PL/SQL procedure successfully completed.
SQL> select * from temp_table where
2 contains(storeval,'ahole') >0;
STOREVAL
ahole is the wordHere's the link
http://www.techxplore.net/2008/03/05/oracle-text-ctxsys-context-index-type-not-showing-search/
Vivek L -
Insering quoted string in a table
i have a string liek the following in a variable
hello'786'
Please tell me how to insert this into a table> But these data is coming from a file
i am fetching it in a variable.
I have to insert it
pls tell me how
Just insert the variable. That simple.
The variable contains a string. The string contains quotes. But you deal, at INSERT time, with the variable - not the actual contents of the variable. Oracle will grab and insert that contents just fine, provided that is is of a valid type. And quotes are valid in a string.
So...create or replace procedure ....
line varchar2(4000);
begin
-- string has been read from file into line, and this now
-- has to be inserted into the table foo
insert into foo ( text_line ) values ( line );
end; -
Inserting strings over 2000 in length
Hi,
I'm trying to populate a database table which contains a long and
I've been running into two Oracle errors:
ORA-01462: cannot insert string literals longer than 2000
characters
and
ORA-01489: result of string concatenation is too long
Can someone point me to documentation or a solution of how you
can get a 29k string into the database? I have code regarding how
to use LOBs, but I'm unfamiliar with any stored procedures which
will allow you to append to a long column with new content. I
need to use long for the project I am working on.
Thanks in advance for your help!
Jill
nullHi Ralf,
If you read the documentation on
http://java.sun.com/products/jdbc/index.html you will
find a statement saying that the JdbcOdbcDriver is
only for test and experimental use.Yes, but my and other's experiences with the JDBC-ODBC bridge itself are very well.
Since it is only a bridge over the specific vendor's ODBC driver, you are limited to the capabilities of that.
But the bridge is not to blame for this.
For MS products you may reach efforts by updating to an actual MDAC version.
Nethertheless, with MS ODBC there are some problems.
Search the driver database (a link is on the above web
page) for another (commercial) driver. I recommend the
type 4 driver from i-net.Ok.
Have you tried out that error David reported with the i-net driver?
I use JDBC-ODBC with MS SQLServer 2000, actual MDAC, and I get that error with PreparedStatement.
But it's all ok with a normal statement.
So if you could test them both with the i-net driver, we would see if it's again the MS ODBC driver.
Regards,
Ralf SchumacherI think, I'm not the first you asks this:
you are not the quick one we saw in Suzuka on Sunday, are you? -
ORA-13223: duplicate entry for string in SDO_GEOM_METADATA table and
I got the above error while trying to insert a record into the table SDO_GEOM_METADATA. However, when querying this table I did find any duplicate table_name, column_name pair that match with the error.
Here are the steps that I worked on:
1. Add a geometry column into an existing table.
ALTER TABLE GEO_MAP ADD (ORG_GEOM mdsys.sdo_geometry);
2. Register the new column into mdsys
insert into USER_SDO_GEOM_METADATA
values ('GEO_MAP','ORG_GEOM',
mdsys.sdo_dim_array(
mdsys.sdo_dim_element('LONG',-180,180,0.00005),
mdsys.sdo_dim_element('LAT',-90,90,0.00005)
8307)
I got the error ORA-13223: duplicate entry for string in SDO_GEOM_METADATA table even there was no such record in there.
3. I inserted values in the column ORG_GEOM fine.
4. However, when I tried to create the index for this column I got the error:
ORA-29855: error occurred in the execution of ODCIINDEXCREATE routine
ORA-13203: failed to read USER_SDO_GEOM_METADATA view
ORA-13203: failed to read
Please help.
Thanks.SQL> select * from mdsys.sdo_geom_metadata_table;
SDO_OWNER SDO_TABLE_NAME
SDO_COLUMN_NAME
SDO_DIMINFO(SDO_DIMNAME, SDO_LB, SDO_UB, SDO_TOLERANCE)
SDO_SRID
QW_USER1 GEO_REF
LOC_GEOM
SDO_DIM_ARRAY(SDO_DIM_ELEMENT('LONG', -180, 180, .00005), SDO_DIM_ELEMENT('LAT',
-90, 90, .00005))
SDO_OWNER SDO_TABLE_NAME
SDO_COLUMN_NAME
SDO_DIMINFO(SDO_DIMNAME, SDO_LB, SDO_UB, SDO_TOLERANCE)
SDO_SRID
8307
MDSYS SDO_CMT_CBK_RTREE_TAB
GEOM
SDO_DIM_ARRAY(SDO_DIM_ELEMENT('X', -180, 180, .000000005), SDO_DIM_ELEMENT('Y',
SDO_OWNER SDO_TABLE_NAME
SDO_COLUMN_NAME
SDO_DIMINFO(SDO_DIMNAME, SDO_LB, SDO_UB, SDO_TOLERANCE)
SDO_SRID
-90, 90, .000000005))
The situation is we have 2 tables (GEO_MAP, and GEO_REF) that have spatial columns. Everything worked fine until when one of the queries that searched through the table GEO_MAP ran so slow, we decided to rebuild the related spatial index by dropping and recreating it. However, after I dropped it I could not recreated. Keep getting the error:
ORA-29855: error occurred in the execution of ODCIINDEXCREATE routine
ORA-13203: failed to read USER_SDO_GEOM_METADATA view
ORA-13203: failed to read
Any help is very much appreciated. -
Efficient Way of Inserting records into multiple tables
Hello everyone,
Im creating an employee application using struts framework. One of the functions of the application is to create new employees. This will involve using one web form. Upon submitting this form, a record will be inserted into two separate tables. Im using a JavaBean (Not given here) between the JSP page and the Java file (Which is partly given below). Now this Java file does work (i.e. it does insert a record into two seperate tables).
My question is, is there a more efficient way of doing the insert into multiple tables (in terms of performance) rather than the way I've done it as shown below? Please note, I am using database pooling and MySQL db. I thought about Batch processing but was having problems writing the code for it below.
Any help would be appreciated.
Assad
package com.erp.ems.db;
import com.erp.ems.entity.Employee;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Collection;
import java.util.ArrayList;
public class EmployeeDAO {
private Connection con;
public EmployeeDAO(Connection con) {
this.con = con;
// METHOD FOR CREATING (INSERTING) A NEW EMPLOYEE
public void create(Employee employee) throws CreateException {
PreparedStatement psemployee = null;
PreparedStatement psscheduleresource = null;
String sqlemployee = "INSERT INTO employee (FIRSTNAME,SURNAME,GENDER) VALUES (?,?,?)";
String sqlscheduleresource = "INSERT INTO scheduleresource (ITBCRATE,SKILLS) VALUES (?,?)";
try {
if (con.isClosed()) {
throw new IllegalStateException("error.unexpected");
// Insert into employee table
psemployee = con.prepareStatement(sqlemployee);
psemployee.setString(1,employee.getFirstName());
psemployee.setString(2,employee.getSurname());
psemployee.setString(3,employee.getGender());
// Insert into scheduleresource table
psscheduleresource = con.prepareStatement(sqlscheduleresource);
psscheduleresource.setDouble(1,employee.getItbcRate());
psscheduleresource.setString(2,employee.getSkills());
if (psemployee.executeUpdate() != 1 && psscheduleresource.executeUpdate() != 1) {
throw new CreateException("error.create.employee");
} catch (SQLException e) {
e.printStackTrace();
throw new RuntimeException("error.unexpected");
} finally {
try {
if (psemployee != null && psscheduleresource != null)
psemployee.close();
psscheduleresource.close();
} catch (SQLException e) {
e.printStackTrace();
throw new RuntimeException("error.unexpected");
}Hi ,
U can use
set Auto Commit function here ..
let it be false first
and when u do with u r all queries ..
make it true
this function take boolean values
i e helful when u want record to be inserted in all or not at all..
Hope it helps -
Using Crystal 2008 to insert records into a table
Hi,
We have a unique need to use Crystal to insert records into a table. We have managed to test a report that can write into a temporary table. This is done by using sql command object and uses the following code :
INSERT INTO TEMP_TABLE (ORDERID)
VALUES ({?orderid}) (-- where orderid a parameter).
This test report asks for an order id and then inserts the record perfectly fine.
Now moving on to the real report - This report basically prints orders in batches and we want to insert order id into a temporary table to ensure we don't print orders that were already printed. To do this we created a sub report "insert orders" that has the above insert command. The main report passes the orderid to subreport and the idea is that the subreport would insert each time an order is passed. So if main report printed 50 orders ids, the then it would do 50 inserts individually into the temp table.
This however is NOT working. The report runs fine but there is no insert. Our hunch is that Crystal is not committing after every order id is passed from the main report. Not sure if we can set the AUTO COMMIT ON as a default somewhere?
Wondering if any one has attempted this or has any insights?
Regards,
Mohit.
Environment is - Crystal 2008 and Oracle 11GR2, we are using Oracle drivers (and not odbc)Hmmm... I don't use Oracle but the syntax looks good...
You've already tested it and I assume that you are using the same driver in the production report as you used in the test, so that shouldn't be an issue...
how are you pulling the data? Is the final SELECT statement that pulls the report data in the same command as the INSERT script, or is the INSERT script in it's own command?
The reason I ask... If you are trying to pass a multi-valued parameter to a command, it won't work. If you have the insert command as it's own command while the data is being pulled with linked tables or a separate command, it is possible that the report itself will execute as expected w/o passing a value to the insert script.
If it's all in 1 command (as it should be), a bad parameter would fail in the final SELECT causing an error.
Also... are rows null or empty string values being added to table when the report executes? This would be an indication that the command is being executed but isn't getting the parameter value.
Jason -
Insert values in multiple tables. One of the tables has complex primary key.
Hello, I am using Jdeveloper version 11.1.2.3.0
I have a table FORM_TYPE and another table Str. The Str table is used to translate strings from the table name which are read from another program from the database and used to generate forms..
The FORM_TYPE table has a relation to the STR table via formtype.title_str_id = str.str_id.
The STR table has a primary key that is depending on mf_language and str_id columns. I generated entity for the STR table but can't insert from the application module new values for some reason... It says the record invalidates its own entity..
I am trying to create a table that will be editable and will have the columns Description, Name, Str in English, Str in French etc...
Want to create a Form_Type and in the same time to insert new values for each language... But can't make the inserts of the new STR work..
Also the FormType.TITLE_STR_ID has many values null already in the database.
SELECT FormType.DESCRIPTION,
FormType.FORM_TYPE_ID,
FormType.NAME,
FormType.PAPER_REPORT_FORMAT,
FormType.PAPER_REPORT_NAME,
FormType.TITLE_STR_ID,
en.str en_str,
en.str_id,
en.object_name en_object_name,
fr.str,
fr.str_id,
fr.object_name,
du.str,
du.str_id,
du.object_name,
bg.str,
bg.str_id,
bg.object_name
FROM FORM_TYPE FormType,
(select str.str_id, str.mf_language_id, str.str, str.object_name
from mf_language ml, str
where ml.mf_language_id = str.mf_language_id
and ml.code ='en') en
, (select str.str_id, str.str, str.object_name
from mf_language ml, str
where ml.mf_language_id = str.mf_language_id
and ml.code ='fr') fr,
(select str.str_id, str.str, str.object_name
from mf_language ml, str
where ml.mf_language_id = str.mf_language_id
and ml.code ='du') du,
(select str.str_id, str.str, str.object_name
from mf_language ml, str
where ml.mf_language_id = str.mf_language_id
and ml.code ='bg') bg
WHERE
formtype.title_str_id = en.str_id and
formtype.title_str_id = fr.str_id and
formtype.title_str_id = du.str_id and
formtype.title_str_id = bg.str_idTried that I made view links and associations but still can't insert in both tables at once... Could be because the tables aren't having relationship between them or because the STR table has a (STR_ID, MF_LANGUAGE_ID) primary key...
-
INSERTING IMAGE TO DATABASE TABLE
please suggest me the simplest code of image insertion in the database table.
this is an example:>
public static void AddEmployee(
string lastName,
string firstName,
string title,
DateTime hireDate,
int reportsTo,
string photoFilePath,
string connectionString)
byte[] photo = GetPhoto(photoFilePath);
using (SqlConnection connection = new SqlConnection(
connectionString))
SqlCommand command = new SqlCommand(
"INSERT INTO Employees (LastName, FirstName, " +
"Title, HireDate, ReportsTo, Photo) " +
"Values(@LastName, @FirstName, @Title, " +
"@HireDate, @ReportsTo, @Photo)", connection);
command.Parameters.Add("@LastName",
SqlDbType.NVarChar, 20).Value = lastName;
command.Parameters.Add("@FirstName",
SqlDbType.NVarChar, 10).Value = firstName;
command.Parameters.Add("@Title",
SqlDbType.NVarChar, 30).Value = title;
command.Parameters.Add("@HireDate",
SqlDbType.DateTime).Value = hireDate;
command.Parameters.Add("@ReportsTo",
SqlDbType.Int).Value = reportsTo;
command.Parameters.Add("@Photo",
SqlDbType.Image, photo.Length).Value = photo;
connection.Open();
command.ExecuteNonQuery();
public static byte[] GetPhoto(string filePath)
FileStream stream = new FileStream(
filePath, FileMode.Open, FileAccess.Read);
BinaryReader reader = new BinaryReader(stream);
byte[] photo = reader.ReadBytes((int)stream.Length);
reader.Close();
stream.Close();
return photo;
Mark as answer or vote as helpful if you find it useful | Ammar Zaied [MCP] -
How to insert multiple entries in table control
Hi All,
I want to insert multiple entries in table control in BDC program.Can any body help in this regard.
Thanks,
Satish.Hi,
Go through the following 2 example programs:
THis is example to upload the Bank details of the Vendor which has the TC.
REPORT zprataptable2
NO STANDARD PAGE HEADING LINE-SIZE 255.
DATA : BEGIN OF itab OCCURS 0,
i1 TYPE i,
lifnr LIKE rf02k-lifnr,
bukrs LIKE rf02k-bukrs,
ekorg LIKE rf02k-ekorg,
ktokk LIKE rf02k-ktokk,
anred LIKE lfa1-anred,
name1 LIKE lfa1-name1,
sortl LIKE lfa1-sortl,
land1 LIKE lfa1-land1,
akont LIKE lfb1-akont,
fdgrv LIKE lfb1-fdgrv,
waers LIKE lfm1-waers,
END OF itab.
DATA : BEGIN OF jtab OCCURS 0,
j1 TYPE i,
banks LIKE lfbk-banks,
bankl LIKE lfbk-bankl,
bankn LIKE lfbk-bankn,
END OF jtab.
DATA : cnt(4) TYPE n.
DATA : fdt(20) TYPE c.
DATA : c TYPE i.
INCLUDE bdcrecx1.
START-OF-SELECTION.
CALL FUNCTION 'WS_UPLOAD'
EXPORTING
filename = 'C:\first1.txt'
filetype = 'DAT'
TABLES
data_tab = itab.
CALL FUNCTION 'WS_UPLOAD'
EXPORTING
filename = 'C:\second.txt'
filetype = 'DAT'
TABLES
data_tab = jtab.
LOOP AT itab.
PERFORM bdc_dynpro USING 'SAPMF02K' '0100'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RF02K-KTOKK'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'RF02K-LIFNR'
itab-lifnr.
PERFORM bdc_field USING 'RF02K-BUKRS'
itab-bukrs.
PERFORM bdc_field USING 'RF02K-EKORG'
itab-ekorg.
PERFORM bdc_field USING 'RF02K-KTOKK'
itab-ktokk.
PERFORM bdc_dynpro USING 'SAPMF02K' '0110'.
PERFORM bdc_field USING 'BDC_CURSOR'
'LFA1-LAND1'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'LFA1-ANRED'
itab-anred.
PERFORM bdc_field USING 'LFA1-NAME1'
itab-name1.
PERFORM bdc_field USING 'LFA1-SORTL'
itab-sortl.
PERFORM bdc_field USING 'LFA1-LAND1'
itab-land1.
PERFORM bdc_dynpro USING 'SAPMF02K' '0120'.
PERFORM bdc_field USING 'BDC_CURSOR'
'LFA1-KUNNR'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_dynpro USING 'SAPMF02K' '0130'.
PERFORM bdc_field USING 'BDC_CURSOR'
'LFBK-BANKN(01)'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=ENTR'.
cnt = 0.
LOOP AT jtab WHERE j1 = itab-i1.
cnt = cnt + 1.
CONCATENATE 'LFBK-BANKS(' cnt ')' INTO fdt.
PERFORM bdc_field USING fdt jtab-banks.
CONCATENATE 'LFBK-BANKL(' cnt ')' INTO fdt.
PERFORM bdc_field USING fdt jtab-bankl.
CONCATENATE 'LFBK-BANKN(' cnt ')' INTO fdt.
PERFORM bdc_field USING fdt jtab-bankn.
IF cnt = 5.
cnt = 0.
PERFORM bdc_dynpro USING 'SAPMF02K' '0130'.
PERFORM bdc_field USING 'BDC_CURSOR'
'LFBK-BANKS(01)'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=P+'.
PERFORM bdc_dynpro USING 'SAPMF02K' '0130'.
PERFORM bdc_field USING 'BDC_CURSOR'
'LFBK-BANKN(02)'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=ENTR'.
ENDIF.
ENDLOOP.
PERFORM bdc_dynpro USING 'SAPMF02K' '0130'.
PERFORM bdc_field USING 'BDC_CURSOR'
'LFBK-BANKS(01)'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=ENTR'.
PERFORM bdc_dynpro USING 'SAPMF02K' '0210'.
PERFORM bdc_field USING 'BDC_CURSOR'
'LFB1-FDGRV'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'LFB1-AKONT'
itab-akont.
PERFORM bdc_field USING 'LFB1-FDGRV'
itab-fdgrv.
PERFORM bdc_dynpro USING 'SAPMF02K' '0215'.
PERFORM bdc_field USING 'BDC_CURSOR'
'LFB1-ZTERM'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_dynpro USING 'SAPMF02K' '0220'.
PERFORM bdc_field USING 'BDC_CURSOR'
'LFB5-MAHNA'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_dynpro USING 'SAPMF02K' '0310'.
PERFORM bdc_field USING 'BDC_CURSOR'
'LFM1-WAERS'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'LFM1-WAERS'
itab-waers.
PERFORM bdc_dynpro USING 'SAPMF02K' '0320'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RF02K-LIFNR'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=ENTR'.
PERFORM bdc_dynpro USING 'SAPLSPO1' '0300'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=YES'.
PERFORM bdc_transaction USING 'XK01'.
ENDLOOP.
PERFORM close_group.
ABAP Name : ZMM_PR_UPLOAD_MAT
Description : PR Upload BDC Program(With Material)
Created by : Anji Reddy V
Created on : 04/11/2004
Description : This Program is used to Upload the Purchase
Requisition data Using the Transaction ME51N.
Modification Log:
Date Programmer Correction Description
04/11/2004 Anji Reddy Initial
REPORT zmm_pr_upload_mat
NO STANDARD PAGE HEADING
LINE-SIZE 255.
Standard Include for Selection Screen
INCLUDE bdcrecx1.
Internal Table for Upload Data
DATA: BEGIN OF i_pr OCCURS 0,
Header Screen
sno(3), " SNo
bsart(004), " PR Type
epstp(001), " Item Category
knttp(001), " Account Assignment
eeind(010), " Delivery Date
lpein(001), " Category of Del Date
werks(004), " Plant
lgort(004), " Storage Location
ekgrp(003), " Purchasing Group
matkl(009), " Material Group
bednr(010), " Tracking No
afnam(012), " Requisitioner
Item Details
matnr(018), " Material No
menge(017), " Quantity
badat(010),
frgdt(010),
preis(014), " Valuation Price
waers(005), " Currency
peinh(005),
wepos(001),
repos(001),
sakto(010), " GL Account
kostl(010), " Cost Center
bnfpo(005),
END OF i_pr.
Internal Table for header Data
DATA: BEGIN OF it_header OCCURS 0,
sno(3), " SNo
bsart(004), " PR Type
epstp(001), " Item Category
knttp(001), " Account Assignment
eeind(010), " Delivery Date
werks(004), " Plant
lgort(004), " Storage Location
ekgrp(003), " Purchasing Group
matkl(009), " Material Group
bednr(010), " Tracking No
afnam(012), " Requisitioner
END OF it_header.
Internal Table for Item Data
DATA: BEGIN OF it_item OCCURS 0,
sno(3), " SNo
matnr(018), " Material No
menge(017), " Quantity
preis(014), " Valuation Price
sakto(010), " GL Account
kostl(010), " Cost Center
END OF it_item.
Data Variables & Constants
CONSTANTS : c_x VALUE 'X'. " Flag
DATA : v_l(2), " Counter
v_rowno(5), " Row No
v_2(2), " Counter
v_rows LIKE sy-srows, " Rows in TC
v_field(45). " String
Parameters
PARAMETERS: p_file LIKE ibipparms-path. " Filename
At selection-screen on Value Request for file Name
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
Get the F4 Values for the File
CALL FUNCTION 'F4_FILENAME'
EXPORTING
program_name = syst-cprog
dynpro_number = syst-dynnr
IMPORTING
file_name = p_file.
Start of Selection
START-OF-SELECTION.
Open the BDC Session
PERFORM open_group.
Upload the File into internal Table
CALL FUNCTION 'UPLOAD'
EXPORTING
filename = p_file
filetype = 'DAT'
TABLES
data_tab = i_pr
EXCEPTIONS
conversion_error = 1
invalid_table_width = 2
invalid_type = 3
no_batch = 4
unknown_error = 5
gui_refuse_filetransfer = 6
OTHERS = 7.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
SORT i_pr BY sno.
LOOP AT i_pr.
MOVE-CORRESPONDING i_pr TO it_item.
APPEND it_item.
CLEAR it_item.
AT END OF sno.
READ TABLE i_pr INDEX sy-tabix.
MOVE-CORRESPONDING i_pr TO it_header.
APPEND it_header.
CLEAR it_header.
ENDAT.
ENDLOOP.
SORT it_header BY sno.
SORT it_item BY sno.
v_rows = sy-srows - 6.
Upload the Data from Internal Table
LOOP AT it_header.
Header Data
PERFORM bdc_dynpro USING 'SAPMM06B' '0100'.
PERFORM bdc_field USING 'BDC_CURSOR'
'EBAN-BEDNR'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'EBAN-BSART'
it_header-bsart.
PERFORM bdc_field USING 'RM06B-EPSTP'
it_header-epstp.
PERFORM bdc_field USING 'EBAN-KNTTP'
it_header-knttp.
PERFORM bdc_field USING 'RM06B-EEIND'
it_header-eeind.
PERFORM bdc_field USING 'RM06B-LPEIN'
it_header-lpein.
PERFORM bdc_field USING 'EBAN-WERKS'
it_header-werks.
PERFORM bdc_field USING 'EBAN-LGORT'
it_header-lgort.
PERFORM bdc_field USING 'EBAN-EKGRP'
it_header-ekgrp.
PERFORM bdc_field USING 'EBAN-MATKL'
it_header-matkl.
PERFORM bdc_field USING 'EBAN-BEDNR'
it_header-bednr.
PERFORM bdc_field USING 'EBAN-AFNAM'
it_header-afnam.
Item Details
v_l = 0.
To add no. of rows
v_2 = 0 .
As the screen is showing 13 rows defaulted to 130
v_rowno = 130 .
LOOP AT it_item WHERE sno = it_header-sno.
v_l = v_l + 1.
IF v_l = 14 .
IF v_2 = 12 .
v_2 = 12 .
v_l = 2 .
From second time onwards it is displaying 12 rows only
v_rowno = v_rowno + 120 .
PERFORM bdc_dynpro USING 'SAPMM06B' '0106'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RM06B-BNFPO'.
PERFORM bdc_field USING 'RM06B-BNFPO'
v_rowno.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
ELSE.
V_2 initialized to 12 for second screen purpose
v_2 = 12 .
v_l = 2 .
PERFORM bdc_dynpro USING 'SAPMM06B' '0106'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RM06B-BNFPO'.
PERFORM bdc_field USING 'RM06B-BNFPO'
v_rowno .
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
ENDIF.
ENDIF.
PERFORM bdc_dynpro USING 'SAPMM06B' '0106'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
CLEAR v_field.
CONCATENATE 'EBAN-MATNR(' v_l ')' INTO v_field.
PERFORM bdc_field USING v_field it_item-matnr.
CLEAR v_field.
CONCATENATE 'EBAN-MENGE(' v_l ')' INTO v_field.
PERFORM bdc_field USING v_field it_item-menge.
PERFORM bdc_dynpro USING 'SAPMM06B' '0102'.
PERFORM bdc_field USING 'BDC_CURSOR'
'EBAN-PREIS'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'EBAN-PREIS'
it_item-preis.
PERFORM bdc_dynpro USING 'SAPMM06B' '0505'.
PERFORM bdc_field USING 'BDC_CURSOR'
'EBKN-SAKTO'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=ENTE'.
PERFORM bdc_field USING 'EBKN-SAKTO'
it_item-sakto.
Cost Center
PERFORM bdc_dynpro USING 'SAPLKACB' '0002'.
PERFORM bdc_field USING 'BDC_CURSOR'
'COBL-KOSTL'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=ENTE'.
PERFORM bdc_field USING 'COBL-KOSTL'
it_item-kostl.
PERFORM bdc_field USING 'BDC_OKCODE'
'=ENTE'.
ENDLOOP.
PERFORM bdc_dynpro USING 'SAPMM06B' '0106'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RM06B-BNFPO'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=BU'.
Call The Transaction
PERFORM bdc_transaction USING 'ME51'.
ENDLOOP.
Close the BDC Session
PERFORM close_group.
reward for useful answers.
Regards,
Anji -
How to insert string containing '&' into a table
INSERT INTO TBL_CHANGES_ORGANISATIES(CHANGE_MANAGEMENT_ID, SUBMITTER) VALUES ('HM0000002147848|TK0000003121328','CS CSU S\&B Change Management')if you're in sqlplus:
put set define offprior to running your insert.
if you're in Toad, either:
put set define offbefore your insert statement, and run both in as a script
OR
right mouseclick on the editor and untick the "Prompt for substitution variables", and you need never worry about the & again! -
Can't Insert Into Self Defined Table
Hi,
i have been constructed a table and tried to insert data into this table, but get an 'Invalid Code' error. Does anybody know why?
I'm using Business One 6.5.
Here is my Java-Code:
private void insertIntoUserTable(ICompany comp) {
IUserTables tables;
IUserTable table;
try {
tables = comp.getUserTables();
table = comp.getUserTables().item("atotabelle");
table.getUserFields().getFields().item("U_TF0").setValue("Value1");
table.getUserFields().getFields().item("U_TF1").setValue("Value2");
table.getUserFields().getFields().item("U_TF2").setValue("Value3");
table.getUserFields().getFields().item("U_TF3").setValue("Value4");
if (table.add() == 0) {
System.out.println("Success!");
} else {
System.out.println("Error occured!");
System.out.println(comp.getLastError().getErrorMessage());
} catch (Exception e) {
e.printStackTrace();
Greetings
Message was edited by: Ahmet TokalakHi Ahmet,
You must set the following properties in the IUserTable object
setCode - Returns or sets a string that specifies the key value for the current record.
setName - Returns or sets a string that specifies the value of this record.
I got these explanation from the DI API Help file.
I think the code value must be unique for each value
private void insertIntoUserTable(ICompany comp) {
IUserTables tables;
IUserTable table;
try {
tables = comp.getUserTables();
table = comp.getUserTables().item("atotabelle");
table.setCode("4");
table.setName("4");
table.getUserFields().getFields().item("U_TF0").setValue("Value1");
table.getUserFields().getFields().item("U_TF1").setValue("Value2");
table.getUserFields().getFields().item("U_TF2").setValue("Value3");
table.getUserFields().getFields().item("U_TF3").setValue("Value4");
if (table.add() == 0) {
System.out.println("Success!");
} else {
System.out.println("Error occured!");
System.out.println(comp.getLastError().getErrorMessage());
} catch (Exception e) {
e.printStackTrace();
Thanks,
Cormac -
Insert string into date column
I'm writing a bash script that is supposed to insert a series of strings into a table. Problem is I may not know which column the date is in, so I don't want to hard code a to_date function in there.
For instance this row may come in to be inserted:
"06-APR-10 08:51:12","data","data","data","data","data","data","data","data"
Assuming the data is in the proper order, I'm just going to sub out the "," for ',' which will let me insert everything just fine, except obviously it borks on the date.
How do I insert the date this way as a string using the default internal call to to_date?? I know I can do it with '06-APR-10' and it works, but I need to get a little more specific with hour minute and second.user12947249 wrote:
I'm writing a bash script that is supposed to insert a series of strings into a table. Problem is I may not know which column the date is in, so I don't want to hard code a to_date function in there.If you don't know which string maps to which column, how do you expect to have any data reliability? Even if you manage to load the data without error, how can an application make any sense of it?
I'm curious because if you have a method to map the columns, that could be used to help you (maybe) and if you don't have a method ... then i don't see this post as being your number one problem :)
Maybe you are looking for
-
Runtime error while using SAP Enterprise Connector in a J2EE Web Servlet
Hello, I'm facing problems while trying to do a RFC call out of a Servlet. I'm using Development Components (DCs) and my project setup is as follows: Firstly I've created a DC of type J2EE/Web Module. This DC implements an absolutly simple servlet wh
-
Bonded Warehouse Initial Inventory
Hello, We are setting up the Bonded Warehouse in GTS 8.0. After the initial Transfer of the Stock from ECC to GTS all the inventory is in Duty Paid. How is the initial Duty Unpayed stock to be transferred in GTS from Duty Payed to Duty unpayed?
-
Hi all, I just began teaching myself SQLJ, but the fun stops too soon! In this page: http://technet.oracle.com/docs/products/oracle8i/doc_library/817_doc/java.817/a83724/getsta2.htm#1001339 I found a sample program to test a JDBC connection. I copied
-
Possible fix for UJ-815 Superdrive problem
I found a number of posts some time ago regarding this problem. Seems my Superdrive started making coasters when either reading or writing CDs / DVDs. The problem manifests itself in a grinding noise that gets louder and louder, then the drive eventu
-
Need to put value and test in pie chart
hi all, I have a requirement where i have to put both the value and the text in the pie chart. I have useed the following code <SliceLabel textType="LD_VALUE"/> is it possible to display both value and text. Regards, Dhaya.