Inserting structure to table
I'm getting this value through a loop of a structure:
<cfloop collection="#st_datachanged#" item="key">
<cfoutput>
#key# - #st_datachanged[key]#<br>
</cfoutput>
</cfloop>
Gender - F
LastName - Smith
FirstName - Adrienne
Addr1 - 9721 Willow Lane
City - Potomac
Zip - 20854-2053
State - MD
How can I insert this value into a row in my table?
My table row has these columns: FirstName,LastName,Gender,Addr1,City,State,Zip,Gender
I'm using CF8 and Sybase
Thank your for this solution but can I still you cfqueryparam? and the apostrophy is causing error. PreserveSingleQuoe doesn't seems to work in here
Brilliant question and suggestion! Using cfqueryparam is in fact a much better option. I simply forgot.
When you use it, preserveSingleQuotes becomes redundant. That is because cfqueryparam will surround string values with single-quotes, and the cfquery tag will automatically escape any single quotes within string values.
The modified code follows:
<!--- create comma-delimited, single-quoted values of respective keys --->
<cfloop List="#keyList#" index="listItem">
<cfset keyValueList = keyValueList & '<cfqueryparam cfsqltype="cf_sql_varchar" value="#st_datachanged[listItem]#">'>
<cfif counter LT listLen(keyList)>
<!--- add comma to separate values --->
<cfset keyValueList = keyValueList & ",">
<cfset counter = counter + 1>
</cfif>
</cfloop>
<!--- insert row to table --->
<cfquery name="yourQueryName" datasource="yourDSN">
insert into yourTable(#keyList#)
values (#keyValueList#)
</cfquery>
Similar Messages
-
Weird behaviour while inserting in a table
Hi All,
I am coming across a wierd problem.
We are using Oracle 10.2.0.3.0.
There is a collection system where by we give snapshot of the entire database in a pre-requisite format.
Recently a strange thing is happenning.
When we try to insert into a table data for 3 Lac individual (1 row per customer shud be inserted) customers from 12 different tables, it inserts more than 4 million rows.
Another observation is that for one account there are 39,98,300 rows and rest has data for some customers and not all.
When i printed the count of the select query, it returned exactly 3 Lac rows.
But when i run the proc from SQL prompt, it inserted exactly 3 Lac rows.
Has anyone come across such a problem.
Thanks in advance.
Ameya.Ameya wrote:
I am coming across a wierd problem.Problems are always weird,interesting etc until you know how to fix them.
Recently a strange thing is happenning.Since when, was there a change in your code, table re-org, some objects/code dropped etc.
When we try to insert into a table data for 3 Lac individual (1 row per customer shud be inserted) customers from 12 different tables, it inserts more than 4 million rows.How do you define individual customer, do you have unique constraint on the table, what is your business rule for unique customer identification etc.?
Does your 12 different tables same structure or 12 different structures.
What process inserts data - list the code.
Another observation is that for one account there are 39,98,300 rows and rest has data for some customers and not all.
When i printed the count of the select query, it returned exactly 3 Lac rows.Your code ?
But when i run the proc from SQL prompt, it inserted exactly 3 Lac rows.can you recreate problem using some sample representative code.
SS -
How can i insert into dynamic table ?
i have regular internal table with data .
i have dynamic table <dyn_tab>
i insert the data from itab
MOVE-CORRESPONDING ITAB TO <LS_LINE>.
INSERT <LS_LINE> INTO TABLE <DYN_TABLE>.
OK , NOW I WANT TO ADD THE DATA FROM OTHER TABLE
THAT HOLD THE DATA THAT ALL THE DYNAMIC TAB BUILD FOR
HOW CAN I DO THIS INSERT ?
I NEED TO INSERT "KOSTL" TO MATCH LINE in <DYN_TABLE>
THIS WHAT I TRIED TO DO :
SHIFT INDX1 LEFT DELETING LEADING SPACE.
CONCATENATE 'KOSTL' INDX1 INTO FIELD .
ASSIGN COMPONENT FIELD OF STRUCTURE <DYN_TABLE> TO <FS>.
<FS> = IT_EKKN-KOSTL.
but i get dump that <FS> not been assign .hi,
pls chk the sample code below.
REPORT zmaschl_create_data_dynamic .
TYPE-POOLS: slis.
DATA: it_fcat TYPE slis_t_fieldcat_alv,
is_fcat LIKE LINE OF it_fcat.
DATA: it_fieldcat TYPE lvc_t_fcat,
is_fieldcat LIKE LINE OF it_fieldcat.
DATA: new_table TYPE REF TO data.
DATA: new_line TYPE REF TO data.
FIELD-SYMBOLS: <l_table> TYPE ANY TABLE,
<l_line> TYPE ANY,
<l_field> TYPE ANY.
* Build fieldcat
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_structure_name = 'SYST'
CHANGING
ct_fieldcat = it_fcat[].
LOOP AT it_fcat INTO is_fcat WHERE NOT reptext_ddic IS initial.
MOVE-CORRESPONDING is_fcat TO is_fieldcat.
is_fieldcat-fieldname = is_fcat-fieldname.
is_fieldcat-ref_field = is_fcat-fieldname.
is_fieldcat-ref_table = is_fcat-ref_tabname.
APPEND is_fieldcat TO it_fieldcat.
ENDLOOP.
* Create a new Table
CALL METHOD cl_alv_table_create=>create_dynamic_table
EXPORTING
it_fieldcatalog = it_fieldcat
IMPORTING
ep_table = new_table.
* Create a new Line with the same structure of the table.
ASSIGN new_table->* TO <l_table>.
CREATE DATA new_line LIKE LINE OF <l_table>.
ASSIGN new_line->* TO <l_line>.
* Test it...
DO 30 TIMES.
ASSIGN COMPONENT 'SUBRC' OF STRUCTURE <l_line> TO <l_field>.
<l_field> = sy-index.
INSERT <l_line> INTO TABLE <l_table>.
ENDDO.
LOOP AT <l_table> ASSIGNING <l_line>.
ASSIGN COMPONENT 'SUBRC' OF STRUCTURE <l_line> TO <l_field>.
WRITE <l_field>.
ENDLOOP.
Regards
Anver
<i>if hlped pls mark points</i> -
How to Insert data from Table A to Table B
Hi,
I have to insert data from Table A into Table B.
Table A is having 100 records and table B is having 10000 records.
Condition is if data in Table A is not in table B then I have to insert into Table B or else I have to skip that.
Can anyone help me with sample code.
Thanks in advance and points are awarded for usefull answers.
Thanks,
Kumar.Hello Kumar
Assuming that tables A and B have the same structure you can use the same logic as change documents are prepared. Assuming both of your itabs are of structure struc_a. Then define the following type:
TYPES: BEGIN OF ty_s_itab_di.
INCLUDE TYPE struc_a.
TYPES: CHIND TYPE bu_chind.
TYPES: END OF ty_s_itab_di.
TYPES: ty_t_itab_di TYPE STANDARD TABLE OF ty_s_itab_di
WITH DEFAULT KEY.
DATA: gt_itab_old TYPE ty_t_itab_di,
gt_itab_new TYPE ty_t_itab_di.
Fill itabs gt_Itab_old with the corresponding data of itab1 and gt_itab_new with the corresponding data of itab2.
Very important: sort you itabs either by all key fields or by all fields.
Call function <b>CHANGEDOCUMENT_PREPARE_TABLES</b> with the following parameters:
- CHECK_INDICATOR = ' '
- TABLE_NEW = gt_Itab_new
- TABLE_OLD = gt_itab_old
The function module will remove identical lines from both itabs. New entries in gt_itab_New will have CHIND = 'I' and deleted entries in gt_itab_old will have CHIND = 'D'. Modified entries are indicated by CHIND = 'U'.
Read the documentation of the function module and play around with it. You will see that this a quite easy yet powerful approach for comparing itabs.
Regards
Uwe -
Insert into two tables, how to insert multiple slave records
Hi, I have a problem with insert into two tables wizard.
The wizard works fine and I can add my records, but I need to enter multiple slave table records.
My database:
table: paper
`id_paper` INTEGER(11) NOT NULL AUTO_INCREMENT,
`make` VARCHAR(20) COLLATE utf8_general_ci NOT NULL DEFAULT '',
`model` VARCHAR(20) COLLATE utf8_general_ci NOT NULL DEFAULT '',
`gsm` INTEGER(11) NOT NULL,
PRIMARY KEY (`id_paper`)
table: paper_data
`id_paper_data` INTEGER(11) NOT NULL AUTO_INCREMENT,
`id_paper` INTEGER(11) NOT NULL,
`value` DOUBLE(15,3) NOT NULL,
`nanometer` INTEGER(11) NOT NULL,
PRIMARY KEY (`id_paper_data`)
I need to add multiple fields "value" and "nanometer"
Current form looks like this:
Make:
Model:
Gsm:
Value:
nanometer:
I need it to look like this:
Make:
Model:
Gsm:
Value:
nanometer:
Value:
nanometer:
Value:
nanometer:
Value:
nanometer:
and so on.
The field "id_paper" in table paper_data needs to get same id for entire transaction. Also how do I set default values for each field "nanometer" on my form the must be different (370,380,390 etc)?
Thanks.you can find an answer here: http://209.85.129.132/search?q=cache:PzQj57dsWmQJ:www.experts-exchange.com/Web_Development /Software/Macromedia_Dreamweaver/Q_23713792.html+Insert+Into+Two+Tables+Wizard&cd=3&hl=lt& ct=clnk&gl=lt
This is a copy of the post:
Hi experts,
Im using ADDT to design a page that needs to insert one record into a master ALBUMS table, along with three records into a GENRES table, all linked by the primary, auto-incremented ALBUMS. ALBUM_ID.
Ive tried many different ways of combining the Insert into Multiple Tables wizard and the insert record wizard with Link Transactions, all with no luck. Either only the album info gets inserted, or a ALBUM_ID cannot be null error from MySQL. Here is the structure of the tables
ALBUMS
ALBUM_ID, INT(11), Primary, Auto_Increment
alb_name, varchar
alb_release, YEAR
USER_ID, int
alb_image, varchar
GENRES
ALBUM_ID, int, NOT NULL
GENRE_ID, int, NOT NULL
ID, int, primary, auto-increment
Many thanks in advance...
==========================================================================================
//remove this line if you want to edit the code by hand
function Trigger_LinkTransactions(&$tNG) {
global $ins_genres;
$linkObj = new tNG_LinkedTrans($tNG, $ins_genres);
$linkObj->setLink("ALBUM_ID");
return $linkObj->Execute();
function Trigger_LinkTransactions2(&$tNG) {
global $ins_genres2;
$linkObj = new tNG_LinkedTrans($tNG, $ins_genres2);
$linkObj->setLink("ALBUM_ID");
return $linkObj->Execute();
function Trigger_LinkTransactions3(&$tNG) {
global $ins_genres3;
$linkObj = new tNG_LinkedTrans($tNG, $ins_genres3);
$linkObj->setLink("ALBUM_ID");
return $linkObj->Execute();
//end Trigger_LinkTransactions trigger
//-----------------------Different Section---------------------//
// Make an insert transaction instance
//Add Record Genre 1
$ins_genres = new tNG_insert($conn_MySQL);
$tNGs->addTransaction($ins_genres);
$ins_genres->registerTrigger("STARTER", "Trigger_Default_Starter", 1, "VALUE", null);
$ins_genres->registerTrigger("BEFORE", "Trigger_Default_FormValidation", 10, $detailValidation);
$ins_genres->setTable("genres");
$ins_genres->addColumn("GENRE_ID", "NUMERIC_TYPE", "POST", "GENRE_ID");
$ins_genres->addColumn("ALBUM_ID", "NUMERIC_TYPE", "VALUE", "");
$ins_genres->setPrimaryKey("ID", "NUMERIC_TYPE");
// Add Record Genre 2
$ins_genres2 = new tNG_insert($conn_MySQL);
$tNGs->addTransaction($ins_genres2);
$ins_genres2->registerTrigger("STARTER", "Trigger_Default_Starter", 1, "VALUE", null);
$ins_genres2->setTable("genres");
$ins_genres2->addColumn("GENRE_ID", "NUMERIC_TYPE", "POST", "GENRE_ID2");
$ins_genres2->addColumn("ALBUM_ID", "NUMERIC_TYPE", "VALUE", "");
$ins_genres2->setPrimaryKey("ID", "NUMERIC_TYPE");
// Add Record Genre 3
$ins_genres3 = new tNG_insert($conn_MySQL);
$tNGs->addTransaction($ins_genres3);
$ins_genres3->registerTrigger("STARTER", "Trigger_Default_Starter", 1, "VALUE", null);
$ins_genres3->setTable("genres");
$ins_genres3->addColumn("GENRE_ID", "NUMERIC_TYPE", "POST", "GENRE_ID3");
$ins_genres3->addColumn("ALBUM_ID", "NUMERIC_TYPE", "VALUE", "");
$ins_genres3->setPrimaryKey("ID", "NUMERIC_TYPE");
=========================================================================================
Hi Aaron,
Nice job!!
$ins_albums->registerTrigger("AFTER", "Trigger_LinkTransactions2", 98);
$ins_albums->registerTrigger("AFTER", "Trigger_LinkTransactions3", 98);
These lines, right? :-( Sorry I forgot to mention that
Thanks a lot for the grading! -
ORA-00932 Using Structured XML Table
Hello,
I'm having a problem in trying to create and use a Structured XML Table.
I have created very small sample that illustrates my problem:
I have registered the following schema:
<schema
targetNamespace="http://tsldev01.thesoftlife.com:7887/SoftTop/Schemas/Jjm.xsd"
xmlns:jjm="http://tsldev01.thesoftlife.com:7887/SoftTop/Schemas/Jjm.xsd" xmlns="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
<complexType name="JjmType">
<choice maxOccurs="unbounded">
<element name = "Key" type = "string"></element>
<element name = "Type" type = "string"></element>
<element name = "AccessID" type = "string"></element>
</choice>
</complexType>
<element name ="Jjm" type="jjm:JjmType"/>
</schema>'
Then I created the following table:
CREATE TABLE JJM_SCHEMA of XMLType
XMLSCHEMA "http://tsldev01.thesoftlife.com:7887/SoftTop/Schemas/Jjm.xsd"
ELEMENT "Jjm";
Then I inserted the following row:
insert into JJM_SCHEMA values(xmltype('<Jjm
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://tsldev01.thesoftlife.com:7887/SoftTop/Schemas/Jjm.xsd">
<Key>anp</Key>
<Type>User</Type>
<AccessID>TSL2</AccessID>
</Jjm>'));
Then I do the following query:
SELECT
extract(value(x),
'/Jjm[Type="User"]') AS jjmXML FROM JJM_SCHEMA x
WHERE existsNode(value(x),'/Jjm[Type="User"]') = 1;
I get this error:
ERROR at line 1:
ORA-00932: inconsistent datatypes: expected UDT got CHAR
However, if I remove the Xpath predicate [Type="User"] from the "extract()" function and WHERE clause...
SELECT
extract(value(x),
'/Jjm') AS jjmXML FROM JJM_SCHEMA x
WHERE existsNode(value(x),'/Jjm') = 1;
The query works.
Also, If I change the schema from <choice maxOccurs="unbounded"> to <sequence>... either query works.
I need the "choice" type element to work with the Xpath predicate. Am I missing something?
Thanks in advance.
Jim McDowallJim
Which version of the database are you using...
Testing with 9.2.0.4.0 I had to add an xmlns declaration to the instance document before I could insert it into the table
<Jjm xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://tsldev01.thesoftlife.com:7887/SoftTop/Schemas/Jjm.xsd" xsi:noNamespaceSchemaLocation="http://tsldev01.thesoftlife.com:7887/SoftTop/Schemas/Jjm.xsd">
<Key>anp</Key>
<Type>User</Type>
<AccessID>TSL2</AccessID>
</Jjm>
However once that was done I get the following.
SQL*Plus: Release 9.2.0.4.0 - Production on Wed Aug 20 15:40:32 2003
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
SQL> spool testcase.log
SQL> set trimspool on
SQL> connect &1/&2
Connected.
SQL> --
SQL> set timing on
SQL> set long 10000
SQL> set pages 10000
SQL> set feedback on
SQL> set lines 132
SQL> --
SQL> SELECT extract(value(x),'/Jjm[Type="User"]') AS jjmXML
2 FROM JJM_SCHEMA x
3 WHERE existsNode(value(x),'/Jjm[Type="User"]') = 1
4 /
JJMXML
<Jjm xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://tsldev01.thesoftlife.com:7887/SoftTop/S
noNamespaceSchemaLocation="http://tsldev01.thesoftlife.com:7887/SoftTop/Schemas/Jjm.xsd">
<Key>anp</Key>
<Type>User</Type>
<AccessID>TSL2</AccessID>
</Jjm>
1 row selected.
Elapsed: 00:00:02.07
SQL> SELECT extract(value(x),'/Jjm') AS jjmXML
2 FROM JJM_SCHEMA x
3 WHERE existsNode(value(x),'/Jjm') = 1;
JJMXML
<Jjm xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://tsldev01.thesoftlife.com:7887/SoftTop/S
noNamespaceSchemaLocation="http://tsldev01.thesoftlife.com:7887/SoftTop/Schemas/Jjm.xsd">
<Key>anp</Key>
<Type>User</Type>
<AccessID>TSL2</AccessID>
</Jjm>
1 row selected.
Elapsed: 00:00:00.00
SQL> /
JJMXML
<Jjm xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://tsldev01.thesoftlife.com:7887/SoftTop/S
noNamespaceSchemaLocation="http://tsldev01.thesoftlife.com:7887/SoftTop/Schemas/Jjm.xsd">
<Key>anp</Key>
<Type>User</Type>
<AccessID>TSL2</AccessID>
</Jjm>
1 row selected.
Elapsed: 00:00:00.00
SQL> quit -
How to dynamic field insert into intenal table?
hi friends
this is my urgent requirements .... how to dynamic field insert into internal table if it possible please tell me
thanks & regards
pauldharmaHi,
Go through this
REPORT yusmm_text1 NO STANDARD PAGE HEADING
LINE-SIZE 199.
T A B L E S
TABLES: MARA,
MAKT,
THEAD.
GLOBAL TYPE-POOLS
TYPE-POOLS : SLIS.
GLOBAL TYPES
TYPES : BEGIN OF TP_FINAL,
MATNR TYPE MARA-MATNR,
BEGRU TYPE MARA-BEGRU,
MTART TYPE MARA-MTART,
MAKTX TYPE MAKT-MAKTX,
SPRAS TYPE MAKT-SPRAS,
LTXT(2000) TYPE C ,
SRNO TYPE N ,
END OF TP_FINAL.
TYPES : BEGIN OF TP_T002,
SPRAS TYPE T002-SPRAS,
LAISO TYPE T002-LAISO,
SRNO TYPE N ,
END OF TP_T002.
TYPES : BEGIN OF TP_MARA_MAKT,
MATNR TYPE MARA-MATNR,
BEGRU TYPE MARA-BEGRU,
MTART TYPE MARA-MTART,
SPRAS TYPE MAKT-SPRAS,
MAKTX TYPE MAKT-MAKTX,
END OF TP_MARA_MAKT.
Types: BEGIN OF tp_matnr,
matnr TYPE mara-matnr,
END OF tp_matnr.
GLOBAL ELEMENTARY VARIABLES
DATA : gv_date TYPE sy-datum.
DATA : gv_repid TYPE sy-repid.
DATA : g_var1(10) TYPE C.
DATA : gv_index TYPE sy-tabix.
DATA: gv_strg TYPE string,
gv_strg1(2000) TYPE C.
DATA : gv_lang TYPE sy-langu.
DATA : g_v(3) TYPE N .
DATA : gv_lines(3) TYPE N .
DATA : gv_var(3) TYPE N .
DATA : gv_var1(3) TYPE N.
DATA: gv_str TYPE STRING.
DATA: gv_str1 TYPE STRING.
DATA : gv_li TYPE I,
gv_lit TYPE I,
gv_lin TYPE I.
DATA: g_var11(3) TYPE N,
gv_li1(3) TYPE N,
g_var2(3) TYPE N.
DATA : gv_i1 TYPE I.
DATA : gv_i TYPE I.
DATA: gl_lenght TYPE I.
GLOBAL STRUCTURES
DATA: T_NEWTABLE TYPE REF TO DATA,
T_NEWLINE TYPE REF TO DATA,
T_FLDCAT1 TYPE SLIS_T_FIELDCAT_ALV,
T_FLDCAT TYPE LVC_T_FCAT,
WA_IT_FLDCAT TYPE LVC_S_FCAT,
WA_IT_FLDCAT1 TYPE SLIS_FIELDCAT_ALV,
WA_COLNO(2) TYPE N,
WA_FLNAME(5) TYPE C,
L_LT TYPE SLIS_LAYOUT_ALV.
GLOBAL INTERNAL TABLES (WITH INCLUDE STRUCTURE)
DATA : IG_MARA_MAKT TYPE STANDARD TABLE OF TP_MARA_MAKT,
WG_MARA_MAKT TYPE TP_MARA_MAKT.
DATA : IG_T002 TYPE STANDARD TABLE OF TP_T002,
WG_T002 TYPE TP_T002.
DATA : IG_FINAL TYPE STANDARD TABLE OF TP_FINAL,
WG_FINAL TYPE TP_FINAL.
data : IG_MATNR TYPE STANDARD TABLE OF TP_MATNR WITH HEADER LINE,
WG_MATNR TYPE TP_MATNR.
DATA:BEGIN OF IG_THEAD OCCURS 0.
INCLUDE STRUCTURE THEAD .
DATA: END OF IG_THEAD.
DATA:BEGIN OF IG_TLINE OCCURS 0.
INCLUDE STRUCTURE TLINE .
DATA:END OF IG_TLINE.
FIELD-SYMBOLS
FIELD-SYMBOLS: <T_DYNTABLE> TYPE STANDARD TABLE,"Dynamic internal
"tablename
<FS_DYNTABLE>, "Field symbol to create work area
<FS_FLDVAL> TYPE ANY. " Field symbol to assign values
COMPULSORY
FIELD-SYMBOLS: <FS_DATA> TYPE REF TO DATA,
<FS_DATA1> TYPE REF TO DATA,
<FS_2> TYPE STANDARD TABLE,
<FS_22> TYPE STANDARD TABLE,
<FS_1>,
<FS_11>,
<F>,
<FA>,
<LWA_LINE_WA>,
<LWA_LINE_WA1>.
------- Create Dyn Table From FC
DATA: LT_DATA TYPE REF TO DATA,
LT_DATA1 TYPE REF TO DATA,
LWA_LINE TYPE REF TO DATA,
LWA_LINE1 TYPE REF TO DATA,
LI_FIELD_CAT TYPE LVC_T_FCAT,
LWA_FIELD_CAT TYPE LVC_S_FCAT.
PARAMETERS & SELECT-OPTIONS
SELECTION-SCREEN : BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS : S_SPRAS FOR MAKT-SPRAS NO INTERVALS DEFAULT 'EN'
OBLIGATORY ,
S_MATNR FOR MARA-MATNR,
S_MTART FOR MARA-MTART.
PARAMETERS: GP_SIZE TYPE I DEFAULT '200'.
SELECTION-SCREEN : END OF BLOCK B1.
INITIALIZATION
INITIALIZATION.
gv_repid = sy-repid.
gv_date = sy-datum.
AT SELECTION-SCREEN
AT SELECTION-SCREEN.
IF GP_SIZE < 0.
MESSAGE E002(00).
ENDIF.
IF GP_SIZE > 50000.
MESSAGE W130(26) WITH TEXT-004.
SET CURSOR FIELD 'gp_size'.
ENDIF.
START-OF-SELECTION
START-OF-SELECTION.
PERFORM FIELDCAT.
PERFORM LAYOUT.
PERFORM DATA_FETCH.
PERFORM READ_DATA_TO_FINAL.
SORT ig_final BY matnr spras.
gv_lin = gv_li.
gv_li = gv_li - 2.
LOOP AT ig_final INTO wg_final.
ASSIGN COMPONENT 1 OF STRUCTURE <LWA_LINE_WA1> TO <FA>.
<FA> = 'Material Number'.
ASSIGN COMPONENT 2 OF STRUCTURE <LWA_LINE_WA1> TO <FA>.
<FA> = 'Authorization Group'.
g_VAR11 = wg_final-srno + 2.
gv_li1 = gv_li1 + 2.
MOVE : g_var11 TO gv_i1.
ASSIGN COMPONENT g_var11 OF STRUCTURE <LWA_LINE_WA1> TO <FA>.
<FA> = 'MatDesc'.
g_var2 = g_var11 + gv_lines.
ASSIGN COMPONENT g_var2 OF STRUCTURE <LWA_LINE_WA1> TO <FA>.
<FA> = 'BasicData'.
APPEND <LWA_LINE_WA1> TO <FS_22>.
EXIT.
ENDLOOP.
LOOP AT ig_final INTO wg_final.
AT NEW matnr.
gv_index = sy-tabix.
ASSIGN COMPONENT 1 OF STRUCTURE <LWA_LINE_WA> TO <F>.
<F> = wg_final-matnr.
ENDAT.
AT NEW MATNR.
GV_INDEX = SY-TABIX.
ASSIGN COMPONENT 1 OF STRUCTURE <LWA_LINE_WA1> TO <FA>.
<FA> = wg_final-matnr.
ENDAT.
ASSIGN COMPONENT 2 OF STRUCTURE <LWA_LINE_WA> TO <F>.
<F> = wg_final-begru.
ASSIGN COMPONENT 2 OF STRUCTURE <LWA_LINE_WA1> TO <FA>.
<FA> = wg_final-begru.
gv_var = wg_final-srno + 2.
gv_li = gv_li + 2.
MOVE : gv_var TO gv_i.
ASSIGN COMPONENT gv_var OF STRUCTURE <LWA_LINE_WA> TO <F>.
<F> = wg_final-maktx.
ASSIGN COMPONENT gv_var OF STRUCTURE <LWA_LINE_WA1> TO <FA>.
<FA> = wg_final-maktx.
gv_var1 = gv_var + gv_lines .
ASSIGN COMPONENT gv_var1 OF STRUCTURE <LWA_LINE_WA> TO <F>.
<F> = wg_final-ltxt.
ASSIGN COMPONENT gv_var1 OF STRUCTURE <LWA_LINE_WA1> TO <FA>.
<FA> = wg_final-ltxt.
AT END OF matnr.
APPEND <LWA_LINE_WA> TO <FS_2>.
CLEAR <LWA_LINE_WA>.
ENDAT.
AT END OF matnr.
APPEND <LWA_LINE_WA1> TO <FS_22>.
CLEAR <LWA_LINE_WA1>.
ENDAT.
ENDLOOP.
PERFORM display..
*& Form data_fetch
text
--> p1 text
<-- p2 text
FORM DATA_FETCH .
SELECT matnr
from mara up to gp_size rows
appending corresponding fields of table ig_matnr
where matnr in s_matnr
and mtart in s_mtart.
loop at ig_matnr.
SELECT MARA~MATNR
MARA~BEGRU
MARA~MTART
MAKT~SPRAS
MAKT~MAKTX FROM MARA INNER JOIN MAKT
ON MARAMATNR = MAKTMATNR
appending corresponding fields of TABLE ig_mara_makt UP TO GP_SIZE
ROWS
WHERE makt~spras IN s_spras
AND mara~matnr IN s_matnr
AND mara~mtart IN s_mtart
AND mara~matnr EQ ig_matnr-matnr.
endloop.
IF sy-subrc = 0.
SORT ig_mara_makt.
ENDIF.
ENDFORM. " data_fetch
*& Form read_data_to_final
text
--> p1 text
<-- p2 text
FORM READ_DATA_TO_FINAL .
LOOP AT ig_mara_makt INTO wg_mara_makt .
wg_final-MATNR = wg_mara_makt-MATNR.
wg_final-BEGRU = wg_mara_makt-BEGRU.
wg_final-MTART = wg_mara_makt-MTART.
wg_final-SPRAS = wg_mara_makt-SPRAS.
wg_final-MAKTX = wg_mara_makt-MAKTX.
READ TABLE ig_t002 INTO wg_t002 WITH KEY spras = wg_final-spras.
IF sy-subrc = 0.
wg_final-srno = wg_t002-srno.
ENDIF.
CLEAR ig_thead[].
ig_thead-TDOBJECT = 'MATERIAL'.
ig_thead-TDNAME = wg_final-matnr.
ig_thead-TDID = 'GRUN'.
ig_thead-TDSPRAS = wg_final-spras.
CALL FUNCTION 'TEXT_READ'
EXPORTING
I_HEADER = IG_THEAD
I_READONLY = 'X'
IMPORTING
E_HEADER = IG_THEAD
TABLES
T_LINES = IG_TLINE[]
EXCEPTIONS
NOTFOUND = 1.
IF sy-subrc EQ 0.
LOOP AT ig_tline.
gv_strg = ig_tline-tdline.
IF gv_strg1 <> ' '.
CONCATENATE gv_strg1 ';' gv_strg INTO gv_strg1.
ELSE.
gv_strg1 = gv_strg.
ENDIF.
ENDLOOP.
wg_final-ltxt = gv_strg1.
APPEND wg_final TO ig_final.
CLEAR wg_final.
gv_strg1 = ' '.
ELSE.
APPEND wg_final TO ig_final.
ENDIF.
ENDLOOP.
ENDFORM. " read_data_to_final
" read_data_to_final
*& Form layout
text
--> p1 text
<-- p2 text
FORM LAYOUT .
CLEAR L_LT.
L_LT-ZEBRA = 'X'.
L_LT-COLWIDTH_OPTIMIZE = 'X'.
L_LT-WINDOW_TITLEBAR = 'MATERIAL DETAILS'.
ENDFORM. " layout
*& Form fieldcat
text
--> p1 text
<-- p2 text
FORM FIELDCAT .
SELECT SPRAS
LAISO FROM t002 INTO CORRESPONDING FIELDS OF TABLE ig_t002
WHERE spras IN s_spras.
DESCRIBE TABLE ig_t002 LINES gv_lines.
LOOP AT ig_t002 INTO wg_t002.
g_v = g_v + 1.
Wg_t002-srno = g_v.
MODIFY ig_t002 FROM wg_t002 TRANSPORTING SRNO.
ENDLOOP.
LOOP AT ig_t002 INTO wg_t002.
CLEAR WA_IT_FLDCAT.
MOVE SY-INDEX TO WA_COLNO.
CONCATENATE 'MD-' wg_t002-LAISO
WA_COLNO
INTO WA_FLNAME.
WA_IT_FLDCAT-FIELDNAME = WA_FLNAME.
WA_IT_FLDCAT-DATATYPE = 'CHAR'.
WA_IT_FLDCAT-SELTEXT = WA_FLNAME.
WA_IT_FLDCAT-INTLEN = 250.
WA_IT_FLDCAT-TABNAME = '<FS_2>'.
APPEND WA_IT_FLDCAT TO T_FLDCAT.
CLEAR wg_t002.
ENDLOOP.
LOOP AT ig_t002 INTO wg_t002.
CLEAR WA_IT_FLDCAT.
MOVE SY-INDEX TO WA_COLNO.
CONCATENATE 'BD-' wg_t002-LAISO
WA_COLNO
INTO WA_FLNAME.
WA_IT_FLDCAT-FIELDNAME = WA_FLNAME.
WA_IT_FLDCAT-DATATYPE = 'CHAR'.
WA_IT_FLDCAT-SELTEXT = WA_FLNAME.
WA_IT_FLDCAT-INTLEN = 250.
WA_IT_FLDCAT-TABNAME = '<FS_2>'.
APPEND WA_IT_FLDCAT TO T_FLDCAT.
CLEAR wg_t002.
ENDLOOP.
MOVE 'MATNR' TO WA_FLNAME.
WA_IT_FLDCAT-FIELDNAME = WA_FLNAME.
WA_IT_FLDCAT-DATATYPE = 'CHAR'.
WA_IT_FLDCAT-SELTEXT = 'Material No'.
WA_IT_FLDCAT-INTLEN = 18.
WA_IT_FLDCAT-TABNAME = '<FS_2>'.
INSERT WA_IT_FLDCAT INTO T_FLDCAT INDEX 1.
MOVE 'BEGRU' TO WA_FLNAME.
WA_IT_FLDCAT-FIELDNAME = WA_FLNAME.
WA_IT_FLDCAT-DATATYPE = 'CHAR'.
WA_IT_FLDCAT-SELTEXT = 'Authorization Group'.
WA_IT_FLDCAT-INTLEN = 4.
WA_IT_FLDCAT-TABNAME = '<FS_2>'.
INSERT WA_IT_FLDCAT INTO T_FLDCAT INDEX 2.
DESCRIBE TABLE T_FLDCAT LINES gv_li.
ASSIGN LT_DATA TO <FS_DATA>.
Creating the Dynamic Internal Table
CALL METHOD CL_ALV_TABLE_CREATE=>CREATE_DYNAMIC_TABLE
EXPORTING
IT_FIELDCATALOG = T_FLDCAT " Fieldcatalogue
IMPORTING
EP_TABLE = <FS_DATA> " Dynamic Internal Table
EXCEPTIONS
GENERATE_SUBPOOL_DIR_FULL = 1
OTHERS = 2.
Assign Dyn Table To Field Sumbol
ASSIGN <FS_DATA>->* TO <FS_1>.
Assigning the Internal Table TYPE ANY to Standard internal Table
ASSIGN <FS_1> TO <FS_2>.
Creating a Workarea
CREATE DATA LWA_LINE LIKE LINE OF <FS_2> .
Assigning the Content to the workares as a Pointer
ASSIGN LWA_LINE->* TO <LWA_LINE_WA>.
LOOP AT T_FLDCAT INTO WA_IT_FLDCAT.
WA_IT_FLDCAT1-FIELDNAME = WA_IT_FLDCAT-FIELDNAME.
WA_IT_FLDCAT1-TABNAME = WA_IT_FLDCAT-TABNAME.
WA_IT_FLDCAT1-SELTEXT_L = WA_IT_FLDCAT-SELTEXT.
WA_IT_FLDCAT1-REF_TABNAME = 'MARC'.
APPEND WA_IT_FLDCAT1 TO T_FLDCAT1.
CLEAR : WA_IT_FLDCAT,WA_IT_FLDCAT1.
ENDLOOP.
ASSIGN LT_DATA1 TO <FS_DATA1>.
CALL METHOD CL_ALV_TABLE_CREATE=>CREATE_DYNAMIC_TABLE
EXPORTING
IT_FIELDCATALOG = T_FLDCAT " Fieldcatalogue
IMPORTING
EP_TABLE = <FS_DATA1> " Dynamic Internal table
EXCEPTIONS
GENERATE_SUBPOOL_DIR_FULL = 1
OTHERS = 2.
Assign Dyn Table To Field Sumbol
ASSIGN <FS_DATA1>->* TO <FS_11>.
Assigning the Internal Table TYPE ANY to Standard internal Table
ASSIGN <FS_11> TO <FS_22>.
Creating a Workarea
CREATE DATA LWA_LINE1 LIKE LINE OF <FS_22> .
Assigning the Content to the workares as a Pointer
ASSIGN LWA_LINE1->* TO <LWA_LINE_WA1>.
ENDFORM. " fieldcat
*& Form show
text
--> p1 text
<-- p2 text
FORM Display .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER = ' '
I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = GV_REPID
I_CALLBACK_PF_STATUS_SET = 'PF_STATUS_SET'
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
I_CALLBACK_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_END_OF_LIST = ' '
I_STRUCTURE_NAME =
I_BACKGROUND_ID = ' '
I_GRID_TITLE =
I_GRID_SETTINGS =
IS_LAYOUT = L_LT
IT_FIELDCAT = T_FLDCAT1[]
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = ' '
IS_VARIANT =
IT_EVENTS =
IT_EVENT_EXIT =
IS_PRINT =
IS_REPREP_ID =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
I_HTML_HEIGHT_TOP = 0
I_HTML_HEIGHT_END = 0
IT_ALV_GRAPHICS =
IT_HYPERLINK =
IT_ADD_FIELDCAT =
IT_EXCEPT_QINFO =
IR_SALV_FULLSCREEN_ADAPTER =
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB = <FS_2>
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. " display
FORM PF_STATUS_SET USING RS_EXTAB TYPE SLIS_T_EXTAB.
SET PF-STATUS 'DISPLAY' .
ENDFORM. "PF_STATUS_SET
*& Form Name: user_command *
*& Form Desc: For Handling USER_COMMAND *
FORM USER_COMMAND USING IF_UCOMM TYPE SY-UCOMM
IS_SELFIELD TYPE SLIS_SELFIELD.
CASE IF_UCOMM.
WHEN 'DOWNLOAD'.
CALL FUNCTION 'POPUP_TO_CONFIRM'
EXPORTING
TITLEBAR = ' '
DIAGNOSE_OBJECT = ' '
TEXT_QUESTION = 'Data download to excel'
TEXT_BUTTON_1 = 'Ja'(001)
ICON_BUTTON_1 = ' '
TEXT_BUTTON_2 = 'Nein'(002)
ICON_BUTTON_2 = ' '
DEFAULT_BUTTON = '1'
DISPLAY_CANCEL_BUTTON = 'X'
USERDEFINED_F1_HELP = ' '
START_COLUMN = 25
START_ROW = 6
POPUP_TYPE =
IMPORTING
ANSWER =
TABLES
PARAMETER =
EXCEPTIONS
TEXT_NOT_FOUND = 1
OTHERS = 2
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
BIN_FILESIZE =
FILENAME = 'C:\Material-Text.xls'
FILETYPE = 'ASC'
APPEND = ' '
WRITE_FIELD_SEPARATOR = 'X'
HEADER = '00'
TRUNC_TRAILING_BLANKS = 'X'
WRITE_LF = 'X'
COL_SELECT = ' '
COL_SELECT_MASK = ' '
DAT_MODE = 'X'
IMPORTING
FILELENGTH = GL_LENGHT
TABLES
DATA_TAB = <FS_22>
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 <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
IF GL_LENGHT NE 0.
MESSAGE S398(00) WITH 'DATA downloaded to EXCEL'.
ENDIF.
Thanks
ENDCASE.
ENDFORM. "user_command -
Constraint for insertion in a table if inserted rows should not more than 2
Problem: A Teacher only can assigned for maximum 2 Subjects in the same class Standard.
actually i want to create a table like following
create table teaches
teacherid int,
standard varchar(10),
subjectcode varchar(10),
constraint cpk_teaches primary key(teacherid, standard, subjectcode)
and i want that when any data inserted in the table,
a constraint will work in the manner that there is
NO POSSIBILITY TO INSERT the data for
(teacherid, standard) columns THRICE (3rd time)
actually i want that only maximum of 2 different data will insert in
(subjectcode) for the same (teacherid, standard)Thanks for the suggestion,
But, my original problem remains on the same stage.
Actually this table has all the keys as foreign key of other tables.
Why?, is not necessary this time.
If you don't mind kindly give me the code of constraint, if any to solve my problem.
Problem: I want to insert only maximum of two different Subjects for same Teacher and Standard and not more.
In real life like following.
Mr. TCHR-1 is teaching subject SUB-1 in standard STD-1.
Mr. TCHR-1 is teaching subject SUB-2 in standard STD-1.
But, can't Mr. TCHR-1 is teaching subject SUB-3 in standard STD-1.
My table structure is not in the state of changing due to some reasons.
It is, as previously described.
create table teaches
tchrid int,
std varchar(10),
subcode varchar(10),
constraint cpk_teaches primary key(tchrid, subcode, std)
) -
Hi Friends
Iam trying to insert a record in MSAccess table from a legacy file. I could establish the connection to MSAccess and could able to retrive the data from it. But while inserting it gives me an error:
<b>Receiver Adapter v1109 for Party '', Service 'ORACLE_SERVER_BS':
Configured at 11:41:23 2005-10-24
Last message processing started 12:18:28 2005-10-24, Error: TransformException error in xml processor class, rollback:
Error processing request in sax parser: Error when executing statement for table/stored proc. 'VendorMaster': java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] Syntax error in INSERT INTO statement.
at com.sap.aii.adapter.jdbc.xml2sql.service(xml2sql.java:179)
at com.sap.aii.adapter.jdbc.XI2JDBC.onInternalMessage(XI2JDBC.java:347)
at com.sap.aii.adapter.jdbc.SapAdapterServiceFrameImpl.callSapAdapter_i(SapAdapterServiceFrameImpl.java:170)
at com.sap.aii.adapter.jdbc.SapAdapterServiceFrameImpl.callSapAdapter(SapAdapterServiceFrameImpl.java:146)
at com.sap.aii.af.modules.CallAdapterWithMessageBean.process_receiver(CallAdapterWithMessageBean.java:204)
at com.sap.aii.af.modules.CallAdapterWithMessageBean.process(CallAdapterWithMessageBean.java:159)
at com.sap.aii.af.mp.module.ModuleLocalLocalObjectImpl1.process(ModuleLocalLocalObjectImpl1.java:103)
at com.sap.aii.af.mp.ejb.ModuleProcessorBean.process(ModuleProcessorBean.java:221)
at com.sap.aii.af.mp.processor.ModuleProcessorLocalLocalObjectImpl0.process(ModuleProcessorLocalLocalObjectImpl0.java:103)
at com.sap.aii.af.listener.AFWListenerBean.onMessage(AFWListenerBean.java:220)
at com.sap.aii.af.listener.AFWListenerLocalObjectImpl0.onMessage(AFWListenerLocalObjectImpl0.java:103)
at com.sap.aii.af.ra.ms.impl.ServicesImpl.deliver(ServicesImpl.java:274)
at com.sap.aii.adapter.xi.ms.XIEventHandler.onDeliver(XIEventHandler.java:653)
at com.sap.aii.af.ra.ms.impl.core.queue.ReceiveConsumer.invokeHandler(ReceiveConsumer.java:374)
at com.sap.aii.af.ra.ms.impl.core.queue.ReceiveConsumer.onMessage(ReceiveConsumer.java:98)
at com.sap.aii.af.ra.ms.impl.core.queue.Queue.run(Queue.java:448)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(Native Method)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:94)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:162)</b>
The structure for the target field is
VendorMaster_DT
>Insert
>>VendorMaster
action
table
>>>access
VendorNumber
LastNameHi,
<i>java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] <b>Syntax error in INSERT INTO statement.</b>at com.sap.aii.adapter.jdbc.xml2sql.service(xml2sql.java:179)</i>
looks like your insert statement in the inbound message is wrong, check your inbound message...
naveen -
Insert in Multiple Tables ReceiverJDBC in sequence
Hello Experts,
I have an interface in which i need to insert into 4 tables, i know that is possible using receiver JDBC with multiple statement but My requirement is that data should be inserted in sequence.
Table1 then table2 then tab3 and tab4 as they have constraints.
I know that it can be achieved by using Stored Procedure, or having a staging table and then some other SP inserting data in sequence after reading staging table.
Is there any other way to achieve it ? (NO BPM). Any new functionality to achieve that in PI 7.11 ?
Regards
InderSince you are going to insert data into 4 tables in a sequence one after another , I see three options.
You already mentioned 2 options 1) Stored procedure and 2) creating 4 statement data structure (one for each table)
The third option is writing a SQL with join for the 4 tables and use action command = SQL_DML. Example as follows....
Write SQL code and place it in access tag. Pass values for the columns using key tag...
<stmt>
<Customers action="SQL_DML">
<access> UPDATE Customers SET CompanyName=u2019$NAME$u2019, Address=u2019$ADDRESS$' WHERE CustomerID='$KEYFIELD$u2019
</access>
<key>
<NAME>name</NAME>
<ADDRESS>address </ADDRESS>
<KEYFIELD>100</KEYFIELD>
</key>
</Customers>
</stmt>
Refer this [link|http://help.sap.com/saphelp_nwpi71/helpdata/en/44/7b7855fde93673e10000000a114a6b/content.htm]...
Hope this helps .... -
PO structures or tables that hold the values at Routine level
hi
can any one tell me what are all the MM structures or tables that holds value of mode of transport (OIC_MOT) and Order acknowledgment requirement (KZABS) values at VOFM routine level.
if we caunt find these values at the routine level through structures, is there any other method to get those values at the routine level
vamsihi Mav,
it's normal to have + and - records in infocube, the way infocube work is always ADD/INSERT records, any changes to data will be - first then insert new value, e.g
Data come from transaction
Date Customer Order Qty
12.12.2005 A 100
Data go to infocube
Date Customer Order Qty
12.12.2005 A 100
Then transaction change :
Date Customer Order Qty
12.12.2005 A 50
so in infocube will have 3 records :
12.12.2005 A 100
12.12.2005 A -100
12.12.2005 A 50
-- total = 50 (correct)
so its' normal to have - in infocube
you can eliminate these records by do infocube compression.
hope this helps. -
How can I insert into a table other than the default table in a form
Hi,
I want to insert into a table with some fields value of a form of another table. I have written insert code On successful submission of that form, but after submit it gives the following error
An unexpected error occurred: ORA-06502: PL/SQL: numeric or value error (WWV-16016)
My code is like this
declare
l_trn_id number;
l_provider_role varchar2(3);
l_provider_id varchar2(10);
begin
l_trn_id := p_session.get_value_as_number(p_block_name=>'DEFAULT',p_attribute_name=>'A_TRANSACTION_ID');
l_provider_id := p_session.get_value_as_varchar2(p_block_name=>'DEFAULT',p_attribute_name=>'A_PROVIDER1');
l_PROVIDER_ROLE := p_session.get_value_as_varchar2(p_block_name=>'DEFAULT',p_attribute_name=>'A_PROVIDER_ROLE1');
if (l_provider_role is not null) and (l_provider_id is not null) then
insert into service_provider_trans_records(service_provider_id,transaction_id,role_type_id)
values(l_provider_id, l_trn_id, l_provider_role);
commit;
end if;
end;
Where 'PROVIDER1' and 'PROVIDER_ROLE1' are not table fields.
How can do that or why this error comes ? Any idea?
Thanks
SumitaHi,
When do you get this error? Is it while running or while creating the form.
Here is a sample code which inserts a non-database column dummy into a table called dummy. This is done in successful procedure.
declare
l_dummy varchar2(1000);
begin
l_dummy := p_session.get_value_as_varchar2(p_block_name=>'DEFAULT',
p_attribute_name=>'A_DUMMY');
insert into sjayaram903_1g.dummy values(l_dummy);commit;
end;
Please check in your case if the size of the local variable is enough to hold the values being returned.
Thanks,
Sharmila -
Can not insert or update [TABLE] from internal table in method
I've faced a problem with OO abap. I've tried to insert into [ TABLE ] from internal table, but i've got error msg after i compiled.
"An explicit work area is necessary in the OO context. Use "INSERT wa INTO [TABLE] itab""
After i changed to loop in work area and INSERT INTO [TABLE] VALUES gw_data., everything is fine, can compile and run.
This is error code.
METHOD set_data_to_table.
REFRESH gi_data.
CLEAR gi_data.
IF gi_file[] IS NOT INITIAL.
* Set data for modify table
LOOP AT gi_file INTO gw_file.
MOVE-CORRESPONDING gw_file TO gw_data.
me->conversion_input( EXPORTING im_vendor = gw_data-vendor
CHANGING ch_vendor = gw_data-vendor ).
APPEND gw_data TO gi_data.
ENDLOOP.
INSERT [TABLE] FROM TABLE gi_data.
* LOOP AT gi_data INTO gw_data.
* INSERT INTO [TABLE] VALUES gw_data.
* IF sy-subrc = 0.
* COMMIT WORK.
* ELSE.
* ROLLBACK WORK.
* ENDIF.
* ENDLOOP.
ELSE.
MESSAGE 'No data found' TYPE 'I'.
ENDIF.
ENDMETHOD. "set_data_to_tableHi Matthew,
I think there is no difference in database insert between OO and non-OO.
The correct syntax according to ECC600 online documentation is
[Inserting Several Lines|http://help.sap.com/saphelp_erp2005vp/helpdata/en/fc/eb3a6d358411d1829f0000e829fbfe/content.htm]
To insert several lines into a database table, use the following:
INSERT target FROM TABLE itab \[ACCEPTING DUPLICATE KEYS].
This writes all lines of the internal table itabto the database table in one single operation. If one or more lines cannot be inserted because the database already contains a line with the same primary key, a runtime error occurs. You can prevent the runtime error occurring by using the addition ACCEPTING DUPLICATE KEYS.
Whenever you want to insert more than one line into a database table, it is more efficient to work with an internal table than to insert the lines one by one.
I think the syntax
INSERT my_dbtable FROM TABLE gi_data.
should work, your suggestion may lead to syntax error.
Regards,
Clemens -
Inserting into a table which is created "on the fly" from a trigger
Hello all,
I am trying to insert into a table from a trigger in Oracle form. The table name however, is inputted by the user in am item form.
here is what the insert looks like:
insert into :table_name
values (:value1, :value2);
the problem is that forms does not recognize ::table_name. If I replace :table_name with an actual database table, it works fine. However, I need to insert to a table_name based from oracle form item.
By the way, the table|_name is built on the fly using a procedure before I try to insert into it.
Any suggestion on how can I do that? My code in the trigger is:
declare
dm_drop_tbl(:table_name,'table) // a call to an external procedure to drop the table
dm_create_tbl(:table_name,'att1','att2');
insert into :table_name
values (:value1, :value2);
this give me an error:
encounter "" when the symbol expecting one.....Hi ,
You should use the FORMS_DDL built_in procedure. Read the on-line documentation of forms ...
Simon -
Insert From Master Table which is not based on EO
Hi
I have a Master-Detail relationship table page,now my requirement is to Insert data from Master VO(which is not based on any EO)
Actually I have added four new columns in the VO,only these four columns are of type message Text Input,all others are message Styled Text(just for fetching not inserting)
Now the problem is some fields in the VO will simply query and some will fetch as well as Insert
If at all I am trying to make the VO based on the New EO it is not inserting
Please help it is a bit Urgent
Regards
Ravi
Edited by: user10757594 on Jan 3, 2009 6:11 AMHi Ravi,
I think you should write update statement to insert into the table.
Thanks,
Kumar
Maybe you are looking for
-
My computer is still slow after uninstalling Macbook pro and buying a LaCie external hard drive and saving everything to it. I repaired disk permissions. Am I supposed to erase original hard drive? Thanks!
-
I need to make a report on Metadata either in BW 3.5/ BI7.0. The report should contain variables of (user should enter the values) InfoArea, InfoCube, queries in that InfoCube and the InfoObject for that Query. I know 2 InfoObjects: 1> 0TCTQUERY-----
-
Error (IES10901) (WIS 10901) while refreshing the Webi report
Hi Gurus, We have created webi reports using Universe design tool on top of BEX Query based on 0SD_C03 cube and now we are facing Database error: A runtime exception has occured. (Error loading cube 0sd_c03 (catalog : % 3). (IES 10901 ) (WIS 10901) w
-
How to change the order of pages according to their order in the tabs?
Hello.There is a file pdf, contains bookmarks, but the pages in the document are not consecutive. How to do that, they were going after each other strictly in order as in the bookmarks? Acrobat reader 8
-
Best Practice for monitoring RAC 11gR2
Hi, I have RAC 11gR2+ASM on two nodes. I would like to get your advice what are the most critical things i should monitor - Regarding RAC COMPONENCTS Thanks