‎2008 Apr 29 1:15 PM
hi gurus
can anyone suggest me
can we update database using se38
thanks®ards
kals.
‎2008 Apr 29 1:16 PM
‎2008 Apr 29 1:17 PM
Hi,
Yes u can update by using se38,
but u Security purpose it is not better.
&----
*& Report YMFAR_DATA_UPDATE *
*& *
&----
*& *
*& *
&----
report ymfar_data_update .
tables : j_1igrxref.
data : begin of t_upd occurs 0.
include structure j_1igrxref.
data : end of t_upd .
data : l_mblnr type j_1igrxref-mblnr,
l_mjahr type j_1igrxref-mjahr,
l_zeile type j_1igrxref-zeile.
select-options :
mandt FOR sy-mandt,
p_mblnr for j_1igrxref-mblnr,
p_mjahr for j_1igrxref-mjahr,
p_zeile for j_1igrxref-zeile,
exnum for j_1igrxref-exnum,
exyear for j_1igrxref-exyear,
lifnr for j_1igrxref-lifnr,
exc_zele for j_1igrxref-exc_zeile,
exdat for j_1igrxref-exdat,
gr_qty for j_1igrxref-gr_qty,
alw_qty for j_1igrxref-alw_qty,
credit for j_1igrxref-credit_qty,
meins for j_1igrxref-meins,
exbed for j_1igrxref-exbed,
exaed for j_1igrxref-exaed,
exsed for j_1igrxref-exsed,
bedinv for j_1igrxref-bedinv,
aedinv for j_1igrxref-aedinv,
sedinv for j_1igrxref-sedinv,
excur for j_1igrxref-excur,
rdoc1 for j_1igrxref-rdoc1,
ryear1 for j_1igrxref-ryear1,
rind for j_1igrxref-rind,
status for j_1igrxref-status,
nccd for j_1igrxref-nccd,
nccdinv for j_1igrxref-nccdinv,
ecs for j_1igrxref-ecs,
ecsinv for j_1igrxref-ecsinv,
extax1 for j_1igrxref-exaddtax1,
exinv1 for j_1igrxref-exaddinv1,
extax2 for j_1igrxref-exaddtax2,
exinv2 for j_1igrxref-exaddinv2,
extax3 for j_1igrxref-exaddtax3,
exinv3 for j_1igrxref-exaddinv3.
start-of-selection.
*select single mblnr
mjahr
zeile
from J_1IGRXREF
into (l_mblnr, l_mjahr, l_zeile )
where mblnr in p_mblnr
and mjahr in P_mjahr
and zeile in p_zeile.
*
IF sy-subrc = 0.
MESSAGE i051(yf) WITH 'Data Alredy exists'.
ELSE.
if p_mblnr-low is not initial.
perform sub_value.
else.
message i051(yf).
endif.
ENDIF.
&----
*& Form SUB_DATA_UPDATE
&----
text
----
--> p1 text
<-- p2 text
----
form sub_data_update .
clear t_upd.
clear t_upd[].
t_upd-mandt = mandt.
if p_mblnr-low is not initial.
t_upd-mblnr = p_mblnr-low.
endif.
if p_mjahr-low is not initial.
t_upd-mjahr = p_mjahr-low.
endif.
if p_zeile-low is not initial.
t_upd-zeile = p_zeile-low.
endif.
if exnum-low is not initial.
t_upd-exnum = exnum-low.
else.
t_upd-exnum = j_1igrxref-exnum.
endif.
if exyear-low is not initial.
t_upd-exyear = exyear-low.
else.
t_upd-exyear = j_1igrxref-exyear.
endif.
if lifnr-low is not initial.
t_upd-lifnr = lifnr-low.
else.
t_upd-lifnr = j_1igrxref-lifnr.
endif.
if exc_zele-low is not initial.
t_upd-exc_zeile = exc_zele-low.
else.
t_upd-exc_zeile = j_1igrxref-exc_zeile.
endif.
if exdat-low is not initial.
t_upd-exdat = exdat-low.
else.
t_upd-exdat = j_1igrxref-exdat.
endif.
if gr_qty-low is not initial.
t_upd-gr_qty = gr_qty-low.
else.
t_upd-gr_qty = j_1igrxref-gr_qty.
endif.
if alw_qty-low is not initial.
t_upd-alw_qty = alw_qty-low.
else.
t_upd-alw_qty = j_1igrxref-alw_qty.
endif.
if credit-low is not initial.
t_upd-credit_qty = credit-low.
else.
t_upd-credit_qty = j_1igrxref-credit_qty.
endif.
if meins-low is not initial.
t_upd-meins = meins-low.
else.
t_upd-meins = j_1igrxref-meins.
endif.
if exbed-low is not initial.
t_upd-exbed = exbed-low.
else.
t_upd-exbed = j_1igrxref-exbed.
endif.
if exaed-low is not initial.
t_upd-exaed = exaed-low.
else.
t_upd-exaed = j_1igrxref-exaed.
endif.
if exsed-low is not initial.
t_upd-exsed = exsed-low.
else.
t_upd-exsed = j_1igrxref-exsed.
endif.
if bedinv-low is not initial.
t_upd-bedinv = bedinv-low.
else.
t_upd-bedinv = j_1igrxref-bedinv.
endif.
if aedinv-low is not initial.
t_upd-aedinv = aedinv-low.
else.
t_upd-aedinv = j_1igrxref-aedinv.
endif.
if sedinv-low is not initial.
t_upd-sedinv = sedinv-low.
else.
t_upd-sedinv = j_1igrxref-sedinv.
endif.
if excur-low is not initial.
t_upd-excur = excur-low.
else.
t_upd-excur = j_1igrxref-excur.
endif.
if rdoc1-low is not initial.
t_upd-rdoc1 = rdoc1-low.
else.
t_upd-rdoc1 = j_1igrxref-rdoc1.
endif.
if ryear1-low is not initial.
t_upd-ryear1 = ryear1-low.
else.
t_upd-ryear1 = j_1igrxref-ryear1.
endif.
if rind-low is not initial.
t_upd-rind = rind-low.
else.
t_upd-rind = j_1igrxref-rind.
endif.
if status-low is not initial.
t_upd-status = status-low.
else.
t_upd-status = j_1igrxref-status.
endif.
if nccd-low is not initial.
t_upd-nccd = nccd-low.
else.
t_upd-nccd = j_1igrxref-nccd.
endif.
if nccdinv-low is not initial.
t_upd-nccdinv = nccdinv-low.
else.
t_upd-nccdinv = j_1igrxref-nccdinv.
endif.
if ecs-low is not initial.
t_upd-ecs = ecs-low.
else.
t_upd-ecs = j_1igrxref-ecs.
endif.
if ecsinv-low is not initial.
t_upd-ecsinv = ecsinv-low.
else.
t_upd-ecsinv = j_1igrxref-ecsinv.
endif.
if extax1-low is not initial.
t_upd-exaddtax1 = extax1-low.
else.
t_upd-exaddtax1 = j_1igrxref-exaddtax1.
endif.
if exinv1-low is not initial.
t_upd-exaddinv1 = exinv1-low.
else.
t_upd-exaddinv1 = j_1igrxref-exaddinv1.
endif.
if extax2-low is not initial.
t_upd-exaddtax2 = extax2-low.
else.
t_upd-exaddtax2 = j_1igrxref-exaddtax2.
endif.
if exinv2-low is not initial.
t_upd-exaddinv2 = exinv2-low.
else.
t_upd-exaddinv2 = j_1igrxref-exaddinv2.
endif.
if extax3-low is not initial.
t_upd-exaddtax3 = extax3-low.
else.
t_upd-exaddtax3 = j_1igrxref-exaddtax3.
endif.
if exinv3-low is not initial.
t_upd-exaddinv3 = exinv3-low.
else.
t_upd-exaddinv3 = j_1igrxref-exaddinv3.
endif.
append t_upd.
endform. " SUB_DATA_UPDATE
&----
*& Form SUB_TAB_UPDATE
&----
text
----
--> p1 text
<-- p2 text
----
form sub_tab_update .
loop at t_upd.
update j_1igrxref from table t_upd.
commit work.
endloop.
if sy-subrc = 0.
message s050(yf) with 'DATA UPLOADED SUCCESFULLY'.
endif.
endform. " SUB_TAB_UPDATE
&----
*& Form SUB_VALUE
&----
text
----
--> p1 text
<-- p2 text
----
form sub_value .
select single * from j_1igrxref
into j_1igrxref
where mblnr in p_mblnr
and mjahr in p_mjahr
and zeile in p_zeile.
if sy-subrc = 0 .
perform sub_data_update.
perform sub_tab_update.
else.
message i052(yf).
endif.
endform. " SUB_VALUE
with Regards,
Kiran.G
‎2008 Apr 29 7:33 PM
Hello!
As already said here, yes, we can update a table from SE38 by writing a "Z" program where you, manually, insert data into the table you want to.
However if what you need is just populate the table only to do some tests or something you'd better create a Maintenaince View for this table in the Transaction SM30. That'd be Safer.
Regards,
Gabriel dos Santos