Update zfields in MARA table
hi,
In my client system a custom view is maintained for MM* transactions
I have added two custom fields in MARA table as well as this custom view.
Now i have to populate value for this two custom fields.
i am using "/AFS/BAPI_MATERIAL_SAVEDATA" to update this two fields. But the fields are not updated and the bapi gives the follwoing message "The material cannot be maintained since no maintainable data transferred"
What are the parameter in which i have to pass values for populating any zfield?
Currently i am just passing HEADER DATA , EXTENSIONIN and EXTENSIONINX.
I think i am missing something.
Please help.
Some settings may be required as discussed here.
Update custom fields of MARA using MATERIAL_MAINTAIN_DARK
Also you can try this BAPI.
BAPI_MATERIAL_SAVEDATA.
Similar Messages
-
Updating values in mara table through bapi
Hi friends,
I am very new to ABAP , just now i have started my carrier in SAP-ABAP.
I have to update these three fields MSTAE, EXTWG, MTPOS_MARA in MARA table through bapi. I need to give these values from selection screen followed by Material no.
I already found some program in the forum but that programs are very lenthy , i am not able to understand.
Can anyone help me by giving some idea or sample program so that i can learn how to do this thing.
Thankx in advance...Hi Ritesh,
Use BAPI_MATERIAL_SAVEDATA to update the entries MSTAE, EXTWG and MTPOS_MARA by passing the following fields:
DATA: ls_headdata TYPE bapimathead,
ls_clientdata TYPE bapi_mara,
ls_clientdatax TYPE bapi_marax,
ls_return TYPE bapiret2.
CALL FUNCTION 'CONVERSION_EXIT_MATN1_INPUT'
EXPORTING
input = ls_material-matnr
IMPORTING
output = ls_headdata-material
EXCEPTIONS
length_error = 1
OTHERS = 2.
IF sy-subrc <> 0.
CLEAR: ls_headdata-material.
ENDIF.
ls_clientdata-extmatlgrp = ls_material-extwg.
ls_clientdata-pur_status = ls_material-mstae.
ls_clientdata-item_cat = ls_material-mtpos_mara.
ls_clientdatax-extmatlgrp = 'X'.
ls_clientdatax-pur_status = 'X'.
ls_clientdatax-item_cat = 'X'.
CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'
EXPORTING
headdata = ls_headdata
clientdata = ls_clientdata
clientdatax = ls_clientdatax
IMPORTING
return = ls_return.
IF ls_return-type = 'E' OR ls_return-type = 'A'.
CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
ELSE.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.
ENDIF.
Thanks & Regards,
Prasanna -
Dear Experts,
From MARA table field STAWN (Comm./imp. code EU ) is not updating in MARC table field STAWN (Comm./imp. code EU ) by MM02 Transaction
Is there any SAP standard functionality to over come above issue or needed ABAP coding for the same ????
Regards
HanumantDear All,
Thanks for your reply
I tried to update the the field after adding plant and other detail actually that field will be gray mode (display) and cannot update
my question i want to update MARC_STAWN field (Forign trade import) for my existing all material , those material MARA_STAWN (basic data 3 ) is also blank but system is allowing me to update in MARA_STAWN (basic data 3) but system will not update to MARC_STAWN (Forign trade import) field.
What is the best method to Coppy all MARA Stawn fields to the MARC Stawn field.
Regards
Hanumant. -
Updating Zfields in the BUT000 table
Hi ,
I have created new zfields for but000 table . Is there any FM present to Update the newly created Z fields . ( here business partner number is already created using the FM CRM_ISA_REGISTER_CONSUMER .Now i want to update the Zfileds for this business partner created)
Thanks
SruthiHi! Sruthi
You can use the follwing FM to update the Z fields in BP u jast have to pass the partner guid along with the field that u need to update.
CALL FUNCTION 'BUPA_CENTRAL_CI_CHANGE'
EXPORTING
is_bus000_eew = new Z fields
iv_xsave = 'X'
IMPORTING
et_return = return table.
Regards
Mayank -
Z field addition in MM01 and updation of MARA table
Hi ABAPers
I have created a Z field in BASIC DATA1 TAB in MM01 transaction as Input/Output Enabled of length 1 and type CHAR.
Screen Name: SAPLZMGD1
Numer : 2313
And also added the same field in MARA table (Append structure) .
When I enter value in MM02 screen for this field and is getting updated in MARA table and in MM02/MM03 screen as well.
My requirement is to update this field through BAPI_MATERIAL_SAVEDATA throug a Z program.
To update using this BAPI , I have added this field to BAPI_TE_MARA and BAPI_TE_MARAX structures also and passing these values to EXTENSIONIN and EXTENSIONINNX tables.
But it is not getting updated when I supplied this value to BAPI , whereas other Z fields getting populated in MARA table.
So please let me know where Iam doing wrong or any settings I missed while creating Screen field -
Your quick response is highly appreciated
Thanks
SatyaHi Reddy
Thanks for your reply
I did as you mentioned .
The field that I created is not getting populated and the other Z field on the same screen and same tab is getting populated correctly.
YYXPTY CHAR(4)
YYHISIND CHAR(1)
here the YYXPTY field is getting populated in MARA table correctly but not YYHISIND which is created by me.
The code that I have written is as below : [Please help me out]
REPORT ztest_yyxpty.
DATA: wa_bapimara TYPE bapimathead,
t_extn TYPE STANDARD TABLE OF bapiparex,
wa_extn TYPE bapiparex,
t_extnx TYPE STANDARD TABLE OF bapiparexx,
wa_extnx TYPE bapiparexx,
wa_return TYPE bapiret2,
t_rettab TYPE STANDARD TABLE OF bapi_matreturn2,
wa_makt TYPE bapi_makt,
t_makt TYPE STANDARD TABLE OF bapi_makt.
wa_bapimara-material = '500000000000088999'.
wa_bapimara-basic_view = 'X'.
wa_extn-structure = 'BAPI_TE_MARA'.
wa_extn-valuepart1+0(18) = '500000000000088999'. "Material number
wa_extn-valuepart1+65(4) = '0002'. " field YYXPTY
wa_extn-valuepart1+69(1) = 'A'. " field YYHISIND
wa_extnx-structure = 'BAPI_TE_MARAX'.
wa_extnx-valuepart1+0(18) = '500000000000088999'.
wa_extnx-valuepart1+27(1) = 'X'.
wa_extnx-valuepart1+28(1) = 'X'.
APPEND wa_extn TO t_extn.
APPEND wa_extnx TO t_extnx.
CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'
EXPORTING
headdata = wa_bapimara
IMPORTING
return = wa_return
TABLES
materialdescription = t_makt
returnmessages = t_rettab
extensionin = t_extn
extensioninx = t_extnx.
IF wa_return-type = 'S'.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.
ENDIF.
WRITE: wa_return-type, wa_return-message, wa_return-message_v1,
wa_return-message_v2, wa_return-message_v3, wa_return-message_v4. -
Updating EAN11 field in mara table through BAPI_MATERIAL_SAVEDATA
Hi,
I want to update EAN11 field in mara table through BAPI_MATERIAL_SAVEDATA could anybody please guide me how to achieve.
it would be great if is there any sample code for the same.
ThanksPlease give the following fields in the lwa_uom structure as well
lwa_uom -ALT_UNIT
lwa_uom -NUMERATOR
lwa_uom -DENOMINATR
DATA: lwa_uom TYPE BAPI_MARM,
lwa_uomx TYPE BAPI_MARMX.
DATA: lt_uomx TYPE STANDARD TABLE OF BAPI_MARM,
lt_uomx TYPE STANDARD TABLE OF BAPI_MARMX.
lwa_uom-ean_upc = '123456' " enter the value here
lwa_uom-ean_cat = 'abcd'.
append lwa_uom to lt_uom.
lwa_uomx-ean_upc = 'X'.
lwa_uomx-ean_cat = 'X'.
append lwa_uomx to lt_uomx.
CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'
EXPORTING
unitsofmeasure = lt_uom
unitsofmeasurex = lt_uomx.
Edited by: Rahul Babukuttan on Dec 21, 2011 4:23 PM -
Unable to update MARA table custom field in Material master
Hi all,
I have added one custom field in MM01,Basic View 2.
For that i have apended that field in MARA table and created one subscreen for that.
This field is visible in MM02/MM01/MM03 in basic data view 2 .
The issue is that we are not able to save values in MARA table which we entered in this field.
I cheked earliar in SDN but couldn't get the proper solution.
i cheked the below available forum discussion link but couldn't get th proper solution.
In material master How to add a new field on Basic data 1 view
Regards,
AmitHi,
please trye this :
Please make sure u implemented: methods PUT_DATA_TO_SCREEN and GET_DATA_FROM_SCREEN as they are required for data transport. These methods are called from within the program of the application at PBO or PAI .
See below example code:
PBO:
MODULE initialize OUTPUT.
CLEAR: sflight, ok_code.
IF exit IS INITIAL.
CALL METHOD cl_exithandler=>get_instance
CHANGING
instance = exit.
ENDIF.
CALL METHOD cl_exithandler=>set_instance_for_subscreen
EXPORTING
instance = exit.
ENDMODULE.
The factory method is used to create an instance of the adapter class. You then declare the instance using the public static method SET_INSTANCE_FOR_SUBSCREEN to allow the data for display on the screen to be used in the function group of the user or in the module pool.
MODULE data_for_subscreen OUTPUT.
program = sy-repid.
dynpro = sy-dynnr.
CALL METHOD cl_exithandler=>get_prog_and_dynp_for_subscr
EXPORTING
exit_name = 'BADI_SCREEN'
calling_program = program
calling_dynpro = dynpro
subscreen_area = 'SUB'
IMPORTING
called_program = program
called_dynpro = dynpro.
CALL METHOD exit->put_data_to_screen
EXPORTING
flight = sflight
EXCEPTIONS
reserved = 01.
ENDMODULE.
PAI:
MODULE user_command_0200 INPUT.
CASE save_ok.
WHEN 'BACK'.
SET SCREEN 100.
WHEN 'SAVE'.
PERFORM save_flights.
WHEN '+EXT'.
CALL METHOD exit->get_data_from_screen
IMPORTING
flight = sflight
EXCEPTIONS
reserved = 01.
ENDCASE.
ENDMODULE.
The method GET_PROG_AND_DYNP_FOR_SUBSCR and the input/output parameters specified above are used to determine the name of the customer program and the name of the subscreen. The method PUT_DATA_TO_SCREEN which is called at PBO as well as the method GET_DATA_FROM_SCREEN which is called at PAI are used to transport the data to be displayed.
These methods are implemented by the user:
When you define a screen enhancement, you are strongly recommended to provide sample code for the methods PUT_DATA_TO_SCREEN and GET_DATA_FROM_SCREEN. This code is automatically copied when you create an implementation and can be added to if required. The user of the BAdI definition should not be responsible for the data transport.
regards,
..Pradeep -
Update ztable from database table directly
hi all,
can u tell me the possible ways to update a ztable from database table directly.
i mean is there anyway to update ztable whenever entry is created in database table .
i dont want to update using insert,modify statements.
points will be rewarded to all hlpful answers.A slightly dirty solution:
Use SAP functions for reading from CDHEADER and CDPOS tables [with enough filters such that you extract minimum records possible] to read changes to MARA table fields since last run of your program. Use this information to update your ZTABLE. I would recommend having a table maintainance generator on ZTABLE. The actual update should be by a BDC by calling transaction SM30 for ZTABLE maintainance. Now the program may be set up as a batch job running 1ce an hour. You get updates to the extent of 1 hour latency.
Alternatively, you may look if an opportunistic BADI / user Exit is there alongside MM01/02 transactions - assuming the latter are the only ones updating MARA. In this BADI you may write the code to update ZTABLE- again, look to do it by BDC call transaction sm30 to maintain ZTable. To lighten up the code -load on BADI you may simply raise a custom event and move on. You will configure a job that runs your program when that particular event is raised. This will need the 'burden' of figuring out the changes, though.
An elegant way would be to fire a MATMAS fIDOC for every change to Material, capture that and turn back the changes to ZTABLE. This will facilitate the delta load. -
Where is the EZUG [ZZMLEEZUG] field in MARA table in SPRO?
Hello Experts.
I want to update the MARA table in the field EZUG [ZZMLEEZUG].
Could you please help me where is this field in SPRO.
Thanks
RaghuHello Raghu,
It seems this field is a custom field. It is not in the SAP standard system. If you need to update this field in the database you will need to create a custom report. You will not be able to update this field from SPRO.
Best regards,
Ian -
Insert / update data to a table through DBLINK (oracle)
I try to insert / update a table from one instance of oracle database to another one through oracle dblink, get following error:
java.sql.SQLException: ORA-01008: not all variables bound
ORA-02063: preceding line from MYLINK
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289)
at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:582)
at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1986)
at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:1144)
at oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:2152)
at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java:2035)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2876)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:609)
The same code to insert / update the exact same table in local instance works fine.No any binding problem. So i am pretty sure all ? mark in SQL are set with some value before sending to Oracle.
Someone please advise what is possible problem. Db link is not set correctly? or we can not update remote table by dblink.
By the way i can do insert / update from TOAD to the remote table through DBLINK. Problem happens only in Java code.
thanks!
Garydblink links from one database instance to another.
So it is certainly a source of possible problems when it works on one database and not another.
You should start by looking at the dblink and it possible testing it in the database not via java.
Note as well that that error suggests that it is coming from the Oracle database. I believe if you had a bind parameter problem in your java code that the error would come from the driver. But that is a guess on my part. -
Update PRODH field from table T179T
hi,
i want to update PRODH field from table T179T into table VBRP. for this we
need to take selection option also.
selection option will be :
· Sales Organization (field VBRK-VKORG)
· Billing Date Range (VBRK-FKDAT)
· Distribution Channel (Vbrk-vtweg
while i have done this for one field by using hard code but like:
TABLES: VBRP.
CLEAR VBRP.
UPDATE VBRP SET PRODH = 'PLC01' WHERE VBELN = '0008300051'.
SELECT SINGLE * FROM VBRP WHERE VBELN = '0008300051'.
WRITE: VBRP-VBELN,VBRP-PRODH.
but this is not the right way. please guide me how to solve this.TABLES: VBRP.
CLEAR VBRP.
UPDATE VBRP SET PRODH = 'PLC01' WHERE VBELN = '0008300051'.
<b>commit work.</b>
SELECT SINGLE * FROM VBRP WHERE VBELN = '0008300051'.
WRITE: VBRP-VBELN,VBRP-PRODH.
use commit work after update statement.
But this code would make vbrp-vbeln as plc01 only.
If you want to get the prodh value from t179t, then write a sleect on t179t and then update.
TABLES: VBRP.
CLEAR VBRP.
select single prodh
from t179t
where......
UPDATE VBRP SET PRODH = t179-prodh WHERE VBELN = '0008300051'.
commit work.
SELECT SINGLE * FROM VBRP WHERE VBELN = '0008300051'.
WRITE: VBRP-VBELN,VBRP-PRODH. -
How to update fields in multiple tables ?
Dear all,
What is the fastest way to update fields in multiple tables... from a single change table...as below is my code to update the fields but it is taking long time to update as i need to keep log file if any one update fails....
CREATE OR REPLACE
package body DO_DC_NAME_UPDATE_OTHER_TAB
as
type rowidArray is table of rowid index by binary_integer;
type custRec is record
n_cust_ref_no dbms_sql.number_table,
v_name dbms_sql.varchar2_table,
v_name_chg dbms_sql.varchar2_table,
rowid rowidArray,
changed dbms_sql.varchar2_table
procedure VALIDATE_CUST_NAME( p_n_cust_ref_no in number,p_v_name_chg in out NOCOPY varchar2, p_changed in out NOCOPY varchar2 )
is
begin
FOR cr_cust IN (SELECT --a.n_cust_ref_no,a.v_name,UPD_V_NAME, a.n_weight,a.V_LASTUPD_INFTIM
from GNMT_CUSTOMER_MASTER_CHG where n_cust_ref_no=p_n_cust_ref_no)
loop
-- v_name
if nvl(trim(cr_cust.v_name),0) != nvl(p_v_name_chg,0)
then
p_v_name_chg := p_v_name_chg;
--p_v_name := p_v_name;
p_changed := 'Y';
end if;
end loop;
end;
procedure DO_NAME_UPDATE_OTHER_TAB
is
l_record custRec;
l_array_size number default 20000;
l_done boolean;
l_cnt number default 1;
cursor c is select a.n_cust_ref_no, a.v_name,a.v_name_chg, a.rowid, 'N'
from GNMT_CUSTOMER_MASTER_CHG a--,GNMT_CUSTOMER_MASTER b
where a.v_name <> trim(a.v_name_chg); --and a.n_cust_ref_no in (1434775,1561181,1601870);
begin
open c;
loop
dbms_application_info.set_client_info
( 'processing ' || l_cnt || ' thru ' || (l_cnt+l_array_size-1) );
fetch c bulk collect into l_record.n_cust_ref_no, l_record.v_name,l_record.v_name_chg,l_record.rowid, l_record.changed
LIMIT l_array_size;
l_done := c%notfound;
--dbms_output.put_line ('message10');
for i in 1 .. l_record.n_cust_ref_no.count
loop
VALIDATE_CUST_NAME(l_record.n_cust_ref_no(i),l_record.v_name_chg(i),l_record.changed(i) );
end loop;
--dbms_output.put_line (l_record.n_cust_ref_no(i)||','||l_record.V_OCCUP_CODE(i)||','||l_record.CHANGED(i));
/*forall i in 1 .. l_record.n_cust_ref_no.count
update GNMT_CUSTOMER_MASTER q
set q.v_name = l_record.v_name_chg(i)
where q.n_cust_ref_no = l_record.n_cust_ref_no(i)
and trim(q.v_name) = l_record.v_name(i)
and l_record.changed(i) = 'Y';*/
-- update v_name in all the related tables
forall i in 1 .. l_record.n_cust_ref_no.count
update ADE_CUSTOMER_MASTER q
set q.v_NAME = l_record.v_name_chg(i)
where q.n_cust_ref_no = l_record.n_cust_ref_no(i)
and trim(q.v_name) = l_record.v_name(i)
and l_record.changed(i) = 'Y'
and q.v_NAME is not null;
forall i in 1 .. l_record.n_cust_ref_no.count
update GNMT_POLICY_DETAIL q
set q.v_NAME = l_record.v_name_chg(i)
where q.n_cust_ref_no = l_record.n_cust_ref_no(i)
and trim(q.v_name) = l_record.v_name(i)
and l_record.changed(i) = 'Y'
and q.v_NAME is not null;
forall i in 1 .. l_record.n_cust_ref_no.count
update GNMT_QUOTATION_DETAIL q
set q.v_NAME =l_record.v_name_chg(i)
where q.n_cust_ref_no = l_record.n_cust_ref_no(i)
and trim(q.v_name) = l_record.v_name(i)
and l_record.changed(i) = 'Y'
and q.v_NAME is not null;
forall i in 1 .. l_record.n_cust_ref_no.count
update NBDT_BENEFICIARY q
set q.V_NAME = l_record.v_name_chg(i)
where q.n_cust_ref_no = l_record.n_cust_ref_no(i)
and trim(q.V_NAME) = l_record.v_name(i)
and l_record.changed(i) = 'Y'
and q.v_NAME is not null;
forall i in 1 .. l_record.n_cust_ref_no.count
update PSDT_NOMINATION_TRANSACTION q
set q.V_NAME = l_record.v_name_chg(i)
where q.n_cust_ref_no = l_record.n_cust_ref_no(i)
and trim(q.V_NAME) = l_record.v_name(i)
and l_record.changed(i) = 'Y'
and q.v_NAME is not null;
forall i in 1 .. l_record.n_cust_ref_no.count
update PSMT_POLICY_BENEFICIARY q
set q.V_NAME = l_record.v_name_chg(i)
where q.n_cust_ref_no = l_record.n_cust_ref_no(i)
and trim(q.V_NAME) = l_record.v_name(i)
and l_record.changed(i) = 'Y'
and q.v_NAME is not null;
commit;
forall i in 1 .. l_record.n_cust_ref_no.count
update PSMT_POLICY_TRUSTEE q
set q.V_NAME = l_record.v_name_chg(i)
where q.n_cust_ref_no = l_record.n_cust_ref_no(i)
and trim(q.V_NAME) = l_record.v_name(i)
and l_record.changed(i) = 'Y'
and q.v_NAME is not null;
forall i in 1 .. l_record.n_cust_ref_no.count
update PSMT_QUOTATION_BENEFICIARY q
set q.V_NAME = l_record.v_name_chg(i)
where q.n_cust_ref_no = l_record.n_cust_ref_no(i)
and trim(q.V_NAME) = l_record.v_name(i)
and l_record.changed(i) = 'Y'
and q.v_NAME is not null;
forall i in 1 .. l_record.n_cust_ref_no.count
update PSMT_QUOTATION_TRUSTEE q
set q.V_NAME = l_record.v_name_chg(i)
where q.n_cust_ref_no = l_record.n_cust_ref_no(i)
and trim(q.V_NAME) = l_record.v_name(i)
and l_record.changed(i) = 'Y'
and q.v_NAME is not null;
commit;
forall i in 1 .. l_record.n_cust_ref_no.count
update GNDT_BLACKLIST_DETAIL q
set q.v_FNAME = l_record.v_name_chg(i)
where q.n_cust_ref_no = l_record.n_cust_ref_no(i)
and trim(q.v_FNAME) = l_record.v_name(i)
and l_record.changed(i) = 'Y'
and q.v_FNAME is not null;
forall i in 1 .. l_record.n_cust_ref_no.count
update INDT_LIAM_DETAIL q
set q.v_FNAME = l_record.v_name_chg(i)
where q.n_cust_ref_no = l_record.n_cust_ref_no(i)
and trim(q.v_FNAME) = l_record.v_name(i)
and l_record.changed(i) = 'Y'
and q.v_FNAME is not null;
commit;
forall i in 1 .. l_record.n_cust_ref_no.count
update GNMT_POLICY q
set q.V_PAYER_NAME = l_record.v_name_chg(i)
where q.N_PAYER_REF_NO = l_record.n_cust_ref_no(i)
and trim(q.V_PAYER_NAME) = l_record.v_name(i)
and l_record.changed(i) = 'Y'
and q.V_PAYER_NAME is not null;
commit;
forall i in 1 .. l_record.n_cust_ref_no.count
update GNMT_QUOTATION q
set q.V_PAYER_NAME = l_record.v_name_chg(i)
where q.N_PAYER_REF_NO = l_record.n_cust_ref_no(i)
and trim(q.V_PAYER_NAME) = l_record.v_name(i)
and l_record.changed(i) = 'Y'
and q.V_PAYER_NAME is not null;
commit;
forall i in 1 .. l_record.n_cust_ref_no.count
update GNMT_QUOTATION q
set q.V_PROPOSER_NAME = l_record.v_name_chg(i)
where q.N_PROPOSER_REF_NO = l_record.n_cust_ref_no(i)
and trim(q.V_PROPOSER_NAME) = l_record.v_name(i)
and l_record.changed(i) = 'Y'
and q.V_PROPOSER_NAME is not null;
forall i in 1 .. l_record.n_cust_ref_no.count
update GNMT_POLICY q
set q.V_PROPOSER_NAME = l_record.v_name_chg(i)
where q.N_PROPOSER_REF_NO = l_record.n_cust_ref_no(i)
and trim(q.V_PROPOSER_NAME) = l_record.v_name(i)
and l_record.changed(i) = 'Y'
and q.V_PROPOSER_NAME is not null;
forall i in 1 .. l_record.n_cust_ref_no.count
update CLMT_CLAIM_MASTER q
set q.V_CLIENT_NAME = l_record.v_name_chg(i)
where q.N_CLIENT_REF_NO = l_record.n_cust_ref_no(i)
and trim(q.V_CLIENT_NAME) = l_record.v_name(i)
and l_record.changed(i) = 'Y'
and q.V_CLIENT_NAME is not null;
forall i in 1 .. l_record.n_cust_ref_no.count
update CLMT_CLAIM_MASTER q
set q.V_INTIMATOR_NAME = l_record.v_name_chg(i)
where q.N_CLIENT_REF_NO = l_record.n_cust_ref_no(i)
and trim(q.V_INTIMATOR_NAME) = l_record.v_name(i)
and l_record.changed(i) = 'Y'
and q.V_INTIMATOR_NAME is not null;
forall i in 1 .. l_record.n_cust_ref_no.count
update PYMT_VOU_MASTER q
set q.V_PAYEE_NAME = l_record.v_name_chg(i)
where q.n_cust_ref_no = l_record.n_cust_ref_no(i)
and trim(q.V_PAYEE_NAME) = l_record.v_name(i)
and l_record.changed(i) = 'Y'
and q.V_PAYEE_NAME is not null;
/*forall i in 1 .. l_record.n_cust_ref_no.count
INSERT INTO GNMT_CUSTOMER_MASTER_LOG
(N_CUST_REF_NO, V_TITLE_CODE, V_NAME, D_BIRTH_DATE, V_SEX, V_RELIGION_CODE, V_NATION_CODE, V_OCCUP_CODE, V_ALIVE, V_SMOKER,
N_NO_STICKS, D_DEATH_DATE, V_BUMI_NON_BUMI, V_AGE_ADMITTED, V_SHORT_NAME, V_FIRST_NAME, V_LAST_NAME, V_EMAIL, V_DESIGNATION,
N_HEIGHT,N_WEIGHT,V_TITLE_CODE_CHG, V_NAME_CHG, D_BIRTH_DATE_CHG, V_SEX_CHG,V_RELIGION_CODE_CHG,V_NATION_CODE_CHG, V_OCCUP_CODE_CHG, V_ALIVE_CHG,
V_SMOKER_CHG, N_NO_STICKS_CHG, D_DEATH_DATE_CHG,V_BUMI_NON_BUMI_CHG, V_AGE_ADMITTED_CHG, V_SHORT_NAME_Chg, V_FIRST_NAME_Chg,
V_LAST_NAME_Chg, V_EMAIL_Chg, V_DESIGNATION_Chg,N_HEIGHT_Chg,N_WEIGHT_Chg, V_UPD_STATUS_DC,-- V_LASTUPD_PROG, V_LASTUPD_INFTIM,
V_LASTUPD_USER_DC, V_LASTUPD_PROG_DC,V_LASTUPD_INFTIM_DC
SELECT N_CUST_REF_NO, V_TITLE_CODE, V_NAME, D_BIRTH_DATE, V_SEX, V_RELIGION_CODE, V_NATION_CODE, V_OCCUP_CODE, V_ALIVE, V_SMOKER,
N_NO_STICKS, D_DEATH_DATE, V_BUMI_NON_BUMI, V_AGE_ADMITTED, V_SHORT_NAME, V_FIRST_NAME, V_LAST_NAME, V_EMAIL, V_DESIGNATION,
N_HEIGHT,N_WEIGHT,V_TITLE_CODE_CHG, V_NAME_CHG, d_birth_date_chg, V_SEX_CHG, V_RELIGION_CODE_CHG,V_NATION_CODE_CHG, V_OCCUP_CODE_CHG, V_ALIVE_CHG,
V_SMOKER_CHG, N_NO_STICKS_CHG, D_DEATH_DATE_CHG, V_BUMI_NON_BUMI_CHG, V_AGE_ADMITTED_CHG, V_SHORT_NAME_Chg, V_FIRST_NAME_Chg,
V_LAST_NAME_Chg, V_EMAIL_Chg, V_DESIGNATION_Chg,N_HEIGHT_Chg,N_WEIGHT_Chg--, V_LASTUPD_USER, V_LASTUPD_PROG, V_LASTUPD_INFTIM
,'PROCESSED'
,user,--P_USER,
'DC_PAKAGE',
sysdate--P_DATE
FROM GNMT_CUSTOMER_MASTER_CHG where n_cust_ref_no =l_record.n_cust_ref_no(i)
--and n_cust_ref_no not in (select n_cust_ref_no from GNMT_CUSTOMER_MASTER_LOG);*/
exit when (l_done);
l_cnt := l_cnt + l_array_size;
end loop;
commit;
end;
end;
thank YouDear SeánMacGC thanks for reply,
But "a.changed" is not a field in GNMT_CUSTOMER_MASTER_CHG. what i am doing in this procedure is i am collecting bulck data and validating field by field from GNMT_CUSTOMER_MASTER_CHG with GNMT_CUSTOMER_MASTER table as their structure is same.. if v_name is not same as v_name_chg then i am setting changed flag to "Y" changed is "changed dbms_sql.varchar2_table" and updating GNMT_CUSTOMER_MASTER in bluck where changed flag ='Y'...
type custRec is record
n_cust_ref_no dbms_sql.number_table,
v_name dbms_sql.varchar2_table,
v_name_chg dbms_sql.varchar2_table,
rowid rowidArray,
*changed dbms_sql.varchar2_table*
i cannot use simple SQL as i need to validate field for each records with GNMT_CUSTOMER_MASTER_CHG and insert into log file as well.....
to run this procedure:
execute DO_DC_NAME_UPDATE_OTHER_TAB.DO_NAME_UPDATE_OTHER_TAB;
Thanks... -
How can i update more than one table at a time?
i would like to update more than one table at a time. In Java Studio creator2 how can i do table updation?
Hi,
Please go through the below thread might be of help to you.
http://forum.sun.com/jive/thread.jspa?forumID=123&threadID=51839
RK -
How can i update rows in a table based on a match from a select query
Hello
How can i update rows in a table based on a match from a select query fron two other tables with a update using sqlplus ?
Thanks Glenn
table1
attribute1 varchar2 (10)
attribute2 varchar2 (10)
processed varchar2 (10)
table2
attribute1 varchar2 (10)
table3
attribute2 varchar2 (10)
An example:
set table1.processed = "Y"
where (table1.attribute1 = table2.attribute1)
and (table1.attribute2 = table3.attribute2)Hi,
Etbin wrote:
Hi, Frank
taking nulls into account, what if some attributes are null ;) then the query should look like
NOT TESTED !
update table1 t1
set processed = 'Y'
where exists(select null
from table2
where lnnvl(attribute1 != t1.attribute1)
and exists(select null
from table3
where lnnvl(attribute2 != t1.attribute2)
and processed != 'Y'Regards
EtbinYes, you could do that. OP specifically requested something else:
wgdoig wrote:
set table1.processed = "Y"
where (table1.attribute1 = table2.attribute1)
and (table1.attribute2 = table3.attribute2)This WHERE clause won't be TRUE if any of the 4 attribute columns are NULL. It's debatable about what should be done when those columns are NULL.
But there is no argument about what needs to be done when processed is NULL.
OP didn't specifically say that the UPDATEshould or shouldn't be done on rows where processed was already 'Y'. You (quite rightly) introduced a condition that would prevent redo from being generated and triggers from firing unnecessarily; I'm just saying that we have to be careful that the same condition doesn't keep the row from being UPDATEd when it is necessary. -
Is it possible to update attributes in all tables in a multi entity view
Hi I have a view based on 4 entities, all of which are a 3 of which are 1 to many relationship with the 4th. The 3 additional entities have 2 or 3 attributes, Id, name, and one entity has a foreign key relating to a different table which I do not care about. The IDs are all updatable in the entity, and none of them are generated from a sequence but are inserted manually, except for the 4th (Master?) which is generated from a sequence.
I create the view and all the entities are updatable, but in the view when I go to attributes from the other tables, it says updatable never and is grayed out so I cannot change it, even though in the entities tab, it is updatable always.
So I was wondering if this was possible to do???I do not understand really, if it is 2 different tables, it is 2 different primary keys. Why would this even happen? What does it matter if EmployeeID and DepartmentID is both 1??? It just seems that there has to be a simpler way to do this but ok.
So I go to the AppModule, Java tab and go generate Java class. The original code was
public ViewObjectImpl getObjektiCRUDView1()
return (ViewObjectImpl)findViewObject("ObjektiCRUDView1");
I then copy your code to the best of my limited knowledge and get this
public ViewObjectImpl getObjektiCRUDView1()
this.getObjektiCRUDView1().executeEmptyRowSet();
{Row yourRow = this.getObjektiCRUDView1().createRow();
this.getObjektiCRUDView1().insertRow(yourRow );
return (ViewObjectImpl)findViewObject("ObjektiCRUDView1");
On the first row the getObjektiCRUDView1() is underlined and it says missing method body or declare as abstract.
I know I did something wrong here but I have no idea what as I am not very good with Java
Also it is not a jsf page, I create a single jspx page and divided it using the panel splitter so on one side we have an adf table for updating the Objekti database table, and on the other side I have an adf form for updating the Positions table (and later on other tables, I hope to have many forms there)
Edited by: Dino2dy on Jun 10, 2010 12:02 AM
Maybe you are looking for
-
How do I place only the Photoshop Elements dialog box on my dock?
I am using Photoshop Elemetns 9 on an imac running the Lion operating system. I want to have only the welcome diaolg box on my dock so I have the option of opening the editor, or the organizer, or having access to my photos stored with Adobe. At th
-
Rebate Agreement accruals invoice reports
Hi Team, As per my client requirement we need to prepare the below rebate agreement accruals invoice report. Rebate agreement Rebate recipent Customer Invoice date Invoice Invoice Item Number Rebate Material Rebate material net quantity Invoice pric
-
How can I remove password from firmware? Thank you in advance!!!
This is really causing problems & wreaking havoc on my notebook. Does or has anyone had experience with this, and if so, how did YOU resolve this??? Thank you in advance to anyone who responds to my question!!!!!
-
I cannot sign in my Apple ID and download apps and updates
I Cannot sign in my Apple ID it is show me an error has occurred
-
Trouble getting a good bass tone--need advice
Hey everyone, I record my bass by pluging directly into my MOTU Traveler. I like to record dry and then try and adjust for a better tone in the mix. The problem I've been having is my bass tone always ends up sounding muddy or to "bassy". I just can'