Duplicates in a database table
Hi !
I have a database table. It has 4 fields. 3 of them are key.
Table (f1,f2,f3,f4)
f1,f2,f3: key
f4: numeric field.
From a ABAP program, I can insert (using insert sentence) two records with the same key. why ???
Then, if I try ....
select f1 f2 f3 sum(f4)
from table
group by f1 f2 f3
... it doesn´t work. This sentence returns two records. Why ?
(some fields of the key can be nulls)
Thanks.
HI,
From a ABAP program, I can insert (using insert sentence) two records with the same key. why ???
first of all It is not at all possible. There should be atleast one key value different for 2 data-row in database table. It is the fundamental concept of key. Your above statement holds for nonkey vaule or partial key field view/selection only.
for next query,
Instead of
select f1 f2 f3 sum(f4)
from table
group by f1 f2 f3........
use
select distinct f1 f2 f3 sum(f4)
from table
group by f1 f2 f3............
Regards,
Anirban
Similar Messages
-
How to delete duplicate records in all tables of the database
I would like to be able to delete all duplicate records in all the tables of the database. Many of the tables have LONG columns.
Thanks.Hello
To delete duplicates from an individual table you can use a construct like:
DELETE FROM
table_a del_tab
WHERE
del_tab.ROWID <> (SELECT
MAX(dups_tab.ROWID)
FROM
table_a dups_tab
WHERE
dups_tab.col1 = del_tab.col1
AND
dups_tab.col2 = del_tab.col2
)You can then apply this to any table you want. The only differences will be the columns that you join on in the sub query. If you want to look for duplicated data in the long columns themselves, I'm pretty sure you're going to need to do some PL/SQL coding or maybe convert them to blobs or something.
HTH
David -
Updating database table with DUPLICATE keys
i have an internal table having data as follows.
emp_id name date proj_id activity_id Hours Remarks
101 Pavan 09.10.2007 123 1 2.00 Coding
101 Pavan 09.10.2007 124 2 1.00 Documentation
102 Raj 09.10.2007 123 3 6.00 Testing
Now i need to update a Ztable with above mentioned data.
The structure of the Ztable is as follows.
Mandt emp_id name date proj_id activity_id Hours Remarks
NOte: i have ticked both check boxes for the field MANDT in table.
Rest didnt select the check boxes.
I believe now the field MANDT alone is a primary key for the z-table.
NOw i have tried with UPDATE/INSERT statments to update the database table.
But instead of inserting all the rows, the system is over writing on the same emp_id row.
Even tried with the statments like INSERT INTO <Ztable> values <Internal table> ACCEPTING DUPLICATE KEYS.
But its not getting inserted as a separate row in the table.
Requirement is to insert the multiple rows in the database table without any over writing activity.
Can anyone give me the code to do this?
Regards
PavanHi Pavan,
Please let me know what are the key fields in your Ztable. Try with below code it may help you. change the "Ztablename" as your database table name and I_INTERNAL TABLE as your internal table name. still you are facing the problem please let me know.
lock the custom table before updating the table.
CALL FUNCTION 'ENQUEUE_E_TABLE'
EXPORTING
MODE_RSTABLE = 'E'
TABNAME = 'ZTABLENAME'
VARKEY =
X_TABNAME = ' '
X_VARKEY = ' '
_SCOPE = '2'
_WAIT = ' '
_COLLECT = ' '
EXCEPTIONS
FOREIGN_LOCK = 1
SYSTEM_FAILURE = 2
OTHERS = 3
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ELSE.
INSERT ZTABLENAME FROM TABLE I_INTERNALTABLE ACCEPTING DUPLICATE KEYS.
COMMIT WORK.
ENDIF.
unlock after updating the custom table After updation is done.
CALL FUNCTION 'DEQUEUE_E_TABLE'
EXPORTING
MODE_RSTABLE = 'E'
TABNAME = 'ZTABLENAME'
VARKEY =
X_TABNAME = ' '
X_VARKEY = ' '
_SCOPE = '3'
_SYNCHRON = ' '
_COLLECT = ' ' -
No data in Portal Database tables for Activity Report
Hi experts,
I've developed an Activity Report application in SAP Portal 7.0, which went live but the report shows no data.
We are pulling data from 2 portal database tables: WCR_WEBCONTENTSTAT and WCR_USERPAGEUSAGE
In non production environment there is data in the report but there is no data in the production environment.
The Activity Report service is already activated/started and set to true.
What could have caused this? And what should we check now?
What other configurations/setup should be done?
Regards,
GregHi Greg,
Those are the aggregated tables. If they are not filled with data although the Portal Activity Report is activated, you should check whether the aggregation finished successfully.
In the older SPs there were some problems that were fixed in later SPs of 7.0.
In order to have the latest version of Portal Activity report, you can check SAP note 1084379 - Portal Activity Report - Latest Version (SDA file).
You can compare the SP via the MANIFAST file, as it contains the version and SP number.
In order to troubleshoot problems in Activity Report, you can follow SAP note: 1690023 - Portal Activity Report - Component-specific Note
Some basic checks that you can do:
Run query on the raw data tables to check since when there is data in those tables:
select min(timestamphour) from SAP<SystemID>DB.WCR_WEBCNODESTAT;
If there is too much data from long time ago, then you should delete the old data, and leave only the new data (there is anyways retention time for the data to be kept).
If there is no data, then it means that the Portal Activity Report does not collect data, and not really activated (usually this is not the case).
The aggregation runs every top of the hour, so you can check in the default traces for an error during that time.
In most of the cases something went wrong while aggregating the data.
As a result the aggregation is not finished, so the transaction is not being committed, and the aggregated tables stay empty.
If there is a DuplicateKeyException in the trace, you can follow SAP note 1054145 - Duplicate Key Exception.
If you have any more questions, please don't hesitate to ask.
I hope this information helps,
Thanks & regards,
Michal Zilcha-Lang -
How to change a field of type CHAR of a database table to DATS
Dear ABAP experts,
I have a database table: ZLT_aztnew with fields M1, M2, K1, K2, A1, A2, P1, P2, S2, D1, D2, STD, BES. All these fields are of type 'Character'. except D2 which is of type DATS. The field D1 is date and is in format DD.MM.YYYY.
I want to convert this field D1 to type DATS so that I can use a date range through 'selection option' to select other data of other fields (M1, M2, K1, K2, A1, A2, P1, P2, S2, D1, STD, BES.) related to field D1 from the database table Zlt_aztnew.
How should I introduce this change (CONVERSION OF D1 CHAR to DATS in the .AZT file upload code itself.
Problem: If I define D1 as Type DATS in database table ZLT_AZTNEW then the UPLOAD fails.
The AZT file upload code is:
Data it_string type stringtab.
Data lv_string type string.
DATA: itab TYPE STANDARD TABLE OF zlt_aztnew.
DATA: wa_tab TYPE zlt_aztnew.
DATA: file_str1 type string.
Data: it_tab TYPE STANDARD TABLE OF file_table,
lw_file LIKE LINE OF it_tab,
gd_subrc TYPE i.
SELECTION-SCREEN begin of block blk with frame title text-100.
SELECTION-SCREEN SKIP 2.
parameters : p_file like rlgrap-filename .
SELECTION-SCREEN end of block blk.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
CALL METHOD cl_gui_frontend_services=>file_open_dialog
EXPORTING
window_title = 'Select only Text File'
default_filename = '.azt'
multiselection = 'X'
CHANGING
file_table = it_tab
rc = gd_subrc.
READ TABLE it_tab INTO lw_file INDEX 1.
p_file = lw_file-FILENAME.
Start-of-Selection.
file_str1 = P_file.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = file_str1
* filename = '\\10.10.1.92\Volume_1\_projekte\Zeiterfassung-SAP\test.azt'
tables
data_tab = it_string
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
LOOP AT it_string INTO lv_string.
clear wa_tab.
SPLIT lv_string AT ';' INTO wa_tab-M2 wa_tab-k2 wa_tab-A2 wa_tab-P2 wa_tab-S2 wa_tab-D1 wa_tab-STD wa_tab-BES.
Append wa_tab to itab.
Write: sy-uline(120),
/ sy-vline,
2 wa_tab-M2,
11 sy-vline,
13 wa_tab-k2,
25 sy-vline,
27 wa_tab-A2,
32 sy-vline,
34 wa_tab-P2,
39 sy-vline,
41 wa_tab-S2,
46 sy-vline,
48 wa_tab-D1,
60 sy-vline,
62 wa_tab-STD,
72 sy-vline,
74 wa_tab-BES,
120 sy-vline.
ENDLOOP.
DATA: Answer.
UPDATE zlt_aztnew From Table itab.
* INSERT ZLT_aztnew From Table itab accepting duplicate keys.
If sy-subrc NE 0.
CALL FUNCTION 'POPUP_TO_CONFIRM'
EXPORTING
TITLEBAR = 'TITLE '
* DIAGNOSE_OBJECT = ' '
text_question = 'Wollen Sie die vorhandenen Inhalte ändern'
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 =
* IV_QUICKINFO_BUTTON_1 = ' '
* IV_QUICKINFO_BUTTON_2 = ' '
IMPORTING
answer = 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.
IF Answer = '1'.
WRITE: / 'Die vorhandenen Inhalte war geändernt'.
MODIFY zlt_aztnew From Table itab.
ENDIF.
ENDIF.
TO introduce a date range and pull data from the database table Zlt_AZTNEW--> I wrote the BELOW code SEPARATELY,
but after execution, the error I am getting is: Enter a valid Date (for example, 31.03.2014).
TABLES: ZLT_aztnew.
TYPES: Begin OF ty_AZTN,
M2 TYPE Zlt_AZTNEW-M2,
K2 TYPE Zlt_AZTNEW-K2,
A2 TYPE Zlt_AZTNEW-A2,
P2 TYPE Zlt_AZTNEW-P2,
S2 TYPE Zlt_AZTNEW-S2,
D1 TYPE Zlt_AZTNEW-D1,
STD TYPE Zlt_AZTNEW-STD,
BES TYPE Zlt_AZTNEW-BES,
END OF ty_AZTN.
DATA: gv_datum TYPE d.
DATA: it_aztn TYPE STANDARD TABLE OF ty_aztn with header line.
CALL FUNCTION 'CONVERT_DATE_TO_INTERNAL'
EXPORTING
date_external = zlt_aztnew-D1
* ACCEPT_INITIAL_DATE =
IMPORTING
DATE_INTERNAL = gv_datum
* EXCEPTIONS
* DATE_EXTERNAL_IS_INVALID = 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.
SELECT-OPTIONS: s_datum FOR gv_datum.
INITIALIZATION.
s_datum-low = sy-datum.
s_datum-high = sy-datum.
APPEND s_datum.
********** After this further code follows with "SELECT" wherein I want to use the gv_datum as Where condition.
SELECT M2
K2
A2
P2
S2
D1
STD
BES
FROM ZLt_AZTNEW
INTO TABLE it_AZTN
Where D1 = gv_datum.
Please provide me your valuable suggestion to correct any flaw in my code above.
Looking forward for your reply.
Best regards
Chandan KumarDear Rama,
Plz refer the following difference in naming conventions as compared to your suggestion:
it_flat_file --> itab, (internal table for AZT fiel upload and split)
ls_flat_file ---> wa_itab,
Ztable --> Zlt_aztnew2, (Dbase file)
it_ztable ---> it_zlt_aztnew2, (internal table)
ls_ztable --> wa_aztnew2,
I wrote the following code but it is not working. Please also refer the attached screen shot of the database table : ZLT_AZTNEW2.
Data it_string type stringtab.
Data lv_string type string.
DATA: file_str1 type string.
Data: it_tab TYPE STANDARD TABLE OF file_table,
lw_file LIKE LINE OF it_tab,
gd_subrc TYPE i.
TYPES: Begin of Ty_itab,
M2 TYPE Char7,
K2 TYPE Char3,
A2 TYPE Char3,
P2 TYPE Char3,
S2 TYPE Char3,
D1 TYPE Char8,
STD TYPE Char8,
BES TYPE Char80,
END OF ty_itab.
DATA: itab Type Standard Table of ty_itab,
wa_itab Type ty_itab.
DATA: it_zlt_aztnew2 type standard table of Zlt_aztnew2,
wa_aztnew2 TYPE Zlt_aztnew2.
SELECTION-SCREEN begin of block blk with frame title text-100.
SELECTION-SCREEN SKIP 2.
parameters : p_file like rlgrap-filename .
SELECTION-SCREEN end of block blk.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
CALL METHOD cl_gui_frontend_services=>file_open_dialog
EXPORTING
window_title = 'Select only Text File'
default_filename = '.azt'
multiselection = 'X'
CHANGING
file_table = it_tab
rc = gd_subrc.
READ TABLE it_tab INTO lw_file INDEX 1.
p_file = lw_file-FILENAME.
Start-of-Selection.
file_str1 = P_file.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = file_str1
* filename = '\\10.10.1.92\Volume_1\_projekte\Zeiterfassung-SAP\test.azt'
tables
data_tab = it_string
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
LOOP AT it_string INTO lv_string.
Clear wa_itab.
SPLIT lv_string AT ';' INTO wa_itab-M2 wa_itab-k2 wa_itab-A2 wa_itab-P2 wa_itab-S2 wa_itab-D1 wa_itab-STD wa_itab-BES.
append wa_itab to itab.
Write: sy-uline(120),
/ sy-vline,
2 wa_itab-M2,
11 sy-vline,
13 wa_itab-k2,
25 sy-vline,
27 wa_itab-A2,
32 sy-vline,
34 wa_itab-P2,
39 sy-vline,
41 wa_itab-S2,
46 sy-vline,
48 wa_itab-D1,
60 sy-vline,
62 wa_itab-STD,
72 sy-vline,
74 wa_itab-BES,
120 sy-vline.
ENDLOOP.
LOOP at itab into wa_itab.
CLEAR wa_aztnew2.
wa_aztnew2-D1+0(4) = wa_itab+6(4).
wa_aztnew2-D1+4(2) = wa_itab+3(2).
wa_aztnew2-D1+6(2) = wa_itab+0(2).
Append wa_aztnew2 to it_zlt_aztnew2.
ENDLOOP.
MODIFY Zlt_aztnew2 from table it_zlt_aztnew2.
Looking forward for your suggestiojn.
Regards
Chandan -
How to insert message style text columns in database tables
Hi All,
i have two pages.
in first page segment1 lov is their.once u select the segment1 and click on the create button its navigate to next page.
and display the releted segment1 details(these columns are message text input fields but read only columns).
plz help me those columns are insert into database tables.
its very urgent
Thanks
Latha.Hi Anil,
plz help me still i am faceing the problem
so plz help me because i dont know java.
i wrote below code and i got the below error.
if(pageContext.getParameter("Submit")!=null)
String projnumber=pageContext.getParameter("ProjectNO");
//String projectnumber=pageContext.getParameter("Projectnumber");
String oldoperationid=pageContext.getParameter("EmployeeNumber");
String newManagerName=pageContext.getParameter("NewManagerName");
String ProjectID=pageContext.getParameter("ProjectID");
String OldOperationName=pageContext.getParameter("OperationsManager");
String OldOperationID=pageContext.getParameter("OldOperationID");
OAMessageTextInputBean projnumberbean =webBean.findIndexedChildRecursive("ProjectNO");
String projnumber=null;
if(bean!=null)
projnumber = (String)projnumberbean.getValue(pageContext);
Serializable[] params = {projnumber,oldoperationid,newManagerName,ProjectID,OldOperationName,OldOperationID};
am.invokeMethod("xxinsertpagelogic",params);
and i wrote import also.
import oracle.apps.fnd.framework.webui.beans.message.OAMessageTextInputBean;
my errors are
Error(64,78): incompatible types; found: oracle.apps.fnd.framework.webui.beans.OAWebBean, required: oracle.apps.fnd.framework.webui.beans.message.OAMessageTextInputBean
Error(65,13): duplicate definition of variable projnumber in method processFormRequest(oracle.apps.fnd.framework.webui.OAPageContext, oracle.apps.fnd.framework.webui.beans.OAWebBean)
Error(66,9): variable bean not found in class wnsgs.oracle.apps.pa.projectinfo.webui.ProjectInfoCreateCO
plz help me.
its very urgent
Thanks
Edited by: Latha on Jan 4, 2012 9:57 PM
Edited by: Latha on Jan 4, 2012 10:00 PM -
Hi All,
We have an issue of lowercase in database table and we want to convert that lowercase data to upper case. The code for doing this operation is as follows:
SELECT * FROM zehs_volumes INTO TABLE i_volumes_temp.
LOOP AT i_volumes_temp.
DELETE zehs_volumes FROM i_volumes_temp.
IF sy-subrc is INITIAL.
COMMIT WORK.
ELSE.
ROLLBACK WORK.
ENDIF.
TRANSLATE i_volumes_temp-zehs_business TO UPPER CASE.
MODIFY i_volumes_temp.
CLEAR i_volumes_temp.
ENDLOOP.
SORT i_volumes_temp BY SUBID ZEHS_BUSINESS ZEHS_SITE ZEHS_ROLE
ZST_DATE ZED_DATE.
DELETE ADJACENT DUPLICATES
FROM i_volumes_temp COMPARING SUBID ZEHS_BUSINESS ZEHS_SITE
ZEHS_ROLE ZST_DATE ZED_DATE.
MODIFY zehs_volumes FROM TABLE i_volumes_temp.
IF sy-subrc is INITIAL.
COMMIT WORK.
ELSE.
ROLLBACK WORK.
ENDIF.
The problem wid the above code is that it first clears the entire database table and then fills it with the modified data from the internal table. But we do not want to take risk of emptying the database table. Is there any way out to perform the above operation?
Thanks in advance
Regards,
Yogesh SharmaHi Karthik,
Thanks for replying.
In our case the scenario is we need to delete wrong entires in the database table based on the primary input fields. There is already a utility to do so. But in the table some of the entries are present in the lower case.
For eg. Suppose we need to delete entry with field zehs_business = "Pioneer". When we input this SAP interpret it as PIONEER and we get an error message "No data exist".
So the code should we in such a way that all the value in field zehs_business should be translated to upper case otherwise SAP will give an error message of non-existence of data.
The code which you gave adds one more entry in database table with zehs_business = "PIONEER". Now the database table have two records one with "Pioneer" and other with "PIONEER". After the execution of DELETE statement only the record with zehs_business = PIONEER gets deleted....and the other record still exist.
Is there any way to avoid above situation.... -
Latest record from database table
Hi all,
I am using select statement on a database table. The table contains records, and each one has an effective date.
effective dt record Rate
01/01/1800 R1 40
<b>01/01/2007 R1 30</b>
01/01/1800 R2 40
I want to select rates corresponding to R1 and R2. For R2, the rate is 40, but i need the rate 30 and not 40 for R1, because rate 30 has the most recent effective date. Please tell me if i can do this in the select query itself...
Please help me...
Thanks
Pranati.Hi,
Try this..
Ranges: r_bukrs for bkpf-bukrs.
LOOP AT l_t_records.
Build the range.
r_bukrs-sign = 'I'.
r_bukrs-option = 'EQ'.
r_bukrs-low = l_t_records.
append r_bukrs.
ENDLOOP.
SORT r_bukrs by low.
DELETE adjacent duplicates from r_bukrs comparing low.
SELECT max( zeff_dt ) bukrs zbrdn kostl hkont INTO TABLE l_t_brdncalc
FROM zfpbrdn
WHERE bukrs IN r_bukrs
GROUP BY zbrdn. " I am not sure of the record field..But you have to give
" GROUP BY clause..give the correct field..
Hope this helps..
Thanks,
Naren -
Update the database table with the content of the internal table
Hello!
I have the next form:
FORM erase_data.
SELECT * FROM zadrress INTO CORRESPONDING FIELDS OF TABLE itab_adrress.
DELETE TABLE itab_adrress: FROM zadrress,
WITH TABLE KEY adrid = '456'.
WRITE 'The information after the DELETE operation'
COLOR 2.
LOOP AT itab_adrress INTO wa_adrress .
WRITE:/
wa_adrress-adrid COLOR 5,
wa_adrress-name COLOR 7,
wa_adrress-email COLOR 5,
wa_adrress-depart COLOR 7,
wa_adrress-display COLOR 5.
ENDLOOP.
SKIP.
LOOP AT itab_adrress INTO wa_adrress.
MODIFY zadrress FROM wa_adrress.
COMMIT WORK.
IF sy-subrc = 0.
WRITE 'OK !'.
SKIP.
ELSE.
WRITE 'FAIL !'.
SKIP.
ENDIF.
ENDLOOP.
MODIFY zadrress FROM TABLE itab_adrress.
UPDATE zadrress FROM TABLE itab_adrress.
TRANSPORTING adrid, name, email, depart, display.
INSERT zadrress FROM TABLE itab_adrress ACCEPTING DUPLICATE KEYS.
PERFORM display_data .
ENDFORM. "erase_data
I see that my record is deleted when I display the records from my internal table, but
now I want to delete the record from database table.
For that I want to move the content of the modified internal table in the database table. You can see the methods I tried (some of them commented), but nothing seems to work.
Any advice ?
Thank you.FORM erase_data.
SELECT * FROM zadrress INTO CORRESPONDING FIELDS OF TABLE itab_adrress.
DELETE TABLE itab_adrress: FROM zadrress,
WITH TABLE KEY adrid = '456'.
WRITE 'The information after the DELETE operation'
COLOR 2.
LOOP AT itab_adrress INTO wa_adrress .
WRITE:/
wa_adrress-adrid COLOR 5,
wa_adrress-name COLOR 7,
wa_adrress-email COLOR 5,
wa_adrress-depart COLOR 7,
wa_adrress-display COLOR 5.
ENDLOOP.
SKIP.
LOOP AT itab_adrress INTO wa_adrress.
MODIFY zadrress FROM wa_adrress.
COMMIT WORK.
IF sy-subrc = 0.
WRITE 'OK !'.
SKIP.
ELSE.
WRITE 'FAIL !'.
SKIP.
ENDIF.
ENDLOOP.
<b>DELETE FROM zadrress.</b> "Make this change and try
MODIFY zadrress FROM TABLE itab_adrress.
UPDATE zadrress FROM TABLE itab_adrress.
TRANSPORTING adrid, name, email, depart, display.
INSERT zadrress FROM TABLE itab_adrress ACCEPTING DUPLICATE KEYS.
PERFORM display_data .
ENDFORM. "erase_data'. -
The ABAP/4 Open SQL array insert results in duplicate Record in database
Hi All,
I am trying to transfer 4 plants from R/3 to APO. The IM contains only these 4 plants. However a queue gets generated in APO saying 'The ABAP/4 Open SQL array insert results in duplicate record in database'. I checked for table /SAPAPO/LOC, /SAPAPO/LOCMAP & /SAPAPO/LOCT for duplicate entry but the entry is not found.
Can anybody guide me how to resolve this issue?
Thanks in advance
Sandeep PatilHi Sandeep,
Now try to delete ur location before activating the IM again.
Use the program /SAPAPO/DELETE_LOCATIONS to delete locations.
Note :
1. Set the deletion flag (in /SAPAPO/LOC : Location -> Deletion Flag)
2. Remove all the dependencies (like transportation lane, Model ........ )
Check now and let me know.
Regards,
Siva.
null -
Short dumop in J2I5 (provide duplicate entry in Standard table)
Hello Expert ,
We have a problem in T.Code J2I5 ( Excise Register Extraction) input entry is lelect Excise group 20 . and a date from 04.08.09 onwards. and select the register RG23D . it shows the run time error ( Eg The ABAP/4 Open SQL array insert results in duplicate database record ) . but in the standard Tcode is there possible to provide duplicate entry in Standard table
Thaks & regards
Aditya Kr TripathiRuntime Errors SAPSQL_ARRAY_INSERT_DUPREC
Except. CX_SY_OPEN_SQL_DB
Date and Time 29.01.2010 10:57:09
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
problem occurs in this code :
assign I_RG23D_TAB-I_RG23D_TYP to <x_rg23dtyp> casting.
<x_extrctdata> = <x_rg23dtyp>.
class CL_ABAP_CONTAINER_UTILITIES definition load.
call method CL_ABAP_CONTAINER_UTILITIES=>FILL_CONTAINER_C
EXPORTING
IM_VALUE = i_rg23d_tab-i_rg23d_typ
IMPORTING
EX_CONTAINER = i_report_tab-extrctdata
EXCEPTIONS
ILLEGAL_PARAMETER_TYPE = 1
others = 2.
I_REPORT_TAB-EXTRCTDATA = I_RG23D_TAB-I_RG23D_TYP.
COMPUTE I_REPORT_TAB-EXTRCTLNGT = STRLEN( I_REPORT_TAB-EXTRCTDATA ).
APPEND I_REPORT_TAB.
ENDLOOP.
IF M_EXTRACTED = 'X'.
LOOP AT I_RG23D_KEY.
DELETE
FROM J_2IEXTRCT
WHERE BUDAT = I_RG23D_KEY-BUDAT
AND SERIALNO = I_RG23D_KEY-SERIALNO
AND REGISTER = I_RG23D_KEY-REGISTER
AND EXGRP = I_RG23D_KEY-EXGRP.
ENDLOOP.
ENDIF.
Control table check here for data Extraction
INSERT J_2IEXTRCT FROM TABLE I_REPORT_TAB.
If the insertion of the extract table is successfull then the table
for Extraction is Inserted
IF SY-SUBRC EQ 0.
PERFORM FILL_EXTDT USING C_RG23D M_EXTRACTED.
ENDIF.
ENDFORM. " RG23D
*& Form RG23CPART1
Purpose : RG23C Part I extraction logic
FORM RG23CPART1.
DATA: $PART1 TYPE PART1_TYP,
$LINCNT LIKE SY-LINCT,
M_EXTRACTED VALUE '',
$RC LIKE SY-SUBRC.
*********************************************************************************************8 -
Hi ,
I need to delete all the records in the dtabase table and insert new data into it.
I use the below code , but the delete returns with sy-subrc 4 and doesnt delete the records in table ?
delete ZZVT2_BW.
commit work and wait.
insert ZZVT2_BW from table itab_zvt2 accepting duplicate keys.
commit work and wait.
Thanks,Deleting from a Database Table
<b>- DELETE FROM dbtab. or
DELETE FROM (dbtabname).</b>
- DELETE dbtab FROM wa. or
DELETE (dbtabname) FROM wa.
- DELETE dbtab FROM TABLE itab. or
DELETE (dbtabname) FROM TABLE itab.
- DELETE dbtab. or
DELETE *dbtab.
- DELETE dbtab VERSION vers. or
DELETE *dbtab VERSION vers.
use the bold text in u r program -
INSERT in the custom database table to create a new entry.
Hello Experts,
I'm trying to INSERT the entry in my custom databse table that i have created. But I'm not sure what i'm missing as i'm getting the sy-subrc = 4 after the INSERT statement and my records are not added to the database table.
I'm using the INSERT as below:-
APPEND gw_relax TO gt_relax.
INSERT INTO zmm_bg_relax VALUES gw_relax.
Please let me know your helpful responses on this,
Thanks,
NaveenCheck [INSERT dbtab|http://help.sap.com/abapdocu_70/en/ABAPINSERT_SOURCE.htm] [FROM TABLE itab [ACCEPTING DUPLICATE KEYS]|http://help.sap.com/abapdocu_70/en/ABAPINSERT_SOURCE.htm#&ABAP_ALTERNATIVE_2@2@],
If the addition ACCEPTING DUPLICATE KEYS is specified, all rows are inserted for which this is possible. The remaining rows are rejected and sy-subrc is set to 4. The system field sy-dbcnt is set to the number of lines that are inserted.
So if you get sy-subrc = 4, some of the records of the internal table are already contained in the database table.
You cannot put 2 or more records in a database table with the same primary key, primary keys are unique keys with the addition of a not-null constraint. If you need multiple records with a same key, you must add another key to the primary key. (use a timestamp or a counter)
Regards,
Raymond -
Which database table store page names?
Hi, I'm trying to retrieve the corresponding page name based on the NAME column from the OWA_PERF.TOP_PAGE_BYDAY table. I've tried to get the value from RTAL.WWPOB_PAGE$ using SITE_ID and ID, but it returns duplicates records with the same name. May I know which database table actually stores the specific page names without repeats?
Sorry. there was a small mistake in my previous post. Here is the updated one:
Hi, I'm trying to retrieve the corresponding page name based on the NAME column from the OWA_PERF.TOP_PAGE_BYDAY table. I've tried to get the value from PORTAL.WWPOB_PAGE$ using SITE_ID and ID (which is the first two parts of the NAME value), but it returns duplicates records with the same name. May I know which database table actually stores the specific page names without repeats? -
How to enforce uniqueness to my database table
Hello
One of my database will be updated based on two columns c1 and c2.
Previous i created an index on these two columns. But forgot to enforce uniqueness. Now my table has some duplicate data.Means columns c1 and c2 contained same value for more than one record. Now i deleted all the duplicate data. And i also want to allow any duplicate data into my table in future. While i was creating an unique index on these two columns it is not allowing and prompting errors. Can someone guide me how to enforce uniqueness for my tableAnd i also want to allow any
duplicate data into my table in future.
Can someone guide
me how to enforce uniqueness for my tableSo you want to enforce uniqueness or not?
Look at alter table add constraint clause in sql reference manual.
http://download-uk.oracle.com/docs/cd/B19306_01/server.102/b14200/clauses002.htm#g1053592
In case you have duplicate values you can
"ENABLE NOVALIDATE ensures that all new DML operations on the constrained data comply with the constraint. This clause does not ensure that existing data in the table complies with the constraint and therefore does not require a table lock."
Gints Plivna
http://www.gplivna.eu
Maybe you are looking for
-
HT204370 Can i watch a rented movie in QuickTime?
If I watch a movie in itunes it is choppy. I recently purchased a movie through itunes and watched it in QuickTime, happy days. I have rented a movie through itunes and when I try and play it through QuickTime I just get a grey screen and no sound.
-
Is it possible to purchase a non-english keyboard in the US?
We often have users that would like a different langugage keyboard on their laptops. I have a brazillian user that would like a Portuguese keyboard, and was told that needs to be purchased in Brazil, or a custom laptop needs to be ordered straight fr
-
The most basic midi question goes unanswered..
I know. I just must be missing this somewhere, but I cannot find the answer. I'm using a drum samples in Logic 8. My drummer uses a AlternateMode "TrapKat" as his triggers of choice. However, we can't get logic to recognize this instrument and record
-
Case sensitive in Function Module
Hi experts, we created the custom table and maintaining the data.we saved the data with key as case sensitive which we selected at domain level .we created custom function module in that we have written SELECT statement with where clause .when we a
-
Failed to replicate entries in replicated cache
We are using replicated scheme for for the purpose of storing configuration items in the cluster. Once in a while we need to refresh those items in the cache. It has been noticed that during this process some items failed to replicate to other nodes