Deleting invalid records
Our company is widely using HFM application since 9 years, we have not done this activity in our
Live environment. I understand it delete invalid or orphan records stayed in application once metadata
is changed.
My questions is does it impact the actula data in any way ?
By performing this activity many be quarterly will improve performance also ?
Let me know ur thoughts asap plzzzz.
Thanks,
Ankush
The program deletes invalid records which means the members not in heirarchy(outline) so it wont cause any issues with data associated with existing outline members.
Thanks
Amith
Similar Messages
-
Delete invalid record error HsvDSData2 object
Dear Experts,
I have an error HsvDSData2 object while running delete invalid record. Could you please give me more details on this error?
Thanks for your help.
Best regards,
BenoitHi Benoit,
So you still have the issue? If yes, any more details from the error message?
Regards,
Thanos -
Does anyone have any information on what this task does? Admin guide is limited on this. We are hoping this clears up a few metadata issues we have.
ThanksIf you have deleted metadata items them the database tables will still have records of the previous ones. Deleting invalid records will clear these orphaned bits of metadata.
There used to be a problem with changing an account's custom members. If data existed in the removed custom members it would stay there in the system and you could not get rid of this. It would also roll to a total at the TOT_C? level.
If you are chaning the custom members for an account make sure that the moved member do not have data in the first. This will include parents so remove the data then calulate and then load the new metadata.
NB you must run this Delete Invalid Records routine after deletions of metadata if you want you ICP matching reports to be accurate. -
Regarding how to delete the record in internal table
Hi experts ,
how to delete the record in intarnal table after validating the data,
if record contains invalid fields?
i am giving my code see this and give me the answer?
loop at it_data into wa_data .
Validate Cost Center
READ TABLE it_kostl INTO wa_kostl WITH KEY kostl = wa_data-kostl BINARY SEARCH.
IF sy-subrc NE 0.
PERFORM update_error_log USING wa_data
text-004.
ENDIF.
Validate source file material ( material number )
loop at it_mara into wa_mara .
read table it_ausp into wa_ausp with key atwrt = wa_data-i_matnr .
if sy-subrc NE 0 .
PERFORM update_error_log USING wa_data
text-002.
delete it_data-objek .
else.
read table it_mara into wa_mara with key matnr = wa_ausp-objek .
if sy-subrc EQ 0 .
wa_data-objek = wa_mara-matnr.
wa_data-matkl = wa_mara-matkl.
ENDIF.
Modify it_data from wa_data .
endif.
*endloop.
Validate unit of measure (unit)
READ TABLE it_t006 INTO wa_t006 WITH KEY msehi = wa_data-unit .
IF sy-subrc NE 0.
PERFORM update_error_log USING wa_data
text-003.
endif.
Validate delivery location ( storage location )
READ TABLE it_lgort INTO wa_lgort WITH KEY del_loc = wa_data-del_loc.
IF sy-subrc NE 0.
PERFORM update_error_log USING wa_data
text-001.
if wa_data-flag ='x' .
delete it_data from wa_data .
endif.
ENDIF.
endloop.Hi Naren,
First get the index number of the IT_data table and store it in one variable whose declaration like this.
data: tabix type sy-tabix.
while reading the internal table it_data set the tabix variable.
tabix = sy-tabix.
Instead of the above use below one.
Delete it_data-objek
Use the Below statement it will delete the row from the internal table.
Delete it_data-objek index tabix
Thanks,
Chidanand -
I am using Oracle Driver and try to delete a record in the database, fail
error occurs, saying "Invalid operation on read only resultset". But I have
already set the resultset as updatable, what am I missing?
Please give me some hints?
statement = connection.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
resultSet = statement.executeQuery("Select * from emp");
... // move to a record position
resultSet.deleteRow(); // Error occurs when I perform this operationNo, closing has nothing to do with committing!
If you have done nothing like
"connection.setAutoCommit( false)", then you are in
AutoCommit mode, means each stattement is handled by
JDBC as a 1-step-transaction and automatically and
immediately commited.By default, new connections are in auto-commit mode. The commit occurs when the statement completes or the next execute occurs, whichever comes first. In the case of statements returning a ResultSet, the statement completes when the last row of the ResultSet has been retrieved or the ResultSet has been closed.
So, closing has an effect. Please look at the thread
http://forum.java.sun.com/thread.jsp?forum=48&thread=189922
Am I wrong in my observation? -
Problem after deleting the records........
Hi Folks,
Kindly help me with this report.
At one point I am deleting the itfinal internal table w.r.t
to HKONT.Before deleting I am having all the values for
LIFNR and AWKey,but once deleting(as mentioned earlier) I
am not getting these two values.The same Awkey is getting repeated
again and again.
Where I am going wrong.
REPORT zf14 no standard page heading line-size 134. .
TABLES: bkpf,bseg,lfa1,t001.
type-pools:slis.
TYPES : BEGIN OF x_bkpf,
bukrs TYPE bkpf-bukrs, " Company Code
belnr TYPE bkpf-belnr, " Document Number
gjahr TYPE bkpf-gjahr, " Fiscal year
awkey TYPE bkpf-awkey, " Object Key
bldat TYPE bkpf-bldat,
budat TYPE bkpf-budat,
END OF x_bkpf.
TYPES : BEGIN OF x_bseg,
bukrs TYPE bseg-bukrs, " Company Code
belnr TYPE bseg-belnr, " Document Number
gjahr TYPE bseg-gjahr, " Fiscal Year
koart TYPE bseg-koart,
hkont TYPE bseg-hkont, " G/L Account
ebeln TYPE bseg-ebeln, " Purchasing Document
lifnr TYPE bseg-lifnr, " Vendor Code
name1 type lfa1-name1,
ort01 type lfa1-ort01,
END OF x_bseg.
TYPES : BEGIN OF x_bseg1,
bukrs TYPE bseg-bukrs, " Company Code
belnr TYPE bsak-belnr, " Document Number
gjahr TYPE bsak-gjahr, " Fiscal Year
hkont TYPE bseg-hkont, " G/L Account
ebeln TYPE bseg-ebeln, " Purchasing Document
lifnr TYPE bseg-lifnr, " Vendor Code
wrbtr TYPE bseg-wrbtr, " Amt.in Doc.Curr
END OF x_bseg1.
types:begin of x_ven,
name1 type lfa1-name1,
ort01 type lfa1-ort01,
end of x_ven.
TYPES : BEGIN OF x_final,
bukrs TYPE bkpf-bukrs, " Company Code
belnr TYPE bkpf-belnr, " Document Number
gjahr TYPE bkpf-gjahr, " Fiscal year
blart TYPE bkpf-blart, " Document Type
awkey TYPE bkpf-awkey, " Object Key
bldat TYPE bkpf-bldat,
budat TYPE bkpf-budat,
mwskz TYPE bseg-mwskz,
qsskz TYPE bseg-qsskz,
wrbtr TYPE bseg-wrbtr, " Amount in Doc Curr
werks TYPE bseg-werks, " Recv Facility Code
hkont TYPE bseg-hkont, " G/L Account
ebeln TYPE bseg-ebeln, " Purchasing Document
ebeln1 type bseg-ebeln,
lifnr TYPE bseg-lifnr, " Vendor Code
lifnr1 type bseg-lifnr,
dmbtr TYPE bseg-dmbtr,
wrtbr type bseg-wrbtr,
vbill type bseg-wrbtr,
tdsamt type c,
tdsrate(4),
shkzg TYPE bseg-shkzg,
name1 TYPE lfa1-name1, "vendor Name
ort01 TYPE lfa1-ort01, "City
j_1icstno TYPE j_1imovend-j_1icstno, "CST
j_1ilstno TYPE j_1imovend-j_1ilstno ,"LST
END OF x_final.
DATA : it_bkpf TYPE TABLE OF x_bkpf WITH HEADER LINE .
DATA : it_bseg TYPE TABLE OF x_bseg WITH HEADER LINE .
DATA : it_bseg1 TYPE TABLE OF x_bseg1 WITH HEADER LINE .
DATA : itfinal TYPE TABLE OF x_final WITH HEADER LINE.
DATA : month_names LIKE t247 OCCURS 0 WITH HEADER LINE.
DATA :i(2), "month
y TYPE int4, "year
c(4),
v_bill LIKE bseg-dmbtr. " bill value
DATA : pos TYPE sy-tabix,
month(99),
month1(99).
data:sl_no(3) value 0.
*Alv
DATA:itfieldcat TYPE slis_t_fieldcat_alv WITH HEADER LINE.
DATA:itrepid TYPE sy-repid.
itrepid = sy-repid.
DATA:itevent TYPE slis_t_event.
DATA:itlistheader TYPE slis_t_listheader.
DATA:walistheader LIKE LINE OF itlistheader.
DATA:itlayout TYPE slis_layout_alv.
DATA:top TYPE slis_formname.
DATA:itsort TYPE slis_t_sortinfo_alv WITH HEADER LINE.
DATA:itprintparams TYPE slis_print_alv.
DATA:itvariant TYPE disvariant.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
PARAMETERS : p_bukrs LIKE t001-bukrs OBLIGATORY. "Company code
SELECT-OPTIONS : s_lifnr FOR lfa1-lifnr, "Vendor name
s_budat for sy-datum obligatory, "bkpf-budat OBLIGATORY, "Date
s_gjahr FOR bseg-gjahr NO-DISPLAY.
SELECTION-SCREEN END OF BLOCK b1.
AT SELECTION-SCREEN.
SELECT SINGLE bukrs
INTO t001-bukrs
FROM t001
WHERE bukrs = p_bukrs.
IF sy-subrc <> 0.
MESSAGE e000(z_ma) WITH 'Invalid Company Code'.
ENDIF.
IF NOT s_lifnr[] IS INITIAL.
SELECT SINGLE lifnr
INTO lfa1-lifnr
FROM lfa1
WHERE lifnr IN s_lifnr.
IF sy-subrc <> 0.
MESSAGE e000(z_ma) WITH 'Invalid Vendor'.
ENDIF.
ENDIF.
START-OF-SELECTION.
*13
if s_budat is not initial.
if s_budat-high is not initial.
while s_budat-low le s_budat-high.
i = s_budat+7(2).
if i > 3.
s_gjahr = s_budat+3(4).
append s_gjahr.
else.
c = s_budat+3(4).
S_GJAHR = C - 1.
append s_gjahr.
endif.
s_budat-low = s_budat-low + 1.
endwhile.
else.
i = s_budat+7(2).
if i > 3.
s_gjahr = s_budat+3(4).
append s_gjahr.
else.
c = s_budat+3(4).
S_GJAHR = C - 1.
append s_gjahr.
endif.
endif.
endif.
*13
SELECT bukrs belnr gjahr awkey bldat budat
INTO TABLE it_bkpf
FROM bkpf
WHERE bukrs = p_bukrs
AND budat IN s_budat
and gjahr = s_gjahr. "13
IF NOT it_bkpf[] IS INITIAL.
SELECT bukrs belnr dmbtr wrbtr hkont ebeln lifnr
FROM bseg
INTO CORRESPONDING FIELDS OF TABLE it_bseg
FOR ALL ENTRIES IN it_bkpf
WHERE bukrs = it_bkpf-bukrs
and belnr = it_bkpf-belnr
AND gjahr = s_gjahr "13-it_bkpf-gjahr
AND koart = 'K'.
ENDIF.
IF NOT it_bseg[] IS INITIAL.
SELECT belnr gjahr dmbtr wrbtr hkont ebeln lifnr
FROM bseg
INTO CORRESPONDING FIELDS OF TABLE it_bseg1
FOR ALL ENTRIES IN it_bkpf
WHERE bukrs = it_bkpf-bukrs "13it_bkpf-bukrs
AND belnr = it_bkpf-belnr "13it_bkpf-belnr
AND gjahr = s_gjahr. "13-it_bkpf-gjahr.
ENDIF.
LOOP AT it_bkpf.
MOVE-CORRESPONDING it_bkpf TO itfinal.
APPEND itfinal.
ENDLOOP.
LOOP AT it_bseg.
MOVE-CORRESPONDING it_bseg TO itfinal.
append itfinal.
select single name1 ort01 from lfa1 into (itfinal-name1 , itfinal-ort01) where lifnr = it_bseg-lifnr.
select single j_1icstno j_1ilstno into (itfinal-j_1icstno , itfinal-j_1ilstno) from j_1imovend
where lifnr = it_bseg-lifnr.
ENDLOOP.
LOOP AT it_bseg1.
MOVE-CORRESPONDING it_bseg1 TO itfinal.
APPEND itfinal.
ENDLOOP.
loop at it_bseg1.
itfinal-ebeln1 = it_bseg1-ebeln.
append itfinal.
endloop.
*Deleting the records from ITFINAL w.r.t HKONT.
<b>LOOP AT itfinal.
IF itfinal-hkont NE '0020106230' AND
itfinal-hkont NE '0020106330'.
DELETE itfinal.
endif.
clear itfinal.
ENDLOOP.</b>
*Caluculating Bill Value
loop at itfinal.
if itfinal-hkont = '0020106230'.
itfinal-tdsrate = '2%'.
itfinal-vbill = itfinal-wrbtr * 100 / 2.
modify itfinal.
elseif itfinal-hkont = '0020106330'.
itfinal-tdsrate = '4%'.
itfinal-vbill = itfinal-wrbtr * 100 / 4.
modify itfinal.
endif.
endloop.
sort itfinal by belnr.
delete adjacent duplicates from itfinal comparing belnr.
format reset.
format color col_normal.
LOOP AT itfinal.
sl_no = sl_no + 1.
write:/ sy-vline,
2 sl_no,
7 sy-vline,
10 itfinal-ebeln1,
21 sy-vline,
23 itfinal-awkey,
44 sy-vline,
45 itfinal-bldat,
57 sy-vline,
60 itfinal-vbill,
75 sy-vline,
76 itfinal-tdsrate,
85 sy-vline,
89 itfinal-wrbtr,
106 sy-vline,
109 itfinal-belnr,
121 sy-vline,
124 itfinal-budat,
134 sy-vline.
ENDLOOP.
write:/ sy-uline.
top-of-page.
data : name1(60).
data : month_text(127),
string(99).
call function 'MONTH_NAMES_GET'
exporting
language = sy-langu
IMPORTING
RETURN_CODE =
tables
month_names = month_names[]
exceptions
month_names_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.
format reset.
format color col_positive.
if not s_budat-low is initial .
read table month_names with key mnr = s_budat-low+4(2).
if sy-subrc = 0.
month = month_names-ltx.
string = 'Details of TDS (2% / 4%) On Works Contract Deducted'.
concatenate string 'for the Month of' month into month_text
separated by space.
write :/ month_text.
skip 1.
endif.
endif.
concatenate itfinal-name1 ',' itfinal-ort01
into name1 separated by space.
write :/ 'Vendor Code :', itfinal-lifnr.
write :/ 'Vendor Name and City :', name1.
skip 1.
write :/ 'TNGST Registration No :', itfinal-j_1ilstno,
/ 'CST Registration No :', itfinal-j_1icstno.
skip 1.
Display the coloumn headings
format reset.
format color col_heading.
write :/ sy-uline.
write:/ sy-vline,
2 'Sl_no',
7 sy-vline,
10 'P.O. No',
21 sy-vline,
22 'Invoice No',
44 sy-vline,
45 'Inv Date',
57 sy-vline,
60 'Bill value',
75 sy-vline,
76 'TDS Rate',
85 sy-vline,
89 'TDS Amount' ,
106 sy-vline,
108 'Doc.No.',
121 sy-vline,
125 'Pos Date',
134 sy-vline,
sy-uline.
K.Kiran.Kiran,
I am pasting code here and i am sure that the code should work now
REPORT zf14 no standard page heading line-size 134. .
TABLES: bkpf,bseg,lfa1,t001.
type-pools:slis.
TYPES : BEGIN OF x_bkpf,
bukrs TYPE bkpf-bukrs, " Company Code
belnr TYPE bkpf-belnr, " Document Number
gjahr TYPE bkpf-gjahr, " Fiscal year
awkey TYPE bkpf-awkey, " Object Key
bldat TYPE bkpf-bldat,
budat TYPE bkpf-budat,
END OF x_bkpf.
TYPES : BEGIN OF x_bseg,
bukrs TYPE bseg-bukrs, " Company Code
belnr TYPE bseg-belnr, " Document Number
gjahr TYPE bseg-gjahr, " Fiscal Year
koart TYPE bseg-koart,
hkont TYPE bseg-hkont, " G/L Account
ebeln TYPE bseg-ebeln, " Purchasing Document
lifnr TYPE bseg-lifnr, " Vendor Code
name1 type lfa1-name1,
ort01 type lfa1-ort01,
END OF x_bseg.
TYPES : BEGIN OF x_bseg1,
bukrs TYPE bseg-bukrs, " Company Code
belnr TYPE bsak-belnr, " Document Number
gjahr TYPE bsak-gjahr, " Fiscal Year
hkont TYPE bseg-hkont, " G/L Account
ebeln TYPE bseg-ebeln, " Purchasing Document
lifnr TYPE bseg-lifnr, " Vendor Code
wrbtr TYPE bseg-wrbtr, " Amt.in Doc.Curr
END OF x_bseg1.
types:begin of x_ven,
name1 type lfa1-name1,
ort01 type lfa1-ort01,
end of x_ven.
TYPES : BEGIN OF x_final,
bukrs TYPE bkpf-bukrs, " Company Code
belnr TYPE bkpf-belnr, " Document Number
gjahr TYPE bkpf-gjahr, " Fiscal year
blart TYPE bkpf-blart, " Document Type
awkey TYPE bkpf-awkey, " Object Key
bldat TYPE bkpf-bldat,
budat TYPE bkpf-budat,
mwskz TYPE bseg-mwskz,
qsskz TYPE bseg-qsskz,
wrbtr TYPE bseg-wrbtr, " Amount in Doc Curr
werks TYPE bseg-werks, " Recv Facility Code
hkont TYPE bseg-hkont, " G/L Account
ebeln TYPE bseg-ebeln, " Purchasing Document
ebeln1 type bseg-ebeln,
lifnr TYPE bseg-lifnr, " Vendor Code
lifnr1 type bseg-lifnr,
dmbtr TYPE bseg-dmbtr,
wrtbr type bseg-wrbtr,
vbill type bseg-wrbtr,
tdsamt type c,
tdsrate(4),
shkzg TYPE bseg-shkzg,
name1 TYPE lfa1-name1, "vendor Name
ort01 TYPE lfa1-ort01, "City
j_1icstno TYPE j_1imovend-j_1icstno, "CST
j_1ilstno TYPE j_1imovend-j_1ilstno ,"LST
END OF x_final.
DATA : it_bkpf TYPE TABLE OF x_bkpf WITH HEADER LINE .
DATA : it_bseg TYPE TABLE OF x_bseg WITH HEADER LINE .
DATA : it_bseg1 TYPE TABLE OF x_bseg1 WITH HEADER LINE .
DATA : itfinal TYPE TABLE OF x_final WITH HEADER LINE.
DATA : month_names LIKE t247 OCCURS 0 WITH HEADER LINE.
DATA :i(2), "month
y TYPE int4, "year
c(4),
v_bill LIKE bseg-dmbtr. " bill value
DATA : pos TYPE sy-tabix,
month(99),
month1(99).
data:sl_no(3) value 0.
*Alv
DATA:itfieldcat TYPE slis_t_fieldcat_alv WITH HEADER LINE.
DATA:itrepid TYPE sy-repid.
itrepid = sy-repid.
DATA:itevent TYPE slis_t_event.
DATA:itlistheader TYPE slis_t_listheader.
DATA:walistheader LIKE LINE OF itlistheader.
DATA:itlayout TYPE slis_layout_alv.
DATA:top TYPE slis_formname.
DATA:itsort TYPE slis_t_sortinfo_alv WITH HEADER LINE.
DATA:itprintparams TYPE slis_print_alv.
DATA:itvariant TYPE disvariant.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
PARAMETERS : p_bukrs LIKE t001-bukrs OBLIGATORY. "Company code
SELECT-OPTIONS : s_lifnr FOR lfa1-lifnr, "Vendor name
s_budat for sy-datum obligatory, "bkpf-budat OBLIGATORY, "Date
s_gjahr FOR bseg-gjahr NO-DISPLAY.
SELECTION-SCREEN END OF BLOCK b1.
AT SELECTION-SCREEN.
SELECT SINGLE bukrs
INTO t001-bukrs
FROM t001
WHERE bukrs = p_bukrs.
IF sy-subrc <> 0.
MESSAGE e000(z_ma) WITH 'Invalid Company Code'.
ENDIF.
IF NOT s_lifnr[] IS INITIAL.
SELECT SINGLE lifnr
INTO lfa1-lifnr
FROM lfa1
WHERE lifnr IN s_lifnr.
IF sy-subrc <> 0.
MESSAGE e000(z_ma) WITH 'Invalid Vendor'.
ENDIF.
ENDIF.
START-OF-SELECTION.
*13
if s_budat is not initial.
if s_budat-high is not initial.
while s_budat-low le s_budat-high.
i = s_budat+7(2).
if i > 3.
s_gjahr = s_budat+3(4).
append s_gjahr.
else.
c = s_budat+3(4).
S_GJAHR = C - 1.
append s_gjahr.
endif.
s_budat-low = s_budat-low + 1.
endwhile.
else.
i = s_budat+7(2).
if i > 3.
s_gjahr = s_budat+3(4).
append s_gjahr.
else.
c = s_budat+3(4).
S_GJAHR = C - 1.
append s_gjahr.
endif.
endif.
endif.
*13
SELECT bukrs belnr gjahr awkey bldat budat
INTO TABLE it_bkpf
FROM bkpf
WHERE bukrs = p_bukrs
AND budat IN s_budat
and gjahr = s_gjahr. "13
IF NOT it_bkpf[] IS INITIAL.
SELECT bukrs belnr dmbtr wrbtr hkont ebeln lifnr
FROM bseg
INTO CORRESPONDING FIELDS OF TABLE it_bseg
FOR ALL ENTRIES IN it_bkpf
WHERE bukrs = it_bkpf-bukrs
and belnr = it_bkpf-belnr
AND gjahr = s_gjahr "13-it_bkpf-gjahr
AND koart = 'K'.
ENDIF.
IF NOT it_bseg[] IS INITIAL.
SELECT belnr gjahr dmbtr wrbtr hkont ebeln lifnr
FROM bseg
INTO CORRESPONDING FIELDS OF TABLE it_bseg1
FOR ALL ENTRIES IN it_bkpf
WHERE bukrs = it_bkpf-bukrs "13it_bkpf-bukrs
AND belnr = it_bkpf-belnr "13it_bkpf-belnr
AND gjahr = s_gjahr. "13-it_bkpf-gjahr.
ENDIF.
LOOP AT it_bkpf.
MOVE-CORRESPONDING it_bkpf TO itfinal.
APPEND itfinal.
ENDLOOP.
LOOP AT it_bseg.
MOVE-CORRESPONDING it_bseg TO itfinal.
append itfinal.
select single name1 ort01 from lfa1 into (itfinal-name1 , itfinal-ort01) where lifnr = it_bseg-lifnr.
select single j_1icstno j_1ilstno into (itfinal-j_1icstno , itfinal-j_1ilstno) from j_1imovend
where lifnr = it_bseg-lifnr.
ENDLOOP.
LOOP AT it_bseg1.
MOVE-CORRESPONDING it_bseg1 TO itfinal.
APPEND itfinal.
ENDLOOP.
loop at it_bseg1.
itfinal-ebeln1 = it_bseg1-ebeln.
append itfinal.
endloop.
*Deleting the records from ITFINAL w.r.t HKONT.
LOOP AT itfinal.
IF itfinal-hkont NE '0020106230' AND
itfinal-hkont NE '0020106330'.
DELETE itfinal.
clear itfinal.
continue.
else.
clear itfinal.
endif.
ENDLOOP.
*Caluculating Bill Value
loop at itfinal.
if itfinal-hkont = '0020106230'.
itfinal-tdsrate = '2%'.
itfinal-vbill = itfinal-wrbtr * 100 / 2.
modify itfinal.
elseif itfinal-hkont = '0020106330'.
itfinal-tdsrate = '4%'.
itfinal-vbill = itfinal-wrbtr * 100 / 4.
modify itfinal.
endif.
endloop.
sort itfinal by belnr.
delete adjacent duplicates from itfinal comparing belnr.
format reset.
format color col_normal.
LOOP AT itfinal.
sl_no = sl_no + 1.
write:/ sy-vline,
2 sl_no,
7 sy-vline,
10 itfinal-ebeln1,
21 sy-vline,
23 itfinal-awkey,
44 sy-vline,
45 itfinal-bldat,
57 sy-vline,
60 itfinal-vbill,
75 sy-vline,
76 itfinal-tdsrate,
85 sy-vline,
89 itfinal-wrbtr,
106 sy-vline,
109 itfinal-belnr,
121 sy-vline,
124 itfinal-budat,
134 sy-vline.
ENDLOOP.
write:/ sy-uline.
top-of-page.
data : name1(60).
data : month_text(127),
string(99).
call function 'MONTH_NAMES_GET'
exporting
language = sy-langu
IMPORTING
RETURN_CODE =
tables
month_names = month_names[]
exceptions
month_names_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.
format reset.
format color col_positive.
if not s_budat-low is initial .
read table month_names with key mnr = s_budat-low+4(2).
if sy-subrc = 0.
month = month_names-ltx.
string = 'Details of TDS (2% / 4%) On Works Contract Deducted'.
concatenate string 'for the Month of' month into month_text
separated by space.
write :/ month_text.
skip 1.
endif.
endif.
concatenate itfinal-name1 ',' itfinal-ort01
into name1 separated by space.
write :/ 'Vendor Code :', itfinal-lifnr.
write :/ 'Vendor Name and City :', name1.
skip 1.
write :/ 'TNGST Registration No :', itfinal-j_1ilstno,
/ 'CST Registration No :', itfinal-j_1icstno.
skip 1.
Display the coloumn headings
format reset.
format color col_heading.
write :/ sy-uline.
write:/ sy-vline,
2 'Sl_no',
7 sy-vline,
10 'P.O. No',
21 sy-vline,
22 'Invoice No',
44 sy-vline,
45 'Inv Date',
57 sy-vline,
60 'Bill value',
75 sy-vline,
76 'TDS Rate',
85 sy-vline,
89 'TDS Amount' ,
106 sy-vline,
108 'Doc.No.',
121 sy-vline,
125 'Pos Date',
134 sy-vline,
sy-uline.
Thanks
seshu -
How to delete the record in Table
Hi Guru's,
i have Table which contain no.of Records.
i want to deleted one record. if i go to Table maint.Generator....from table itself..
how to do that... when we deleting the record. can we create new TR for that?
can anybody tell me.
Thanks in Advance,
venkatHi,
it is answered, here for my table there is no Table Maint.Generator.
i just explained how i have done it.
i just simply gone into Debug mode. there
code = Dele.
i have given. then i came out from debug mode to Table. there i just got Delete button on application tool bar.
i selected the record then icliked on Delete button.
it is got deleted.
But it is not asking for any new Transport Request.
Regards,
Venkat -
How to delete the record in the file present in the application server?
Hi,
I have two questions.
i) How can I delete a record based on some condition in the recordx in the file that is present in the application server?
ii) How can I lock the users whiel one user is accessing the file on the application server?
Thanks in advance.
SuvanHi,
If u want a frequent deletion this approach to delete a record from a file will havee unnecesary copy of records from one file to another and deletion of one file and renaming activities.
Instead what u can do is Add and field del_flag to ur record structure.
If u want to delete the record from a file just mark this del_flag as 'X'.
While processing u can have a loop like
loop at it_XXX where del_flag <> 'X'.
endloop.
This will logically delete the record.
When u r to finish the application at that time only perform this copying / deleting / and renaing activity
Hope this helps.
Cheers,
Nitin -
Error while updating or deleting a record
Hi to all...
i have created atable group_master with 2 fields Group_id and Group_name
the user will specify a group_name in a text box and press save. Before commiting a seq number will be generated
inside the form procedure and it will be inserted.
The insert is working fine.
But when i select a record i.e a group_name and change it contents and commit it, it is not commiting.
when i checked the display error it showed Ora-01400 cannot insert null values into the table.
Iam not inserting a value here iam updating the group name only.
even when i delete a record it shows same error....
can any one help to solve this....
thanx in advance........I have when button pressed trigger whick helps to show the lov which contains the group_id and group_name;
a := show_lov('lov27');
if a then
go_block('group_master');
execute_query;
end if;
it is correctly fetching the delected data. but propmpts a message box asking Do u want to save the record?
if i ignore it n modify the group_name and save it,still it shows unable to insert null value.
i jus want a simple way to solve this....
i want to fetch that particular record and modify or delete it.
group_id n group_name cannot be null.
i will be using Buttons for add,delete,update and save record. i will be using lov to fetch records for modification or deletion.
how to avoid the message box which prompts when i call lov with execute_query.....
* I tried Key-listval...but i didnt get any solution. i will try again....
thanx for ur replies.... -
Stale data error while deleting a record
Hi
My design of this development is as follow...
1. Search Page in which users give some search criteria and results will be displayed in the results region on the same page. For each results record I have two buttons like 'Update' and 'Delete' so that users can delete the record or can update the record. For update i created a one more page where users can able to edit and save the data. I have two AM one for Search Page and one for Update Page.
Please find more details below.
intfEO based on PO_REQUISITIONS_INTERFACE_ALL
errorEO based on PO_INTERFACE_ERRORS
updateEO based on PO_REQUISITIONS_INTERFACE_ALL
VOs
intfVO based on intfEO and errorEO
updateVO based on updateEO
AM
intfAM based on intfVO
updateAM based on updateVO
Pages
searchPG based on intfAM
updatePG based on updateAM
Suppose I have one record in interface table with corresponding error record in error table.When users given the search criteria and hit enter they found a record. It means i have one record in the interface having one error record in the error table and both tables have same transaction id (primary key). So here user first try to update the record and it is working. After update he try to delete a record then I am getting below error. Please note that I am not getting this error when if i directly delete the record with out doing any update before delete. When ever users click on update icon then update PG will open and when users click on Apply button then data is getting updated in the database and page will forward to the search page.
Unable to perform transaction on the record.
Cause: The record contains stale data. The record has been modified by another user.
Action: Cancel the transaction and re-query the record to get the new data.
My UpdatePage Controller
/*===========================================================================+
| Copyright (c) 2001, 2005 Oracle Corporation, Redwood Shores, CA, USA |
| All rights reserved. |
+===========================================================================+
| HISTORY |
+===========================================================================*/
package powl.oracle.apps.xxpowl.po.requisition.webui;
import com.sun.java.util.collections.HashMap;
import com.sun.rowset.internal.Row;
import java.io.Serializable;
import oracle.apps.fnd.common.MessageToken;
import oracle.apps.fnd.common.VersionInfo;
import oracle.apps.fnd.framework.OAApplicationModule;
import oracle.apps.fnd.framework.OAException;
import oracle.apps.fnd.framework.OAViewObject;
import oracle.apps.fnd.framework.webui.OAControllerImpl;
import oracle.apps.fnd.framework.webui.OADialogPage;
import oracle.apps.fnd.framework.webui.OAPageContext;
import oracle.apps.fnd.framework.webui.OAWebBeanConstants;
import oracle.apps.fnd.framework.webui.beans.OAWebBean;
import oracle.apps.fnd.framework.webui.beans.form.OASubmitButtonBean;
import oracle.apps.fnd.framework.webui.beans.message.OAMessageDateFieldBean;
import oracle.apps.fnd.framework.webui.beans.message.OAMessageTextInputBean;
//import oracle.apps.fnd.oam.diagnostics.report.Row;
import oracle.apps.icx.por.common.webui.ClientUtil;
import powl.oracle.apps.xxpowl.po.requisition.server.xxpowlPOReqIntfUpdateAMImpl;
import powl.oracle.apps.xxpowl.po.requisition.server.xxpowlPOReqIntfUpdateEOVOImpl;
* Controller for ...
public class xxpowlPOReqIntfAllUpdatePageCO extends OAControllerImpl
public static final String RCS_ID="$Header$";
public static final boolean RCS_ID_RECORDED =
VersionInfo.recordClassVersion(RCS_ID, "%packagename%");
* Layout and page setup logic for a region.
* @param pageContext the current OA page context
* @param webBean the web bean corresponding to the region
public void processRequest(OAPageContext pageContext, OAWebBean webBean)
super.processRequest(pageContext, webBean);
xxpowlPOReqIntfUpdateAMImpl am = (xxpowlPOReqIntfUpdateAMImpl)pageContext.getApplicationModule(webBean);
xxpowlPOReqIntfUpdateEOVOImpl UpdateVO =(xxpowlPOReqIntfUpdateEOVOImpl)am.findViewObject("xxpowlPOReqIntfUpdateEOVOImpl");
String newvalue = (String)pageContext.getSessionValue("testValue");
System.out.println("Transaction ID from processRequest UpdateCO from testValue field:"+newvalue);
String transactionid = pageContext.getParameter("HashmapTransacitonid");
System.out.println("Transaction ID from processRequest Hash Map in UpdateCO :"+transactionid);
String errorcolumn = pageContext.getParameter("HashmapErrorcolumn");
System.out.println("Error Column Name from processRequest Hash Map in UpdateCO :"+errorcolumn);
String errormsg = pageContext.getParameter("HashmapErrormessage");
System.out.println("Error Message from processRequest Hash Map in UpdateCO :"+errormsg);
String readyonly = pageContext.getParameter("HashmapReadonly");
System.out.println("Read Only value from processRequest Hash Map in UpdateCO :"+readyonly);
if (transactionid !=null & !"".equals(transactionid)) {
/* Passing below four parameters to the Update Page */
Serializable amParams[] = new Serializable[]{transactionid,readyonly,errorcolumn,errormsg} ;
pageContext.getRootApplicationModule().invokeMethod("executexxpowlPOReqIntfUpdateEOVO", amParams);
* Procedure to handle form submissions for form elements in
* a region.
* @param pageContext the current OA page context
* @param webBean the web bean corresponding to the region
public void processFormRequest(OAPageContext pageContext, OAWebBean webBean)
super.processFormRequest(pageContext, webBean);
OAApplicationModule am = pageContext.getApplicationModule(webBean);
if (pageContext.getParameter("ApplyButton") != null)
System.out.println("Inside ApplyButton method in UpdatePageCO");
OAViewObject vo = (OAViewObject)am.findViewObject("xxpowlPOReqIntfUpdateEOVO");
String transactionid = pageContext.getParameter("HashmapTransacitonid");
System.out.println("Transaction ID from processFormRequest Hash Map in UpdateCO-ApplyButton method :"+transactionid);
am.invokeMethod("apply");
pageContext.forwardImmediately("OA.jsp?page=/powl/oracle/apps/xxpowl/po/requisition/webui/xxpowlPOReqIntfAllPG",
null,
OAWebBeanConstants.KEEP_MENU_CONTEXT,
null,
null,
true,
OAWebBeanConstants.ADD_BREAD_CRUMB_NO);
else if (pageContext.getParameter("CancelButton") != null)
am.invokeMethod("rollback");
pageContext.forwardImmediately("OA.jsp?page=/powl/oracle/apps/xxpowl/po/requisition/webui/xxpowlPOReqIntfAllPG",
null,
OAWebBeanConstants.KEEP_MENU_CONTEXT,
null,
null,
true,
OAWebBeanConstants.ADD_BREAD_CRUMB_NO);
UpdatePageAMImpl.java
package powl.oracle.apps.xxpowl.po.requisition.server;
import oracle.apps.fnd.common.MessageToken;
import oracle.apps.fnd.framework.OAException;
import oracle.apps.fnd.framework.OARow;
import oracle.apps.fnd.framework.server.OAApplicationModuleImpl;
import oracle.apps.fnd.framework.OAViewObject;
import oracle.apps.inv.appsphor.order.server.XxapOrderHeaderVOImpl;
import oracle.jbo.Transaction;
// --- File generated by Oracle ADF Business Components Design Time.
// --- Custom code may be added to this class.
// --- Warning: Do not modify method signatures of generated methods.
public class xxpowlPOReqIntfUpdateAMImpl extends OAApplicationModuleImpl {
/**This is the default constructor (do not remove)
public xxpowlPOReqIntfUpdateAMImpl() {
/**Container's getter for xxpowlPOReqIntfUpdateEOVO
public xxpowlPOReqIntfUpdateEOVOImpl getxxpowlPOReqIntfUpdateEOVO() {
return (xxpowlPOReqIntfUpdateEOVOImpl)findViewObject("xxpowlPOReqIntfUpdateEOVO");
/**Sample main for debugging Business Components code using the tester.
public static void main(String[] args) {
launchTester("powl.oracle.apps.xxpowl.po.requisition.server", /* package name */
"xxpowlPOReqIntfUpdateAMLocal" /* Configuration Name */);
/* // Added by
public void execute_update_query(String TransactionID) {
xxpowlPOReqIntfUpdateEOVOImpl vo = getxxpowlPOReqIntfUpdateEOVO();
vo.initQuery(TransactionID);
// Added by , this will not call bec changed the logic and so now the update button enabled on search results page
// and this method will not called
public void pageInEditMode (String transactionID, String readOnlyFlag, String ErrorColumn,
String ErrorMessage)
System.out.println("Transaction Id from pageInEditMode in UpdatePGAMImpl.java: "+transactionID);
System.out.println("xxReadOnly from pageInEditMode in UpdatePGAMImpl.java: "+readOnlyFlag);
// Get the VO
xxpowlPOReqIntfUpdateEOVOImpl updateVO = getxxpowlPOReqIntfUpdateEOVO();
//Remove the where clause that was added in the previous run
updateVO.setWhereClause(null);
//Remove the bind parameters that were added in the previous run.
updateVO.setWhereClauseParams(null);
//Add where clause
// updateVO.addWhereClause(" TRANSACTION_ID = :1 ");
//Bind transactionid to the where clause.
// updateVO.setWhereClauseParam(1, transactionID); // this will not work bec it will start with zero from from 1
updateVO.setWhereClauseParam(0, transactionID);
//Execute the query.
updateVO.executeQuery();
xxpowlPOReqIntfUpdateEOVORowImpl currentRow = (xxpowlPOReqIntfUpdateEOVORowImpl)updateVO.next();
// Assiging the transient varaibles
currentRow.setxxErrorMessage(ErrorMessage);
currentRow.setxxErrorColumn(ErrorColumn);
if ("N".equals(readOnlyFlag))
/* Make the attribute to 'False so that all fields will be displayed in Edit Mode because we used this
xxReadOnly as SPEL */
currentRow.setxxReadOnly(Boolean.FALSE);
public void executexxpowlPOReqIntfUpdateEOVO(String transactionID, String xxReadyOnly, String ErrorColumn,
String ErrorMessage)
System.out.println("Transaction Id from executexxpowlPOReqIntfUpdateEOVO in UpdatePGAMImpl.java: "+transactionID);
System.out.println("xxReadOnly from executexxpowlPOReqIntfUpdateEOVO in UpdatePGAMImpl.java: "+xxReadyOnly);
System.out.println("Error Message from executexxpowlPOReqIntfUpdateEOVO in UpdatePGAMImpl.java: "+ErrorColumn);
System.out.println("Error Column from executexxpowlPOReqIntfUpdateEOVO in UpdatePGAMImpl.java: "+ErrorMessage);
// Get the VO
xxpowlPOReqIntfUpdateEOVOImpl updateVO = getxxpowlPOReqIntfUpdateEOVO();
//xxpowlPOReqIntfUpdateEOVORowImpl updaterowVO = xxpowlPOReqIntfUpdateEOVO();
//not working
// OARow row = (OARow)updateVO.getCurrentRow();
// row.setAttribute("xxReadOnly", Boolean.TRUE);
// updateVO.putTransientValue('XXXXX',x);
//Remove the where clause that was added in the previous run
updateVO.setWhereClause(null);
//Remove the bind parameters that were added in the previous run.
updateVO.setWhereClauseParams(null);
//Add where clause
// updateVO.addWhereClause(" TRANSACTION_ID = :1 ");
//Bind transactionid to the where clause.
// updateVO.setWhereClauseParam(1, transactionID); // this will not work bec it will start with zero from from 1
updateVO.setWhereClauseParam(0, transactionID);
// updateVO.setWhereClauseParam(1, ErorrColumn);
//Execute the query.
updateVO.executeQuery();
/* We want the page should be read only initially so after executing the VO with above command
and if you use next() it will go to the first record among the
fetched records. If you want to iterate for all the records then use iterator */
/* Using Iterator
while(updateVO.hasNext()) { // this will check after execute Query above command if it has any rows
xxpowlPOReqIntfUpdateEOVORowImpl currentRow = (xxpowlPOReqIntfUpdateEOVORowImpl)updateVO.next();
/* above line next() will take the control of the first record */
/* currentRow.setxxErrorMessage(ErrorMessage);
currentRow.setxxErrorColumn(ErrorColumn);
if ("Y".equals(xxReadyOnly))
currentRow.setxxReadOnly(Boolean.TRUE);
} // this while loop will loop till end of all the fetched records
xxpowlPOReqIntfUpdateEOVORowImpl currentRow = (xxpowlPOReqIntfUpdateEOVORowImpl)updateVO.next();
// Assiging the transient varaibles
currentRow.setxxErrorMessage(ErrorMessage);
currentRow.setxxErrorColumn(ErrorColumn);
/* Make the attribute to 'TRUE' so that all fields will be displayed as READ ONLY because we used this
xxReadOnly as SPEL
if ("Y".equals(xxReadyOnly))
currentRow.setxxReadOnly(Boolean.TRUE);
//Added by and this methiod will get called from UpdatePG Process Form Request controller
public void rollback()
Transaction txn = getTransaction();
if (txn.isDirty())
txn.rollback();
public void apply()
//OAViewObject vo1 = (OAViewObject)getxxpowlPOReqIntfUpdateEOVO();
//Number chargeAccountID = vo1.get
getTransaction().commit();
OAViewObject vo = (OAViewObject)getxxpowlPOReqIntfUpdateEOVO();
if (!vo.isPreparedForExecution())
vo.executeQuery();
SearchPG AM
package powl.oracle.apps.xxpowl.po.requisition.server;
import oracle.apps.fnd.framework.OAViewObject;
import oracle.apps.fnd.framework.server.OAApplicationModuleImpl;
import oracle.jbo.RowSetIterator;
import oracle.jbo.Transaction;
import oracle.jbo.domain.Number;
import powl.oracle.apps.xxpowl.po.requisition.lov.server.xxpowlErrosLovVOImpl;
import powl.oracle.apps.xxpowl.po.requisition.lov.server.xxpowlInterfaceSouceCodeLovVOImpl;
import powl.oracle.apps.xxpowl.po.requisition.lov.server.xxpowlItemSegment1LovVOImpl;
import powl.oracle.apps.xxpowl.po.requisition.lov.server.xxpowlOrgLovVOImpl;
import powl.oracle.apps.xxpowl.po.requisition.lov.server.xxpowlReferenceNumberLovVOImpl;
import powl.oracle.apps.xxpowl.po.requisition.lov.server.xxpowlRequestIdLovVOImpl;
import powl.oracle.apps.xxpowl.po.requisition.lov.server.xxpowlRequisitionTypeLovVOImpl;
// --- File generated by Oracle ADF Business Components Design Time.
// --- Custom code may be added to this class.
// --- Warning: Do not modify method signatures of generated methods.
public class xxpowlPOReqIntfAllAMImpl extends OAApplicationModuleImpl {
/**This is the default constructor (do not remove)
public xxpowlPOReqIntfAllAMImpl() {
/**Container's getter for xxpowlPOReqIntfAllVO
public xxpowlPOReqIntfAllVOImpl getxxpowlPOReqIntfAllVO() {
return (xxpowlPOReqIntfAllVOImpl)findViewObject("xxpowlPOReqIntfAllVO");
/**Sample main for debugging Business Components code using the tester.
public static void main(String[] args) {
launchTester("powl.oracle.apps.xxpowl.po.requisition.server", /* package name */
"xxpowlPOReqIntfAllAMLocal" /* Configuration Name */);
/**Container's getter for xxpowlRequestIdLovVO
public xxpowlRequestIdLovVOImpl getxxpowlRequestIdLovVO() {
return (xxpowlRequestIdLovVOImpl)findViewObject("xxpowlRequestIdLovVO");
/**Container's getter for xxpowlErrosLovVO
public xxpowlErrosLovVOImpl getxxpowlErrosLovVO() {
return (xxpowlErrosLovVOImpl)findViewObject("xxpowlErrosLovVO");
/**Container's getter for xxpowlOrgLovVO
public xxpowlOrgLovVOImpl getxxpowlOrgLovVO() {
return (xxpowlOrgLovVOImpl)findViewObject("xxpowlOrgLovVO");
//Start Adding by Lokesh
//This method wil get invoked from the search results page Process Request
public void rollbackItem()
Transaction txn = getTransaction();
if (txn.isDirty())
txn.rollback();
//This method will invoked from Controller page when user click Yes on delete confirmtion page from Search Results Page
public void deleteItem(String trasnsactionID)
Number rowToDelete = new Number(Integer.parseInt(trasnsactionID));
OAViewObject vo = (OAViewObject)getxxpowlPOReqIntfAllVO();
xxpowlPOReqIntfAllVORowImpl row = null;
int fetchedRowCount = vo.getFetchedRowCount();
// System.out.print(fetchedRowCount);
System.out.println("No of row fetched on delete method :"+fetchedRowCount);
RowSetIterator deleteIter = vo.createRowSetIterator("deleteIter");
System.out.println("1 :");
if (fetchedRowCount > 0)
System.out.println("2 :");
deleteIter.setRangeStart(0);
System.out.println("3 :");
deleteIter.setRangeSize(fetchedRowCount);
System.out.println("4 :");
for (int i = 0; i < fetchedRowCount; i++)
System.out.println("5 :");
row = (xxpowlPOReqIntfAllVORowImpl)deleteIter.getRowAtRangeIndex(i);
System.out.println("6 :");
Number PK = row.getTransactionId();
System.out.println("7 :");
if (PK.compareTo(rowToDelete) == 0)
System.out.println("8 :");
row.remove();
System.out.println("9 :");
getTransaction().commit();
System.out.println("10 :");
break;
//System.out.println("11 :");
System.out.println("11 :");
deleteIter.closeRowSetIterator();
System.out.println("12 :");
/**Container's getter for xxpowlInterfaceSouceCodeLovVO
public xxpowlInterfaceSouceCodeLovVOImpl getxxpowlInterfaceSouceCodeLovVO() {
return (xxpowlInterfaceSouceCodeLovVOImpl)findViewObject("xxpowlInterfaceSouceCodeLovVO");
/**Container's getter for xxpowlRequisitionTypeLovVO
public xxpowlRequisitionTypeLovVOImpl getxxpowlRequisitionTypeLovVO() {
return (xxpowlRequisitionTypeLovVOImpl)findViewObject("xxpowlRequisitionTypeLovVO");
/**Container's getter for xxpowlReferenceNumberLovVO
public xxpowlReferenceNumberLovVOImpl getxxpowlReferenceNumberLovVO() {
return (xxpowlReferenceNumberLovVOImpl)findViewObject("xxpowlReferenceNumberLovVO");
/**Container's getter for xxpowlItemSegment1LovVO
public xxpowlItemSegment1LovVOImpl getxxpowlItemSegment1LovVO() {
return (xxpowlItemSegment1LovVOImpl)findViewObject("xxpowlItemSegment1LovVO");
Search Page Controller
/*===========================================================================+
| Copyright (c) 2001, 2005 Oracle Corporation, Redwood Shores, CA, USA |
| All rights reserved. |
+===========================================================================+
| HISTORY |
+===========================================================================*/
package powl.oracle.apps.xxpowl.po.requisition.webui;
import com.sun.java.util.collections.HashMap;
//import com.sun.java.util.collections.Hashtable;
import java.util.Hashtable;
//import java.util.HashMap;
import java.io.Serializable;
import javax.servlet.jsp.PageContext;
import oracle.apps.fnd.common.MessageToken;
import oracle.apps.fnd.common.VersionInfo;
import oracle.apps.fnd.framework.OAApplicationModule;
import oracle.apps.fnd.framework.OAException;
import oracle.apps.fnd.framework.webui.OAControllerImpl;
import oracle.apps.fnd.framework.webui.OADialogPage;
import oracle.apps.fnd.framework.webui.OAPageContext;
import oracle.apps.fnd.framework.webui.OAWebBeanConstants;
import oracle.apps.fnd.framework.webui.TransactionUnitHelper;
import oracle.apps.fnd.framework.webui.beans.OAWebBean;
* Controller for ...
public class xxpowlPOReqIntfAllSearchPageCO extends OAControllerImpl
public static final String RCS_ID="$Header$";
public static final boolean RCS_ID_RECORDED =
VersionInfo.recordClassVersion(RCS_ID, "%packagename%");
* Layout and page setup logic for a region.
* @param pageContext the current OA page context
* @param webBean the web bean corresponding to the region
public void processRequest(OAPageContext pageContext, OAWebBean webBean)
super.processRequest(pageContext, webBean);
//Added by Lokesh
OAApplicationModule am = pageContext.getApplicationModule(webBean);
if (TransactionUnitHelper.isTransactionUnitInProgress(pageContext, "updateRecord", false)) {
am.invokeMethod("rollbackItem");
TransactionUnitHelper.endTransactionUnit(pageContext, "updateRecord");
* Procedure to handle form submissions for form elements in
* a region.
* @param pageContext the current OA page context
* @param webBean the web bean corresponding to the region
public void processFormRequest(OAPageContext pageContext, OAWebBean webBean)
super.processFormRequest(pageContext, webBean);
String userClicked = pageContext.getParameter("event");
System.out.println("Event from processFormRequest in SearchPageCO :"+userClicked);
System.out.println("Parametere Names are :- \t" + pageContext.getParameter("UpdateImage"));
System.out.println("Parametere Names are :- \t" + pageContext.getParameter("event"));
if (pageContext.getParameter("event") != null &&
pageContext.getParameter("event").equalsIgnoreCase("Update")) {
String ReqTransactionId=(String)pageContext.getParameter("transacitonidParam");
String errorcolumn=(String)pageContext.getParameter("errorcolumnParam");
String errormsg=(String)pageContext.getParameter("errormessageParam");
String readyonly="Y"; //(String)pageContext.getParameter("readonlyParam");
System.out.println("Requisition Transaction Id : "+ReqTransactionId);
System.out.println("Error Column : "+errorcolumn);
System.out.println("Error Message : "+errormsg);
System.out.println("Read Only : "+readyonly);
HashMap params = new HashMap(4);
params.put("HashmapTransacitonid",ReqTransactionId);
params.put("HashmapErrorcolumn",errorcolumn);
params.put("HashmapErrormessage",errormsg);
params.put("HashmapReadonly",readyonly);
pageContext.putSessionValue("testValue",ReqTransactionId);
//System.out.println("Transaction Id passing through HashMap :- \t" + ReqTransactionId);
pageContext.setForwardURL("OA.jsp?page=/powl/oracle/apps/xxpowl/po/requisition/webui/xxpowlPOReqIntfAllUpdatePG",
null,
OAWebBeanConstants.KEEP_MENU_CONTEXT,
null,
params,
true,
OAWebBeanConstants.ADD_BREAD_CRUMB_YES,
OAWebBeanConstants.IGNORE_MESSAGES) ;
else if (pageContext.getParameter("event") != null &&
pageContext.getParameter("event").equalsIgnoreCase("Delete")) {
System.out.println("Inside Delete method in SearchCO");
String deleteTransactionID=(String)pageContext.getParameter("deleteTransactionIDParam");
System.out.println("Transaction Id in Delete Method :- \t" + deleteTransactionID);
// deleteTransactionID =""; //Makeing Null because dont want to show the transaction id bec users dont know about it
//MessageToken[] tokens = { new MessageToken("MESSAGE_NAME", deleteTransactionID) };
MessageToken[] tokens = { new MessageToken("MESSAGE_NAME", "") };
OAException mainMessage = new OAException("FND", "FND_MESSAGE_DELETE_WARNING", tokens);
OADialogPage dialogPage = new OADialogPage(OAException.WARNING,mainMessage, null, "", "");
String yes = pageContext.getMessage("AK", "FWK_TBX_T_YES", null);
String no = pageContext.getMessage("AK", "FWK_TBX_T_NO", null);
dialogPage.setOkButtonItemName("DeleteYesButton");
dialogPage.setOkButtonToPost(true);
dialogPage.setNoButtonToPost(true);
dialogPage.setPostToCallingPage(true);
dialogPage.setOkButtonLabel(yes);
dialogPage.setNoButtonLabel(no);
Hashtable formParams = new Hashtable(1);
formParams.put("transactionIdDeleted", deleteTransactionID);
dialogPage.setFormPHi friend ,
In Search page i didn't do any update. and also search page is not a problem it's working fine. create page only the problem. In this page only throwing Stale data error exception.
Please give me more suggestion.
Thanks in advance, -
A better way to delete IT2001 records in batch.,
Hi Gurus,
A little problem here. Due to data source error, I need to delete IT2001 records in batch.
Currently I am using standard report RPUREOPN to do this. But RPUREOPN will not update those deduction in IT2006 quota. So I've to delete & reupload cooresponding IT2006 quota data which is inconvenient.
Is there a better way to do this job? I mean deleting IT2001 in batch and also update the deductions in IT2006.
Thanks in adv!
Br,KeeAfter running the report you mentioned above to delete absences/attn you can try running the report RPTUPD00 to revaluate the attendance and absence.
Regards,
Divya -
HOW to delete the records in CO1P?
Hi all:
When i close the PO,i find the PO have CO1P records.However ,the PO has been settled. Then how can i delete the records in CO1P for this PO.Dear,
CO1P:
Normally the Goods Movement errors are updated in Table AFFW - Goods Movements with Errors from Confirmations and in transaction COGI.
If the table is locked during background using update control for the confirmation then the errors are recorded in CO1P.
COFC:
Used for Reprocessing of errors in confirmation related to actual cost calculations.
Please run CORUPROC Program.
Please check this link also for further help
http://help.sap.com/saphelp_46c/helpdata/en/e3/7cd32396f611d1b5a60000e8359890/frameset.htm
Regards,
R.Brahmankar -
How to delete translations / records in table omlt and mlt1
The customer has added some records to the translations, using DTW.
Unfortunately, the customer has made a mistake and wants these records to be deleted.
It is not possible to delete these records in DTW.
It is concerning 297 rows, I can select those rows by using a query that joins omlt and mlt1
If i use / in DTW, I can't delete the records
Is there an other way to fix this problem?
I have posted this question to SAP Support, but it's outside their scope.
Therefor I try to post this question on the forumYou may try a tool called B1TCH: /people/community.user/blog/2007/08/19/get-your-kicks-with-di-commander
Thanks,
Gordon -
How to delete data-records with BI-planning in BEx?
Hi folks, masters and gurus,
we just upgraded some of our functions from BPS to BI-Planning.
Only one thing I could not resolve up to now:
In BPS (web based) it was easily possible to delete data-records by choosing a radio-button beside the data-entry-field and click the "delete"-button (a red "-") on the top.
When I tried to find a delete-function in RSPLAN now I only found one that deletes the data, but not the record itself.
Does anyone know how to build a function that I can use to delete data-records?
Thx in advance for your help,
ThomasOh yes ... it´s not necessary as it is easily possible to supress lines with only 0 in it with
query-properties / rows/coloumns / supressing Zero / activ ...
Edited by: Thomas Kejik on Jan 19, 2009 9:46 AM -
How to refresh after delete the records in ALV report ?
Hi Friends,
How to refresh after delete the records in ALV report.
I am deleting records in ALV report .
After successful delete the screen should refresh.
u201C Deleted records should not appear in the screen u201C.
Please guide me.
Regards,
SubashHi subhash,
FORM user_command USING r_ucomm LIKE sy-ucomm rs_selfield TYPE slis_selfield.
WHEN 'BACK'.
Refresh the internal table from the ALV grid
PERFORM update_alv_tab.
ENDFORM. "user_command
FORM update_alv_tab .
DATA : e_grid TYPE REF TO cl_gui_alv_grid.
CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
IMPORTING
e_grid = e_grid.
CALL METHOD e_grid->check_changed_data.
"update_alv_tab
CALL METHOD e_grid->refresh_table_display.
ENDFORM. " UPDATE_ALV_TAB
Then see in Debug mode is it updating or not..
Please confirm .
And please paste the code if you can.
Regards.
Maybe you are looking for
-
External firewire hard drive reverts to slower transfer speeds
This is the strangest hardware problem I've come across. I'm running a unibody mbp (June 2009) with an external WD 2.0TB Caviar Green drive mounted in a firewire 800 enclosure made by icydock. Lately, I've noticed that after an unknown amount of upti
-
My e6 is unlocked and with its previous version i had no trouble sending and recieving multimedia messages. i updated it to nokia belle and now i cant send or recieve mms messages. my sim card is telstra 3G. What do i need to do to make it better? it
-
Hello, I use a Windows 7 Enterprise PC at work with dual monitors, I work from home on a regular basis and I use a Macbook Pro with Mountain Lion. I need to know if there is a way to remote login and use a dual monitor as well, when I have 2 monitors
-
Power Converter USA to Ireland
I purchased plug adapters for outlets for my new macbook pro but I was wondering if I needed to get a power converter that will convert 110V USA power to 240 volt Europe (Ireland) power. Or does the macbook pro have these capabilities? I don't want t
-
Apple Store product selection not fully loading in Safari
Hi there, I wonder if anyone can help: When browsing the Apple Store on the 3GS (on WiFi or 3G) I have noticed that not all available products load – for example, when looking at 'iPhone Accessories – Cases & Armbands' only about 40 of the 108 produc